diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c92e1780a..426d76e36 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -204,6 +204,17 @@ jobs: if-no-files-found: error retention-days: 30 + conformance-fixtures: + name: Source-built conformance fixtures + needs: changes + if: github.event_name == 'push' || needs.changes.outputs.code == 'true' + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@v4 + - name: Verify fixtures from a clean checkout + run: npm run verify:fixtures + package-e2e: name: Package E2E (${{ matrix.os }}) needs: changes @@ -268,7 +279,7 @@ jobs: run: npm run verify:inspector windows-curated: - name: Windows Ghidra P0 and package lane + name: Windows capability and package lane needs: changes if: github.event_name == 'push' || needs.changes.outputs.package == 'true' runs-on: windows-latest @@ -289,7 +300,7 @@ jobs: node -e "const report = JSON.parse(require('node:fs').readFileSync('windows-capabilities.json', 'utf8')); if (report.platform !== 'win32' || report.architecture !== 'x64') throw new Error('expected a Windows x64 capability report');" - - name: Run curated Windows P0 tests + - name: Run curated Windows capability tests run: >- npx vitest run --coverage.enabled=false tests/composition/analysis-sessions/binaryTarget.test.ts @@ -299,7 +310,6 @@ jobs: tests/boundary/providers/ghidra/ghidraProvider.test.ts tests/boundary/providers/ghidra/ghidraTransport.test.ts tests/boundary/providers/ghidra/ghidraTargetSnapshot.test.ts - tests/boundary/providers/ghidra/ghidraClient.test.ts tests/boundary/providers/ghidra/ghidraLauncher.test.ts tests/boundary/process/processOwnership.test.ts tests/boundary/process/processOwnershipPart2.test.ts diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b733d3372..580889673 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -132,3 +132,41 @@ jobs: done echo "Published rea-agents@${version} failed registry and CLI verification" >&2 exit 1 + + publish-mcp: + name: Publish to MCP Registry + needs: [release-please, publish] + if: needs.release-please.outputs.release_created == 'true' && needs.publish.result == 'success' + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + steps: + - uses: actions/checkout@v6 + with: + ref: ${{ needs.release-please.outputs.tag_name }} + persist-credentials: false + + - name: Verify package and registry metadata versions + run: npm run mcp-registry:check + + - name: Install MCP Registry publisher + env: + MCP_PUBLISHER_VERSION: v1.8.0 + MCP_PUBLISHER_SHA256_LINUX_AMD64: 1370446bbe74d562608e8005a6ccce02d146a661fbd78674e11cc70b9618d6cf + run: | + archive="mcp-publisher_linux_amd64.tar.gz" + curl -fsSLo "${archive}" \ + "https://github.com/modelcontextprotocol/registry/releases/download/${MCP_PUBLISHER_VERSION}/${archive}" + echo "${MCP_PUBLISHER_SHA256_LINUX_AMD64} ${archive}" | sha256sum --check --strict + tar xzf "${archive}" mcp-publisher + chmod +x mcp-publisher + + - name: Validate MCP Registry metadata + run: ./mcp-publisher validate + + - name: Authenticate to MCP Registry + run: ./mcp-publisher login github-oidc + + - name: Publish MCP Registry metadata + run: ./mcp-publisher publish diff --git a/AGENTS.md b/AGENTS.md index 7bd6207be..8a10c94e0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -54,6 +54,7 @@ See [docs/architecture.mermaid](docs/architecture.mermaid) for a visual architec - `npm run build`: compile `src/` into `dist/`. - `npm run build:cached`: compile through Turbo and reuse a valid local build cache entry. - `npm test`: restore or build `dist/`, then run the Vitest suite once without coverage or retries locally. +- `npm run test:local`: run only changed and related tests without rebuilding `dist/`; use this for the lightweight local loop. - `npm run test:fast`: run pure and subprocess test projects without the serial integration group. - `npm run test:changed`: run changed and related non-serial tests once. - `npm run test:integration`: run the serial filesystem, process, and CLI integration group. @@ -85,6 +86,14 @@ See [docs/architecture.mermaid](docs/architecture.mermaid) for a visual architec - `npm run docs:api:cached`: render API documentation through Turbo or restore a valid local result. - `npm run docs:generate`: refresh committed metadata and render the uncommitted API documentation. - `npm run docs:check`: verify generated package metadata, the canonical product catalog, caller-visible documentation facts, TypeDoc rendering, and the error JSON schema. + +Local full-suite Vitest runs use one worker and serial project groups because +boundary tests own subprocess fixtures. CI retains the existing two-worker +budget. The `test`, `docs:check`, and `docs:generate` commands use +repository-local locks and refuse overlapping runs; interrupted commands can +leave a stale lock that is removed automatically when its owner PID is no +longer alive. The `npm test` build runs inside that lock. + - `npm run config:print -- /path/to/binary`: print an MCP server config with absolute paths. - `HOPPER_TARGET_PATH=/path/to/binary npm start`: launch Hopper and run the built stdio MCP server. diff --git a/README.md b/README.md index c5e476497..dfa16c0d8 100644 --- a/README.md +++ b/README.md @@ -386,7 +386,7 @@ REA handles the app analysis in steps 1–5. The agent performs step 6 with its | Artifact graph | 3 | bounded provider-neutral inspection, deterministic directory/ZIP/APK/IPA/MSIX/AppX/ASAR inventory, and explicitly selected extraction into an absent owned tree | | Managed PE/CLI | 8 | PE/CLI identity, metadata members, CIL hashes, P/Invoke/native-boundary declarations and verification, application-graph projection, decompiler reconstruction import, token remapping, runtime-correlation plans, and version comparison | | Browser observation | 9 | exact-origin passive CDP capture, bundle and source-map analysis, WebMCP discovery, session timelines, capture diff, visual evidence, and bounded Playwright scenarios | -| Electron analysis | 4 | passive root-confined observation, bounded static application mapping, and evidence-backed static/runtime reconciliation | +| Electron analysis | 5 | passive root-confined observation, bounded static application mapping, evidence-backed static/runtime reconciliation, and separately approved provider-owned click/wait scenarios | | JavaScript runtime | 2 | approved attach-only Node/Electron Inspector target discovery plus bounded script and execution-context observation without evaluation or instrumentation | | Application workflows | 12 | bounded cross-layer traces, unique-only version matching, historical-source to bundle mapping, static export return-shape comparison, approved Linux-isolated extracted-module replay, managed-runtime characterization, reconstruction coverage closure, deterministic obligation ledgers, and end-to-end readiness conformance | | Workspace and observation | 23 | target lifecycle, Evidence v2 bundle snapshots, retained-bundle release, aggregate navigation/address context, direct finite replay-machine evaluation, process/artifact/function comparison, evidence-linked residual-unknown lifecycle | @@ -509,14 +509,14 @@ REA is growing into a toolkit for understanding software across static artifacts ### Next -1. **Controlled replay conformance growth** — extend the shipped Linux extracted-module sandbox with more source-owned hostile fixtures and cross-kernel conformance; browser or Electron interaction remains a different future authority. +1. **Controlled replay conformance growth** — extend the shipped Linux extracted-module sandbox with more source-owned hostile fixtures and cross-kernel conformance; browser and Electron scenarios remain separately permissioned authorities. 2. **Broader application graph evidence** — extend authenticated cross-layer traces with additional static extractors and separately approved runtime authorities. 3. **Professional managed-code analysis** — extend shipped PE/CLI triage, CIL evidence, managed/native declaration inventory, source-owned conformance, and obfuscation-resistant comparisons toward verified native-provider composition under the accepted [managed-code boundary](docs/managed-code-analysis.md). 4. **Deterministic behavior harnesses** — extend process ownership, protocol fixtures, filesystem observation, reconnects, and cross-version behavioral comparison. ### Later -1. **Controlled application interaction** — evaluate separately authorized full-application driving without widening passive browser, Electron, or extracted-module replay authority. +1. **Broader controlled application interaction** — extend the separately authorized browser and Electron scenario surfaces beyond the current bounded click/wait actions without widening passive observation or extracted-module replay authority. 2. **Native runtime observation** — approval-gated LLDB, Frida, system logs, process/filesystem observers, and native API tracing. 3. **Additional providers and targets** — evaluate IDA/Hex-Rays, Binary Ninja, Rizin, LIEF, Windows-native providers, mobile artifacts, firmware, document formats, and other software-defined systems. diff --git a/README_ar.md b/README_ar.md index 3cf601846..d254b0f5d 100644 --- a/README_ar.md +++ b/README_ar.md @@ -167,7 +167,7 @@ rea uninstall --purge-data | رسم القطع الأثرية | 3 | جرد حتمي للدلائل وZIP/APK/IPA وASAR واستخراج معاملاتي محدد صراحة | | Managed PE/CLI | 8 | هوية PE/CLI، أعضاء البيانات الوصفية، بصمات CIL، تصريحات P/Invoke/الحدود الأصلية والتحقق منها، إسقاط رسم التطبيق، استيراد إعادة البناء من فك الترجمة، إعادة ربط الرموز، خطط ترابط وقت التشغيل ومقارنة الإصدارات | | مراقبة المتصفح | 9 | التقاط CDP محدود الأصل وتحليل الحزم وخرائط المصدر واكتشاف WebMCP والفروق والأدلة المرئية | -| تحليل Electron | 4 | مراقبة سلبية ضمن جذور canonical، ورسم ثابت ومحدود للتطبيق، ومطابقة ثابتة/وقت تشغيل قائمة على Evidence | +| تحليل Electron | 5 | مراقبة سلبية ضمن جذور canonical، ورسم ثابت ومحدود للتطبيق، ومطابقة ثابتة/وقت تشغيل قائمة على Evidence | | وقت تشغيل JavaScript | 2 | اكتشاف أهداف Node/Electron Inspector المعتمدة للاتصال فقط، ومراقبة محدودة للبرامج النصية وسياقات التنفيذ دون تقييم أو تجهيز | | سير عمل التطبيقات | 12 | تتبع محدود ومقارنة إصدارات فريدة ومقارنة ثابتة لأشكال قيم إرجاع الصادرات وإعادة تشغيل وحدات معزولة ومعتمدة على Linux وتوصيف وقت التشغيل المُدار وإغلاق تغطية إعادة البناء ودفاتر التزامات حتمية والتحقق الشامل من جاهزية إعادة البناء | | جلسة الملف التنفيذي | 23 | فتح الأهداف وحزم الأدلة وتحرير الحزم المحتفظ بها وتشغيل آلة إعادة محدودة ومقارنة العمليات والقطع والدوال وسجل المجهولات المتبقية | diff --git a/README_ja.md b/README_ja.md index ad6a57822..443fcdd6d 100644 --- a/README_ja.md +++ b/README_ja.md @@ -157,7 +157,7 @@ REA は手順 1〜5 のバイナリ解析を処理し、手順 6 はエージェ | アーティファクトグラフ | 3 | ディレクトリ、ZIP/APK/IPA、ASAR の決定的一覧と明示選択されたトランザクション抽出 | | Managed PE/CLI | 8 | PE/CLI 識別、メタデータメンバー、CIL ハッシュ、P/Invoke/ネイティブ境界宣言と検証、アプリケーショングラフ投影、逆コンパイル再構成インポート、構造的 token 再マッピング、ランタイム相関計画、バージョン比較 | | ブラウザ観察 | 9 | origin 限定 CDP 取得、bundle/source map 解析、WebMCP 検出、セッション、capture diff、視覚証拠 | -| Electron 解析 | 4 | canonical ファイルルート内の受動観察、有界な静的アプリマッピング、Evidence に基づく静的/実行時の照合 | +| Electron 解析 | 5 | canonical ファイルルート内の受動観察、有界な静的アプリマッピング、Evidence に基づく静的/実行時の照合 | | JavaScript ランタイム | 2 | 承認済みのアタッチ専用 Node/Electron Inspector ターゲット検出と、評価や計装を行わない有界なスクリプト/実行コンテキスト観察 | | アプリケーション | 12 | 有界なクロスレイヤー追跡、一意限定のバージョン比較、静的なエクスポート戻り値形状比較、承認済み Linux 隔離 extracted-module replay、マネージドランタイム特性評価、再構築カバレッジ閉包、決定論的な義務台帳、エンドツーエンドの準備適合性検証 | | バイナリセッション | 23 | `open_binary`、`binary_session`、証拠バンドル、保持バンドルの解放、有限リプレイ状態機械、プロセス/成果物/関数比較、残余未知レジストリ | diff --git a/README_ko.md b/README_ko.md index f6fbb6bba..282088119 100644 --- a/README_ko.md +++ b/README_ko.md @@ -157,7 +157,7 @@ REA는 1–5단계의 바이너리 분석을 처리합니다. 6단계는 에이 | 아티팩트 그래프 | 3 | 디렉터리, ZIP/APK/IPA, ASAR 결정적 인벤토리와 명시적으로 선택한 트랜잭션 추출 | | Managed PE/CLI | 8 | PE/CLI ID, 메타데이터 멤버, CIL 해시, P/Invoke/네이티브 경계 선언 및 검증, 애플리케이션 그래프 투영, 디컴파일 재구성 가져오기, 구조적 token 재매핑, 런타임 상관 계획, 버전 비교 | | 브라우저 관찰 | 9 | origin 제한 CDP 캡처, bundle/source map 분석, WebMCP 검색, 세션 타임라인, capture diff 및 시각 증거 | -| Electron 분석 | 4 | canonical 파일 루트 내 수동 관찰, 제한된 정적 앱 매핑, Evidence 기반 정적/런타임 조정 | +| Electron 분석 | 5 | canonical 파일 루트 내 수동 관찰, 제한된 정적 앱 매핑, Evidence 기반 정적/런타임 조정 | | JavaScript 런타임 | 2 | 승인된 연결 전용 Node/Electron Inspector 대상 탐색과 평가·계측 없는 제한된 스크립트 및 실행 컨텍스트 관찰 | | 애플리케이션 | 12 | 제한된 교차 계층 추적, 고유 일치 버전 비교, 정적 export 반환 형태 비교, 승인된 Linux 격리 extracted-module replay, 관리형 런타임 특성화, 재구성 커버리지 폐쇄, 결정론적 의무 원장, 엔드투엔드 준비 적합성 검증 | | 바이너리 세션 | 23 | `open_binary`, `binary_session`, 증거 번들, 보존 번들 해제, 유한 replay 상태 머신, 프로세스·아티팩트·함수 비교, 잔여 미지수 레지스트리 | diff --git a/README_zh.md b/README_zh.md index 22b418cbc..ce26ac6b3 100644 --- a/README_zh.md +++ b/README_zh.md @@ -157,7 +157,7 @@ REA 负责第 1–5 步中的二进制分析。第 6 步由智能体使用其常 | 制品图谱 | 3 | 确定性目录、ZIP/APK/IPA 与 ASAR 清单,以及显式选择的事务式提取 | | Managed PE/CLI | 8 | PE/CLI 身份、元数据成员、CIL 哈希、P/Invoke/原生边界声明与验证、应用图谱投影、反编译重建导入、结构化 token 重映射、运行时关联计划与跨版本比较 | | 浏览器观察 | 9 | 精确来源 CDP 抓取、bundle/source map 分析、WebMCP 发现、会话时间线、capture diff 与视觉证据 | -| Electron 分析 | 4 | 限定 canonical 文件根的被动观察、有界静态应用映射,以及基于 Evidence 的静态/运行时对账 | +| Electron 分析 | 5 | 限定 canonical 文件根的被动观察、有界静态应用映射,以及基于 Evidence 的静态/运行时对账 | | JavaScript 运行时 | 2 | 经批准的只附加 Node/Electron Inspector 目标发现,以及不执行求值或插桩的有界脚本和执行上下文观察 | | 应用工作流 | 12 | 有界跨层追踪、唯一匹配跨版本图比较、静态导出返回形状比较、经批准的 Linux 隔离 extracted-module replay、托管运行时表征、重建覆盖闭合、确定性义务账本和端到端就绪性一致性验证 | | 二进制会话 | 23 | `open_binary`、`binary_session`、证据包、保留包释放、有限重放状态机、进程、制品与函数比较、残余未知项注册表 | diff --git a/docs/electron-observation.md b/docs/electron-observation.md index 5dc7e9194..2843af92d 100644 --- a/docs/electron-observation.md +++ b/docs/electron-observation.md @@ -57,3 +57,55 @@ work completed. Inspection does not retain DOM values, execute renderer code, navigate, click, invoke Electron IPC, close a target, or terminate the application. + +## Active Electron scenarios + +Active Electron authority is separate and disabled by default. When enabled, +REA launches an operator-approved Electron executable through the official +Playwright Electron API, owns its lifetime, accepts bounded click/wait actions, +window-targeted renderer reload/crash actions, and synthetic `open-url` or +`second-instance` deep-link delivery. It records capture-scoped window and +WebContents identities, process metrics, and IPC channel and value-shape metadata. +Payload values are not retained. + +Configure exact roots and run the real fixture verifier with an operator-owned +Electron runtime: + +```bash +export REA_ELECTRON_AUTOMATE_ENABLED=true +export REA_ELECTRON_AUTOMATE_AUTO_GRANT=false +export REA_ELECTRON_AUTOMATE_EXECUTABLE_ROOTS_JSON='["/absolute/path/to/runtime"]' +export REA_ELECTRON_AUTOMATE_APPLICATION_ROOTS_JSON='["/absolute/path/to/app"]' +REA_ELECTRON_EXECUTABLE=/absolute/path/to/electron npm run verify:electron +``` + +This capability actively launches and interacts with the target. It is not a +passive CDP observation and must be granted separately as `electron_automate`. +The default is fail-closed (`AUTO_GRANT=false`); an operator can instead issue +a project/session/one-shot grant through the normal permission workflow. The +owned process keeps normal host filesystem and network privileges, so this is +an authority boundary and lifecycle boundary, not a sandbox. + +The CLI and MCP surfaces accept the same schema. For a JSON request file: + +```bash +rea capture-electron-scenario scenario.json --json +``` + +The result records bounded action status and targets, correlated app/window/WebContents, +preload, session, navigation, shell, permission, popup, download, protocol, +native-addon, process, and IPC timeline events. IPC channels are capped at +1,024 characters and argument-shape metadata at 32 entries; values are never +retained. Renderer crash/restart and deep-link actions are synthetic, bounded +scenario controls; their attempted and observed outcomes remain in the +timeline. The active hook blocks and records external shell/navigation, +permission, download, popup, updater, and OS-integration effects. The timeline +is explicitly partial when attachment starts after application activity or when +the event budget is exhausted. + +Active Electron Evidence can also be supplied to +[`reconcile_javascript_runtime`](javascript-runtime-reconciliation.md). That +projection is intentionally target-only and partial: it binds the approved +application path and capture outcome to the static graph, while frames, scripts, +workers, and execution claims remain unavailable until a separate passive runtime +capture provides them. diff --git a/docs/installation.md b/docs/installation.md index 90aeb5232..fb3d0e515 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -259,3 +259,30 @@ target/snapshot/import digest identity, and requires complete runtime cleanup. ## Diagnose, update, and remove `rea doctor --json` is strictly read-only. `rea upgrade` updates only the npm installation that owns the running CLI. `rea uninstall` removes only REA-owned agent registrations and skill files; `--purge-data` additionally removes REA cache and state paths. + +## MCP Registry + +REA is published in the official MCP Registry as `io.github.morluto/rea`. Registry +clients can discover the server and install the existing public `rea-agents` npm +package; the Registry entry does not introduce a second distribution artifact. + +For a client that supports Registry discovery, search for `io.github.morluto/rea` +and select the npm package. The published metadata launches the existing stdio +server through `npx` with the `mcp` command. + +For a client that requires manual configuration, use: + +```json +{ + "mcpServers": { + "rea": { + "command": "npx", + "args": ["-y", "rea-agents@latest", "mcp"] + } + } +} +``` + +Use an exact `rea-agents@VERSION` in the arguments when a reproducible client +configuration is required. `rea setup` writes the same package-runner shape and +pins it to the exact version that performed setup. diff --git a/docs/process-capture.md b/docs/process-capture.md index 0cc698d47..606ebbeff 100644 --- a/docs/process-capture.md +++ b/docs/process-capture.md @@ -47,9 +47,11 @@ REA offers the once-or-session grant form only after the connection negotiates an MCP revision with multi-round tool results and advertises form elicitation. Older connections keep returning the structured permission-required result and never wait for an unsupported elicitation -response. The MCP SDK runtime currently pinned by REA negotiates the older -protocol path, so the interactive flow remains fail-closed until its runtime -protocol support is available. +response. On the pinned `@modelcontextprotocol/server` 2.0.0 runtime, this is +the official `2026-07-28` `inputRequired` continuation: the SDK seals the +request state and validates the continuation envelope, while REA validates the +untrusted input response before creating a connection-owned grant. The older +push-style `elicitation/create` path is not used for this protocol revision. Every scenario must also contain `"approved": true`. Executables, working directories, filesystem roots, and requested environment variables are checked diff --git a/docs/product-catalog.json b/docs/product-catalog.json index ddf1c194f..5fb1b1d16 100644 --- a/docs/product-catalog.json +++ b/docs/product-catalog.json @@ -11,7 +11,7 @@ "skill_version": "23" }, "tools": { - "total": 115, + "total": 116, "families": [ { "id": "direct", @@ -128,9 +128,10 @@ { "id": "electron", "surface": "electron-provider", - "count": 4, + "count": 5, "tools": [ "analyze_javascript_application", + "capture_electron_scenario", "inspect_electron_page", "list_electron_targets", "reconcile_javascript_runtime" @@ -369,6 +370,12 @@ "version": "1", "capabilities": ["capture_browser_scenario"] }, + { + "id": "rea-playwright-electron-active", + "name": "REA Playwright active Electron observation provider", + "version": "1", + "capabilities": ["capture_electron_scenario"] + }, { "id": "rea-v8-inspector", "name": "REA passive Node/Electron V8 Inspector provider", @@ -586,7 +593,7 @@ } ], "cli": { - "primary_count": 67, + "primary_count": 68, "commands": [ "analyze", "analyze-javascript-application", @@ -594,6 +601,7 @@ "build-reconstruction-obligation-ledger", "capabilities", "capture-browser-scenario", + "capture-electron-scenario", "capture-process", "capture-web-screenshot", "commit-reconstruction-coverage", @@ -665,18 +673,18 @@ }, "runtime_catalog": { "counts": { - "cli_commands": 67, - "mcp_tools": 115, + "cli_commands": 68, + "mcp_tools": 116, "mcp_prompts": 6, "mcp_resources": 2, "mcp_resource_templates": 11 }, "digests": { - "tools_sha256": "4623a3b42560c4aaea746e16a4c1feab7714b479f43401b2e8e1ad0bbb1b4746", + "tools_sha256": "8021786c901ca9225ba8e2477f220c8c15d61b8df5618b221f61417cae8c8a36", "prompts_sha256": "3886a3bf55a448def79e3eb429e6a56eb2ba075423c5cb1e5747642b389ef8fe", "resources_sha256": "e0e872276ebf6f88e916ef24930a99eed27ce4c93e494e60820e9bd8cc8497c3", - "combined_sha256": "6b2470559f830c70f2b1a1453fd8cf1264f690b6f6718342deb04406aefa9fe1", - "providers_sha256": "918ccd6b8ae442cd5844dcfde55086f458176241c8d166c1e9dd0f242ccd2bb0" + "combined_sha256": "2da444fd95a40c28a6c0332a5970edca6b984f0c2922e4c02eaf7458a6f3dd0e", + "providers_sha256": "7446b51788734ebf6f4f702e3a5a8c9f0b61967490c245f30bd37b2060827e6b" } } } diff --git a/docs/testing.md b/docs/testing.md index 927a34a36..40fcafddb 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -46,6 +46,7 @@ are: | Command | Scope | | ------------------------- | ---------------------------------------------------------------------------------------------------------------------- | | `npm run test:fast` | Domain, service, adapter, composition, boundary, MCP boundary, and conformance projects | +| `npm run test:local` | Changed and related tests without the build step; lightweight local feedback loop | | `npm run test:boundary` | Boundary, MCP boundary, and process-global projects | | `npm run test:mcp` | MCP boundary project only | | `npm run test:acceptance` | Complete CLI and MCP acceptance workflows | @@ -60,6 +61,15 @@ miss behavior connected through runtime registration, generated data, shell entrypoints, or other relationships that are absent from the import graph. Use `npm run check:pr` before handing off a contribution. +Local full-suite Vitest runs are intentionally capped at one worker and one +project at a time. Boundary fixtures own real subprocesses, and this local cap +keeps aggregate memory predictable; CI retains the existing two-worker budget. +`npm test`, `npm run docs:check`, and `npm run docs:generate` share +repository-local locks and fail fast when the same class of command is already +running. The `npm test` build is inside that lock. `check:pr` runs its test task +before starting documentation validation, so TypeDoc does not compete with the +full suite for memory. + Vitest and Node persistent compile caches are deliberately not enabled by default. To evaluate repeated local runs, opt in for both cold and warm measurements with an isolated cache: diff --git a/docs/verification/managed-conformance-manifest.json b/docs/verification/managed-conformance-manifest.json index 274f1aa2f..55909b7d9 100644 --- a/docs/verification/managed-conformance-manifest.json +++ b/docs/verification/managed-conformance-manifest.json @@ -1,20 +1,20 @@ { "schema_version": 1, - "manifest_id": "ecm_bdccc0a41764d8c182b92a1c9b25e0f08a4b6e8224b35cb83904079a93547d4c", + "manifest_id": "ecm_aba877529714e59795e8a7b51c5513b17081bd701cea1ffee31422a1d95dfa31", "verifier": { "id": "rea-managed-conformance", "version": "1" }, "environment": { - "platform": "linux", - "architecture": "x64", + "platform": "portable", + "architecture": "portable", "runtime": "node", - "runtime_version": "24" + "runtime_version": "portable" }, "skill_digests": [ { "skill_id": "reverse-engineer-anything", - "sha256": "94132dd32216783a2e6ed65a5e78e6a0ad645c22ee7ebaf1f1f4ddf6fd110daf" + "sha256": "43fccde70ab600dfc86785a37b414865cb8c0f2cb479eb4ed6c2a90998e0f6a6" } ], "claims": [ diff --git a/knip.json b/knip.json index 37d24cbf8..ff7c4f8ed 100644 --- a/knip.json +++ b/knip.json @@ -2,7 +2,7 @@ "$schema": "./node_modules/knip/schema.json", "entry": ["src/main.ts", "src/cli.ts"], "project": ["src/**/*.ts", "tests/**/*.ts", "scripts/**/*.mjs"], - "ignoreDependencies": [], + "ignoreDependencies": ["electron"], "ignoreBinaries": ["ps"], "ignoreExportsUsedInFile": true, "ignoreIssues": { diff --git a/package.json b/package.json index 47c47c09b..6b5a4848a 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,6 @@ { "name": "rea-agents", + "mcpName": "io.github.morluto/rea", "version": "3.0.0", "description": "Reverse engineer anything from your terminal or agent with one CLI and MCP server.", "license": "MIT", @@ -44,6 +45,8 @@ "bridge/ghidra/ReaGhidraBridge.java", "scripts/rea.mjs", "scripts/package-runner-bootstrap.mjs", + "scripts/electron-active-hook.cjs", + "scripts/electron-active-hook-boundaries.cjs", "scripts/hopper-demo-x11.py", "scripts/prepack.mjs", "scripts/prepare.mjs", @@ -55,6 +58,7 @@ "deps:check": "node scripts/check-dependency-install.mjs", "metadata:generate": "node scripts/generate-package-metadata.mjs", "metadata:check": "node scripts/generate-package-metadata.mjs --check", + "mcp-registry:check": "node scripts/verify-mcp-registry-metadata.mjs", "mcp-catalog:generate": "npm run build:cached && node scripts/generate-mcp-tool-catalog.mjs", "mcp-catalog:check": "node scripts/generate-mcp-tool-catalog.mjs --check", "prebuild": "npm run deps:check && npm run metadata:check", @@ -68,7 +72,7 @@ "precheck:test": "npm run deps:check", "check:test": "turbo run typecheck lint format:check knip metadata:check test:run", "precheck:pr": "npm run deps:check", - "check:pr": "turbo run typecheck lint format:check knip metadata:check test:run docs:check:built", + "check:pr": "turbo run typecheck lint format:check knip metadata:check test:run && npm run docs:check", "precheck:ci": "npm run deps:check", "check:ci": "turbo run typecheck lint format:check knip metadata:check jscpd scan:todos", "build:cached": "turbo run build", @@ -81,9 +85,10 @@ "jscpd": "jscpd src/ tests/", "scan:todos": "node scripts/scan-todos.mjs", "start": "node scripts/rea.mjs mcp", - "pretest": "npm run build:cached", - "test": "vitest run", - "test:run": "vitest run", + "test": "node scripts/run-exclusive.mjs test npm run test:with-build", + "test:with-build": "npm run build:cached && vitest run", + "test:run": "node scripts/run-exclusive.mjs test vitest run", + "test:local": "node scripts/run-exclusive.mjs test vitest run --changed --passWithNoTests --maxWorkers=1", "pretest:fast": "npm run build:cached", "test:fast": "vitest run --project domain --project services --project adapters --project composition --project boundary --project mcp-boundary --project conformance", "pretest:boundary": "npm run build:cached", @@ -115,6 +120,7 @@ "verify:ghidra": "npm run build:cached && node scripts/verify-real-ghidra.mjs", "verify:ghidra:windows": "npm run build:cached && npm run build:ghidra-windows-fixture && node scripts/verify-real-ghidra-windows.mjs", "verify:browser": "npm run build:cached && node scripts/verify-real-browser.mjs", + "verify:electron": "npm run build:cached && node scripts/verify-real-electron.mjs", "verify:inspector": "npm run build:cached && node scripts/verify-real-javascript-runtime-observation.mjs", "verify:javascript-runtime": "npm run build:cached && node scripts/verify-local-javascript-runtime.mjs", "verify:application-workflows": "npm run build:cached && node scripts/verify-local-application-workflows.mjs", @@ -136,8 +142,9 @@ "evidence:check": "npm run build:cached && node scripts/generate-completion-ledger.mjs --check", "docs:api": "typedoc", "docs:api:cached": "turbo run docs:api", - "docs:generate": "npm run metadata:generate && npm run build:cached && node scripts/generate-mcp-tool-catalog.mjs && node scripts/generate-skill-metadata.mjs && node scripts/generate-product-catalog.mjs && node scripts/generate-completion-ledger.mjs && npm run docs:api:cached && node scripts/generate-error-schema.mjs", - "docs:check": "turbo run docs:check:built", + "docs: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 && npm run docs:api:cached && node scripts/generate-error-schema.mjs", + "docs:check": "node scripts/run-exclusive.mjs docs turbo run docs:check:built", "docs:check:built": "node scripts/generate-package-metadata.mjs --check && node scripts/generate-mcp-tool-catalog.mjs --check && node scripts/generate-skill-metadata.mjs --check && node scripts/generate-product-catalog.mjs --check && node scripts/generate-completion-ledger.mjs --check && node scripts/check-doc-facts.mjs && node scripts/generate-error-schema.mjs --check", "docs:error-schema": "npm run build:cached && node scripts/generate-error-schema.mjs", "prepack": "node scripts/prepack.mjs", diff --git a/release-please-config.json b/release-please-config.json index cf1ef5e8d..967f7f3ba 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -25,6 +25,16 @@ "type": "generic", "path": "src/generatedPackageMetadata.ts" }, + { + "type": "json", + "path": "server.json", + "jsonpath": "$.version" + }, + { + "type": "json", + "path": "server.json", + "jsonpath": "$.packages[0].version" + }, { "type": "json", "path": "docs/product-catalog.json", diff --git a/scripts/electron-active-hook-boundaries.cjs b/scripts/electron-active-hook-boundaries.cjs new file mode 100644 index 000000000..a312ae2b4 --- /dev/null +++ b/scripts/electron-active-hook-boundaries.cjs @@ -0,0 +1,394 @@ +"use strict"; + +// oxlint-disable-next-line max-lines-per-function -- all adapters must close over one bounded capture context. +const createElectronActiveBoundaryPatches = ({ + identity, + patchEmitter, + processType, + recordIpc, + recordRuntime, + shape, +}) => { + const patchedSessions = new WeakSet(); + const patchIpcRenderer = (ipcRenderer) => { + if (ipcRenderer === null || ipcRenderer === undefined) return; + for (const [method, kind] of [ + ["send", "ipc-renderer-send"], + ["sendSync", "ipc-renderer-send"], + ["invoke", "ipc-renderer-invoke"], + ["postMessage", "ipc-renderer-post-message"], + ]) { + const original = ipcRenderer[method]; + if (typeof original !== "function") continue; + ipcRenderer[method] = function patchedRendererIpc(channel, ...args) { + const recorded = recordIpc(kind, channel, args, { + direction: "renderer-to-main", + sender: processType(), + receiver: "main", + frame: null, + process_type: processType(), + error: false, + }); + try { + const result = original.call(this, channel, ...args); + if (result !== null && typeof result?.then === "function") + return result.then( + (value) => { + if (recorded !== null) recorded.result_shape = shape(value); + return value; + }, + (cause) => { + if (recorded !== null) recorded.error = true; + throw cause; + }, + ); + if (recorded !== null) recorded.result_shape = shape(result); + return result; + } catch (cause) { + if (recorded !== null) recorded.error = true; + throw cause; + } + }; + } + }; + + const patchContextBridge = (contextBridge) => { + if (contextBridge === null || contextBridge === undefined) return; + for (const method of ["exposeInMainWorld", "exposeInIsolatedWorld"]) { + const original = contextBridge[method]; + if (typeof original !== "function") continue; + contextBridge[method] = function patchedContextBridge(...args) { + const target = typeof args[0] === "string" ? args[0] : null; + recordRuntime("preload", "context-bridge-exposure", "attempted", { + target, + argument_shapes: args.map((value) => shape(value)), + process_type: processType(), + }); + try { + const result = original.apply(this, args); + recordRuntime("preload", "context-bridge-exposure", "completed", { + target, + process_type: processType(), + }); + return result; + } catch (cause) { + recordRuntime("preload", "context-bridge-exposure", "failed", { + target, + error: true, + process_type: processType(), + }); + throw cause; + } + }; + } + }; + + const patchSession = (session) => { + if (session === null || session === undefined) return; + if ( + (typeof session !== "object" && typeof session !== "function") || + patchedSessions.has(session) + ) + return; + patchedSessions.add(session); + patchEmitter(session, (event, args) => { + const kind = + event === "will-download" + ? "download" + : event.includes("certificate") || event.includes("permission") + ? "permission" + : event.includes("window") || event.includes("popup") + ? "popup-attempt" + : "web-contents-lifecycle"; + if (event === "will-download") { + const cancel = args[1]?.cancel; + if (typeof cancel === "function") cancel.call(args[1]); + } + recordRuntime( + kind, + event, + event === "will-download" ? "blocked" : "observed", + { + target: identity(args[0], "webContents"), + argument_shapes: args.map((value) => shape(value)), + error: event === "will-download", + }, + ); + }); + const originalPermissionRequest = session.setPermissionRequestHandler; + if (typeof originalPermissionRequest === "function") + session.setPermissionRequestHandler = + function blockedPermissionRequest() { + return originalPermissionRequest.call( + this, + (webContents, permission, callback) => { + recordRuntime("permission", "permission-request", "blocked", { + target: identity(webContents, "webContents"), + argument_shapes: [shape(permission)], + error: true, + }); + if (typeof callback === "function") callback(false); + }, + ); + }; + const originalPermissionCheck = session.setPermissionCheckHandler; + if (typeof originalPermissionCheck === "function") + session.setPermissionCheckHandler = function blockedPermissionCheck() { + return originalPermissionCheck.call(this, (webContents, permission) => { + recordRuntime("permission", "permission-check", "blocked", { + target: identity(webContents, "webContents"), + argument_shapes: [shape(permission)], + error: true, + }); + return false; + }); + }; + const originalCertificate = session.setCertificateVerifyProc; + if (typeof originalCertificate === "function") + session.setCertificateVerifyProc = function blockedCertificate() { + return originalCertificate.call(this, (request, callback) => { + recordRuntime("permission", "certificate-error", "blocked", { + argument_shapes: [shape(request)], + error: true, + }); + if (typeof callback === "function") callback(-2); + }); + }; + }; + + const patchWindowOpenHandler = (webContents, contentsId) => { + if (webContents === null || webContents === undefined) return; + const original = webContents.setWindowOpenHandler; + if (typeof original !== "function") return; + const createGuardedHandler = + (handler) => + (...args) => { + try { + if (typeof handler === "function") handler(...args); + } catch { + recordRuntime("popup-attempt", "window-open-handler", "failed", { + target: contentsId, + argument_shapes: args.map((value) => shape(value)), + error: true, + }); + return { action: "deny" }; + } + recordRuntime("popup-attempt", "window-open-handler", "blocked", { + target: contentsId, + argument_shapes: args.map((value) => shape(value)), + error: true, + }); + return { action: "deny" }; + }; + try { + original.call(webContents, createGuardedHandler(undefined)); + } catch { + recordRuntime("popup-attempt", "window-open-handler-install", "failed", { + target: contentsId, + error: true, + }); + } + webContents.setWindowOpenHandler = function blockedWindowOpenHandler( + handler, + ) { + return original.call(this, createGuardedHandler(handler)); + }; + }; + + const patchSessionManager = (sessionModule) => { + if (sessionModule === null || sessionModule === undefined) return; + patchSession(sessionModule.defaultSession); + for (const method of ["fromPartition", "fromPath"]) { + const original = sessionModule[method]; + if (typeof original !== "function") continue; + sessionModule[method] = function patchedSessionFactory(...args) { + const session = original.apply(this, args); + patchSession(session); + return session; + }; + } + }; + + const patchApplicationEffects = (app) => { + if (app === null || app === undefined) return; + for (const method of [ + "relaunch", + "setAsDefaultProtocolClient", + "setLoginItemSettings", + ]) { + const original = app[method]; + if (typeof original !== "function") continue; + app[method] = function blockedApplicationEffect(...args) { + recordRuntime( + method === "relaunch" ? "updater" : "protocol", + method, + "blocked", + { argument_shapes: args.map((value) => shape(value)), error: true }, + ); + return method === "setAsDefaultProtocolClient" ? false : undefined; + }; + } + }; + + const patchNativeAddonLoading = () => { + const original = process.dlopen; + if (typeof original !== "function") return; + process.dlopen = function patchedDlopen(module, filename, ...args) { + let digest = null; + try { + const fs = require("node:fs"); + const crypto = require("node:crypto"); + const stat = fs.statSync(filename); + if (stat.isFile() && stat.size <= 16 * 1024 * 1024) + digest = crypto + .createHash("sha256") + .update(fs.readFileSync(filename)) + .digest("hex"); + } catch { + digest = null; + } + recordRuntime("native-addon", "dlopen", "attempted", { + artifact_path: typeof filename === "string" ? filename : null, + artifact_sha256: digest, + argument_shapes: [ + shape(module), + shape(filename), + ...args.map((value) => shape(value)), + ], + }); + try { + const result = original.call(this, module, filename, ...args); + recordRuntime("native-addon", "dlopen", "completed", { + artifact_path: typeof filename === "string" ? filename : null, + artifact_sha256: digest, + }); + return result; + } catch (cause) { + recordRuntime("native-addon", "dlopen", "failed", { + artifact_path: typeof filename === "string" ? filename : null, + artifact_sha256: digest, + error: true, + }); + throw cause; + } + }; + }; + + const patchUtilityProcess = (utilityProcess) => { + if (utilityProcess === null || utilityProcess === undefined) return; + const original = utilityProcess.fork; + if (typeof original !== "function") return; + utilityProcess.fork = function patchedFork(...args) { + recordRuntime("process-lifecycle", "utility-process-fork", "attempted", { + argument_shapes: args.map((value) => shape(value)), + process_type: "main", + }); + const child = original.apply(this, args); + const childId = identity(child, "utility"); + recordRuntime("process-lifecycle", "utility-process-fork", "completed", { + target: childId, + process_type: "main", + }); + patchEmitter(child, (event, eventArgs) => { + if (event === "message") { + recordIpc("ipc-utility-to-main", null, eventArgs, { + direction: "utility-to-main", + sender: childId, + receiver: "main", + target: childId, + process_type: "main", + error: false, + }); + return; + } + recordRuntime("process-lifecycle", `utility.${event}`, "observed", { + target: childId, + process_type: "utility", + argument_shapes: eventArgs.map((value) => shape(value)), + }); + }); + if (child && typeof child.postMessage === "function") { + const postMessage = child.postMessage.bind(child); + child.postMessage = (...messageArgs) => { + const recorded = recordIpc( + "utility-process-message", + null, + messageArgs, + { + direction: "main-to-utility", + sender: "main", + receiver: childId, + target: childId, + process_type: "main", + error: false, + }, + ); + try { + const result = postMessage(...messageArgs); + if (recorded !== null) recorded.result_shape = shape(result); + return result; + } catch (cause) { + if (recorded !== null) recorded.error = true; + throw cause; + } + }; + } + return child; + }; + }; + + const patchShell = (shell) => { + if (shell === null || shell === undefined) return; + for (const method of ["openExternal", "openPath"]) { + const original = shell[method]; + if (typeof original !== "function") continue; + shell[method] = function blockedShellCall(...args) { + recordRuntime("shell-attempt", method, "blocked", { + argument_shapes: args.map((value) => shape(value)), + error: true, + }); + return Promise.reject(new Error("External shell effects are blocked")); + }; + } + }; + + const patchChildProcess = () => { + const childProcess = require("node:child_process"); + for (const method of ["spawn", "fork", "exec", "execFile"]) { + const original = childProcess[method]; + if (typeof original !== "function") continue; + childProcess[method] = function patchedChildProcess(...args) { + recordRuntime("process-lifecycle", `child.${method}`, "attempted", { + argument_shapes: args.map((value) => shape(value)), + }); + const child = original.apply(this, args); + const childId = identity(child, "child"); + recordRuntime("process-lifecycle", `child.${method}`, "completed", { + target: childId, + }); + patchEmitter(child, (event, eventArgs) => + recordRuntime("process-lifecycle", `child.${event}`, "observed", { + target: childId, + argument_shapes: eventArgs.map((value) => shape(value)), + }), + ); + return child; + }; + } + }; + + return { + patchApplicationEffects, + patchChildProcess, + patchContextBridge, + patchIpcRenderer, + patchNativeAddonLoading, + patchSession, + patchSessionManager, + patchShell, + patchWindowOpenHandler, + patchUtilityProcess, + }; +}; + +module.exports = { createElectronActiveBoundaryPatches }; diff --git a/scripts/electron-active-hook.cjs b/scripts/electron-active-hook.cjs new file mode 100644 index 000000000..8444cc699 --- /dev/null +++ b/scripts/electron-active-hook.cjs @@ -0,0 +1,501 @@ +"use strict"; + +const { + createElectronActiveBoundaryPatches, +} = require("./electron-active-hook-boundaries.cjs"); + +const boundedEnvironmentNumber = (name, fallback) => { + const value = Number(process.env[name]); + return Number.isInteger(value) + ? Math.min(20_000, Math.max(1, value)) + : fallback; +}; + +const MAX_EVENT_NAME_LENGTH = 128; +const MAX_CHANNEL_LENGTH = 1_024; +const MAX_IDENTIFIER_LENGTH = 256; +const MAX_ARGUMENT_SHAPES = 32; +const maxEvents = boundedEnvironmentNumber( + "REA_ELECTRON_ACTIVE_MAX_RUNTIME_EVENTS", + 5_000, +); +const ipcEventKinds = new Set([ + "main-handler-invocation", + "main-event-invocation", + "utility-process-fork", + "utility-process-message", + "ipc-main-to-renderer", + "ipc-utility-to-main", + "ipc-renderer-send", + "ipc-renderer-invoke", + "ipc-renderer-post-message", +]); +const events = []; +let observed = 0; +let observedIpc = 0; +let observedRuntime = 0; +let truncated = false; +let sequence = 0; +let correlationSequence = 0; + +const boundedString = (value, maximum) => + typeof value === "string" ? value.slice(0, maximum) : null; + +const shape = (value, depth = 0) => { + if (depth > 2 || value === null) return value === null ? "null" : "nested"; + if (Array.isArray(value)) return "array"; + switch (typeof value) { + case "string": + return "string"; + case "number": + return "number"; + case "boolean": + return "boolean"; + case "undefined": + return "undefined"; + case "function": + return "function"; + case "object": + return "object"; + default: + return "unknown"; + } +}; + +const isAllowedNavigation = (value) => { + if (typeof value !== "string") return true; + try { + const parsed = new URL(value); + if (["file:", "data:", "about:"].includes(parsed.protocol)) return true; + return ( + ["http:", "https:"].includes(parsed.protocol) && + ["127.0.0.1", "localhost", "[::1]", "::1"].includes(parsed.hostname) + ); + } catch { + return false; + } +}; + +const processType = () => + typeof process.type === "string" && process.type.length > 0 + ? process.type.slice(0, MAX_IDENTIFIER_LENGTH) + : "main"; + +const identity = (value, prefix) => { + if (value === null || value === undefined) return null; + const id = value.id; + const processId = value.pid; + return typeof id === "string" || typeof id === "number" + ? `${prefix}:${String(id)}`.slice(0, MAX_IDENTIFIER_LENGTH) + : typeof processId === "number" + ? `${prefix}:pid:${String(processId)}`.slice(0, MAX_IDENTIFIER_LENGTH) + : null; +}; + +const frameIdentity = (event) => { + const frame = event?.senderFrame ?? event?.frame; + const id = frame?.frameTreeNodeId ?? frame?.routingId ?? frame?.id; + return typeof id === "string" || typeof id === "number" + ? `frame:${String(id)}`.slice(0, MAX_IDENTIFIER_LENGTH) + : null; +}; + +const record = (event) => { + observed += 1; + if (ipcEventKinds.has(event.kind)) observedIpc += 1; + else observedRuntime += 1; + if (events.length >= maxEvents) { + truncated = true; + return null; + } + const raw = { + sequence: ++sequence, + correlation_id: + typeof event.correlation_id === "string" + ? event.correlation_id + : `capture:${process.pid}:${++correlationSequence}`, + event: null, + phase: "observed", + channel: null, + channel_truncated: false, + direction: null, + sender: null, + receiver: null, + frame: null, + target: null, + argument_shapes: [], + argument_shapes_truncated: false, + result_shape: null, + process_type: processType(), + source: "electron-active-hook", + capture_method: "api-wrapper", + artifact_path: null, + artifact_sha256: null, + error: false, + ...event, + }; + const argumentShapes = Array.isArray(raw.argument_shapes) + ? raw.argument_shapes + : []; + events.push({ + ...raw, + correlation_id: boundedString(raw.correlation_id, MAX_IDENTIFIER_LENGTH), + event: boundedString(raw.event, MAX_EVENT_NAME_LENGTH), + channel: boundedString(raw.channel, MAX_CHANNEL_LENGTH), + channel_truncated: + raw.channel_truncated === true || + (typeof raw.channel === "string" && + raw.channel.length > MAX_CHANNEL_LENGTH), + sender: boundedString(raw.sender, MAX_IDENTIFIER_LENGTH), + receiver: boundedString(raw.receiver, MAX_IDENTIFIER_LENGTH), + frame: boundedString(raw.frame, MAX_IDENTIFIER_LENGTH), + target: boundedString(raw.target, MAX_IDENTIFIER_LENGTH), + argument_shapes: argumentShapes + .slice(0, MAX_ARGUMENT_SHAPES) + .map((value) => boundedString(value, 64) ?? "unknown"), + argument_shapes_truncated: + raw.argument_shapes_truncated === true || + argumentShapes.length > MAX_ARGUMENT_SHAPES, + result_shape: boundedString(raw.result_shape, 64), + process_type: boundedString(raw.process_type, MAX_IDENTIFIER_LENGTH), + artifact_path: boundedString(raw.artifact_path, 16_384), + artifact_sha256: boundedString(raw.artifact_sha256, 64), + }); + return events.at(-1); +}; + +const recordRuntime = (kind, event, phase, details = {}) => + record({ kind, event, phase, ...details }); + +const recordIpc = (kind, channel, args, details = {}) => + (() => { + const values = Array.isArray(args) ? args : []; + return record({ + kind, + channel: typeof channel === "string" ? channel : null, + argument_shapes: values + .slice(0, MAX_ARGUMENT_SHAPES) + .map((value) => shape(value)), + argument_shapes_truncated: values.length > MAX_ARGUMENT_SHAPES, + ...details, + }); + })(); + +const patchEmitter = (emitter, observeEvent) => { + if (emitter === null || emitter === undefined) return; + const original = emitter.emit; + if (typeof original !== "function") return; + if (emitter.__reaElectronActiveEmitPatched === true) return; + try { + emitter.__reaElectronActiveEmitPatched = true; + emitter.emit = function patchedEmit(event, ...args) { + if (typeof event === "string") observeEvent.call(this, event, args); + return original.call(this, event, ...args); + }; + } catch { + globalThis.__reaElectronActiveHookError = true; + } +}; + +const recordInvocation = (kind, channel, event, args) => + recordIpc(kind, channel, args, { + direction: "renderer-to-main", + sender: identity(event?.sender, "webContents"), + receiver: "main", + frame: frameIdentity(event), + process_type: "main", + error: false, + }); + +const patchIpcMain = (ipcMain) => { + if (ipcMain === null || ipcMain === undefined) return; + for (const [method, kind] of [ + ["handle", "main-handler-invocation"], + ["on", "main-event-invocation"], + ["once", "main-event-invocation"], + ]) { + const original = ipcMain[method]; + if (typeof original !== "function") continue; + ipcMain[method] = function patchedIpcMain(channel, listener) { + if (typeof listener !== "function") + return original.call(this, channel, listener); + const wrapped = + kind === "main-handler-invocation" + ? async function wrappedHandler(event, ...args) { + const recorded = recordInvocation(kind, channel, event, args); + try { + const result = await listener.call(this, event, ...args); + if (recorded !== null) recorded.result_shape = shape(result); + return result; + } catch (cause) { + if (recorded !== null) recorded.error = true; + throw cause; + } + } + : function wrappedEventListener(event, ...args) { + const recorded = recordInvocation(kind, channel, event, args); + try { + return listener.call(this, event, ...args); + } catch (cause) { + if (recorded !== null) recorded.error = true; + throw cause; + } + }; + return original.call(this, channel, wrapped); + }; + } +}; + +const patchNavigationMethods = (webContents, contentsId) => { + for (const method of ["loadURL", "loadFile", "loadDataURL"]) { + const original = webContents[method]; + if (typeof original !== "function") continue; + webContents[method] = function patchedNavigation(...args) { + recordRuntime("navigation", method, "attempted", { + target: contentsId, + argument_shapes: args.map((value) => shape(value)), + }); + if (method === "loadURL" && !isAllowedNavigation(args[0])) { + recordRuntime("navigation", method, "blocked", { + target: contentsId, + error: true, + }); + return Promise.reject(new Error("External navigation is blocked")); + } + try { + const result = original.apply(this, args); + if (result !== null && typeof result?.then === "function") + return result.then( + (value) => { + recordRuntime("navigation", method, "completed", { + target: contentsId, + }); + return value; + }, + (cause) => { + recordRuntime("navigation", method, "failed", { + target: contentsId, + error: true, + }); + throw cause; + }, + ); + recordRuntime("navigation", method, "completed", { + target: contentsId, + }); + return result; + } catch (cause) { + recordRuntime("navigation", method, "failed", { + target: contentsId, + error: true, + }); + throw cause; + } + }; + } +}; + +const patchWebContentsIpc = (webContents, contentsId) => { + const originalSend = webContents.send; + if (typeof originalSend === "function") + webContents.send = function patchedSend(channel, ...args) { + const recorded = recordIpc("ipc-main-to-renderer", channel, args, { + direction: "main-to-renderer", + sender: "main", + receiver: contentsId, + target: contentsId, + process_type: "main", + error: false, + }); + try { + const result = originalSend.call(this, channel, ...args); + if (recorded !== null) recorded.result_shape = shape(result); + return result; + } catch (cause) { + if (recorded !== null) recorded.error = true; + throw cause; + } + }; + const originalPostMessage = webContents.postMessage; + if (typeof originalPostMessage === "function") + webContents.postMessage = function patchedPostMessage( + channel, + message, + transfer, + ) { + const recorded = recordIpc( + "ipc-main-to-renderer", + channel, + [message, transfer], + { + direction: "main-to-renderer", + sender: "main", + receiver: contentsId, + target: contentsId, + process_type: "main", + error: false, + }, + ); + try { + const result = originalPostMessage.call( + this, + channel, + message, + transfer, + ); + if (recorded !== null) recorded.result_shape = shape(result); + return result; + } catch (cause) { + if (recorded !== null) recorded.error = true; + throw cause; + } + }; +}; + +const patchWebContents = (webContents, windowId) => { + if (webContents === null || webContents === undefined) return; + const contentsId = identity(webContents, "webContents"); + patchEmitter(webContents, (event, args) => { + const navigation = [ + "did-start-loading", + "did-stop-loading", + "did-finish-load", + "did-fail-load", + "did-frame-finish-load", + "will-navigate", + "will-redirect", + ].includes(event); + const kind = navigation + ? "navigation" + : [ + "console-message", + "render-process-gone", + "crashed", + "unresponsive", + "responsive", + ].includes(event) + ? "error" + : event === "did-create-window" + ? "popup-attempt" + : "web-contents-lifecycle"; + if (event === "will-navigate" || event === "will-redirect") { + if (!isAllowedNavigation(args[1])) { + const preventDefault = args[0]?.preventDefault; + if (typeof preventDefault === "function") preventDefault.call(args[0]); + recordRuntime("navigation", event, "blocked", { + target: contentsId, + sender: windowId, + argument_shapes: args.map((value) => shape(value)), + error: true, + }); + return; + } + } + recordRuntime(kind, event, "observed", { + target: contentsId, + sender: windowId, + argument_shapes: args.map((value) => shape(value)), + error: kind === "error", + }); + if (event === "did-create-window") { + const childWindow = args[0]; + patchWebContents( + childWindow?.webContents, + identity(childWindow, "window"), + ); + } + }); + patchNavigationMethods(webContents, contentsId); + patchWebContentsIpc(webContents, contentsId); + boundaries.patchWindowOpenHandler(webContents, contentsId); +}; + +const patchBrowserWindow = (electron) => { + const original = electron.BrowserWindow; + if (typeof original !== "function") return; + electron.BrowserWindow = new Proxy(original, { + construct(target, args, newTarget) { + const window = Reflect.construct(target, args, newTarget); + const targetId = identity(window, "window"); + recordRuntime("window-lifecycle", "created", "completed", { + target: targetId, + argument_shapes: args.map((value) => shape(value)), + }); + const preload = args[0]?.webPreferences?.preload; + if (typeof preload === "string") + recordRuntime("preload", "configured", "completed", { + target: targetId, + artifact_path: preload, + }); + patchEmitter(window, (event) => + recordRuntime("window-lifecycle", event, "observed", { + target: targetId, + }), + ); + patchWebContents(window.webContents, targetId); + return window; + }, + }); +}; + +const boundaries = createElectronActiveBoundaryPatches({ + identity, + patchEmitter, + processType, + recordIpc, + recordRuntime, + shape, +}); + +try { + const electron = require("electron"); + patchEmitter(electron.app, (event, args) => + recordRuntime( + event === "open-url" || event === "second-instance" + ? "protocol" + : "app-lifecycle", + event, + "observed", + { + target: "app", + argument_shapes: args.map((value) => shape(value)), + process_type: "main", + }, + ), + ); + patchIpcMain(electron.ipcMain); + boundaries.patchIpcRenderer(electron.ipcRenderer); + boundaries.patchContextBridge(electron.contextBridge); + patchBrowserWindow(electron); + boundaries.patchUtilityProcess(electron.utilityProcess); + boundaries.patchShell(electron.shell); + boundaries.patchSessionManager(electron.session); + boundaries.patchApplicationEffects(electron.app); + boundaries.patchNativeAddonLoading(); + boundaries.patchChildProcess(); + process.once("uncaughtException", (cause, origin) => { + recordRuntime("process-lifecycle", "uncaught-exception", "observed", { + argument_shapes: [shape(cause), shape(origin)], + error: true, + }); + throw cause; + }); + process.once("unhandledRejection", (reason, promise) => { + recordRuntime("process-lifecycle", "unhandled-rejection", "observed", { + argument_shapes: [shape(reason), shape(promise)], + error: true, + }); + throw reason; + }); +} catch { + globalThis.__reaElectronActiveHookError = true; +} + +globalThis.__reaElectronActiveSnapshot = () => ({ + events: events.slice(), + observed, + observed_ipc: observedIpc, + observed_runtime: observedRuntime, + truncated, + hook_error: globalThis.__reaElectronActiveHookError === true, +}); diff --git a/scripts/generate-completion-ledger.mjs b/scripts/generate-completion-ledger.mjs index d4f49ef15..6242313cc 100644 --- a/scripts/generate-completion-ledger.mjs +++ b/scripts/generate-completion-ledger.mjs @@ -30,16 +30,27 @@ const { stdout } = await exec( }, ); const verifierOutput = JSON.parse(stdout); +// Managed conformance claims are host-independent. Keep the checked-in +// commitment reproducible across macOS, Linux, and Windows rather than +// embedding the machine that happened to generate it. +const portableCompletionReport = { + ...verifierOutput.completionReport, + environment: { + platform: "portable", + architecture: "portable", + runtime: "node", + runtime_version: "portable", + }, +}; const { createCompletionLedgerArtifacts } = await import( `../dist/domain/completionLedgerGeneration.js?${String(Date.now())}` ); const skillDigest = await directoryDigest( join(root, "skills/reverse-engineer-anything"), ); -const generated = createCompletionLedgerArtifacts( - verifierOutput.completionReport, - [{ skill_id: "reverse-engineer-anything", sha256: skillDigest }], -); +const generated = createCompletionLedgerArtifacts(portableCompletionReport, [ + { skill_id: "reverse-engineer-anything", sha256: skillDigest }, +]); if (!check) await mkdir(outputRoot, { recursive: true }); await Promise.all([ diff --git a/scripts/generate-mcp-tool-catalog.mjs b/scripts/generate-mcp-tool-catalog.mjs index 494db17fd..006220951 100644 --- a/scripts/generate-mcp-tool-catalog.mjs +++ b/scripts/generate-mcp-tool-catalog.mjs @@ -17,6 +17,9 @@ for (const argument of arguments_) throw new Error(`Unknown MCP tool catalog option: ${argument}`); const root = join(dirname(fileURLToPath(import.meta.url)), ".."); +// The checked-in catalog is a portable package artifact. Keep its canonical +// provider metadata independent of the machine running the generator. +const CATALOG_PLATFORM = "darwin"; const sessionToolNames = new Set([ ...TOOL_CONTRACTS.filter(({ kind }) => kind === "session").map( ({ name }) => name, @@ -55,13 +58,26 @@ const catalog = TOOL_CONTRACTS.map((contract) => { }); const auxiliaryProviders = [ new ArtifactProvider(false, false), - new NativeMacOSProvider(), + new NativeMacOSProvider(undefined, CATALOG_PLATFORM), new ManagedStaticProvider(), ].map((provider) => ({ identity: provider.identity(), capabilities: provider.capabilities(), })); -const payloadJson = JSON.stringify({ catalog, auxiliaryProviders }); + +const canonicalizeJson = (value) => { + if (Array.isArray(value)) return value.map(canonicalizeJson); + if (value === null || typeof value !== "object") return value; + return Object.fromEntries( + Object.entries(value) + .sort(([left], [right]) => (left < right ? -1 : left > right ? 1 : 0)) + .map(([key, entry]) => [key, canonicalizeJson(entry)]), + ); +}; + +const payloadJson = JSON.stringify( + canonicalizeJson({ catalog, auxiliaryProviders }), +); const source = await format( `import type { ToolAnnotations } from "@modelcontextprotocol/server"; import type { diff --git a/scripts/lib/catalog-builders.mjs b/scripts/lib/catalog-builders.mjs index 9aa34df81..50cbb0d99 100644 --- a/scripts/lib/catalog-builders.mjs +++ b/scripts/lib/catalog-builders.mjs @@ -81,26 +81,12 @@ export const toolFamilyCatalog = (sources) => { /** Build provider identities with their sorted capability names. */ export const providerCatalog = (sources) => { - const applicationContracts = - sources.electronContracts.ELECTRON_TOOL_CONTRACTS.filter( - ({ name }) => name === "analyze_javascript_application", - ); - const reconciliationContracts = - sources.electronContracts.ELECTRON_TOOL_CONTRACTS.filter( - ({ name }) => name === "reconcile_javascript_runtime", - ); - const observationContracts = - sources.electronContracts.ELECTRON_TOOL_CONTRACTS.filter( - ({ name }) => - name !== "analyze_javascript_application" && - name !== "reconcile_javascript_runtime", - ); - if ( - applicationContracts.length !== 1 || - reconciliationContracts.length !== 1 || - observationContracts.length !== 2 - ) - throw new Error("Electron provider capability ownership drifted"); + const { + applicationContracts, + reconciliationContracts, + observationContracts, + activeContracts, + } = electronContractSlices(sources); return [ { identity: sources.hopperProvider.HOPPER_PROVIDER_IDENTITY, @@ -142,6 +128,12 @@ export const providerCatalog = (sources) => { identity: sources.electronProvider.CDP_ELECTRON_PROVIDER_IDENTITY, contracts: observationContracts, }, + { + identity: + sources.electronActiveProvider + .PLAYWRIGHT_ELECTRON_ACTIVE_PROVIDER_IDENTITY, + contracts: activeContracts, + }, { identity: sources.v8InspectorProvider.V8_INSPECTOR_PROVIDER_IDENTITY, contracts: @@ -171,3 +163,38 @@ export const providerCatalog = (sources) => { })) .sort((left, right) => left.id.localeCompare(right.id)); }; + +const electronContractSlices = (sources) => { + const applicationContracts = + sources.electronContracts.ELECTRON_TOOL_CONTRACTS.filter( + ({ name }) => name === "analyze_javascript_application", + ); + const reconciliationContracts = + sources.electronContracts.ELECTRON_TOOL_CONTRACTS.filter( + ({ name }) => name === "reconcile_javascript_runtime", + ); + const observationContracts = + sources.electronContracts.ELECTRON_TOOL_CONTRACTS.filter( + ({ name }) => + name !== "analyze_javascript_application" && + name !== "reconcile_javascript_runtime" && + name !== "capture_electron_scenario", + ); + const activeContracts = + sources.electronContracts.ELECTRON_TOOL_CONTRACTS.filter( + ({ name }) => name === "capture_electron_scenario", + ); + if ( + applicationContracts.length !== 1 || + reconciliationContracts.length !== 1 || + observationContracts.length !== 2 || + activeContracts.length !== 1 + ) + throw new Error("Electron provider capability ownership drifted"); + return { + applicationContracts, + reconciliationContracts, + observationContracts, + activeContracts, + }; +}; diff --git a/scripts/lib/catalog-core.mjs b/scripts/lib/catalog-core.mjs index e75692c36..b187ce4b9 100644 --- a/scripts/lib/catalog-core.mjs +++ b/scripts/lib/catalog-core.mjs @@ -55,6 +55,7 @@ const SOURCE_PATHS = { browserProvider: "dist/browser/CdpBrowserProvider.js", browserScenarioProvider: "dist/browser/PlaywrightBrowserScenarioProvider.js", electronProvider: "dist/browser/CdpElectronProvider.js", + electronActiveProvider: "dist/browser/PlaywrightElectronActiveProvider.js", v8InspectorProvider: "dist/browser/V8InspectorProvider.js", evidence: "dist/domain/evidence.js", evidenceBundle: "dist/domain/evidenceBundle.js", @@ -70,6 +71,7 @@ const SOURCE_PATHS = { 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", webBundleAnalysis: "dist/domain/webBundleAnalysis.js", webCaptureDiff: "dist/domain/webCaptureDiff.js", diff --git a/scripts/run-exclusive.mjs b/scripts/run-exclusive.mjs new file mode 100644 index 000000000..3f62c338c --- /dev/null +++ b/scripts/run-exclusive.mjs @@ -0,0 +1,147 @@ +#!/usr/bin/env node + +import { spawn } from "node:child_process"; +import { mkdir, readFile, rm, writeFile } from "node:fs/promises"; +import { join, resolve } from "node:path"; + +const [, , lockName, ...command] = process.argv; +const lockRoot = resolve(process.cwd(), ".cache", "rea-command-locks"); +const lockPath = join(lockRoot, `${lockName ?? "invalid"}.lock`); +const ownerPath = join(lockPath, "owner.json"); +const signalExitCodes = { SIGINT: 130, SIGTERM: 143 }; + +let lockHeld = false; +let child; +let shutdownSignal; + +process.on("SIGINT", () => handleSignal("SIGINT")); +process.on("SIGTERM", () => handleSignal("SIGTERM")); + +if ( + typeof lockName !== "string" || + !/^[a-z][a-z0-9-]*$/u.test(lockName) || + command.length === 0 +) { + console.error("Usage: run-exclusive.mjs [args...]"); + process.exitCode = 64; +} else { + await run(); +} + +async function run() { + try { + await acquireLock(); + const result = await runCommand(); + process.exitCode = + shutdownSignal === undefined + ? (result.code ?? 1) + : signalExitCodes[shutdownSignal]; + } catch (cause) { + console.error(cause instanceof Error ? cause.message : String(cause)); + process.exitCode = 1; + } finally { + await releaseLock(); + } +} + +async function acquireLock() { + await mkdir(lockRoot, { recursive: true }); + for (let attempt = 0; attempt < 3; attempt += 1) { + try { + await mkdir(lockPath); + await writeFile( + ownerPath, + JSON.stringify({ + pid: process.pid, + command: command.join(" "), + started_at: new Date().toISOString(), + }), + "utf8", + ); + lockHeld = true; + return; + } catch (cause) { + if (!isAlreadyExistsError(cause)) throw cause; + const owner = await readOwner(); + if (owner === null || isProcessAlive(owner.pid)) + throw new Error( + `Another ${lockName} command is already running (pid ${String(owner?.pid ?? "unknown")}). Wait for it to finish or inspect ${lockPath}.`, + ); + await rm(lockPath, { force: true, recursive: true }); + } + } + throw new Error(`Could not acquire the ${lockName} command lock`); +} + +async function releaseLock() { + if (!lockHeld) return; + lockHeld = false; + try { + const owner = await readOwner(); + if (owner?.pid === process.pid) + await rm(lockPath, { force: true, recursive: true }); + } catch (cause) { + console.error( + `Could not remove the ${lockName} command lock: ${cause instanceof Error ? cause.message : String(cause)}`, + ); + } +} + +function runCommand() { + return new Promise((resolveResult, reject) => { + child = spawn(command[0], command.slice(1), { + cwd: process.cwd(), + env: process.env, + shell: process.platform === "win32", + stdio: "inherit", + }); + child.once("error", reject); + child.once("close", (code) => resolveResult({ code })); + }); +} + +function handleSignal(signal) { + if (shutdownSignal !== undefined) return; + shutdownSignal = signal; + if (child !== undefined && child.exitCode === null) child.kill(signal); +} + +async function readOwner() { + try { + const parsed = JSON.parse(await readFile(ownerPath, "utf8")); + const pid = + typeof parsed === "object" && parsed !== null + ? Reflect.get(parsed, "pid") + : undefined; + if (typeof pid !== "number" || !Number.isInteger(pid)) return null; + return { pid }; + } catch (cause) { + if (isMissingFileError(cause)) return null; + throw cause; + } +} + +function isProcessAlive(pid) { + try { + process.kill(pid, 0); + return true; + } catch (cause) { + return !isMissingProcessError(cause); + } +} + +function isAlreadyExistsError(cause) { + return isNodeError(cause) && cause.code === "EEXIST"; +} + +function isMissingFileError(cause) { + return isNodeError(cause) && cause.code === "ENOENT"; +} + +function isMissingProcessError(cause) { + return isNodeError(cause) && cause.code === "ESRCH"; +} + +function isNodeError(cause) { + return typeof cause === "object" && cause !== null && "code" in cause; +} diff --git a/scripts/verify-conformance-fixtures.mjs b/scripts/verify-conformance-fixtures.mjs index 1437febb1..02f142231 100644 --- a/scripts/verify-conformance-fixtures.mjs +++ b/scripts/verify-conformance-fixtures.mjs @@ -12,9 +12,9 @@ import { completeVerifierRun, createVerifierRun } from "./lib/verifier-run.mjs"; const exec = promisify(execFile); const verifierRun = createVerifierRun(); -const manifestPath = await realpath( - resolve(process.argv[2] ?? "build/conformance/manifest.json"), -); +const manifestArgument = process.argv[2] ?? "build/conformance/manifest.json"; +const manifestPath = await realpath(resolve(manifestArgument)); +const sourceRoot = await resolveSourceRoot(manifestPath, process.argv[3]); const manifest = JSON.parse(await readFile(manifestPath, "utf8")); if ( manifest.schemaVersion !== 1 || @@ -39,9 +39,30 @@ if (v1 === undefined || v2 === undefined) if (v1.artifactSha256 === v2.artifactSha256) throw new Error("Version-pair artifacts unexpectedly have equal hashes"); process.stdout.write( - `${JSON.stringify({ verifier_run: await completeVerifierRun(verifierRun), verified: manifest.fixtures.length, manifestPath, platform: manifest.platform })}\n`, + `${JSON.stringify({ verifier_run: await completeVerifierRun(verifierRun), verified: manifest.fixtures.length, manifestPath, sourceRoot, platform: manifest.platform })}\n`, ); +async function resolveSourceRoot(manifestPath, declaredSourceRoot) { + const candidates = [ + declaredSourceRoot === undefined + ? null + : resolve(process.cwd(), declaredSourceRoot), + resolve(process.cwd(), "tests/conformance"), + resolve(dirname(dirname(dirname(manifestPath))), "tests/conformance"), + resolve(dirname(manifestPath), "../../tests/conformance"), + ].filter((candidate) => candidate !== null); + for (const candidate of candidates) { + try { + return await realpath(candidate); + } catch { + // Try the next clean-checkout candidate. + } + } + throw new Error( + "Could not locate tests/conformance; pass its path as the second argument", + ); +} + async function verifyFixture(fixture) { const artifactPath = await confinedPath(root, fixture.artifact); const sources = []; @@ -51,12 +72,7 @@ async function verifyFixture(fixture) { const content = source.path === "generated/large.c" ? generateLargeFixture() - : await readFile( - await confinedPath( - resolve(process.cwd(), "tests/conformance"), - source.path, - ), - ); + : await readFile(await confinedPath(sourceRoot, source.path)); if (sha256(content) !== source.sha256) throw new Error( `${fixture.name}: source hash mismatch for ${source.path}`, diff --git a/scripts/verify-mcp-registry-metadata.mjs b/scripts/verify-mcp-registry-metadata.mjs new file mode 100644 index 000000000..2c0fe1077 --- /dev/null +++ b/scripts/verify-mcp-registry-metadata.mjs @@ -0,0 +1,51 @@ +import { readFile } from "node:fs/promises"; +import { dirname, join } from "node:path"; +import { fileURLToPath } from "node:url"; + +const root = join(dirname(fileURLToPath(import.meta.url)), ".."); +const readJson = async (path) => + JSON.parse(await readFile(join(root, path), "utf8")); +const fail = (message) => { + throw new Error(`MCP Registry metadata is invalid: ${message}`); +}; + +const packageJson = await readJson("package.json"); +const serverJson = await readJson("server.json"); +const registryPackage = serverJson.packages?.[0]; + +if (packageJson.name !== "rea-agents") fail("unexpected npm package name"); +if (typeof packageJson.version !== "string") + fail("package.json is missing a string version"); +if (packageJson.mcpName !== "io.github.morluto/rea") + fail("package.json mcpName does not identify io.github.morluto/rea"); +if (serverJson.name !== packageJson.mcpName) + fail("server.json name does not match package.json mcpName"); +if (serverJson.version !== packageJson.version) + fail("server.json version does not match package.json version"); +if (!Array.isArray(serverJson.packages) || serverJson.packages.length !== 1) + fail("server.json must describe exactly one npm package"); +if (registryPackage === undefined) + fail("server.json is missing its npm package"); +if (registryPackage.registryType !== "npm") + fail("server.json package must use the npm registry"); +if (registryPackage.registryBaseUrl !== "https://registry.npmjs.org") + fail("server.json package must use the public npm registry"); +if (registryPackage.identifier !== packageJson.name) + fail("server.json package identifier does not match package.json name"); +if (registryPackage.version !== packageJson.version) + fail("server.json package version does not match package.json version"); +if (registryPackage.runtimeHint !== "npx") + fail("server.json package must declare the npx runtime"); +if (registryPackage.transport?.type !== "stdio") + fail("server.json package must declare stdio transport"); +if ( + !Array.isArray(registryPackage.packageArguments) || + registryPackage.packageArguments.length !== 1 || + registryPackage.packageArguments[0]?.type !== "positional" || + registryPackage.packageArguments[0]?.value !== "mcp" +) + fail("server.json package must launch the existing mcp command"); + +process.stdout.write( + `MCP Registry metadata is aligned for ${packageJson.name}@${packageJson.version}.\n`, +); diff --git a/scripts/verify-package-pack.mjs b/scripts/verify-package-pack.mjs index 64170892f..8cae7bf4a 100644 --- a/scripts/verify-package-pack.mjs +++ b/scripts/verify-package-pack.mjs @@ -26,6 +26,8 @@ export async function verifyPackagePack({ root, workspace }) { packedManifest.bin?.["rea-agents"] !== "scripts/rea.mjs" ) throw new Error("package did not expose both rea command entry points"); + if (packedManifest.mcpName !== "io.github.morluto/rea") + throw new Error("package did not retain its MCP Registry ownership marker"); if ( packedFiles.some( (path) => path.includes("__pycache__") || path.endsWith(".pyc"), diff --git a/scripts/verify-real-electron.mjs b/scripts/verify-real-electron.mjs new file mode 100644 index 000000000..e61e486e5 --- /dev/null +++ b/scripts/verify-real-electron.mjs @@ -0,0 +1,113 @@ +#!/usr/bin/env node + +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 { completeVerifierRun, createVerifierRun } from "./lib/verifier-run.mjs"; + +const executable = process.env.REA_ELECTRON_EXECUTABLE; +if (executable === undefined || executable.length === 0) + throw new Error( + "REA_ELECTRON_EXECUTABLE must be an absolute path to an approved Electron executable", + ); + +const repositoryRoot = fileURLToPath(new URL("..", import.meta.url)); +const applicationRoot = + process.env.REA_ELECTRON_APPLICATION_ROOT ?? + join(repositoryRoot, "tests/conformance/readiness/electron"); +const applicationPath = + process.env.REA_ELECTRON_APPLICATION_PATH ?? join(applicationRoot, "main.js"); +const input = electronActiveObservationInputSchema.parse({ + schema_version: 1, + executable_path: executable, + application_path: applicationPath, + application_root: applicationRoot, + actions: [ + { step_id: "ipc", kind: "click", selector: "#run", window_index: 0 }, + { + step_id: "open-url", + kind: "deep-link", + delivery: "open-url", + url: "rea-readiness://open-url", + }, + { + step_id: "second-instance", + kind: "deep-link", + delivery: "second-instance", + url: "rea-readiness://second-instance", + }, + { step_id: "renderer-reload", kind: "renderer-reload", window_index: 1 }, + { step_id: "renderer-crash", kind: "renderer-crash", window_index: 1 }, + { + step_id: "renderer-restart", + kind: "wait", + duration_ms: 250, + window_index: 1, + }, + ], + approved: true, +}); +const verifierRun = createVerifierRun(); +const result = await new PlaywrightElectronActiveProvider().capture(input); +if (!result.ok) throw result.error; + +const output = { + verifier_run: await completeVerifierRun(verifierRun), + electron: result.value.application, + actions: result.value.actions, + processes: result.value.processes, + ipc: result.value.ipc, + timeline: result.value.timeline, + windows: result.value.windows, + verified: + result.value.actions.every(({ status }) => status === "completed") && + result.value.actions.some( + ({ kind, window_index }) => + kind === "renderer-reload" && window_index === 1, + ) && + result.value.actions.some( + ({ kind, window_index }) => + kind === "renderer-crash" && window_index === 1, + ) && + result.value.windows.length >= 2 && + result.value.ipc.events.some( + ({ kind, channel }) => + kind === "main-handler-invocation" && channel === "readiness:echo", + ) && + result.value.timeline.events.some( + ({ kind, event, phase }) => + kind === "window-lifecycle" && + event === "created" && + phase === "completed", + ) && + result.value.timeline.events.some( + ({ kind, event }) => + kind === "process-lifecycle" && event === "utility-process-fork", + ) && + result.value.timeline.events.some( + ({ kind, event, phase }) => + kind === "shell-attempt" && + event === "openExternal" && + phase === "blocked", + ) && + result.value.timeline.events.some( + ({ kind, event, phase }) => + kind === "preload" && event === "configured" && phase === "completed", + ) && + result.value.timeline.events.some( + ({ kind, event }) => + kind === "protocol" && + (event === "open-url" || event === "second-instance"), + ) && + result.value.timeline.events.some( + ({ kind, event }) => + kind === "process-lifecycle" && event === "child.spawn", + ), +}; +if (!output.verified) + throw new Error( + "real Electron verifier did not observe the readiness IPC round trip", + ); +process.stdout.write(`${JSON.stringify(output)}\n`); diff --git a/server.json b/server.json new file mode 100644 index 000000000..b569ebbe3 --- /dev/null +++ b/server.json @@ -0,0 +1,30 @@ +{ + "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json", + "name": "io.github.morluto/rea", + "title": "REA", + "description": "Reverse engineer anything from your terminal or agent with one CLI and MCP server.", + "websiteUrl": "https://github.com/morluto/rea", + "repository": { + "url": "https://github.com/morluto/rea", + "source": "github" + }, + "version": "3.0.0", + "packages": [ + { + "registryType": "npm", + "registryBaseUrl": "https://registry.npmjs.org", + "identifier": "rea-agents", + "version": "3.0.0", + "runtimeHint": "npx", + "transport": { + "type": "stdio" + }, + "packageArguments": [ + { + "type": "positional", + "value": "mcp" + } + ] + } + ] +} diff --git a/skills/reverse-engineer-anything/SKILL.md b/skills/reverse-engineer-anything/SKILL.md index 2ca8856ff..653c4634b 100644 --- a/skills/reverse-engineer-anything/SKILL.md +++ b/skills/reverse-engineer-anything/SKILL.md @@ -3,8 +3,8 @@ name: reverse-engineer-anything description: Reverse engineer native, managed, Electron/JavaScript, packaged, and browser applications with REA. Use shipped-artifact or approved runtime evidence to explain features, compare versions, decompile code, or guide a reconstruction. Skip REA for ordinary source-repository architecture analysis. metadata: version: "23" - tool_count: 115 - catalog_digest: "6b2470559f830c70f2b1a1453fd8cf1264f690b6f6718342deb04406aefa9fe1" + tool_count: 116 + catalog_digest: "2da444fd95a40c28a6c0332a5970edca6b984f0c2922e4c02eaf7458a6f3dd0e" --- # REA diff --git a/src/application/CapabilityInventory.ts b/src/application/CapabilityInventory.ts index 096b78ba5..28b907275 100644 --- a/src/application/CapabilityInventory.ts +++ b/src/application/CapabilityInventory.ts @@ -41,6 +41,7 @@ export type AvailabilityPolicy = { readonly browserObservationEnabled?: boolean; readonly browserScenarioEnabled?: boolean; readonly electronObservationEnabled?: boolean; + readonly electronAutomationEnabled?: boolean; readonly v8InspectorObservationEnabled?: boolean; readonly javascriptReplayEnabled?: boolean; readonly managedRuntimeEnabled?: boolean; @@ -283,14 +284,8 @@ const policyAvailability = ({ reason: "policy_disabled", remediation: "Configure or grant an evidence_read root.", }; - if (kind === "electron-provider") - return policy.electronObservationEnabled === true - ? { reason: "available", remediation: null } - : { - reason: "policy_disabled", - remediation: - "Enable Electron observation and configure a loopback CDP endpoint and canonical file roots.", - }; + const electron = electronPolicyAvailability(name, kind, policy); + if (electron !== null) return electron; if (kind === "runtime-provider") return policy.v8InspectorObservationEnabled === true ? { reason: "available", remediation: null } @@ -303,6 +298,29 @@ const policyAvailability = ({ return null; }; +const electronPolicyAvailability = ( + name: string, + kind: ToolKind, + policy: AvailabilityPolicy, +): Availability | null => { + if (kind !== "electron-provider") return null; + if (name === "capture_electron_scenario") + return policy.electronAutomationEnabled === true + ? { reason: "available", remediation: null } + : { + reason: "policy_disabled", + remediation: + "Enable active Electron automation and configure exact executable and application roots.", + }; + return policy.electronObservationEnabled === true + ? { reason: "available", remediation: null } + : { + reason: "policy_disabled", + remediation: + "Enable Electron observation and configure a loopback CDP endpoint and canonical file roots.", + }; +}; + const browserPolicyAvailability = ( name: string, kind: ToolKind, diff --git a/src/application/ElectronActiveEvidence.ts b/src/application/ElectronActiveEvidence.ts new file mode 100644 index 000000000..1d9b3e954 --- /dev/null +++ b/src/application/ElectronActiveEvidence.ts @@ -0,0 +1,81 @@ +import type { ProviderIdentity } from "./AnalysisProvider.js"; +import type { Evidence, EvidenceObservation } from "../domain/evidence.js"; +import { createEvidence } from "../domain/evidence.js"; +import type { + ElectronActiveObservationInput, + ElectronActiveObservationResult, +} from "../domain/electronActiveObservation.js"; +import { jsonValueSchema } from "../domain/jsonValue.js"; +import { digestJson } from "./JavaScriptReplayPlanning.js"; + +/** Create Evidence v2 without retaining arbitrary runtime argument values. */ +export const createElectronActiveEvidence = ( + input: ElectronActiveObservationInput, + result: ElectronActiveObservationResult, + provider: ProviderIdentity, +): Evidence => + createEvidence(undefined, provider, { + predicateType: "rea.electron-active-scenario/v1", + operation: "capture_electron_scenario", + parameters: parameters(input), + result: jsonValueSchema.parse(result), + confidence: "observed", + authority: "controlled-replay", + environment: { + id: `${result.application.electron_version}@${process.platform}`, + platform: process.platform, + architecture: process.arch, + isolation: "none", + }, + limitations: result.limitations, + }); + +const scenarioProjection = ( + input: ElectronActiveObservationInput, +): EvidenceObservation["parameters"] => ({ + approved: input.approved, + schema_version: input.schema_version, + executable_path: input.executable_path, + application_path: input.application_path, + application_root: input.application_root, + args: redactArguments(input.args), + actions: input.actions.map(({ step_id, kind }) => ({ step_id, kind })), + limits: input.limits, +}); + +const parameters = ( + input: ElectronActiveObservationInput, +): EvidenceObservation["parameters"] => ({ + ...scenarioProjection(input), + scenario_sha256: digestJson(scenarioProjection(input)), +}); + +const redactArguments = (arguments_: readonly string[]): string[] => { + let redactNext = false; + return arguments_.map((argument) => { + if (redactNext) { + redactNext = false; + return ""; + } + if (sensitiveFlag.test(argument)) { + redactNext = true; + return argument; + } + return redactArgument(argument); + }); +}; + +const sensitiveFlag = + /^--?(?:password|token|secret|api[-_]?key|authorization|cookie)$/iu; + +const redactArgument = (argument: string): string => { + if ( + /^--?(?:password|token|secret|api[-_]?key|authorization|cookie)=/iu.test( + argument, + ) + ) + return `${argument.slice(0, argument.indexOf("=") + 1)}`; + return argument.length > 256 + ? `${argument.slice(0, 256)}` + : argument; +}; diff --git a/src/application/ElectronActiveObservationPort.ts b/src/application/ElectronActiveObservationPort.ts new file mode 100644 index 000000000..ad54031c8 --- /dev/null +++ b/src/application/ElectronActiveObservationPort.ts @@ -0,0 +1,16 @@ +import type { ExecutionOptions, ProviderIdentity } from "./AnalysisProvider.js"; +import type { AnalysisError } from "../domain/errors.js"; +import type { + ElectronActiveObservationInput, + ElectronActiveObservationResult, +} from "../domain/electronActiveObservation.js"; +import type { Result } from "../domain/result.js"; + +/** Provider-neutral boundary for owned Electron runtime experiments. */ +export interface ElectronActiveObservationPort { + identity(): ProviderIdentity; + capture( + input: ElectronActiveObservationInput, + options?: ExecutionOptions, + ): Promise>; +} diff --git a/src/application/ElectronActiveObservationService.ts b/src/application/ElectronActiveObservationService.ts new file mode 100644 index 000000000..c9a88c000 --- /dev/null +++ b/src/application/ElectronActiveObservationService.ts @@ -0,0 +1,132 @@ +import { realpath } from "node:fs/promises"; + +import type { ExecutionOptions } from "./AnalysisProvider.js"; +import type { ElectronActiveObservationPort } from "./ElectronActiveObservationPort.js"; +import type { PermissionAuthority } from "./PermissionAuthority.js"; +import { digestJson } from "./JavaScriptReplayPlanning.js"; +import { + AnalysisCapabilityUnavailableError, + AnalysisInputError, + AnalysisProtocolError, + PermissionRequiredError, + type AnalysisError, +} from "../domain/errors.js"; +import type { Evidence } from "../domain/evidence.js"; +import type { ElectronActiveObservationInput } from "../domain/electronActiveObservation.js"; +import { isPathContained } from "../domain/permissionPolicy.js"; +import { err, type Result } from "../domain/result.js"; +import { createElectronActiveEvidence } from "./ElectronActiveEvidence.js"; + +const OPERATION = "capture_electron_scenario" as const; +const PROVIDER_ID = "rea-playwright-electron-active"; + +const canonicalizeInput = async ( + input: ElectronActiveObservationInput, +): Promise> => { + try { + const [executablePath, applicationPath, applicationRoot] = + await Promise.all([ + realpath(input.executable_path), + realpath(input.application_path), + realpath(input.application_root), + ]); + if (!isPathContained(applicationRoot, applicationPath)) + return err( + new AnalysisInputError(OPERATION, undefined, [ + { + path: ["application_path"], + reason: "invalid_value", + message: + "application_path must remain beneath application_root after symlink resolution", + }, + ]), + ); + return { + ok: true, + value: { + ...input, + executable_path: executablePath, + application_path: applicationPath, + application_root: applicationRoot, + }, + }; + } catch (cause: unknown) { + return err( + new AnalysisInputError(OPERATION, { cause }, [ + { + path: ["application_path"], + reason: "invalid_format", + message: + "Electron executable, application, and root must resolve to existing paths", + }, + ]), + ); + } +}; + +const authorize = async ( + authority: PermissionAuthority | undefined, + input: ElectronActiveObservationInput, +): Promise> => { + const canonical = await canonicalizeInput(input); + if (!canonical.ok) return canonical; + if (authority === undefined) + return err( + new AnalysisCapabilityUnavailableError( + PROVIDER_ID, + OPERATION, + "active Electron observation permission policy is not configured", + ), + ); + const authorized = await authority.authorize( + { + capability: "electron_automate", + roots: [canonical.value.application_root], + executables: [canonical.value.executable_path], + environment_names: [], + network: "external", + mount: false, + operation_identity: `${OPERATION}:${digestJson(canonical.value)}`, + }, + "write", + ); + if (!authorized.ok) + return err( + authorized.error instanceof PermissionRequiredError + ? authorized.error + : new AnalysisProtocolError(authorized.error.message, { + cause: authorized.error, + }), + ); + return canonical; +}; + +/** Authorize and execute one bounded, provider-owned Electron experiment. */ +export const captureElectronScenario = async ( + provider: ElectronActiveObservationPort | undefined, + authority: PermissionAuthority | undefined, + input: ElectronActiveObservationInput, + options: ExecutionOptions = {}, +): Promise> => { + const authorized = await authorize(authority, input); + if (!authorized.ok) return authorized; + if (provider === undefined) + return err( + new AnalysisCapabilityUnavailableError( + PROVIDER_ID, + OPERATION, + "active Electron observation provider is not configured", + ), + ); + const captured = await provider.capture(authorized.value, options); + return captured.ok + ? { + ok: true, + value: createElectronActiveEvidence( + authorized.value, + captured.value, + provider.identity(), + ), + } + : captured; +}; diff --git a/src/application/ProcessHarness.ts b/src/application/ProcessHarness.ts index b6a7ab64a..45964ca0b 100644 --- a/src/application/ProcessHarness.ts +++ b/src/application/ProcessHarness.ts @@ -333,10 +333,6 @@ const completeCapture = async (options: { } throw processCaptureCancelled(); } - if (runtime.reactive !== undefined) { - await runtime.reactive.coordinator.submit({ kind: "target_lost" }); - runtime.reactive.unsubscribe(); - } const settlement = await observeSettlement( options.runId, selectCapturedProcessGroupIds(runtime.terminal.pid, options.samples), @@ -345,6 +341,15 @@ const completeCapture = async (options: { ); runtime.checkpoints.trigger("settled"); const samplingPartial = (await runtime.stopSampler()).partial; + if (runtime.reactive !== undefined) { + // Process, filesystem, shim, and protocol observations can be recorded + // during settlement after the PTY exits. Make target loss terminal only + // after that journal has drained, otherwise the coordinator's control + // priority discards a valid multi-source completion predicate. + await runtime.reactive.coordinator.drain(); + await runtime.reactive.coordinator.submit({ kind: "target_lost" }); + runtime.reactive.unsubscribe(); + } assertNotCancelled(options.signal); const after = await snapshotRoots(scenario, options.signal); const renderedFrames = await runtime.renderer.frames(); diff --git a/src/application/ProcessNormalization.ts b/src/application/ProcessNormalization.ts index d2a204983..43375bd62 100644 --- a/src/application/ProcessNormalization.ts +++ b/src/application/ProcessNormalization.ts @@ -71,9 +71,10 @@ export const normalizeProcessSamples = ( "", rootPid, ); - return scenario.normalization.pids + const withNormalizedPids = scenario.normalization.pids ? normalizePidTokens(normalized, identifiers) : normalized; + return withNormalizedPids.trim(); }; return samples.map((sample) => ({ at_ms: normalizeProcessElapsedTime( diff --git a/src/application/ProjectPermissionStore.ts b/src/application/ProjectPermissionStore.ts index 0c95d1796..f380ab0d0 100644 --- a/src/application/ProjectPermissionStore.ts +++ b/src/application/ProjectPermissionStore.ts @@ -25,6 +25,7 @@ const grantSchema = z.object({ "browser_observe", "browser_automate", "electron_observe", + "electron_automate", "evidence_read", "evidence_write", "investigation_input", diff --git a/src/application/WindowsCapabilities.ts b/src/application/WindowsCapabilities.ts index c93e66df5..b675335ac 100644 --- a/src/application/WindowsCapabilities.ts +++ b/src/application/WindowsCapabilities.ts @@ -3,16 +3,19 @@ import { mkdtemp, rm, symlink, writeFile } from "node:fs/promises"; import { tmpdir } from "node:os"; import { join } from "node:path"; +import { + windowsNativeCapabilities, + type WindowsNativeCapabilitySet, +} from "../process/WindowsAuthority.js"; import { probeProcessCaptureCapability, type ProcessCaptureCapability, } from "./ProcessCaptureCapability.js"; /** One named Windows host observation without inferred authority. */ -interface WindowsCapabilityOutcome { - readonly available: boolean; - readonly reason: string | null; -} +export type WindowsCapabilityOutcome = + | { readonly available: true; readonly reason: null } + | { readonly available: false; readonly reason: string }; /** Injectable host probes used by CI and deterministic unit tests. */ export interface WindowsCapabilityDependencies { @@ -36,6 +39,8 @@ export interface WindowsCapabilityReport { unix_domain_socket: WindowsCapabilityOutcome; pty: WindowsCapabilityOutcome; }>; + /** Security controls that are unavailable until native authority exists. */ + readonly security: WindowsNativeCapabilitySet; } /** Probe named prerequisites without converting missing controls into support. */ @@ -54,11 +59,11 @@ export const probeWindowsCapabilities = async ( no_follow_open: dependencies.probeNoFollowOpen(), private_acl: dependencies.probePrivateAcl(), unix_domain_socket: dependencies.probeUnixDomainSocket(), - pty: { - available: pty.available, - reason: pty.available ? null : pty.reason, - }, + pty: pty.available + ? { available: true, reason: null } + : { available: false, reason: pty.reason }, }, + security: windowsNativeCapabilities(dependencies.platform), }; }; diff --git a/src/browser/JavaScriptRuntimeScope.ts b/src/browser/JavaScriptRuntimeScope.ts index 47c609e4c..f0dcd1902 100644 --- a/src/browser/JavaScriptRuntimeScope.ts +++ b/src/browser/JavaScriptRuntimeScope.ts @@ -58,3 +58,14 @@ export const authorizeRuntimeLocation = async ( }, }; }; + +/** Authorize a target whose Node Inspector URL omits its main entry path. */ +export const authorizeRuntimeTargetLocation = async ( + value: string, + targetType: string, + roots: readonly string[], + origins: readonly string[], +): Promise => + // A bare file:// URL contains no source identity. Do not attach to the + // first configured root merely because the target happens to be Node. + authorizeRuntimeLocation(value, roots, origins); diff --git a/src/browser/PlaywrightElectronActiveActions.ts b/src/browser/PlaywrightElectronActiveActions.ts new file mode 100644 index 000000000..3c8daa02d --- /dev/null +++ b/src/browser/PlaywrightElectronActiveActions.ts @@ -0,0 +1,489 @@ +import type { ElectronApplication, Page } from "playwright-core"; +import { z } from "zod"; + +import type { ExecutionOptions } from "../application/AnalysisProvider.js"; +import { BrowserObservationError } from "../domain/errors.js"; +import { redactSensitiveText } from "./SensitiveTextCapture.js"; +import type { + ElectronActiveObservationInput, + ElectronActiveObservationResult, +} from "../domain/electronActiveObservation.js"; + +const OPERATION = "capture_electron_scenario" as const; + +const hookEventSchema = z.strictObject({ + sequence: z.number().int().min(1), + correlation_id: z.string().max(256).nullable(), + kind: z.enum([ + "main-handler-invocation", + "main-event-invocation", + "utility-process-fork", + "utility-process-message", + "ipc-main-to-renderer", + "ipc-utility-to-main", + "ipc-renderer-send", + "ipc-renderer-invoke", + "ipc-renderer-post-message", + "app-lifecycle", + "window-lifecycle", + "web-contents-lifecycle", + "navigation", + "shell-attempt", + "process-lifecycle", + "permission", + "popup-attempt", + "download", + "protocol", + "preload", + "native-addon", + "updater", + "error", + ]), + event: z.string().max(128).nullable(), + phase: z.enum(["attempted", "completed", "blocked", "failed", "observed"]), + channel: z.string().max(1_024).nullable(), + channel_truncated: z.boolean().default(false), + direction: z + .enum([ + "renderer-to-main", + "main-to-renderer", + "main-to-utility", + "utility-to-main", + ]) + .nullable(), + sender: z.string().max(256).nullable(), + receiver: z.string().max(256).nullable(), + frame: z.string().max(256).nullable(), + target: z.string().max(256).nullable(), + argument_shapes: z.array(z.string().max(64)).max(32), + argument_shapes_truncated: z.boolean().default(false), + result_shape: z.string().max(64).nullable(), + process_type: z.string().max(128).nullable(), + source: z.string().max(64), + capture_method: z.enum(["api-wrapper", "event-emitter", "process-hook"]), + artifact_path: z.string().max(16_384).nullable(), + artifact_sha256: z + .string() + .regex(/^[a-f0-9]{64}$/u) + .nullable(), + error: z.boolean(), +}); + +const hookSnapshotSchema = z.strictObject({ + events: z.array(hookEventSchema).max(20_000), + observed: z.number().int().min(0), + observed_ipc: z.number().int().min(0), + observed_runtime: z.number().int().min(0), + truncated: z.boolean(), + hook_error: z.boolean(), +}); + +const metricSchema = z.strictObject({ + pid: z.number().int().min(1), + type: z.string().min(1).max(128), + name: z.string().max(256).nullable(), + service_name: z.string().max(256).nullable(), +}); + +const windowMetadataSchema = z.strictObject({ + window_id: z.string().max(256), + web_contents_id: z.string().max(256), + visible: z.boolean().nullable(), + destroyed: z.boolean(), +}); + +type ElectronAction = ElectronActiveObservationInput["actions"][number]; +type ElectronActions = ElectronActiveObservationResult["actions"]; + +export type ElectronHookSnapshot = z.infer; +export type ElectronHookEvent = z.infer; +export type ElectronMetrics = z.infer[]; +type ElectronWindowMetadata = z.infer; +type ElectronPageSnapshot = { + readonly index: number; + readonly url: string; + readonly title: string; +}; + +/** Run bounded, explicit actions against provider-owned Electron windows. */ +export const runElectronActions = async ( + application: ElectronApplication, + input: ElectronActiveObservationInput, + options: ExecutionOptions, + deadline: number, +): Promise => { + const actions: ElectronActions = []; + for (const action of input.actions) { + if (options.signal?.aborted === true) + throw new BrowserObservationError(OPERATION, "cancelled"); + const actionStartedAt = Date.now(); + const windowIndex = actionWindowIndex(action); + let selectedWindow: Page | undefined; + try { + const remaining = deadline - Date.now(); + if (remaining <= 0) + throw new BrowserObservationError(OPERATION, "timeout"); + selectedWindow = + windowIndex === null + ? undefined + : await waitForWindow({ + application, + windowIndex, + timeout: input.limits.action_timeout_ms, + signal: options.signal, + deadline, + }); + if ( + (action.kind === "click" || + action.kind === "renderer-reload" || + action.kind === "renderer-crash") && + selectedWindow === undefined + ) + throw new BrowserObservationError(OPERATION, "window_not_found"); + + await runAction({ + application, + action, + selectedWindow, + remaining, + actionTimeoutMs: input.limits.action_timeout_ms, + options, + deadline, + }); + actions.push({ + step_id: action.step_id, + kind: action.kind, + window_index: windowIndex, + target: + selectedWindow === undefined ? null : `window:${String(windowIndex)}`, + status: "completed", + elapsed_ms: Date.now() - actionStartedAt, + error: null, + }); + } catch (cause: unknown) { + actions.push({ + step_id: action.step_id, + kind: action.kind, + window_index: windowIndex, + target: + selectedWindow === undefined ? null : `window:${String(windowIndex)}`, + status: options.signal?.aborted ? "cancelled" : "failed", + elapsed_ms: Date.now() - actionStartedAt, + error: safeActionErrorMessage(cause, action), + }); + break; + } + } + return actions; +}; + +type RunActionContext = { + readonly application: ElectronApplication; + readonly action: ElectronAction; + readonly selectedWindow: Page | undefined; + readonly remaining: number; + readonly actionTimeoutMs: number; + readonly options: ExecutionOptions; + readonly deadline: number; +}; + +const runAction = async ({ + application, + action, + selectedWindow, + remaining, + actionTimeoutMs, + options, + deadline, +}: RunActionContext): Promise => { + switch (action.kind) { + case "click": + if (selectedWindow === undefined) + throw new BrowserObservationError(OPERATION, "window_not_found"); + await runWithExecutionLimits( + selectedWindow.locator(action.selector).click({ + timeout: Math.min(actionTimeoutMs, remaining), + }), + options.signal, + deadline, + ); + return; + case "wait": { + const page = + selectedWindow ?? + (await application.firstWindow({ + timeout: Math.min(actionTimeoutMs, remaining), + })); + await runWithExecutionLimits( + page.waitForTimeout(Math.min(action.duration_ms, remaining)), + options.signal, + deadline, + ); + if (action.duration_ms > remaining) + throw new BrowserObservationError(OPERATION, "timeout"); + return; + } + case "renderer-reload": + if (selectedWindow === undefined) + throw new BrowserObservationError(OPERATION, "window_not_found"); + await runWithExecutionLimits( + selectedWindow.reload({ + timeout: Math.min(actionTimeoutMs, remaining), + }), + options.signal, + deadline, + ); + return; + case "renderer-crash": { + const crashed = await runWithExecutionLimits( + application.evaluate(({ BrowserWindow }, index) => { + const candidate = BrowserWindow.getAllWindows()[index]; + if (candidate === undefined || candidate.isDestroyed()) return false; + candidate.webContents.forcefullyCrashRenderer(); + return true; + }, action.window_index), + options.signal, + deadline, + ); + if (!crashed) + throw new BrowserObservationError(OPERATION, "window_not_found"); + return; + } + case "deep-link": + await runWithExecutionLimits( + emitDeepLink(application, action), + options.signal, + deadline, + ); + return; + } +}; + +const actionWindowIndex = (action: ElectronAction): number | null => { + switch (action.kind) { + case "click": + case "renderer-reload": + case "renderer-crash": + return action.window_index; + case "wait": + return action.window_index ?? null; + case "deep-link": + return null; + } +}; + +type WaitForWindowContext = { + readonly application: ElectronApplication; + readonly windowIndex: number; + readonly timeout: number; + readonly signal: AbortSignal | undefined; + readonly deadline: number; +}; + +const waitForWindow = async ({ + application, + windowIndex, + timeout, + signal, + deadline, +}: WaitForWindowContext): Promise => { + const stopAt = Math.min(deadline, Date.now() + timeout); + while (Date.now() < stopAt) { + if (signal?.aborted === true) + throw new BrowserObservationError(OPERATION, "cancelled"); + const window = application.windows()[windowIndex]; + if (window !== undefined) return window; + await runWithExecutionLimits( + new Promise((resolve) => setTimeout(resolve, 25)), + signal, + stopAt, + ); + } + throw new BrowserObservationError(OPERATION, "window_not_found"); +}; + +const emitDeepLink = ( + application: ElectronApplication, + action: Extract, +): Promise => + application.evaluate( + ({ app }, payload) => { + if (payload.delivery === "open-url") + return app.emit( + "open-url", + { preventDefault: () => undefined }, + payload.url, + ); + return app.emit("second-instance", {}, [payload.url], "", {}); + }, + { delivery: action.delivery, url: action.url }, + ); + +/** Read the current Electron windows, metrics, and bounded hook snapshot. */ +// oxlint-disable-next-line max-lines-per-function -- one state read must share one capture boundary. +export const readApplicationState = async ( + application: ElectronApplication, + maxWindows: number, +): Promise<{ + readonly windows: ReadonlyArray<{ + readonly window_id: string; + readonly web_contents_id: string; + readonly url: string; + readonly title: string; + readonly visible: boolean | null; + readonly destroyed: boolean; + }>; + readonly windowsTruncated: boolean; + readonly metrics: ElectronMetrics; + readonly electronVersion: string; + readonly hookSnapshot: ElectronHookSnapshot; +}> => { + const pages = application.windows(); + const pageSnapshotsPromise: Promise = Promise.all( + pages.slice(0, maxWindows).map( + async (page: Page, index): Promise => ({ + index, + url: page.url().slice(0, 65_536), + title: (await page.title()).slice(0, 16_384), + }), + ), + ); + const windowMetadataPromise: Promise = application + .evaluate(({ BrowserWindow }) => + BrowserWindow.getAllWindows().map( + (window: { + readonly id: number; + readonly webContents: { readonly id: number }; + isDestroyed(): boolean; + isVisible(): boolean; + }) => ({ + window_id: `window:${String(window.id)}`, + web_contents_id: `webContents:${String(window.webContents.id)}`, + visible: window.isDestroyed() ? null : window.isVisible(), + destroyed: window.isDestroyed(), + }), + ), + ) + .then((value) => z.array(windowMetadataSchema).parse(value)); + const processMetricsPromise: Promise = application + .evaluate(({ app }) => + app + .getAppMetrics() + .map( + (metric: { + readonly pid: number; + readonly type: string; + readonly name?: string; + readonly serviceName?: string; + }) => ({ + pid: metric.pid, + type: metric.type, + name: metric.name ?? null, + service_name: metric.serviceName ?? null, + }), + ), + ) + .then((value) => z.array(metricSchema).parse(value)); + const electronVersionPromise: Promise = application + .evaluate(() => process.versions.electron) + .then((value) => z.string().parse(value)); + const hookSnapshotPromise: Promise = application + .evaluate(() => { + const candidate = Reflect.get(globalThis, "__reaElectronActiveSnapshot"); + return typeof candidate === "function" + ? candidate() + : { + events: [], + observed: 0, + observed_ipc: 0, + observed_runtime: 0, + truncated: false, + hook_error: true, + }; + }) + .then((value) => hookSnapshotSchema.parse(value)); + const [ + pageSnapshots, + windowMetadata, + processMetrics, + electronVersion, + hookSnapshot, + ] = await Promise.all([ + pageSnapshotsPromise, + windowMetadataPromise, + processMetricsPromise, + electronVersionPromise, + hookSnapshotPromise, + ]); + return { + windows: pageSnapshots.map((page) => { + const metadata = windowMetadata[page.index]; + if (metadata === undefined) + throw new BrowserObservationError(OPERATION, "window_metadata_missing"); + return { + window_id: metadata.window_id, + web_contents_id: metadata.web_contents_id, + url: page.url, + title: page.title, + visible: metadata.visible, + destroyed: metadata.destroyed, + }; + }), + windowsTruncated: pages.length > maxWindows, + metrics: processMetrics, + electronVersion, + hookSnapshot, + }; +}; + +/** Apply a deadline and caller cancellation to one Playwright operation. */ +export const runWithExecutionLimits = async ( + operation: Promise, + signal: AbortSignal | undefined, + deadline: number, +): Promise => { + if (signal?.aborted === true) + throw new BrowserObservationError(OPERATION, "cancelled"); + let timer: ReturnType | undefined; + let abortListener: (() => void) | undefined; + const timeout = new Promise((_, reject) => { + timer = setTimeout( + () => reject(new BrowserObservationError(OPERATION, "timeout")), + Math.max(1, deadline - Date.now()), + ); + }); + const cancellation = + signal === undefined + ? timeout + : Promise.race([ + timeout, + new Promise((_, reject) => { + abortListener = () => + reject(new BrowserObservationError(OPERATION, "cancelled")); + signal.addEventListener("abort", abortListener, { once: true }); + }), + ]); + try { + return await Promise.race([operation, cancellation]); + } finally { + if (timer !== undefined) clearTimeout(timer); + if (abortListener !== undefined) + signal?.removeEventListener("abort", abortListener); + } +}; + +const safeActionErrorMessage = ( + cause: unknown, + action: ElectronAction, +): string => { + let message = + cause instanceof Error ? cause.message : "Electron action failed"; + const inputValues = Object.values(action) + .filter( + (value): value is string => typeof value === "string" && value.length > 0, + ) + .sort((left, right) => right.length - left.length); + for (const value of inputValues) + message = message.split(value).join(""); + return redactSensitiveText(message).slice(0, 1_024); +}; diff --git a/src/browser/PlaywrightElectronActiveProvider.ts b/src/browser/PlaywrightElectronActiveProvider.ts new file mode 100644 index 000000000..8bc3104b3 --- /dev/null +++ b/src/browser/PlaywrightElectronActiveProvider.ts @@ -0,0 +1,432 @@ +import { realpath } from "node:fs/promises"; +import { randomUUID } from "node:crypto"; +import { fileURLToPath } from "node:url"; + +import { _electron as electron } from "playwright-core"; + +import type { + ExecutionOptions, + ProviderIdentity, +} from "../application/AnalysisProvider.js"; +import type { ElectronActiveObservationPort } from "../application/ElectronActiveObservationPort.js"; +import { + electronActiveObservationResultSchema, + type ElectronActiveObservationInput, + type ElectronActiveObservationResult, +} from "../domain/electronActiveObservation.js"; +import { + AnalysisError, + BrowserObservationError, + ProviderAdapterError, +} from "../domain/errors.js"; +import { isPathContained } from "../domain/permissionPolicy.js"; +import { err, ok, type Result } from "../domain/result.js"; +import { + cleanupOwnedProcessGroup, + cleanupWindowsProcessTree, + observeOwnedProcessLineage, + selectCapturedProcessGroupIds, + verifyNoTokenOwnedProcesses, + type OwnedProcessGroup, + type ProcessCleanupResult, + type ProcessLineageObservation, +} from "../process/ProcessOwnership.js"; +import { + runElectronActions, + readApplicationState, + runWithExecutionLimits, + type ElectronHookEvent, + type ElectronHookSnapshot, + type ElectronMetrics, +} from "./PlaywrightElectronActiveActions.js"; + +const OPERATION = "capture_electron_scenario" as const; + +/** Public identity for provider-owned Electron runtime experiments. */ +export const PLAYWRIGHT_ELECTRON_ACTIVE_PROVIDER_IDENTITY: ProviderIdentity = + Object.freeze({ + id: "rea-playwright-electron-active", + name: "REA Playwright active Electron observation provider", + version: "1", + }); + +const hookPath = fileURLToPath( + new URL("../../scripts/electron-active-hook.cjs", import.meta.url), +); + +type ElectronApplication = Awaited>; +type ElectronPaths = { + readonly executable: string; + readonly application: string; + readonly root: string; +}; + +const observableEventFamilies = [ + "app-lifecycle", + "window-lifecycle", + "web-contents-lifecycle", + "navigation", + "shell-attempt", + "process-lifecycle", + "permission", + "popup-attempt", + "download", + "protocol", + "preload", + "preload-configuration", + "renderer-ipc", + "native-addon", + "updater", + "error", + "ipc", +] as const; + +const ipcEventKinds = new Set([ + "main-handler-invocation", + "main-event-invocation", + "utility-process-fork", + "utility-process-message", + "ipc-main-to-renderer", + "ipc-utility-to-main", + "ipc-renderer-send", + "ipc-renderer-invoke", + "ipc-renderer-post-message", +]); + +const createCoverage = (hookSnapshot: ElectronHookSnapshot) => { + const observedEventFamilies: string[] = [ + ...new Set( + hookSnapshot.events.map(({ kind, process_type }) => { + if (kind === "preload" && process_type === "main") + return "preload-configuration"; + if (kind.startsWith("ipc-renderer") && process_type !== "renderer") + return "ipc"; + return ipcEventKinds.has(kind) ? "ipc" : kind; + }), + ), + ].sort(); + const unavailableEventFamilies = new Set( + observableEventFamilies.filter( + (family) => !observedEventFamilies.includes(family), + ), + ); + const observedRoles = [ + ...new Set( + hookSnapshot.events.flatMap(({ process_type, kind }) => [ + ...(process_type === null ? [] : [process_type]), + ...(kind === "window-lifecycle" ? ["window"] : []), + ...(kind === "web-contents-lifecycle" || kind === "navigation" + ? ["web_contents"] + : []), + ...(kind === "preload" && process_type === "preload" + ? ["preload"] + : []), + ...(kind.startsWith("ipc-renderer") && process_type === "renderer" + ? ["renderer"] + : []), + ]), + ), + ].sort(); + const rendererContextObserved = hookSnapshot.events.some( + ({ process_type }) => + process_type === "renderer" || process_type === "preload", + ); + if (!rendererContextObserved) { + unavailableEventFamilies.add("preload"); + unavailableEventFamilies.add("renderer-ipc"); + } + return { + status: hookSnapshot.hook_error + ? "hook_conflict" + : hookSnapshot.truncated + ? "capture_truncated" + : "partial_attach", + observed_event_families: observedEventFamilies, + unavailable_event_families: [...unavailableEventFamilies].sort(), + observed_roles: observedRoles, + pre_capture_activity: "unavailable", + } as const; +}; + +/** Launch an owned Electron application through the official Playwright API. */ +export class PlaywrightElectronActiveProvider + implements ElectronActiveObservationPort +{ + identity(): ProviderIdentity { + return PLAYWRIGHT_ELECTRON_ACTIVE_PROVIDER_IDENTITY; + } + + async capture( + input: ElectronActiveObservationInput, + options: ExecutionOptions = {}, + ): Promise> { + let application: ElectronApplication | undefined; + let ownership: OwnedProcessGroup | undefined; + let lineage: ProcessLineageObservation | undefined; + let outcome: Result; + const runId = randomUUID(); + try { + if (options.signal?.aborted === true) + throw new BrowserObservationError(OPERATION, "cancelled"); + const deadline = Date.now() + input.limits.max_duration_ms; + const paths = await canonicalPaths(input); + application = await electron.launch({ + executablePath: paths.executable, + cwd: paths.root, + env: safeElectronEnvironment( + input.limits.max_ipc_events, + input.limits.max_runtime_events, + runId, + ), + args: ["-r", hookPath, paths.application, ...input.args], + timeout: Math.max(1, deadline - Date.now()), + }); + const leaderPid = application.process().pid; + if ( + typeof leaderPid !== "number" || + !Number.isSafeInteger(leaderPid) || + leaderPid <= 0 + ) + throw new BrowserObservationError( + OPERATION, + "process_ownership_unavailable", + ); + ownership = { + runId, + leaderPid, + processGroupId: leaderPid, + expectedParentPid: process.pid, + expectedCommand: paths.executable, + sweepTokenOwnedProcesses: true, + }; + const actions = await runElectronActions( + application, + input, + options, + deadline, + ); + const state = await runWithExecutionLimits( + readApplicationState(application, input.limits.max_windows), + options.signal, + deadline, + ); + outcome = ok(createResult(paths, input, actions, state)); + } catch (cause: unknown) { + outcome = err(providerError(cause)); + } + if (application !== undefined) { + if (ownership !== undefined) + lineage = await observeOwnedProcessLineage(ownership); + let closeError: unknown; + try { + await runWithExecutionLimits( + application.close(), + undefined, + Date.now() + 5_000, + ); + } catch (cause: unknown) { + closeError = cause; + } + const cleanup = + ownership === undefined + ? ({ + cleaned: false, + reason: "owned Electron process identity was unavailable", + } satisfies ProcessCleanupResult) + : await cleanupElectronProcesses(ownership, lineage); + if (!cleanup.cleaned) + return err( + providerError( + new BrowserObservationError(OPERATION, "cleanup_failed", { + cause: new Error(cleanup.reason), + }), + ), + ); + if (closeError !== undefined) return err(providerError(closeError)); + } + return outcome; + } +} + +const cleanupElectronProcesses = async ( + ownership: OwnedProcessGroup, + lineage: ProcessLineageObservation | undefined, +): Promise => { + if (process.platform === "win32") { + const root = await cleanupWindowsProcessTree(ownership.leaderPid); + if (!root.cleaned) return root; + if (lineage?.status !== "verified") + return { + cleaned: false, + reason: + "owned Electron lineage was unavailable; helper cleanup was not proven", + }; + for (const descendant of lineage.lineage.descendants) { + const result = await cleanupWindowsProcessTree(descendant.pid); + if (!result.cleaned) return result; + } + return root; + } + if (lineage?.status !== "verified") { + const root = await cleanupOwnedProcessGroup(ownership); + return root.cleaned + ? { + cleaned: false, + reason: + "owned Electron lineage was unavailable; helper cleanup was not proven", + } + : root; + } + const groupIds = selectCapturedProcessGroupIds( + ownership.leaderPid, + lineage.lineage.descendants.map(({ pid, processGroupId }) => ({ + pid, + process_group_id: processGroupId, + })), + ); + let signaled = false; + for (const processGroupId of groupIds) { + const cleanupOwnership: OwnedProcessGroup = + processGroupId === ownership.processGroupId + ? { ...ownership, leaderPid: processGroupId, processGroupId } + : { + runId: ownership.runId, + leaderPid: processGroupId, + processGroupId, + }; + const result = await cleanupOwnedProcessGroup(cleanupOwnership); + if (!result.cleaned) return result; + signaled ||= result.signaled; + } + const remaining = await verifyNoTokenOwnedProcesses(ownership.runId); + if (!remaining.cleaned) return remaining; + return { cleaned: true, signaled }; +}; + +const createResult = ( + paths: ElectronPaths, + input: ElectronActiveObservationInput, + actions: ElectronActiveObservationResult["actions"], + state: { + readonly windows: ReadonlyArray<{ + readonly window_id: string; + readonly web_contents_id: string; + readonly url: string; + readonly title: string; + readonly visible: boolean | null; + readonly destroyed: boolean; + }>; + readonly windowsTruncated: boolean; + readonly metrics: ElectronMetrics; + readonly electronVersion: string; + readonly hookSnapshot: ElectronHookSnapshot; + }, +): ElectronActiveObservationResult => { + const { hookSnapshot } = state; + const ipcEvents = hookSnapshot.events.filter(({ kind }) => + ipcEventKinds.has(kind), + ); + return electronActiveObservationResultSchema.parse({ + schema_version: 1, + application: { + executable_path: paths.executable, + application_path: paths.application, + electron_version: state.electronVersion, + process_ownership: "provider-owned", + cleanup: "terminated-owned-process", + }, + actions, + windows: state.windows.slice(0, input.limits.max_windows), + windows_truncated: state.windowsTruncated, + processes: { + items: state.metrics.slice(0, input.limits.max_processes), + truncated: state.metrics.length > input.limits.max_processes, + }, + ipc: { + events: ipcEvents.slice(0, input.limits.max_ipc_events), + observed: hookSnapshot.observed_ipc, + retained: Math.min(ipcEvents.length, input.limits.max_ipc_events), + truncated: + hookSnapshot.truncated || + ipcEvents.length > input.limits.max_ipc_events, + }, + timeline: { + events: hookSnapshot.events.slice(0, input.limits.max_runtime_events), + observed: hookSnapshot.observed, + retained: Math.min( + hookSnapshot.events.length, + input.limits.max_runtime_events, + ), + truncated: + hookSnapshot.truncated || + hookSnapshot.events.length > input.limits.max_runtime_events, + }, + coverage: createCoverage(hookSnapshot), + limitations: [ + "IPC payloads are represented only by bounded value shapes; values are never retained, channels are capped at 1,024 characters, and argument-shape arrays at 32 entries.", + "IPC direction and sender/receiver identifiers are observed only where Electron exposes them at the hooked boundary.", + "The runtime timeline records bounded lifecycle, navigation, shell, permission, popup, download, protocol, preload, native-addon, process, and IPC events; activity before hook installation is unavailable.", + "The preload and renderer process contexts are not instrumented by the main-process -r hook; preload configuration and contextBridge API-shape events are main-boundary observations, not proof of renderer-side execution.", + "Process metrics are an Electron API snapshot and do not prove hostile-local-user isolation.", + "External shell opens, external navigation, permission grants, downloads, popup windows, updater relaunches, and OS integration are blocked and recorded by the active hook; other application filesystem and network behavior is not sandboxed by this provider.", + ...(state.windowsTruncated + ? ["Windows beyond max_windows were not retained."] + : []), + ...(hookSnapshot.hook_error + ? ["The active IPC hook could not be installed."] + : []), + ], + }); +}; + +const canonicalPaths = async ( + input: ElectronActiveObservationInput, +): Promise => { + const [executable, application, root] = await Promise.all([ + realpath(input.executable_path), + realpath(input.application_path), + realpath(input.application_root), + ]); + if (!isPathContained(root, application)) + throw new BrowserObservationError(OPERATION, "target_not_allowed"); + return { executable, application, root }; +}; + +const safeElectronEnvironment = ( + maxIpcEvents: number, + maxRuntimeEvents: number, + runId: string, +): Record => + Object.fromEntries([ + ...[ + "HOME", + "LANG", + "PATH", + "TMP", + "TMPDIR", + "USER", + "DISPLAY", + "WAYLAND_DISPLAY", + ] + .map((name) => [name, process.env[name]] as const) + .filter( + (entry): entry is readonly [string, string] => entry[1] !== undefined, + ), + ["REA_ELECTRON_ACTIVE_MAX_IPC_EVENTS", String(maxIpcEvents)] as const, + [ + "REA_ELECTRON_ACTIVE_MAX_RUNTIME_EVENTS", + String(maxRuntimeEvents), + ] as const, + ["REA_PROCESS_RUN_ID", runId] as const, + ]); + +const providerError = (cause: unknown): AnalysisError => + cause instanceof AnalysisError + ? cause + : new ProviderAdapterError( + PLAYWRIGHT_ELECTRON_ACTIVE_PROVIDER_IDENTITY.id, + OPERATION, + { + cause, + }, + ); diff --git a/src/browser/SensitiveTextCapture.ts b/src/browser/SensitiveTextCapture.ts index b302157c3..789200ead 100644 --- a/src/browser/SensitiveTextCapture.ts +++ b/src/browser/SensitiveTextCapture.ts @@ -1,5 +1,5 @@ const SECRET_ASSIGNMENT = - /\b(authorization|api[_-]?key|access[_-]?token|refresh[_-]?token|password|passwd|secret|cookie|session)\b\s*[:=]\s*(?:Bearer\s+[A-Za-z0-9._~+/=-]+|"[^"]*"|'[^']*'|[^\s,;]+)/giu; + /\b(authorization|api[_-]?key|access[_-]?token|refresh[_-]?token|token|password|passwd|secret|cookie|session)\b\s*[:=]\s*(?:Bearer\s+[A-Za-z0-9._~+/=-]+|"[^"]*"|'[^']*'|[^\s,;]+)/giu; const BEARER = /\bBearer\s+[A-Za-z0-9._~+/=-]+/giu; const JWT = /\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\b/gu; diff --git a/src/browser/V8InspectorCaptureProjection.ts b/src/browser/V8InspectorCaptureProjection.ts index 1d0adf110..4064dff1b 100644 --- a/src/browser/V8InspectorCaptureProjection.ts +++ b/src/browser/V8InspectorCaptureProjection.ts @@ -30,6 +30,7 @@ export const describeInspectorTargetLimitations = (): string[] => [ "REA attaches to an already-running exact target and never launches, resumes, evaluates, pauses, or mutates it.", "Only Runtime.enable and Debugger.enable are sent; source text, object values, EventEmitter activity, and Electron IPC are not inspected.", "Target IDs and locations are authorized, but the Inspector protocol does not authenticate an operating-system process ID or Electron role.", + "Some Electron main targets report only file://; for those targets, the first approved file root is recorded as a scope fallback and script locations are authorized independently.", "No runtime graph depth is traversed because passive Inspector events do not establish require/import caller edges.", ]; diff --git a/src/browser/V8InspectorProvider.ts b/src/browser/V8InspectorProvider.ts index 19a05de40..0d83b356a 100644 --- a/src/browser/V8InspectorProvider.ts +++ b/src/browser/V8InspectorProvider.ts @@ -27,7 +27,7 @@ import { } from "./CdpCaptureValues.js"; import { CdpConnection, type CdpEvent } from "./CdpConnection.js"; import { - authorizeRuntimeLocation, + authorizeRuntimeTargetLocation, canonicalRuntimeRoots, } from "./JavaScriptRuntimeScope.js"; import { @@ -95,8 +95,9 @@ export class V8InspectorProvider implements JavaScriptRuntimeObservationPort { const allowed: AuthorizedV8InspectorTarget[] = []; const excluded = createInspectorExclusionCounts(); for (const target of discovery.targets) { - const decision = await authorizeRuntimeLocation( + const decision = await authorizeRuntimeTargetLocation( target.url, + target.type, roots, input.allowed_origins, ); @@ -202,8 +203,9 @@ const authorizedTarget = async ( "observe_javascript_runtime", "target_not_found", ); - const decision = await authorizeRuntimeLocation( + const decision = await authorizeRuntimeTargetLocation( target.url, + target.type, roots, input.allowed_origins, ); diff --git a/src/cliCommandNames.ts b/src/cliCommandNames.ts index 1acea9cb9..a87f50527 100644 --- a/src/cliCommandNames.ts +++ b/src/cliCommandNames.ts @@ -50,6 +50,7 @@ export const CLI_COMMANDS = Object.freeze({ captureBrowserScenario: "capture-browser-scenario", listElectronTargets: "list-electron-targets", inspectElectronPage: "inspect-electron-page", + captureElectronScenario: "capture-electron-scenario", listJavaScriptRuntimeTargets: "list-javascript-runtime-targets", observeJavaScriptRuntime: "observe-javascript-runtime", analyzeJavaScriptApplication: "analyze-javascript-application", diff --git a/src/cliElectronCommands.ts b/src/cliElectronCommands.ts index b0b750d57..6c3b0f10a 100644 --- a/src/cliElectronCommands.ts +++ b/src/cliElectronCommands.ts @@ -4,15 +4,18 @@ import { inspectElectronPage, listElectronTargets, } from "./application/ElectronObservationService.js"; +import { captureElectronScenario } from "./application/ElectronActiveObservationService.js"; import { reconcileJavaScriptRuntimeEvidence } from "./application/JavaScriptRuntimeReconciliationService.js"; import { loadConfiguredPermissionAuthority } from "./application/PermissionConfiguration.js"; import { CdpElectronProvider } from "./browser/CdpElectronProvider.js"; +import { PlaywrightElectronActiveProvider } from "./browser/PlaywrightElectronActiveProvider.js"; import { logCliCommand } from "./cliLogging.js"; import { parseConfig } from "./config.js"; import { inspectElectronPageInputSchema, listElectronTargetsInputSchema, } from "./domain/electronObservation.js"; +import { electronActiveObservationInputSchema } from "./domain/electronActiveObservation.js"; import { AnalysisInputError, projectAnalysisError } from "./domain/errors.js"; import type { JsonValue } from "./domain/jsonValue.js"; import type { Logger } from "./logger.js"; @@ -38,10 +41,47 @@ export const registerElectronCommands = ( logger: Logger, ): void => { registerElectronObservationCommands(cli, logger); + registerElectronActiveCommand(cli, logger); registerJavaScriptApplicationCommand(cli, logger); registerJavaScriptRuntimeReconciliationCommand(cli, logger); }; +const registerElectronActiveCommand = ( + cli: ReturnType, + logger: Logger, +): void => { + cli.command(CLI_COMMANDS.captureElectronScenario, { + description: "Run one approved, bounded owned Electron scenario", + args: z.object({ + inputJson: z + .string() + .describe( + "Inline JSON or a JSON file matching capture_electron_scenario", + ), + }), + run: ({ args }) => + logCliCommand(logger, CLI_COMMANDS.captureElectronScenario, async () => { + const input = await parseCliJsonInput( + args.inputJson, + "capture_electron_scenario", + ); + if (!input.ok) return input.error; + const parsed = electronActiveObservationInputSchema.safeParse( + input.value, + ); + if (!parsed.success) return inputError("capture_electron_scenario"); + const context = await electronContext(); + if (!context.ok) return context.error; + const result = await captureElectronScenario( + context.activeProvider, + context.authority, + parsed.data, + ); + return result.ok ? result.value : cliError(result.error); + }), + }); +}; + const registerJavaScriptRuntimeReconciliationCommand = ( cli: ReturnType, logger: Logger, @@ -227,6 +267,7 @@ const electronContext = async () => { ok: true as const, authority: authority.value, provider: new CdpElectronProvider(), + activeProvider: new PlaywrightElectronActiveProvider(), allowedFileRoots: config.value.electronFileRoots, }; }; diff --git a/src/cliPolicyCommands.ts b/src/cliPolicyCommands.ts index b402ebc72..29df90f35 100644 --- a/src/cliPolicyCommands.ts +++ b/src/cliPolicyCommands.ts @@ -21,6 +21,7 @@ const capabilitySchema = z.enum([ "browser_observe", "browser_automate", "electron_observe", + "electron_automate", "evidence_read", "evidence_write", "investigation_input", diff --git a/src/config/electronAutomation.ts b/src/config/electronAutomation.ts new file mode 100644 index 000000000..c1916c060 --- /dev/null +++ b/src/config/electronAutomation.ts @@ -0,0 +1,63 @@ +import { isAbsolute } from "node:path"; + +import type { PermissionCeiling } from "../domain/permissionPolicy.js"; +import { ConfigurationError } from "../domain/errors.js"; +import { err, ok, type Result } from "../domain/result.js"; +import { permissionScope } from "./permissions.js"; +import { parseStringArray } from "./parsers.js"; +import type { Environment } from "./environment.js"; + +export interface ElectronAutomationArrays { + readonly electronAutomationExecutableRoots: readonly string[]; + readonly electronAutomationApplicationRoots: readonly string[]; +} + +/** Parse the exact filesystem roots admitted for active Electron automation. */ +export const parseElectronAutomationArrays = ( + env: Environment, +): Result => { + const executableRoots = parseAbsoluteRoots( + env.REA_ELECTRON_AUTOMATE_EXECUTABLE_ROOTS_JSON, + "REA_ELECTRON_AUTOMATE_EXECUTABLE_ROOTS_JSON", + ); + if (!executableRoots.ok) return executableRoots; + const applicationRoots = parseAbsoluteRoots( + env.REA_ELECTRON_AUTOMATE_APPLICATION_ROOTS_JSON, + "REA_ELECTRON_AUTOMATE_APPLICATION_ROOTS_JSON", + ); + if (!applicationRoots.ok) return applicationRoots; + return ok({ + electronAutomationExecutableRoots: executableRoots.value, + electronAutomationApplicationRoots: applicationRoots.value, + }); +}; + +/** Add the separately permissioned, no-network Electron automation ceiling. */ +export const appendElectronAutomationCeiling = ( + ceilings: PermissionCeiling[], + env: Environment, + arrays: ElectronAutomationArrays, +): void => { + if (env.REA_ELECTRON_AUTOMATE_ENABLED !== "true") return; + ceilings.push( + permissionScope( + "electron_automate", + arrays.electronAutomationApplicationRoots, + { + executables: arrays.electronAutomationExecutableRoots, + network: "external", + }, + ), + ); +}; + +const parseAbsoluteRoots = ( + value: string, + name: string, +): Result => { + const parsed = parseStringArray(value, name); + if (!parsed.ok) return parsed; + return parsed.value.some((root) => !isAbsolute(root)) + ? err(new ConfigurationError(`${name} must encode absolute roots`)) + : parsed; +}; diff --git a/src/config/environment.ts b/src/config/environment.ts index bac4d11a9..1d4dc0941 100644 --- a/src/config/environment.ts +++ b/src/config/environment.ts @@ -63,6 +63,12 @@ const environmentSchema = z REA_ELECTRON_OBSERVE_ENABLED: z.enum(["true", "false"]).default("false"), REA_ELECTRON_CDP_ENDPOINTS_JSON: z.string().default("[]"), REA_ELECTRON_FILE_ROOTS_JSON: z.string().default("[]"), + REA_ELECTRON_AUTOMATE_ENABLED: z.enum(["true", "false"]).default("false"), + REA_ELECTRON_AUTOMATE_AUTO_GRANT: z + .enum(["true", "false"]) + .default("false"), + REA_ELECTRON_AUTOMATE_EXECUTABLE_ROOTS_JSON: z.string().default("[]"), + REA_ELECTRON_AUTOMATE_APPLICATION_ROOTS_JSON: z.string().default("[]"), REA_V8_INSPECTOR_OBSERVE_ENABLED: z .enum(["true", "false"]) .default("false"), diff --git a/src/config/parseConfig.ts b/src/config/parseConfig.ts index f88f19904..436f7bd94 100644 --- a/src/config/parseConfig.ts +++ b/src/config/parseConfig.ts @@ -21,6 +21,11 @@ import { browserEndpointSchema, browserOriginSchema, } from "../domain/browserObservation.js"; +import { + appendElectronAutomationCeiling, + parseElectronAutomationArrays, + type ElectronAutomationArrays, +} from "./electronAutomation.js"; const DEFAULT_HOPPER_LAUNCHER_PATH = "/Applications/Hopper Disassembler.app/Contents/MacOS/hopper"; @@ -29,7 +34,7 @@ const defaultHopperLauncherPath = (): string => ? "/opt/hopper/bin/Hopper" : DEFAULT_HOPPER_LAUNCHER_PATH; -interface ParsedArrays { +interface ParsedArrays extends ElectronAutomationArrays { readonly loaderArgs: readonly string[]; readonly executableRoots: readonly string[]; readonly workingRoots: readonly string[]; @@ -116,6 +121,8 @@ const parseAllArrays = ( if (!secretPatterns.ok) return secretPatterns; const observations = parseObservationArrays(env); if (!observations.ok) return observations; + const electronAutomation = parseElectronAutomationArrays(env); + if (!electronAutomation.ok) return electronAutomation; const javascriptReplayRoots = parseAbsoluteRoots( env.REA_JAVASCRIPT_REPLAY_ROOTS_JSON, "REA_JAVASCRIPT_REPLAY_ROOTS_JSON", @@ -137,6 +144,7 @@ const parseAllArrays = ( referenceRoots: referenceRoots.value, secretPatterns: secretPatterns.value, ...observations.value, + ...electronAutomation.value, javascriptReplayRoots: javascriptReplayRoots.value, managedRuntimeRoots: managedRuntimeRoots.value, }); @@ -378,6 +386,7 @@ const buildPermissionCeilings = ( appendBrowserObservationCeiling(ceilings, env, arrays); appendBrowserScenarioCeiling(ceilings, env, arrays); appendElectronObservationCeiling(ceilings, env, arrays); + appendElectronAutomationCeiling(ceilings, env, arrays); appendV8InspectorObservationCeiling(ceilings, env, arrays); appendNativeMountCeiling(ceilings, env); appendJavaScriptReplayCeiling(ceilings, env, arrays); @@ -433,6 +442,11 @@ const buildAppConfig = ( electronObservationEnabled: env.REA_ELECTRON_OBSERVE_ENABLED === "true", electronCdpEndpoints: arrays.electronEndpoints, electronFileRoots: arrays.electronFileRoots, + electronAutomationPolicy: { + enabled: env.REA_ELECTRON_AUTOMATE_ENABLED === "true", + executableRoots: arrays.electronAutomationExecutableRoots, + applicationRoots: arrays.electronAutomationApplicationRoots, + }, v8InspectorObservationEnabled: env.REA_V8_INSPECTOR_OBSERVE_ENABLED === "true", v8InspectorEndpoints: arrays.v8InspectorEndpoints, @@ -459,7 +473,9 @@ const buildAppConfig = ( (capability !== "process_capture" || env.REA_PROCESS_CAPTURE_AUTO_GRANT === "true") && (capability !== "browser_automate" || - env.REA_BROWSER_SCENARIO_AUTO_GRANT === "true"), + env.REA_BROWSER_SCENARIO_AUTO_GRANT === "true") && + (capability !== "electron_automate" || + env.REA_ELECTRON_AUTOMATE_AUTO_GRANT === "true"), ), ), permissionProjectRoot: env.REA_PERMISSION_PROJECT_ROOT, diff --git a/src/config/types.ts b/src/config/types.ts index 2d99d04f7..7a3ad87bd 100644 --- a/src/config/types.ts +++ b/src/config/types.ts @@ -38,6 +38,11 @@ export interface AppConfig { readonly electronObservationEnabled: boolean; readonly electronCdpEndpoints: readonly string[]; readonly electronFileRoots: readonly string[]; + readonly electronAutomationPolicy: { + readonly enabled: boolean; + readonly executableRoots: readonly string[]; + readonly applicationRoots: readonly string[]; + }; readonly v8InspectorObservationEnabled: boolean; readonly v8InspectorEndpoints: readonly string[]; readonly v8InspectorFileRoots: readonly string[]; diff --git a/src/contracts/electronToolContracts.ts b/src/contracts/electronToolContracts.ts index 1791b461b..2827b2e2f 100644 --- a/src/contracts/electronToolContracts.ts +++ b/src/contracts/electronToolContracts.ts @@ -9,6 +9,10 @@ import { inspectElectronPageInputSchema, listElectronTargetsInputSchema, } from "../domain/electronObservation.js"; +import { + electronActiveObservationInputSchema, + electronActiveObservationResultSchema, +} from "../domain/electronActiveObservation.js"; import { analyzeJavaScriptApplicationInputSchema, javaScriptApplicationAnalysisResultV1Schema, @@ -113,6 +117,23 @@ const reconciliationOutputSchema = evidenceResultOf( const endpoint = "http://127.0.0.1:9223"; const root = "/Applications/Example.app/Contents/Resources"; +const activeExample = { + schema_version: 1, + executable_path: "/Applications/Electron.app/Contents/MacOS/Electron", + application_path: "/Applications/Example.app/Contents/Resources/main.js", + application_root: "/Applications/Example.app/Contents/Resources", + args: [], + actions: [{ step_id: "exercise-ipc", kind: "click", selector: "#run" }], + limits: { + max_duration_ms: 60_000, + action_timeout_ms: 5_000, + max_actions: 20, + max_ipc_events: 2_000, + max_processes: 32, + max_windows: 32, + }, + approved: true, +}; /** Root-confined Electron file-page discovery and inspection contracts. */ export const ELECTRON_TOOL_CONTRACTS = [ @@ -194,7 +215,7 @@ export const ELECTRON_TOOL_CONTRACTS = [ name: "reconcile_javascript_runtime", ...toolContractMetadata("reconcile_javascript_runtime"), description: - "Reconcile verified static JavaScript application graphs with existing passive web or Electron CDP Evidence. Exact captured-source digests take priority over caller-declared file/URL mappings; target, frame, script, and worker ambiguity remains explicit, and source-map authority stays separate.", + "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.", kind: "electron-provider", inputSchema: reconcileJavaScriptRuntimeInputSchema, outputSchema: reconciliationOutputSchema, @@ -205,4 +226,16 @@ export const ELECTRON_TOOL_CONTRACTS = [ }, ], }, + { + name: "capture_electron_scenario", + ...toolContractMetadata("capture_electron_scenario"), + description: + "Use this for an explicitly approved, provider-owned Electron run when passive CDP or Inspector observation cannot exercise application behavior. REA owns startup and teardown, accepts bounded 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.", + kind: "electron-provider", + inputSchema: electronActiveObservationInputSchema, + outputSchema: evidenceResultOf(electronActiveObservationResultSchema), + examples: [ + { title: "Exercise an owned Electron application", input: activeExample }, + ], + }, ] as const satisfies readonly ToolContract[]; diff --git a/src/contracts/toolEffects.ts b/src/contracts/toolEffects.ts index e7d0d4c6e..3b6fe605c 100644 --- a/src/contracts/toolEffects.ts +++ b/src/contracts/toolEffects.ts @@ -129,6 +129,16 @@ export const TOOL_EFFECTS: Readonly> = { }), list_electron_targets: browserEvidence, inspect_electron_page: browserEvidence, + capture_electron_scenario: effects({ + mutatesTarget: true, + mutatesSession: true, + writesFilesystem: true, + launchesProcess: true, + accessesNetwork: true, + changesUiState: true, + mayDiscardData: true, + idempotent: false, + }), list_javascript_runtime_targets: browserEvidence, observe_javascript_runtime: browserEvidence, analyze_javascript_application: evidence, diff --git a/src/domain/browserObservationErrors.ts b/src/domain/browserObservationErrors.ts index e9e59327e..69de13af6 100644 --- a/src/domain/browserObservationErrors.ts +++ b/src/domain/browserObservationErrors.ts @@ -12,7 +12,8 @@ export type BrowserObservationOperation = | "inspect_electron_page" | "list_javascript_runtime_targets" | "observe_javascript_runtime" - | "capture_browser_scenario"; + | "capture_browser_scenario" + | "capture_electron_scenario"; /** Stable failure reasons shared by browser-family provider adapters. */ export type BrowserObservationFailureReason = @@ -24,5 +25,10 @@ export type BrowserObservationFailureReason = | "protocol_error" | "disconnected" | "payload_limit" + | "window_not_found" + | "window_metadata_missing" + | "process_ownership_unavailable" + | "cleanup_failed" | "cancelled" + | "timeout" | "secret_unavailable"; diff --git a/src/domain/conformanceReplay.ts b/src/domain/conformanceReplay.ts index 2e0640e17..cf21bb30c 100644 --- a/src/domain/conformanceReplay.ts +++ b/src/domain/conformanceReplay.ts @@ -4,7 +4,10 @@ import { conformancePackageSchema, type ConformancePackage, } from "./conformancePackage.js"; -import { trustGateResultSchema } from "./conformanceTrustGate.js"; +import { + evaluatePackageTrustGates, + trustGateResultSchema, +} from "./conformanceTrustGate.js"; /** Result of a single scenario replay. */ export const scenarioReplayResultSchema = z.strictObject({ @@ -31,6 +34,7 @@ export const packageReplayResultSchema = z.strictObject({ .strictObject({ scenario_id: z.string().min(1), dimension: z.string().min(1), + evidence_id: z.string().min(1), message: z.string(), }) .nullable(), @@ -116,6 +120,7 @@ export async function replayConformancePackage( ? { scenario_id: first_drift_gate.scenario_id, dimension: first_drift_gate.first_divergence.dimension, + evidence_id: first_drift_gate.first_divergence.evidence_id, message: first_drift_gate.first_divergence.message, } : null; @@ -133,6 +138,3 @@ export async function replayConformancePackage( first_drift, }; } - -/** Import trust gate evaluator for replay. */ -import { evaluatePackageTrustGates } from "./conformanceTrustGate.js"; diff --git a/src/domain/conformanceTrustGate.ts b/src/domain/conformanceTrustGate.ts index 485768400..47fbfe7f6 100644 --- a/src/domain/conformanceTrustGate.ts +++ b/src/domain/conformanceTrustGate.ts @@ -47,12 +47,158 @@ const SEMANTIC_DIMENSIONS = new Set([ "stdout", "stderr", "filesystem", + "process", "process_tree", "shim_events", "protocol_events", "event_journal", ]); +type IncompleteStatus = "unknown" | "truncated"; + +type EvidenceView = { + readonly values: Readonly>; + readonly evidence_ids: readonly string[]; + readonly status: IncompleteStatus | null; + readonly unknown_scopes: readonly string[]; +}; + +type CompareDimensionOptions = { + readonly truncated?: boolean; + readonly evidence_ids?: readonly string[]; + readonly expected_status?: IncompleteStatus | null; + readonly actual_status?: IncompleteStatus | null; +}; + +const isRecord = (value: unknown): value is Readonly> => + typeof value === "object" && value !== null && !Array.isArray(value); + +const uniqueStrings = (values: readonly string[]): string[] => [ + ...new Set(values.filter((value) => value.length > 0)), +]; + +const stringValues = (value: unknown): readonly string[] => { + if (typeof value === "string") return value.length > 0 ? [value] : []; + if (!Array.isArray(value)) return []; + return value.filter( + (item): item is string => typeof item === "string" && item.length > 0, + ); +}; + +const evidenceIds = (record: Readonly>): string[] => + uniqueStrings([ + ...stringValues(record["evidence_id"]), + ...stringValues(record["evidence_ids"]), + ...stringValues(record["evidence_links"]), + ]); + +const incompleteStatus = (value: unknown): IncompleteStatus | null => { + if (!isRecord(value)) return null; + const record = value; + if (record["truncated"] === true) return "truncated"; + const status = record["status"]; + if (status === "truncated") return "truncated"; + if ( + status === "unknown" || + status === "unavailable" || + status === "partial" || + status === "incomplete" || + status === "unverifiable" || + status === "failed" || + status === "not_approved" + ) + return "unknown"; + for (const key of ["coverage", "completeness"]) { + const nested = record[key]; + if (!isRecord(nested)) continue; + const nestedStatus = incompleteStatus(nested); + if (nestedStatus !== null) return nestedStatus; + } + return null; +}; + +const hasResidualUnknowns = (value: unknown): boolean => + isRecord(value) && + Array.isArray(value["residual_unknowns"]) && + value["residual_unknowns"].length > 0; + +const unknownScopes = (record: Readonly>): string[] => { + const residualUnknowns = record["residual_unknowns"]; + if (!Array.isArray(residualUnknowns)) return []; + return residualUnknowns.flatMap((item) => { + if (!isRecord(item) || typeof item["scope"] !== "string") return []; + return [item["scope"]]; + }); +}; + +const evidenceView = (input: unknown): EvidenceView => { + if (!isRecord(input)) + return { + values: {}, + evidence_ids: [], + status: null, + unknown_scopes: [], + }; + const normalized = input["normalized_result"]; + const values = isRecord(normalized) ? normalized : input; + const normalizedStatus = isRecord(normalized) + ? incompleteStatus(normalized) + : null; + return { + values, + evidence_ids: evidenceIds(input), + status: incompleteStatus(input) ?? normalizedStatus, + unknown_scopes: uniqueStrings([ + ...unknownScopes(input), + ...(isRecord(normalized) ? unknownScopes(normalized) : []), + ]), + }; +}; + +const dimensionScope = (dimensionName: string): string | null => { + if (dimensionName === "exit_code" || dimensionName === "exit") return "exit"; + if ( + dimensionName === "process" || + dimensionName === "process_tree" || + dimensionName === "event_journal" + ) + return "process"; + if (dimensionName === "stdout" || dimensionName === "stderr") + return "terminal"; + if (dimensionName === "filesystem") return "filesystem"; + if (dimensionName === "shim_events") return "shim"; + if (dimensionName === "protocol_events") return "protocol"; + return null; +}; + +const statusForDimension = ( + view: EvidenceView, + dimensionName: string, +): IncompleteStatus | null => { + const valueStatus = incompleteStatus(view.values[dimensionName]); + if (valueStatus !== null) return valueStatus; + if (hasResidualUnknowns(view.values[dimensionName])) return "unknown"; + const scope = dimensionScope(dimensionName); + return scope !== null && view.unknown_scopes.includes(scope) + ? "unknown" + : view.status; +}; + +const comparisonIncompleteStatus = ( + expected: unknown, + actual: unknown, + options: CompareDimensionOptions, +): IncompleteStatus | null => { + const expectedStatus = options.expected_status ?? incompleteStatus(expected); + const actualStatus = options.actual_status ?? incompleteStatus(actual); + if (options.truncated) return "truncated"; + if (expectedStatus === "truncated" || actualStatus === "truncated") + return "truncated"; + if (expectedStatus === "unknown" || actualStatus === "unknown") + return "unknown"; + return null; +}; + /** Check if a dimension name is volatile (timing/normalization noise). */ export function isVolatileDimension(name: string): boolean { return VOLATILE_DIMENSIONS.has(name); @@ -75,7 +221,7 @@ export function compareDimension( dimensionName: string, expected: unknown, actual: unknown, - options: { truncated?: boolean } = {}, + options: CompareDimensionOptions = {}, ): DimensionResult { // Volatile dimensions: always match regardless of values if (isVolatileDimension(dimensionName)) { @@ -83,16 +229,22 @@ export function compareDimension( name: dimensionName, status: "match", message: "volatile dimension ignored", - evidence_ids: [], + evidence_ids: uniqueStrings(options.evidence_ids ?? []), }; } - if (options.truncated) { + const status = comparisonIncompleteStatus(expected, actual, options); + const resultEvidenceIds = uniqueStrings(options.evidence_ids ?? []); + + if (status !== null) { return { name: dimensionName, - status: "truncated", - message: "evidence was truncated", - evidence_ids: [], + status, + message: + status === "truncated" + ? "evidence was truncated" + : "evidence completeness is unknown", + evidence_ids: resultEvidenceIds, }; } @@ -101,16 +253,16 @@ export function compareDimension( name: dimensionName, status: "unknown", message: "both expected and actual are undefined", - evidence_ids: [], + evidence_ids: resultEvidenceIds, }; } if (expected === undefined || actual === undefined) { return { name: dimensionName, - status: "mismatch", - message: `expected ${expected === undefined ? "present" : "absent"}, actual ${actual === undefined ? "absent" : "present"}`, - evidence_ids: [], + status: "unknown", + message: "one side has no observed value", + evidence_ids: resultEvidenceIds, }; } @@ -123,14 +275,14 @@ export function compareDimension( name: dimensionName, status: "match", message: "", - evidence_ids: [], + evidence_ids: resultEvidenceIds, }; } return { name: dimensionName, status: "mismatch", message: "semantic content differs", - evidence_ids: [], + evidence_ids: resultEvidenceIds, }; } @@ -140,7 +292,7 @@ export function compareDimension( name: dimensionName, status: "match", message: "", - evidence_ids: [], + evidence_ids: resultEvidenceIds, }; } @@ -148,7 +300,7 @@ export function compareDimension( name: dimensionName, status: "mismatch", message: `expected ${JSON.stringify(expected)}, got ${JSON.stringify(actual)}`, - evidence_ids: [], + evidence_ids: resultEvidenceIds, }; } @@ -156,9 +308,10 @@ export function compareDimension( function sortKeys(value: unknown): unknown { if (value === null || typeof value !== "object") return value; if (Array.isArray(value)) return value.map(sortKeys); + if (!isRecord(value)) return value; const sorted: Record = {}; - for (const key of Object.keys(value as Record).sort()) { - sorted[key] = sortKeys((value as Record)[key]); + for (const key of Object.keys(value).sort()) { + sorted[key] = sortKeys(value[key]); } return sorted; } @@ -169,23 +322,28 @@ function sortKeys(value: unknown): unknown { */ export function evaluateTrustGate( contract: VerifierContract, - expectedEvidence: Record, - actualEvidence: Record, - options: { truncated?: boolean } = {}, + expectedEvidence: unknown, + actualEvidence: unknown, + options: { readonly truncated?: boolean } = {}, ): TrustGateResult { const dimensionResults: DimensionResult[] = []; let firstDivergence: TrustGateResult["first_divergence"] = null; + const expectedView = evidenceView(expectedEvidence); + const actualView = evidenceView(actualEvidence); for (const dim of contract.dimensions) { if (!dim.required) continue; - const expectedValue = expectedEvidence[dim.name]; - const actualValue = actualEvidence[dim.name]; - const result = compareDimension( - dim.name, - expectedValue, - actualValue, - options, - ); + const expectedValue = expectedView.values[dim.name]; + const actualValue = actualView.values[dim.name]; + const result = compareDimension(dim.name, expectedValue, actualValue, { + ...options, + expected_status: statusForDimension(expectedView, dim.name), + actual_status: statusForDimension(actualView, dim.name), + evidence_ids: uniqueStrings([ + ...actualView.evidence_ids, + ...expectedView.evidence_ids, + ]), + }); dimensionResults.push(result); if (result.status === "mismatch" && firstDivergence === null) { @@ -223,8 +381,8 @@ export function evaluateTrustGate( */ export function evaluatePackageTrustGates( pkg: ConformancePackage, - actualEvidence: Record>, - options: { truncated?: boolean } = {}, + actualEvidence: Readonly>>>, + options: { readonly truncated?: boolean } = {}, ): TrustGateResult[] { const results: TrustGateResult[] = []; for (const contract of pkg.verifier_contracts) { @@ -236,7 +394,7 @@ export function evaluatePackageTrustGates( const actual = actualEvidence[contract.scenario_id] ?? {}; const result = evaluateTrustGate( contract, - expectedEvidence as Record, + expectedEvidence, actual, options, ); diff --git a/src/domain/electronActiveObservation.ts b/src/domain/electronActiveObservation.ts new file mode 100644 index 000000000..e8cb879f4 --- /dev/null +++ b/src/domain/electronActiveObservation.ts @@ -0,0 +1,296 @@ +import { isAbsolute } from "node:path"; + +import { z } from "zod"; + +const absolutePathSchema = z + .string() + .min(1) + .max(16_384) + .refine(isAbsolute, "path must be absolute"); + +const windowIndexSchema = z.number().int().min(0).max(99); + +const deepLinkUrlSchema = z + .string() + .min(1) + .max(4_096) + .refine((value) => { + try { + return new URL(value).protocol.length > 0; + } catch { + return false; + } + }, "deep-link url must be an absolute URL"); + +const actionSchema = z.discriminatedUnion("kind", [ + z.strictObject({ + step_id: z.string().min(1).max(128), + kind: z.literal("click"), + selector: z.string().min(1).max(512), + window_index: windowIndexSchema.default(0), + }), + z.strictObject({ + step_id: z.string().min(1).max(128), + kind: z.literal("wait"), + duration_ms: z.number().int().min(0).max(10_000), + window_index: windowIndexSchema.optional(), + }), + z.strictObject({ + step_id: z.string().min(1).max(128), + kind: z.literal("renderer-reload"), + window_index: windowIndexSchema.default(0), + }), + z.strictObject({ + step_id: z.string().min(1).max(128), + kind: z.literal("renderer-crash"), + window_index: windowIndexSchema.default(0), + }), + z.strictObject({ + step_id: z.string().min(1).max(128), + kind: z.literal("deep-link"), + delivery: z.enum(["open-url", "second-instance"]), + url: deepLinkUrlSchema, + }), +]); + +const limitsSchema = z.strictObject({ + max_duration_ms: z.number().int().min(1).max(120_000).default(60_000), + action_timeout_ms: z.number().int().min(1).max(30_000).default(5_000), + max_actions: z.number().int().min(1).max(100).default(20), + max_ipc_events: z.number().int().min(1).max(10_000).default(2_000), + max_runtime_events: z.number().int().min(1).max(20_000).default(5_000), + max_processes: z.number().int().min(1).max(100).default(32), + max_windows: z.number().int().min(1).max(100).default(32), +}); + +/** Input for one explicit, provider-owned Electron runtime experiment. */ +export const electronActiveObservationInputSchema = z + .strictObject({ + schema_version: z.literal(1), + executable_path: absolutePathSchema, + application_path: absolutePathSchema, + application_root: absolutePathSchema, + args: z.array(z.string().max(4_096)).max(32).default([]), + actions: z.array(actionSchema).max(100).default([]), + limits: limitsSchema.default({ + max_duration_ms: 60_000, + action_timeout_ms: 5_000, + max_actions: 20, + max_ipc_events: 2_000, + max_runtime_events: 5_000, + max_processes: 32, + max_windows: 32, + }), + approved: z.literal(true), + }) + .superRefine((input, context) => { + if (input.actions.length > input.limits.max_actions) + context.addIssue({ + code: "custom", + path: ["actions"], + message: "actions exceed the configured max_actions limit", + }); + }); +export type ElectronActiveObservationInput = z.infer< + typeof electronActiveObservationInputSchema +>; + +const ipcEventSchema = z.strictObject({ + sequence: z.number().int().min(1), + correlation_id: z.string().max(256).nullable().default(null), + kind: z.enum([ + "main-handler-invocation", + "main-event-invocation", + "utility-process-fork", + "utility-process-message", + "ipc-main-to-renderer", + "ipc-utility-to-main", + "ipc-renderer-send", + "ipc-renderer-invoke", + "ipc-renderer-post-message", + ]), + event: z.string().max(128).nullable().optional(), + phase: z + .enum(["attempted", "completed", "blocked", "failed", "observed"]) + .nullable() + .optional(), + channel: z.string().max(1_024).nullable(), + channel_truncated: z.boolean().default(false), + direction: z + .enum([ + "renderer-to-main", + "main-to-renderer", + "main-to-utility", + "utility-to-main", + ]) + .nullable() + .optional(), + sender: z.string().max(256).nullable().optional(), + receiver: z.string().max(256).nullable().optional(), + frame: z.string().max(256).nullable().default(null), + target: z.string().max(256).nullable().optional(), + argument_shapes: z.array(z.string().max(64)).max(32), + argument_shapes_truncated: z.boolean().default(false), + result_shape: z.string().max(64).nullable(), + process_type: z.string().max(128).nullable(), + source: z.string().max(64).default("electron-active-hook"), + capture_method: z + .enum(["api-wrapper", "event-emitter", "process-hook"]) + .default("api-wrapper"), + artifact_path: z.string().max(16_384).nullable().default(null), + artifact_sha256: z + .string() + .regex(/^[a-f0-9]{64}$/u) + .nullable() + .default(null), + error: z.boolean(), +}); + +const timelineEventSchema = z.strictObject({ + sequence: z.number().int().min(1), + correlation_id: z.string().max(256).nullable().default(null), + kind: z.enum([ + "main-handler-invocation", + "main-event-invocation", + "utility-process-fork", + "utility-process-message", + "ipc-main-to-renderer", + "ipc-utility-to-main", + "ipc-renderer-send", + "ipc-renderer-invoke", + "ipc-renderer-post-message", + "app-lifecycle", + "window-lifecycle", + "web-contents-lifecycle", + "navigation", + "shell-attempt", + "process-lifecycle", + "permission", + "popup-attempt", + "download", + "protocol", + "preload", + "native-addon", + "updater", + "error", + ]), + event: z.string().max(128).nullable(), + phase: z.enum(["attempted", "completed", "blocked", "failed", "observed"]), + channel: z.string().max(1_024).nullable(), + channel_truncated: z.boolean(), + direction: z + .enum([ + "renderer-to-main", + "main-to-renderer", + "main-to-utility", + "utility-to-main", + ]) + .nullable(), + sender: z.string().max(256).nullable(), + receiver: z.string().max(256).nullable(), + frame: z.string().max(256).nullable(), + target: z.string().max(256).nullable(), + argument_shapes: z.array(z.string().max(64)).max(32), + argument_shapes_truncated: z.boolean(), + result_shape: z.string().max(64).nullable(), + process_type: z.string().max(128).nullable(), + source: z.string().max(64), + capture_method: z.enum(["api-wrapper", "event-emitter", "process-hook"]), + artifact_path: z.string().max(16_384).nullable(), + artifact_sha256: z + .string() + .regex(/^[a-f0-9]{64}$/u) + .nullable(), + error: z.boolean(), +}); + +const processMetricSchema = z.strictObject({ + pid: z.number().int().min(1), + type: z.string().min(1).max(128), + name: z.string().max(256).nullable(), + service_name: z.string().max(256).nullable(), +}); + +const windowResultSchema = z.strictObject({ + window_id: z.string().max(256), + web_contents_id: z.string().max(256), + url: z.string().max(65_536), + title: z.string().max(16_384), + visible: z.boolean().nullable(), + destroyed: z.boolean(), +}); + +const coverageSchema = z.strictObject({ + status: z.enum([ + "complete", + "partial_attach", + "capture_truncated", + "hook_conflict", + "target_exited", + "cleanup_failed", + ]), + observed_event_families: z.array(z.string().max(128)).max(32), + unavailable_event_families: z.array(z.string().max(128)).max(32), + observed_roles: z.array(z.string().max(128)).max(16), + pre_capture_activity: z.literal("unavailable"), +}); + +const actionResultSchema = z.strictObject({ + step_id: z.string().min(1).max(128), + kind: z.enum([ + "click", + "wait", + "renderer-reload", + "renderer-crash", + "deep-link", + ]), + window_index: windowIndexSchema.nullable(), + target: z.string().max(256).nullable(), + status: z.enum(["completed", "failed", "cancelled"]), + elapsed_ms: z.number().int().min(0), + error: z.string().nullable(), +}); + +/** Bounded result of a provider-owned Electron runtime experiment. */ +export const electronActiveObservationResultSchema = z.strictObject({ + schema_version: z.literal(1), + application: z.strictObject({ + executable_path: absolutePathSchema, + application_path: absolutePathSchema, + electron_version: z.string().min(1).max(256), + process_ownership: z.literal("provider-owned"), + cleanup: z.literal("terminated-owned-process"), + }), + actions: z.array(actionResultSchema).max(100), + windows: z.array(windowResultSchema).max(100), + windows_truncated: z.boolean(), + processes: z.strictObject({ + items: z.array(processMetricSchema).max(100), + truncated: z.boolean(), + }), + ipc: z.strictObject({ + events: z.array(ipcEventSchema).max(10_000), + observed: z.number().int().min(0), + retained: z.number().int().min(0), + truncated: z.boolean(), + }), + timeline: z + .strictObject({ + events: z.array(timelineEventSchema).max(20_000), + observed: z.number().int().min(0), + retained: z.number().int().min(0), + truncated: z.boolean(), + }) + .default({ events: [], observed: 0, retained: 0, truncated: false }), + coverage: coverageSchema.default({ + status: "partial_attach", + observed_event_families: [], + unavailable_event_families: [], + observed_roles: [], + pre_capture_activity: "unavailable", + }), + limitations: z.array(z.string().max(4_096)).max(100), +}); +export type ElectronActiveObservationResult = z.infer< + typeof electronActiveObservationResultSchema +>; diff --git a/src/domain/javascriptRuntimeObservation.ts b/src/domain/javascriptRuntimeObservation.ts index 2f3f82f98..db89326f7 100644 --- a/src/domain/javascriptRuntimeObservation.ts +++ b/src/domain/javascriptRuntimeObservation.ts @@ -115,6 +115,7 @@ export const javascriptRuntimeLocationSchema = z.discriminatedUnion("kind", [ z.strictObject({ kind: z.literal("file"), file_path: z.string().min(1).max(16_384), + authority: z.literal("scope-fallback").optional(), }), z.strictObject({ kind: z.literal("url"), diff --git a/src/domain/javascriptRuntimeReconciliationActive.ts b/src/domain/javascriptRuntimeReconciliationActive.ts new file mode 100644 index 000000000..d3d76feea --- /dev/null +++ b/src/domain/javascriptRuntimeReconciliationActive.ts @@ -0,0 +1,138 @@ +import { createHash } from "node:crypto"; +import { isAbsolute, relative } from "node:path"; + +import canonicalize from "canonicalize"; +import { z } from "zod"; + +import { + classifyBrowserCompleteness, + type BrowserCompleteness, +} from "./browserCompleteness.js"; +import { + electronActiveObservationResultSchema, + type ElectronActiveObservationResult, +} from "./electronActiveObservation.js"; +import type { Evidence } from "./evidence.js"; +import type { ParsedRuntimeCapture } from "./javascriptRuntimeReconciliationParsing.js"; + +/** Parse active Electron Evidence as a bounded, target-only runtime capture. */ +export const parseActiveElectronCapture = ( + evidence: Evidence, +): ParsedRuntimeCapture => { + assertIdentity(evidence); + const result = electronActiveObservationResultSchema.parse( + evidence.normalized_result, + ); + const parameters = z + .object({ + approved: z.literal(true), + application_path: absolutePathSchema, + application_root: absolutePathSchema, + }) + .passthrough() + .parse(evidence.parameters); + if ( + result.application.application_path !== parameters.application_path || + !isWithinRoot( + parameters.application_root, + result.application.application_path, + ) + ) + throw new TypeError( + "Active Electron Evidence application path disagrees with its approved root", + ); + return { + kind: "electron-active", + evidence, + inspection: normalizeInspection(result), + captureSha256: digestCanonical(result), + scriptsCompleteWithinScope: false, + }; +}; + +const absolutePathSchema = z.string().min(1).max(16_384).refine(isAbsolute); + +const assertIdentity = (evidence: Evidence): void => { + if ( + evidence.operation !== "capture_electron_scenario" || + evidence.predicate_type !== "rea.electron-active-scenario/v1" || + evidence.provider.id !== "rea-playwright-electron-active" || + evidence.provider.name !== + "REA Playwright active Electron observation provider" || + evidence.provider.version !== "1" || + evidence.authority !== "controlled-replay" || + evidence.confidence !== "observed" + ) + throw new TypeError( + "Evidence does not match the supported capture_electron_scenario contract", + ); +}; + +const normalizeInspection = ( + result: ElectronActiveObservationResult, +): { + readonly target: { + readonly target_id: string; + readonly type: string; + readonly title: string; + readonly attached: boolean; + readonly file_path: string; + }; + readonly frames: readonly []; + readonly scripts: { readonly items: readonly [] }; + readonly workers: readonly []; + readonly completeness: BrowserCompleteness; +} => ({ + target: { + target_id: `electron-active:${digestCanonical(result.application.application_path).slice(0, 32)}`, + type: "electron-application", + title: result.application.application_path, + attached: true, + file_path: result.application.application_path, + }, + frames: [], + scripts: { items: [] }, + workers: [], + completeness: classifyBrowserCompleteness({ + policyFilteredSections: new Set(), + attachLimitedSections: new Set(), + truncatedSections: new Set( + result.windows_truncated || + result.processes.truncated || + result.ipc.truncated || + result.timeline.truncated + ? ["timeline"] + : [], + ), + unavailableSections: new Set([ + "frames", + "scripts", + "script_sources", + "workers", + ]), + excluded: [], + droppedEvents: { + scripts: 0, + network_requests: 0, + console_events: 0, + websocket_connections: 0, + websocket_frames: 0, + webmcp_tools: 0, + timeline_events: result.timeline.truncated ? result.timeline.observed : 0, + }, + }), +}); + +const digestCanonical = (value: unknown): string => { + const encoded = canonicalize(value); + if (encoded === undefined) + throw new TypeError("Runtime reconciliation could not canonicalize input"); + return createHash("sha256").update(encoded).digest("hex"); +}; + +const isWithinRoot = (root: string, path: string): boolean => { + const remainder = relative(root, path); + return ( + remainder === "" || (!remainder.startsWith("..") && !isAbsolute(remainder)) + ); +}; diff --git a/src/domain/javascriptRuntimeReconciliationParsing.ts b/src/domain/javascriptRuntimeReconciliationParsing.ts index eeb51a900..8ea9da225 100644 --- a/src/domain/javascriptRuntimeReconciliationParsing.ts +++ b/src/domain/javascriptRuntimeReconciliationParsing.ts @@ -34,6 +34,7 @@ import { compareCodePoints, type JavaScriptApplicationGraph, } from "./javascriptApplicationGraph.js"; +import { parseActiveElectronCapture } from "./javascriptRuntimeReconciliationActive.js"; import type { ReconcileJavaScriptRuntimeInput } from "./javascriptRuntimeReconciliationSchemas.js"; type StaticLayerInput = @@ -101,6 +102,22 @@ export type ParsedRuntimeCapture = | (RuntimeCaptureBase & { readonly kind: "v8-inspector"; readonly inspection: NormalizedV8Inspection; + }) + | (RuntimeCaptureBase & { + readonly kind: "electron-active"; + readonly inspection: { + readonly target: { + readonly target_id: string; + readonly type: string; + readonly title: string; + readonly attached: boolean; + readonly file_path: string; + }; + readonly frames: readonly []; + readonly scripts: { readonly items: readonly [] }; + readonly workers: readonly []; + readonly completeness: BrowserCompleteness; + }; }); /** Parse and semantically bind every static analysis Evidence layer. */ @@ -255,8 +272,11 @@ const parseRuntimeCapture = (input: Evidence): ParsedRuntimeCapture => { scriptsCompleteWithinScope: false, }; } + if (evidence.operation === "capture_electron_scenario") { + return parseActiveElectronCapture(evidence); + } throw new TypeError( - "Runtime reconciliation requires inspect_web_page, inspect_electron_page, or observe_javascript_runtime Evidence", + "Runtime reconciliation requires inspect_web_page, inspect_electron_page, observe_javascript_runtime, or capture_electron_scenario Evidence", ); }; diff --git a/src/domain/javascriptRuntimeReconciliationSchemas.ts b/src/domain/javascriptRuntimeReconciliationSchemas.ts index 50ce85fcf..824e10b65 100644 --- a/src/domain/javascriptRuntimeReconciliationSchemas.ts +++ b/src/domain/javascriptRuntimeReconciliationSchemas.ts @@ -170,7 +170,7 @@ const layerSummarySchema = z.strictObject({ const captureSummarySchema = z.strictObject({ evidence_id: evidenceIdSchema, capture_sha256: digestSchema, - kind: z.enum(["browser", "electron", "v8-inspector"]), + kind: z.enum(["browser", "electron", "v8-inspector", "electron-active"]), target_node_id: nodeIdSchema, target_key: boundedTextSchema, target_location: boundedTextSchema, diff --git a/src/domain/permissionPolicy.ts b/src/domain/permissionPolicy.ts index 4642becaa..b886df7cf 100644 --- a/src/domain/permissionPolicy.ts +++ b/src/domain/permissionPolicy.ts @@ -8,6 +8,7 @@ export type PermissionCapability = | "browser_observe" | "browser_automate" | "electron_observe" + | "electron_automate" | "v8_inspector_observe" | "evidence_read" | "evidence_write" diff --git a/src/generatedMcpToolCatalog.ts b/src/generatedMcpToolCatalog.ts index 8e2d8f447..7d334579b 100644 --- a/src/generatedMcpToolCatalog.ts +++ b/src/generatedMcpToolCatalog.ts @@ -30,7 +30,7 @@ interface GeneratedPayload { } const GENERATED_PAYLOAD_JSON = - '{"catalog":[{"name":"address_name","analysisOperation":"address_name","title":"Address Name","description":"Resolve the primary analyzed name at a code or data address. Headless providers require an explicit address; GUI providers may default to their current cursor. Null means the provider has no primary name at that address.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"comment","analysisOperation":"comment","title":"Comment","description":"Read the regular analysis comment at an address, defaulting to the current cursor. This is read-only and returns null when no comment exists; use set_comment to persist a finding.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"current_address","analysisOperation":"current_address","title":"Current Address","description":"Return Hopper\'s current cursor address for the selected document. Use only for interactive navigation state; prefer explicit addresses in reproducible investigations.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"current_procedure","analysisOperation":"current_procedure","title":"Current Procedure","description":"Return the analyzed procedure containing Hopper\'s current cursor. Use procedure_info or analyze_function next; this depends on GUI cursor state and is not an exhaustive lookup.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"current_document","analysisOperation":"current_document","title":"Current Document","description":"Return the document currently selected by REA\'s Hopper bridge. Use list_documents before switching when several documents are open.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"goto_address","analysisOperation":"goto_address","title":"Goto Address","description":"Move Hopper\'s GUI cursor to a hexadecimal address and return the resolved address. This changes navigation state but not analysis data; use explicit-address tools for headless workflows.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address"],"additionalProperties":false,"examples":[{"address":"0x1000"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":true,"mayDiscardData":false,"idempotent":true}},{"name":"inline_comment","analysisOperation":"inline_comment","title":"Inline Comment","description":"Read the inline instruction comment at an address, defaulting to the current cursor. Returns null when absent; use set_inline_comment to write one.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_bookmarks","analysisOperation":"list_bookmarks","title":"List Bookmarks","description":"List every bookmark in the selected Hopper document as address and name pairs. Use bookmarks as analyst-authored navigation aids; this does not discover code references.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"additionalProperties":false},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_documents","analysisOperation":"list_documents","title":"List Documents","description":"List provider program or document identities. Hopper may expose several documents; a Ghidra headless session contains exactly its one imported Program.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"array","items":{"type":"string"},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_names","analysisOperation":"list_names","title":"List Names","description":"Page through analyzed memory and external symbols as address/value pairs. Provider metadata distinguishes Ghidra primary, dynamic, external, type, and source facts when available; follow next_offset before claiming exhaustive coverage.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false,"examples":[{"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"value":{"type":"string"},"value_truncated":{"type":"boolean"},"symbol":{"type":"object","properties":{"primary":{"type":"boolean"},"dynamic":{"type":"boolean"},"external":{"type":"boolean"},"type":{"type":"string"},"source":{"type":"string","enum":["default","analysis","ai","imported","user_defined"]}},"required":["primary","dynamic","external","type","source"],"additionalProperties":false},"procedure":{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target"],"additionalProperties":false},"string":{"type":"object","properties":{"encoding":{"type":"string"},"termination":{"type":"string","enum":["missing","present_or_not_required"]},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["encoding","termination","byte_length"],"additionalProperties":false}},"required":["address","value"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_procedures","analysisOperation":"list_procedures","title":"List Procedures","description":"Page through analyzed procedures as address/value pairs after provider analysis. Ghidra metadata distinguishes thunks and external functions; follow next_offset for exhaustive coverage and use returned addresses in later function operations.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false,"examples":[{"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"value":{"type":"string"},"value_truncated":{"type":"boolean"},"symbol":{"type":"object","properties":{"primary":{"type":"boolean"},"dynamic":{"type":"boolean"},"external":{"type":"boolean"},"type":{"type":"string"},"source":{"type":"string","enum":["default","analysis","ai","imported","user_defined"]}},"required":["primary","dynamic","external","type","source"],"additionalProperties":false},"procedure":{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target"],"additionalProperties":false},"string":{"type":"object","properties":{"encoding":{"type":"string"},"termination":{"type":"string","enum":["missing","present_or_not_required"]},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["encoding","termination","byte_length"],"additionalProperties":false}},"required":["address","value"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_segments","analysisOperation":"list_segments","title":"List Segments","description":"List segments or memory blocks using exclusive end addresses. Ghidra reports block permissions, address space, image base, initialization, and overlay facts; Hopper marks unavailable permissions explicitly.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"start":{"type":"string"},"end":{"type":"string"},"readable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"writable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"executable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"permissions":{"anyOf":[{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string"}},"required":["available","reason"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":true},"source":{"type":"string","const":"ghidra-memory-block"}},"required":["available","source"],"additionalProperties":false}]},"provenance":{"type":"string","enum":["hopper-public-python-api","ghidra-memory-block"]},"address_space":{"type":"string"},"image_base":{"type":"string"},"initialized":{"type":"boolean"},"overlay":{"type":"boolean"},"sections":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"start":{"type":"string"},"end":{"type":"string"},"readable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"writable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"executable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"permissions":{"anyOf":[{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string"}},"required":["available","reason"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":true},"source":{"type":"string","const":"ghidra-memory-block"}},"required":["available","source"],"additionalProperties":false}]},"provenance":{"type":"string","enum":["hopper-public-python-api","ghidra-memory-block"]},"address_space":{"type":"string"},"image_base":{"type":"string"},"initialized":{"type":"boolean"},"overlay":{"type":"boolean"}},"required":["name","start","end","readable","writable","executable","permissions","provenance"],"additionalProperties":false}}},"required":["name","start","end","readable","writable","executable","permissions","provenance","sections"],"additionalProperties":false},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_strings","analysisOperation":"list_strings","title":"List Strings","description":"Page through provider-defined strings, or filter to one address, as address/value pairs. Ghidra reports charset, missing-terminator status, byte length, and explicit value truncation; follow next_offset for exhaustive results.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false,"examples":[{"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"value":{"type":"string"},"value_truncated":{"type":"boolean"},"symbol":{"type":"object","properties":{"primary":{"type":"boolean"},"dynamic":{"type":"boolean"},"external":{"type":"boolean"},"type":{"type":"string"},"source":{"type":"string","enum":["default","analysis","ai","imported","user_defined"]}},"required":["primary","dynamic","external","type","source"],"additionalProperties":false},"procedure":{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target"],"additionalProperties":false},"string":{"type":"object","properties":{"encoding":{"type":"string"},"termination":{"type":"string","enum":["missing","present_or_not_required"]},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["encoding","termination","byte_length"],"additionalProperties":false}},"required":["address","value"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"next_address","analysisOperation":"next_address","title":"Next Address","description":"Return the next analyzed object address after an explicit address or current cursor. This is a navigation primitive, not instruction-flow or CFG analysis.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"prev_address","analysisOperation":"prev_address","title":"Prev Address","description":"Return the previous analyzed instruction start before an explicit address or current cursor. This is a navigation primitive and may fail at document boundaries.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"procedure_address","analysisOperation":"procedure_address","title":"Procedure Address","description":"Resolve an unambiguous procedure symbol name or provider-normalized address to its canonical entry address. External address spaces remain explicit; use the result before xrefs, assembly, or decompilation.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false,"examples":[{"procedure":"main"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"procedure_assembly","analysisOperation":"procedure_assembly","title":"Procedure Assembly","description":"Return assembly for one analyzed procedure identified by symbol or hexadecimal address. Use when pseudocode loses calling-convention or instruction-level detail; output is currently returned as one unpaginated string.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false,"examples":[{"procedure":"main"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"procedure_callees","analysisOperation":"procedure_callees","title":"Procedure Callees","description":"Return the provider\'s resolved direct callees for one procedure identified by symbol or address. Unresolved indirect calls may be absent; use analyze_function and typed references to preserve available edge uncertainty.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false,"examples":[{"procedure":"main"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"array","items":{"type":"string"},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"procedure_callers","analysisOperation":"procedure_callers","title":"Procedure Callers","description":"Return the provider\'s resolved direct callers for one procedure identified by symbol or address. Results reflect completed static analysis and may omit unresolved indirect references.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false,"examples":[{"procedure":"main"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"array","items":{"type":"string"},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"procedure_info","analysisOperation":"procedure_info","title":"Procedure Info","description":"Return bounded metadata for one procedure identified by symbol or address: entrypoint, signature, locals, size, and block count. Follow with decompilation or assembly for behavior.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false,"examples":[{"procedure":"main"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"name":{"type":"string"},"entrypoint":{"type":"string"},"basicblock_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"length":{"type":"number","minimum":0},"signature":{"anyOf":[{"type":"string"},{"type":"null"}]},"locals":{"type":"array","items":{"type":"object","properties":{"description":{"type":"string"},"provenance":{"type":"string","minLength":1}},"required":["description","provenance"],"additionalProperties":false}},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["name","entrypoint","basicblock_count","length","signature","locals","classification"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"read_function_instructions","analysisOperation":"read_function_instructions","title":"Read Function Instructions","description":"Read one offset-paginated window of raw instructions for an analyzed procedure without decompilation, caller discovery, or whole-program string/name scans. Use this fast path for instruction-level orientation; follow next_offset when truncated.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"offset":{"default":0,"type":"integer","minimum":0,"maximum":100000,"description":"Zero-based index of the first result to return."},"limit":{"default":64,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false,"examples":[{"procedure":"main","offset":0,"limit":64}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"procedure":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},"instructions":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string"}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"instructions_scanned":{"type":"integer","minimum":0,"maximum":9007199254740991},"instruction_scan_truncated":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["procedure","instructions","instructions_scanned","instruction_scan_truncated","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"read_bytes","analysisOperation":"read_bytes","title":"Read Bytes","description":"Read at most 4,096 analyzed bytes from one provider-normalized virtual address. The hexadecimal payload reports the exact returned length; incomplete reads remain explicit and unsupported provider APIs return typed capability unavailability.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"length":{"default":256,"type":"integer","minimum":1,"maximum":4096,"description":"Value for length."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address"],"additionalProperties":false,"examples":[{"address":"0x1000","length":16}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"address":{"type":"string"},"requested_bytes":{"type":"integer","minimum":1,"maximum":4096},"returned_bytes":{"type":"integer","minimum":0,"maximum":4096},"bytes_hex":{"type":"string","pattern":"^(?:[a-f0-9]{2})*$"},"complete":{"type":"boolean"}},"required":["address","requested_bytes","returned_bytes","bytes_hex","complete"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"address_to_file_offset","analysisOperation":"address_to_file_offset","title":"Address To File Offset","description":"Map one provider-normalized virtual address to its original nonnegative file offset. Unmapped addresses fail explicitly, and providers without an authoritative mapping API return typed capability unavailability.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address"],"additionalProperties":false,"examples":[{"address":"0x1000"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"address":{"type":"string"},"file_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["address","file_offset"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"procedure_references","analysisOperation":"procedure_references","title":"Procedure References","description":"Return a bounded set of raw incoming or outgoing reference edges for one procedure. Endpoint procedures are resolved only from provider containment; Ghidra preserves observed reference kinds while providers without kind authority mark them unavailable.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"direction":{"default":"outgoing","type":"string","enum":["incoming","outgoing"],"description":"Direction in which to traverse or compare relationships."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"max_instructions":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted instructions for this operation."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false,"examples":[{"procedure":"main","direction":"outgoing","offset":0,"limit":100,"max_instructions":500}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"procedure":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},"direction":{"type":"string","enum":["incoming","outgoing"]},"references":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"source_address":{"type":"string"},"target_address":{"type":"string"},"source_procedure":{"anyOf":[{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},{"type":"null"}]},"target_procedure":{"anyOf":[{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},{"type":"null"}]},"kind":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string"}},"required":["available","reason"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":true},"provenance":{"type":"string","minLength":1},"type":{"type":"string"},"flow":{"type":"boolean"},"call":{"type":"boolean"},"jump":{"type":"boolean"},"data":{"type":"boolean"},"read":{"type":"boolean"},"write":{"type":"boolean"},"indirect":{"type":"boolean"},"computed":{"type":"boolean"},"conditional":{"type":"boolean"},"terminal":{"type":"boolean"},"primary":{"type":"boolean"},"operand_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"external":{"type":"boolean"}},"required":["available","provenance","type","flow","call","jump","data","read","write","indirect","computed","conditional","terminal","primary","operand_index","external"],"additionalProperties":false}]}},"required":["source_address","target_address","source_procedure","target_procedure","kind"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"instructions_scanned":{"type":"integer","minimum":0,"maximum":9007199254740991},"instruction_scan_truncated":{"type":"boolean"}},"required":["procedure","direction","references","instructions_scanned","instruction_scan_truncated"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"procedure_pseudo_code","analysisOperation":"procedure_pseudo_code","title":"Procedure Pseudo Code","description":"Decompile one analyzed procedure by symbol name or provider-normalized address. Returns provider-specific pseudocode, never original source or cross-provider text equivalence, and may return null; request procedure_assembly when instruction precision matters.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"The procedure name or address"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false,"examples":[{"procedure":"main"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"resolve_containing_procedure","analysisOperation":"resolve_containing_procedure","title":"Resolve Containing Procedure","description":"Resolve an arbitrary address, including an interior instruction or exact external entry, to its provider-analyzed containing procedure. A negative result distinguishes outside segments from not in a procedure and is never guessed from nearby symbols.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address"],"additionalProperties":false,"examples":[{"address":"0x1000"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"oneOf":[{"type":"object","properties":{"query_address":{"type":"string"},"found":{"type":"boolean","const":true},"procedure":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false}},"required":["query_address","found","procedure"],"additionalProperties":false},{"type":"object","properties":{"query_address":{"type":"string"},"found":{"type":"boolean","const":false},"procedure":{"type":"null"},"reason":{"type":"string","enum":["outside_segments","not_in_procedure"]}},"required":["query_address","found","procedure","reason"],"additionalProperties":false}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"search_procedures","analysisOperation":"search_procedures","title":"Search Procedures","description":"Search analyzed procedure names using literal matching by default or regex opt-in. Providers bound search work and reject regex constructs, paths, candidates, or cumulative work outside their finite budgets. Results are deterministic and offset-paginated.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"pattern":{"type":"string","minLength":1,"maxLength":256,"description":"The literal text or bounded regex pattern to search for"},"mode":{"default":"literal","type":"string","enum":["literal","regex"],"description":"Operation mode that selects the requested behavior."},"case_sensitive":{"default":false,"description":"Whether to match case","type":"boolean"},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["pattern"],"additionalProperties":false,"examples":[{"pattern":"main","mode":"literal","case_sensitive":false,"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"value":{"type":"string"},"value_truncated":{"type":"boolean"}},"required":["address","value","value_truncated"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"search_strings","analysisOperation":"search_strings","title":"Search Strings","description":"Search analyzed strings using literal matching by default or regex opt-in. Providers bound search work and reject regex constructs, paths, candidates, or cumulative work outside their finite budgets. Results are deterministic, offset-paginated, and explicitly truncated.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"pattern":{"type":"string","minLength":1,"maxLength":256,"description":"The literal text or bounded regex pattern to search for"},"mode":{"default":"literal","type":"string","enum":["literal","regex"],"description":"Operation mode that selects the requested behavior."},"case_sensitive":{"default":false,"description":"Whether to match case","type":"boolean"},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["pattern"],"additionalProperties":false,"examples":[{"pattern":"authorization failed","mode":"literal","case_sensitive":false,"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"value":{"type":"string"},"value_truncated":{"type":"boolean"}},"required":["address","value","value_truncated"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"set_address_name","analysisOperation":"set_address_name","title":"Set Address Name","description":"Assign an analyst name to one hexadecimal address and report Hopper\'s boolean result. This mutates analysis metadata; read it back with address_name before relying on it.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"name":{"type":"string","description":"Exact name used by this operation."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address","name"],"additionalProperties":false,"examples":[{"address":"0x1000","name":"entry"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"boolean","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":true,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"set_addresses_names","analysisOperation":"set_addresses_names","title":"Set Addresses Names","description":"Assign analyst names to an address/name map and return per-address success booleans. This mutates analysis metadata; use for bounded batches and verify failures individually.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"names":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Value for names."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["names"],"additionalProperties":false,"examples":[{"names":{"0x1000":"entry"}}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"boolean"},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":true,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"set_bookmark","analysisOperation":"set_bookmark","title":"Set Bookmark","description":"Create or replace a bookmark at a hexadecimal address. This mutates navigation metadata; verify with list_bookmarks and do not treat bookmarks as binary evidence.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"name":{"type":"string","description":"Exact name used by this operation."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address"],"additionalProperties":false,"examples":[{"address":"0x1000"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"boolean","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":true,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"set_comment","analysisOperation":"set_comment","title":"Set Comment","description":"Write a regular analysis comment at a hexadecimal address and return whether readback matched. This mutates the Hopper document; use comments to record evidence IDs or reasoning.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"comment":{"type":"string","description":"Exact analyst comment text to write."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address","comment"],"additionalProperties":false,"examples":[{"address":"0x1000","comment":"validated entry point"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"boolean","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":true,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"set_current_document","analysisOperation":"set_current_document","title":"Set Current Document","description":"Select an already-open Hopper document by exact document name. This changes subsequent default-document routing; call list_documents first and prefer explicit document inputs where reproducibility matters.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"type":"string","description":"Exact provider document or program identity."},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["document"],"additionalProperties":false,"examples":[{"document":"fixture"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"string","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":true,"mayDiscardData":false,"idempotent":true}},{"name":"set_inline_comment","analysisOperation":"set_inline_comment","title":"Set Inline Comment","description":"Write an inline instruction comment at a hexadecimal address and return whether readback matched. This mutates analysis metadata; confirm with inline_comment.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"comment":{"type":"string","description":"Exact analyst comment text to write."},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address","comment"],"additionalProperties":false,"examples":[{"address":"0x1000","comment":"calls parser"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"boolean","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":true,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"unset_bookmark","analysisOperation":"unset_bookmark","title":"Unset Bookmark","description":"Remove the bookmark at a hexadecimal address and return whether it is absent. This mutates navigation metadata and does not alter binary bytes.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"required":["address"],"additionalProperties":false,"examples":[{"address":"0x1000"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"boolean","description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":true,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":true,"idempotent":true}},{"name":"xrefs","analysisOperation":"xrefs","title":"Xrefs","description":"Return analyzed references to a code or data address, defaulting to the current cursor. Use to connect strings, globals, selectors, and functions; bare addresses are untyped and indirect references may be incomplete.","kind":"official-proxy","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"description":"The document name","type":"string"},"address":{"type":"string","description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal"},"unknown_registry_approved":{"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean","const":true}},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"array","items":{"type":"string"},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"swift_classes","analysisOperation":"swift_classes","title":"Swift Classes","description":"Discover legacy-mangled Swift class procedures after exhaustively paging analyzed procedures. Returns at most 100 entries and scans at most 5,000 symbols; use analyze_swift_types for other Swift kinds.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"pattern":{"default":"","type":"string","description":"Text or bounded pattern used to filter matching results."}},"additionalProperties":false,"examples":[{"pattern":""}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"classes":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"additionalProperties":false}}},"required":["count","classes"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"get_objc_classes","analysisOperation":"get_objc_classes","title":"Get Objc Classes","description":"Discover and deduplicate Objective-C class labels after exhaustively paging names, optionally filtering by literal substring. Returns at most 100 classes; inspect matching metadata and references next.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"pattern":{"default":"","type":"string","description":"Text or bounded pattern used to filter matching results."}},"additionalProperties":false,"examples":[{"pattern":""}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"classes":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"additionalProperties":false}}},"required":["count","classes"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"get_objc_protocols","analysisOperation":"get_objc_protocols","title":"Get Objc Protocols","description":"Discover and deduplicate Objective-C and Swift protocol labels after exhaustively paging names. Returns at most 100 entries; use xrefs or analyze_function to connect a protocol to implementations.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"protocols":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"additionalProperties":false}}},"required":["count","protocols"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"batch_decompile","analysisOperation":"batch_decompile","title":"Batch Decompile","description":"Decompile up to 20 explicit procedure symbols or addresses concurrently. Returns ordered per-item ok/error variants and aggregate counts; use analyze_function for a richer single-function dossier.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"addresses":{"default":[],"maxItems":20,"type":"array","items":{"type":"string","description":"A provider-normalized procedure address"},"description":"Ordered provider-normalized procedure addresses to analyze."}},"additionalProperties":false,"examples":[{"addresses":[]}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"items":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"address":{"type":"string"},"status":{"type":"string","const":"ok"},"pseudocode":{"type":"string","minLength":1}},"required":["address","status","pseudocode"],"additionalProperties":false},{"type":"object","properties":{"address":{"type":"string"},"status":{"type":"string","const":"error"},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"invalid_request"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"unreadable_output"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"capability_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"provider_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"provider_timeout"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"cancelled"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"artifact_integrity_mismatch"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","properties":{"logical_path":{"type":"string"},"declared_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"calculated_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"unpacked":{"type":"boolean"}},"required":["logical_path","declared_sha256","calculated_sha256","unpacked"],"additionalProperties":false}},"required":["code","category","message","retryable","remediation","details"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"artifact_operation_failed"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"evidence_integrity_mismatch"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"truncated"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"permission_required"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","properties":{"capability":{"type":"string"},"requested":{"type":"object","properties":{"capability":{"type":"string"},"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean"}},"required":["capability","roots","executables","environment_names","network","mount"],"additionalProperties":false},"missing":{"type":"object","properties":{"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean","const":true}},"additionalProperties":false},"ceiling":{"anyOf":[{"type":"object","properties":{"capability":{"type":"string"},"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean"}},"required":["capability","roots","executables","environment_names","network","mount"],"additionalProperties":false},{"type":"null"}]}},"required":["capability","requested","missing","ceiling"],"additionalProperties":false}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"process_capture_failed"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"cleanup_incomplete"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"revision_conflict"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"outside_approved_root"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"configuration_invalid"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"target_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"execution_failure"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"plan_stale"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false}]}},"required":["address","status","error"],"additionalProperties":false}]}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"succeeded":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["items","total","succeeded","failed"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"get_call_graph","analysisOperation":"get_call_graph","title":"Get Call Graph","description":"Traverse the bound provider\'s caller or callee relationships from one symbol or address for at most five levels. Every node has an ok/error status and failures use safe typed projections; unresolved indirect calls may be missing and results are not a whole-program CFG.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","description":"A provider-normalized procedure address"},"direction":{"default":"forward","type":"string","enum":["forward","backward"],"description":"Direction in which to traverse or compare relationships."},"depth":{"default":2,"type":"integer","minimum":1,"maximum":5,"description":"Value for depth."}},"required":["address"],"additionalProperties":false,"examples":[{"address":"0x1000","direction":"forward","depth":2}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"address":{"type":"string"},"status":{"type":"string","const":"ok"},"calls":{"type":"array","items":{"type":"string"}}},"required":["address","status","calls"],"additionalProperties":false},{"type":"object","properties":{"address":{"type":"string"},"status":{"type":"string","const":"error"},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"invalid_request"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"unreadable_output"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"capability_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"provider_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"provider_timeout"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"cancelled"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"artifact_integrity_mismatch"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","properties":{"logical_path":{"type":"string"},"declared_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"calculated_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"unpacked":{"type":"boolean"}},"required":["logical_path","declared_sha256","calculated_sha256","unpacked"],"additionalProperties":false}},"required":["code","category","message","retryable","remediation","details"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"artifact_operation_failed"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"evidence_integrity_mismatch"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"truncated"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"permission_required"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","properties":{"capability":{"type":"string"},"requested":{"type":"object","properties":{"capability":{"type":"string"},"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean"}},"required":["capability","roots","executables","environment_names","network","mount"],"additionalProperties":false},"missing":{"type":"object","properties":{"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean","const":true}},"additionalProperties":false},"ceiling":{"anyOf":[{"type":"object","properties":{"capability":{"type":"string"},"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean"}},"required":["capability","roots","executables","environment_names","network","mount"],"additionalProperties":false},{"type":"null"}]}},"required":["capability","requested","missing","ceiling"],"additionalProperties":false}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"process_capture_failed"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"cleanup_incomplete"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"revision_conflict"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"outside_approved_root"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"configuration_invalid"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"target_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"execution_failure"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"plan_stale"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false}]}},"required":["address","status","error"],"additionalProperties":false}]}},"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"analyze_swift_types","analysisOperation":"analyze_swift_types","title":"Analyze Swift Types","description":"Categorize exhaustively paged procedure names into Swift classes, structs, enums, protocols, extensions, and other symbols. Scans at most 5,000 names and returns at most 50 entries per category.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"categories":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"additionalProperties":false}}},"required":["count","items"],"additionalProperties":false}}},"required":["total","categories"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"find_xrefs_to_name","analysisOperation":"find_xrefs_to_name","title":"Find Xrefs To Name","description":"Resolve an exact name through the bound provider\'s exhaustively paged name inventory and return a resolved or unresolved result. Unresolved names use the stable name_not_found reason; this compact xref workflow returns address-only projections.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","description":"Exact name used by this operation."}},"required":["name"],"additionalProperties":false,"examples":[{"name":"malloc"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"resolved"},"name":{"type":"string"},"address":{"type":"string"},"xrefs":{"type":"array","items":{"type":"string"}}},"required":["status","name","address","xrefs"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unresolved"},"name":{"type":"string"},"reason":{"type":"string","const":"name_not_found"}},"required":["status","name","reason"],"additionalProperties":false}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"binary_overview","analysisOperation":"binary_overview","title":"Binary Overview","description":"Use immediately after opening a target to summarize document, exhaustive procedure/string counts, and a bounded segment sample. detail controls segment fields and limit controls only the returned segment sample.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"detail":{"default":"concise","type":"string","enum":["concise","detailed"],"description":"Requested response detail level."},"limit":{"default":10,"type":"integer","minimum":1,"maximum":50,"description":"Maximum number of results to return in this page."}},"additionalProperties":false,"examples":[{"detail":"concise","limit":10}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"document":{"type":"string"},"detail":{"type":"string","enum":["concise","detailed"]},"segments":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"start":{"type":"string"},"end":{"type":"string"},"length":{"type":"number","minimum":0}},"required":["name","start","end"],"additionalProperties":false}},"segment_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"procedure_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"string_count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["document","detail","segments","segment_count","procedure_count","string_count"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"analyze_function","analysisOperation":"analyze_function","title":"Analyze Function","description":"Preferred bounded analysis for one procedure symbol or address. Returns identity, provider-specific pseudocode, optional assembly, comments, calls, typed-or-explicitly-unavailable references, referenced strings/names, and local CFG blocks with exact truncation metadata. Providers with a structured decompiler model also expose native API boundary types, confidence, evidence, jump-table data/target addresses, and explicit decompiler-artifact labels.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"A procedure name or address"},"include_assembly":{"default":false,"type":"boolean","description":"Whether to include assembly in the result."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"max_pseudocode_chars":{"default":20000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted pseudocode chars for this operation."},"max_instructions":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted instructions for this operation."},"pseudocode_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first pseudocode to return."},"assembly_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first assembly to return."},"collection_offset":{"default":{"comments":0,"callers":0,"callees":0,"incoming_references":0,"outgoing_references":0,"referenced_strings":0,"referenced_names":0,"basic_blocks":0},"type":"object","properties":{"comments":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for comments."},"callers":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for callers."},"callees":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for callees."},"incoming_references":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for incoming references."},"outgoing_references":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for outgoing references."},"referenced_strings":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for referenced strings."},"referenced_names":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for referenced names."},"basic_blocks":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for basic blocks."}},"additionalProperties":false,"description":"Zero-based index of the first collection to return."}},"required":["procedure"],"additionalProperties":false,"examples":[{"procedure":"main","include_assembly":false,"limit":100,"max_pseudocode_chars":20000,"max_instructions":500,"pseudocode_offset":0,"assembly_offset":0,"collection_offset":{"comments":0,"callers":0,"callees":0,"incoming_references":0,"outgoing_references":0,"referenced_strings":0,"referenced_names":0,"basic_blocks":0}}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"procedure":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]},"signature":{"anyOf":[{"type":"string"},{"type":"null"}]},"locals":{"type":"array","items":{"type":"object","properties":{"description":{"type":"string"},"provenance":{"type":"string","minLength":1}},"required":["description","provenance"],"additionalProperties":false}}},"required":["address","name","classification","signature","locals"],"additionalProperties":false},"pseudocode":{"type":"object","properties":{"text":{"type":"string"},"total_chars":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned_chars":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["text","total_chars","returned_chars","truncated","next_offset"],"additionalProperties":false},"assembly":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string"}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"comments":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"kind":{"type":"string","enum":["comment","inline"]},"text":{"type":"string"}},"required":["address","kind","text"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"callers":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"callees":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"incoming_references":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"source_address":{"type":"string"},"target_address":{"type":"string"},"source_procedure":{"anyOf":[{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},{"type":"null"}]},"target_procedure":{"anyOf":[{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},{"type":"null"}]},"kind":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string"}},"required":["available","reason"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":true},"provenance":{"type":"string","minLength":1},"type":{"type":"string"},"flow":{"type":"boolean"},"call":{"type":"boolean"},"jump":{"type":"boolean"},"data":{"type":"boolean"},"read":{"type":"boolean"},"write":{"type":"boolean"},"indirect":{"type":"boolean"},"computed":{"type":"boolean"},"conditional":{"type":"boolean"},"terminal":{"type":"boolean"},"primary":{"type":"boolean"},"operand_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"external":{"type":"boolean"}},"required":["available","provenance","type","flow","call","jump","data","read","write","indirect","computed","conditional","terminal","primary","operand_index","external"],"additionalProperties":false}]}},"required":["source_address","target_address","source_procedure","target_procedure","kind"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"outgoing_references":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"source_address":{"type":"string"},"target_address":{"type":"string"},"source_procedure":{"anyOf":[{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},{"type":"null"}]},"target_procedure":{"anyOf":[{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false},{"type":"null"}]},"kind":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string"}},"required":["available","reason"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":true},"provenance":{"type":"string","minLength":1},"type":{"type":"string"},"flow":{"type":"boolean"},"call":{"type":"boolean"},"jump":{"type":"boolean"},"data":{"type":"boolean"},"read":{"type":"boolean"},"write":{"type":"boolean"},"indirect":{"type":"boolean"},"computed":{"type":"boolean"},"conditional":{"type":"boolean"},"terminal":{"type":"boolean"},"primary":{"type":"boolean"},"operand_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"external":{"type":"boolean"}},"required":["available","provenance","type","flow","call","jump","data","read","write","indirect","computed","conditional","terminal","primary","operand_index","external"],"additionalProperties":false}]}},"required":["source_address","target_address","source_procedure","target_procedure","kind"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"referenced_strings":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"value":{"type":"string"},"source_address":{"type":"string"}},"required":["address","value","source_address"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"referenced_names":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"value":{"type":"string"},"source_address":{"type":"string"}},"required":["address","value","source_address"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"basic_blocks":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"},"successors":{"type":"array","items":{"type":"string"}}},"required":["start","end","successors"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","total","returned","truncated","next_offset"],"additionalProperties":false},"instruction_scan":{"type":"object","properties":{"scanned":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"}},"required":["scanned","truncated"],"additionalProperties":false},"native_api":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","minLength":1},"residual_unknowns":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["available","reason","residual_unknowns"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":true},"provenance":{"type":"string","minLength":1},"signature_source":{"type":"string","minLength":1},"calling_convention":{"type":"string","minLength":1},"return_type":{"type":"object","properties":{"role":{"type":"string","enum":["return","parameter"]},"ordinal":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"data_type":{"type":"string","minLength":1},"size_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"storage":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}},"decompiler_artifacts":{"type":"array","items":{"type":"string","enum":["recovered-signature","register-or-stack-storage","compiler-generated-variable"]}}},"required":["role","ordinal","name","data_type","size_bytes","storage","confidence","evidence","decompiler_artifacts"],"additionalProperties":false},"parameters":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["return","parameter"]},"ordinal":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"data_type":{"type":"string","minLength":1},"size_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"storage":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}},"decompiler_artifacts":{"type":"array","items":{"type":"string","enum":["recovered-signature","register-or-stack-storage","compiler-generated-variable"]}}},"required":["role","ordinal","name","data_type","size_bytes","storage","confidence","evidence","decompiler_artifacts"],"additionalProperties":false}},"parameters_truncated":{"type":"boolean"},"jump_tables":{"type":"array","items":{"type":"object","properties":{"dispatch_address":{"type":"string","minLength":1},"data_sources":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","minLength":1},"provenance":{"type":"string","enum":["ghidra-decompiler-load-table","ghidra-dispatch-block-data-reference"]},"entry_size_bytes":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"entry_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}}},"required":["address","provenance","entry_size_bytes","entry_count","confidence","evidence"],"additionalProperties":false}},"data_sources_truncated":{"type":"boolean"},"mappings":{"type":"array","items":{"type":"object","properties":{"case_value":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"target_address":{"type":"string","minLength":1},"data_addresses":{"type":"array","items":{"type":"string","minLength":1}},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}}},"required":["case_value","target_address","data_addresses","confidence","evidence"],"additionalProperties":false}},"mappings_truncated":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["dispatch_address","data_sources","data_sources_truncated","mappings","mappings_truncated","limitations"],"additionalProperties":false}},"jump_tables_truncated":{"type":"boolean"},"pseudocode":{"type":"object","properties":{"classification":{"type":"string","const":"decompiler-generated-non-source"},"compilable":{"type":"boolean","const":false}},"required":["classification","compilable"],"additionalProperties":false},"decompiler_artifacts":{"type":"array","items":{"type":"string","enum":["recovered-signature","register-and-stack-variables","compiler-generated-control-flow","pointer-arithmetic","pseudocode"]}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["available","provenance","signature_source","calling_convention","return_type","parameters","parameters_truncated","jump_tables","jump_tables_truncated","pseudocode","decompiler_artifacts","limitations"],"additionalProperties":false}]},"limitations":{"default":[],"type":"array","items":{"type":"string"}}},"required":["procedure","pseudocode","assembly","comments","callers","callees","incoming_references","outgoing_references","referenced_strings","referenced_names","basic_blocks","instruction_scan","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_native_api","analysisOperation":"inspect_native_api","title":"Inspect Native Api","description":"Reconstruct one native function boundary through inspectable substeps. Returns structured inferred return/parameter types with confidence and evidence, jump-table dispatch/data/target mappings, explicit decompiler-artifact labels, unsupported branches, and residual unknowns.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"procedure":{"type":"string","description":"A procedure name or address"},"max_pseudocode_chars":{"default":20000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted pseudocode chars for this operation."},"max_instructions":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted instructions for this operation."},"unknown_registry_approved":{"description":"Explicit approval to record unsupported native API branches durably","type":"boolean","const":true}},"required":["procedure"],"additionalProperties":false,"examples":[{"procedure":"main","max_pseudocode_chars":20000,"max_instructions":500}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"procedure":{"type":"object","properties":{"address":{"type":"string","minLength":1},"name":{"type":"string","minLength":1}},"required":["address","name"],"additionalProperties":false},"boundary":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","minLength":1},"residual_unknowns":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["available","reason","residual_unknowns"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":true},"provenance":{"type":"string","minLength":1},"signature_source":{"type":"string","minLength":1},"calling_convention":{"type":"string","minLength":1},"return_type":{"type":"object","properties":{"role":{"type":"string","enum":["return","parameter"]},"ordinal":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"data_type":{"type":"string","minLength":1},"size_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"storage":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}},"decompiler_artifacts":{"type":"array","items":{"type":"string","enum":["recovered-signature","register-or-stack-storage","compiler-generated-variable"]}}},"required":["role","ordinal","name","data_type","size_bytes","storage","confidence","evidence","decompiler_artifacts"],"additionalProperties":false},"parameters":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["return","parameter"]},"ordinal":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"data_type":{"type":"string","minLength":1},"size_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"storage":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}},"decompiler_artifacts":{"type":"array","items":{"type":"string","enum":["recovered-signature","register-or-stack-storage","compiler-generated-variable"]}}},"required":["role","ordinal","name","data_type","size_bytes","storage","confidence","evidence","decompiler_artifacts"],"additionalProperties":false}},"parameters_truncated":{"type":"boolean"},"jump_tables":{"type":"array","items":{"type":"object","properties":{"dispatch_address":{"type":"string","minLength":1},"data_sources":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","minLength":1},"provenance":{"type":"string","enum":["ghidra-decompiler-load-table","ghidra-dispatch-block-data-reference"]},"entry_size_bytes":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"entry_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}}},"required":["address","provenance","entry_size_bytes","entry_count","confidence","evidence"],"additionalProperties":false}},"data_sources_truncated":{"type":"boolean"},"mappings":{"type":"array","items":{"type":"object","properties":{"case_value":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"target_address":{"type":"string","minLength":1},"data_addresses":{"type":"array","items":{"type":"string","minLength":1}},"confidence":{"type":"string","enum":["low","medium","high"]},"evidence":{"minItems":1,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"]},"source":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1}},"required":["kind","source","detail"],"additionalProperties":false}}},"required":["case_value","target_address","data_addresses","confidence","evidence"],"additionalProperties":false}},"mappings_truncated":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["dispatch_address","data_sources","data_sources_truncated","mappings","mappings_truncated","limitations"],"additionalProperties":false}},"jump_tables_truncated":{"type":"boolean"},"pseudocode":{"type":"object","properties":{"classification":{"type":"string","const":"decompiler-generated-non-source"},"compilable":{"type":"boolean","const":false}},"required":["classification","compilable"],"additionalProperties":false},"decompiler_artifacts":{"type":"array","items":{"type":"string","enum":["recovered-signature","register-and-stack-variables","compiler-generated-control-flow","pointer-arithmetic","pseudocode"]}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["available","provenance","signature_source","calling_convention","return_type","parameters","parameters_truncated","jump_tables","jump_tables_truncated","pseudocode","decompiler_artifacts","limitations"],"additionalProperties":false}]},"substeps":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","enum":["analyze_function","project_native_api_boundary","preserve_residual_unknowns"]},"status":{"type":"string","enum":["completed","unsupported"]},"observations":{"type":"array","items":{"type":"string","minLength":1}}},"required":["operation","status","observations"],"additionalProperties":false}},"unsupported_branches":{"type":"array","items":{"type":"string","minLength":1}},"residual_unknowns":{"type":"array","items":{"type":"string","minLength":1}}},"required":["schema_version","procedure","boundary","substeps","unsupported_branches","residual_unknowns"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":false}},{"name":"trace_feature","analysisOperation":"trace_feature","title":"Trace Feature","description":"Trace a bounded literal feature query through matching strings and procedures, xrefs, and truthful containing-procedure resolution. Returns the operation budget, truncation, and residual unknowns; unknown_registry_approved: true records them durably without inferring reference kinds.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"type":"string","minLength":1,"description":"Non-empty feature or text query to investigate."},"case_sensitive":{"default":false,"type":"boolean","description":"Whether text matching distinguishes uppercase and lowercase."},"limit":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"max_operations":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted operations for this operation."},"unknown_registry_approved":{"description":"Explicit approval to record bounded residuals durably","type":"boolean","const":true}},"required":["query"],"additionalProperties":false,"examples":[{"query":"license","case_sensitive":false,"limit":20,"max_operations":20}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"query":{"type":"string"},"search_mode":{"type":"string","const":"literal"},"operations_used":{"type":"integer","minimum":0,"maximum":9007199254740991},"operation_budget":{"type":"integer","minimum":1,"maximum":9007199254740991},"matches":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["string","procedure"]},"address":{"type":"string"},"value":{"type":"string"}},"required":["type","address","value"],"additionalProperties":false}},"references":{"type":"array","items":{"type":"object","properties":{"target_address":{"type":"string"},"source_address":{"type":"string"},"containing_procedure":{"oneOf":[{"type":"object","properties":{"query_address":{"type":"string"},"found":{"type":"boolean","const":true},"procedure":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false}},"required":["query_address","found","procedure"],"additionalProperties":false},{"type":"object","properties":{"query_address":{"type":"string"},"found":{"type":"boolean","const":false},"procedure":{"type":"null"},"reason":{"type":"string","enum":["outside_segments","not_in_procedure"]}},"required":["query_address","found","procedure","reason"],"additionalProperties":false}]}},"required":["target_address","source_address","containing_procedure"],"additionalProperties":false}},"truncated":{"type":"boolean"},"residual_unknowns":{"type":"array","items":{"type":"string"}}},"required":["query","search_mode","operations_used","operation_budget","matches","references","truncated","residual_unknowns"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":false}},{"name":"find_code_for_string","analysisOperation":"find_code_for_string","title":"Find Code For String","description":"Resolve one literal string query to bounded analyzed string entries, xrefs, and truthful containing-procedure candidates. Returns an Evidence ID, exact operation budget, truncation, and residual unknowns; it never infers reference kinds or runtime reachability.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"type":"string","minLength":1,"description":"Non-empty feature or text query to investigate."},"case_sensitive":{"default":false,"type":"boolean","description":"Whether text matching distinguishes uppercase and lowercase."},"limit":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"max_operations":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted operations for this operation."},"unknown_registry_approved":{"description":"Explicit approval to record bounded residuals durably","type":"boolean","const":true}},"required":["query"],"additionalProperties":false,"examples":[{"query":"license","case_sensitive":false,"limit":20,"max_operations":20}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"query":{"type":"string"},"search_mode":{"type":"string","const":"literal"},"operations_used":{"type":"integer","minimum":0,"maximum":9007199254740991},"operation_budget":{"type":"integer","minimum":1,"maximum":9007199254740991},"matches":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["string","procedure"]},"address":{"type":"string"},"value":{"type":"string"}},"required":["type","address","value"],"additionalProperties":false}},"references":{"type":"array","items":{"type":"object","properties":{"target_address":{"type":"string"},"source_address":{"type":"string"},"containing_procedure":{"oneOf":[{"type":"object","properties":{"query_address":{"type":"string"},"found":{"type":"boolean","const":true},"procedure":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"classification":{"default":null,"anyOf":[{"type":"object","properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"provenance":{"type":"string","minLength":1}},"required":["external","thunk","thunk_target","provenance"],"additionalProperties":false},{"type":"null"}]}},"required":["address","name","classification"],"additionalProperties":false}},"required":["query_address","found","procedure"],"additionalProperties":false},{"type":"object","properties":{"query_address":{"type":"string"},"found":{"type":"boolean","const":false},"procedure":{"type":"null"},"reason":{"type":"string","enum":["outside_segments","not_in_procedure"]}},"required":["query_address","found","procedure","reason"],"additionalProperties":false}]}},"required":["target_address","source_address","containing_procedure"],"additionalProperties":false}},"truncated":{"type":"boolean"},"residual_unknowns":{"type":"array","items":{"type":"string"}}},"required":["query","search_mode","operations_used","operation_budget","matches","references","truncated","residual_unknowns"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":false}},{"name":"trace_call_path","analysisOperation":"trace_call_path","title":"Trace Call Path","description":"Trace a deterministic bounded caller or callee path from one exact procedure address, optionally stopping at a goal. Returns visited nodes, direct-call edges, one shortest traversal path, failures, frontier, consumed limits, an Evidence ID, and explicit residual unknowns without claiming unresolved indirect calls are absent.","kind":"enhanced","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"start":{"type":"string","description":"A provider-normalized procedure address"},"goal":{"type":"string","description":"An optional provider-normalized destination address"},"direction":{"default":"forward","type":"string","enum":["forward","backward"],"description":"Direction in which to traverse or compare relationships."},"max_depth":{"default":5,"type":"integer","minimum":1,"maximum":10,"description":"Maximum permitted depth for this operation."},"max_nodes":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum permitted nodes for this operation."},"max_operations":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum permitted operations for this operation."},"unknown_registry_approved":{"description":"Explicit approval to record bounded residuals durably","type":"boolean","const":true}},"required":["start"],"additionalProperties":false,"examples":[{"start":"0x1000","goal":"0x1100","direction":"forward","max_depth":5,"max_nodes":100,"max_operations":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"start":{"type":"string"},"goal":{"anyOf":[{"type":"string"},{"type":"null"}]},"direction":{"type":"string","enum":["forward","backward"]},"goal_status":{"type":"string","enum":["not_requested","reached","not_reached"]},"nodes":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"depth":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["address","depth"],"additionalProperties":false}},"edges":{"type":"array","items":{"type":"object","properties":{"source_address":{"type":"string"},"target_address":{"type":"string"},"discovery_depth":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["source_address","target_address","discovery_depth"],"additionalProperties":false}},"traversal_path":{"type":"array","items":{"type":"string"}},"failures":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"invalid_request"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"unreadable_output"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"capability_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"provider_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"provider_timeout"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"cancelled"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"artifact_integrity_mismatch"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","properties":{"logical_path":{"type":"string"},"declared_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"calculated_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"unpacked":{"type":"boolean"}},"required":["logical_path","declared_sha256","calculated_sha256","unpacked"],"additionalProperties":false}},"required":["code","category","message","retryable","remediation","details"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"artifact_operation_failed"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"evidence_integrity_mismatch"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"truncated"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"permission_required"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","properties":{"capability":{"type":"string"},"requested":{"type":"object","properties":{"capability":{"type":"string"},"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean"}},"required":["capability","roots","executables","environment_names","network","mount"],"additionalProperties":false},"missing":{"type":"object","properties":{"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean","const":true}},"additionalProperties":false},"ceiling":{"anyOf":[{"type":"object","properties":{"capability":{"type":"string"},"roots":{"type":"array","items":{"type":"string"}},"executables":{"type":"array","items":{"type":"string"}},"environment_names":{"type":"array","items":{"type":"string"}},"origins":{"type":"array","items":{"type":"string"}},"network":{"type":"string","enum":["none","loopback","external"]},"mount":{"type":"boolean"}},"required":["capability","roots","executables","environment_names","network","mount"],"additionalProperties":false},{"type":"null"}]}},"required":["capability","requested","missing","ceiling"],"additionalProperties":false}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"process_capture_failed"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"cleanup_incomplete"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"revision_conflict"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"outside_approved_root"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"configuration_invalid"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"target_unavailable"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"execution_failure"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false},{"type":"object","properties":{"code":{"type":"string","const":"plan_stale"},"category":{"type":"string","enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"]},"message":{"type":"string","minLength":1},"retryable":{"type":"boolean"},"remediation":{"type":"object","properties":{"action":{"type":"string","minLength":1},"restart_required":{"type":"boolean"},"elicitation_supported":{"type":"boolean"}},"required":["action","restart_required"],"additionalProperties":false},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}},"required":["code","category","message","retryable","remediation"],"additionalProperties":false}]}},"required":["address","error"],"additionalProperties":false}},"frontier":{"type":"array","items":{"type":"string"}},"limits":{"type":"object","properties":{"max_depth":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_nodes":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_operations":{"type":"integer","minimum":1,"maximum":9007199254740991},"nodes_visited":{"type":"integer","minimum":1,"maximum":9007199254740991},"operations_used":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["max_depth","max_nodes","max_operations","nodes_visited","operations_used"],"additionalProperties":false},"truncated":{"type":"boolean"},"residual_unknowns":{"type":"array","items":{"type":"string"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["start","goal","direction","goal_status","nodes","edges","traversal_path","failures","frontier","limits","truncated","residual_unknowns","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":false}},{"name":"inspect_macho","analysisOperation":"inspect_macho","title":"Inspect Macho","description":"Inspect Mach-O slices, load commands, imports, exports, dependencies, build metadata, segments, sections, permissions, and exact command provenance without launching Hopper.","kind":"native-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"format":{"type":"string","const":"mach-o"},"endian":{"anyOf":[{"type":"string","enum":["little","big"]},{"type":"null"}]},"word_size":{"anyOf":[{"anyOf":[{"type":"number","const":32},{"type":"number","const":64}]},{"type":"null"}]},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"flags":{"type":"array","items":{"type":"string"}},"uuid":{"anyOf":[{"type":"string"},{"type":"null"}]},"entrypoints":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"file_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["file_offset"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"architectures":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"cpu_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"cpu_subtype":{"anyOf":[{"type":"string"},{"type":"null"}]},"file_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"alignment":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["name","cpu_type","cpu_subtype","file_offset","size","alignment"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"build_metadata":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"platform":{"anyOf":[{"type":"string"},{"type":"null"}]},"minimum_os":{"anyOf":[{"type":"string"},{"type":"null"}]},"sdk":{"anyOf":[{"type":"string"},{"type":"null"}]},"tools":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}}},"required":["platform","minimum_os","sdk","tools"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"load_commands":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string"},"file_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"fields":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}]}}},"required":["index","kind","file_offset","fields"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"dependencies":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"kind":{"type":"string"},"current_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"compatibility_version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","kind","current_version","compatibility_version"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"imports":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"address":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]+$"},{"type":"null"}]},"weak":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"reexport":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"source":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","address","weak","reexport","source"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"exports":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"address":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]+$"},{"type":"null"}]},"weak":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"reexport":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"source":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","address","weak","reexport","source"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"segments":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"vm_address":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]+$"},{"type":"null"}]},"vm_size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"file_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"file_size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"maximum_permissions":{"type":"object","properties":{"read":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"write":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"execute":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"raw":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["read","write","execute","raw"],"additionalProperties":false},"initial_permissions":{"type":"object","properties":{"read":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"write":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"execute":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"raw":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["read","write","execute","raw"],"additionalProperties":false},"sections":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"segment":{"type":"string"},"name":{"type":"string"},"address":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]+$"},{"type":"null"}]},"size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"file_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"alignment":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"flags":{"type":"array","items":{"type":"string"}}},"required":["segment","name","address","size","file_offset","alignment","flags"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false}},"required":["name","vm_address","vm_size","file_offset","file_size","maximum_permissions","initial_permissions","sections"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"provenance":{"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1},"command":{"type":"array","items":{"type":"string"}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"exit":{"type":"object","properties":{"code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"signal":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["code","signal"],"additionalProperties":false},"stdout_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stderr_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stdout_truncated":{"type":"boolean"},"stderr_truncated":{"type":"boolean"}},"required":["tool","command","tool_version","version_reason","executable_sha256","exit","stdout_bytes","stderr_bytes","stdout_truncated","stderr_truncated"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["format","endian","word_size","file_type","flags","uuid","entrypoints","architectures","build_metadata","load_commands","dependencies","imports","exports","segments","provenance","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_signature","analysisOperation":"inspect_signature","title":"Inspect Signature","description":"Inspect the active artifact\'s code-signing identity, hashes, authorities, requirements, entitlements, hardened-runtime state, and bounded command provenance.","kind":"native-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"signed":{"type":"boolean"},"identifier":{"anyOf":[{"type":"string"},{"type":"null"}]},"team_identifier":{"anyOf":[{"type":"string"},{"type":"null"}]},"format":{"anyOf":[{"type":"string"},{"type":"null"}]},"cdhashes":{"type":"array","items":{"type":"string"}},"hash_algorithms":{"type":"array","items":{"type":"string"}},"authorities":{"type":"array","items":{"type":"string"}},"designated_requirement":{"anyOf":[{"type":"string"},{"type":"null"}]},"entitlements":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"timestamp":{"anyOf":[{"type":"string"},{"type":"null"}]},"hardened_runtime":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"provenance":{"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1},"command":{"type":"array","items":{"type":"string"}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"exit":{"type":"object","properties":{"code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"signal":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["code","signal"],"additionalProperties":false},"stdout_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stderr_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stdout_truncated":{"type":"boolean"},"stderr_truncated":{"type":"boolean"}},"required":["tool","command","tool_version","version_reason","executable_sha256","exit","stdout_bytes","stderr_bytes","stdout_truncated","stderr_truncated"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["signed","identifier","team_identifier","format","cdhashes","hash_algorithms","authorities","designated_requirement","entitlements","timestamp","hardened_runtime","provenance","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_plist","analysisOperation":"inspect_plist","title":"Inspect Plist","description":"Parse a plist at a bounded relative path beneath the active artifact container. Symlink and traversal escapes are rejected; output is normalized JSON rather than plutil text.","kind":"native-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"relative_path":{"default":"Contents/Info.plist","type":"string","minLength":1,"maxLength":1024,"description":"Local filesystem path for relative."}},"additionalProperties":false,"examples":[{"relative_path":"Contents/Info.plist"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"format":{"type":"string","enum":["xml","binary","json","unknown"]},"value":{"$ref":"#/$defs/__schema0"},"bundle":{"type":"object","properties":{"identifier":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"version":{"anyOf":[{"type":"string"},{"type":"null"}]},"short_version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["identifier","executable","name","version","short_version"],"additionalProperties":false},"source_path":{"type":"string"},"provenance":{"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1},"command":{"type":"array","items":{"type":"string"}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"exit":{"type":"object","properties":{"code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"signal":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["code","signal"],"additionalProperties":false},"stdout_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stderr_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stdout_truncated":{"type":"boolean"},"stderr_truncated":{"type":"boolean"}},"required":["tool","command","tool_version","version_reason","executable_sha256","exit","stdout_bytes","stderr_bytes","stdout_truncated","stderr_truncated"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["format","value","bundle","source_path","provenance","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_architectures","analysisOperation":"list_architectures","title":"List Architectures","description":"List thin or universal Mach-O slices with offsets, sizes, alignment, explicit coverage, and bounded native-tool provenance.","kind":"native-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"architectures":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"cpu_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"cpu_subtype":{"anyOf":[{"type":"string"},{"type":"null"}]},"file_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"alignment":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["name","cpu_type","cpu_subtype","file_offset","size","alignment"],"additionalProperties":false}},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"exhaustive":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["items","total","exhaustive","limitations"],"additionalProperties":false},"provenance":{"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1},"command":{"type":"array","items":{"type":"string"}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"exit":{"type":"object","properties":{"code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"signal":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["code","signal"],"additionalProperties":false},"stdout_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stderr_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stdout_truncated":{"type":"boolean"},"stderr_truncated":{"type":"boolean"}},"required":["tool","command","tool_version","version_reason","executable_sha256","exit","stdout_bytes","stderr_bytes","stdout_truncated","stderr_truncated"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["architectures","provenance","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"demangle_swift","analysisOperation":"demangle_swift","title":"Demangle Swift","description":"Demangle an ordered bounded batch of Swift symbols without requiring Hopper. Each input returns demangled, unchanged, or invalid status.","kind":"native-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"symbols":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Ordered bounded Swift symbols to demangle."}},"required":["symbols"],"additionalProperties":false,"examples":[{"symbols":["$s4Test3fooyyF"]}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"symbols":{"type":"array","items":{"type":"object","properties":{"input":{"type":"string"},"output":{"type":"string"},"status":{"type":"string","enum":["demangled","unchanged","invalid"]}},"required":["input","output","status"],"additionalProperties":false}},"provenance":{"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1},"command":{"type":"array","items":{"type":"string"}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"exit":{"type":"object","properties":{"code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"signal":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["code","signal"],"additionalProperties":false},"stdout_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stderr_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"stdout_truncated":{"type":"boolean"},"stderr_truncated":{"type":"boolean"}},"required":["tool","command","tool_version","version_reason","executable_sha256","exit","stdout_bytes","stderr_bytes","stdout_truncated","stderr_truncated"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["symbols","provenance","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inventory_artifact","analysisOperation":"inventory_artifact","title":"Inventory Artifact","description":"After open_binary binds a local archive, application package, or other artifact—or when one is already active—inventory it as a deterministic, content-addressed artifact graph. This tool accepts no path; in a target-free session open the target first. Returns bounded node and edge pages without extracting or mounting by default.","kind":"artifact-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"native_mount_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for native mount."},"integrity_policy":{"default":"fail","type":"string","enum":["fail","record-and-continue"],"description":"Value for integrity policy."},"integrity_continue_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for integrity continue."},"max_integrity_mismatches":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted integrity mismatches for this operation."},"node_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first node to return."},"node_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of node entries to return."},"occurrence_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first occurrence to return."},"occurrence_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of occurrence entries to return."},"edge_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first edge to return."},"edge_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of edge entries to return."},"max_entries":{"default":10000,"type":"integer","minimum":1,"maximum":1000000,"description":"Maximum permitted entries for this operation."},"max_total_bytes":{"default":1073741824,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted total bytes for this operation."},"max_entry_bytes":{"default":268435456,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted entry bytes for this operation."},"max_compression_ratio":{"default":1000,"type":"number","minimum":1,"maximum":100000,"description":"Maximum permitted compression ratio for this operation."},"max_depth":{"default":20,"type":"integer","minimum":0,"maximum":100,"description":"Maximum permitted depth for this operation."},"max_path_bytes":{"default":4096,"type":"integer","minimum":1,"maximum":65535,"description":"Maximum permitted path bytes for this operation."}},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"manifest":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"root_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"root_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"root_format":{"type":"string","enum":["dmg","zip","pkg","asar","javascript-bundle","source-map","mach-o-universal","mach-o","elf","pe","hopper","analysis-database","ipa","apk","msix","appx","plist","entitlements","directory","file","unknown"]},"graph_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"occurrence_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"edge_count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["schema_version","manifest_id","root_artifact_id","root_sha256","root_format","graph_sha256","node_count","occurrence_count","edge_count"],"additionalProperties":false},"nodes":{"type":"object","properties":{"items":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["container","executable","dynamic-library","framework","native-addon","javascript","source-map","plist","entitlements","resource","universal-slice","package-metadata","unknown"]},"format":{"type":"string","enum":["dmg","zip","pkg","asar","javascript-bundle","source-map","mach-o-universal","mach-o","elf","pe","hopper","analysis-database","ipa","apk","msix","appx","plist","entitlements","directory","file","unknown"]},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"media_type":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"architecture":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"executable":{"type":"boolean"},"content_state":{"type":"string","enum":["materialized","embedded","virtual"]},"limitations":{"type":"array","items":{"type":"string"}}},"required":["artifact_id","kind","format","sha256","size","media_type","architecture","executable","content_state","limitations"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":500},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"occurrences":{"type":"object","properties":{"items":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"occurrence_id":{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},"artifact_id":{"anyOf":[{"type":"string","pattern":"^art_[a-f0-9]{64}$"},{"type":"null"}]},"parent_occurrence_id":{"anyOf":[{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},{"type":"null"}]},"logical_path":{"type":"string","minLength":1,"maxLength":4096},"entry_kind":{"type":"string","enum":["file","directory","symlink","slice"]},"declared_size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"compressed_size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"executable":{"type":"boolean"},"encrypted":{"type":"boolean"},"hash_status":{"type":"string","enum":["verified","mismatched","not-hashed-limit","unavailable"]},"source_location":{"anyOf":[{"type":"object","properties":{"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"length":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["offset","length"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}}},"required":["occurrence_id","artifact_id","parent_occurrence_id","logical_path","entry_kind","declared_size","compressed_size","executable","encrypted","hash_status","source_location","limitations"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":500},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"edges":{"type":"object","properties":{"items":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"edge_id":{"type":"string","pattern":"^edge_[a-f0-9]{64}$"},"ordinal":{"type":"integer","minimum":0,"maximum":9007199254740991},"parent_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"child_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","extracts","slice-of","embeds","loads","maps-source","derived-from"]},"occurrence_id":{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},"logical_path":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]},"producer":{"anyOf":[{"type":"object","properties":{"tool":{"type":"string","minLength":1},"arguments":{"maxItems":1024,"type":"array","items":{"type":"string","maxLength":4096}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"exit_code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"effects":{"maxItems":3,"type":"array","items":{"type":"string","enum":["read","write","mount"]}}},"required":["tool","arguments","tool_version","executable_sha256","exit_code","effects"],"additionalProperties":false},{"type":"null"}]}},"required":["edge_id","ordinal","parent_artifact_id","child_artifact_id","relation","occurrence_id","logical_path","producer"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":500},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"limits":{"type":"object","properties":{"max_entries":{"type":"integer","minimum":1,"maximum":1000000},"max_total_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_entry_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_compression_ratio":{"type":"number","minimum":1,"maximum":100000},"max_depth":{"type":"integer","minimum":0,"maximum":100},"max_path_bytes":{"type":"integer","minimum":1,"maximum":65535}},"required":["max_entries","max_total_bytes","max_entry_bytes","max_compression_ratio","max_depth","max_path_bytes"],"additionalProperties":false},"provenance":{"maxItems":256,"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1},"arguments":{"maxItems":1024,"type":"array","items":{"type":"string","maxLength":4096}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"exit_code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"effects":{"maxItems":3,"type":"array","items":{"type":"string","enum":["read","write","mount"]}}},"required":["tool","arguments","tool_version","executable_sha256","exit_code","effects"],"additionalProperties":false}},"integrity_contradictions":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"contradiction_id":{"type":"string","pattern":"^ic_[a-f0-9]{64}$"},"occurrence_id":{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},"parent_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"logical_path":{"type":"string","minLength":1,"maxLength":4096},"declared_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"observed_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"entry_kind":{"type":"string","enum":["file","slice"]},"unpacked":{"type":"boolean"},"trust":{"type":"string","const":"observed-untrusted"},"provenance":{"type":"string","const":"container-integrity-metadata-versus-observed-bytes"},"limitations":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["contradiction_id","occurrence_id","parent_artifact_id","logical_path","declared_sha256","observed_sha256","entry_kind","unpacked","trust","provenance","limitations"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["manifest","nodes","occurrences","edges","limits","provenance","integrity_contradictions","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_artifact","analysisOperation":"inspect_artifact","title":"Inspect Artifact","description":"After open_binary binds a local archive, application package, or other artifact—or when one is already active—inspect it through one bounded, cancellable inventory substep. This tool accepts no path; in a target-free session open the target first. Returns the full substep Evidence and its ID, observations, derived relationships, hypotheses, contradictions, unexplored branches, limitations, and format-specific next probes. Any substep failure fails the whole call.","kind":"artifact-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"native_mount_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for native mount."},"integrity_policy":{"default":"fail","type":"string","enum":["fail","record-and-continue"],"description":"Value for integrity policy."},"integrity_continue_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for integrity continue."},"max_integrity_mismatches":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted integrity mismatches for this operation."},"max_observations":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum permitted observations for this operation."},"max_relationships":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum permitted relationships for this operation."},"max_hypotheses":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted hypotheses for this operation."},"max_unexplored_branches":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted unexplored branches for this operation."},"max_next_probes":{"default":20,"type":"integer","minimum":1,"maximum":50,"description":"Maximum permitted next probes for this operation."},"max_substeps":{"default":1,"type":"number","const":1,"description":"Maximum permitted substeps for this operation."},"max_entries":{"default":10000,"type":"integer","minimum":1,"maximum":1000000,"description":"Maximum permitted entries for this operation."},"max_total_bytes":{"default":1073741824,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted total bytes for this operation."},"max_entry_bytes":{"default":268435456,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted entry bytes for this operation."},"max_compression_ratio":{"default":1000,"type":"number","minimum":1,"maximum":100000,"description":"Maximum permitted compression ratio for this operation."},"max_depth":{"default":20,"type":"integer","minimum":0,"maximum":100,"description":"Maximum permitted depth for this operation."},"max_path_bytes":{"default":4096,"type":"integer","minimum":1,"maximum":65535,"description":"Maximum permitted path bytes for this operation."}},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"inspection_id":{"type":"string","pattern":"^ai_[a-f0-9]{64}$"},"subject":{"type":"object","properties":{"manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"root_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"root_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"root_format":{"type":"string","minLength":1,"maxLength":128}},"required":["manifest_id","root_artifact_id","root_sha256","root_format"],"additionalProperties":false},"substeps":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"object","properties":{"substep_id":{"type":"string","pattern":"^ais_[a-f0-9]{64}$"},"operation":{"type":"string","const":"inventory_artifact"},"status":{"type":"string","const":"completed"},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"evidence":{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}},"required":["substep_id","operation","status","evidence_id","evidence"],"additionalProperties":false}},"observations":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"observation_id":{"type":"string","pattern":"^aio_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["root-manifest","artifact","occurrence","integrity"]},"subject":{"type":"string","minLength":1,"maxLength":4096},"value":{"$ref":"#/$defs/__schema0"},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required":["observation_id","kind","subject","value","evidence_id"],"additionalProperties":false}},"derived_relationships":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"relationship_id":{"type":"string","pattern":"^air_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","extracts","slice-of","embeds","loads","maps-source","derived-from"]},"source_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"target_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"occurrence_id":{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},"logical_path":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required":["relationship_id","relation","source_artifact_id","target_artifact_id","occurrence_id","logical_path","evidence_id"],"additionalProperties":false}},"hypotheses":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"hypothesis_id":{"type":"string","pattern":"^aih_[a-f0-9]{64}$"},"statement":{"type":"string","minLength":1,"maxLength":4096},"confidence":{"type":"string","enum":["medium","low"]},"basis_evidence_ids":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitation":{"type":"string","minLength":1,"maxLength":4096}},"required":["hypothesis_id","statement","confidence","basis_evidence_ids","limitation"],"additionalProperties":false}},"contradictions":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"contradiction_id":{"type":"string","pattern":"^aic_[a-f0-9]{64}$"},"statement":{"type":"string","minLength":1,"maxLength":4096},"occurrence_id":{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},"declared_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"observed_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required":["contradiction_id","statement","occurrence_id","declared_sha256","observed_sha256","evidence_id"],"additionalProperties":false}},"unexplored_branches":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"branch_id":{"type":"string","pattern":"^aib_[a-f0-9]{64}$"},"reason":{"type":"string","enum":["page-limit","format-specific-analysis-required","unknown-format"]},"detail":{"type":"string","minLength":1,"maxLength":4096},"next_probe":{"anyOf":[{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":128},"rationale":{"type":"string","minLength":1,"maxLength":4096},"authority":{"type":"string","enum":["artifact-bytes","managed-static-analysis","native-analysis-provider","ast-static-analysis"]}},"required":["operation","rationale","authority"],"additionalProperties":false},{"type":"null"}]},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required":["branch_id","reason","detail","next_probe","evidence_id"],"additionalProperties":false}},"next_probes":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":128},"rationale":{"type":"string","minLength":1,"maxLength":4096},"authority":{"type":"string","enum":["artifact-bytes","managed-static-analysis","native-analysis-provider","ast-static-analysis"]}},"required":["operation","rationale","authority"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-substeps","partial","truncated"]},"substeps_completed":{"type":"number","const":1},"observations_retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"observations_omitted":{"type":"integer","minimum":0,"maximum":9007199254740991},"relationships_retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"relationships_omitted":{"type":"integer","minimum":0,"maximum":9007199254740991},"hypotheses_retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"hypotheses_omitted":{"type":"integer","minimum":0,"maximum":9007199254740991},"unexplored_branches_retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"unexplored_branches_omitted":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_probes_retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_probes_omitted":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","substeps_completed","observations_retained","observations_omitted","relationships_retained","relationships_omitted","hypotheses_retained","hypotheses_omitted","unexplored_branches_retained","unexplored_branches_omitted","next_probes_retained","next_probes_omitted"],"additionalProperties":false},"evidence_links":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","inspection_id","subject","substeps","observations","derived_relationships","hypotheses","contradictions","unexplored_branches","next_probes","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"extract_artifact","analysisOperation":"extract_artifact","title":"Extract Artifact","description":"Extract selected graph artifacts beneath an explicit output root. Requires approval, rejects traversal and symlink escapes, never overwrites, enforces bomb limits, and verifies cleanup.","kind":"artifact-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"output_root":{"type":"string","minLength":1,"maxLength":4096,"description":"Approved canonical filesystem output root."},"occurrence_ids":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},"description":"Value for occurrence ids."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"max_entries":{"default":10000,"type":"integer","minimum":1,"maximum":1000000,"description":"Maximum permitted entries for this operation."},"max_total_bytes":{"default":1073741824,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted total bytes for this operation."},"max_entry_bytes":{"default":268435456,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted entry bytes for this operation."},"max_compression_ratio":{"default":1000,"type":"number","minimum":1,"maximum":100000,"description":"Maximum permitted compression ratio for this operation."},"max_depth":{"default":20,"type":"integer","minimum":0,"maximum":100,"description":"Maximum permitted depth for this operation."},"max_path_bytes":{"default":4096,"type":"integer","minimum":1,"maximum":65535,"description":"Maximum permitted path bytes for this operation."}},"required":["approved","output_root","occurrence_ids"],"additionalProperties":false,"examples":[{"approved":true,"output_root":"/tmp/rea-extracted","occurrence_ids":["occ_0000000000000000000000000000000000000000000000000000000000000000"]}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"manifest":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"root_artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"root_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"root_format":{"type":"string","enum":["dmg","zip","pkg","asar","javascript-bundle","source-map","mach-o-universal","mach-o","elf","pe","hopper","analysis-database","ipa","apk","msix","appx","plist","entitlements","directory","file","unknown"]},"graph_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"occurrence_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"edge_count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["schema_version","manifest_id","root_artifact_id","root_sha256","root_format","graph_sha256","node_count","occurrence_count","edge_count"],"additionalProperties":false},"extraction_manifest":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"extraction_id":{"type":"string","pattern":"^aex_[a-f0-9]{64}$"},"source_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"selected_occurrence_ids":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"string","pattern":"^occ_[a-f0-9]{64}$"}},"files_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"output_root_alias":{"type":"string","const":"$OUTPUT_ROOT"}},"required":["schema_version","extraction_id","source_manifest_id","selected_occurrence_ids","files_sha256","output_root_alias"],"additionalProperties":false},"output_root":{"type":"string","minLength":1},"artifacts":{"type":"object","properties":{"items":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"relative_path":{"type":"string","minLength":1,"maxLength":4096},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes_written":{"type":"integer","minimum":0,"maximum":9007199254740991},"created":{"type":"boolean"}},"required":["artifact_id","relative_path","sha256","bytes_written","created"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":500},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"containment_verified":{"type":"boolean"},"cleanup":{"type":"object","properties":{"attempted":{"type":"boolean"},"verified":{"type":"boolean"},"residual_paths":{"maxItems":500,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["attempted","verified","residual_paths"],"additionalProperties":false},"limits":{"type":"object","properties":{"max_entries":{"type":"integer","minimum":1,"maximum":1000000},"max_total_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_entry_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_compression_ratio":{"type":"number","minimum":1,"maximum":100000},"max_depth":{"type":"integer","minimum":0,"maximum":100},"max_path_bytes":{"type":"integer","minimum":1,"maximum":65535}},"required":["max_entries","max_total_bytes","max_entry_bytes","max_compression_ratio","max_depth","max_path_bytes"],"additionalProperties":false},"provenance":{"maxItems":256,"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","minLength":1},"arguments":{"maxItems":1024,"type":"array","items":{"type":"string","maxLength":4096}},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"exit_code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"effects":{"maxItems":3,"type":"array","items":{"type":"string","enum":["read","write","mount"]}}},"required":["tool","arguments","tool_version","executable_sha256","exit_code","effects"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["manifest","extraction_manifest","output_root","artifacts","containment_verified","cleanup","limits","provenance","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":true,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_managed_artifact","analysisOperation":"inspect_managed_artifact","title":"Inspect Managed Artifact","description":"Open and classify an explicit managed PE/CLI path, or inspect the active managed target, then inventory exact assembly/module identity, target framework evidence, references, resources, and custom attributes without loading or executing target code. Returns bounded pages and explicit partial or malformed coverage.","kind":"managed-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"path":{"description":"Managed PE/CLI path to open before inspection; omit only when a managed target is already active","type":"string","minLength":1},"reference_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first reference to return."},"reference_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of reference entries to return."},"resource_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first resource to return."},"resource_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of resource entries to return."},"attribute_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first attribute to return."},"attribute_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of attribute entries to return."},"max_file_bytes":{"default":268435456,"type":"integer","minimum":4096,"maximum":1073741824,"description":"Maximum permitted file bytes for this operation."},"max_metadata_bytes":{"default":67108864,"type":"integer","minimum":256,"maximum":268435456,"description":"Maximum permitted metadata bytes for this operation."},"max_table_rows":{"default":100000,"type":"integer","minimum":1,"maximum":1000000,"description":"Maximum permitted table rows for this operation."},"max_heap_item_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted heap item bytes for this operation."}},"additionalProperties":false,"examples":[{"path":"/tmp/Example.dll"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"artifact":{"type":"object","properties":{"path":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"format":{"type":"string","const":"pe"}},"required":["path","sha256","byte_length","format"],"additionalProperties":false},"pe":{"type":"object","properties":{"machine":{"type":"integer","minimum":0,"maximum":65535},"machine_hex":{"type":"string","pattern":"^0x[0-9a-f]{4}$"},"architecture":{"type":"string","enum":["x86","x86_64","arm","arm64"]},"optional_header":{"type":"string","enum":["pe32","pe32-plus"]},"section_count":{"type":"integer","minimum":1,"maximum":96},"characteristics":{"type":"integer","minimum":0,"maximum":65535},"cli":{"anyOf":[{"type":"object","properties":{"header_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"header_size":{"type":"integer","minimum":72,"maximum":9007199254740991},"runtime_version":{"type":"string"},"flags":{"type":"integer","minimum":0,"maximum":4294967295},"flag_names":{"type":"array","items":{"type":"string"}},"entry_point":{"type":"object","properties":{"kind":{"type":"string","enum":["metadata-token","native-rva","none"]},"value":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["kind","value"],"additionalProperties":false},"metadata_rva":{"type":"integer","minimum":1,"maximum":4294967295},"metadata_size":{"type":"integer","minimum":1,"maximum":4294967295},"resources_rva":{"type":"integer","minimum":0,"maximum":4294967295},"resources_size":{"type":"integer","minimum":0,"maximum":4294967295},"strong_name_rva":{"type":"integer","minimum":0,"maximum":4294967295},"strong_name_size":{"type":"integer","minimum":0,"maximum":4294967295},"managed_native_header_rva":{"type":"integer","minimum":0,"maximum":4294967295},"managed_native_header_size":{"type":"integer","minimum":0,"maximum":4294967295},"ready_to_run_signature":{"type":"boolean"}},"required":["header_offset","header_size","runtime_version","flags","flag_names","entry_point","metadata_rva","metadata_size","resources_rva","resources_size","strong_name_rva","strong_name_size","managed_native_header_rva","managed_native_header_size","ready_to_run_signature"],"additionalProperties":false},{"type":"null"}]}},"required":["machine","machine_hex","architecture","optional_header","section_count","characteristics","cli"],"additionalProperties":false},"classification":{"type":"object","properties":{"status":{"type":"string","enum":["managed","not-managed","malformed"]},"container":{"type":"string","const":"pe"},"runtime_family":{"type":"string","enum":["dotnet-framework","modern-dotnet","unity-mono","mixed-clr-native","unknown"]},"implementation":{"type":"string","enum":["cil","cil-and-ready-to-run","cpp-cli-mixed","metadata-only","not-managed","unknown"]},"managed_architecture":{"type":"string","enum":["anycpu","anycpu-prefer-32","x86","x86_64","arm","arm64","unknown"]},"evidence":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","minLength":1},"detail":{"type":"string","minLength":1},"file_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["code","detail","file_offset"],"additionalProperties":false}}},"required":["status","container","runtime_family","implementation","managed_architecture","evidence"],"additionalProperties":false},"metadata":{"type":"object","properties":{"status":{"type":"string","enum":["absent","complete","partial","malformed"]},"version":{"anyOf":[{"type":"string"},{"type":"null"}]},"stream_names":{"type":"array","items":{"type":"string"}},"table_row_counts":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"integer","minimum":0,"maximum":4294967295}}},"required":["status","version","stream_names","table_row_counts"],"additionalProperties":false},"module":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"generation":{"type":"integer","minimum":0,"maximum":65535},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"enc_id":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"enc_base_id":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["name","generation","mvid","enc_id","enc_base_id","token","row_offset"],"additionalProperties":false},{"type":"null"}]},"assembly":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string","pattern":"^\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.\\\\d+$"},"culture":{"anyOf":[{"type":"string"},{"type":"null"}]},"flags":{"type":"integer","minimum":0,"maximum":4294967295},"hash_algorithm":{"type":"integer","minimum":0,"maximum":4294967295},"public_key":{"type":"object","properties":{"kind":{"type":"string","enum":["none","public-key","public-key-token"]},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"token":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{16}$"},{"type":"null"}]}},"required":["kind","byte_length","sha256","token"],"additionalProperties":false},"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["name","version","culture","flags","hash_algorithm","public_key","token","row_offset"],"additionalProperties":false},{"type":"null"}]},"target_frameworks":{"type":"array","items":{"type":"string"}},"references":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string","pattern":"^\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.\\\\d+$"},"culture":{"anyOf":[{"type":"string"},{"type":"null"}]},"flags":{"type":"integer","minimum":0,"maximum":4294967295},"public_key_or_token":{"type":"object","properties":{"kind":{"type":"string","enum":["none","public-key","public-key-token"]},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"token":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{16}$"},{"type":"null"}]}},"required":["kind","byte_length","sha256","token"],"additionalProperties":false},"hash_value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"hash_value_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["name","version","culture","flags","public_key_or_token","hash_value_sha256","hash_value_length","token","row_offset"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"resources":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"flags":{"type":"integer","minimum":0,"maximum":4294967295},"visibility":{"type":"string","enum":["public","private","unknown"]},"implementation_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"embedded":{"type":"boolean"},"declared_offset":{"type":"integer","minimum":0,"maximum":4294967295},"data_length":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"data_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["name","flags","visibility","implementation_token","embedded","declared_offset","data_length","data_sha256","token","row_offset"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"attributes":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"parent_token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"constructor_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"type_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"value_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"decoded_fixed_string":{"anyOf":[{"type":"string"},{"type":"null"}]},"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["parent_token","constructor_token","type_name","value_length","value_sha256","decoded_fixed_string","token","row_offset"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"coverage":{"type":"object","properties":{"state":{"type":"string","enum":["complete","partial","unavailable"]},"issues":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["invalid-cli-header","invalid-directory","invalid-metadata-root","invalid-stream","missing-stream","invalid-tables","invalid-row","invalid-heap-index","invalid-string","invalid-blob","invalid-guid","invalid-resource","limit-exceeded"]},"scope":{"type":"string","minLength":1},"offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"detail":{"type":"string","minLength":1}},"required":["code","scope","offset","detail"],"additionalProperties":false}}},"required":["state","issues"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","artifact","pe","classification","metadata","module","assembly","target_frameworks","references","resources","attributes","coverage","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_managed_members","analysisOperation":"inspect_managed_members","title":"Inspect Managed Members","description":"Inspect bounded PE/CLI metadata members, signatures, raw CIL hashes, limited member-result-v1 decoded-instruction-tuple hashes, separately reported exception regions, call edges, and field-access anchors without loading or executing target code. Metadata tokens are reported as build-local coordinates bound to the artifact SHA-256 and MVID; the v1 tuple hash does not resolve them or fully commit control flow.","kind":"managed-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"type_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first type to return."},"type_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of type entries to return."},"method_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first method to return."},"method_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of method entries to return."},"field_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first field to return."},"field_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of field entries to return."},"member_ref_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first member ref to return."},"member_ref_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of member ref entries to return."},"edge_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first edge to return."},"edge_limit":{"default":250,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum number of edge entries to return."},"instruction_anchor_limit":{"default":100,"type":"integer","minimum":0,"maximum":500,"description":"Maximum number of instruction anchor entries to return."},"max_file_bytes":{"default":268435456,"type":"integer","minimum":4096,"maximum":1073741824,"description":"Maximum permitted file bytes for this operation."},"max_metadata_bytes":{"default":67108864,"type":"integer","minimum":256,"maximum":268435456,"description":"Maximum permitted metadata bytes for this operation."},"max_table_rows":{"default":100000,"type":"integer","minimum":1,"maximum":1000000,"description":"Maximum permitted table rows for this operation."},"max_heap_item_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted heap item bytes for this operation."},"max_method_body_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted method body bytes for this operation."},"max_method_instructions":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted method instructions for this operation."}},"additionalProperties":false,"examples":[{"method_limit":25,"edge_limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"artifact":{"type":"object","properties":{"path":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"format":{"type":"string","const":"pe"}},"required":["path","sha256","byte_length","format"],"additionalProperties":false},"module":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"generation":{"type":"integer","minimum":0,"maximum":65535},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"enc_id":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"enc_base_id":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["name","generation","mvid","enc_id","enc_base_id","token","row_offset"],"additionalProperties":false},{"type":"null"}]},"metadata":{"type":"object","properties":{"status":{"type":"string","enum":["absent","complete","partial","malformed"]},"version":{"anyOf":[{"type":"string"},{"type":"null"}]},"table_row_counts":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"integer","minimum":0,"maximum":4294967295}}},"required":["status","version","table_row_counts"],"additionalProperties":false},"identity_scope":{"type":"object","properties":{"token_identity":{"type":"string","const":"build-local"},"requires_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"requires_mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]}},"required":["token_identity","requires_artifact_sha256","requires_mvid"],"additionalProperties":false},"types":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"namespace":{"type":"string"},"name":{"type":"string"},"full_name":{"type":"string"},"flags":{"type":"integer","minimum":0,"maximum":4294967295},"extends_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"field_list":{"type":"object","properties":{"first_row":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"last_row":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["first_row","last_row","count"],"additionalProperties":false},"method_list":{"type":"object","properties":{"first_row":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"last_row":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["first_row","last_row","count"],"additionalProperties":false}},"required":["token","row_offset","namespace","name","full_name","flags","extends_token","field_list","method_list"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"fields":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"declaring_type_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"flags":{"type":"integer","minimum":0,"maximum":65535},"signature":{"type":"object","properties":{"raw_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"raw_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"kind":{"type":"string","enum":["method","field","unknown"]},"parse_status":{"type":"string","enum":["decoded","partial","unsupported","malformed"]},"calling_convention":{"anyOf":[{"type":"string"},{"type":"null"}]},"generic_parameter_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"parameter_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"return_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"parameter_types":{"type":"array","items":{"type":"string"}},"field_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"issue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["raw_length","raw_sha256","kind","parse_status","calling_convention","generic_parameter_count","parameter_count","return_type","parameter_types","field_type","issue"],"additionalProperties":false}},"required":["token","row_offset","declaring_type_token","declaring_type","name","flags","signature"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"methods":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"declaring_type_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"rva":{"type":"integer","minimum":0,"maximum":4294967295},"impl_flags":{"type":"integer","minimum":0,"maximum":65535},"flags":{"type":"integer","minimum":0,"maximum":65535},"signature":{"type":"object","properties":{"raw_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"raw_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"kind":{"type":"string","enum":["method","field","unknown"]},"parse_status":{"type":"string","enum":["decoded","partial","unsupported","malformed"]},"calling_convention":{"anyOf":[{"type":"string"},{"type":"null"}]},"generic_parameter_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"parameter_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"return_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"parameter_types":{"type":"array","items":{"type":"string"}},"field_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"issue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["raw_length","raw_sha256","kind","parse_status","calling_convention","generic_parameter_count","parameter_count","return_type","parameter_types","field_type","issue"],"additionalProperties":false},"body":{"type":"object","properties":{"status":{"type":"string","enum":["present","partial","absent","malformed","too-large"]},"header_format":{"type":"string","enum":["tiny","fat","none","unknown"]},"rva":{"type":"integer","minimum":0,"maximum":4294967295},"file_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"max_stack":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"init_locals":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"local_var_sig_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"il_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"SHA-256 of exactly the raw il_size CIL bytes; excludes the method header, locals signature, alignment, and extra sections"},"normalized_il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Member-result-v1 SHA-256 of UTF-8 JSON [opcode, operand_kind, operand] tuples for a complete decode; retains build-local tokens, omits switch targets, and excludes headers, locals, and exception regions"},"instruction_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"decoded_instruction_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated_instructions":{"type":"integer","minimum":0,"maximum":9007199254740991},"opcode_counts":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"integer","minimum":1,"maximum":9007199254740991}},"anchors":{"type":"array","items":{"type":"object","properties":{"il_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"opcode":{"type":"string","minLength":1},"operand_kind":{"type":"string","enum":["none","branch","constant","field","method","signature","string","switch","token","type","variable","unknown"]},"operand":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["il_offset","opcode","operand_kind","operand"],"additionalProperties":false}},"exception_regions":{"type":"array","items":{"type":"object","properties":{"flags":{"type":"integer","minimum":0,"maximum":4294967295},"try_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"try_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"handler_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"handler_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"class_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"filter_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["flags","try_offset","try_length","handler_offset","handler_length","class_token","filter_offset"],"additionalProperties":false}},"issue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","header_format","rva","file_offset","max_stack","init_locals","local_var_sig_token","il_size","il_sha256","normalized_il_sha256","instruction_count","decoded_instruction_count","truncated_instructions","opcode_counts","anchors","exception_regions","issue"],"additionalProperties":false}},"required":["token","row_offset","declaring_type_token","declaring_type","name","rva","impl_flags","flags","signature","body"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"member_refs":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"parent_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"name":{"type":"string"},"signature":{"type":"object","properties":{"raw_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"raw_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"kind":{"type":"string","enum":["method","field","unknown"]},"parse_status":{"type":"string","enum":["decoded","partial","unsupported","malformed"]},"calling_convention":{"anyOf":[{"type":"string"},{"type":"null"}]},"generic_parameter_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"parameter_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"return_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"parameter_types":{"type":"array","items":{"type":"string"}},"field_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"issue":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["raw_length","raw_sha256","kind","parse_status","calling_convention","generic_parameter_count","parameter_count","return_type","parameter_types","field_type","issue"],"additionalProperties":false}},"required":["token","row_offset","parent_token","name","signature"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"call_edges":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"caller_token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"caller":{"anyOf":[{"type":"string"},{"type":"null"}]},"opcode":{"type":"string"},"target_token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"target_kind":{"type":"string","enum":["method-def","member-ref","method-spec","unknown"]},"target_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["caller_token","caller","opcode","target_token","target_kind","target_name"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"field_accesses":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"method_token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"method":{"anyOf":[{"type":"string"},{"type":"null"}]},"opcode":{"type":"string"},"field_token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"field_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["method_token","method","opcode","field_token","field_name"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"coverage":{"type":"object","properties":{"state":{"type":"string","enum":["complete","partial","unavailable"]},"issues":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["invalid-cli-header","invalid-directory","invalid-metadata-root","invalid-stream","missing-stream","invalid-tables","invalid-row","invalid-heap-index","invalid-string","invalid-blob","invalid-guid","invalid-resource","limit-exceeded"]},"scope":{"type":"string","minLength":1},"offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"detail":{"type":"string","minLength":1}},"required":["code","scope","offset","detail"],"additionalProperties":false}}},"required":["state","issues"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","artifact","module","metadata","identity_scope","types","fields","methods","member_refs","call_edges","field_accesses","coverage","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_managed_native_boundaries","analysisOperation":"inspect_managed_native_boundaries","title":"Inspect Managed Native Boundaries","description":"Inspect PE/CLI ModuleRef, ImplMap/PInvoke declarations, CLI native-header indicators, and non-IL method implementation flags without loading or executing target code. Results are managed declarations and degraded native-boundary observations, not verified native exports or addresses.","kind":"managed-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"module_ref_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first module ref to return."},"module_ref_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of module ref entries to return."},"import_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first import to return."},"import_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of import entries to return."},"implementation_offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first implementation to return."},"implementation_limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of implementation entries to return."},"max_file_bytes":{"default":268435456,"type":"integer","minimum":4096,"maximum":1073741824,"description":"Maximum permitted file bytes for this operation."},"max_metadata_bytes":{"default":67108864,"type":"integer","minimum":256,"maximum":268435456,"description":"Maximum permitted metadata bytes for this operation."},"max_table_rows":{"default":100000,"type":"integer","minimum":1,"maximum":1000000,"description":"Maximum permitted table rows for this operation."},"max_heap_item_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted heap item bytes for this operation."}},"additionalProperties":false,"examples":[{"import_limit":50,"implementation_limit":50}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"artifact":{"type":"object","properties":{"path":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"format":{"type":"string","const":"pe"}},"required":["path","sha256","byte_length","format"],"additionalProperties":false},"module":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"generation":{"type":"integer","minimum":0,"maximum":65535},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"enc_id":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"enc_base_id":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["name","generation","mvid","enc_id","enc_base_id","token","row_offset"],"additionalProperties":false},{"type":"null"}]},"metadata":{"type":"object","properties":{"status":{"type":"string","enum":["absent","complete","partial","malformed"]},"version":{"anyOf":[{"type":"string"},{"type":"null"}]},"table_row_counts":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"integer","minimum":0,"maximum":4294967295}}},"required":["status","version","table_row_counts"],"additionalProperties":false},"identity_scope":{"type":"object","properties":{"token_identity":{"type":"string","const":"build-local"},"requires_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"requires_mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]}},"required":["token_identity","requires_artifact_sha256","requires_mvid"],"additionalProperties":false},"cli_native":{"type":"object","properties":{"il_only":{"type":"boolean"},"requires_32bit":{"type":"boolean"},"strong_name_signed":{"type":"boolean"},"native_entry_point":{"type":"boolean"},"ready_to_run_signature":{"type":"boolean"},"managed_native_header_rva":{"type":"integer","minimum":0,"maximum":4294967295},"managed_native_header_size":{"type":"integer","minimum":0,"maximum":4294967295}},"required":["il_only","requires_32bit","strong_name_signed","native_entry_point","ready_to_run_signature","managed_native_header_rva","managed_native_header_size"],"additionalProperties":false},"module_refs":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"name":{"type":"string"}},"required":["token","row_offset","name"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"pinvoke_imports":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"mapping_flags":{"type":"integer","minimum":0,"maximum":65535},"mapping_flags_hex":{"type":"string","pattern":"^0x[0-9a-f]{4}$"},"member_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"member_kind":{"type":"string","enum":["method","field","unknown"]},"member_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"import_name":{"type":"string"},"import_scope_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"import_scope_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"no_mangle":{"type":"boolean"},"char_set":{"type":"string","enum":["not-specified","ansi","unicode","auto","unknown"]},"call_convention":{"type":"string","enum":["not-specified","winapi","cdecl","stdcall","thiscall","fastcall","unknown"]},"supports_last_error":{"type":"boolean"},"best_fit":{"type":"string","enum":["assembly-default","enabled","disabled","unknown"]},"throw_on_unmappable_char":{"type":"string","enum":["assembly-default","enabled","disabled","unknown"]},"verification":{"type":"string","const":"managed-declaration-only"}},"required":["token","row_offset","mapping_flags","mapping_flags_hex","member_token","member_kind","member_name","import_name","import_scope_token","import_scope_name","no_mangle","char_set","call_convention","supports_last_error","best_fit","throw_on_unmappable_char","verification"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"native_implementations":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"row_offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"name":{"type":"string"},"rva":{"type":"integer","minimum":0,"maximum":4294967295},"flags":{"type":"integer","minimum":0,"maximum":65535},"impl_flags":{"type":"integer","minimum":0,"maximum":65535},"code_type":{"type":"string","enum":["il","native","optil","runtime","unknown"]},"managed_kind":{"type":"string","enum":["managed","unmanaged","unknown"]},"pinvoke_declared":{"type":"boolean"},"boundary_kind":{"type":"string","enum":["pinvoke","native-body","runtime-provided","unmanaged-method","mixed-or-unknown"]},"body_interpretation":{"type":"string","enum":["managed-cil","native-or-runtime","not-file-backed","unknown"]}},"required":["token","row_offset","name","rva","flags","impl_flags","code_type","managed_kind","pinvoke_declared","boundary_kind","body_interpretation"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["items","offset","limit","total","returned","dropped","complete"],"additionalProperties":false},"summary":{"type":"object","properties":{"module_ref_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"pinvoke_import_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_implementation_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"ready_to_run":{"type":"boolean"},"mixed_mode_or_native_header":{"type":"boolean"}},"required":["module_ref_count","pinvoke_import_count","native_implementation_count","ready_to_run","mixed_mode_or_native_header"],"additionalProperties":false},"coverage":{"type":"object","properties":{"state":{"type":"string","enum":["complete","partial","unavailable"]},"issues":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["invalid-cli-header","invalid-directory","invalid-metadata-root","invalid-stream","missing-stream","invalid-tables","invalid-row","invalid-heap-index","invalid-string","invalid-blob","invalid-guid","invalid-resource","limit-exceeded"]},"scope":{"type":"string","minLength":1},"offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"detail":{"type":"string","minLength":1}},"required":["code","scope","offset","detail"],"additionalProperties":false}}},"required":["state","issues"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","artifact","module","metadata","identity_scope","cli_native","module_refs","pinvoke_imports","native_implementations","summary","coverage","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_managed_members","analysisOperation":null,"title":"Compare Managed Members","description":"Compare two authenticated inspect_managed_members Evidence records using unique-only decoded-CIL-v1/signature and structural method-shape tiers. Names are reported as observations but are not used as a matching basis; metadata tokens remain build-local coordinates bound to each artifact SHA-256 and MVID, and the v1 tuple digest does not itself remap them.","kind":"application","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"left_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_members Evidence ID"},"right_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_members Evidence ID"},"limits":{"default":{"max_method_matches":10000,"max_field_matches":5000,"max_candidates":50},"type":"object","properties":{"max_method_matches":{"default":10000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted method matches for this operation."},"max_field_matches":{"default":5000,"type":"integer","minimum":0,"maximum":50000,"description":"Maximum permitted field matches for this operation."},"max_candidates":{"default":50,"type":"integer","minimum":1,"maximum":500,"description":"Maximum permitted candidates for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["left_evidence_id","right_evidence_id"],"additionalProperties":false,"examples":[{"left_evidence_id":"ev_45a77d52db5dc9beaf59a9b8ee062c945fda709bd0d3a91fa4e972d85a848324","right_evidence_id":"ev_8d6450759b2bb695b3b41b0db8d7ddc4a3e9f64a52b93194bc59d2b564c2285c","limits":{"max_method_matches":100,"max_field_matches":50,"max_candidates":25}}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"comparison_id":{"type":"string","pattern":"^mmc_[a-f0-9]{64}$"},"algorithm":{"type":"object","properties":{"name":{"type":"string","const":"rea-managed-member-comparison"},"version":{"type":"number","const":1},"token_identity":{"type":"string","const":"build-local"},"name_matching":{"type":"string","const":"not-used"}},"required":["name","version","token_identity","name_matching"],"additionalProperties":false},"left":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadata_status":{"type":"string","enum":["absent","complete","partial","malformed"]},"methods_total":{"type":"integer","minimum":0,"maximum":9007199254740991},"fields_total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["evidence_id","artifact_sha256","mvid","module_name","metadata_status","methods_total","fields_total"],"additionalProperties":false},"right":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadata_status":{"type":"string","enum":["absent","complete","partial","malformed"]},"methods_total":{"type":"integer","minimum":0,"maximum":9007199254740991},"fields_total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["evidence_id","artifact_sha256","mvid","module_name","metadata_status","methods_total","fields_total"],"additionalProperties":false},"summary":{"type":"object","properties":{"unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"changed":{"type":"integer","minimum":0,"maximum":9007199254740991},"added":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["unchanged","changed","added","removed","unknown"],"additionalProperties":false},"matching":{"type":"object","properties":{"exact_il_signature":{"type":"integer","minimum":0,"maximum":9007199254740991},"structural_method_shape":{"type":"integer","minimum":0,"maximum":9007199254740991},"field_signature":{"type":"integer","minimum":0,"maximum":9007199254740991},"ambiguous":{"type":"integer","minimum":0,"maximum":9007199254740991},"unmatched":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["exact_il_signature","structural_method_shape","field_signature","ambiguous","unmatched"],"additionalProperties":false},"methods":{"maxItems":50000,"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","pattern":"^mmc_method_[a-f0-9]{64}$"},"status":{"type":"string","enum":["unchanged","changed","added","removed","unknown"]},"left":{"anyOf":[{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"normalized_il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["token","declaring_type","name","signature_sha256","normalized_il_sha256"],"additionalProperties":false},{"type":"null"}]},"right":{"anyOf":[{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"normalized_il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["token","declaring_type","name","signature_sha256","normalized_il_sha256"],"additionalProperties":false},{"type":"null"}]},"match":{"type":"object","properties":{"status":{"type":"string","enum":["matched","unmatched","ambiguous"]},"basis":{"type":"string","enum":["exact-il-signature","structural-method-shape","field-signature","none"]},"confidence":{"type":"string","enum":["exact","high","unknown"]},"candidate_left_tokens":{"maxItems":500,"type":"array","items":{"type":"string","pattern":"^0x[0-9a-f]{8}$"}},"candidate_right_tokens":{"maxItems":500,"type":"array","items":{"type":"string","pattern":"^0x[0-9a-f]{8}$"}}},"required":["status","basis","confidence","candidate_left_tokens","candidate_right_tokens"],"additionalProperties":false},"dimensions":{"maxItems":7,"type":"array","items":{"type":"string","enum":["signature","cil","opcode-shape","call-shape","field-shape","exception-shape","availability"]}},"evidence_links":{"minItems":2,"maxItems":2,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["item_id","status","left","right","match","dimensions","evidence_links","limitations"],"additionalProperties":false}},"fields":{"maxItems":50000,"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","pattern":"^mmc_field_[a-f0-9]{64}$"},"status":{"type":"string","enum":["unchanged","changed","added","removed","unknown"]},"left":{"anyOf":[{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["token","declaring_type","name","signature_sha256"],"additionalProperties":false},{"type":"null"}]},"right":{"anyOf":[{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["token","declaring_type","name","signature_sha256"],"additionalProperties":false},{"type":"null"}]},"match":{"type":"object","properties":{"status":{"type":"string","enum":["matched","unmatched","ambiguous"]},"basis":{"type":"string","enum":["exact-il-signature","structural-method-shape","field-signature","none"]},"confidence":{"type":"string","enum":["exact","high","unknown"]},"candidate_left_tokens":{"maxItems":500,"type":"array","items":{"type":"string","pattern":"^0x[0-9a-f]{8}$"}},"candidate_right_tokens":{"maxItems":500,"type":"array","items":{"type":"string","pattern":"^0x[0-9a-f]{8}$"}}},"required":["status","basis","confidence","candidate_left_tokens","candidate_right_tokens"],"additionalProperties":false},"evidence_links":{"minItems":2,"maxItems":2,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["item_id","status","left","right","match","evidence_links","limitations"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-inputs","partial","truncated"]},"left_status":{"type":"string","enum":["complete","partial","unavailable"]},"right_status":{"type":"string","enum":["complete","partial","unavailable"]},"omitted_methods":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_fields":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_candidates":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","left_status","right_status","omitted_methods","omitted_fields","omitted_candidates"],"additionalProperties":false},"evidence_links":{"minItems":2,"maxItems":2,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","comparison_id","algorithm","left","right","summary","matching","methods","fields","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"verify_managed_native_boundaries","analysisOperation":null,"title":"Verify Managed Native Boundaries","description":"Verify managed P/Invoke/native-boundary declarations against authenticated native export or function Evidence without executing managed code or translating managed metadata tokens into native addresses. The workflow preserves declaration-only, verified, inferred, contradicted, and unresolved states.","kind":"application","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"managed_boundaries_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_native_boundaries Evidence ID"},"native_observation_evidence_ids":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_macho or analyze_function Evidence ID"},"description":"Unique session-owned native observation Evidence IDs"},"limits":{"default":{"max_native_observations":20,"max_candidates_per_import":25},"type":"object","properties":{"max_native_observations":{"default":20,"type":"integer","minimum":1,"maximum":50,"description":"Maximum permitted native observations for this operation."},"max_candidates_per_import":{"default":25,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted candidates per import for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["managed_boundaries_evidence_id","native_observation_evidence_ids"],"additionalProperties":false,"examples":[{"managed_boundaries_evidence_id":"ev_5e142d4464b916bcff63fb0835c686152b5b0473a9f1d5f5060d329b1b29739d","native_observation_evidence_ids":["ev_74758ad108882d5752dae4f8fa030c1ed6c7dd62857cb9d2d3a7ce931b52ee7c"],"limits":{"max_native_observations":20,"max_candidates_per_import":25}}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"verification_id":{"type":"string","pattern":"^mnv_[a-f0-9]{64}$"},"algorithm":{"type":"object","properties":{"name":{"type":"string","const":"rea-managed-native-verification"},"version":{"type":"number","const":1},"token_identity":{"type":"string","const":"build-local"},"token_to_address_mapping":{"type":"string","const":"not-inferred"}},"required":["name","version","token_identity","token_to_address_mapping"],"additionalProperties":false},"managed_boundary":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"artifact_path":{"type":"string","minLength":1},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"metadata_status":{"type":"string","enum":["absent","complete","partial","malformed"]},"pinvoke_imports_total":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_implementations_total":{"type":"integer","minimum":0,"maximum":9007199254740991},"coverage_state":{"type":"string","enum":["complete","partial","unavailable"]}},"required":["evidence_id","artifact_sha256","artifact_path","mvid","metadata_status","pinvoke_imports_total","native_implementations_total","coverage_state"],"additionalProperties":false},"native_observations":{"type":"object","properties":{"total":{"type":"integer","minimum":1,"maximum":9007199254740991},"accepted":{"type":"integer","minimum":0,"maximum":9007199254740991},"unsupported":{"type":"integer","minimum":0,"maximum":9007199254740991},"symbols":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"}},"required":["total","accepted","unsupported","symbols","truncated"],"additionalProperties":false},"summary":{"type":"object","properties":{"verified":{"type":"integer","minimum":0,"maximum":9007199254740991},"inferred":{"type":"integer","minimum":0,"maximum":9007199254740991},"unresolved":{"type":"integer","minimum":0,"maximum":9007199254740991},"contradicted":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_body_unresolved":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["verified","inferred","unresolved","contradicted","native_body_unresolved"],"additionalProperties":false},"pinvoke_imports":{"maxItems":50000,"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","pattern":"^mnv_pinvoke_[a-f0-9]{64}$"},"managed":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"member_token":{"anyOf":[{"type":"string","pattern":"^0x[0-9a-f]{8}$"},{"type":"null"}]},"member_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"import_name":{"type":"string","minLength":1},"import_scope_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"no_mangle":{"type":"boolean"},"char_set":{"type":"string","enum":["not-specified","ansi","unicode","auto","unknown"]},"call_convention":{"type":"string","enum":["not-specified","winapi","cdecl","stdcall","thiscall","fastcall","unknown"]},"declaration_verification":{"type":"string","const":"managed-declaration-only"}},"required":["token","member_token","member_name","import_name","import_scope_name","no_mangle","char_set","call_convention","declaration_verification"],"additionalProperties":false},"status":{"type":"string","enum":["verified","inferred","unresolved","contradicted"]},"basis":{"type":"string","enum":["exact-export-name","exact-function-name","decorated-name-candidate","module-mismatch","no-native-candidate","unsupported-native-evidence"]},"confidence":{"type":"string","enum":["observed","inferred","unknown"]},"matched_native":{"anyOf":[{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"operation":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"address":{"anyOf":[{"type":"string"},{"type":"null"}]},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"module_path":{"anyOf":[{"type":"string"},{"type":"null"}]},"source":{"type":"string","enum":["macho-export","function-dossier"]}},"required":["evidence_id","operation","name","address","module_name","module_path","source"],"additionalProperties":false},{"type":"null"}]},"candidates":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"operation":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"address":{"anyOf":[{"type":"string"},{"type":"null"}]},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"module_path":{"anyOf":[{"type":"string"},{"type":"null"}]},"source":{"type":"string","enum":["macho-export","function-dossier"]}},"required":["evidence_id","operation","name","address","module_name","module_path","source"],"additionalProperties":false}},"evidence_links":{"minItems":1,"maxItems":51,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["item_id","managed","status","basis","confidence","matched_native","candidates","evidence_links","limitations"],"additionalProperties":false}},"native_implementations":{"type":"object","properties":{"unresolved":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":4096}},"required":["unresolved","reason"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-inputs","partial","truncated"]},"omitted_native_observations":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_candidates":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","omitted_native_observations","omitted_candidates"],"additionalProperties":false},"evidence_links":{"minItems":2,"maxItems":51,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","verification_id","algorithm","managed_boundary","native_observations","summary","pinvoke_imports","native_implementations","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"import_managed_reconstruction","analysisOperation":null,"title":"Import Managed Reconstruction","description":"Import decompiler-produced managed reconstruction against authenticated inspect_managed_members Evidence. The workflow locks each method to artifact SHA-256, MVID, metadata token, signature hash, and the limited member-result-v1 decoded-IL tuple hash, records the decompiler identity and options, and marks C# or pseudocode as analyst inference rather than canonical byte observation.","kind":"application","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"decompiler":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":512,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}],"description":"Value for version."},"family":{"type":"string","enum":["ilspy","dnspy","dnlib","mono-cecil","other"],"description":"Value for family."},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of executable."},"options":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","maxLength":512},"description":"Value for options."}},"required":["name","version","family","executable_sha256"],"additionalProperties":false,"description":"Value for decompiler."},"methods":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$","description":"Value for token."},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of signature."},"normalized_il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of normalized il."},"reconstruction":{"type":"object","properties":{"kind":{"type":"string","enum":["decompiled-csharp","decompiled-il","semantic-pseudocode"],"description":"Value for kind."},"language":{"type":"string","enum":["csharp","il","pseudocode"],"description":"Value for language."},"text":{"type":"string","minLength":1,"maxLength":65536,"description":"Value for text."},"text_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of text."},"source_path":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}],"description":"Local filesystem path for source."},"start_line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}],"description":"Value for start line."},"end_line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}],"description":"Value for end line."}},"required":["kind","language","text"],"additionalProperties":false,"description":"Value for reconstruction."}},"required":["token","signature_sha256","normalized_il_sha256","reconstruction"],"additionalProperties":false},"description":"Value for methods."},"notes":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for notes."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."},"static_members_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_members Evidence ID"}},"required":["decompiler","methods","static_members_evidence_id"],"additionalProperties":false,"examples":[{"static_members_evidence_id":"ev_4871226711dcb86d73cebb54bc54c6e1d6cf227c94c7cf67685dc5d805511493","decompiler":{"name":"ilspycmd","version":"9.1.0.7988","family":"ilspy","executable_sha256":null,"options":["--disable-updatecheck","--type","Example.Program"]},"methods":[{"token":"0x06000001","signature_sha256":"3333333333333333333333333333333333333333333333333333333333333333","normalized_il_sha256":"5555555555555555555555555555555555555555555555555555555555555555","reconstruction":{"kind":"decompiled-csharp","language":"csharp","text":"internal static void Main() { }","source_path":"/examples/Example.Program.cs","start_line":1,"end_line":1}}],"notes":["Synthetic example only; decompiler output is imported as inference."]}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"reconstruction_id":{"type":"string","pattern":"^mre_[a-f0-9]{64}$"},"phase":{"type":"string","const":"reconstruction-import"},"executed":{"type":"boolean","const":false},"static_observation":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"artifact_path":{"type":"string","minLength":1},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"metadata_status":{"type":"string","enum":["absent","complete","partial","malformed"]}},"required":["evidence_id","artifact_sha256","artifact_path","byte_length","module_name","mvid","metadata_status"],"additionalProperties":false},"decompiler":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":512},"version":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}]},"family":{"type":"string","enum":["ilspy","dnspy","dnlib","mono-cecil","other"]},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"options":{"default":[],"maxItems":50,"type":"array","items":{"type":"string","maxLength":512}},"options_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["name","version","family","executable_sha256","options","options_sha256"],"additionalProperties":false},"summary":{"type":"object","properties":{"imported_methods":{"type":"integer","minimum":1,"maximum":50},"decompiled_csharp_methods":{"type":"integer","minimum":0,"maximum":50},"decompiled_il_methods":{"type":"integer","minimum":0,"maximum":50},"pseudocode_methods":{"type":"integer","minimum":0,"maximum":50},"total_text_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["imported_methods","decompiled_csharp_methods","decompiled_il_methods","pseudocode_methods","total_text_bytes"],"additionalProperties":false},"methods":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"normalized_il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"body_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"il_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"reconstruction":{"type":"object","properties":{"kind":{"type":"string","enum":["decompiled-csharp","decompiled-il","semantic-pseudocode"]},"language":{"type":"string","enum":["csharp","il","pseudocode"]},"text":{"type":"string","minLength":1,"maxLength":65536},"text_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"text_length":{"type":"integer","minimum":1,"maximum":65536},"line_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"source_path":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]},"start_line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"end_line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]}},"required":["kind","language","text","text_sha256","text_length","line_count","source_path","start_line","end_line"],"additionalProperties":false},"validation":{"type":"object","properties":{"matched_static_member":{"type":"boolean","const":true},"exact_build_required":{"type":"boolean","const":true},"canonical_observation":{"type":"boolean","const":false},"confidence_floor":{"type":"string","const":"inference"}},"required":["matched_static_member","exact_build_required","canonical_observation","confidence_floor"],"additionalProperties":false}},"required":["token","declaring_type","name","signature_sha256","normalized_il_sha256","body_sha256","il_size","reconstruction","validation"],"additionalProperties":false}},"notes":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_links":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","reconstruction_id","phase","executed","static_observation","decompiler","summary","methods","notes","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"plan_managed_runtime_correlation","analysisOperation":null,"title":"Plan Managed Runtime Correlation","description":"Prepare a separately authorized managed runtime-correlation admission plan from authenticated inspect_managed_members Evidence. The operation is default-disabled, requires the managed_runtime permission ceiling and grant, locks the exact artifact SHA-256, MVID, method signature, and limited member-result-v1 decoded-IL tuple hash, distinguishes attach/load/debugger/reflection/instrumentation effects, and records that no target code was executed.","kind":"application","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"method":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$","description":"Value for token."},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of signature."},"normalized_il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of normalized il."}},"required":["token","signature_sha256","normalized_il_sha256"],"additionalProperties":false,"description":"Value for method."},"requested_effect":{"type":"string","enum":["attach","load","debugger","reflection","instrumentation"],"description":"Value for requested effect."},"host":{"type":"object","properties":{"os":{"type":"string","enum":["linux","macos","windows"],"description":"Value for os."},"clr_family":{"type":"string","enum":["dotnet","dotnet-framework","mono","unknown"],"description":"Value for clr family."},"architecture":{"type":"string","enum":["x86","x86_64","arm","arm64"],"description":"Value for architecture."}},"required":["os","clr_family","architecture"],"additionalProperties":false,"description":"Value for host."},"bounds":{"default":{"timeout_ms":5000,"max_threads":32,"max_output_bytes":65536,"allow_network":false,"allow_ui":false},"type":"object","properties":{"timeout_ms":{"default":5000,"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"max_threads":{"default":32,"type":"integer","minimum":1,"maximum":256,"description":"Maximum permitted threads for this operation."},"max_output_bytes":{"default":65536,"type":"integer","minimum":0,"maximum":1048576,"description":"Maximum permitted output bytes for this operation."},"allow_network":{"default":false,"type":"boolean","const":false,"description":"Value for allow network."},"allow_ui":{"default":false,"type":"boolean","const":false,"description":"Value for allow ui."}},"additionalProperties":false,"description":"Value for bounds."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."},"static_members_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_members Evidence ID"}},"required":["method","requested_effect","host","static_members_evidence_id"],"additionalProperties":false,"examples":[{"static_members_evidence_id":"ev_4871226711dcb86d73cebb54bc54c6e1d6cf227c94c7cf67685dc5d805511493","method":{"token":"0x06000001","signature_sha256":"3333333333333333333333333333333333333333333333333333333333333333","normalized_il_sha256":"5555555555555555555555555555555555555555555555555555555555555555"},"requested_effect":"attach","host":{"os":"linux","clr_family":"dotnet","architecture":"x86_64"},"bounds":{"timeout_ms":5000,"max_threads":32,"max_output_bytes":65536,"allow_network":false,"allow_ui":false}}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"correlation_id":{"type":"string","pattern":"^mrc_[a-f0-9]{64}$"},"phase":{"type":"string","const":"admission-plan"},"executed":{"type":"boolean","const":false},"authority_model":{"type":"object","properties":{"capability":{"type":"string","const":"managed_runtime"},"permission_grant_id":{"type":"string","minLength":1},"default_enabled":{"type":"boolean","const":false},"per_call_approval_required":{"type":"boolean","const":true}},"required":["capability","permission_grant_id","default_enabled","per_call_approval_required"],"additionalProperties":false},"static_observation":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"artifact_path":{"type":"string","minLength":1},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"mvid":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$"},{"type":"null"}]},"metadata_status":{"type":"string","enum":["absent","complete","partial","malformed"]}},"required":["evidence_id","artifact_sha256","artifact_path","byte_length","module_name","mvid","metadata_status"],"additionalProperties":false},"method_lock":{"type":"object","properties":{"token":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"signature_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"normalized_il_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"body_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"il_size":{"type":"integer","minimum":0,"maximum":9007199254740991},"body_status":{"type":"string","enum":["present","partial","absent","malformed","too-large"]},"exact_build_required":{"type":"boolean","const":true}},"required":["token","declaring_type","name","signature_sha256","normalized_il_sha256","body_sha256","il_size","body_status","exact_build_required"],"additionalProperties":false},"requested_runtime":{"type":"object","properties":{"effect":{"type":"string","enum":["attach","load","debugger","reflection","instrumentation"]},"host":{"type":"object","properties":{"os":{"type":"string","enum":["linux","macos","windows"]},"clr_family":{"type":"string","enum":["dotnet","dotnet-framework","mono","unknown"]},"architecture":{"type":"string","enum":["x86","x86_64","arm","arm64"]}},"required":["os","clr_family","architecture"],"additionalProperties":false},"executable_path":{"type":"string","minLength":1},"network":{"type":"string","const":"none"},"filesystem":{"type":"string","const":"owned-artifacts-only"}},"required":["effect","host","executable_path","network","filesystem"],"additionalProperties":false},"effect_taxonomy":{"type":"object","properties":{"attaches_process":{"type":"boolean"},"loads_target":{"type":"boolean"},"uses_debugger":{"type":"boolean"},"uses_reflection":{"type":"boolean"},"instruments_code":{"type":"boolean"},"invokes_target_code":{"type":"boolean","const":false}},"required":["attaches_process","loads_target","uses_debugger","uses_reflection","instruments_code","invokes_target_code"],"additionalProperties":false},"bounds":{"type":"object","properties":{"timeout_ms":{"default":5000,"type":"integer","minimum":1,"maximum":60000},"max_threads":{"default":32,"type":"integer","minimum":1,"maximum":256},"max_output_bytes":{"default":65536,"type":"integer","minimum":0,"maximum":1048576},"allow_network":{"default":false,"type":"boolean","const":false},"allow_ui":{"default":false,"type":"boolean","const":false}},"required":["timeout_ms","max_threads","max_output_bytes","allow_network","allow_ui"],"additionalProperties":false},"unsupported_until_executor_exists":{"type":"boolean","const":true},"evidence_links":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","correlation_id","phase","executed","authority_model","static_observation","method_lock","requested_runtime","effect_taxonomy","bounds","unsupported_until_executor_exists","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"project_managed_application_graph","analysisOperation":null,"title":"Project Managed Application Graph","description":"Project authenticated managed artifact, member, and native-boundary Evidence into the provider-neutral application graph without executing managed code, loading assemblies, or translating managed metadata tokens to native addresses. The graph preserves managed static observations as managed-specific nodes linked to source Evidence.","kind":"application","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"managed_artifact_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_artifact Evidence ID"},"managed_members_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_members Evidence ID"},"managed_native_boundaries_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Session-owned inspect_managed_native_boundaries Evidence ID"},"limits":{"default":{"max_types":5000,"max_methods":10000,"max_fields":5000,"max_pinvoke_imports":5000,"max_native_implementations":5000},"type":"object","properties":{"max_types":{"default":5000,"type":"integer","minimum":0,"maximum":100000,"description":"Maximum permitted types for this operation."},"max_methods":{"default":10000,"type":"integer","minimum":0,"maximum":100000,"description":"Maximum permitted methods for this operation."},"max_fields":{"default":5000,"type":"integer","minimum":0,"maximum":100000,"description":"Maximum permitted fields for this operation."},"max_pinvoke_imports":{"default":5000,"type":"integer","minimum":0,"maximum":100000,"description":"Maximum permitted pinvoke imports for this operation."},"max_native_implementations":{"default":5000,"type":"integer","minimum":0,"maximum":100000,"description":"Maximum permitted native implementations for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"additionalProperties":false,"examples":[{"managed_members_evidence_id":"ev_4871226711dcb86d73cebb54bc54c6e1d6cf227c94c7cf67685dc5d805511493","limits":{"max_types":100,"max_methods":100,"max_fields":100,"max_pinvoke_imports":100,"max_native_implementations":100}}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"projection_id":{"type":"string","pattern":"^magp_[a-f0-9]{64}$"},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"source_evidence":{"type":"object","properties":{"managed_artifact_evidence_id":{"anyOf":[{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},{"type":"null"}]},"managed_members_evidence_id":{"anyOf":[{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},{"type":"null"}]},"managed_native_boundaries_evidence_id":{"anyOf":[{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},{"type":"null"}]}},"required":["managed_artifact_evidence_id","managed_members_evidence_id","managed_native_boundaries_evidence_id"],"additionalProperties":false},"summary":{"type":"object","properties":{"graph_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"graph_edges":{"type":"integer","minimum":0,"maximum":9007199254740991},"assemblies":{"type":"integer","minimum":0,"maximum":9007199254740991},"modules":{"type":"integer","minimum":0,"maximum":9007199254740991},"types":{"type":"integer","minimum":0,"maximum":9007199254740991},"methods":{"type":"integer","minimum":0,"maximum":9007199254740991},"fields":{"type":"integer","minimum":0,"maximum":9007199254740991},"pinvoke_imports":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_implementations":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["graph_nodes","graph_edges","assemblies","modules","types","methods","fields","pinvoke_imports","native_implementations"],"additionalProperties":false},"graph":{"type":"object","properties":{"schema":{"type":"string","const":"JavaScriptApplicationGraph"},"schema_version":{"type":"number","const":1},"root_node_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"nodes":{"minItems":1,"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"identity":{"oneOf":[{"type":"object","properties":{"strategy":{"type":"string","const":"content-digest"},"stability":{"type":"string","const":"global-exact"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["strategy","stability","sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"source-map-original"},"stability":{"type":"string","const":"source-map-exact"},"source_map_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_source":{"type":"string","minLength":1,"maxLength":4096},"source_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"canonical-path"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","path"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"structural-fingerprint"},"stability":{"type":"string","const":"cross-version-inference"},"algorithm":{"type":"string","minLength":1,"maxLength":128},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"basis":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"]}}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"artifact-local-key"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"namespace":{"type":"string","minLength":1,"maxLength":512},"key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","namespace","key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"runtime-instance"},"stability":{"type":"string","const":"capture-only"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"runtime_key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","capture_sha256","runtime_key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"observation-fingerprint"},"stability":{"type":"string","const":"observation-only"},"observation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","observation_sha256","scope"],"additionalProperties":false}]},"observations":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"observation_id":{"type":"string","pattern":"^jag_observation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"observation-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"additionalProperties":false}}},"required":["node_id","kind","identity","observations"],"additionalProperties":false}},"edges":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"edge_id":{"type":"string","pattern":"^jag_edge_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-inputs","partial","truncated"]},"omitted_types":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_methods":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_fields":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_pinvoke_imports":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_native_implementations":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","omitted_types","omitted_methods","omitted_fields","omitted_pinvoke_imports","omitted_native_implementations"],"additionalProperties":false},"evidence_links":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","projection_id","root_artifact_sha256","source_evidence","summary","graph","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_browser_targets","analysisOperation":null,"title":"List Browser Targets","description":"List bounded page targets from an approved user-owned loopback Chrome DevTools Protocol endpoint. Only targets whose current URL matches an approved exact origin are returned; URL credentials, query values, and fragments are redacted.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"approved":{"type":"boolean","const":true,"description":"Explicit approval for browser observation"},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":200,"description":"Maximum number of results to return in this page."}},"required":["cdp_endpoint","allowed_origins","approved"],"additionalProperties":false,"examples":[{"cdp_endpoint":"http://127.0.0.1:9222","allowed_origins":["https://app.example.test"],"approved":true,"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"browser":{"type":"object","properties":{"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"},"js_version":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false},"targets":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"target_id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"},"origin":{"type":"string"},"attached":{"type":"boolean"}},"required":["target_id","type","title","url","origin","attached"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false},"excluded":{"type":"object","properties":{"disallowed_origin":{"type":"integer","minimum":0,"maximum":9007199254740991},"unsupported_url":{"type":"integer","minimum":0,"maximum":9007199254740991},"non_page":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["disallowed_origin","unsupported_url","non_page"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","browser","targets","excluded","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_web_page","analysisOperation":null,"title":"Inspect Web Page","description":"Passively inspect one approved page target through CDP without evaluating JavaScript, navigating, clicking, closing, or mutating the page. Returns bounded DOM structure, accessibility, scripts, resources, attach-window network and console metadata, workers, and redacted storage inventory as Evidence v2.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"approved":{"type":"boolean","const":true,"description":"Explicit approval for browser observation"},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"observation_ms":{"default":500,"type":"integer","minimum":0,"maximum":10000,"description":"Value for observation ms."},"include_accessibility_text":{"default":false,"type":"boolean","description":"Whether to include accessibility text in the result."},"include_console_text":{"default":false,"type":"boolean","description":"Whether to include console text in the result."},"console_text_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for console text."},"include_json_body_shapes":{"default":false,"type":"boolean","description":"Whether to include json body shapes in the result."},"json_body_schema_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for json body schema."},"include_websocket_shapes":{"default":false,"type":"boolean","description":"Whether to include websocket shapes in the result."},"websocket_shape_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for websocket shape."},"include_script_sources":{"default":false,"type":"boolean","description":"Whether to include script sources in the result."},"include_storage_keys":{"default":false,"type":"boolean","description":"Whether to include storage keys in the result."},"include_storage_fingerprints":{"default":false,"type":"boolean","description":"Whether to include storage fingerprints in the result."},"limits":{"default":{"max_frames":200,"max_dom_nodes":2000,"max_ax_nodes":2000,"max_ax_text_field_bytes":1024,"max_total_ax_text_bytes":65536,"max_scripts":200,"max_resources":2000,"max_workers":500,"max_storage_keys":1000,"max_script_source_bytes":1048576,"max_total_script_source_bytes":4194304,"max_network_events":1000,"max_console_events":200,"max_console_text_field_bytes":1024,"max_total_console_text_bytes":65536,"max_json_body_bytes":1048576,"max_total_json_body_bytes":4194304,"max_json_shape_nodes":5000,"max_json_shape_depth":20,"max_websocket_events":500,"max_websocket_shape_bytes":65536,"max_total_websocket_shape_bytes":1048576},"type":"object","properties":{"max_frames":{"default":200,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted frames for this operation."},"max_dom_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted dom nodes for this operation."},"max_ax_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted ax nodes for this operation."},"max_ax_text_field_bytes":{"default":1024,"type":"integer","minimum":1,"maximum":16384,"description":"Maximum permitted ax text field bytes for this operation."},"max_total_ax_text_bytes":{"default":65536,"type":"integer","minimum":1,"maximum":1048576,"description":"Maximum permitted total ax text bytes for this operation."},"max_scripts":{"default":200,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted scripts for this operation."},"max_resources":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted resources for this operation."},"max_workers":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted workers for this operation."},"max_storage_keys":{"default":1000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted storage keys for this operation."},"max_script_source_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":4194304,"description":"Maximum permitted script source bytes for this operation."},"max_total_script_source_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted total script source bytes for this operation."},"max_network_events":{"default":1000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted network events for this operation."},"max_console_events":{"default":200,"type":"integer","minimum":1,"maximum":2000,"description":"Maximum permitted console events for this operation."},"max_console_text_field_bytes":{"default":1024,"type":"integer","minimum":1,"maximum":16384,"description":"Maximum permitted console text field bytes for this operation."},"max_total_console_text_bytes":{"default":65536,"type":"integer","minimum":1,"maximum":1048576,"description":"Maximum permitted total console text bytes for this operation."},"max_json_body_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":4194304,"description":"Maximum permitted json body bytes for this operation."},"max_total_json_body_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted total json body bytes for this operation."},"max_json_shape_nodes":{"default":5000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted json shape nodes for this operation."},"max_json_shape_depth":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted json shape depth for this operation."},"max_websocket_events":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted websocket events for this operation."},"max_websocket_shape_bytes":{"default":65536,"type":"integer","minimum":1,"maximum":1048576,"description":"Maximum permitted websocket shape bytes for this operation."},"max_total_websocket_shape_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted total websocket shape bytes for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"required":["cdp_endpoint","allowed_origins","approved","target_id"],"additionalProperties":false,"allOf":[{"if":{"required":["include_console_text"],"properties":{"include_console_text":{"const":true,"description":"Whether include_console_text was requested"}}},"then":{"required":["console_text_approved"],"properties":{"console_text_approved":{"const":true,"description":"Approval for include_console_text"}}}},{"if":{"required":["include_json_body_shapes"],"properties":{"include_json_body_shapes":{"const":true,"description":"Whether include_json_body_shapes was requested"}}},"then":{"required":["json_body_schema_approved"],"properties":{"json_body_schema_approved":{"const":true,"description":"Approval for include_json_body_shapes"}}}},{"if":{"required":["include_websocket_shapes"],"properties":{"include_websocket_shapes":{"const":true,"description":"Whether include_websocket_shapes was requested"}}},"then":{"required":["websocket_shape_approved"],"properties":{"websocket_shape_approved":{"const":true,"description":"Approval for include_websocket_shapes"}}}}],"examples":[{"cdp_endpoint":"http://127.0.0.1:9222","allowed_origins":["https://app.example.test"],"approved":true,"target_id":"TARGET_ID_FROM_LIST_BROWSER_TARGETS","observation_ms":500,"include_accessibility_text":false,"include_console_text":false,"console_text_approved":false,"include_json_body_shapes":false,"json_body_schema_approved":false,"include_websocket_shapes":false,"websocket_shape_approved":false,"include_script_sources":false,"include_storage_keys":false,"include_storage_fingerprints":false,"limits":{"max_frames":200,"max_dom_nodes":2000,"max_ax_nodes":2000,"max_ax_text_field_bytes":1024,"max_total_ax_text_bytes":65536,"max_scripts":200,"max_resources":2000,"max_workers":500,"max_storage_keys":1000,"max_script_source_bytes":1048576,"max_total_script_source_bytes":4194304,"max_network_events":1000,"max_console_events":200,"max_console_text_field_bytes":1024,"max_total_console_text_bytes":65536,"max_json_body_bytes":1048576,"max_total_json_body_bytes":4194304,"max_json_shape_nodes":5000,"max_json_shape_depth":20,"max_websocket_events":500,"max_websocket_shape_bytes":65536,"max_total_websocket_shape_bytes":1048576}}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":2},"browser":{"type":"object","properties":{"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"},"js_version":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false},"target":{"type":"object","properties":{"target_id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"},"origin":{"type":"string"},"attached":{"type":"boolean"}},"required":["target_id","type","title","url","origin","attached"],"additionalProperties":false},"capture_window":{"type":"object","properties":{"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"ended_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"observation_ms":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["started_at","ended_at","observation_ms"],"additionalProperties":false},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]}},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"]},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["section","reason","count"],"additionalProperties":false}},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false},"frames":{"type":"array","items":{"type":"object","properties":{"frame_id":{"type":"string"},"parent_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["frame_id","parent_frame_id","url","origin"],"additionalProperties":false}},"dom":{"type":"object","properties":{"total_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"nodes":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"parent_index":{"type":"integer","minimum":-1,"maximum":9007199254740991},"node_type":{"type":"integer","minimum":0,"maximum":9007199254740991},"node_name":{"type":"string"},"node_value_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"attribute_names":{"type":"array","items":{"type":"string"}}},"required":["index","parent_index","node_type","node_name","node_value_length","attribute_names"],"additionalProperties":false}}},"required":["total_nodes","nodes"],"additionalProperties":false},"accessibility":{"type":"object","properties":{"total_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_capture":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","truncated","unavailable"]},"retained_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded_fields":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated_fields":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","retained_bytes","excluded_fields","truncated_fields"],"additionalProperties":false},"nodes":{"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"role":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"ignored":{"type":"boolean"},"states":{"default":[],"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"}]}},"required":["name","value"],"additionalProperties":false}}},"required":["node_id","parent_id","role","name","description","ignored","states"],"additionalProperties":false}}},"required":["total_nodes","text_capture","nodes"],"additionalProperties":false},"scripts":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"items":{"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string","pattern":"^scr_[a-f0-9]{64}(?:_[0-9]+)?$"},"frame_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}]},"cdp_hash":{"type":"string"},"length":{"type":"integer","minimum":0,"maximum":9007199254740991},"is_module":{"type":"boolean"},"language":{"anyOf":[{"type":"string"},{"type":"null"}]},"source_map_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"resource_reconciliation":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"exact"},"resource_key":{"type":"string"}},"required":["status","resource_key"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"ambiguous"},"candidate_resource_keys":{"type":"array","items":{"type":"string"}}},"required":["status","candidate_resource_keys"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unmatched"},"reason":{"type":"string","const":"no_exact_sanitized_url"}},"required":["status","reason"],"additionalProperties":false}]},"source":{"oneOf":[{"type":"object","properties":{"included":{"type":"boolean","const":false},"reason":{"type":"string"}},"required":["included","reason"],"additionalProperties":false},{"type":"object","properties":{"included":{"type":"boolean","const":true},"artifact":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"media_type":{"type":"string","minLength":1,"maxLength":256},"charset":{"type":"string","const":"utf-8"},"text":{"type":"string"}},"required":["uri","sha256","bytes","media_type","charset","text"],"additionalProperties":false}},"required":["included","artifact"],"additionalProperties":false}]}},"required":["script_key","frame_id","url","origin","cdp_hash","length","is_module","language","source_map_url","resource_reconciliation","source"],"additionalProperties":false}}},"required":["total","items"],"additionalProperties":false},"resources":{"type":"array","items":{"type":"object","properties":{"resource_key":{"type":"string","pattern":"^res_[a-f0-9]{64}$"},"url":{"type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"type":"string"},"mime_type":{"type":"string"},"content_size":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["resource_key","url","origin","type","mime_type","content_size"],"additionalProperties":false}},"network":{"type":"object","properties":{"requests":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string"},"url":{"type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}]},"method":{"type":"string"},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"anyOf":[{"type":"number"},{"type":"null"}]},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"encoded_data_length":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"initiator":{"type":"object","properties":{"type":{"type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["type","url","line","column"],"additionalProperties":false},"body_shapes":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","partial","unavailable","truncated"]},"request":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"]},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]}},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["path","types","observations"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}]},"response":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"]},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]}},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["path","types","observations"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}]}},"required":["status","request","response"],"additionalProperties":false}},"required":["request_id","url","origin","method","resource_type","status","mime_type","encoded_data_length","initiator","body_shapes"],"additionalProperties":false}},"websocket_events":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string"},"direction":{"type":"string","enum":["sent","received"]},"opcode":{"type":"integer","minimum":0,"maximum":9007199254740991},"payload_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"payload_shape":{"anyOf":[{"type":"object","properties":{"format":{"type":"string","enum":["json","text","binary"]},"json_shape":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"]},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]}},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["path","types","observations"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["format","json_shape","truncated"],"additionalProperties":false},{"type":"null"}]}},"required":["request_id","direction","opcode","payload_bytes","payload_shape"],"additionalProperties":false}},"coverage_started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"prior_activity_available":{"type":"boolean","const":false}},"required":["requests","websocket_events","coverage_started_at","prior_activity_available"],"additionalProperties":false},"console":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"timestamp":{"type":"number"},"argument_types":{"type":"array","items":{"type":"string"}},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"text_capture":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","truncated"]},"values":{"type":"array","items":{"type":"object","properties":{"argument_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"type":{"type":"string"},"text":{"type":"string"}},"required":["argument_index","type","text"],"additionalProperties":false}},"retained_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated_values":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","values","retained_bytes","truncated_values"],"additionalProperties":false}},"required":["type","timestamp","argument_types","url","line","column","text_capture"],"additionalProperties":false}},"coverage_started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"prior_activity_available":{"type":"boolean","const":false}},"required":["events","coverage_started_at","prior_activity_available"],"additionalProperties":false},"workers":{"type":"array","items":{"type":"object","properties":{"target_id":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}]},"attached":{"type":"boolean"},"opener_target_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}]},"parent_frame_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["target_id","type","url","origin","attached","opener_target_id","parent_frame_id"],"additionalProperties":false}},"metadata":{"type":"object","properties":{"responses":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string"},"url":{"type":"string"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"content_length":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"content_encoding":{"anyOf":[{"type":"string"},{"type":"null"}]},"csp":{"type":"object","properties":{"directives":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"sources":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["keyword","scheme","approved_origin","external_origin","other"]},"value":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["kind","value"],"additionalProperties":false}}},"required":["name","sources"],"additionalProperties":false}},"nonce_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"hash_count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["directives","nonce_count","hash_count"],"additionalProperties":false},"links":{"type":"array","items":{"type":"object","properties":{"href":{"anyOf":[{"type":"string"},{"type":"null"}]},"destination_scope":{"type":"string","enum":["approved","outside_policy","unsupported"]},"rel":{"type":"array","items":{"type":"string"}},"as":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"type":"string"},{"type":"null"}]},"crossorigin":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["href","destination_scope","rel","as","type","crossorigin"],"additionalProperties":false}},"policies":{"type":"object","properties":{"coop":{"anyOf":[{"type":"string"},{"type":"null"}]},"coep":{"anyOf":[{"type":"string"},{"type":"null"}]},"corp":{"anyOf":[{"type":"string"},{"type":"null"}]},"referrer_policy":{"anyOf":[{"type":"string"},{"type":"null"}]},"x_content_type_options":{"anyOf":[{"type":"string"},{"type":"null"}]},"permissions_policy_features":{"type":"array","items":{"type":"string"}}},"required":["coop","coep","corp","referrer_policy","x_content_type_options","permissions_policy_features"],"additionalProperties":false}},"required":["request_id","url","mime_type","content_length","content_encoding","csp","links","policies"],"additionalProperties":false}},"dom_urls":{"type":"array","items":{"type":"object","properties":{"node_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"attribute":{"type":"string","enum":["href","src","action","formaction","poster"]},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"destination_scope":{"type":"string","enum":["approved","outside_policy","unsupported"]}},"required":["node_index","attribute","url","destination_scope"],"additionalProperties":false}},"agent_hints":{"type":"array","items":{"type":"object","properties":{"mechanism":{"type":"string","enum":["link_rel","dom_link_rel","well_known_resource","response_header"]},"declaration":{"type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"trust":{"type":"string","const":"page-declared-untrusted"}},"required":["mechanism","declaration","url","trust"],"additionalProperties":false}},"excluded_dom_urls":{"type":"integer","minimum":0,"maximum":9007199254740991},"headers_allowlisted":{"type":"boolean","const":true}},"required":["responses","dom_urls","agent_hints","excluded_dom_urls","headers_allowlisted"],"additionalProperties":false},"storage":{"type":"object","properties":{"origin":{"type":"string"},"usage_bytes":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"quota_bytes":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"local_storage_keys":{"type":"array","items":{"type":"string"}},"session_storage_keys":{"type":"array","items":{"type":"string"}},"indexed_db_names":{"type":"array","items":{"type":"string"}},"cache_names":{"type":"array","items":{"type":"string"}},"content_fingerprints":{"default":[],"type":"array","items":{"type":"object","properties":{"scope":{"type":"string","enum":["cookie","local_storage","session_storage","indexed_db_schema","indexed_db_record","cache_entry"]},"identity_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"complete":{"type":"boolean"}},"required":["scope","identity_sha256","value_sha256","complete"],"additionalProperties":false}},"fingerprint_algorithm":{"default":"sha256","type":"string","const":"sha256"},"fingerprints_complete":{"default":false,"type":"boolean"},"values_redacted":{"type":"boolean","const":true}},"required":["origin","usage_bytes","quota_bytes","local_storage_keys","session_storage_keys","indexed_db_names","cache_names","content_fingerprints","fingerprint_algorithm","fingerprints_complete","values_redacted"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","browser","target","capture_window","completeness","frames","dom","accessibility","scripts","resources","network","console","workers","metadata","storage","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"analyze_web_bundle","analysisOperation":null,"title":"Analyze Web Bundle","description":"Capture explicitly approved JavaScript source from one approved CDP page and statically derive a bounded chunk graph, route and endpoint candidates, vendor fingerprints, page-declared WebMCP metadata, and optional separately approved source-map evidence. JavaScript is parsed but never executed.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"approved":{"type":"boolean","const":true,"description":"Explicit approval for browser observation"},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"observation_ms":{"default":500,"type":"integer","minimum":0,"maximum":10000,"description":"Value for observation ms."},"include_accessibility_text":{"default":false,"type":"boolean","description":"Whether to include accessibility text in the result."},"include_console_text":{"default":false,"type":"boolean","description":"Whether to include console text in the result."},"console_text_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for console text."},"include_json_body_shapes":{"default":false,"type":"boolean","description":"Whether to include json body shapes in the result."},"json_body_schema_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for json body schema."},"include_websocket_shapes":{"default":false,"type":"boolean","description":"Whether to include websocket shapes in the result."},"websocket_shape_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for websocket shape."},"include_script_sources":{"default":true,"type":"boolean","const":true,"description":"Whether to include script sources in the result."},"include_storage_keys":{"default":false,"type":"boolean","description":"Whether to include storage keys in the result."},"include_storage_fingerprints":{"default":false,"type":"boolean","description":"Whether to include storage fingerprints in the result."},"limits":{"default":{"max_frames":200,"max_dom_nodes":2000,"max_ax_nodes":2000,"max_ax_text_field_bytes":1024,"max_total_ax_text_bytes":65536,"max_scripts":200,"max_resources":2000,"max_workers":500,"max_storage_keys":1000,"max_script_source_bytes":1048576,"max_total_script_source_bytes":4194304,"max_network_events":1000,"max_console_events":200,"max_console_text_field_bytes":1024,"max_total_console_text_bytes":65536,"max_json_body_bytes":1048576,"max_total_json_body_bytes":4194304,"max_json_shape_nodes":5000,"max_json_shape_depth":20,"max_websocket_events":500,"max_websocket_shape_bytes":65536,"max_total_websocket_shape_bytes":1048576},"type":"object","properties":{"max_frames":{"default":200,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted frames for this operation."},"max_dom_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted dom nodes for this operation."},"max_ax_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted ax nodes for this operation."},"max_ax_text_field_bytes":{"default":1024,"type":"integer","minimum":1,"maximum":16384,"description":"Maximum permitted ax text field bytes for this operation."},"max_total_ax_text_bytes":{"default":65536,"type":"integer","minimum":1,"maximum":1048576,"description":"Maximum permitted total ax text bytes for this operation."},"max_scripts":{"default":200,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted scripts for this operation."},"max_resources":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted resources for this operation."},"max_workers":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted workers for this operation."},"max_storage_keys":{"default":1000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted storage keys for this operation."},"max_script_source_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":4194304,"description":"Maximum permitted script source bytes for this operation."},"max_total_script_source_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted total script source bytes for this operation."},"max_network_events":{"default":1000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted network events for this operation."},"max_console_events":{"default":200,"type":"integer","minimum":1,"maximum":2000,"description":"Maximum permitted console events for this operation."},"max_console_text_field_bytes":{"default":1024,"type":"integer","minimum":1,"maximum":16384,"description":"Maximum permitted console text field bytes for this operation."},"max_total_console_text_bytes":{"default":65536,"type":"integer","minimum":1,"maximum":1048576,"description":"Maximum permitted total console text bytes for this operation."},"max_json_body_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":4194304,"description":"Maximum permitted json body bytes for this operation."},"max_total_json_body_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted total json body bytes for this operation."},"max_json_shape_nodes":{"default":5000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted json shape nodes for this operation."},"max_json_shape_depth":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted json shape depth for this operation."},"max_websocket_events":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted websocket events for this operation."},"max_websocket_shape_bytes":{"default":65536,"type":"integer","minimum":1,"maximum":1048576,"description":"Maximum permitted websocket shape bytes for this operation."},"max_total_websocket_shape_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted total websocket shape bytes for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"source_capture_approved":{"type":"boolean","const":true,"description":"Explicit operator approval for source capture."},"fetch_source_maps":{"default":false,"type":"boolean","description":"Value for fetch source maps."},"source_map_fetch_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for source map fetch."},"analysis_limits":{"default":{"max_findings":1000,"max_ast_nodes":250000,"max_source_maps":100,"max_source_map_bytes":4194304,"max_total_source_map_bytes":16777216,"max_source_map_mappings":10000,"max_original_sources":2000},"type":"object","properties":{"max_findings":{"default":1000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted findings for this operation."},"max_ast_nodes":{"default":250000,"type":"integer","minimum":1,"maximum":2000000,"description":"Maximum permitted ast nodes for this operation."},"max_source_maps":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted source maps for this operation."},"max_source_map_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted source map bytes for this operation."},"max_total_source_map_bytes":{"default":16777216,"type":"integer","minimum":1,"maximum":67108864,"description":"Maximum permitted total source map bytes for this operation."},"max_source_map_mappings":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted source map mappings for this operation."},"max_original_sources":{"default":2000,"type":"integer","minimum":1,"maximum":20000,"description":"Maximum permitted original sources for this operation."}},"additionalProperties":false,"description":"Value for analysis limits."}},"required":["cdp_endpoint","allowed_origins","approved","target_id","source_capture_approved"],"additionalProperties":false,"allOf":[{"if":{"required":["include_console_text"],"properties":{"include_console_text":{"const":true,"description":"Whether include_console_text was requested"}}},"then":{"required":["console_text_approved"],"properties":{"console_text_approved":{"const":true,"description":"Approval for include_console_text"}}}},{"if":{"required":["include_json_body_shapes"],"properties":{"include_json_body_shapes":{"const":true,"description":"Whether include_json_body_shapes was requested"}}},"then":{"required":["json_body_schema_approved"],"properties":{"json_body_schema_approved":{"const":true,"description":"Approval for include_json_body_shapes"}}}},{"if":{"required":["include_websocket_shapes"],"properties":{"include_websocket_shapes":{"const":true,"description":"Whether include_websocket_shapes was requested"}}},"then":{"required":["websocket_shape_approved"],"properties":{"websocket_shape_approved":{"const":true,"description":"Approval for include_websocket_shapes"}}}},{"if":{"required":["fetch_source_maps"],"properties":{"fetch_source_maps":{"const":true,"description":"Whether fetch_source_maps was requested"}}},"then":{"required":["source_map_fetch_approved"],"properties":{"source_map_fetch_approved":{"const":true,"description":"Approval for fetch_source_maps"}}}}],"examples":[{"cdp_endpoint":"http://127.0.0.1:9222","allowed_origins":["https://app.example.test"],"approved":true,"target_id":"TARGET_ID_FROM_LIST_BROWSER_TARGETS","observation_ms":500,"include_accessibility_text":false,"include_script_sources":true,"include_storage_keys":false,"source_capture_approved":true,"fetch_source_maps":false,"source_map_fetch_approved":false,"analysis_limits":{"max_findings":1000,"max_ast_nodes":250000,"max_source_maps":100,"max_source_map_bytes":4194304,"max_total_source_map_bytes":16777216,"max_source_map_mappings":10000,"max_original_sources":2000}}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"capture":{"type":"object","properties":{"target_url":{"type":"string"},"scripts_observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"scripts_analyzed":{"type":"integer","minimum":0,"maximum":9007199254740991},"source_artifacts":{"type":"array","items":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"media_type":{"type":"string","minLength":1,"maxLength":256},"charset":{"type":"string","const":"utf-8"},"text_available":{"type":"boolean","const":true}},"required":["uri","sha256","bytes","media_type","charset","text_available"],"additionalProperties":false}}},"required":["target_url","scripts_observed","scripts_analyzed","source_artifacts"],"additionalProperties":false},"observations":{"type":"object","properties":{"chunks":{"type":"object","properties":{"nodes":{"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string"},"url":{"type":"string"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["script_key","url","artifact_sha256","bytes"],"additionalProperties":false}},"edges":{"type":"array","items":{"type":"object","properties":{"from_script_key":{"type":"string"},"kind":{"type":"string","enum":["static_import","dynamic_import","require","worker_import"]},"specifier":{"type":"string"},"resolved_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"type":"object","properties":{"script_key":{"type":"string"},"line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["script_key","line","column"],"additionalProperties":false}},"required":["from_script_key","kind","specifier","resolved_url","location"],"additionalProperties":false}}},"required":["nodes","edges"],"additionalProperties":false},"routes":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"mechanism":{"type":"string"},"location":{"type":"object","properties":{"script_key":{"type":"string"},"line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["script_key","line","column"],"additionalProperties":false}},"required":["value","mechanism","location"],"additionalProperties":false}},"endpoints":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"mechanism":{"type":"string"},"location":{"type":"object","properties":{"script_key":{"type":"string"},"line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["script_key","line","column"],"additionalProperties":false}},"required":["value","mechanism","location"],"additionalProperties":false}},"webmcp_declarations":{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"schema_property_names":{"type":"array","items":{"type":"string"}},"trust":{"type":"string","const":"page-declared-untrusted"},"location":{"type":"object","properties":{"script_key":{"type":"string"},"line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["script_key","line","column"],"additionalProperties":false}},"required":["name","description","schema_property_names","trust","location"],"additionalProperties":false}},"source_maps":{"type":"object","properties":{"status":{"type":"string","enum":["not_requested","included","partial","unavailable","truncated"]},"requested":{"type":"integer","minimum":0,"maximum":9007199254740991},"processed":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped_script_keys":{"type":"array","items":{"type":"string"}},"items":{"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string"},"declared_url":{"type":"string"},"status":{"type":"string","enum":["included","fetch_failed","invalid","policy_filtered","truncated"]},"artifact":{"anyOf":[{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"media_type":{"type":"string","minLength":1,"maxLength":256},"charset":{"type":"string","const":"utf-8"},"text":{"type":"string"}},"required":["uri","sha256","bytes","media_type","charset","text"],"additionalProperties":false},{"type":"null"}]},"original_sources":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"artifact":{"anyOf":[{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"media_type":{"type":"string","minLength":1,"maxLength":256},"charset":{"type":"string","const":"utf-8"},"text":{"type":"string"}},"required":["uri","sha256","bytes","media_type","charset","text"],"additionalProperties":false},{"type":"null"}]}},"required":["source","artifact"],"additionalProperties":false}},"original_module_edges":{"type":"array","items":{"type":"object","properties":{"from_source":{"type":"string"},"kind":{"type":"string","enum":["static_import","dynamic_import","require"]},"specifier":{"type":"string"},"resolved_source":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["from_source","kind","specifier","resolved_source"],"additionalProperties":false}},"mappings":{"type":"array","items":{"type":"object","properties":{"generated_line":{"type":"integer","minimum":1,"maximum":9007199254740991},"generated_column":{"type":"integer","minimum":0,"maximum":9007199254740991},"source":{"type":"string"},"original_line":{"type":"integer","minimum":1,"maximum":9007199254740991},"original_column":{"type":"integer","minimum":0,"maximum":9007199254740991},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["generated_line","generated_column","source","original_line","original_column","name"],"additionalProperties":false}},"limitation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["script_key","declared_url","status","artifact","original_sources","original_module_edges","mappings","limitation"],"additionalProperties":false}}},"required":["status","requested","processed","dropped","dropped_script_keys","items"],"additionalProperties":false}},"required":["chunks","routes","endpoints","webmcp_declarations","source_maps"],"additionalProperties":false},"inferences":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["vendor_fingerprint","route_framework","bundle_runtime"]},"value":{"type":"string"},"confidence":{"type":"string","enum":["low","medium","high"]},"basis":{"minItems":1,"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"line":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"detector":{"type":"string"}},"required":["script_key","artifact_sha256","line","column","detector"],"additionalProperties":false}}},"required":["kind","value","confidence","basis"],"additionalProperties":false}},"unknowns":{"type":"array","items":{"type":"object","properties":{"dimension":{"type":"string"},"reason":{"type":"string"},"affected_script_keys":{"type":"array","items":{"type":"string"}}},"required":["dimension","reason","affected_script_keys"],"additionalProperties":false}},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_limits","truncated","partial"]},"parsed_scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"parse_failures":{"type":"integer","minimum":0,"maximum":9007199254740991},"visited_ast_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped_findings":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","parsed_scripts","parse_failures","visited_ast_nodes","dropped_findings"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","capture","observations","inferences","unknowns","completeness","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"observe_web_session","analysisOperation":null,"title":"Observe Web Session","description":"Arm a bounded CDP observation window while the user operates the page. Allows approved same-origin reload and SPA navigation, records ordered navigation, redirect, lifecycle, and failure metadata, and stops before retaining an out-of-policy destination.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"observation_ms":{"default":10000,"type":"integer","minimum":1,"maximum":60000,"description":"Value for observation ms."},"max_timeline_events":{"default":2000,"type":"integer","minimum":1,"maximum":20000,"description":"Maximum permitted timeline events for this operation."}},"required":["cdp_endpoint","allowed_origins","target_id","approved"],"additionalProperties":false,"examples":[{"cdp_endpoint":"http://127.0.0.1:9222","allowed_origins":["https://app.example.test"],"target_id":"TARGET_ID_FROM_LIST_BROWSER_TARGETS","approved":true,"observation_ms":10000,"max_timeline_events":2000}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"browser":{"type":"object","properties":{"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"},"js_version":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false},"target":{"type":"object","properties":{"target_id":{"type":"string"},"initial_url":{"type":"string"},"final_url":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["target_id","initial_url","final_url"],"additionalProperties":false},"window":{"type":"object","properties":{"armed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"ended_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"requested_ms":{"type":"integer","minimum":1,"maximum":9007199254740991},"end_reason":{"type":"string","enum":["window_elapsed","target_left_scope","target_terminated"]}},"required":["armed_at","ended_at","requested_ms","end_reason"],"additionalProperties":false},"timeline":{"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"type":{"type":"string","enum":["navigation_requested","navigation_committed","same_origin_reload","same_document_navigation","redirect","load_failed","lifecycle","target_terminated"]},"timestamp":{"type":"number","minimum":0},"frame_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"loader_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"destination_scope":{"anyOf":[{"type":"string","enum":["approved","outside_policy","unsupported"]},{"type":"null"}]},"detail":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["sequence","type","timestamp","frame_id","loader_id","request_id","url","destination_scope","detail"],"additionalProperties":false}},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]}},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"]},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["section","reason","count"],"additionalProperties":false}},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","browser","target","window","timeline","completeness","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"discover_webmcp_tools","analysisOperation":null,"title":"Discover Webmcp Tools","description":"Passively inventory page-registered WebMCP tools using the experimental CDP WebMCP domain. Metadata is bounded and page-declared-untrusted; REA never registers or invokes discovered tools.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"observation_ms":{"default":100,"type":"integer","minimum":0,"maximum":10000,"description":"Value for observation ms."},"max_tools":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted tools for this operation."},"max_schema_bytes":{"default":262144,"type":"integer","minimum":1,"maximum":1048576,"description":"Maximum permitted schema bytes for this operation."},"max_schema_nodes":{"default":5000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted schema nodes for this operation."},"max_schema_depth":{"default":20,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted schema depth for this operation."}},"required":["cdp_endpoint","allowed_origins","target_id","approved"],"additionalProperties":false,"examples":[{"cdp_endpoint":"http://127.0.0.1:9222","allowed_origins":["https://app.example.test"],"target_id":"TARGET_ID_FROM_LIST_BROWSER_TARGETS","approved":true,"observation_ms":100,"max_tools":500,"max_schema_bytes":262144,"max_schema_nodes":5000,"max_schema_depth":20}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"browser":{"type":"object","properties":{"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"},"js_version":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false},"target":{"type":"object","properties":{"target_id":{"type":"string"},"url":{"type":"string"},"origin":{"type":"string"}},"required":["target_id","url","origin"],"additionalProperties":false},"status":{"type":"string","enum":["available","unavailable"]},"tools":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"items":{"type":"array","items":{"type":"object","properties":{"tool_key":{"type":"string","pattern":"^webmcp_[a-f0-9]{64}$"},"name":{"type":"string"},"description":{"type":"string"},"frame_id":{"type":"string"},"frame_url":{"type":"string"},"owner_origin":{"type":"string"},"declaration_kind":{"type":"string","enum":["declarative","imperative"]},"input_schema_shape":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"]},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]}},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["path","types","observations"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}]},"annotations":{"type":"object","properties":{"read_only":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"untrusted_content":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"autosubmit":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["read_only","untrusted_content","autosubmit"],"additionalProperties":false},"registration_source":{"anyOf":[{"type":"object","properties":{"url":{"type":"string"},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["url","line","column"],"additionalProperties":false},{"type":"null"}]},"trust":{"type":"string","const":"page-declared-untrusted"}},"required":["tool_key","name","description","frame_id","frame_url","owner_origin","declaration_kind","input_schema_shape","annotations","registration_source","trust"],"additionalProperties":false}}},"required":["total","items"],"additionalProperties":false},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]}},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"]},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["section","reason","count"],"additionalProperties":false}},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","browser","target","status","tools","completeness","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_web_captures","analysisOperation":null,"title":"Compare Web Captures","description":"Compare either passive web captures or step-indexed browser scenarios. Scenario comparison aligns exact step IDs, records deterministic literal normalization, and exposes bounded artifact-level changes plus alignment failures. Missing or truncated evidence never proves equality.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"before":{"description":"Earlier passive web-page capture; pair with after.","type":"object","properties":{"inspection":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"browser":{"type":"object","properties":{"product":{"type":"string","description":"Value for product."},"protocol_version":{"type":"string","description":"Value for protocol version."},"revision":{"type":"string","description":"Value for revision."},"user_agent":{"type":"string","description":"Value for user agent."},"js_version":{"type":"string","description":"Value for js version."}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false,"description":"Value for browser."},"target":{"type":"object","properties":{"target_id":{"type":"string","description":"Exact authorized CDP target identifier."},"type":{"type":"string","description":"Value for type."},"title":{"type":"string","description":"Value for title."},"url":{"type":"string","description":"Value for url."},"origin":{"type":"string","description":"Value for origin."},"attached":{"type":"boolean","description":"Value for attached."}},"required":["target_id","type","title","url","origin","attached"],"additionalProperties":false,"description":"Value for target."},"capture_window":{"type":"object","properties":{"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for started at."},"ended_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for ended at."},"observation_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observation ms."}},"required":["started_at","ended_at","observation_ms"],"additionalProperties":false,"description":"Value for capture window."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"description":"Current lifecycle or verification status."},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"description":"Value for conditions."},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for policy filtered sections."},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for attach limited sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for truncated sections."},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for unavailable sections."},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"description":"Value for section."},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"description":"Value for reason."},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for count."}},"required":["section","reason","count"],"additionalProperties":false},"description":"Value for excluded."},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for scripts."},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for network requests."},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for console events."},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket connections."},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket frames."},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for webmcp tools."},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for timeline events."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false,"description":"Value for dropped events."}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false,"description":"Value for completeness."},"frames":{"type":"array","items":{"type":"object","properties":{"frame_id":{"type":"string","description":"Value for frame id."},"parent_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent frame id."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."}},"required":["frame_id","parent_frame_id","url","origin"],"additionalProperties":false},"description":"Value for frames."},"dom":{"type":"object","properties":{"total_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total nodes."},"nodes":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for index."},"parent_index":{"type":"integer","minimum":-1,"maximum":9007199254740991,"description":"Value for parent index."},"node_type":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for node type."},"node_name":{"type":"string","description":"Value for node name."},"node_value_length":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for node value length."},"attribute_names":{"type":"array","items":{"type":"string"},"description":"Value for attribute names."}},"required":["index","parent_index","node_type","node_name","node_value_length","attribute_names"],"additionalProperties":false},"description":"Value for nodes."}},"required":["total_nodes","nodes"],"additionalProperties":false,"description":"Value for dom."},"accessibility":{"type":"object","properties":{"total_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total nodes."},"text_capture":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","truncated","unavailable"],"description":"Current lifecycle or verification status."},"retained_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for retained."},"excluded_fields":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for excluded fields."},"truncated_fields":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for truncated fields."}},"required":["status","retained_bytes","excluded_fields","truncated_fields"],"additionalProperties":false,"description":"Value for text capture."},"nodes":{"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","description":"Value for node id."},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent id."},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for role."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact name used by this operation."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for description."},"ignored":{"type":"boolean","description":"Value for ignored."},"states":{"default":[],"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Exact name used by this operation."},"value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Value for states."}},"required":["node_id","parent_id","role","name","description","ignored"],"additionalProperties":false},"description":"Value for nodes."}},"required":["total_nodes","text_capture","nodes"],"additionalProperties":false,"description":"Value for accessibility."},"scripts":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."},"items":{"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string","pattern":"^scr_[a-f0-9]{64}(?:_[0-9]+)?$","description":"Value for script key."},"frame_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for frame id."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"cdp_hash":{"type":"string","description":"Value for cdp hash."},"length":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for length."},"is_module":{"type":"boolean","description":"Whether is module."},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for language."},"source_map_url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for source map url."},"resource_reconciliation":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"exact","description":"Current lifecycle or verification status."},"resource_key":{"type":"string","description":"Value for resource key."}},"required":["status","resource_key"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"ambiguous","description":"Current lifecycle or verification status."},"candidate_resource_keys":{"type":"array","items":{"type":"string"},"description":"Value for candidate resource keys."}},"required":["status","candidate_resource_keys"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unmatched","description":"Current lifecycle or verification status."},"reason":{"type":"string","const":"no_exact_sanitized_url","description":"Value for reason."}},"required":["status","reason"],"additionalProperties":false}],"description":"Value for resource reconciliation."},"source":{"oneOf":[{"type":"object","properties":{"included":{"type":"boolean","const":false,"description":"Value for included."},"reason":{"type":"string","description":"Value for reason."}},"required":["included","reason"],"additionalProperties":false},{"type":"object","properties":{"included":{"type":"boolean","const":true,"description":"Value for included."},"artifact":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$","description":"Value for uri."},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for bytes."},"media_type":{"type":"string","minLength":1,"maxLength":256,"description":"Value for media type."},"charset":{"type":"string","const":"utf-8","description":"Value for charset."},"text":{"type":"string","description":"Value for text."}},"required":["uri","sha256","bytes","media_type","charset","text"],"additionalProperties":false,"description":"Value for artifact."}},"required":["included","artifact"],"additionalProperties":false}],"description":"Value for source."}},"required":["script_key","url","origin","cdp_hash","length","is_module","language","source_map_url","resource_reconciliation","source"],"additionalProperties":false},"description":"Value for items."}},"required":["total","items"],"additionalProperties":false,"description":"Value for scripts."},"resources":{"type":"array","items":{"type":"object","properties":{"resource_key":{"type":"string","pattern":"^res_[a-f0-9]{64}$","description":"Value for resource key."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"type":{"type":"string","description":"Value for type."},"mime_type":{"type":"string","description":"Value for mime type."},"content_size":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Value for content size."}},"required":["resource_key","url","origin","type","mime_type","content_size"],"additionalProperties":false},"description":"Value for resources."},"network":{"type":"object","properties":{"requests":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","description":"Value for request id."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"method":{"type":"string","description":"Value for method."},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for resource type."},"status":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Current lifecycle or verification status."},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for mime type."},"encoded_data_length":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Value for encoded data length."},"initiator":{"type":"object","properties":{"type":{"type":"string","description":"Value for type."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for line."},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for column."}},"required":["type","url","line","column"],"additionalProperties":false,"description":"Value for initiator."},"body_shapes":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","partial","unavailable","truncated"],"description":"Current lifecycle or verification status."},"request":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for request."},"response":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for response."}},"required":["status","request","response"],"additionalProperties":false,"description":"Value for body shapes."}},"required":["request_id","url","origin","method","resource_type","status","mime_type","encoded_data_length","initiator","body_shapes"],"additionalProperties":false},"description":"Value for requests."},"websocket_events":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","description":"Value for request id."},"direction":{"type":"string","enum":["sent","received"],"description":"Direction in which to traverse or compare relationships."},"opcode":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for opcode."},"payload_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for payload."},"payload_shape":{"anyOf":[{"type":"object","properties":{"format":{"type":"string","enum":["json","text","binary"],"description":"Declared input artifact format."},"json_shape":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for json shape."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["format","json_shape","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for payload shape."}},"required":["request_id","direction","opcode","payload_bytes","payload_shape"],"additionalProperties":false},"description":"Value for websocket events."},"coverage_started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for coverage started at."},"prior_activity_available":{"type":"boolean","const":false,"description":"Value for prior activity available."}},"required":["requests","websocket_events","coverage_started_at","prior_activity_available"],"additionalProperties":false,"description":"Value for network."},"console":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"Value for type."},"timestamp":{"type":"number","description":"Value for timestamp."},"argument_types":{"type":"array","items":{"type":"string"},"description":"Value for argument types."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for line."},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for column."},"text_capture":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","truncated"],"description":"Current lifecycle or verification status."},"values":{"type":"array","items":{"type":"object","properties":{"argument_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for argument index."},"type":{"type":"string","description":"Value for type."},"text":{"type":"string","description":"Value for text."}},"required":["argument_index","type","text"],"additionalProperties":false},"description":"Value for values."},"retained_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for retained."},"truncated_values":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for truncated values."}},"required":["status","values","retained_bytes","truncated_values"],"additionalProperties":false,"description":"Value for text capture."}},"required":["type","timestamp","argument_types","url","line","column","text_capture"],"additionalProperties":false},"description":"Value for events."},"coverage_started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for coverage started at."},"prior_activity_available":{"type":"boolean","const":false,"description":"Value for prior activity available."}},"required":["events","coverage_started_at","prior_activity_available"],"additionalProperties":false,"description":"Value for console."},"workers":{"type":"array","items":{"type":"object","properties":{"target_id":{"type":"string","description":"Exact authorized CDP target identifier."},"type":{"type":"string","description":"Value for type."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"attached":{"type":"boolean","description":"Value for attached."},"opener_target_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for opener target id."},"parent_frame_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent frame id."}},"required":["target_id","type","url","origin","attached"],"additionalProperties":false},"description":"Value for workers."},"metadata":{"type":"object","properties":{"responses":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","description":"Value for request id."},"url":{"type":"string","description":"Value for url."},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for mime type."},"content_length":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for content length."},"content_encoding":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for content encoding."},"csp":{"type":"object","properties":{"directives":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Exact name used by this operation."},"sources":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["keyword","scheme","approved_origin","external_origin","other"],"description":"Value for kind."},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},"description":"Value for sources."}},"required":["name","sources"],"additionalProperties":false},"description":"Value for directives."},"nonce_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for nonce count."},"hash_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for hash count."}},"required":["directives","nonce_count","hash_count"],"additionalProperties":false,"description":"Value for csp."},"links":{"type":"array","items":{"type":"object","properties":{"href":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for href."},"destination_scope":{"type":"string","enum":["approved","outside_policy","unsupported"],"description":"Value for destination scope."},"rel":{"type":"array","items":{"type":"string"},"description":"Value for rel."},"as":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for as."},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for type."},"crossorigin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for crossorigin."}},"required":["href","destination_scope","rel","as","type","crossorigin"],"additionalProperties":false},"description":"Value for links."},"policies":{"type":"object","properties":{"coop":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for coop."},"coep":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for coep."},"corp":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for corp."},"referrer_policy":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for referrer policy."},"x_content_type_options":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for x content type options."},"permissions_policy_features":{"type":"array","items":{"type":"string"},"description":"Value for permissions policy features."}},"required":["coop","coep","corp","referrer_policy","x_content_type_options","permissions_policy_features"],"additionalProperties":false,"description":"Value for policies."}},"required":["request_id","url","mime_type","content_length","content_encoding","csp","links","policies"],"additionalProperties":false},"description":"Value for responses."},"dom_urls":{"type":"array","items":{"type":"object","properties":{"node_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for node index."},"attribute":{"type":"string","enum":["href","src","action","formaction","poster"],"description":"Value for attribute."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"destination_scope":{"type":"string","enum":["approved","outside_policy","unsupported"],"description":"Value for destination scope."}},"required":["node_index","attribute","url","destination_scope"],"additionalProperties":false},"description":"Value for dom urls."},"agent_hints":{"type":"array","items":{"type":"object","properties":{"mechanism":{"type":"string","enum":["link_rel","dom_link_rel","well_known_resource","response_header"],"description":"Value for mechanism."},"declaration":{"type":"string","description":"Value for declaration."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"trust":{"type":"string","const":"page-declared-untrusted","description":"Value for trust."}},"required":["mechanism","declaration","url","trust"],"additionalProperties":false},"description":"Value for agent hints."},"excluded_dom_urls":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for excluded dom urls."},"headers_allowlisted":{"type":"boolean","const":true,"description":"Value for headers allowlisted."}},"required":["responses","dom_urls","agent_hints","excluded_dom_urls","headers_allowlisted"],"additionalProperties":false,"description":"Value for metadata."},"storage":{"type":"object","properties":{"origin":{"type":"string","description":"Value for origin."},"usage_bytes":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Bounded byte count for usage."},"quota_bytes":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Bounded byte count for quota."},"local_storage_keys":{"type":"array","items":{"type":"string"},"description":"Value for local storage keys."},"session_storage_keys":{"type":"array","items":{"type":"string"},"description":"Value for session storage keys."},"indexed_db_names":{"type":"array","items":{"type":"string"},"description":"Value for indexed db names."},"cache_names":{"type":"array","items":{"type":"string"},"description":"Value for cache names."},"content_fingerprints":{"default":[],"type":"array","items":{"type":"object","properties":{"scope":{"type":"string","enum":["cookie","local_storage","session_storage","indexed_db_schema","indexed_db_record","cache_entry"],"description":"Value for scope."},"identity_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of identity."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."},"complete":{"type":"boolean","description":"Value for complete."}},"required":["scope","identity_sha256","value_sha256","complete"],"additionalProperties":false},"description":"Value for content fingerprints."},"fingerprint_algorithm":{"default":"sha256","type":"string","const":"sha256","description":"Value for fingerprint algorithm."},"fingerprints_complete":{"default":false,"type":"boolean","description":"Value for fingerprints complete."},"values_redacted":{"type":"boolean","const":true,"description":"Value for values redacted."}},"required":["origin","usage_bytes","quota_bytes","local_storage_keys","session_storage_keys","indexed_db_names","cache_names","values_redacted"],"additionalProperties":false,"description":"Value for storage."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."}},"required":["schema_version","browser","target","capture_window","completeness","frames","dom","accessibility","scripts","resources","network","console","workers","metadata","storage","limitations"],"additionalProperties":false,"description":"Value for inspection."},"webmcp":{"default":null,"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"browser":{"type":"object","properties":{"product":{"type":"string","description":"Value for product."},"protocol_version":{"type":"string","description":"Value for protocol version."},"revision":{"type":"string","description":"Value for revision."},"user_agent":{"type":"string","description":"Value for user agent."},"js_version":{"type":"string","description":"Value for js version."}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false,"description":"Value for browser."},"target":{"type":"object","properties":{"target_id":{"type":"string","description":"Exact authorized CDP target identifier."},"url":{"type":"string","description":"Value for url."},"origin":{"type":"string","description":"Value for origin."}},"required":["target_id","url","origin"],"additionalProperties":false,"description":"Value for target."},"status":{"type":"string","enum":["available","unavailable"],"description":"Current lifecycle or verification status."},"tools":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."},"items":{"type":"array","items":{"type":"object","properties":{"tool_key":{"type":"string","pattern":"^webmcp_[a-f0-9]{64}$","description":"Value for tool key."},"name":{"type":"string","description":"Exact name used by this operation."},"description":{"type":"string","description":"Value for description."},"frame_id":{"type":"string","description":"Value for frame id."},"frame_url":{"type":"string","description":"Value for frame url."},"owner_origin":{"type":"string","description":"Value for owner origin."},"declaration_kind":{"type":"string","enum":["declarative","imperative"],"description":"Value for declaration kind."},"input_schema_shape":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for input schema shape."},"annotations":{"type":"object","properties":{"read_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for read only."},"untrusted_content":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for untrusted content."},"autosubmit":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for autosubmit."}},"required":["read_only","untrusted_content","autosubmit"],"additionalProperties":false,"description":"Value for annotations."},"registration_source":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","description":"Value for url."},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for line."},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for column."}},"required":["url","line","column"],"additionalProperties":false},{"type":"null"}],"description":"Value for registration source."},"trust":{"type":"string","const":"page-declared-untrusted","description":"Value for trust."}},"required":["tool_key","name","description","frame_id","frame_url","owner_origin","declaration_kind","input_schema_shape","annotations","registration_source","trust"],"additionalProperties":false},"description":"Value for items."}},"required":["total","items"],"additionalProperties":false,"description":"Value for tools."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"description":"Current lifecycle or verification status."},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"description":"Value for conditions."},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for policy filtered sections."},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for attach limited sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for truncated sections."},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for unavailable sections."},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"description":"Value for section."},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"description":"Value for reason."},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for count."}},"required":["section","reason","count"],"additionalProperties":false},"description":"Value for excluded."},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for scripts."},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for network requests."},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for console events."},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket connections."},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket frames."},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for webmcp tools."},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for timeline events."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false,"description":"Value for dropped events."}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false,"description":"Value for completeness."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."}},"required":["schema_version","browser","target","status","tools","completeness","limitations"],"additionalProperties":false},{"type":"null"}],"description":"Value for webmcp."}},"required":["inspection"],"additionalProperties":false},"after":{"description":"Later passive web-page capture; pair with before.","type":"object","properties":{"inspection":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"browser":{"type":"object","properties":{"product":{"type":"string","description":"Value for product."},"protocol_version":{"type":"string","description":"Value for protocol version."},"revision":{"type":"string","description":"Value for revision."},"user_agent":{"type":"string","description":"Value for user agent."},"js_version":{"type":"string","description":"Value for js version."}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false,"description":"Value for browser."},"target":{"type":"object","properties":{"target_id":{"type":"string","description":"Exact authorized CDP target identifier."},"type":{"type":"string","description":"Value for type."},"title":{"type":"string","description":"Value for title."},"url":{"type":"string","description":"Value for url."},"origin":{"type":"string","description":"Value for origin."},"attached":{"type":"boolean","description":"Value for attached."}},"required":["target_id","type","title","url","origin","attached"],"additionalProperties":false,"description":"Value for target."},"capture_window":{"type":"object","properties":{"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for started at."},"ended_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for ended at."},"observation_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observation ms."}},"required":["started_at","ended_at","observation_ms"],"additionalProperties":false,"description":"Value for capture window."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"description":"Current lifecycle or verification status."},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"description":"Value for conditions."},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for policy filtered sections."},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for attach limited sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for truncated sections."},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for unavailable sections."},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"description":"Value for section."},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"description":"Value for reason."},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for count."}},"required":["section","reason","count"],"additionalProperties":false},"description":"Value for excluded."},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for scripts."},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for network requests."},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for console events."},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket connections."},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket frames."},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for webmcp tools."},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for timeline events."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false,"description":"Value for dropped events."}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false,"description":"Value for completeness."},"frames":{"type":"array","items":{"type":"object","properties":{"frame_id":{"type":"string","description":"Value for frame id."},"parent_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent frame id."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."}},"required":["frame_id","parent_frame_id","url","origin"],"additionalProperties":false},"description":"Value for frames."},"dom":{"type":"object","properties":{"total_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total nodes."},"nodes":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for index."},"parent_index":{"type":"integer","minimum":-1,"maximum":9007199254740991,"description":"Value for parent index."},"node_type":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for node type."},"node_name":{"type":"string","description":"Value for node name."},"node_value_length":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for node value length."},"attribute_names":{"type":"array","items":{"type":"string"},"description":"Value for attribute names."}},"required":["index","parent_index","node_type","node_name","node_value_length","attribute_names"],"additionalProperties":false},"description":"Value for nodes."}},"required":["total_nodes","nodes"],"additionalProperties":false,"description":"Value for dom."},"accessibility":{"type":"object","properties":{"total_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total nodes."},"text_capture":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","truncated","unavailable"],"description":"Current lifecycle or verification status."},"retained_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for retained."},"excluded_fields":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for excluded fields."},"truncated_fields":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for truncated fields."}},"required":["status","retained_bytes","excluded_fields","truncated_fields"],"additionalProperties":false,"description":"Value for text capture."},"nodes":{"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","description":"Value for node id."},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent id."},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for role."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact name used by this operation."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for description."},"ignored":{"type":"boolean","description":"Value for ignored."},"states":{"default":[],"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Exact name used by this operation."},"value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Value for states."}},"required":["node_id","parent_id","role","name","description","ignored"],"additionalProperties":false},"description":"Value for nodes."}},"required":["total_nodes","text_capture","nodes"],"additionalProperties":false,"description":"Value for accessibility."},"scripts":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."},"items":{"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string","pattern":"^scr_[a-f0-9]{64}(?:_[0-9]+)?$","description":"Value for script key."},"frame_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for frame id."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"cdp_hash":{"type":"string","description":"Value for cdp hash."},"length":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for length."},"is_module":{"type":"boolean","description":"Whether is module."},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for language."},"source_map_url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for source map url."},"resource_reconciliation":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"exact","description":"Current lifecycle or verification status."},"resource_key":{"type":"string","description":"Value for resource key."}},"required":["status","resource_key"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"ambiguous","description":"Current lifecycle or verification status."},"candidate_resource_keys":{"type":"array","items":{"type":"string"},"description":"Value for candidate resource keys."}},"required":["status","candidate_resource_keys"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unmatched","description":"Current lifecycle or verification status."},"reason":{"type":"string","const":"no_exact_sanitized_url","description":"Value for reason."}},"required":["status","reason"],"additionalProperties":false}],"description":"Value for resource reconciliation."},"source":{"oneOf":[{"type":"object","properties":{"included":{"type":"boolean","const":false,"description":"Value for included."},"reason":{"type":"string","description":"Value for reason."}},"required":["included","reason"],"additionalProperties":false},{"type":"object","properties":{"included":{"type":"boolean","const":true,"description":"Value for included."},"artifact":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$","description":"Value for uri."},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for bytes."},"media_type":{"type":"string","minLength":1,"maxLength":256,"description":"Value for media type."},"charset":{"type":"string","const":"utf-8","description":"Value for charset."},"text":{"type":"string","description":"Value for text."}},"required":["uri","sha256","bytes","media_type","charset","text"],"additionalProperties":false,"description":"Value for artifact."}},"required":["included","artifact"],"additionalProperties":false}],"description":"Value for source."}},"required":["script_key","url","origin","cdp_hash","length","is_module","language","source_map_url","resource_reconciliation","source"],"additionalProperties":false},"description":"Value for items."}},"required":["total","items"],"additionalProperties":false,"description":"Value for scripts."},"resources":{"type":"array","items":{"type":"object","properties":{"resource_key":{"type":"string","pattern":"^res_[a-f0-9]{64}$","description":"Value for resource key."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"type":{"type":"string","description":"Value for type."},"mime_type":{"type":"string","description":"Value for mime type."},"content_size":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Value for content size."}},"required":["resource_key","url","origin","type","mime_type","content_size"],"additionalProperties":false},"description":"Value for resources."},"network":{"type":"object","properties":{"requests":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","description":"Value for request id."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"method":{"type":"string","description":"Value for method."},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for resource type."},"status":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Current lifecycle or verification status."},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for mime type."},"encoded_data_length":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Value for encoded data length."},"initiator":{"type":"object","properties":{"type":{"type":"string","description":"Value for type."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for line."},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for column."}},"required":["type","url","line","column"],"additionalProperties":false,"description":"Value for initiator."},"body_shapes":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","partial","unavailable","truncated"],"description":"Current lifecycle or verification status."},"request":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for request."},"response":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for response."}},"required":["status","request","response"],"additionalProperties":false,"description":"Value for body shapes."}},"required":["request_id","url","origin","method","resource_type","status","mime_type","encoded_data_length","initiator","body_shapes"],"additionalProperties":false},"description":"Value for requests."},"websocket_events":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","description":"Value for request id."},"direction":{"type":"string","enum":["sent","received"],"description":"Direction in which to traverse or compare relationships."},"opcode":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for opcode."},"payload_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for payload."},"payload_shape":{"anyOf":[{"type":"object","properties":{"format":{"type":"string","enum":["json","text","binary"],"description":"Declared input artifact format."},"json_shape":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for json shape."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["format","json_shape","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for payload shape."}},"required":["request_id","direction","opcode","payload_bytes","payload_shape"],"additionalProperties":false},"description":"Value for websocket events."},"coverage_started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for coverage started at."},"prior_activity_available":{"type":"boolean","const":false,"description":"Value for prior activity available."}},"required":["requests","websocket_events","coverage_started_at","prior_activity_available"],"additionalProperties":false,"description":"Value for network."},"console":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","description":"Value for type."},"timestamp":{"type":"number","description":"Value for timestamp."},"argument_types":{"type":"array","items":{"type":"string"},"description":"Value for argument types."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for line."},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for column."},"text_capture":{"type":"object","properties":{"status":{"type":"string","enum":["not_approved","included","truncated"],"description":"Current lifecycle or verification status."},"values":{"type":"array","items":{"type":"object","properties":{"argument_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for argument index."},"type":{"type":"string","description":"Value for type."},"text":{"type":"string","description":"Value for text."}},"required":["argument_index","type","text"],"additionalProperties":false},"description":"Value for values."},"retained_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for retained."},"truncated_values":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for truncated values."}},"required":["status","values","retained_bytes","truncated_values"],"additionalProperties":false,"description":"Value for text capture."}},"required":["type","timestamp","argument_types","url","line","column","text_capture"],"additionalProperties":false},"description":"Value for events."},"coverage_started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for coverage started at."},"prior_activity_available":{"type":"boolean","const":false,"description":"Value for prior activity available."}},"required":["events","coverage_started_at","prior_activity_available"],"additionalProperties":false,"description":"Value for console."},"workers":{"type":"array","items":{"type":"object","properties":{"target_id":{"type":"string","description":"Exact authorized CDP target identifier."},"type":{"type":"string","description":"Value for type."},"url":{"type":"string","description":"Value for url."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"attached":{"type":"boolean","description":"Value for attached."},"opener_target_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for opener target id."},"parent_frame_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent frame id."}},"required":["target_id","type","url","origin","attached"],"additionalProperties":false},"description":"Value for workers."},"metadata":{"type":"object","properties":{"responses":{"type":"array","items":{"type":"object","properties":{"request_id":{"type":"string","description":"Value for request id."},"url":{"type":"string","description":"Value for url."},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for mime type."},"content_length":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for content length."},"content_encoding":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for content encoding."},"csp":{"type":"object","properties":{"directives":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Exact name used by this operation."},"sources":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["keyword","scheme","approved_origin","external_origin","other"],"description":"Value for kind."},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},"description":"Value for sources."}},"required":["name","sources"],"additionalProperties":false},"description":"Value for directives."},"nonce_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for nonce count."},"hash_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for hash count."}},"required":["directives","nonce_count","hash_count"],"additionalProperties":false,"description":"Value for csp."},"links":{"type":"array","items":{"type":"object","properties":{"href":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for href."},"destination_scope":{"type":"string","enum":["approved","outside_policy","unsupported"],"description":"Value for destination scope."},"rel":{"type":"array","items":{"type":"string"},"description":"Value for rel."},"as":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for as."},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for type."},"crossorigin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for crossorigin."}},"required":["href","destination_scope","rel","as","type","crossorigin"],"additionalProperties":false},"description":"Value for links."},"policies":{"type":"object","properties":{"coop":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for coop."},"coep":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for coep."},"corp":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for corp."},"referrer_policy":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for referrer policy."},"x_content_type_options":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for x content type options."},"permissions_policy_features":{"type":"array","items":{"type":"string"},"description":"Value for permissions policy features."}},"required":["coop","coep","corp","referrer_policy","x_content_type_options","permissions_policy_features"],"additionalProperties":false,"description":"Value for policies."}},"required":["request_id","url","mime_type","content_length","content_encoding","csp","links","policies"],"additionalProperties":false},"description":"Value for responses."},"dom_urls":{"type":"array","items":{"type":"object","properties":{"node_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for node index."},"attribute":{"type":"string","enum":["href","src","action","formaction","poster"],"description":"Value for attribute."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"destination_scope":{"type":"string","enum":["approved","outside_policy","unsupported"],"description":"Value for destination scope."}},"required":["node_index","attribute","url","destination_scope"],"additionalProperties":false},"description":"Value for dom urls."},"agent_hints":{"type":"array","items":{"type":"object","properties":{"mechanism":{"type":"string","enum":["link_rel","dom_link_rel","well_known_resource","response_header"],"description":"Value for mechanism."},"declaration":{"type":"string","description":"Value for declaration."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."},"trust":{"type":"string","const":"page-declared-untrusted","description":"Value for trust."}},"required":["mechanism","declaration","url","trust"],"additionalProperties":false},"description":"Value for agent hints."},"excluded_dom_urls":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for excluded dom urls."},"headers_allowlisted":{"type":"boolean","const":true,"description":"Value for headers allowlisted."}},"required":["responses","dom_urls","agent_hints","excluded_dom_urls","headers_allowlisted"],"additionalProperties":false,"description":"Value for metadata."},"storage":{"type":"object","properties":{"origin":{"type":"string","description":"Value for origin."},"usage_bytes":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Bounded byte count for usage."},"quota_bytes":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Bounded byte count for quota."},"local_storage_keys":{"type":"array","items":{"type":"string"},"description":"Value for local storage keys."},"session_storage_keys":{"type":"array","items":{"type":"string"},"description":"Value for session storage keys."},"indexed_db_names":{"type":"array","items":{"type":"string"},"description":"Value for indexed db names."},"cache_names":{"type":"array","items":{"type":"string"},"description":"Value for cache names."},"content_fingerprints":{"default":[],"type":"array","items":{"type":"object","properties":{"scope":{"type":"string","enum":["cookie","local_storage","session_storage","indexed_db_schema","indexed_db_record","cache_entry"],"description":"Value for scope."},"identity_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of identity."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."},"complete":{"type":"boolean","description":"Value for complete."}},"required":["scope","identity_sha256","value_sha256","complete"],"additionalProperties":false},"description":"Value for content fingerprints."},"fingerprint_algorithm":{"default":"sha256","type":"string","const":"sha256","description":"Value for fingerprint algorithm."},"fingerprints_complete":{"default":false,"type":"boolean","description":"Value for fingerprints complete."},"values_redacted":{"type":"boolean","const":true,"description":"Value for values redacted."}},"required":["origin","usage_bytes","quota_bytes","local_storage_keys","session_storage_keys","indexed_db_names","cache_names","values_redacted"],"additionalProperties":false,"description":"Value for storage."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."}},"required":["schema_version","browser","target","capture_window","completeness","frames","dom","accessibility","scripts","resources","network","console","workers","metadata","storage","limitations"],"additionalProperties":false,"description":"Value for inspection."},"webmcp":{"default":null,"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"browser":{"type":"object","properties":{"product":{"type":"string","description":"Value for product."},"protocol_version":{"type":"string","description":"Value for protocol version."},"revision":{"type":"string","description":"Value for revision."},"user_agent":{"type":"string","description":"Value for user agent."},"js_version":{"type":"string","description":"Value for js version."}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false,"description":"Value for browser."},"target":{"type":"object","properties":{"target_id":{"type":"string","description":"Exact authorized CDP target identifier."},"url":{"type":"string","description":"Value for url."},"origin":{"type":"string","description":"Value for origin."}},"required":["target_id","url","origin"],"additionalProperties":false,"description":"Value for target."},"status":{"type":"string","enum":["available","unavailable"],"description":"Current lifecycle or verification status."},"tools":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."},"items":{"type":"array","items":{"type":"object","properties":{"tool_key":{"type":"string","pattern":"^webmcp_[a-f0-9]{64}$","description":"Value for tool key."},"name":{"type":"string","description":"Exact name used by this operation."},"description":{"type":"string","description":"Value for description."},"frame_id":{"type":"string","description":"Value for frame id."},"frame_url":{"type":"string","description":"Value for frame url."},"owner_origin":{"type":"string","description":"Value for owner origin."},"declaration_kind":{"type":"string","enum":["declarative","imperative"],"description":"Value for declaration kind."},"input_schema_shape":{"anyOf":[{"type":"object","properties":{"root_type":{"type":"string","enum":["object","array","string","number","boolean","null"],"description":"Value for root type."},"node_count":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for node count."},"max_depth_observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted depth observed for this operation."},"properties":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","description":"Local filesystem path used by this operation."},"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["object","array","string","number","boolean","null"]},"description":"Value for types."},"observations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for observations."}},"required":["path","types","observations"],"additionalProperties":false},"description":"Value for properties."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"additionalProperties":false},{"type":"null"}],"description":"Value for input schema shape."},"annotations":{"type":"object","properties":{"read_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for read only."},"untrusted_content":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for untrusted content."},"autosubmit":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for autosubmit."}},"required":["read_only","untrusted_content","autosubmit"],"additionalProperties":false,"description":"Value for annotations."},"registration_source":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","description":"Value for url."},"line":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for line."},"column":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for column."}},"required":["url","line","column"],"additionalProperties":false},{"type":"null"}],"description":"Value for registration source."},"trust":{"type":"string","const":"page-declared-untrusted","description":"Value for trust."}},"required":["tool_key","name","description","frame_id","frame_url","owner_origin","declaration_kind","input_schema_shape","annotations","registration_source","trust"],"additionalProperties":false},"description":"Value for items."}},"required":["total","items"],"additionalProperties":false,"description":"Value for tools."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"description":"Current lifecycle or verification status."},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"description":"Value for conditions."},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for policy filtered sections."},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for attach limited sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for truncated sections."},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"description":"Value for unavailable sections."},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"description":"Value for section."},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"description":"Value for reason."},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for count."}},"required":["section","reason","count"],"additionalProperties":false},"description":"Value for excluded."},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for scripts."},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for network requests."},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for console events."},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket connections."},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for websocket frames."},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for webmcp tools."},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for timeline events."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false,"description":"Value for dropped events."}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false,"description":"Value for completeness."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."}},"required":["schema_version","browser","target","status","tools","completeness","limitations"],"additionalProperties":false},{"type":"null"}],"description":"Value for webmcp."}},"required":["inspection"],"additionalProperties":false},"before_scenario":{"description":"Earlier browser scenario capture; pair with after_scenario.","type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"browser":{"type":"object","properties":{"mode":{"type":"string","enum":["launch","connect"],"description":"Operation mode that selects the requested behavior."},"process_ownership":{"type":"string","enum":["provider-owned","external"],"description":"Value for process ownership."},"cleanup":{"type":"string","enum":["terminated-owned-process","disconnected-external"],"description":"Value for cleanup."},"product":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for product."},"version":{"type":"string","minLength":1,"maxLength":256,"description":"Value for version."}},"required":["mode","process_ownership","cleanup","product","version"],"additionalProperties":false,"description":"Value for browser."},"scenario":{"type":"object","properties":{"start_origin":{"type":"string","minLength":1,"maxLength":2048,"description":"Value for start origin."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"action_count":{"type":"integer","minimum":1,"maximum":128,"description":"Value for action count."},"secret_references":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":64},"description":"Value for secret references."}},"required":["start_origin","allowed_origins","action_count","secret_references"],"additionalProperties":false,"description":"Value for scenario."},"duration_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for duration ms."},"steps":{"minItems":1,"maxItems":129,"type":"array","items":{"type":"object","properties":{"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"step_id":{"type":"string","minLength":1,"maxLength":64,"description":"Value for step id."},"action":{"type":"string","minLength":1,"maxLength":64,"description":"Value for action."},"status":{"type":"string","enum":["completed","failed","cancelled"],"description":"Current lifecycle or verification status."},"elapsed_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for elapsed ms."},"before_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for before url."},"after_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for after url."},"error":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"description":"Structured, caller-actionable error when the operation fails."},"event_sequence_start":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for event sequence start."},"event_sequence_end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for event sequence end."},"artifacts":{"type":"object","properties":{"screenshot":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$","description":"Value for uri."},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":1,"maximum":8388608,"description":"Value for bytes."},"media_type":{"type":"string","const":"image/png","description":"Value for media type."},"data_base64":{"type":"string","maxLength":11184815,"description":"Value for data base64."}},"required":["uri","sha256","bytes","media_type","data_base64"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for screenshot."},"dom":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":0,"maximum":16777216,"description":"Value for bytes."},"text":{"type":"string","maxLength":1048576,"description":"Value for text."}},"required":["sha256","bytes","text"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for dom."},"accessibility":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":0,"maximum":16777216,"description":"Value for bytes."},"text":{"type":"string","maxLength":1048576,"description":"Value for text."}},"required":["sha256","bytes","text"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for accessibility."},"url":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for url."},"history":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"length":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for length."},"current_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for current url."},"navigation_entries":{"maxItems":256,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["navigate","reload","back_forward","prerender","unknown"],"description":"Value for type."},"name":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Exact name used by this operation."}},"required":["type","name"],"additionalProperties":false},"description":"Value for navigation entries."}},"required":["length","current_url","navigation_entries"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for history."},"storage":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"cookies":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024,"description":"Exact name used by this operation."},"domain":{"type":"string","maxLength":2048,"description":"Value for domain."},"path":{"type":"string","maxLength":4096,"description":"Local filesystem path used by this operation."},"secure":{"type":"boolean","description":"Value for secure."},"http_only":{"type":"boolean","description":"Value for http only."},"same_site":{"type":"string","enum":["Strict","Lax","None"],"description":"Value for same site."},"value_state":{"type":"string","enum":["hashed","redacted-secret"],"description":"Value for value state."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."}},"required":["name","domain","path","secure","http_only","same_site","value_state","value_sha256"],"additionalProperties":false},"description":"Value for cookies."},"local_storage":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024,"description":"Exact name used by this operation."},"value_state":{"type":"string","enum":["hashed","redacted-secret"],"description":"Value for value state."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."}},"required":["name","value_state","value_sha256"],"additionalProperties":false},"description":"Value for local storage."},"session_storage":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024,"description":"Exact name used by this operation."},"value_state":{"type":"string","enum":["hashed","redacted-secret"],"description":"Value for value state."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."}},"required":["name","value_state","value_sha256"],"additionalProperties":false},"description":"Value for session storage."}},"required":["cookies","local_storage","session_storage"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for storage."}},"required":["screenshot","dom","accessibility","url","history","storage"],"additionalProperties":false,"description":"Value for artifacts."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","incomplete","truncated"],"description":"Current lifecycle or verification status."},"equality_eligible":{"type":"boolean","description":"Value for equality eligible."},"missing_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for missing sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for truncated sections."}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"additionalProperties":false,"description":"Value for completeness."}},"required":["step_index","step_id","action","status","elapsed_ms","before_url","after_url","error","event_sequence_start","event_sequence_end","artifacts","completeness"],"additionalProperties":false},"description":"Value for steps."},"events":{"type":"object","properties":{"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for dropped."},"items":{"maxItems":100000,"type":"array","items":{"oneOf":[{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","const":"console","description":"Value for kind."},"level":{"type":"string","minLength":1,"maxLength":64,"description":"Value for level."},"text":{"type":"string","maxLength":65536,"description":"Value for text."},"url":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},{"type":"null"}],"description":"Value for url."}},"required":["sequence","step_index","kind","level","text","url"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","const":"page-error","description":"Value for kind."},"message":{"type":"string","maxLength":65536,"description":"Value for message."},"stack":{"anyOf":[{"type":"string","maxLength":262144},{"type":"null"}],"description":"Value for stack."}},"required":["sequence","step_index","kind","message","stack"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["request","response","request-failed"],"description":"Value for kind."},"method":{"type":"string","minLength":1,"maxLength":32,"description":"Value for method."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."},"resource_type":{"type":"string","minLength":1,"maxLength":64,"description":"Value for resource type."},"status":{"anyOf":[{"type":"integer","minimum":100,"maximum":599},{"type":"null"}],"description":"Current lifecycle or verification status."},"header_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for header names."},"failure":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"description":"Value for failure."}},"required":["sequence","step_index","kind","method","url","resource_type","status","header_names","failure"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["websocket-opened","websocket-closed"],"description":"Value for kind."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."}},"required":["sequence","step_index","kind","url"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["websocket-frame-sent","websocket-frame-received"],"description":"Value for kind."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."},"payload_type":{"type":"string","enum":["text","binary"],"description":"Value for payload type."},"payload_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for payload."},"payload_text":{"anyOf":[{"type":"string","maxLength":65536},{"type":"null"}],"description":"Value for payload text."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["sequence","step_index","kind","url","payload_type","payload_bytes","payload_text","truncated"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["frame-attached","frame-detached","frame-navigated","worker-created","worker-closed","popup-opened","popup-closed"],"description":"Value for kind."},"url":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},{"type":"null"}],"description":"Value for url."},"name":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"description":"Exact name used by this operation."}},"required":["sequence","step_index","kind","url","name"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","const":"download-cancelled","description":"Value for kind."},"suggested_filename":{"type":"string","maxLength":1024,"description":"Value for suggested filename."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."}},"required":["sequence","step_index","kind","suggested_filename","url"],"additionalProperties":false}]},"description":"Value for items."}},"required":["retained","dropped","items"],"additionalProperties":false,"description":"Value for events."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","incomplete","truncated"],"description":"Current lifecycle or verification status."},"equality_eligible":{"type":"boolean","description":"Value for equality eligible."},"missing_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for missing sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for truncated sections."}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"additionalProperties":false,"description":"Value for completeness."},"limitations":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for limitations."}},"required":["schema_version","browser","scenario","duration_ms","steps","events","completeness","limitations"],"additionalProperties":false},"after_scenario":{"description":"Later browser scenario capture; pair with before_scenario.","type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"browser":{"type":"object","properties":{"mode":{"type":"string","enum":["launch","connect"],"description":"Operation mode that selects the requested behavior."},"process_ownership":{"type":"string","enum":["provider-owned","external"],"description":"Value for process ownership."},"cleanup":{"type":"string","enum":["terminated-owned-process","disconnected-external"],"description":"Value for cleanup."},"product":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for product."},"version":{"type":"string","minLength":1,"maxLength":256,"description":"Value for version."}},"required":["mode","process_ownership","cleanup","product","version"],"additionalProperties":false,"description":"Value for browser."},"scenario":{"type":"object","properties":{"start_origin":{"type":"string","minLength":1,"maxLength":2048,"description":"Value for start origin."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"action_count":{"type":"integer","minimum":1,"maximum":128,"description":"Value for action count."},"secret_references":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":64},"description":"Value for secret references."}},"required":["start_origin","allowed_origins","action_count","secret_references"],"additionalProperties":false,"description":"Value for scenario."},"duration_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for duration ms."},"steps":{"minItems":1,"maxItems":129,"type":"array","items":{"type":"object","properties":{"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"step_id":{"type":"string","minLength":1,"maxLength":64,"description":"Value for step id."},"action":{"type":"string","minLength":1,"maxLength":64,"description":"Value for action."},"status":{"type":"string","enum":["completed","failed","cancelled"],"description":"Current lifecycle or verification status."},"elapsed_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for elapsed ms."},"before_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for before url."},"after_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for after url."},"error":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"description":"Structured, caller-actionable error when the operation fails."},"event_sequence_start":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for event sequence start."},"event_sequence_end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for event sequence end."},"artifacts":{"type":"object","properties":{"screenshot":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$","description":"Value for uri."},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":1,"maximum":8388608,"description":"Value for bytes."},"media_type":{"type":"string","const":"image/png","description":"Value for media type."},"data_base64":{"type":"string","maxLength":11184815,"description":"Value for data base64."}},"required":["uri","sha256","bytes","media_type","data_base64"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for screenshot."},"dom":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":0,"maximum":16777216,"description":"Value for bytes."},"text":{"type":"string","maxLength":1048576,"description":"Value for text."}},"required":["sha256","bytes","text"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for dom."},"accessibility":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":0,"maximum":16777216,"description":"Value for bytes."},"text":{"type":"string","maxLength":1048576,"description":"Value for text."}},"required":["sha256","bytes","text"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for accessibility."},"url":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for url."},"history":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"length":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for length."},"current_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for current url."},"navigation_entries":{"maxItems":256,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["navigate","reload","back_forward","prerender","unknown"],"description":"Value for type."},"name":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Exact name used by this operation."}},"required":["type","name"],"additionalProperties":false},"description":"Value for navigation entries."}},"required":["length","current_url","navigation_entries"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for history."},"storage":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured","description":"Value for state."},"value":{"type":"object","properties":{"cookies":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024,"description":"Exact name used by this operation."},"domain":{"type":"string","maxLength":2048,"description":"Value for domain."},"path":{"type":"string","maxLength":4096,"description":"Local filesystem path used by this operation."},"secure":{"type":"boolean","description":"Value for secure."},"http_only":{"type":"boolean","description":"Value for http only."},"same_site":{"type":"string","enum":["Strict","Lax","None"],"description":"Value for same site."},"value_state":{"type":"string","enum":["hashed","redacted-secret"],"description":"Value for value state."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."}},"required":["name","domain","path","secure","http_only","same_site","value_state","value_sha256"],"additionalProperties":false},"description":"Value for cookies."},"local_storage":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024,"description":"Exact name used by this operation."},"value_state":{"type":"string","enum":["hashed","redacted-secret"],"description":"Value for value state."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."}},"required":["name","value_state","value_sha256"],"additionalProperties":false},"description":"Value for local storage."},"session_storage":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024,"description":"Exact name used by this operation."},"value_state":{"type":"string","enum":["hashed","redacted-secret"],"description":"Value for value state."},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of value."}},"required":["name","value_state","value_sha256"],"additionalProperties":false},"description":"Value for session storage."}},"required":["cookies","local_storage","session_storage"],"additionalProperties":false,"description":"Value for value."}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested","description":"Value for state."}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing","description":"Value for state."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated","description":"Value for state."},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for observed."},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["state","observed","retained","reason"],"additionalProperties":false}],"description":"Value for storage."}},"required":["screenshot","dom","accessibility","url","history","storage"],"additionalProperties":false,"description":"Value for artifacts."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","incomplete","truncated"],"description":"Current lifecycle or verification status."},"equality_eligible":{"type":"boolean","description":"Value for equality eligible."},"missing_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for missing sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for truncated sections."}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"additionalProperties":false,"description":"Value for completeness."}},"required":["step_index","step_id","action","status","elapsed_ms","before_url","after_url","error","event_sequence_start","event_sequence_end","artifacts","completeness"],"additionalProperties":false},"description":"Value for steps."},"events":{"type":"object","properties":{"retained":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for retained."},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for dropped."},"items":{"maxItems":100000,"type":"array","items":{"oneOf":[{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","const":"console","description":"Value for kind."},"level":{"type":"string","minLength":1,"maxLength":64,"description":"Value for level."},"text":{"type":"string","maxLength":65536,"description":"Value for text."},"url":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},{"type":"null"}],"description":"Value for url."}},"required":["sequence","step_index","kind","level","text","url"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","const":"page-error","description":"Value for kind."},"message":{"type":"string","maxLength":65536,"description":"Value for message."},"stack":{"anyOf":[{"type":"string","maxLength":262144},{"type":"null"}],"description":"Value for stack."}},"required":["sequence","step_index","kind","message","stack"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["request","response","request-failed"],"description":"Value for kind."},"method":{"type":"string","minLength":1,"maxLength":32,"description":"Value for method."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."},"resource_type":{"type":"string","minLength":1,"maxLength":64,"description":"Value for resource type."},"status":{"anyOf":[{"type":"integer","minimum":100,"maximum":599},{"type":"null"}],"description":"Current lifecycle or verification status."},"header_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for header names."},"failure":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"description":"Value for failure."}},"required":["sequence","step_index","kind","method","url","resource_type","status","header_names","failure"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["websocket-opened","websocket-closed"],"description":"Value for kind."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."}},"required":["sequence","step_index","kind","url"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["websocket-frame-sent","websocket-frame-received"],"description":"Value for kind."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."},"payload_type":{"type":"string","enum":["text","binary"],"description":"Value for payload type."},"payload_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Bounded byte count for payload."},"payload_text":{"anyOf":[{"type":"string","maxLength":65536},{"type":"null"}],"description":"Value for payload text."},"truncated":{"type":"boolean","description":"Value for truncated."}},"required":["sequence","step_index","kind","url","payload_type","payload_bytes","payload_text","truncated"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","enum":["frame-attached","frame-detached","frame-navigated","worker-created","worker-closed","popup-opened","popup-closed"],"description":"Value for kind."},"url":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},{"type":"null"}],"description":"Value for url."},"name":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"description":"Exact name used by this operation."}},"required":["sequence","step_index","kind","url","name"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for sequence."},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for step index."},"kind":{"type":"string","const":"download-cancelled","description":"Value for kind."},"suggested_filename":{"type":"string","maxLength":1024,"description":"Value for suggested filename."},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072,"description":"Value for url."},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256},"description":"Value for query parameter names."},"redacted":{"type":"boolean","description":"Value for redacted."}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false,"description":"Value for url."}},"required":["sequence","step_index","kind","suggested_filename","url"],"additionalProperties":false}]},"description":"Value for items."}},"required":["retained","dropped","items"],"additionalProperties":false,"description":"Value for events."},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","incomplete","truncated"],"description":"Current lifecycle or verification status."},"equality_eligible":{"type":"boolean","description":"Value for equality eligible."},"missing_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for missing sections."},"truncated_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]},"description":"Value for truncated sections."}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"additionalProperties":false,"description":"Value for completeness."},"limitations":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for limitations."}},"required":["schema_version","browser","scenario","duration_ms","steps","events","completeness","limitations"],"additionalProperties":false},"normalization":{"default":{"rules":[]},"description":"Scenario-only exact-literal normalization policy.","type":"object","properties":{"rules":{"default":[],"maxItems":128,"type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string","minLength":1,"maxLength":64,"description":"Stable rule identity; rules execute in rule_id order."},"artifacts":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["action_state","dom","accessibility","url","history","storage","events"]},"description":"Artifact families whose durable string fields use this rule."},"match":{"type":"string","minLength":1,"maxLength":4096,"description":"Exact public literal to replace; regular expressions are not used."},"replacement":{"type":"string","maxLength":4096,"description":"Recorded replacement text used in normalized comparison."}},"required":["rule_id","artifacts","match","replacement"],"additionalProperties":false},"description":"Value for rules."}},"additionalProperties":false},"max_changes":{"default":2000,"description":"Maximum normalized change records to retain.","type":"integer","minimum":1,"maximum":20000}},"additionalProperties":false,"oneOf":[{"required":["before","after"],"not":{"anyOf":[{"required":["before_scenario"]},{"required":["after_scenario"]}]}},{"required":["before_scenario","after_scenario"],"not":{"anyOf":[{"required":["before"]},{"required":["after"]}]}}],"examples":[{"before_scenario":{"schema_version":1,"browser":{"mode":"connect","process_ownership":"external","cleanup":"disconnected-external","product":"Chromium","version":"149"},"scenario":{"start_origin":"https://app.example.test","allowed_origins":["https://app.example.test"],"action_count":1,"secret_references":[]},"duration_ms":10,"steps":[{"step_index":0,"step_id":"scenario_start","action":"scenario_start","status":"completed","elapsed_ms":0,"before_url":{"url":"https://app.example.test/","origin":"https://app.example.test","query_parameter_names":[],"redacted":false},"after_url":{"url":"https://app.example.test/","origin":"https://app.example.test","query_parameter_names":[],"redacted":false},"error":null,"event_sequence_start":1,"event_sequence_end":0,"artifacts":{"screenshot":{"state":"not_requested"},"dom":{"state":"not_requested"},"accessibility":{"state":"not_requested"},"url":{"state":"not_requested"},"history":{"state":"not_requested"},"storage":{"state":"not_requested"}},"completeness":{"status":"complete","equality_eligible":true,"missing_sections":[],"truncated_sections":[]}},{"step_index":1,"step_id":"open-settings","action":"click","status":"completed","elapsed_ms":10,"before_url":{"url":"https://app.example.test/","origin":"https://app.example.test","query_parameter_names":[],"redacted":false},"after_url":{"url":"https://app.example.test/","origin":"https://app.example.test","query_parameter_names":[],"redacted":false},"error":null,"event_sequence_start":1,"event_sequence_end":0,"artifacts":{"screenshot":{"state":"not_requested"},"dom":{"state":"not_requested"},"accessibility":{"state":"not_requested"},"url":{"state":"not_requested"},"history":{"state":"not_requested"},"storage":{"state":"not_requested"}},"completeness":{"status":"complete","equality_eligible":true,"missing_sections":[],"truncated_sections":[]}}],"events":{"retained":0,"dropped":0,"items":[]},"completeness":{"status":"complete","equality_eligible":true,"missing_sections":[],"truncated_sections":[]},"limitations":[]},"after_scenario":{"schema_version":1,"browser":{"mode":"connect","process_ownership":"external","cleanup":"disconnected-external","product":"Chromium","version":"149"},"scenario":{"start_origin":"https://app.example.test","allowed_origins":["https://app.example.test"],"action_count":1,"secret_references":[]},"duration_ms":10,"steps":[{"step_index":0,"step_id":"scenario_start","action":"scenario_start","status":"completed","elapsed_ms":0,"before_url":{"url":"https://app.example.test/","origin":"https://app.example.test","query_parameter_names":[],"redacted":false},"after_url":{"url":"https://app.example.test/","origin":"https://app.example.test","query_parameter_names":[],"redacted":false},"error":null,"event_sequence_start":1,"event_sequence_end":0,"artifacts":{"screenshot":{"state":"not_requested"},"dom":{"state":"not_requested"},"accessibility":{"state":"not_requested"},"url":{"state":"not_requested"},"history":{"state":"not_requested"},"storage":{"state":"not_requested"}},"completeness":{"status":"complete","equality_eligible":true,"missing_sections":[],"truncated_sections":[]}},{"step_index":1,"step_id":"open-settings","action":"click","status":"completed","elapsed_ms":10,"before_url":{"url":"https://app.example.test/","origin":"https://app.example.test","query_parameter_names":[],"redacted":false},"after_url":{"url":"https://app.example.test/","origin":"https://app.example.test","query_parameter_names":[],"redacted":false},"error":null,"event_sequence_start":1,"event_sequence_end":0,"artifacts":{"screenshot":{"state":"not_requested"},"dom":{"state":"not_requested"},"accessibility":{"state":"not_requested"},"url":{"state":"not_requested"},"history":{"state":"not_requested"},"storage":{"state":"not_requested"}},"completeness":{"status":"complete","equality_eligible":true,"missing_sections":[],"truncated_sections":[]}}],"events":{"retained":0,"dropped":0,"items":[]},"completeness":{"status":"complete","equality_eligible":true,"missing_sections":[],"truncated_sections":[]},"limitations":[]},"normalization":{"rules":[{"rule_id":"volatile-build-id","artifacts":["dom","accessibility"],"match":"build-123","replacement":"[BUILD_ID]"}]},"max_changes":2000}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1},"comparison_kind":{"type":"string","const":"browser_scenario"},"overall_status":{"type":"string","enum":["changed","unchanged","unknown"]},"normalization":{"type":"object","properties":{"built_in_rules":{"minItems":5,"maxItems":5,"type":"array","items":{"type":"string","enum":["ignore_step_elapsed_ms","ignore_event_sequence","ignore_event_step_index","compare_screenshot_content_digest","compare_normalized_text_content"]}},"rules":{"maxItems":128,"type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string","minLength":1,"maxLength":64,"description":"Stable rule identity; rules execute in rule_id order."},"artifacts":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["action_state","dom","accessibility","url","history","storage","events"]},"description":"Artifact families whose durable string fields use this rule."},"match":{"type":"string","minLength":1,"maxLength":4096,"description":"Exact public literal to replace; regular expressions are not used."},"replacement":{"type":"string","maxLength":4096,"description":"Recorded replacement text used in normalized comparison."}},"required":["rule_id","artifacts","match","replacement"],"additionalProperties":false}},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["built_in_rules","rules","sha256"],"additionalProperties":false},"alignment":{"type":"object","properties":{"status":{"type":"string","enum":["aligned","partial","failed"]},"aligned_steps":{"type":"integer","minimum":0,"maximum":129},"before_only":{"maxItems":129,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"after_only":{"maxItems":129,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}},"failures":{"maxItems":520,"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["duplicate_before_step_id","duplicate_after_step_id","missing_before_step","missing_after_step","action_mismatch","capture_context_mismatch"]},"step_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":64},{"type":"null"}]},"reason":{"type":"string","minLength":1,"maxLength":2048}},"required":["code","step_id","reason"],"additionalProperties":false}}},"required":["status","aligned_steps","before_only","after_only","failures"],"additionalProperties":false},"steps":{"maxItems":129,"type":"array","items":{"type":"object","properties":{"step_id":{"type":"string","minLength":1,"maxLength":64},"before_step_index":{"type":"integer","minimum":0,"maximum":128},"after_step_index":{"type":"integer","minimum":0,"maximum":128},"before_action":{"type":"string","minLength":1,"maxLength":64},"after_action":{"type":"string","minLength":1,"maxLength":64},"status":{"type":"string","enum":["changed","unchanged","unknown"]},"artifact_diffs":{"maxItems":8,"type":"array","items":{"type":"object","properties":{"artifact":{"type":"string","enum":["action_state","screenshot","dom","accessibility","url","history","storage","events"]},"status":{"type":"string","enum":["changed","unknown"]},"before_state":{"type":"string","enum":["captured","not_requested","missing","truncated"]},"after_state":{"type":"string","enum":["captured","not_requested","missing","truncated"]},"before_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"after_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"reason":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048},{"type":"null"}]}},"required":["artifact","status","before_state","after_state","before_sha256","after_sha256","reason"],"additionalProperties":false}},"omitted_artifact_diffs":{"type":"integer","minimum":0,"maximum":8}},"required":["step_id","before_step_index","after_step_index","before_action","after_action","status","artifact_diffs","omitted_artifact_diffs"],"additionalProperties":false}},"artifact_diffs":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":1032},"retained":{"type":"integer","minimum":0,"maximum":1032},"omitted":{"type":"integer","minimum":0,"maximum":1032}},"required":["total","retained","omitted"],"additionalProperties":false},"limitations":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048}}},"required":["schema_version","comparison_kind","overall_status","normalization","alignment","steps","artifact_diffs","limitations"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":1},"overall_status":{"type":"string","enum":["changed","unchanged","unknown"]},"before_target":{"type":"object","properties":{"target_id":{"type":"string"},"url":{"type":"string"}},"required":["target_id","url"],"additionalProperties":false},"after_target":{"type":"object","properties":{"target_id":{"type":"string"},"url":{"type":"string"}},"required":["target_id","url"],"additionalProperties":false},"dimensions":{"type":"object","properties":{"dom_structure":{"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false},"scripts":{"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false},"resources":{"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false},"network":{"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false},"metadata":{"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false},"webmcp":{"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false},"accessibility":{"default":{"status":"unknown","total_changes":0,"changes":[],"omitted_changes":0,"reason":"Dimension was not recorded by this version 1 capture diff."},"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false},"storage":{"default":{"status":"unknown","total_changes":0,"changes":[],"omitted_changes":0,"reason":"Dimension was not recorded by this version 1 capture diff."},"type":"object","properties":{"status":{"type":"string","enum":["changed","unchanged","unknown"]},"total_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"changes":{"type":"array","items":{"type":"object","properties":{"identity":{"type":"string"},"change":{"type":"string","enum":["added","removed","modified"]}},"required":["identity","change"],"additionalProperties":false}},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","total_changes","changes","omitted_changes","reason"],"additionalProperties":false}},"required":["dom_structure","scripts","resources","network","metadata","webmcp","accessibility","storage"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","overall_status","before_target","after_target","dimensions","limitations"],"additionalProperties":false}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"capture_web_screenshot","analysisOperation":null,"title":"Capture Web Screenshot","description":"Capture the current visible viewport of one approved page as a bounded, content-addressed PNG artifact. Screenshot capture requires separate explicit approval and never scrolls, navigates, or evaluates page JavaScript.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"screenshot_approved":{"type":"boolean","const":true,"description":"Explicit operator approval for screenshot."},"maximum_image_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":8388608,"description":"Bounded byte count for maximum image."}},"required":["cdp_endpoint","allowed_origins","target_id","approved","screenshot_approved"],"additionalProperties":false,"examples":[{"cdp_endpoint":"http://127.0.0.1:9222","allowed_origins":["https://app.example.test"],"target_id":"TARGET_ID_FROM_LIST_BROWSER_TARGETS","approved":true,"screenshot_approved":true,"maximum_image_bytes":4194304}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"browser":{"type":"object","properties":{"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"},"js_version":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false},"target":{"type":"object","properties":{"target_id":{"type":"string"},"url":{"type":"string"},"origin":{"type":"string"}},"required":["target_id","url","origin"],"additionalProperties":false},"captured_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"viewport":{"type":"object","properties":{"width":{"type":"integer","minimum":1,"maximum":9007199254740991},"height":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["width","height"],"additionalProperties":false},"artifact":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":1,"maximum":8388608},"media_type":{"type":"string","const":"image/png"},"data_base64":{"type":"string","maxLength":11184815}},"required":["uri","sha256","bytes","media_type","data_base64"],"additionalProperties":false},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]}},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"]},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["section","reason","count"],"additionalProperties":false}},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","browser","target","captured_at","viewport","artifact","completeness","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_web_screenshots","analysisOperation":null,"title":"Compare Web Screenshots","description":"Compare two self-verifying PNG screenshot artifacts with bounded local pixel metrics. Returns exact changed-pixel ratios and channel deltas without OCR or external services.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"before":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$","description":"Value for uri."},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":1,"maximum":8388608,"description":"Value for bytes."},"media_type":{"type":"string","const":"image/png","description":"Value for media type."},"data_base64":{"type":"string","maxLength":11184815,"description":"Value for data base64."}},"required":["uri","sha256","bytes","media_type","data_base64"],"additionalProperties":false,"description":"The earlier or left-hand observation to compare."},"after":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$","description":"Value for uri."},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."},"bytes":{"type":"integer","minimum":1,"maximum":8388608,"description":"Value for bytes."},"media_type":{"type":"string","const":"image/png","description":"Value for media type."},"data_base64":{"type":"string","maxLength":11184815,"description":"Value for data base64."}},"required":["uri","sha256","bytes","media_type","data_base64"],"additionalProperties":false,"description":"The later or right-hand observation to compare."},"channel_threshold":{"default":0,"type":"integer","minimum":0,"maximum":255,"description":"Value for channel threshold."},"maximum_pixels":{"default":16000000,"type":"integer","minimum":1,"maximum":32000000,"description":"Value for maximum pixels."}},"required":["before","after"],"additionalProperties":false,"examples":[{"before":{"uri":"rea://web-screenshot/sha256/153cf6c9a526a63053a37b10234c2fd85df38887c2dc0a800d90abfa6631d01c","sha256":"153cf6c9a526a63053a37b10234c2fd85df38887c2dc0a800d90abfa6631d01c","bytes":70,"media_type":"image/png","data_base64":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PzWvWQAAAABJRU5ErkJggg=="},"after":{"uri":"rea://web-screenshot/sha256/153cf6c9a526a63053a37b10234c2fd85df38887c2dc0a800d90abfa6631d01c","sha256":"153cf6c9a526a63053a37b10234c2fd85df38887c2dc0a800d90abfa6631d01c","bytes":70,"media_type":"image/png","data_base64":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PzWvWQAAAABJRU5ErkJggg=="},"channel_threshold":0,"maximum_pixels":16000000}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"status":{"type":"string","enum":["identical","different","dimension_mismatch"]},"before":{"type":"object","properties":{"width":{"type":"integer","minimum":1,"maximum":9007199254740991},"height":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["width","height"],"additionalProperties":false},"after":{"type":"object","properties":{"width":{"type":"integer","minimum":1,"maximum":9007199254740991},"height":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["width","height"],"additionalProperties":false},"channel_threshold":{"type":"integer","minimum":0,"maximum":255},"compared_pixels":{"type":"integer","minimum":0,"maximum":9007199254740991},"changed_pixels":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"changed_ratio":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"maximum_channel_delta":{"anyOf":[{"type":"integer","minimum":0,"maximum":255},{"type":"null"}]},"mean_absolute_channel_delta":{"anyOf":[{"type":"number","minimum":0,"maximum":255},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","status","before","after","channel_threshold","compared_pixels","changed_pixels","changed_ratio","maximum_channel_delta","mean_absolute_channel_delta","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"capture_browser_scenario","analysisOperation":null,"title":"Capture Browser Scenario","description":"Run one approved, bounded browser scenario through Playwright. Launch mode owns and terminates a temporary browser profile; connect mode attaches to one exact loopback CDP target and disconnects without terminating the external browser. Only the fixed action vocabulary is accepted. Navigation, storage, requests, redirects, secrets, redaction, captures, and limits must be declared before execution. Returns step-indexed Evidence with screenshots, DOM, accessibility, URL/history/storage state, runtime events, explicit missing/truncated sections, and equality eligibility.","kind":"browser-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"browser":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","const":"launch","description":"Operation mode that selects the requested behavior."},"executable_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for executable."},"headless":{"type":"boolean","const":true,"description":"Value for headless."},"user_data":{"type":"string","const":"temporary-owned","description":"Value for user data."},"cleanup":{"type":"string","const":"close-and-delete-profile","description":"Value for cleanup."}},"required":["mode","executable_path","headless","user_data","cleanup"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"connect","description":"Operation mode that selects the requested behavior."},"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"ownership":{"type":"string","const":"external","description":"Value for ownership."},"cleanup":{"type":"string","const":"disconnect-only","description":"Value for cleanup."}},"required":["mode","cdp_endpoint","target_id","ownership","cleanup"],"additionalProperties":false}],"description":"Value for browser."},"start_url":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":65536,"description":"Value for url."},"query":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Non-empty feature or text query to investigate."}},"required":["url"],"additionalProperties":false,"description":"Value for start url."},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"environment":{"type":"object","properties":{"viewport":{"type":"object","properties":{"width":{"type":"integer","minimum":320,"maximum":7680,"description":"Value for width."},"height":{"type":"integer","minimum":240,"maximum":4320,"description":"Value for height."},"device_scale_factor":{"default":1,"type":"number","minimum":0.5,"maximum":4,"description":"Value for device scale factor."}},"required":["width","height"],"additionalProperties":false,"description":"Value for viewport."},"locale":{"type":"string","minLength":2,"maxLength":64,"pattern":"^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$","description":"Value for locale."},"timezone":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9_+-]+(?:\\\\/[A-Za-z0-9_+-]+)*$","description":"Value for timezone."},"color_scheme":{"type":"string","enum":["light","dark","no-preference"],"description":"Value for color scheme."},"reduced_motion":{"type":"string","enum":["reduce","no-preference"],"description":"Value for reduced motion."},"service_workers":{"type":"string","const":"block","description":"Value for service workers."}},"required":["viewport","locale","timezone","color_scheme","reduced_motion","service_workers"],"additionalProperties":false,"description":"Value for environment."},"actions":{"minItems":1,"maxItems":128,"type":"array","items":{"oneOf":[{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"action":{"type":"string","const":"goto","description":"Value for action."},"destination":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":65536,"description":"Value for url."},"query":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Non-empty feature or text query to investigate."}},"required":["url"],"additionalProperties":false,"description":"Value for destination."},"wait_until":{"type":"string","enum":["commit","domcontentloaded","load"],"description":"Value for wait until."}},"required":["step_id","action","destination","wait_until"],"additionalProperties":false},{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"action":{"type":"string","const":"click","description":"Value for action."},"locator":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"test_id","description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"role","description":"Value for kind."},"role":{"type":"string","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"description":"Value for role."},"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"exact":{"type":"boolean","const":true,"description":"Value for exact."}},"required":["kind","role","name","exact"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"css","description":"Value for kind."},"selector":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for selector."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["kind","selector","approved"],"additionalProperties":false}],"description":"Value for locator."},"button":{"default":"left","type":"string","enum":["left","middle","right"],"description":"Value for button."},"click_count":{"default":1,"type":"integer","minimum":1,"maximum":3,"description":"Value for click count."}},"required":["step_id","action","locator"],"additionalProperties":false},{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"action":{"type":"string","const":"fill","description":"Value for action."},"locator":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"test_id","description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"role","description":"Value for kind."},"role":{"type":"string","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"description":"Value for role."},"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"exact":{"type":"boolean","const":true,"description":"Value for exact."}},"required":["kind","role","name","exact"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"css","description":"Value for kind."},"selector":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for selector."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["kind","selector","approved"],"additionalProperties":false}],"description":"Value for locator."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["step_id","action","locator","value"],"additionalProperties":false},{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"action":{"type":"string","const":"press","description":"Value for action."},"locator":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"test_id","description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"role","description":"Value for kind."},"role":{"type":"string","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"description":"Value for role."},"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"exact":{"type":"boolean","const":true,"description":"Value for exact."}},"required":["kind","role","name","exact"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"css","description":"Value for kind."},"selector":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for selector."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["kind","selector","approved"],"additionalProperties":false}],"description":"Value for locator."},"key":{"type":"string","minLength":1,"maxLength":64,"description":"Value for key."}},"required":["step_id","action","locator","key"],"additionalProperties":false},{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"action":{"type":"string","const":"select_option","description":"Value for action."},"locator":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"test_id","description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"role","description":"Value for kind."},"role":{"type":"string","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"description":"Value for role."},"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"exact":{"type":"boolean","const":true,"description":"Value for exact."}},"required":["kind","role","name","exact"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"css","description":"Value for kind."},"selector":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for selector."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["kind","selector","approved"],"additionalProperties":false}],"description":"Value for locator."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["step_id","action","locator","value"],"additionalProperties":false},{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"action":{"type":"string","enum":["check","uncheck"],"description":"Value for action."},"locator":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"test_id","description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"role","description":"Value for kind."},"role":{"type":"string","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"description":"Value for role."},"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"exact":{"type":"boolean","const":true,"description":"Value for exact."}},"required":["kind","role","name","exact"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"css","description":"Value for kind."},"selector":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for selector."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["kind","selector","approved"],"additionalProperties":false}],"description":"Value for locator."}},"required":["step_id","action","locator"],"additionalProperties":false},{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for timeout ms."},"action":{"type":"string","const":"wait_for","description":"Value for action."},"locator":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"test_id","description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":512,"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"role","description":"Value for kind."},"role":{"type":"string","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"description":"Value for role."},"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"exact":{"type":"boolean","const":true,"description":"Value for exact."}},"required":["kind","role","name","exact"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"css","description":"Value for kind."},"selector":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for selector."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["kind","selector","approved"],"additionalProperties":false}],"description":"Value for locator."},"state":{"type":"string","enum":["attached","detached","visible","hidden"],"description":"Value for state."}},"required":["step_id","action","locator","state"],"additionalProperties":false},{"type":"object","properties":{"step_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for step id."},"action":{"type":"string","const":"wait_for_timeout","description":"Value for action."},"duration_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for duration ms."}},"required":["step_id","action","duration_ms"],"additionalProperties":false}]},"description":"Value for actions."},"storage":{"type":"object","properties":{"cookies":{"maxItems":128,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."},"destination":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":65536,"description":"Value for url."},"query":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Non-empty feature or text query to investigate."}},"required":["url"],"additionalProperties":false,"description":"Value for destination."},"http_only":{"type":"boolean","description":"Value for http only."},"secure":{"type":"boolean","description":"Value for secure."},"same_site":{"type":"string","enum":["Strict","Lax","None"],"description":"Value for same site."}},"required":["name","value","destination","http_only","secure","same_site"],"additionalProperties":false},"description":"Value for cookies."},"local_storage":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"origin":{"type":"string","minLength":1,"maxLength":2048,"description":"Value for origin."},"entries":{"maxItems":128,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Value for entries."}},"required":["origin","entries"],"additionalProperties":false},"description":"Value for local storage."},"session_storage":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"origin":{"type":"string","minLength":1,"maxLength":2048,"description":"Value for origin."},"entries":{"maxItems":128,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":1024,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Value for entries."}},"required":["origin","entries"],"additionalProperties":false},"description":"Value for session storage."}},"additionalProperties":false,"description":"Value for storage."},"request_replay":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","const":"disabled","description":"Operation mode that selects the requested behavior."}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"exact","description":"Operation mode that selects the requested behavior."},"unmatched":{"type":"string","enum":["abort","passthrough-approved-origins"],"description":"Value for unmatched."},"routes":{"minItems":1,"maxItems":256,"type":"array","items":{"type":"object","properties":{"route_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for route id."},"method":{"type":"string","enum":["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS"],"description":"Value for method."},"request":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":65536,"description":"Value for url."},"query":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Non-empty feature or text query to investigate."}},"required":["url"],"additionalProperties":false,"description":"Value for request."},"response":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"response","description":"Value for kind."},"status":{"type":"integer","minimum":100,"maximum":599,"description":"Current lifecycle or verification status."},"headers":{"maxItems":64,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+\\\\-.^_`|~0-9A-Za-z]+$","description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Value for headers."},"body":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for body."}},"required":["kind","status"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"redirect","description":"Value for kind."},"status":{"anyOf":[{"type":"number","const":301},{"type":"number","const":302},{"type":"number","const":303},{"type":"number","const":307},{"type":"number","const":308}],"description":"Current lifecycle or verification status."},"destination":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":65536,"description":"Value for url."},"query":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":256,"description":"Exact name used by this operation."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"literal","description":"Value for source."},"value":{"type":"string","maxLength":65536,"description":"Value for value."},"classification":{"type":"string","const":"public","description":"Value for classification."}},"required":["source","value","classification"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"secret","description":"Value for source."},"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."}},"required":["source","secret_id"],"additionalProperties":false}],"description":"Value for value."}},"required":["name","value"],"additionalProperties":false},"description":"Non-empty feature or text query to investigate."}},"required":["url"],"additionalProperties":false,"description":"Value for destination."}},"required":["kind","status","destination"],"additionalProperties":false}],"description":"Value for response."}},"required":["route_id","method","request","response"],"additionalProperties":false},"description":"Value for routes."}},"required":["mode","unmatched","routes"],"additionalProperties":false}],"description":"Value for request replay."},"secrets":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"secret_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for secret id."},"environment_variable":{"type":"string","pattern":"^[A-Z_][A-Z0-9_]{0,127}$","description":"Value for environment variable."},"purpose":{"type":"string","enum":["input","storage","request-replay"],"description":"Value for purpose."},"redaction":{"type":"string","const":"replace-with-secret-reference","description":"Value for redaction."}},"required":["secret_id","environment_variable","purpose","redaction"],"additionalProperties":false},"description":"Value for secrets."},"redaction":{"type":"object","properties":{"secret_values":{"type":"string","const":"replace-with-secret-reference","description":"Value for secret values."},"query_parameter_names":{"maxItems":128,"type":"array","items":{"type":"string","minLength":1,"maxLength":256},"description":"Value for query parameter names."},"header_names":{"maxItems":128,"type":"array","items":{"type":"string","minLength":1,"maxLength":256},"description":"Value for header names."}},"required":["secret_values"],"additionalProperties":false,"description":"Value for redaction."},"capture":{"type":"object","properties":{"after_each_step":{"maxItems":6,"type":"array","items":{"type":"string","enum":["screenshot","dom","accessibility","url","history","storage"]},"description":"Value for after each step."},"at_end":{"maxItems":6,"type":"array","items":{"type":"string","enum":["screenshot","dom","accessibility","url","history","storage"]},"description":"Value for at end."},"events":{"type":"array","items":{"type":"string","enum":["console","page-errors","network","websockets","frames","workers","popups","downloads"]},"description":"Value for events."}},"required":["after_each_step","at_end","events"],"additionalProperties":false,"description":"Value for capture."},"limits":{"type":"object","properties":{"max_duration_ms":{"type":"integer","minimum":100,"maximum":300000,"description":"Maximum permitted duration ms for this operation."},"action_timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for action timeout ms."},"navigation_timeout_ms":{"type":"integer","minimum":1,"maximum":60000,"description":"Value for navigation timeout ms."},"max_events":{"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted events for this operation."},"max_frames":{"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted frames for this operation."},"max_workers":{"type":"integer","minimum":0,"maximum":1000,"description":"Maximum permitted workers for this operation."},"max_popups":{"type":"integer","minimum":0,"maximum":100,"description":"Maximum permitted popups for this operation."},"max_websockets":{"type":"integer","minimum":0,"maximum":10000,"description":"Maximum permitted websockets for this operation."},"max_dom_nodes":{"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted dom nodes for this operation."},"max_accessibility_nodes":{"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted accessibility nodes for this operation."},"max_screenshots":{"type":"integer","minimum":0,"maximum":256,"description":"Maximum permitted screenshots for this operation."},"max_screenshot_bytes":{"type":"integer","minimum":1,"maximum":8388608,"description":"Maximum permitted screenshot bytes for this operation."},"max_storage_entries":{"type":"integer","minimum":0,"maximum":512,"description":"Maximum permitted storage entries for this operation."},"max_total_metadata_bytes":{"type":"integer","minimum":1024,"maximum":67108864,"description":"Maximum permitted total metadata bytes for this operation."}},"required":["max_duration_ms","action_timeout_ms","navigation_timeout_ms","max_events","max_frames","max_workers","max_popups","max_websockets","max_dom_nodes","max_accessibility_nodes","max_screenshots","max_screenshot_bytes","max_storage_entries","max_total_metadata_bytes"],"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["schema_version","browser","start_url","allowed_origins","environment","actions","storage","request_replay","redaction","capture","limits","approved"],"additionalProperties":false,"examples":[{"schema_version":1,"browser":{"mode":"launch","executable_path":"/opt/chromium/chrome","headless":true,"user_data":"temporary-owned","cleanup":"close-and-delete-profile"},"start_url":{"url":"https://app.example.test/","query":[]},"allowed_origins":["https://app.example.test"],"environment":{"viewport":{"width":1280,"height":720,"device_scale_factor":1},"locale":"en-US","timezone":"UTC","color_scheme":"light","reduced_motion":"reduce","service_workers":"block"},"actions":[{"step_id":"ready","action":"wait_for","locator":{"kind":"test_id","value":"application-ready"},"state":"visible"}],"storage":{"cookies":[],"local_storage":[],"session_storage":[]},"request_replay":{"mode":"disabled"},"secrets":[],"redaction":{"secret_values":"replace-with-secret-reference","query_parameter_names":[],"header_names":["authorization","cookie","proxy-authorization","set-cookie"]},"capture":{"after_each_step":["screenshot","url","accessibility"],"at_end":["dom","history","storage"],"events":["console","page-errors","network","websockets"]},"limits":{"max_duration_ms":60000,"action_timeout_ms":5000,"navigation_timeout_ms":10000,"max_events":2000,"max_frames":100,"max_workers":20,"max_popups":10,"max_websockets":100,"max_dom_nodes":10000,"max_accessibility_nodes":10000,"max_screenshots":16,"max_screenshot_bytes":4194304,"max_storage_entries":256,"max_total_metadata_bytes":4194304},"approved":true}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"browser":{"type":"object","properties":{"mode":{"type":"string","enum":["launch","connect"]},"process_ownership":{"type":"string","enum":["provider-owned","external"]},"cleanup":{"type":"string","enum":["terminated-owned-process","disconnected-external"]},"product":{"type":"string","minLength":1,"maxLength":1024},"version":{"type":"string","minLength":1,"maxLength":256}},"required":["mode","process_ownership","cleanup","product","version"],"additionalProperties":false},"scenario":{"type":"object","properties":{"start_origin":{"type":"string","minLength":1,"maxLength":2048},"allowed_origins":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048}},"action_count":{"type":"integer","minimum":1,"maximum":128},"secret_references":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}}},"required":["start_origin","allowed_origins","action_count","secret_references"],"additionalProperties":false},"duration_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"steps":{"minItems":1,"maxItems":129,"type":"array","items":{"type":"object","properties":{"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"step_id":{"type":"string","minLength":1,"maxLength":64},"action":{"type":"string","minLength":1,"maxLength":64},"status":{"type":"string","enum":["completed","failed","cancelled"]},"elapsed_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"before_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},"after_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},"error":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}]},"event_sequence_start":{"type":"integer","minimum":1,"maximum":9007199254740991},"event_sequence_end":{"type":"integer","minimum":0,"maximum":9007199254740991},"artifacts":{"type":"object","properties":{"screenshot":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured"},"value":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":1,"maximum":8388608},"media_type":{"type":"string","const":"image/png"},"data_base64":{"type":"string","maxLength":11184815}},"required":["uri","sha256","bytes","media_type","data_base64"],"additionalProperties":false}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested"}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing"},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated"},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","observed","retained","reason"],"additionalProperties":false}]},"dom":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured"},"value":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":16777216},"text":{"type":"string","maxLength":1048576}},"required":["sha256","bytes","text"],"additionalProperties":false}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested"}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing"},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated"},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","observed","retained","reason"],"additionalProperties":false}]},"accessibility":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured"},"value":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":16777216},"text":{"type":"string","maxLength":1048576}},"required":["sha256","bytes","text"],"additionalProperties":false}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested"}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing"},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated"},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","observed","retained","reason"],"additionalProperties":false}]},"url":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured"},"value":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested"}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing"},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated"},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","observed","retained","reason"],"additionalProperties":false}]},"history":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured"},"value":{"type":"object","properties":{"length":{"type":"integer","minimum":0,"maximum":9007199254740991},"current_url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},"navigation_entries":{"maxItems":256,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["navigate","reload","back_forward","prerender","unknown"]},"name":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false}},"required":["type","name"],"additionalProperties":false}}},"required":["length","current_url","navigation_entries"],"additionalProperties":false}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested"}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing"},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated"},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","observed","retained","reason"],"additionalProperties":false}]},"storage":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"captured"},"value":{"type":"object","properties":{"cookies":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024},"domain":{"type":"string","maxLength":2048},"path":{"type":"string","maxLength":4096},"secure":{"type":"boolean"},"http_only":{"type":"boolean"},"same_site":{"type":"string","enum":["Strict","Lax","None"]},"value_state":{"type":"string","enum":["hashed","redacted-secret"]},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","domain","path","secure","http_only","same_site","value_state","value_sha256"],"additionalProperties":false}},"local_storage":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024},"value_state":{"type":"string","enum":["hashed","redacted-secret"]},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","value_state","value_sha256"],"additionalProperties":false}},"session_storage":{"maxItems":512,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":1024},"value_state":{"type":"string","enum":["hashed","redacted-secret"]},"value_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","value_state","value_sha256"],"additionalProperties":false}}},"required":["cookies","local_storage","session_storage"],"additionalProperties":false}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"not_requested"}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"missing"},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","reason"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"truncated"},"observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["state","observed","retained","reason"],"additionalProperties":false}]}},"required":["screenshot","dom","accessibility","url","history","storage"],"additionalProperties":false},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","incomplete","truncated"]},"equality_eligible":{"type":"boolean"},"missing_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]}},"truncated_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]}}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"additionalProperties":false}},"required":["step_index","step_id","action","status","elapsed_ms","before_url","after_url","error","event_sequence_start","event_sequence_end","artifacts","completeness"],"additionalProperties":false}},"events":{"type":"object","properties":{"retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"items":{"maxItems":100000,"type":"array","items":{"oneOf":[{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","const":"console"},"level":{"type":"string","minLength":1,"maxLength":64},"text":{"type":"string","maxLength":65536},"url":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},{"type":"null"}]}},"required":["sequence","step_index","kind","level","text","url"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","const":"page-error"},"message":{"type":"string","maxLength":65536},"stack":{"anyOf":[{"type":"string","maxLength":262144},{"type":"null"}]}},"required":["sequence","step_index","kind","message","stack"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","enum":["request","response","request-failed"]},"method":{"type":"string","minLength":1,"maxLength":32},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},"resource_type":{"type":"string","minLength":1,"maxLength":64},"status":{"anyOf":[{"type":"integer","minimum":100,"maximum":599},{"type":"null"}]},"header_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"failure":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}]}},"required":["sequence","step_index","kind","method","url","resource_type","status","header_names","failure"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","enum":["websocket-opened","websocket-closed"]},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false}},"required":["sequence","step_index","kind","url"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","enum":["websocket-frame-sent","websocket-frame-received"]},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},"payload_type":{"type":"string","enum":["text","binary"]},"payload_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"payload_text":{"anyOf":[{"type":"string","maxLength":65536},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["sequence","step_index","kind","url","payload_type","payload_bytes","payload_text","truncated"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","enum":["frame-attached","frame-detached","frame-navigated","worker-created","worker-closed","popup-opened","popup-closed"]},"url":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false},{"type":"null"}]},"name":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}]}},"required":["sequence","step_index","kind","url","name"],"additionalProperties":false},{"type":"object","properties":{"sequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"step_index":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","const":"download-cancelled"},"suggested_filename":{"type":"string","maxLength":1024},"url":{"type":"object","properties":{"url":{"type":"string","maxLength":131072},"origin":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"query_parameter_names":{"maxItems":256,"type":"array","items":{"type":"string","maxLength":256}},"redacted":{"type":"boolean"}},"required":["url","origin","query_parameter_names","redacted"],"additionalProperties":false}},"required":["sequence","step_index","kind","suggested_filename","url"],"additionalProperties":false}]}}},"required":["retained","dropped","items"],"additionalProperties":false},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","incomplete","truncated"]},"equality_eligible":{"type":"boolean"},"missing_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]}},"truncated_sections":{"type":"array","items":{"type":"string","enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"]}}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"additionalProperties":false},"limitations":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048}}},"required":["schema_version","browser","scenario","duration_ms","steps","events","completeness","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true},"effects":{"mutatesTarget":true,"mutatesSession":true,"writesFilesystem":true,"launchesProcess":true,"accessesNetwork":true,"changesUiState":true,"mayDiscardData":true,"idempotent":false}},{"name":"list_electron_targets","analysisOperation":null,"title":"List Electron Targets","description":"List Electron file:// page targets from an approved user-owned loopback CDP endpoint. Every path is canonicalized and must remain contained by an approved filesystem root, including after symlink resolution.","kind":"electron-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_file_roots":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":16384},"description":"Approved canonical filesystem allowed file roots."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":200,"description":"Maximum number of results to return in this page."}},"required":["cdp_endpoint","allowed_file_roots","approved"],"additionalProperties":false,"examples":[{"cdp_endpoint":"http://127.0.0.1:9223","allowed_file_roots":["/Applications/Example.app/Contents/Resources"],"approved":true,"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"browser":{"type":"object","properties":{"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"},"js_version":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false},"targets":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"target_id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"file_path":{"type":"string"},"attached":{"type":"boolean"}},"required":["target_id","type","title","file_path","attached"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false},"excluded":{"type":"object","properties":{"outside_root":{"type":"integer","minimum":0,"maximum":9007199254740991},"unsupported_url":{"type":"integer","minimum":0,"maximum":9007199254740991},"non_page":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["outside_root","unsupported_url","non_page"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","browser","targets","excluded","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_electron_page","analysisOperation":null,"title":"Inspect Electron Page","description":"Passively inspect one approved Electron file page through CDP. Returns root-confined frames, DOM structure, resource paths, and scripts without evaluating renderer JavaScript or invoking Electron APIs; script contents require separate approval.","kind":"electron-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cdp_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Approved literal loopback Chrome DevTools Protocol endpoint."},"allowed_file_roots":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":16384},"description":"Approved canonical filesystem allowed file roots."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"observation_ms":{"default":100,"type":"integer","minimum":0,"maximum":10000,"description":"Value for observation ms."},"include_script_sources":{"default":false,"type":"boolean","description":"Whether to include script sources in the result."},"source_capture_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for source capture."},"limits":{"default":{"max_frames":200,"max_dom_nodes":2000,"max_scripts":500,"max_resources":2000,"max_workers":500,"max_script_source_bytes":1048576,"max_total_script_source_bytes":4194304},"type":"object","properties":{"max_frames":{"default":200,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted frames for this operation."},"max_dom_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted dom nodes for this operation."},"max_scripts":{"default":500,"type":"integer","minimum":1,"maximum":2000,"description":"Maximum permitted scripts for this operation."},"max_resources":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted resources for this operation."},"max_workers":{"default":500,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted workers for this operation."},"max_script_source_bytes":{"default":1048576,"type":"integer","minimum":1,"maximum":4194304,"description":"Maximum permitted script source bytes for this operation."},"max_total_script_source_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Maximum permitted total script source bytes for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"required":["cdp_endpoint","allowed_file_roots","approved","target_id"],"additionalProperties":false,"allOf":[{"if":{"required":["include_script_sources"],"properties":{"include_script_sources":{"const":true,"description":"Whether include_script_sources was requested"}}},"then":{"required":["source_capture_approved"],"properties":{"source_capture_approved":{"const":true,"description":"Approval for include_script_sources"}}}}],"examples":[{"cdp_endpoint":"http://127.0.0.1:9223","allowed_file_roots":["/Applications/Example.app/Contents/Resources"],"target_id":"TARGET_ID_FROM_LIST_ELECTRON_TARGETS","approved":true,"observation_ms":100,"include_script_sources":false,"source_capture_approved":false,"limits":{"max_frames":200,"max_dom_nodes":2000,"max_scripts":500,"max_resources":2000,"max_workers":500,"max_script_source_bytes":1048576,"max_total_script_source_bytes":4194304}}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"browser":{"type":"object","properties":{"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"},"js_version":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"additionalProperties":false},"target":{"type":"object","properties":{"target_id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"file_path":{"type":"string"},"attached":{"type":"boolean"}},"required":["target_id","type","title","file_path","attached"],"additionalProperties":false},"capture_window":{"type":"object","properties":{"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"ended_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"observation_ms":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["started_at","ended_at","observation_ms"],"additionalProperties":false},"completeness":{"type":"object","properties":{"status":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]},"conditions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string","enum":["complete_within_window","policy_filtered","attach_limited","truncated"]}},"policy_filtered_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"attach_limited_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"truncated_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"unavailable_sections":{"type":"array","items":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]}},"excluded":{"type":"array","items":{"type":"object","properties":{"section":{"type":"string","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"]},"reason":{"type":"string","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"]},"count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["section","reason","count"],"additionalProperties":false}},"dropped_events":{"type":"object","properties":{"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"network_requests":{"type":"integer","minimum":0,"maximum":9007199254740991},"console_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_connections":{"type":"integer","minimum":0,"maximum":9007199254740991},"websocket_frames":{"type":"integer","minimum":0,"maximum":9007199254740991},"webmcp_tools":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeline_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"additionalProperties":false}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"additionalProperties":false},"frames":{"type":"array","items":{"type":"object","properties":{"frame_id":{"type":"string"},"parent_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"file_path":{"type":"string"}},"required":["frame_id","parent_frame_id","file_path"],"additionalProperties":false}},"dom":{"type":"object","properties":{"total_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"nodes":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"parent_index":{"type":"integer","minimum":-1,"maximum":9007199254740991},"node_type":{"type":"integer","minimum":0,"maximum":9007199254740991},"node_name":{"type":"string"},"node_value_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"attribute_names":{"type":"array","items":{"type":"string"}}},"required":["index","parent_index","node_type","node_name","node_value_length","attribute_names"],"additionalProperties":false}}},"required":["total_nodes","nodes"],"additionalProperties":false},"scripts":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"items":{"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string","pattern":"^electron_script_[a-f0-9]{64}$"},"frame_id":{"default":null,"anyOf":[{"type":"string"},{"type":"null"}]},"file_path":{"type":"string"},"cdp_hash":{"type":"string"},"length":{"type":"integer","minimum":0,"maximum":9007199254740991},"is_module":{"type":"boolean"},"language":{"anyOf":[{"type":"string"},{"type":"null"}]},"source":{"oneOf":[{"type":"object","properties":{"included":{"type":"boolean","const":false},"reason":{"type":"string"}},"required":["included","reason"],"additionalProperties":false},{"type":"object","properties":{"included":{"type":"boolean","const":true},"artifact":{"type":"object","properties":{"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"media_type":{"type":"string","minLength":1,"maxLength":256},"charset":{"type":"string","const":"utf-8"},"text":{"type":"string"}},"required":["uri","sha256","bytes","media_type","charset","text"],"additionalProperties":false}},"required":["included","artifact"],"additionalProperties":false}]}},"required":["script_key","frame_id","file_path","cdp_hash","length","is_module","language","source"],"additionalProperties":false}}},"required":["total","items"],"additionalProperties":false},"resources":{"type":"array","items":{"type":"object","properties":{"resource_key":{"type":"string","pattern":"^electron_resource_[a-f0-9]{64}$"},"file_path":{"type":"string"},"type":{"type":"string"},"mime_type":{"type":"string"},"content_size":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["resource_key","file_path","type","mime_type","content_size"],"additionalProperties":false}},"workers":{"default":[],"type":"array","items":{"type":"object","properties":{"target_id":{"type":"string","minLength":1,"maxLength":256},"type":{"type":"string","minLength":1,"maxLength":100},"file_path":{"type":"string"},"attached":{"type":"boolean"},"opener_target_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":256},{"type":"null"}]},"parent_frame_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":256},{"type":"null"}]}},"required":["target_id","type","file_path","attached","opener_target_id","parent_frame_id"],"additionalProperties":false}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["schema_version","browser","target","capture_window","completeness","frames","dom","scripts","resources","workers","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"analyze_javascript_application","analysisOperation":null,"title":"Analyze Javascript Application","description":"Statically reconstruct one approved local ASAR or extracted JavaScript application without executing it. The default summary returns architecture/security counts, top evidence-backed findings, unknowns, and paged graph resource URIs; request detail=full only when the complete graph must be returned immediately. Identical inputs are deterministic, so do not repeat the call or reread full Evidence without a specific missing detail.","kind":"electron-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input_path":{"type":"string","minLength":1,"maxLength":16384,"description":"Local filesystem path for input."},"format":{"default":"auto","type":"string","enum":["auto","asar","directory"],"description":"Declared input artifact format."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"source_map_read_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for source map read."},"limits":{"default":{"max_entries":8000,"max_total_artifact_bytes":536870912,"max_artifact_entry_bytes":134217728,"max_compression_ratio":1000,"max_depth":64,"max_path_bytes":4096,"max_text_files":5000,"max_total_text_bytes":134217728,"max_text_file_bytes":8388608,"max_ast_nodes":2000000,"max_findings":8000,"max_modules":20000,"max_source_map_sources":5000,"max_parse_milliseconds":30000},"type":"object","properties":{"max_entries":{"default":8000,"type":"integer","minimum":1,"maximum":1000000,"description":"Maximum permitted entries for this operation."},"max_total_artifact_bytes":{"default":536870912,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted total artifact bytes for this operation."},"max_artifact_entry_bytes":{"default":134217728,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted artifact entry bytes for this operation."},"max_compression_ratio":{"default":1000,"type":"number","minimum":1,"maximum":100000,"description":"Maximum permitted compression ratio for this operation."},"max_depth":{"default":64,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted depth for this operation."},"max_path_bytes":{"default":4096,"type":"integer","minimum":1,"maximum":65535,"description":"Maximum permitted path bytes for this operation."},"max_text_files":{"default":5000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted text files for this operation."},"max_total_text_bytes":{"default":134217728,"type":"integer","minimum":1,"maximum":536870912,"description":"Maximum permitted total text bytes for this operation."},"max_text_file_bytes":{"default":8388608,"type":"integer","minimum":1,"maximum":67108864,"description":"Maximum permitted text file bytes for this operation."},"max_ast_nodes":{"default":2000000,"type":"integer","minimum":1,"maximum":20000000,"description":"Maximum permitted ast nodes for this operation."},"max_findings":{"default":8000,"type":"integer","minimum":1,"maximum":200000,"description":"Maximum permitted findings for this operation."},"max_modules":{"default":20000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted modules for this operation."},"max_source_map_sources":{"default":5000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted source map sources for this operation."},"max_parse_milliseconds":{"default":30000,"type":"integer","minimum":1,"maximum":300000,"description":"Maximum permitted parse milliseconds for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"detail":{"default":"summary","description":"summary returns bounded findings and paged graph resource URIs; full returns the complete graph only when explicitly required","type":"string","enum":["summary","full"]}},"required":["input_path","approved"],"additionalProperties":false,"examples":[{"input_path":"/Applications/Example.app/Contents/Resources/app.asar","format":"auto","approved":true,"source_map_read_approved":false,"detail":"summary"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"oneOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1},"input_path":{"type":"string","minLength":1,"maxLength":16384},"format":{"type":"string","enum":["asar","directory"]},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"inventory_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"inventory_graph_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"summary":{"type":"object","properties":{"browser_windows":{"type":"integer","minimum":0,"maximum":9007199254740991},"explicit_web_preferences":{"type":"integer","minimum":0,"maximum":9007199254740991},"preload_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"context_bridge_apis":{"type":"integer","minimum":0,"maximum":9007199254740991},"exposed_api_members":{"type":"integer","minimum":0,"maximum":9007199254740991},"ipc":{"type":"object","properties":{"operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"literal_channels":{"type":"integer","minimum":0,"maximum":9007199254740991},"dynamic_channel_operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_listeners":{"type":"integer","minimum":0,"maximum":9007199254740991},"main_handlers":{"type":"integer","minimum":0,"maximum":9007199254740991},"paired_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ambiguous_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"unpaired_literal_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["operations","literal_channels","dynamic_channel_operations","renderer_transmissions","renderer_listeners","main_handlers","paired_renderer_transmissions","ambiguous_renderer_transmissions","unpaired_literal_renderer_transmissions"],"additionalProperties":false},"sender_validation_observations":{"type":"integer","minimum":0,"maximum":9007199254740991},"utility_processes":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_utility_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["browser_windows","explicit_web_preferences","preload_entrypoints","context_bridge_apis","exposed_api_members","ipc","sender_validation_observations","utility_processes","resolved_utility_entrypoints","native_addon_bindings","resolved_native_addon_bindings"],"additionalProperties":false},"statistics":{"type":"object","properties":{"relevant_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"nested_asar_containers":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_files_selected":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_bytes_read":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit_omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"policy_filtered_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalid_utf8_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"parsed_javascript_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"visited_ast_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"findings":{"type":"integer","minimum":0,"maximum":9007199254740991},"modules":{"type":"integer","minimum":0,"maximum":9007199254740991},"parse_failures":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated_scopes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["relevant_files","nested_asar_containers","text_files_selected","text_bytes_read","omitted_text_files","limit_omitted_text_files","policy_filtered_text_files","invalid_utf8_files","parsed_javascript_files","visited_ast_nodes","findings","modules","parse_failures","truncated_scopes"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"unknowns":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph":{"type":"object","properties":{"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"node_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"edge_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"roots":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"}},"required":["items","total","truncated"],"additionalProperties":false},"node_kinds":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"count":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["kind","count"],"additionalProperties":false}},"top_findings":{"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"authority":{"type":"string"},"state":{"type":"string"},"confidence":{"type":"string"},"location":{"$ref":"#/$defs/__schema0"}},"required":["node_id","kind","label","authority","state","confidence","location"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"pages":{"type":"object","properties":{"nodes":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/.*"},"edges":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/.*"},"page_limit":{"type":"integer","minimum":1,"maximum":500}},"required":["nodes","edges","page_limit"],"additionalProperties":false}},"required":["graph_id","node_count","edge_count","roots","node_kinds","top_findings","coverage","limitations","pages"],"additionalProperties":false}},"required":["schema_version","input_path","format","root_artifact_sha256","inventory_manifest_id","inventory_graph_sha256","summary","statistics","limitations","unknowns","graph"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2},"input_path":{"type":"string","minLength":1,"maxLength":16384},"format":{"type":"string","enum":["asar","directory"]},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"inventory_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"inventory_graph_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"summary":{"type":"object","properties":{"browser_windows":{"type":"integer","minimum":0,"maximum":9007199254740991},"explicit_web_preferences":{"type":"integer","minimum":0,"maximum":9007199254740991},"preload_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"context_bridge_apis":{"type":"integer","minimum":0,"maximum":9007199254740991},"exposed_api_members":{"type":"integer","minimum":0,"maximum":9007199254740991},"ipc":{"type":"object","properties":{"operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"literal_channels":{"type":"integer","minimum":0,"maximum":9007199254740991},"dynamic_channel_operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_listeners":{"type":"integer","minimum":0,"maximum":9007199254740991},"main_handlers":{"type":"integer","minimum":0,"maximum":9007199254740991},"paired_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ambiguous_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"unpaired_literal_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["operations","literal_channels","dynamic_channel_operations","renderer_transmissions","renderer_listeners","main_handlers","paired_renderer_transmissions","ambiguous_renderer_transmissions","unpaired_literal_renderer_transmissions"],"additionalProperties":false},"sender_validation_observations":{"type":"integer","minimum":0,"maximum":9007199254740991},"utility_processes":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_utility_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["browser_windows","explicit_web_preferences","preload_entrypoints","context_bridge_apis","exposed_api_members","ipc","sender_validation_observations","utility_processes","resolved_utility_entrypoints","native_addon_bindings","resolved_native_addon_bindings"],"additionalProperties":false},"statistics":{"type":"object","properties":{"relevant_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"nested_asar_containers":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_files_selected":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_bytes_read":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit_omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"policy_filtered_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalid_utf8_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"parsed_javascript_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"visited_ast_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"findings":{"type":"integer","minimum":0,"maximum":9007199254740991},"modules":{"type":"integer","minimum":0,"maximum":9007199254740991},"parse_failures":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated_scopes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["relevant_files","nested_asar_containers","text_files_selected","text_bytes_read","omitted_text_files","limit_omitted_text_files","policy_filtered_text_files","invalid_utf8_files","parsed_javascript_files","visited_ast_nodes","findings","modules","parse_failures","truncated_scopes"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"unknowns":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph":{"type":"object","properties":{"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"node_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"edge_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"roots":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"}},"required":["items","total","truncated"],"additionalProperties":false},"node_kinds":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"count":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["kind","count"],"additionalProperties":false}},"top_findings":{"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"authority":{"type":"string"},"state":{"type":"string"},"confidence":{"type":"string"},"location":{"$ref":"#/$defs/__schema0"}},"required":["node_id","kind","label","authority","state","confidence","location"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"pages":{"type":"object","properties":{"nodes":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/.*"},"edges":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/.*"},"page_limit":{"type":"integer","minimum":1,"maximum":500}},"required":["nodes","edges","page_limit"],"additionalProperties":false}},"required":["graph_id","node_count","edge_count","roots","node_kinds","top_findings","coverage","limitations","pages"],"additionalProperties":false},"semantic_graph":{"type":"object","properties":{"graph_id":{"type":"string","pattern":"^jsrg_[a-f0-9]{64}$"},"nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"relations":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown_frontiers":{"type":"integer","minimum":0,"maximum":9007199254740991},"fingerprints":{"type":"integer","minimum":0,"maximum":9007199254740991},"coverage":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"query_tool":{"type":"string","const":"trace_javascript_semantics"}},"required":["graph_id","nodes","relations","unknown_frontiers","fingerprints","coverage","query_tool"],"additionalProperties":false}},"required":["schema_version","input_path","format","root_artifact_sha256","inventory_manifest_id","inventory_graph_sha256","summary","statistics","limitations","unknowns","graph","semantic_graph"],"additionalProperties":false}]},{"oneOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1},"input_path":{"type":"string","minLength":1,"maxLength":16384},"format":{"type":"string","enum":["asar","directory"]},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"inventory_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"inventory_graph_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"graph":{"type":"object","properties":{"schema":{"type":"string","const":"JavaScriptApplicationGraph"},"schema_version":{"type":"number","const":1},"root_node_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"nodes":{"minItems":1,"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"identity":{"oneOf":[{"type":"object","properties":{"strategy":{"type":"string","const":"content-digest"},"stability":{"type":"string","const":"global-exact"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["strategy","stability","sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"source-map-original"},"stability":{"type":"string","const":"source-map-exact"},"source_map_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_source":{"type":"string","minLength":1,"maxLength":4096},"source_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"canonical-path"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","path"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"structural-fingerprint"},"stability":{"type":"string","const":"cross-version-inference"},"algorithm":{"type":"string","minLength":1,"maxLength":128},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"basis":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"]}}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"artifact-local-key"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"namespace":{"type":"string","minLength":1,"maxLength":512},"key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","namespace","key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"runtime-instance"},"stability":{"type":"string","const":"capture-only"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"runtime_key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","capture_sha256","runtime_key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"observation-fingerprint"},"stability":{"type":"string","const":"observation-only"},"observation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","observation_sha256","scope"],"additionalProperties":false}]},"observations":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"observation_id":{"type":"string","pattern":"^jag_observation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"observation-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"additionalProperties":false}}},"required":["node_id","kind","identity","observations"],"additionalProperties":false}},"edges":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"edge_id":{"type":"string","pattern":"^jag_edge_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"additionalProperties":false},"summary":{"type":"object","properties":{"browser_windows":{"type":"integer","minimum":0,"maximum":9007199254740991},"explicit_web_preferences":{"type":"integer","minimum":0,"maximum":9007199254740991},"preload_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"context_bridge_apis":{"type":"integer","minimum":0,"maximum":9007199254740991},"exposed_api_members":{"type":"integer","minimum":0,"maximum":9007199254740991},"ipc":{"type":"object","properties":{"operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"literal_channels":{"type":"integer","minimum":0,"maximum":9007199254740991},"dynamic_channel_operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_listeners":{"type":"integer","minimum":0,"maximum":9007199254740991},"main_handlers":{"type":"integer","minimum":0,"maximum":9007199254740991},"paired_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ambiguous_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"unpaired_literal_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["operations","literal_channels","dynamic_channel_operations","renderer_transmissions","renderer_listeners","main_handlers","paired_renderer_transmissions","ambiguous_renderer_transmissions","unpaired_literal_renderer_transmissions"],"additionalProperties":false},"sender_validation_observations":{"type":"integer","minimum":0,"maximum":9007199254740991},"utility_processes":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_utility_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["browser_windows","explicit_web_preferences","preload_entrypoints","context_bridge_apis","exposed_api_members","ipc","sender_validation_observations","utility_processes","resolved_utility_entrypoints","native_addon_bindings","resolved_native_addon_bindings"],"additionalProperties":false},"statistics":{"type":"object","properties":{"relevant_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"nested_asar_containers":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_files_selected":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_bytes_read":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit_omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"policy_filtered_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalid_utf8_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"parsed_javascript_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"visited_ast_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"findings":{"type":"integer","minimum":0,"maximum":9007199254740991},"modules":{"type":"integer","minimum":0,"maximum":9007199254740991},"parse_failures":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated_scopes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["relevant_files","nested_asar_containers","text_files_selected","text_bytes_read","omitted_text_files","limit_omitted_text_files","policy_filtered_text_files","invalid_utf8_files","parsed_javascript_files","visited_ast_nodes","findings","modules","parse_failures","truncated_scopes"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","input_path","format","root_artifact_sha256","inventory_manifest_id","inventory_graph_sha256","graph","summary","statistics","limitations"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2},"input_path":{"type":"string","minLength":1,"maxLength":16384},"format":{"type":"string","enum":["asar","directory"]},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"inventory_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"inventory_graph_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"graph":{"type":"object","properties":{"schema":{"type":"string","const":"JavaScriptApplicationGraph"},"schema_version":{"type":"number","const":1},"root_node_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"nodes":{"minItems":1,"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"identity":{"oneOf":[{"type":"object","properties":{"strategy":{"type":"string","const":"content-digest"},"stability":{"type":"string","const":"global-exact"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["strategy","stability","sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"source-map-original"},"stability":{"type":"string","const":"source-map-exact"},"source_map_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_source":{"type":"string","minLength":1,"maxLength":4096},"source_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"canonical-path"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","path"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"structural-fingerprint"},"stability":{"type":"string","const":"cross-version-inference"},"algorithm":{"type":"string","minLength":1,"maxLength":128},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"basis":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"]}}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"artifact-local-key"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"namespace":{"type":"string","minLength":1,"maxLength":512},"key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","namespace","key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"runtime-instance"},"stability":{"type":"string","const":"capture-only"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"runtime_key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","capture_sha256","runtime_key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"observation-fingerprint"},"stability":{"type":"string","const":"observation-only"},"observation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","observation_sha256","scope"],"additionalProperties":false}]},"observations":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"observation_id":{"type":"string","pattern":"^jag_observation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"observation-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"additionalProperties":false}}},"required":["node_id","kind","identity","observations"],"additionalProperties":false}},"edges":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"edge_id":{"type":"string","pattern":"^jag_edge_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"additionalProperties":false},"summary":{"type":"object","properties":{"browser_windows":{"type":"integer","minimum":0,"maximum":9007199254740991},"explicit_web_preferences":{"type":"integer","minimum":0,"maximum":9007199254740991},"preload_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"context_bridge_apis":{"type":"integer","minimum":0,"maximum":9007199254740991},"exposed_api_members":{"type":"integer","minimum":0,"maximum":9007199254740991},"ipc":{"type":"object","properties":{"operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"literal_channels":{"type":"integer","minimum":0,"maximum":9007199254740991},"dynamic_channel_operations":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"renderer_listeners":{"type":"integer","minimum":0,"maximum":9007199254740991},"main_handlers":{"type":"integer","minimum":0,"maximum":9007199254740991},"paired_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"ambiguous_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991},"unpaired_literal_renderer_transmissions":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["operations","literal_channels","dynamic_channel_operations","renderer_transmissions","renderer_listeners","main_handlers","paired_renderer_transmissions","ambiguous_renderer_transmissions","unpaired_literal_renderer_transmissions"],"additionalProperties":false},"sender_validation_observations":{"type":"integer","minimum":0,"maximum":9007199254740991},"utility_processes":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_utility_entrypoints":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolved_native_addon_bindings":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["browser_windows","explicit_web_preferences","preload_entrypoints","context_bridge_apis","exposed_api_members","ipc","sender_validation_observations","utility_processes","resolved_utility_entrypoints","native_addon_bindings","resolved_native_addon_bindings"],"additionalProperties":false},"statistics":{"type":"object","properties":{"relevant_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"nested_asar_containers":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_files_selected":{"type":"integer","minimum":0,"maximum":9007199254740991},"text_bytes_read":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit_omitted_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"policy_filtered_text_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalid_utf8_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"parsed_javascript_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"visited_ast_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"findings":{"type":"integer","minimum":0,"maximum":9007199254740991},"modules":{"type":"integer","minimum":0,"maximum":9007199254740991},"parse_failures":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated_scopes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["relevant_files","nested_asar_containers","text_files_selected","text_bytes_read","omitted_text_files","limit_omitted_text_files","policy_filtered_text_files","invalid_utf8_files","parsed_javascript_files","visited_ast_nodes","findings","modules","parse_failures","truncated_scopes"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"semantic_graph":{"type":"object","properties":{"schema":{"type":"string","const":"JavaScriptSemanticRelationGraph"},"schema_version":{"type":"number","const":1},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"application_graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"root_node_ids":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"}},"nodes":{"minItems":1,"maxItems":100000,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["module","function","parameter","binding","expression","literal","property-slot","call-site","return-site","closure-capture","promise","task","event","listener","timer","child-process","stdio","signal","config-source","request","response","boundary","resource","unknown-frontier"]},"identity":{"type":"object","properties":{"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"module_path":{"type":"string","minLength":1,"maxLength":4096},"source_range":{"anyOf":[{"type":"object","properties":{"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["start","end"],"additionalProperties":false},{"type":"null"}]},"role_key":{"type":"string","minLength":1,"maxLength":1024}},"required":["artifact_sha256","module_path","source_range","role_key"],"additionalProperties":false},"function_node_id":{"anyOf":[{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},{"type":"null"}]},"application_node_ids":{"maxItems":64,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"artifact-version"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["kind","identity","function_node_id","application_node_ids","label","properties","evidence","node_id","identifier_strategy"],"additionalProperties":false}},"relations":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["acquires","aggregates","aliases","argument-to-parameter","awaits","calls","cancels-timer","captures","chains","coerces","connects-stdio","consumed-by","constructs-request","creates-promise","defaults","defines","destructures","detaches-task","dispatches-candidate","forwards-signal","listens-error","listens-exit","owns","overrides","parses","reads","reads-argv","reads-config","reads-environment","reads-property","registers-listener","releases","removes-listener","returns-task","returns-to-call","schedules-timer","spawns","spreads","supplies-argv","supplies-env","supplies-request-field","validates","writes","writes-property"]},"resolution":{"type":"string","enum":["resolved","candidate"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"relation_id":{"type":"string","pattern":"^jsrg_relation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","resolution","properties","evidence","relation_id","identifier_strategy"],"additionalProperties":false}},"fingerprints":{"maxItems":20000,"type":"array","items":{"type":"object","properties":{"function_node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"algorithm":{"type":"string","const":"rea.javascript-semantic-function/v1"},"status":{"type":"string","enum":["complete","partial","unavailable"]},"components":{"type":"object","properties":{"parameter_arity":{"type":"integer","minimum":0,"maximum":10000},"normalized_ast_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"control_flow_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"relation_shape_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"literal_set_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"effects":{"maxItems":7,"type":"array","items":{"type":"string","enum":["async","child-process","event","network","promise","resource","timer"]}}},"required":["parameter_arity","normalized_ast_sha256","control_flow_sha256","relation_shape_sha256","literal_set_sha256","effects"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"fingerprint_id":{"type":"string","pattern":"^jsrg_fingerprint_[a-f0-9]{64}$"},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["function_node_id","algorithm","status","components","limitations","evidence","fingerprint_id","fingerprint_sha256"],"additionalProperties":false}},"unknowns":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"anyOf":[{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},{"type":"null"}]},"family":{"type":"string","enum":["boundary","call-flow","child-process","closure","configuration","data-flow","event","object-flow","promise-ownership","request","resource-lifecycle","timer"]},"relation_kinds":{"minItems":1,"maxItems":45,"type":"array","items":{"type":"string","enum":["acquires","aggregates","aliases","argument-to-parameter","awaits","calls","cancels-timer","captures","chains","coerces","connects-stdio","consumed-by","constructs-request","creates-promise","defaults","defines","destructures","detaches-task","dispatches-candidate","forwards-signal","listens-error","listens-exit","owns","overrides","parses","reads","reads-argv","reads-config","reads-environment","reads-property","registers-listener","releases","removes-listener","returns-task","returns-to-call","schedules-timer","spawns","spreads","supplies-argv","supplies-env","supplies-request-field","validates","writes","writes-property"]}},"reason":{"type":"string","enum":["ambiguous-target","bound-reached","dynamic-call","dynamic-property","eval-or-generated-code","incomplete-module","missing-source","unsupported-syntax"]},"detail":{"type":"string","minLength":1,"maxLength":4096},"candidate_node_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"unknown_id":{"type":"string","pattern":"^jsrg_unknown_[a-f0-9]{64}$"}},"required":["node_id","family","relation_kinds","reason","detail","candidate_node_ids","evidence","unknown_id"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_nodes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"omitted_relations":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","other"]}},"required":["name","value","unit"],"additionalProperties":false}},"families":{"minItems":12,"maxItems":12,"type":"array","items":{"type":"object","properties":{"family":{"type":"string","enum":["boundary","call-flow","child-process","closure","configuration","data-flow","event","object-flow","promise-ownership","request","resource-lifecycle","timer"]},"status":{"type":"string","enum":["complete","partial","unknown","unsupported"]},"retained_relations":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_relations":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"unknown_ids":{"maxItems":100000,"type":"array","items":{"type":"string","pattern":"^jsrg_unknown_[a-f0-9]{64}$"}}},"required":["family","status","retained_relations","omitted_relations","unknown_ids"],"additionalProperties":false}}},"required":["status","truncated","omitted_nodes","omitted_relations","limits","families"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph_id":{"type":"string","pattern":"^jsrg_[a-f0-9]{64}$"}},"required":["schema","schema_version","root_artifact_sha256","application_graph_id","root_node_ids","nodes","relations","fingerprints","unknowns","coverage","limitations","graph_id"],"additionalProperties":false}},"required":["schema_version","input_path","format","root_artifact_sha256","inventory_manifest_id","inventory_graph_sha256","graph","summary","statistics","limitations","semantic_graph"],"additionalProperties":false}]}],"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"reconcile_javascript_runtime","analysisOperation":null,"title":"Reconcile Javascript Runtime","description":"Reconcile verified static JavaScript application graphs with existing passive web or Electron CDP Evidence. Exact captured-source digests take priority over caller-declared file/URL mappings; target, frame, script, and worker ambiguity remains explicit, and source-map authority stays separate.","kind":"electron-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"static_layers":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["application","cache","assets"],"description":"Value for role."},"analysis":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Value for analysis."},"runtime_mappings":{"default":[],"maxItems":32,"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"file-root","description":"Value for kind."},"root":{"type":"string","minLength":1,"maxLength":16384,"description":"Value for root."},"artifact_prefix":{"default":"","type":"string","maxLength":4096,"description":"Value for artifact prefix."}},"required":["kind","root"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url-prefix","description":"Value for kind."},"prefix":{"type":"string","minLength":1,"maxLength":16384,"description":"Value for prefix."},"artifact_prefix":{"default":"","type":"string","maxLength":4096,"description":"Value for artifact prefix."}},"required":["kind","prefix"],"additionalProperties":false}]},"description":"Value for runtime mappings."}},"required":["role","analysis"],"additionalProperties":false},"description":"Value for static layers."},"runtime_observations":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},"description":"Value for runtime observations."},"limits":{"default":{"max_runtime_entities":10000,"max_reconciliation_items":20000,"max_static_load_states":20000},"type":"object","properties":{"max_runtime_entities":{"default":10000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted runtime entities for this operation."},"max_reconciliation_items":{"default":20000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted reconciliation items for this operation."},"max_static_load_states":{"default":20000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted static load states for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"required":["static_layers","runtime_observations"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"examples":[{"static_layers":[{"role":"application","analysis":{"schema_version":2,"evidence_id":"ev_9f1239eec535ee47ca0af92a544b16a3b4be7ce7478e0a7a6b6201b91cc39d5c","subject":{"name":"app","digest":{"sha256":"1111111111111111111111111111111111111111111111111111111111111111"},"format":"directory","architecture":null,"local_path":"/Applications/Example.app/Contents/Resources/app"},"provider":{"id":"rea-javascript-application","name":"REA JavaScript application analyzer","version":"1"},"predicate_type":"rea.javascript-application-analysis/v1","operation":"analyze_javascript_application","parameters":{"approved":true,"source_map_read_approved":false},"raw_result":null,"normalized_result":{"schema_version":1,"input_path":"/Applications/Example.app/Contents/Resources/app","format":"directory","root_artifact_sha256":"1111111111111111111111111111111111111111111111111111111111111111","inventory_manifest_id":"agm_2222222222222222222222222222222222222222222222222222222222222222","inventory_graph_sha256":"3333333333333333333333333333333333333333333333333333333333333333","graph":{"schema":"JavaScriptApplicationGraph","schema_version":1,"root_node_ids":["jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"],"nodes":[{"node_id":"jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e","kind":"javascript-asset","identity":{"strategy":"content-digest","stability":"global-exact","sha256":"c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"},"observations":[{"label":"renderer.js","properties":{"path":"renderer.js","bytes":29},"evidence":{"authority":"artifact-bytes","state":"observed","confidence":"exact","artifact":{"available":true,"artifact_id":"art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64","sha256":"c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"},"location":{"available":true,"value":{"kind":"artifact-path","path":"renderer.js"}},"extractor":{"name":"rea-javascript-application","version":"1","operation":"inventory-relevant-file","executable_sha256":null},"coverage":{"status":"complete","truncated":false,"omitted_count":0,"limits":[]},"limitations":[],"evidence_ids":[]},"observation_id":"jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230","identifier_strategy":{"strategy":"semantic-content-sha256","stability":"observation-exact"}}]}],"edges":[],"coverage":{"status":"complete","truncated":false,"omitted_count":0,"limits":[]},"limitations":[],"graph_id":"jag_361585714eb0138287533474fede3727b19167348e3843c577f82b68337c7234"},"summary":{"browser_windows":0,"explicit_web_preferences":0,"preload_entrypoints":0,"context_bridge_apis":0,"exposed_api_members":0,"ipc":{"operations":0,"literal_channels":0,"dynamic_channel_operations":0,"renderer_transmissions":0,"renderer_listeners":0,"main_handlers":0,"paired_renderer_transmissions":0,"ambiguous_renderer_transmissions":0,"unpaired_literal_renderer_transmissions":0},"sender_validation_observations":0,"utility_processes":0,"resolved_utility_entrypoints":0,"native_addon_bindings":0,"resolved_native_addon_bindings":0},"statistics":{"relevant_files":1,"nested_asar_containers":0,"text_files_selected":1,"text_bytes_read":29,"omitted_text_files":0,"limit_omitted_text_files":0,"policy_filtered_text_files":0,"invalid_utf8_files":0,"parsed_javascript_files":1,"visited_ast_nodes":1,"findings":0,"modules":0,"parse_failures":0,"truncated_scopes":0},"limitations":[]},"confidence":"derived","authority":"shipped-artifact","environment":null,"limitations":[],"locations":[],"evidence_links":[]}}],"runtime_observations":[{"schema_version":2,"evidence_id":"ev_e9ffe953ecde3cee6f8b1e2e2fc8be64bf58d17b3c680d1230587294f6b02c3a","subject":null,"provider":{"id":"rea-cdp-electron","name":"REA Electron file-page CDP observation provider","version":"1"},"predicate_type":"rea.electron-page-inspection/v1","operation":"inspect_electron_page","parameters":{"cdp_endpoint":"http://127.0.0.1:9223","allowed_file_roots":["/Applications/Example.app/Contents/Resources/app"],"target_id":"example-target","include_script_sources":true,"source_capture_approved":true},"raw_result":null,"normalized_result":{"schema_version":1,"browser":{"product":"Electron/example","protocol_version":"1.3","revision":"example","user_agent":"Electron example","js_version":"1"},"target":{"target_id":"example-target","type":"page","title":"Example","file_path":"/Applications/Example.app/Contents/Resources/app/index.html","attached":false},"capture_window":{"started_at":"2026-07-15T00:00:00.000Z","ended_at":"2026-07-15T00:00:00.100Z","observation_ms":100},"completeness":{"status":"complete_within_window","conditions":["complete_within_window"],"policy_filtered_sections":[],"attach_limited_sections":[],"truncated_sections":[],"unavailable_sections":[],"excluded":[],"dropped_events":{"scripts":0,"network_requests":0,"console_events":0,"websocket_connections":0,"websocket_frames":0,"webmcp_tools":0,"timeline_events":0,"total":0}},"frames":[],"dom":{"total_nodes":0,"nodes":[]},"scripts":{"total":1,"items":[{"script_key":"electron_script_4444444444444444444444444444444444444444444444444444444444444444","frame_id":null,"file_path":"/Applications/Example.app/Contents/Resources/app/renderer.js","cdp_hash":"example","length":29,"is_module":true,"language":"JavaScript","source":{"included":true,"artifact":{"uri":"rea://web-content/sha256/c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64","sha256":"c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64","bytes":29,"media_type":"text/javascript","charset":"utf-8","text":"export const example = true;\\n"}}}]},"resources":[],"workers":[],"limitations":["Example passive capture."]},"confidence":"observed","authority":"external-service","environment":null,"limitations":["Artifact identity is unavailable for this observation."],"locations":[],"evidence_links":[]}]}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"reconciliation_id":{"type":"string","pattern":"^jrr_[a-f0-9]{64}$"},"static_layers":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"object","properties":{"layer_id":{"type":"string","pattern":"^jrl_[a-f0-9]{64}$"},"role":{"type":"string","enum":["application","cache","assets"]},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"input_path":{"type":"string","minLength":1,"maxLength":16384},"format":{"type":"string","enum":["asar","directory"]},"runtime_mappings":{"maxItems":32,"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"file-root"},"root":{"type":"string","minLength":1,"maxLength":16384},"artifact_prefix":{"default":"","type":"string","maxLength":4096}},"required":["kind","root","artifact_prefix"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url-prefix"},"prefix":{"type":"string","minLength":1,"maxLength":16384},"artifact_prefix":{"default":"","type":"string","maxLength":4096}},"required":["kind","prefix","artifact_prefix"],"additionalProperties":false}]}}},"required":["layer_id","role","evidence_id","graph_id","root_artifact_sha256","input_path","format","runtime_mappings"],"additionalProperties":false}},"runtime_captures":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"kind":{"type":"string","enum":["browser","electron","v8-inspector"]},"target_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":4096},"target_location":{"type":"string","minLength":1,"maxLength":4096},"frames":{"type":"integer","minimum":0,"maximum":9007199254740991},"scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"workers":{"type":"integer","minimum":0,"maximum":9007199254740991},"scripts_complete_within_scope":{"type":"boolean"}},"required":["evidence_id","capture_sha256","kind","target_node_id","target_key","target_location","frames","scripts","workers","scripts_complete_within_scope"],"additionalProperties":false}},"graph":{"type":"object","properties":{"schema":{"type":"string","const":"JavaScriptApplicationGraph"},"schema_version":{"type":"number","const":1},"root_node_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"nodes":{"minItems":1,"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"identity":{"oneOf":[{"type":"object","properties":{"strategy":{"type":"string","const":"content-digest"},"stability":{"type":"string","const":"global-exact"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["strategy","stability","sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"source-map-original"},"stability":{"type":"string","const":"source-map-exact"},"source_map_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_source":{"type":"string","minLength":1,"maxLength":4096},"source_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"canonical-path"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","path"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"structural-fingerprint"},"stability":{"type":"string","const":"cross-version-inference"},"algorithm":{"type":"string","minLength":1,"maxLength":128},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"basis":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"]}}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"artifact-local-key"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"namespace":{"type":"string","minLength":1,"maxLength":512},"key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","namespace","key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"runtime-instance"},"stability":{"type":"string","const":"capture-only"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"runtime_key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","capture_sha256","runtime_key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"observation-fingerprint"},"stability":{"type":"string","const":"observation-only"},"observation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","observation_sha256","scope"],"additionalProperties":false}]},"observations":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"observation_id":{"type":"string","pattern":"^jag_observation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"observation-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"additionalProperties":false}}},"required":["node_id","kind","identity","observations"],"additionalProperties":false}},"edges":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"edge_id":{"type":"string","pattern":"^jag_edge_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"additionalProperties":false},"summary":{"type":"object","properties":{"runtime_targets":{"type":"integer","minimum":0,"maximum":9007199254740991},"runtime_frames":{"type":"integer","minimum":0,"maximum":9007199254740991},"runtime_scripts":{"type":"integer","minimum":0,"maximum":9007199254740991},"runtime_workers":{"type":"integer","minimum":0,"maximum":9007199254740991},"matched":{"type":"integer","minimum":0,"maximum":9007199254740991},"ambiguous":{"type":"integer","minimum":0,"maximum":9007199254740991},"unmatched":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991},"static_loaded":{"type":"integer","minimum":0,"maximum":9007199254740991},"static_resident":{"type":"integer","minimum":0,"maximum":9007199254740991},"static_not_observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"static_unknown":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["runtime_targets","runtime_frames","runtime_scripts","runtime_workers","matched","ambiguous","unmatched","unknown","static_loaded","static_resident","static_not_observed","static_unknown"],"additionalProperties":false},"reconciliations":{"maxItems":50000,"type":"array","items":{"type":"object","properties":{"reconciliation_id":{"type":"string","pattern":"^jrr_item_[a-f0-9]{64}$"},"entity_kind":{"type":"string","enum":["target","frame","script","worker"]},"runtime_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"runtime_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"static_layer_id":{"anyOf":[{"type":"string","pattern":"^jrl_[a-f0-9]{64}$"},{"type":"null"}]},"static_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}]},"status":{"type":"string","enum":["matched","ambiguous","unmatched","unknown"]},"basis":{"type":"string","enum":["content-and-location","content-sha256","module-source-sha256","artifact-path","operator-file-mapping","operator-url-mapping","none"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"reason":{"type":"string","enum":["content-and-location-match","unique-content-match","unique-location-match","ambiguous-static-candidates","captured-content-disagrees-with-static-location","no-static-content-match","no-authorized-location-mapping","runtime-frame-unattributed","static-or-runtime-coverage-incomplete","reconciliation-limit-reached"]},"candidate_static_count":{"type":"integer","minimum":0,"maximum":800000},"candidate_static_nodes":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"static_layer_id":{"type":"string","pattern":"^jrl_[a-f0-9]{64}$"},"static_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"required":["static_layer_id","static_node_id"],"additionalProperties":false}}},"required":["reconciliation_id","entity_kind","runtime_evidence_id","runtime_node_id","static_layer_id","static_node_id","status","basis","confidence","reason","candidate_static_count","candidate_static_nodes"],"additionalProperties":false}},"static_load_states":{"maxItems":50000,"type":"array","items":{"type":"object","properties":{"static_layer_id":{"type":"string","pattern":"^jrl_[a-f0-9]{64}$"},"static_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["javascript-asset","javascript-chunk","javascript-module"]},"status":{"type":"string","enum":["loaded","resident-in-loaded-asset","not-observed-in-capture","unknown"]},"runtime_node_ids":{"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"reason":{"type":"string","enum":["runtime-script-correspondence","containing-asset-was-loaded","not-observed-in-bounded-capture","layer-outside-runtime-scope","static-or-runtime-coverage-incomplete"]}},"required":["static_layer_id","static_node_id","kind","status","runtime_node_ids","reason"],"additionalProperties":false}},"source_map_authority":{"type":"object","properties":{"used_for_primary_matching":{"type":"boolean","const":false},"static_layers_with_read_approval":{"type":"integer","minimum":0,"maximum":9007199254740991},"runtime_script_declarations":{"type":"integer","minimum":0,"maximum":9007199254740991},"limitation":{"type":"string","minLength":1,"maxLength":4096}},"required":["used_for_primary_matching","static_layers_with_read_approval","runtime_script_declarations","limitation"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-inputs","partial","truncated"]},"truncated":{"type":"boolean"},"omitted_runtime_entities":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_reconciliation_items":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_static_load_states":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_graph_items":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","truncated","omitted_runtime_entities","omitted_reconciliation_items","omitted_static_load_states","omitted_graph_items"],"additionalProperties":false},"evidence_links":{"minItems":2,"maxItems":40,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","reconciliation_id","static_layers","runtime_captures","graph","summary","reconciliations","static_load_states","source_map_authority","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_javascript_runtime_targets","analysisOperation":null,"title":"List Javascript Runtime Targets","description":"List attachable Node/Electron V8 Inspector targets from one approved literal-loopback endpoint. Only targets inside exact canonical file roots or exact HTTP(S) origins are retained; excluded target locations never enter Evidence.","kind":"runtime-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"inspector_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Value for inspector endpoint."},"allowed_file_roots":{"default":[],"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":16384},"description":"Approved canonical filesystem allowed file roots."},"allowed_origins":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":200,"description":"Maximum number of results to return in this page."}},"required":["inspector_endpoint","approved"],"additionalProperties":false,"examples":[{"inspector_endpoint":"http://127.0.0.1:9229","allowed_file_roots":["/opt/example-app"],"allowed_origins":[],"approved":true,"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"runtime":{"type":"object","properties":{"product":{"type":"string","minLength":1,"maxLength":1024},"protocol_version":{"type":"string","minLength":1,"maxLength":100},"v8_version":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}]}},"required":["product","protocol_version","v8_version"],"additionalProperties":false},"targets":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"target_id":{"type":"string","minLength":1,"maxLength":256},"protocol_type":{"type":"string","minLength":1,"maxLength":100},"attached":{"type":"boolean"},"location":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"file"},"file_path":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","file_path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"origin":{"type":"string","minLength":1,"maxLength":2048},"sanitized_url":{"type":"string","minLength":1,"maxLength":65536}},"required":["kind","origin","sanitized_url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"builtin"},"specifier":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","specifier"],"additionalProperties":false}]}},"required":["target_id","protocol_type","attached","location"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false},"excluded":{"type":"object","properties":{"outside_file_roots":{"type":"integer","minimum":0,"maximum":9007199254740991},"outside_origins":{"type":"integer","minimum":0,"maximum":9007199254740991},"unsupported_location":{"type":"integer","minimum":0,"maximum":9007199254740991},"unconnectable":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["outside_file_roots","outside_origins","unsupported_location","unconnectable"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","runtime","targets","excluded","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"observe_javascript_runtime","analysisOperation":null,"title":"Observe Javascript Runtime","description":"Attach passively to one exact approved Node/Electron V8 Inspector target and capture bounded Debugger.scriptParsed plus Runtime execution-context events. REA sends only Runtime.enable and Debugger.enable: it never evaluates, pauses, resumes, reads source, or instruments the target. require/import edges, EventEmitter activity, and Electron IPC remain explicit unknowns; reconcile the returned Evidence with static Application Graph Evidence using reconcile_javascript_runtime.","kind":"runtime-provider","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"inspector_endpoint":{"type":"string","minLength":1,"maxLength":2048,"description":"Value for inspector endpoint."},"allowed_file_roots":{"default":[],"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":16384},"description":"Approved canonical filesystem allowed file roots."},"allowed_origins":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":2048},"description":"Value for allowed origins."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"target_id":{"type":"string","minLength":1,"maxLength":256,"description":"Exact authorized CDP target identifier."},"runtime_kind":{"type":"string","enum":["node","electron-main","electron-preload","electron-renderer"],"description":"Value for runtime kind."},"observation_ms":{"default":100,"type":"integer","minimum":0,"maximum":10000,"description":"Value for observation ms."},"limits":{"default":{"max_events":10000,"max_scripts":2000,"max_execution_contexts":1000,"max_location_bytes":16384,"max_total_metadata_bytes":4194304},"type":"object","properties":{"max_events":{"default":10000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted events for this operation."},"max_scripts":{"default":2000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted scripts for this operation."},"max_execution_contexts":{"default":1000,"type":"integer","minimum":1,"maximum":5000,"description":"Maximum permitted execution contexts for this operation."},"max_location_bytes":{"default":16384,"type":"integer","minimum":64,"maximum":65536,"description":"Maximum permitted location bytes for this operation."},"max_total_metadata_bytes":{"default":4194304,"type":"integer","minimum":1024,"maximum":33554432,"description":"Maximum permitted total metadata bytes for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"required":["inspector_endpoint","approved","target_id","runtime_kind"],"additionalProperties":false,"examples":[{"inspector_endpoint":"http://127.0.0.1:9229","allowed_file_roots":["/opt/example-app"],"allowed_origins":[],"target_id":"TARGET_ID_FROM_LIST_JAVASCRIPT_RUNTIME_TARGETS","runtime_kind":"node","approved":true,"observation_ms":100,"limits":{"max_events":10000,"max_scripts":2000,"max_execution_contexts":1000,"max_location_bytes":16384,"max_total_metadata_bytes":4194304}}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"runtime":{"type":"object","properties":{"product":{"type":"string","minLength":1,"maxLength":1024},"protocol_version":{"type":"string","minLength":1,"maxLength":100},"v8_version":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}]}},"required":["product","protocol_version","v8_version"],"additionalProperties":false},"target":{"type":"object","properties":{"target_id":{"type":"string","minLength":1,"maxLength":256},"protocol_type":{"type":"string","minLength":1,"maxLength":100},"attached":{"type":"boolean"},"location":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"file"},"file_path":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","file_path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"origin":{"type":"string","minLength":1,"maxLength":2048},"sanitized_url":{"type":"string","minLength":1,"maxLength":65536}},"required":["kind","origin","sanitized_url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"builtin"},"specifier":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","specifier"],"additionalProperties":false}]},"runtime_kind":{"type":"string","enum":["node","electron-main","electron-preload","electron-renderer"]},"runtime_kind_authority":{"type":"string","const":"caller-declared-unverified"}},"required":["target_id","protocol_type","attached","location","runtime_kind","runtime_kind_authority"],"additionalProperties":false},"capture":{"type":"object","properties":{"observation_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"events_observed":{"type":"integer","minimum":0,"maximum":9007199254740991},"events_retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"events_dropped":{"type":"integer","minimum":0,"maximum":9007199254740991},"metadata_bytes_retained":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"boolean"},"truncation_reasons":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["observation_ms","events_observed","events_retained","events_dropped","metadata_bytes_retained","truncated","truncation_reasons"],"additionalProperties":false},"scripts":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"script_key":{"type":"string","pattern":"^v8_script_[a-f0-9]{64}$"},"location":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"file"},"file_path":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","file_path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"origin":{"type":"string","minLength":1,"maxLength":2048},"sanitized_url":{"type":"string","minLength":1,"maxLength":65536}},"required":["kind","origin","sanitized_url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"builtin"},"specifier":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","specifier"],"additionalProperties":false}]},"execution_context_key":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}]},"cdp_hash":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}]},"length":{"type":"integer","minimum":0,"maximum":9007199254740991},"is_module":{"type":"boolean"},"status":{"type":"string","const":"observed-loaded"}},"required":["script_key","location","execution_context_key","cdp_hash","length","is_module","status"],"additionalProperties":false}},"observed_total":{"type":"integer","minimum":0,"maximum":9007199254740991},"excluded":{"type":"object","properties":{"outside_file_roots":{"type":"integer","minimum":0,"maximum":9007199254740991},"outside_origins":{"type":"integer","minimum":0,"maximum":9007199254740991},"unsupported_location":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalid_protocol_value":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["outside_file_roots","outside_origins","unsupported_location","invalid_protocol_value"],"additionalProperties":false}},"required":["items","observed_total","excluded"],"additionalProperties":false},"execution_contexts":{"type":"array","items":{"type":"object","properties":{"context_key":{"type":"string","minLength":1,"maxLength":64},"state":{"type":"string","enum":["created","destroyed","cleared"]},"name":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}]},"origin":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}]}},"required":["context_key","state","name","origin"],"additionalProperties":false}},"directly_observed":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"unavailable_without_instrumentation":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"unknowns":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","runtime","target","capture","scripts","execution_contexts","directly_observed","unavailable_without_instrumentation","unknowns","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":true,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"trace_application_feature","analysisOperation":null,"title":"Trace Application Feature","description":"Trace a typed literal seed through an authenticated JavaScript Application Graph supplied as full Evidence or an Evidence ID returned earlier in this session. Explicit direction, depth, node, edge, and path bounds apply. Original static, native, passive-runtime, inferred, and unknown authorities remain distinct; native addon handoffs never open a provider or execute the application.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"application":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Value for application."},"application_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"native_observations":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},"description":"Value for native observations."},"native_observation_evidence_ids":{"default":[],"maxItems":64,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"description":"Ordered Evidence v2 identifiers for the native observation observations."},"seed":{"type":"object","properties":{"kind":{"type":"string","enum":["node-id","route","string","api","channel","module","native-export"],"description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for value."},"match":{"default":null,"anyOf":[{"type":"string","enum":["exact","contains"]},{"type":"null"}],"description":"Value for match."},"case_sensitive":{"default":false,"type":"boolean","description":"Whether text matching distinguishes uppercase and lowercase."}},"required":["kind","value"],"additionalProperties":false,"description":"Value for seed."},"direction":{"default":"both","type":"string","enum":["outgoing","incoming","both"],"description":"Direction in which to traverse or compare relationships."},"limits":{"default":{"max_seed_matches":25,"max_depth":12,"max_nodes":2000,"max_edges":4000,"max_paths":100},"type":"object","properties":{"max_seed_matches":{"default":25,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted seed matches for this operation."},"max_depth":{"default":12,"type":"integer","minimum":0,"maximum":64,"description":"Maximum permitted depth for this operation."},"max_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted nodes for this operation."},"max_edges":{"default":4000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted edges for this operation."},"max_paths":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted paths for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"required":["seed"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"oneOf":[{"required":["application"]},{"required":["application_evidence_id"]}],"examples":[{"application_evidence_id":"ev_0000000000000000000000000000000000000000000000000000000000000000","seed":{"kind":"module","value":"renderer.js","match":"exact","case_sensitive":false},"direction":"both"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"trace_id":{"type":"string","pattern":"^jatr_[a-f0-9]{64}$"},"source_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"source_graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"seed":{"type":"object","properties":{"kind":{"type":"string","enum":["node-id","route","string","api","channel","module","native-export"]},"value":{"type":"string","minLength":1,"maxLength":4096},"match":{"default":null,"anyOf":[{"type":"string","enum":["exact","contains"]},{"type":"null"}]},"case_sensitive":{"default":false,"type":"boolean"}},"required":["kind","value","match","case_sensitive"],"additionalProperties":false},"direction":{"type":"string","enum":["outgoing","incoming","both"]},"seed_matches":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","minLength":1,"maxLength":128},"basis":{"type":"string","enum":["node-id","label","identity","property"]},"field":{"type":"string","minLength":1,"maxLength":256}},"required":["node_id","kind","basis","field"],"additionalProperties":false}},"graph":{"anyOf":[{"type":"object","properties":{"schema":{"type":"string","const":"JavaScriptApplicationGraph"},"schema_version":{"type":"number","const":1},"root_node_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"nodes":{"minItems":1,"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"identity":{"oneOf":[{"type":"object","properties":{"strategy":{"type":"string","const":"content-digest"},"stability":{"type":"string","const":"global-exact"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["strategy","stability","sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"source-map-original"},"stability":{"type":"string","const":"source-map-exact"},"source_map_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_source":{"type":"string","minLength":1,"maxLength":4096},"source_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"canonical-path"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","path"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"structural-fingerprint"},"stability":{"type":"string","const":"cross-version-inference"},"algorithm":{"type":"string","minLength":1,"maxLength":128},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"basis":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"]}}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"artifact-local-key"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"namespace":{"type":"string","minLength":1,"maxLength":512},"key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","namespace","key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"runtime-instance"},"stability":{"type":"string","const":"capture-only"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"runtime_key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","capture_sha256","runtime_key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"observation-fingerprint"},"stability":{"type":"string","const":"observation-only"},"observation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","observation_sha256","scope"],"additionalProperties":false}]},"observations":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"observation_id":{"type":"string","pattern":"^jag_observation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"observation-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"additionalProperties":false}}},"required":["node_id","kind","identity","observations"],"additionalProperties":false}},"edges":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"edge_id":{"type":"string","pattern":"^jag_edge_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"additionalProperties":false},{"type":"null"}]},"paths":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"path_id":{"type":"string","pattern":"^jatp_[a-f0-9]{64}$"},"start_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"end_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"end_kind":{"type":"string","minLength":1,"maxLength":128},"node_ids":{"minItems":1,"maxItems":65,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"edge_ids":{"maxItems":64,"type":"array","items":{"type":"string","pattern":"^jag_edge_[a-f0-9]{64}$"}},"authorities":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"contains_inference":{"type":"boolean"}},"required":["path_id","start_node_id","end_node_id","end_kind","node_ids","edge_ids","authorities","contains_inference"],"additionalProperties":false}},"native_handoffs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"native_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"artifact_path":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]},"export_node_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"requested_exports":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"status":{"type":"string","enum":["evidence-linked","requires-provider-analysis"]},"providers":{"maxItems":64,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false}},"evidence_ids":{"maxItems":64,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"recommended_tools":{"maxItems":5,"type":"array","items":{"type":"string","enum":["open_binary","binary_overview","search_procedures","analyze_function","xrefs"]}}},"required":["native_node_id","artifact_sha256","artifact_path","export_node_ids","requested_exports","status","providers","evidence_ids","recommended_tools"],"additionalProperties":false}},"summary":{"type":"object","properties":{"matched_seeds":{"type":"integer","minimum":0,"maximum":9007199254740991},"traced_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"traced_edges":{"type":"integer","minimum":0,"maximum":9007199254740991},"terminal_paths":{"type":"integer","minimum":0,"maximum":9007199254740991},"native_handoffs":{"type":"integer","minimum":0,"maximum":9007199254740991},"observed_facts":{"type":"integer","minimum":0,"maximum":9007199254740991},"inferred_facts":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown_facts":{"type":"integer","minimum":0,"maximum":9007199254740991},"unavailable_facts":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["matched_seeds","traced_nodes","traced_edges","terminal_paths","native_handoffs","observed_facts","inferred_facts","unknown_facts","unavailable_facts"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-source","partial","truncated","no-match"]},"source_graph_status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"scanned_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"total_seed_matches":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_seed_matches":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_edges":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_paths":{"type":"integer","minimum":0,"maximum":9007199254740991},"frontier_node_ids":{"maxItems":50000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}}},"required":["status","source_graph_status","scanned_nodes","total_seed_matches","omitted_seed_matches","omitted_nodes","omitted_edges","omitted_paths","frontier_node_ids"],"additionalProperties":false},"evidence_links":{"minItems":1,"maxItems":65,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","trace_id","source_evidence_id","source_graph_id","seed","direction","seed_matches","graph","paths","native_handoffs","summary","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"trace_javascript_semantics","analysisOperation":null,"title":"Trace Javascript Semantics","description":"Trace bounded static JavaScript data-flow, direct call/return, and closure relations from authenticated analyze_javascript_application v2 Evidence. Queries declare direction and exact node, relation, depth, function, module, and page limits. Dynamic or unsupported semantics remain explicit unknowns; static reachability never claims runtime execution.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"application":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Value for application."},"application_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"query":{"type":"object","properties":{"seed":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"semantic-node","description":"Value for kind."},"node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$","description":"Value for node id."}},"required":["kind","node_id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"application-node","description":"Value for kind."},"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$","description":"Value for node id."}},"required":["kind","node_id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"literal","description":"Value for kind."},"value":{"$ref":"#/$defs/__schema0","description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"function","description":"Value for kind."},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of fingerprint."}},"required":["kind","fingerprint_sha256"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"property","description":"Value for kind."},"name":{"type":"string","minLength":1,"maxLength":4096,"description":"Exact name used by this operation."}},"required":["kind","name"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"endpoint","description":"Value for kind."},"value":{"type":"string","minLength":1,"maxLength":16384,"description":"Value for value."}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"event","description":"Value for kind."},"name":{"type":"string","minLength":1,"maxLength":4096,"description":"Exact name used by this operation."}},"required":["kind","name"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"boundary-field","description":"Value for kind."},"field":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for field."}},"required":["kind","field"],"additionalProperties":false}],"description":"Value for seed."},"direction":{"type":"string","enum":["backward-provenance","forward-influence","callers","ownership"],"description":"Direction in which to traverse or compare relationships."},"allowed_relations":{"minItems":1,"maxItems":44,"type":"array","items":{"type":"string","enum":["acquires","aggregates","aliases","argument-to-parameter","awaits","calls","cancels-timer","captures","chains","coerces","connects-stdio","consumed-by","constructs-request","creates-promise","defaults","defines","destructures","detaches-task","dispatches-candidate","forwards-signal","listens-error","listens-exit","owns","overrides","parses","reads","reads-argv","reads-config","reads-environment","reads-property","registers-listener","releases","removes-listener","returns-task","returns-to-call","schedules-timer","spawns","spreads","supplies-argv","supplies-env","supplies-request-field","validates","writes","writes-property"]},"description":"Value for allowed relations."},"include_ambiguous_dynamic_edges":{"default":false,"type":"boolean","description":"Whether to include ambiguous dynamic edges in the result."},"expected":{"default":null,"anyOf":[{"type":"object","properties":{"role":{"type":"string","enum":["source","sink"],"description":"Value for role."},"classes":{"minItems":1,"maxItems":24,"type":"array","items":{"type":"string","enum":["module","function","parameter","binding","expression","literal","property-slot","call-site","return-site","closure-capture","promise","task","event","listener","timer","child-process","stdio","signal","config-source","request","response","boundary","resource","unknown-frontier"]},"description":"Value for classes."}},"required":["role","classes"],"additionalProperties":false},{"type":"null"}],"description":"Value for expected."},"source_map_authority":{"default":{"authority":"none"},"type":"object","properties":{"authority":{"type":"string","const":"none","description":"Value for authority."}},"required":["authority"],"additionalProperties":false,"description":"Value for source map authority."},"limits":{"default":{"max_seed_matches":25,"max_nodes":2000,"max_edges":4000,"max_depth":12,"max_functions":500,"max_modules":500,"max_unknowns":1000,"page_size":200},"type":"object","properties":{"max_seed_matches":{"default":25,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted seed matches for this operation."},"max_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted nodes for this operation."},"max_edges":{"default":4000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted edges for this operation."},"max_depth":{"default":12,"type":"integer","minimum":0,"maximum":64,"description":"Maximum permitted depth for this operation."},"max_functions":{"default":500,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted functions for this operation."},"max_modules":{"default":500,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted modules for this operation."},"max_unknowns":{"default":1000,"type":"integer","minimum":0,"maximum":10000,"description":"Maximum permitted unknowns for this operation."},"page_size":{"default":200,"type":"integer","minimum":1,"maximum":1000,"description":"Value for page size."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"cursor":{"default":null,"anyOf":[{"type":"string","pattern":"^jsrqc_[0-9]+_[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for cursor."}},"required":["seed","direction"],"additionalProperties":false,"description":"Non-empty feature or text query to investigate."}},"required":["query"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"oneOf":[{"required":["application"]},{"required":["application_evidence_id"]}],"examples":[{"application_evidence_id":"ev_0000000000000000000000000000000000000000000000000000000000000000","query":{"seed":{"kind":"semantic-node","node_id":"jsrg_node_0000000000000000000000000000000000000000000000000000000000000000"},"direction":"backward-provenance","source_map_authority":{"authority":"none"}}}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"query_id":{"type":"string","pattern":"^jsrq_[a-f0-9]{64}$"},"source_graph_id":{"type":"string","pattern":"^jsrg_[a-f0-9]{64}$"},"seed":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"semantic-node"},"node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"}},"required":["kind","node_id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"application-node"},"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"required":["kind","node_id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"literal"},"value":{"$ref":"#/$defs/__schema0"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"function"},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["kind","fingerprint_sha256"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"property"},"name":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","name"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"endpoint"},"value":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"event"},"name":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","name"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"boundary-field"},"field":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","field"],"additionalProperties":false}]},"direction":{"type":"string","enum":["backward-provenance","forward-influence","callers","ownership"]},"status":{"type":"string","enum":["found","no-match","ambiguous","partial","truncated","unsupported"]},"seed_node_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"}},"nodes":{"maxItems":3000,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["module","function","parameter","binding","expression","literal","property-slot","call-site","return-site","closure-capture","promise","task","event","listener","timer","child-process","stdio","signal","config-source","request","response","boundary","resource","unknown-frontier"]},"identity":{"type":"object","properties":{"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"module_path":{"type":"string","minLength":1,"maxLength":4096},"source_range":{"anyOf":[{"type":"object","properties":{"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["start","end"],"additionalProperties":false},{"type":"null"}]},"role_key":{"type":"string","minLength":1,"maxLength":1024}},"required":["artifact_sha256","module_path","source_range","role_key"],"additionalProperties":false},"function_node_id":{"anyOf":[{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},{"type":"null"}]},"application_node_ids":{"maxItems":64,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"artifact-version"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["kind","identity","function_node_id","application_node_ids","label","properties","evidence","node_id","identifier_strategy"],"additionalProperties":false}},"relations":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["acquires","aggregates","aliases","argument-to-parameter","awaits","calls","cancels-timer","captures","chains","coerces","connects-stdio","consumed-by","constructs-request","creates-promise","defaults","defines","destructures","detaches-task","dispatches-candidate","forwards-signal","listens-error","listens-exit","owns","overrides","parses","reads","reads-argv","reads-config","reads-environment","reads-property","registers-listener","releases","removes-listener","returns-task","returns-to-call","schedules-timer","spawns","spreads","supplies-argv","supplies-env","supplies-request-field","validates","writes","writes-property"]},"resolution":{"type":"string","enum":["resolved","candidate"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"relation_id":{"type":"string","pattern":"^jsrg_relation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","resolution","properties","evidence","relation_id","identifier_strategy"],"additionalProperties":false}},"unknowns":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"anyOf":[{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},{"type":"null"}]},"family":{"type":"string","enum":["boundary","call-flow","child-process","closure","configuration","data-flow","event","object-flow","promise-ownership","request","resource-lifecycle","timer"]},"relation_kinds":{"minItems":1,"maxItems":45,"type":"array","items":{"type":"string","enum":["acquires","aggregates","aliases","argument-to-parameter","awaits","calls","cancels-timer","captures","chains","coerces","connects-stdio","consumed-by","constructs-request","creates-promise","defaults","defines","destructures","detaches-task","dispatches-candidate","forwards-signal","listens-error","listens-exit","owns","overrides","parses","reads","reads-argv","reads-config","reads-environment","reads-property","registers-listener","releases","removes-listener","returns-task","returns-to-call","schedules-timer","spawns","spreads","supplies-argv","supplies-env","supplies-request-field","validates","writes","writes-property"]}},"reason":{"type":"string","enum":["ambiguous-target","bound-reached","dynamic-call","dynamic-property","eval-or-generated-code","incomplete-module","missing-source","unsupported-syntax"]},"detail":{"type":"string","minLength":1,"maxLength":4096},"candidate_node_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"unknown_id":{"type":"string","pattern":"^jsrg_unknown_[a-f0-9]{64}$"}},"required":["node_id","family","relation_kinds","reason","detail","candidate_node_ids","evidence","unknown_id"],"additionalProperties":false}},"expected_match_node_ids":{"maxItems":50000,"type":"array","items":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"}},"summary":{"type":"object","properties":{"total_seed_matches":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained_seed_matches":{"type":"integer","minimum":0,"maximum":9007199254740991},"traversed_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"traversed_relations":{"type":"integer","minimum":0,"maximum":9007199254740991},"traversed_functions":{"type":"integer","minimum":0,"maximum":9007199254740991},"traversed_modules":{"type":"integer","minimum":0,"maximum":9007199254740991},"relevant_unknowns":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained_unknowns":{"type":"integer","minimum":0,"maximum":10000}},"required":["total_seed_matches","retained_seed_matches","traversed_nodes","traversed_relations","traversed_functions","traversed_modules","relevant_unknowns","retained_unknowns"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","truncated","unavailable"]},"frontier":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},"depth":{"type":"integer","minimum":0,"maximum":65},"reason":{"type":"string","enum":["max-depth","max-edges","max-functions","max-modules","max-nodes","max-seed-matches"]}},"required":["node_id","depth","reason"],"additionalProperties":false}}},"required":["status","frontier"],"additionalProperties":false},"page":{"type":"object","properties":{"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":1000},"next_cursor":{"anyOf":[{"type":"string","pattern":"^jsrqc_[0-9]+_[a-f0-9]{64}$"},{"type":"null"}]}},"required":["offset","size","next_cursor"],"additionalProperties":false},"applied_limits":{"type":"object","properties":{"max_seed_matches":{"default":25,"type":"integer","minimum":1,"maximum":1000},"max_nodes":{"default":2000,"type":"integer","minimum":1,"maximum":50000},"max_edges":{"default":4000,"type":"integer","minimum":1,"maximum":100000},"max_depth":{"default":12,"type":"integer","minimum":0,"maximum":64},"max_functions":{"default":500,"type":"integer","minimum":1,"maximum":10000},"max_modules":{"default":500,"type":"integer","minimum":1,"maximum":10000},"max_unknowns":{"default":1000,"type":"integer","minimum":0,"maximum":10000},"page_size":{"default":200,"type":"integer","minimum":1,"maximum":1000}},"required":["max_seed_matches","max_nodes","max_edges","max_depth","max_functions","max_modules","max_unknowns","page_size"],"additionalProperties":false},"accepted_limit_ranges":{"type":"object","properties":{"max_seed_matches":{"type":"object","properties":{"minimum":{"type":"number","const":1},"maximum":{"type":"number","const":1000}},"required":["minimum","maximum"],"additionalProperties":false},"max_nodes":{"type":"object","properties":{"minimum":{"type":"number","const":1},"maximum":{"type":"number","const":50000}},"required":["minimum","maximum"],"additionalProperties":false},"max_edges":{"type":"object","properties":{"minimum":{"type":"number","const":1},"maximum":{"type":"number","const":100000}},"required":["minimum","maximum"],"additionalProperties":false},"max_depth":{"type":"object","properties":{"minimum":{"type":"number","const":0},"maximum":{"type":"number","const":64}},"required":["minimum","maximum"],"additionalProperties":false},"max_functions":{"type":"object","properties":{"minimum":{"type":"number","const":1},"maximum":{"type":"number","const":10000}},"required":["minimum","maximum"],"additionalProperties":false},"max_modules":{"type":"object","properties":{"minimum":{"type":"number","const":1},"maximum":{"type":"number","const":10000}},"required":["minimum","maximum"],"additionalProperties":false},"max_unknowns":{"type":"object","properties":{"minimum":{"type":"number","const":0},"maximum":{"type":"number","const":10000}},"required":["minimum","maximum"],"additionalProperties":false},"page_size":{"type":"object","properties":{"minimum":{"type":"number","const":1},"maximum":{"type":"number","const":1000}},"required":["minimum","maximum"],"additionalProperties":false}},"required":["max_seed_matches","max_nodes","max_edges","max_depth","max_functions","max_modules","max_unknowns","page_size"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"source_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"evidence_links":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["schema_version","query_id","source_graph_id","seed","direction","status","seed_node_ids","nodes","relations","unknowns","expected_match_node_ids","summary","coverage","page","applied_limits","accepted_limit_ranges","limitations","source_evidence_id","evidence_links"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_application_versions","analysisOperation":null,"title":"Compare Application Versions","description":"Compare two authenticated JavaScript Application Graph versions supplied as full Evidence or Evidence IDs returned earlier in this session. Uses unique-only exact digest, module source digest, source-map identity, structural fingerprint, and non-module semantic-key tiers. Reports added, removed, changed, ambiguous, and unknown entities plus a bounded changed_from graph without fuzzy or module-ordinal pairing.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"left":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Left-hand input used for comparison or differential execution."},"left_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"right":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Right-hand input used for comparison or differential execution."},"right_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"left_native_observations":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},"description":"Value for left native observations."},"left_native_observation_evidence_ids":{"default":[],"maxItems":64,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"description":"Ordered Evidence v2 identifiers for the left native observation observations."},"right_native_observations":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},"description":"Value for right native observations."},"right_native_observation_evidence_ids":{"default":[],"maxItems":64,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"description":"Ordered Evidence v2 identifiers for the right native observation observations."},"limits":{"default":{"max_comparison_items":20000,"max_candidate_nodes":100,"max_graph_nodes":20000,"max_graph_edges":40000},"type":"object","properties":{"max_comparison_items":{"default":20000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted comparison items for this operation."},"max_candidate_nodes":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted candidate nodes for this operation."},"max_graph_nodes":{"default":20000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted graph nodes for this operation."},"max_graph_edges":{"default":40000,"type":"integer","minimum":1,"maximum":200000,"description":"Maximum permitted graph edges for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"allOf":[{"oneOf":[{"required":["left"]},{"required":["left_evidence_id"]}]},{"oneOf":[{"required":["right"]},{"required":["right_evidence_id"]}]}],"examples":[{"left_evidence_id":"ev_0000000000000000000000000000000000000000000000000000000000000000","right_evidence_id":"ev_1111111111111111111111111111111111111111111111111111111111111111"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"comparison_id":{"type":"string","pattern":"^javc_[a-f0-9]{64}$"},"left":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["evidence_id","graph_id","root_artifact_sha256"],"additionalProperties":false},"right":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["evidence_id","graph_id","root_artifact_sha256"],"additionalProperties":false},"summary":{"type":"object","properties":{"unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"added":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"changed":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["unchanged","added","removed","changed","unknown"],"additionalProperties":false},"matching":{"type":"object","properties":{"exact_node_identity":{"type":"integer","minimum":0,"maximum":9007199254740991},"exact_content_digest":{"type":"integer","minimum":0,"maximum":9007199254740991},"exact_module_source_digest":{"type":"integer","minimum":0,"maximum":9007199254740991},"source_map_identity":{"type":"integer","minimum":0,"maximum":9007199254740991},"structural_fingerprint":{"type":"integer","minimum":0,"maximum":9007199254740991},"semantic_key":{"type":"integer","minimum":0,"maximum":9007199254740991},"ambiguous":{"type":"integer","minimum":0,"maximum":9007199254740991},"unmatched":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["exact_node_identity","exact_content_digest","exact_module_source_digest","source_map_identity","structural_fingerprint","semantic_key","ambiguous","unmatched"],"additionalProperties":false},"items":{"maxItems":50000,"type":"array","items":{"type":"object","properties":{"item_id":{"type":"string","pattern":"^javc_item_[a-f0-9]{64}$"},"status":{"type":"string","enum":["unchanged","added","removed","changed","unknown"]},"node_kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"left_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}]},"right_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}]},"match":{"type":"object","properties":{"status":{"type":"string","enum":["matched","unmatched","ambiguous"]},"basis":{"type":"string","enum":["exact-node-identity","exact-content-digest","exact-module-source-digest","source-map-identity","structural-fingerprint","semantic-key","none"]},"confidence":{"type":"string","enum":["exact","high","medium","unknown"]},"candidate_left_node_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"candidate_right_node_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}}},"required":["status","basis","confidence","candidate_left_node_ids","candidate_right_node_ids"],"additionalProperties":false},"dimensions":{"maxItems":6,"type":"array","items":{"type":"string","enum":["content","location","properties","relationships","availability","coverage"]}},"evidence_links":{"minItems":2,"maxItems":130,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["item_id","status","node_kind","left_node_id","right_node_id","match","dimensions","evidence_links","limitations"],"additionalProperties":false}},"graph":{"type":"object","properties":{"schema":{"type":"string","const":"JavaScriptApplicationGraph"},"schema_version":{"type":"number","const":1},"root_node_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"nodes":{"minItems":1,"maxItems":100000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"identity":{"oneOf":[{"type":"object","properties":{"strategy":{"type":"string","const":"content-digest"},"stability":{"type":"string","const":"global-exact"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["strategy","stability","sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"source-map-original"},"stability":{"type":"string","const":"source-map-exact"},"source_map_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_source":{"type":"string","minLength":1,"maxLength":4096},"source_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"canonical-path"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","path"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"structural-fingerprint"},"stability":{"type":"string","const":"cross-version-inference"},"algorithm":{"type":"string","minLength":1,"maxLength":128},"fingerprint_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"basis":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"]}}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"artifact-local-key"},"stability":{"type":"string","const":"artifact-version"},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"namespace":{"type":"string","minLength":1,"maxLength":512},"key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","artifact_sha256","namespace","key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"runtime-instance"},"stability":{"type":"string","const":"capture-only"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"runtime_key":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","capture_sha256","runtime_key"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","const":"observation-fingerprint"},"stability":{"type":"string","const":"observation-only"},"observation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope":{"type":"string","minLength":1,"maxLength":4096}},"required":["strategy","stability","observation_sha256","scope"],"additionalProperties":false}]},"observations":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"observation_id":{"type":"string","pattern":"^jag_observation_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"observation-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"additionalProperties":false}}},"required":["node_id","kind","identity","observations"],"additionalProperties":false}},"edges":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"source_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"target_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"relation":{"type":"string","enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"]},"properties":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"evidence":{"type":"object","properties":{"authority":{"type":"string","enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"]},"state":{"type":"string","enum":["observed","inferred","unknown","unavailable"]},"confidence":{"type":"string","enum":["exact","high","medium","low","unknown"]},"artifact":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"artifact_id":{"type":"string","pattern":"^art_[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["available","artifact_id","sha256"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"location":{"oneOf":[{"type":"object","properties":{"available":{"type":"boolean","const":true},"value":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"source-range"},"source":{"type":"string","minLength":1,"maxLength":4096},"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["kind","source","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"url"},"url":{"type":"string","minLength":1,"maxLength":16384}},"required":["kind","url"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"runtime"},"capture_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target_key":{"type":"string","minLength":1,"maxLength":512},"frame_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]},"script_key":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}]}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"native-address"},"address":{"type":"string","minLength":1,"maxLength":512},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]}},"required":["kind","address","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"package-export"},"package_name":{"type":"string","minLength":1,"maxLength":512},"export_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","package_name","export_path"],"additionalProperties":false}]}},"required":["available","value"],"additionalProperties":false},{"type":"object","properties":{"available":{"type":"boolean","const":false},"reason":{"type":"string","enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["available","reason","detail"],"additionalProperties":false}]},"extractor":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"version":{"type":"string","minLength":1,"maxLength":128},"operation":{"type":"string","minLength":1,"maxLength":256},"executable_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]}},"required":["name","version","operation","executable_sha256"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"additionalProperties":false},"edge_id":{"type":"string","pattern":"^jag_edge_[a-f0-9]{64}$"},"identifier_strategy":{"type":"object","properties":{"strategy":{"type":"string","const":"semantic-content-sha256"},"stability":{"type":"string","const":"relationship-exact"}},"required":["strategy","stability"],"additionalProperties":false}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"truncated":{"type":"boolean"},"omitted_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"limits":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"unit":{"type":"string","enum":["items","bytes","milliseconds","depth","characters","instructions","other"]}},"required":["name","value","unit"],"additionalProperties":false}}},"required":["status","truncated","omitted_count","limits"],"additionalProperties":false},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"additionalProperties":false},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-inputs","partial","truncated"]},"left_graph_status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"right_graph_status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"omitted_comparison_items":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_candidate_references":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_graph_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_graph_edges":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_graph_observations":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","left_graph_status","right_graph_status","omitted_comparison_items","omitted_candidate_references","omitted_graph_nodes","omitted_graph_edges","omitted_graph_observations"],"additionalProperties":false},"evidence_links":{"minItems":2,"maxItems":130,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","comparison_id","left","right","summary","matching","items","graph","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_source_to_bundle","analysisOperation":null,"title":"Compare Source To Bundle","description":"Compare a cryptographically committed HistoricalSourceGraph/v1 with authenticated JavaScript Application Graph Evidence supplied directly or by session Evidence ID. Uses explicit exact-digest, source-map path, current-path, suffix, and basename signals with stable weights. Classifies unchanged, modified, removed, split, merged, duplicated, and unknown; incomplete coverage and ambiguous weak signals never become absence or forced matches.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"reference":{"type":"object","properties":{"schema":{"type":"string","const":"HistoricalSourceGraph/v1","description":"Value for schema."},"authority":{"type":"string","const":"historical-reference","description":"Value for authority."},"root_alias":{"type":"string","const":"$REFERENCE_ROOT","description":"Value for root alias."},"root_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of root."},"inventory_state":{"type":"string","enum":["complete","partial","unknown"],"description":"Value for inventory state."},"entries":{"maxItems":100000,"type":"array","items":{"oneOf":[{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path used by this operation."},"classifications":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","enum":["source","test","config","manifest","generated","vendor","documentation","unknown"]},"description":"Value for classifications."},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":1024},"description":"Value for limitations."},"kind":{"type":"string","const":"file","description":"Value for kind."},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for sha256."},"size":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for size."},"language":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for language."},"content_state":{"type":"string","enum":["hashed","redacted-secret","excluded","unreadable","too-large","unknown"],"description":"Value for content state."}},"required":["path","classifications","limitations","kind","sha256","size","language","content_state"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path used by this operation."},"classifications":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","enum":["source","test","config","manifest","generated","vendor","documentation","unknown"]},"description":"Value for classifications."},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":1024},"description":"Value for limitations."},"kind":{"type":"string","const":"directory","description":"Value for kind."},"tree_state":{"type":"string","enum":["enumerated","partial","excluded","unreadable","unknown"],"description":"Value for tree state."}},"required":["path","classifications","limitations","kind","tree_state"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path used by this operation."},"classifications":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","enum":["source","test","config","manifest","generated","vendor","documentation","unknown"]},"description":"Value for classifications."},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":1024},"description":"Value for limitations."},"kind":{"type":"string","const":"symlink","description":"Value for kind."},"target":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for target."},"target_state":{"type":"string","enum":["internal","external","missing","unreadable","unknown"],"description":"Value for target state."}},"required":["path","classifications","limitations","kind","target","target_state"],"additionalProperties":false}]},"description":"Value for entries."},"relationships":{"maxItems":200000,"type":"array","items":{"type":"object","properties":{"from_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for from."},"to":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for to."},"kind":{"type":"string","enum":["imports","requires","references","declares-module"],"description":"Value for kind."},"resolution":{"type":"string","enum":["internal","external","unresolved","unknown"],"description":"Value for resolution."},"parse_state":{"type":"string","enum":["parsed","partial","unknown"],"description":"Value for parse state."}},"required":["from_path","to","kind","resolution","parse_state"],"additionalProperties":false},"description":"Value for relationships."},"parse_failures":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path used by this operation."},"parser":{"type":"string","minLength":1,"maxLength":100,"description":"Value for parser."},"reason":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for reason."}},"required":["path","parser","reason"],"additionalProperties":false},"description":"Value for parse failures."},"exclusions":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path used by this operation."},"reason":{"type":"string","enum":["configured-secret","symlink-escape","size-limit","inventory-limit","unreadable","caller-excluded"],"description":"Value for reason."}},"required":["path","reason"],"additionalProperties":false},"description":"Value for exclusions."},"languages":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":100},"description":"Value for languages."},"manifests":{"maxItems":10000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for manifests."},"vcs":{"anyOf":[{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"git","description":"Value for kind."},"head":{"type":"string","pattern":"^(?:[a-f0-9]{40}|[a-f0-9]{64})$","description":"Value for head."},"dirty":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for dirty."}},"required":["kind","head","dirty"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"none","description":"Value for kind."},"head":{"type":"null","description":"Value for head."},"dirty":{"type":"null","description":"Value for dirty."}},"required":["kind","head","dirty"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"unknown","description":"Value for kind."},"head":{"type":"null","description":"Value for head."},"dirty":{"type":"null","description":"Value for dirty."}},"required":["kind","head","dirty"],"additionalProperties":false}]},{"type":"null"}],"description":"Value for vcs."},"provenance":{"type":"object","properties":{"importer":{"type":"string","minLength":1,"maxLength":100,"description":"Value for importer."},"importer_version":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for importer version."},"caller":{"type":"string","minLength":1,"maxLength":200,"pattern":"^[\\\\w .:@/+-]+$","description":"Value for caller."}},"required":["importer","importer_version","caller"],"additionalProperties":false,"description":"Value for provenance."},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":1024},"description":"Value for limitations."}},"required":["schema","authority","root_alias","root_sha256","inventory_state","entries","relationships","parse_failures","exclusions","languages","manifests","vcs","provenance","limitations"],"additionalProperties":false,"description":"Value for reference."},"application":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Value for application."},"application_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"limits":{"default":{"max_source_files":10000,"max_application_nodes":20000,"max_candidate_nodes":100,"max_candidate_evaluations":1000000},"type":"object","properties":{"max_source_files":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted source files for this operation."},"max_application_nodes":{"default":20000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted application nodes for this operation."},"max_candidate_nodes":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted candidate nodes for this operation."},"max_candidate_evaluations":{"default":1000000,"type":"integer","minimum":1,"maximum":10000000,"description":"Maximum permitted candidate evaluations for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["reference"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"oneOf":[{"required":["application"]},{"required":["application_evidence_id"]}],"examples":[{"reference":{"schema":"HistoricalSourceGraph/v1","authority":"historical-reference","root_alias":"$REFERENCE_ROOT","root_sha256":"683969414c3e674a368392213c78021322fb39609b0c57f346b22da6464b2110","inventory_state":"complete","entries":[{"path":"src","classifications":["source"],"limitations":[],"kind":"directory","tree_state":"enumerated"},{"path":"src/main.ts","classifications":["source"],"limitations":[],"kind":"file","sha256":"2222222222222222222222222222222222222222222222222222222222222222","size":128,"language":"TypeScript","content_state":"hashed"}],"relationships":[],"parse_failures":[],"exclusions":[],"languages":["TypeScript"],"manifests":[],"vcs":{"kind":"none","head":null,"dirty":null},"provenance":{"importer":"rea","importer_version":"1","caller":"contract-example"},"limitations":[]},"application_evidence_id":"ev_0000000000000000000000000000000000000000000000000000000000000000"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"comparison_id":{"type":"string","pattern":"^stbc_[a-f0-9]{64}$"},"reference":{"type":"object","properties":{"root_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"inventory_state":{"type":"string","enum":["complete","partial","unknown"]}},"required":["root_sha256","inventory_state"],"additionalProperties":false},"application":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"root_artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["evidence_id","graph_id","root_artifact_sha256"],"additionalProperties":false},"scoring":{"type":"object","properties":{"algorithm":{"type":"string","const":"rea-source-to-bundle-signals/v1"},"minimum_candidate_score":{"type":"number","const":20},"weights":{"type":"array","items":{"type":"object","properties":{"signal":{"type":"string","enum":["exact-source-digest","source-map-original-path","current-path-exact","current-path-suffix","basename-match","language-extension"]},"weight":{"type":"integer","minimum":1,"maximum":100}},"required":["signal","weight"],"additionalProperties":false}}},"required":["algorithm","minimum_candidate_score","weights"],"additionalProperties":false},"summary":{"type":"object","properties":{"unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"modified":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"split":{"type":"integer","minimum":0,"maximum":9007199254740991},"merged":{"type":"integer","minimum":0,"maximum":9007199254740991},"duplicated":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["unchanged","modified","removed","split","merged","duplicated","unknown"],"additionalProperties":false},"items":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"mapping_id":{"type":"string","pattern":"^stbc_item_[a-f0-9]{64}$"},"source_path":{"type":"string","minLength":1,"maxLength":4096},"source_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"source_language":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"status":{"type":"string","enum":["unchanged","modified","removed","split","merged","duplicated","unknown"]},"confidence":{"type":"string","enum":["exact","high","medium","unknown"]},"current_node_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"candidates":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"current_node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"current_node_kind":{"type":"string","enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"]},"score":{"type":"integer","minimum":1,"maximum":300},"confidence":{"type":"string","enum":["exact","high","medium","low"]},"signals":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["exact-source-digest","source-map-original-path","current-path-exact","current-path-suffix","basename-match","language-extension"]},"weight":{"type":"integer","minimum":1,"maximum":100},"source_value":{"type":"string","minLength":1,"maxLength":4096},"current_values":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["kind","weight","source_value","current_values"],"additionalProperties":false}}},"required":["current_node_id","current_node_kind","score","confidence","signals"],"additionalProperties":false}},"omitted_candidates":{"type":"integer","minimum":0,"maximum":9007199254740991},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["mapping_id","source_path","source_sha256","source_language","status","confidence","current_node_ids","candidates","omitted_candidates","limitations"],"additionalProperties":false}},"unmapped_current_node_ids":{"maxItems":100000,"type":"array","items":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-inputs","partial","truncated"]},"reference_inventory_state":{"type":"string","enum":["complete","partial","unknown"]},"application_graph_status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"retained_source_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_source_files":{"type":"integer","minimum":0,"maximum":9007199254740991},"retained_application_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_application_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"candidate_evaluations":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_candidate_evaluations":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_candidate_references":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_unmapped_current_nodes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","reference_inventory_state","application_graph_status","retained_source_files","omitted_source_files","retained_application_nodes","omitted_application_nodes","candidate_evaluations","omitted_candidate_evaluations","omitted_candidate_references","omitted_unmapped_current_nodes"],"additionalProperties":false},"evidence_links":{"minItems":1,"maxItems":1,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["schema_version","comparison_id","reference","application","scoring","summary","items","unmapped_current_node_ids","coverage","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_javascript_export_shapes","analysisOperation":null,"title":"Compare Javascript Export Shapes","description":"Compare bounded static return shapes for one exact module/export selector on each authenticated JavaScript Application Graph, supplied as full Evidence or session Evidence IDs. Variants pair only by reciprocal unique literal discriminants; dynamic values, incomplete properties, and ambiguous variants remain unknown. Reports JSON Pointer changes and recommends controlled replay separately without executing JavaScript.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"left":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Left-hand input used for comparison or differential execution."},"left_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"right":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false,"description":"Right-hand input used for comparison or differential execution."},"right_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Evidence ID returned earlier in this session"},"left_module_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for left module."},"left_export_name":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for left export name."},"right_module_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for right module."},"right_export_name":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for right export name."},"limits":{"default":{"max_candidate_exports":100,"max_return_variants":128,"max_changes":1000},"type":"object","properties":{"max_candidate_exports":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted candidate exports for this operation."},"max_return_variants":{"default":128,"type":"integer","minimum":1,"maximum":1000,"description":"Maximum permitted return variants for this operation."},"max_changes":{"default":1000,"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted changes for this operation."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["left_module_path","left_export_name","right_module_path","right_export_name"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"allOf":[{"oneOf":[{"required":["left"]},{"required":["left_evidence_id"]}]},{"oneOf":[{"required":["right"]},{"required":["right_evidence_id"]}]}],"examples":[{"left_evidence_id":"ev_0000000000000000000000000000000000000000000000000000000000000000","right_evidence_id":"ev_1111111111111111111111111111111111111111111111111111111111111111","left_module_path":"parser.mjs","left_export_name":"default","right_module_path":"parser.mjs","right_export_name":"default"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"comparison_id":{"type":"string","pattern":"^jesc_[a-f0-9]{64}$"},"left":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"requested_module_path":{"type":"string","minLength":1,"maxLength":4096},"requested_export_name":{"type":"string","minLength":1,"maxLength":4096},"status":{"type":"string","enum":["selected","missing","ambiguous","unavailable"]},"selected_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}]},"candidates":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"module_path":{"type":"string","minLength":1,"maxLength":4096},"export_name":{"type":"string","minLength":1,"maxLength":4096},"matches_requested_module":{"type":"boolean"},"matches_requested_export":{"type":"boolean"}},"required":["node_id","module_path","export_name","matches_requested_module","matches_requested_export"],"additionalProperties":false}},"omitted_candidates":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["evidence_id","graph_id","requested_module_path","requested_export_name","status","selected_node_id","candidates","omitted_candidates"],"additionalProperties":false},"right":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"graph_id":{"type":"string","pattern":"^jag_[a-f0-9]{64}$"},"requested_module_path":{"type":"string","minLength":1,"maxLength":4096},"requested_export_name":{"type":"string","minLength":1,"maxLength":4096},"status":{"type":"string","enum":["selected","missing","ambiguous","unavailable"]},"selected_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}]},"candidates":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"node_id":{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},"module_path":{"type":"string","minLength":1,"maxLength":4096},"export_name":{"type":"string","minLength":1,"maxLength":4096},"matches_requested_module":{"type":"boolean"},"matches_requested_export":{"type":"boolean"}},"required":["node_id","module_path","export_name","matches_requested_module","matches_requested_export"],"additionalProperties":false}},"omitted_candidates":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["evidence_id","graph_id","requested_module_path","requested_export_name","status","selected_node_id","candidates","omitted_candidates"],"additionalProperties":false},"summary":{"type":"object","properties":{"added":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"changed":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["added","removed","changed","unknown"],"additionalProperties":false},"changes":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"change_id":{"type":"string","pattern":"^jesc_change_[a-f0-9]{64}$"},"status":{"type":"string","enum":["added","removed","changed","unknown"]},"path":{"type":"string","maxLength":4096},"discriminant":{"anyOf":[{"type":"object","properties":{"path":{"type":"string","maxLength":4096},"value":{"anyOf":[{"type":"string","maxLength":4096},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["path","value"],"additionalProperties":false},{"type":"null"}]},"left":{"oneOf":[{"type":"object","properties":{"availability":{"type":"string","const":"absent"}},"required":["availability"],"additionalProperties":false},{"type":"object","properties":{"availability":{"type":"string","const":"literal"},"value":{"anyOf":[{"type":"string","maxLength":4096},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["availability","value"],"additionalProperties":false},{"type":"object","properties":{"availability":{"type":"string","const":"union"},"values":{"minItems":1,"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":4096},{"type":"number"},{"type":"boolean"},{"type":"null"}]}}},"required":["availability","values"],"additionalProperties":false},{"type":"object","properties":{"availability":{"type":"string","const":"unknown"},"reason":{"type":"string","minLength":1,"maxLength":4096}},"required":["availability","reason"],"additionalProperties":false}]},"right":{"oneOf":[{"type":"object","properties":{"availability":{"type":"string","const":"absent"}},"required":["availability"],"additionalProperties":false},{"type":"object","properties":{"availability":{"type":"string","const":"literal"},"value":{"anyOf":[{"type":"string","maxLength":4096},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["availability","value"],"additionalProperties":false},{"type":"object","properties":{"availability":{"type":"string","const":"union"},"values":{"minItems":1,"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":4096},{"type":"number"},{"type":"boolean"},{"type":"null"}]}}},"required":["availability","values"],"additionalProperties":false},{"type":"object","properties":{"availability":{"type":"string","const":"unknown"},"reason":{"type":"string","minLength":1,"maxLength":4096}},"required":["availability","reason"],"additionalProperties":false}]},"left_source_range":{"anyOf":[{"type":"object","properties":{"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["start","end"],"additionalProperties":false},{"type":"null"}]},"right_source_range":{"anyOf":[{"type":"object","properties":{"start":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false},"end":{"type":"object","properties":{"line":{"type":"integer","minimum":1,"maximum":9007199254740991},"column":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["line","column"],"additionalProperties":false}},"required":["start","end"],"additionalProperties":false},{"type":"null"}]},"evidence_links":{"minItems":2,"maxItems":2,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}}},"required":["change_id","status","path","discriminant","left","right","left_source_range","right_source_range","evidence_links","limitations"],"additionalProperties":false}},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete-within-inputs","partial","truncated"]},"left_graph_status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"right_graph_status":{"type":"string","enum":["complete","partial","unknown","unavailable"]},"paired_variants":{"type":"integer","minimum":0,"maximum":9007199254740991},"unpaired_left_variants":{"type":"integer","minimum":0,"maximum":9007199254740991},"unpaired_right_variants":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_left_variants":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_right_variants":{"type":"integer","minimum":0,"maximum":9007199254740991},"left_source_omitted_variants":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"right_source_omitted_variants":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"left_omitted_fields":{"type":"integer","minimum":0,"maximum":9007199254740991},"right_omitted_fields":{"type":"integer","minimum":0,"maximum":9007199254740991},"left_omitted_property_coverage":{"type":"integer","minimum":0,"maximum":9007199254740991},"right_omitted_property_coverage":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_candidates":{"type":"integer","minimum":0,"maximum":9007199254740991},"omitted_changes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","left_graph_status","right_graph_status","paired_variants","unpaired_left_variants","unpaired_right_variants","omitted_left_variants","omitted_right_variants","left_source_omitted_variants","right_source_omitted_variants","left_omitted_fields","right_omitted_fields","left_omitted_property_coverage","right_omitted_property_coverage","omitted_candidates","omitted_changes"],"additionalProperties":false},"evidence_links":{"minItems":2,"maxItems":2,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"runtime_validation":{"type":"object","properties":{"recommended_tool":{"type":"string","const":"run_controlled_replay"},"automatically_started":{"type":"boolean","const":false},"required_for":{"type":"string","const":"runtime-semantics"}},"required":["recommended_tool","automatically_started","required_for"],"additionalProperties":false}},"required":["schema_version","comparison_id","left","right","summary","changes","coverage","evidence_links","limitations","runtime_validation"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"run_controlled_replay","analysisOperation":null,"title":"Run Controlled Replay","description":"Plan or execute a content-bound extracted-module JavaScript replay inside the Linux Bubblewrap, seccomp, and cgroup boundary. Execution requires approved: true and the exact plan digest. Supports deterministic boundary cases and optional left/right differential comparison; observations have controlled-replay authority and do not claim real application runtime behavior.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","enum":["plan","execute"],"description":"Operation mode that selects the requested behavior."},"left":{"type":"object","properties":{"modules":{"minItems":1,"maxItems":128,"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for alias."},"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"format":{"type":"string","enum":["esm","commonjs-factory"],"description":"Declared input artifact format."},"role":{"default":"module","type":"string","enum":["module","stub"],"description":"Value for role."},"dependencies":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"description":"Value for dependencies."}},"required":["alias","path","format"],"additionalProperties":false},"description":"Value for modules."},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for entry alias."},"entry_export":{"default":"default","type":"string","minLength":1,"maxLength":256,"description":"Value for entry export."}},"required":["modules","entry_alias"],"additionalProperties":false,"description":"Left-hand input used for comparison or differential execution."},"right":{"type":"object","properties":{"modules":{"minItems":1,"maxItems":128,"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for alias."},"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"format":{"type":"string","enum":["esm","commonjs-factory"],"description":"Declared input artifact format."},"role":{"default":"module","type":"string","enum":["module","stub"],"description":"Value for role."},"dependencies":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"description":"Value for dependencies."}},"required":["alias","path","format"],"additionalProperties":false},"description":"Value for modules."},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for entry alias."},"entry_export":{"default":"default","type":"string","minLength":1,"maxLength":256,"description":"Value for entry export."}},"required":["modules","entry_alias"],"additionalProperties":false,"description":"Right-hand input used for comparison or differential execution."},"cases":{"default":[],"maxItems":128,"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string","minLength":1,"maxLength":128,"description":"Value for case id."},"arguments":{"maxItems":16,"type":"array","items":{"$ref":"#/$defs/__schema0"},"description":"Value for arguments."}},"required":["case_id","arguments"],"additionalProperties":false},"description":"Value for cases."},"generator":{"type":"object","properties":{"preset":{"type":"string","enum":["parser-boundaries","sanitizer-boundaries","clipboard-boundaries"],"description":"Value for preset."},"seed":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Value for seed."},"count":{"type":"integer","minimum":1,"maximum":64,"description":"Value for count."}},"required":["preset","seed","count"],"additionalProperties":false,"description":"Value for generator."},"determinism":{"default":{"clock_iso":"2000-01-01T00:00:00.000Z","random_seed":0,"locale":"en-US","timezone":"UTC","platform":"linux"},"type":"object","properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for clock iso."},"random_seed":{"default":0,"type":"integer","minimum":0,"maximum":4294967295,"description":"Value for random seed."},"locale":{"default":"en-US","type":"string","const":"en-US","description":"Value for locale."},"timezone":{"default":"UTC","type":"string","const":"UTC","description":"Value for timezone."},"platform":{"default":"linux","type":"string","const":"linux","description":"Value for platform."}},"additionalProperties":false,"description":"Value for determinism."},"limits":{"default":{"wall_time_ms":3000,"memory_bytes":134217728,"tasks":8,"cpu_quota_percent":50,"tmpfs_bytes":16777216,"module_bytes":4194304,"input_bytes":262144,"protocol_bytes":16777216,"output_bytes":524288,"stderr_bytes":32768,"result_depth":16,"result_nodes":10000},"type":"object","properties":{"wall_time_ms":{"default":3000,"type":"integer","minimum":100,"maximum":10000,"description":"Value for wall time ms."},"memory_bytes":{"default":134217728,"type":"integer","minimum":16777216,"maximum":536870912,"description":"Bounded byte count for memory."},"tasks":{"default":8,"type":"integer","minimum":1,"maximum":32,"description":"Value for tasks."},"cpu_quota_percent":{"default":50,"type":"integer","minimum":1,"maximum":100,"description":"Value for cpu quota percent."},"tmpfs_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864,"description":"Bounded byte count for tmpfs."},"module_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Bounded byte count for module."},"input_bytes":{"default":262144,"type":"integer","minimum":1,"maximum":1048576,"description":"Bounded byte count for input."},"protocol_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864,"description":"Bounded byte count for protocol."},"output_bytes":{"default":524288,"type":"integer","minimum":1,"maximum":4194304,"description":"Bounded byte count for output."},"stderr_bytes":{"default":32768,"type":"integer","minimum":0,"maximum":262144,"description":"Bounded byte count for stderr."},"result_depth":{"default":16,"type":"integer","minimum":1,"maximum":64,"description":"Value for result depth."},"result_nodes":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Value for result nodes."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"approved":{"default":false,"type":"boolean","description":"Explicit operator approval to perform this operation."},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for plan digest."},"reproducer_export":{"type":"object","properties":{"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"approved":{"type":"boolean","description":"Explicit operator approval to perform this operation."},"include_sources":{"default":false,"type":"boolean","description":"Whether to include sources in the result."}},"required":["path","approved"],"additionalProperties":false,"description":"Value for reproducer export."}},"required":["mode","left"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"examples":[{"mode":"plan","left":{"modules":[{"alias":"parser","path":"/approved/parser.mjs","format":"esm","role":"module","dependencies":{}}],"entry_alias":"parser","entry_export":"default"},"cases":[{"case_id":"empty","arguments":[""]}],"determinism":{"clock_iso":"2000-01-01T00:00:00.000Z","random_seed":0,"locale":"en-US","timezone":"UTC","platform":"linux"},"limits":{"wall_time_ms":3000,"memory_bytes":134217728,"tasks":8,"cpu_quota_percent":50,"tmpfs_bytes":16777216,"module_bytes":4194304,"input_bytes":262144,"protocol_bytes":16777216,"output_bytes":524288,"stderr_bytes":32768,"result_depth":16,"result_nodes":10000},"approved":false}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"phase":{"type":"string","enum":["plan","execute"],"description":"Current plan or execution phase of the operation."},"plan":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"policy_version":{"type":"string","const":"linux-bwrap-systemd-v1"},"policy_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"network":{"type":"string","const":"none"},"filesystem":{"type":"object","properties":{"host_writes":{"type":"boolean","const":false},"private_tmpfs_bytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["host_writes","private_tmpfs_bytes"],"additionalProperties":false},"runtime":{"type":"object","properties":{"executable":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"worker":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"read_only_files":{"minItems":1,"type":"array","items":{"type":"object","properties":{"source_path":{"type":"string","minLength":1},"destination_path":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["source_path","destination_path","sha256"],"additionalProperties":false}}},"required":["executable","worker","read_only_files"],"additionalProperties":false},"sandbox":{"type":"object","properties":{"bubblewrap":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"systemd_run":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"systemctl":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"shell":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"seccomp_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["bubblewrap","systemd_run","systemctl","shell","seccomp_sha256"],"additionalProperties":false},"left":{"type":"object","properties":{"modules":{"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"canonical_path":{"type":"string","minLength":1},"format":{"type":"string","enum":["esm","commonjs-factory"]},"role":{"type":"string","enum":["module","stub"]},"byte_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"dependencies":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"}}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"additionalProperties":false}},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"entry_export":{"type":"string"}},"required":["modules","entry_alias","entry_export"],"additionalProperties":false},"right":{"type":"object","properties":{"modules":{"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"canonical_path":{"type":"string","minLength":1},"format":{"type":"string","enum":["esm","commonjs-factory"]},"role":{"type":"string","enum":["module","stub"]},"byte_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"dependencies":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"}}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"additionalProperties":false}},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"entry_export":{"type":"string"}},"required":["modules","entry_alias","entry_export"],"additionalProperties":false},"cases":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"arguments":{"type":"array","items":{"$ref":"#/$defs/__schema0"}},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["case_id","arguments","sha256"],"additionalProperties":false}},"determinism":{"type":"object","properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"random_seed":{"default":0,"type":"integer","minimum":0,"maximum":4294967295},"locale":{"default":"en-US","type":"string","const":"en-US"},"timezone":{"default":"UTC","type":"string","const":"UTC"},"platform":{"default":"linux","type":"string","const":"linux"}},"required":["clock_iso","random_seed","locale","timezone","platform"],"additionalProperties":false},"limits":{"type":"object","properties":{"wall_time_ms":{"default":3000,"type":"integer","minimum":100,"maximum":10000},"memory_bytes":{"default":134217728,"type":"integer","minimum":16777216,"maximum":536870912},"tasks":{"default":8,"type":"integer","minimum":1,"maximum":32},"cpu_quota_percent":{"default":50,"type":"integer","minimum":1,"maximum":100},"tmpfs_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864},"module_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216},"input_bytes":{"default":262144,"type":"integer","minimum":1,"maximum":1048576},"protocol_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864},"output_bytes":{"default":524288,"type":"integer","minimum":1,"maximum":4194304},"stderr_bytes":{"default":32768,"type":"integer","minimum":0,"maximum":262144},"result_depth":{"default":16,"type":"integer","minimum":1,"maximum":64},"result_nodes":{"default":10000,"type":"integer","minimum":1,"maximum":100000}},"required":["wall_time_ms","memory_bytes","tasks","cpu_quota_percent","tmpfs_bytes","module_bytes","input_bytes","protocol_bytes","output_bytes","stderr_bytes","result_depth","result_nodes"],"additionalProperties":false},"effects":{"type":"array","items":{"type":"string"}},"reproducer_export":{"anyOf":[{"type":"object","properties":{"path":{"type":"string","minLength":1},"include_sources":{"type":"boolean"},"authority":{"type":"string","const":"evidence_write"}},"required":["path","include_sources","authority"],"additionalProperties":false},{"type":"null"}]}},"required":["schema_version","plan_digest","policy_version","policy_sha256","network","filesystem","runtime","sandbox","left","cases","determinism","limits","effects","reproducer_export"],"additionalProperties":false},{"type":"null"}],"description":"Content-bound execution plan and its approval commitment."},"source_evidence":{"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema1"},{"type":"null"}]},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false},"normalized_result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"outcomes":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"outcome":{"type":"string","enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"]},"value":{"$ref":"#/$defs/__schema2"},"exception":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"additionalProperties":false},"input_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"output_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"additionalProperties":false}},"comparison":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"status":{"type":"string","enum":["equal","changed","unknown"]},"left_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"right_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["case_id","status","left_index","right_index"],"additionalProperties":false}},"stderr":{"type":"string"},"termination":{"type":"string","enum":["completed","timeout","oom","crash","cancelled","protocol_error"]},"cleanup":{"type":"object","properties":{"state":{"type":"string","enum":["complete","incomplete"]},"residual_resources":{"type":"array","items":{"type":"string"}}},"required":["state","residual_resources"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"reproducer":{"anyOf":[{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"written"},"path":{"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["state","path","sha256"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"failed"},"path":{"type":"string"},"error":{"type":"string"}},"required":["state","path","error"],"additionalProperties":false}]},{"type":"null"}]}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"additionalProperties":false},"description":"Evidence records supporting the prepared source transformation."},"evidence":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema1"},{"type":"null"}]},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false},"normalized_result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"outcomes":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"outcome":{"type":"string","enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"]},"value":{"$ref":"#/$defs/__schema2"},"exception":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"additionalProperties":false},"input_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"output_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"additionalProperties":false}},"comparison":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"status":{"type":"string","enum":["equal","changed","unknown"]},"left_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"right_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["case_id","status","left_index","right_index"],"additionalProperties":false}},"stderr":{"type":"string"},"termination":{"type":"string","enum":["completed","timeout","oom","crash","cancelled","protocol_error"]},"cleanup":{"type":"object","properties":{"state":{"type":"string","enum":["complete","incomplete"]},"residual_resources":{"type":"array","items":{"type":"string"}}},"required":["state","residual_resources"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"reproducer":{"anyOf":[{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"written"},"path":{"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["state","path","sha256"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"failed"},"path":{"type":"string"},"error":{"type":"string"}},"required":["state","path","error"],"additionalProperties":false}]},{"type":"null"}]}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"additionalProperties":false},{"type":"null"}],"description":"Evidence v2 record produced by this operation."}},"required":["phase","plan","source_evidence","evidence"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":true,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"prepare_node_characterization","analysisOperation":null,"title":"Prepare Node Characterization","description":"Prepare a hash-bound Node/JavaScript characterization plan and deterministic reversible export transformation without executing target code. The exact source, selected byte range, runtime closure, sandbox profile, cases, and limits are committed for separate execution approval.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"preparation_approved":{"type":"boolean","const":true,"description":"Explicit operator approval for preparation."},"selected_alias":{"type":"string","minLength":1,"maxLength":200,"description":"Value for selected alias."},"expected_effect":{"type":"string","enum":["pure","observation-only"],"description":"Expected effect used to reject stale or mismatched input."},"instrumentation":{"type":"object","properties":{"artifact_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for artifact."},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of artifact."},"selection":{"type":"object","properties":{"byte_start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for byte start."},"byte_end":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for byte end."},"selected_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of selected."},"export_name":{"type":"string","pattern":"^[A-Za-z_$][A-Za-z0-9_$]{0,199}$","description":"Value for export name."}},"required":["byte_start","byte_end","selected_sha256","export_name"],"additionalProperties":false,"description":"Value for selection."}},"required":["artifact_path","artifact_sha256","selection"],"additionalProperties":false,"description":"Value for instrumentation."},"replay":{"type":"object","properties":{"mode":{"type":"string","enum":["plan","execute"],"description":"Operation mode that selects the requested behavior."},"left":{"type":"object","properties":{"modules":{"minItems":1,"maxItems":128,"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for alias."},"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"format":{"type":"string","enum":["esm","commonjs-factory"],"description":"Declared input artifact format."},"role":{"default":"module","type":"string","enum":["module","stub"],"description":"Value for role."},"dependencies":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"description":"Value for dependencies."}},"required":["alias","path","format"],"additionalProperties":false},"description":"Value for modules."},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for entry alias."},"entry_export":{"default":"default","type":"string","minLength":1,"maxLength":256,"description":"Value for entry export."}},"required":["modules","entry_alias"],"additionalProperties":false,"description":"Left-hand input used for comparison or differential execution."},"right":{"type":"object","properties":{"modules":{"minItems":1,"maxItems":128,"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for alias."},"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"format":{"type":"string","enum":["esm","commonjs-factory"],"description":"Declared input artifact format."},"role":{"default":"module","type":"string","enum":["module","stub"],"description":"Value for role."},"dependencies":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"description":"Value for dependencies."}},"required":["alias","path","format"],"additionalProperties":false},"description":"Value for modules."},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for entry alias."},"entry_export":{"default":"default","type":"string","minLength":1,"maxLength":256,"description":"Value for entry export."}},"required":["modules","entry_alias"],"additionalProperties":false,"description":"Right-hand input used for comparison or differential execution."},"cases":{"default":[],"maxItems":128,"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string","minLength":1,"maxLength":128,"description":"Value for case id."},"arguments":{"maxItems":16,"type":"array","items":{"$ref":"#/$defs/__schema0"},"description":"Value for arguments."}},"required":["case_id","arguments"],"additionalProperties":false},"description":"Value for cases."},"generator":{"type":"object","properties":{"preset":{"type":"string","enum":["parser-boundaries","sanitizer-boundaries","clipboard-boundaries"],"description":"Value for preset."},"seed":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Value for seed."},"count":{"type":"integer","minimum":1,"maximum":64,"description":"Value for count."}},"required":["preset","seed","count"],"additionalProperties":false,"description":"Value for generator."},"determinism":{"default":{"clock_iso":"2000-01-01T00:00:00.000Z","random_seed":0,"locale":"en-US","timezone":"UTC","platform":"linux"},"type":"object","properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for clock iso."},"random_seed":{"default":0,"type":"integer","minimum":0,"maximum":4294967295,"description":"Value for random seed."},"locale":{"default":"en-US","type":"string","const":"en-US","description":"Value for locale."},"timezone":{"default":"UTC","type":"string","const":"UTC","description":"Value for timezone."},"platform":{"default":"linux","type":"string","const":"linux","description":"Value for platform."}},"additionalProperties":false,"description":"Value for determinism."},"limits":{"default":{"wall_time_ms":3000,"memory_bytes":134217728,"tasks":8,"cpu_quota_percent":50,"tmpfs_bytes":16777216,"module_bytes":4194304,"input_bytes":262144,"protocol_bytes":16777216,"output_bytes":524288,"stderr_bytes":32768,"result_depth":16,"result_nodes":10000},"type":"object","properties":{"wall_time_ms":{"default":3000,"type":"integer","minimum":100,"maximum":10000,"description":"Value for wall time ms."},"memory_bytes":{"default":134217728,"type":"integer","minimum":16777216,"maximum":536870912,"description":"Bounded byte count for memory."},"tasks":{"default":8,"type":"integer","minimum":1,"maximum":32,"description":"Value for tasks."},"cpu_quota_percent":{"default":50,"type":"integer","minimum":1,"maximum":100,"description":"Value for cpu quota percent."},"tmpfs_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864,"description":"Bounded byte count for tmpfs."},"module_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Bounded byte count for module."},"input_bytes":{"default":262144,"type":"integer","minimum":1,"maximum":1048576,"description":"Bounded byte count for input."},"protocol_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864,"description":"Bounded byte count for protocol."},"output_bytes":{"default":524288,"type":"integer","minimum":1,"maximum":4194304,"description":"Bounded byte count for output."},"stderr_bytes":{"default":32768,"type":"integer","minimum":0,"maximum":262144,"description":"Bounded byte count for stderr."},"result_depth":{"default":16,"type":"integer","minimum":1,"maximum":64,"description":"Value for result depth."},"result_nodes":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Value for result nodes."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"approved":{"default":false,"type":"boolean","description":"Explicit operator approval to perform this operation."},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for plan digest."},"reproducer_export":{"type":"object","properties":{"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"approved":{"type":"boolean","description":"Explicit operator approval to perform this operation."},"include_sources":{"default":false,"type":"boolean","description":"Whether to include sources in the result."}},"required":["path","approved"],"additionalProperties":false,"description":"Value for reproducer export."}},"required":["mode","left"],"additionalProperties":false,"description":"Value for replay."}},"required":["preparation_approved","selected_alias","expected_effect","instrumentation","replay"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"examples":[{"preparation_approved":true,"selected_alias":"bundle","expected_effect":"pure","instrumentation":{"artifact_path":"/approved/bundle.js","artifact_sha256":"0000000000000000000000000000000000000000000000000000000000000000","selection":{"byte_start":100,"byte_end":120,"selected_sha256":"0000000000000000000000000000000000000000000000000000000000000000","export_name":"selected"}},"replay":{"mode":"plan","left":{"modules":[{"alias":"bundle","path":"/approved/bundle.js","format":"commonjs-factory","role":"module","dependencies":{}}],"entry_alias":"bundle","entry_export":"selected"},"cases":[{"case_id":"empty","arguments":[""]}],"approved":false}}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"phase":{"type":"string","const":"preparation","description":"Current plan or execution phase of the operation."},"plan":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"preparation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"artifact":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":4096},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["path","sha256","byte_length"],"additionalProperties":false},"runtime":{"type":"object","properties":{"family":{"type":"string","minLength":1,"maxLength":100},"provider_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"executable_path":{"type":"string","minLength":1,"maxLength":4096},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"version":{"type":"string","minLength":1,"maxLength":500},"profile_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["family","provider_id","executable_path","executable_sha256","version","profile_sha256"],"additionalProperties":false},"callable":{"type":"object","properties":{"callable_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"module_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"export_name":{"type":"string","minLength":1,"maxLength":1000},"semantic_evidence_id":{"anyOf":[{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},{"type":"null"}]},"selector_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["callable_id","module_id","export_name","semantic_evidence_id","selector_sha256"],"additionalProperties":false},"working_directory":{"type":"string","minLength":1,"maxLength":4096},"isolated_home":{"type":"string","minLength":1,"maxLength":4096},"expected_effect":{"type":"string","enum":["pure","bounded-effects","observation-only"]},"allowed_boundaries":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"limits":{"type":"object","properties":{"max_calls":{"type":"integer","minimum":1,"maximum":10000},"max_processes":{"type":"integer","minimum":0,"maximum":1000},"max_files":{"type":"integer","minimum":0,"maximum":100000},"max_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_handles":{"type":"integer","minimum":0,"maximum":100000},"timeout_ms":{"type":"integer","minimum":1,"maximum":300000},"idle_timeout_ms":{"type":"integer","minimum":1,"maximum":300000}},"required":["max_calls","max_processes","max_files","max_bytes","max_handles","timeout_ms","idle_timeout_ms"],"additionalProperties":false},"determinism":{"type":"object","properties":{"clock":{"type":"string","enum":["fixed","real"]},"randomness":{"type":"string","enum":["seeded","system"]},"identifiers":{"type":"string","enum":["deterministic","runtime"]},"seed":{"type":"integer","minimum":0,"maximum":4294967295}},"required":["clock","randomness","identifiers","seed"],"additionalProperties":false},"authority":{"type":"object","properties":{"preparation_approved":{"type":"boolean","const":true},"execution_approved":{"type":"boolean","const":false},"network":{"type":"string","enum":["none","loopback"]},"provider_owned_process_only":{"type":"boolean","const":true}},"required":["preparation_approved","execution_approved","network","provider_owned_process_only"],"additionalProperties":false}},"required":["schema_version","plan_sha256","preparation_sha256","artifact","runtime","callable","working_directory","isolated_home","expected_effect","allowed_boundaries","limits","determinism","authority"],"additionalProperties":false,"description":"Content-bound execution plan and its approval commitment."},"transformation":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"kind":{"type":"string","const":"commonjs-factory-export-v1"},"artifact_path":{"type":"string","minLength":1,"maxLength":4096},"original_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"instrumented_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"instrumented_byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"selected_range":{"type":"object","properties":{"byte_start":{"type":"integer","minimum":0,"maximum":9007199254740991},"byte_end":{"type":"integer","minimum":1,"maximum":9007199254740991},"selected_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["byte_start","byte_end","selected_sha256"],"additionalProperties":false},"inserted_ranges":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"byte_start":{"type":"integer","minimum":0,"maximum":9007199254740991},"byte_end":{"type":"integer","minimum":1,"maximum":9007199254740991},"inserted_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"purpose":{"type":"string","enum":["factory-prefix","export-binding","factory-suffix"]}},"required":["byte_start","byte_end","inserted_sha256","purpose"],"additionalProperties":false}},"output_format":{"type":"string","const":"commonjs-factory"},"source_map":{"type":"null","const":null}},"required":["schema_version","kind","artifact_path","original_sha256","original_byte_length","instrumented_sha256","instrumented_byte_length","selected_range","inserted_ranges","output_format","source_map"],"additionalProperties":false,"description":"Value for transformation."},"transformation_evidence":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}],"description":"Value for transformation evidence."},"replay":{"type":"object","properties":{"phase":{"type":"string","enum":["plan","execute"]},"plan":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"policy_version":{"type":"string","const":"linux-bwrap-systemd-v1"},"policy_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"network":{"type":"string","const":"none"},"filesystem":{"type":"object","properties":{"host_writes":{"type":"boolean","const":false},"private_tmpfs_bytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["host_writes","private_tmpfs_bytes"],"additionalProperties":false},"runtime":{"type":"object","properties":{"executable":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"worker":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"read_only_files":{"minItems":1,"type":"array","items":{"type":"object","properties":{"source_path":{"type":"string","minLength":1},"destination_path":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["source_path","destination_path","sha256"],"additionalProperties":false}}},"required":["executable","worker","read_only_files"],"additionalProperties":false},"sandbox":{"type":"object","properties":{"bubblewrap":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"systemd_run":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"systemctl":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"shell":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"seccomp_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["bubblewrap","systemd_run","systemctl","shell","seccomp_sha256"],"additionalProperties":false},"left":{"type":"object","properties":{"modules":{"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"canonical_path":{"type":"string","minLength":1},"format":{"type":"string","enum":["esm","commonjs-factory"]},"role":{"type":"string","enum":["module","stub"]},"byte_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"dependencies":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"}}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"additionalProperties":false}},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"entry_export":{"type":"string"}},"required":["modules","entry_alias","entry_export"],"additionalProperties":false},"right":{"type":"object","properties":{"modules":{"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"canonical_path":{"type":"string","minLength":1},"format":{"type":"string","enum":["esm","commonjs-factory"]},"role":{"type":"string","enum":["module","stub"]},"byte_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"dependencies":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"}}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"additionalProperties":false}},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"entry_export":{"type":"string"}},"required":["modules","entry_alias","entry_export"],"additionalProperties":false},"cases":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"arguments":{"type":"array","items":{"$ref":"#/$defs/__schema1"}},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["case_id","arguments","sha256"],"additionalProperties":false}},"determinism":{"type":"object","properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"random_seed":{"default":0,"type":"integer","minimum":0,"maximum":4294967295},"locale":{"default":"en-US","type":"string","const":"en-US"},"timezone":{"default":"UTC","type":"string","const":"UTC"},"platform":{"default":"linux","type":"string","const":"linux"}},"required":["clock_iso","random_seed","locale","timezone","platform"],"additionalProperties":false},"limits":{"type":"object","properties":{"wall_time_ms":{"default":3000,"type":"integer","minimum":100,"maximum":10000},"memory_bytes":{"default":134217728,"type":"integer","minimum":16777216,"maximum":536870912},"tasks":{"default":8,"type":"integer","minimum":1,"maximum":32},"cpu_quota_percent":{"default":50,"type":"integer","minimum":1,"maximum":100},"tmpfs_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864},"module_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216},"input_bytes":{"default":262144,"type":"integer","minimum":1,"maximum":1048576},"protocol_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864},"output_bytes":{"default":524288,"type":"integer","minimum":1,"maximum":4194304},"stderr_bytes":{"default":32768,"type":"integer","minimum":0,"maximum":262144},"result_depth":{"default":16,"type":"integer","minimum":1,"maximum":64},"result_nodes":{"default":10000,"type":"integer","minimum":1,"maximum":100000}},"required":["wall_time_ms","memory_bytes","tasks","cpu_quota_percent","tmpfs_bytes","module_bytes","input_bytes","protocol_bytes","output_bytes","stderr_bytes","result_depth","result_nodes"],"additionalProperties":false},"effects":{"type":"array","items":{"type":"string"}},"reproducer_export":{"anyOf":[{"type":"object","properties":{"path":{"type":"string","minLength":1},"include_sources":{"type":"boolean"},"authority":{"type":"string","const":"evidence_write"}},"required":["path","include_sources","authority"],"additionalProperties":false},{"type":"null"}]}},"required":["schema_version","plan_digest","policy_version","policy_sha256","network","filesystem","runtime","sandbox","left","cases","determinism","limits","effects","reproducer_export"],"additionalProperties":false},{"type":"null"}]},"source_evidence":{"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false},"normalized_result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"outcomes":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"outcome":{"type":"string","enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"]},"value":{"$ref":"#/$defs/__schema2"},"exception":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"additionalProperties":false},"input_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"output_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"additionalProperties":false}},"comparison":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"status":{"type":"string","enum":["equal","changed","unknown"]},"left_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"right_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["case_id","status","left_index","right_index"],"additionalProperties":false}},"stderr":{"type":"string"},"termination":{"type":"string","enum":["completed","timeout","oom","crash","cancelled","protocol_error"]},"cleanup":{"type":"object","properties":{"state":{"type":"string","enum":["complete","incomplete"]},"residual_resources":{"type":"array","items":{"type":"string"}}},"required":["state","residual_resources"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"reproducer":{"anyOf":[{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"written"},"path":{"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["state","path","sha256"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"failed"},"path":{"type":"string"},"error":{"type":"string"}},"required":["state","path","error"],"additionalProperties":false}]},{"type":"null"}]}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"additionalProperties":false}},"evidence":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false},"normalized_result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"outcomes":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"outcome":{"type":"string","enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"]},"value":{"$ref":"#/$defs/__schema2"},"exception":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"additionalProperties":false},"input_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"output_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"additionalProperties":false}},"comparison":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"status":{"type":"string","enum":["equal","changed","unknown"]},"left_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"right_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["case_id","status","left_index","right_index"],"additionalProperties":false}},"stderr":{"type":"string"},"termination":{"type":"string","enum":["completed","timeout","oom","crash","cancelled","protocol_error"]},"cleanup":{"type":"object","properties":{"state":{"type":"string","enum":["complete","incomplete"]},"residual_resources":{"type":"array","items":{"type":"string"}}},"required":["state","residual_resources"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"reproducer":{"anyOf":[{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"written"},"path":{"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["state","path","sha256"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"failed"},"path":{"type":"string"},"error":{"type":"string"}},"required":["state","path","error"],"additionalProperties":false}]},{"type":"null"}]}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"additionalProperties":false},{"type":"null"}]}},"required":["phase","plan","source_evidence","evidence"],"additionalProperties":false,"description":"Value for replay."}},"required":["schema_version","phase","plan","transformation","transformation_evidence","replay"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"execute_node_characterization","analysisOperation":null,"title":"Execute Node Characterization","description":"Recompute and execute one separately approved exact Node characterization plan in the owned controlled-replay boundary. Returns transformation, replay, cleanup, and provider-neutral characterization Evidence v2; stale plans fail before execution.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"execution_approved":{"type":"boolean","const":true,"description":"Explicit operator approval for execution."},"approved_plan_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of approved plan."},"preparation":{"type":"object","properties":{"preparation_approved":{"type":"boolean","const":true,"description":"Explicit operator approval for preparation."},"selected_alias":{"type":"string","minLength":1,"maxLength":200,"description":"Value for selected alias."},"expected_effect":{"type":"string","enum":["pure","observation-only"],"description":"Expected effect used to reject stale or mismatched input."},"instrumentation":{"type":"object","properties":{"artifact_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for artifact."},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of artifact."},"selection":{"type":"object","properties":{"byte_start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for byte start."},"byte_end":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for byte end."},"selected_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of selected."},"export_name":{"type":"string","pattern":"^[A-Za-z_$][A-Za-z0-9_$]{0,199}$","description":"Value for export name."}},"required":["byte_start","byte_end","selected_sha256","export_name"],"additionalProperties":false,"description":"Value for selection."}},"required":["artifact_path","artifact_sha256","selection"],"additionalProperties":false,"description":"Value for instrumentation."},"replay":{"type":"object","properties":{"mode":{"type":"string","enum":["plan","execute"],"description":"Operation mode that selects the requested behavior."},"left":{"type":"object","properties":{"modules":{"minItems":1,"maxItems":128,"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for alias."},"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"format":{"type":"string","enum":["esm","commonjs-factory"],"description":"Declared input artifact format."},"role":{"default":"module","type":"string","enum":["module","stub"],"description":"Value for role."},"dependencies":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"description":"Value for dependencies."}},"required":["alias","path","format"],"additionalProperties":false},"description":"Value for modules."},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for entry alias."},"entry_export":{"default":"default","type":"string","minLength":1,"maxLength":256,"description":"Value for entry export."}},"required":["modules","entry_alias"],"additionalProperties":false,"description":"Left-hand input used for comparison or differential execution."},"right":{"type":"object","properties":{"modules":{"minItems":1,"maxItems":128,"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for alias."},"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"format":{"type":"string","enum":["esm","commonjs-factory"],"description":"Declared input artifact format."},"role":{"default":"module","type":"string","enum":["module","stub"],"description":"Value for role."},"dependencies":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"description":"Value for dependencies."}},"required":["alias","path","format"],"additionalProperties":false},"description":"Value for modules."},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$","description":"Value for entry alias."},"entry_export":{"default":"default","type":"string","minLength":1,"maxLength":256,"description":"Value for entry export."}},"required":["modules","entry_alias"],"additionalProperties":false,"description":"Right-hand input used for comparison or differential execution."},"cases":{"default":[],"maxItems":128,"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string","minLength":1,"maxLength":128,"description":"Value for case id."},"arguments":{"maxItems":16,"type":"array","items":{"$ref":"#/$defs/__schema0"},"description":"Value for arguments."}},"required":["case_id","arguments"],"additionalProperties":false},"description":"Value for cases."},"generator":{"type":"object","properties":{"preset":{"type":"string","enum":["parser-boundaries","sanitizer-boundaries","clipboard-boundaries"],"description":"Value for preset."},"seed":{"type":"integer","minimum":0,"maximum":4294967295,"description":"Value for seed."},"count":{"type":"integer","minimum":1,"maximum":64,"description":"Value for count."}},"required":["preset","seed","count"],"additionalProperties":false,"description":"Value for generator."},"determinism":{"default":{"clock_iso":"2000-01-01T00:00:00.000Z","random_seed":0,"locale":"en-US","timezone":"UTC","platform":"linux"},"type":"object","properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","description":"Value for clock iso."},"random_seed":{"default":0,"type":"integer","minimum":0,"maximum":4294967295,"description":"Value for random seed."},"locale":{"default":"en-US","type":"string","const":"en-US","description":"Value for locale."},"timezone":{"default":"UTC","type":"string","const":"UTC","description":"Value for timezone."},"platform":{"default":"linux","type":"string","const":"linux","description":"Value for platform."}},"additionalProperties":false,"description":"Value for determinism."},"limits":{"default":{"wall_time_ms":3000,"memory_bytes":134217728,"tasks":8,"cpu_quota_percent":50,"tmpfs_bytes":16777216,"module_bytes":4194304,"input_bytes":262144,"protocol_bytes":16777216,"output_bytes":524288,"stderr_bytes":32768,"result_depth":16,"result_nodes":10000},"type":"object","properties":{"wall_time_ms":{"default":3000,"type":"integer","minimum":100,"maximum":10000,"description":"Value for wall time ms."},"memory_bytes":{"default":134217728,"type":"integer","minimum":16777216,"maximum":536870912,"description":"Bounded byte count for memory."},"tasks":{"default":8,"type":"integer","minimum":1,"maximum":32,"description":"Value for tasks."},"cpu_quota_percent":{"default":50,"type":"integer","minimum":1,"maximum":100,"description":"Value for cpu quota percent."},"tmpfs_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864,"description":"Bounded byte count for tmpfs."},"module_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216,"description":"Bounded byte count for module."},"input_bytes":{"default":262144,"type":"integer","minimum":1,"maximum":1048576,"description":"Bounded byte count for input."},"protocol_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864,"description":"Bounded byte count for protocol."},"output_bytes":{"default":524288,"type":"integer","minimum":1,"maximum":4194304,"description":"Bounded byte count for output."},"stderr_bytes":{"default":32768,"type":"integer","minimum":0,"maximum":262144,"description":"Bounded byte count for stderr."},"result_depth":{"default":16,"type":"integer","minimum":1,"maximum":64,"description":"Value for result depth."},"result_nodes":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Value for result nodes."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"approved":{"default":false,"type":"boolean","description":"Explicit operator approval to perform this operation."},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for plan digest."},"reproducer_export":{"type":"object","properties":{"path":{"type":"string","maxLength":4096,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"approved":{"type":"boolean","description":"Explicit operator approval to perform this operation."},"include_sources":{"default":false,"type":"boolean","description":"Whether to include sources in the result."}},"required":["path","approved"],"additionalProperties":false,"description":"Value for reproducer export."}},"required":["mode","left"],"additionalProperties":false,"description":"Value for replay."}},"required":["preparation_approved","selected_alias","expected_effect","instrumentation","replay"],"additionalProperties":false,"description":"Value for preparation."}},"required":["execution_approved","approved_plan_sha256","preparation"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"examples":[{"execution_approved":true,"approved_plan_sha256":"0000000000000000000000000000000000000000000000000000000000000000","preparation":{"preparation_approved":true,"selected_alias":"bundle","expected_effect":"pure","instrumentation":{"artifact_path":"/approved/bundle.js","artifact_sha256":"0000000000000000000000000000000000000000000000000000000000000000","selection":{"byte_start":100,"byte_end":120,"selected_sha256":"0000000000000000000000000000000000000000000000000000000000000000","export_name":"selected"}},"replay":{"mode":"plan","left":{"modules":[{"alias":"bundle","path":"/approved/bundle.js","format":"commonjs-factory","role":"module","dependencies":{}}],"entry_alias":"bundle","entry_export":"selected"},"cases":[{"case_id":"empty","arguments":[""]}],"approved":false}}}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"phase":{"type":"string","const":"execution","description":"Current plan or execution phase of the operation."},"plan":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"preparation_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"artifact":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":4096},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["path","sha256","byte_length"],"additionalProperties":false},"runtime":{"type":"object","properties":{"family":{"type":"string","minLength":1,"maxLength":100},"provider_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"executable_path":{"type":"string","minLength":1,"maxLength":4096},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"version":{"type":"string","minLength":1,"maxLength":500},"profile_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["family","provider_id","executable_path","executable_sha256","version","profile_sha256"],"additionalProperties":false},"callable":{"type":"object","properties":{"callable_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"module_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"export_name":{"type":"string","minLength":1,"maxLength":1000},"semantic_evidence_id":{"anyOf":[{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},{"type":"null"}]},"selector_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["callable_id","module_id","export_name","semantic_evidence_id","selector_sha256"],"additionalProperties":false},"working_directory":{"type":"string","minLength":1,"maxLength":4096},"isolated_home":{"type":"string","minLength":1,"maxLength":4096},"expected_effect":{"type":"string","enum":["pure","bounded-effects","observation-only"]},"allowed_boundaries":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"limits":{"type":"object","properties":{"max_calls":{"type":"integer","minimum":1,"maximum":10000},"max_processes":{"type":"integer","minimum":0,"maximum":1000},"max_files":{"type":"integer","minimum":0,"maximum":100000},"max_bytes":{"type":"integer","minimum":1,"maximum":9007199254740991},"max_handles":{"type":"integer","minimum":0,"maximum":100000},"timeout_ms":{"type":"integer","minimum":1,"maximum":300000},"idle_timeout_ms":{"type":"integer","minimum":1,"maximum":300000}},"required":["max_calls","max_processes","max_files","max_bytes","max_handles","timeout_ms","idle_timeout_ms"],"additionalProperties":false},"determinism":{"type":"object","properties":{"clock":{"type":"string","enum":["fixed","real"]},"randomness":{"type":"string","enum":["seeded","system"]},"identifiers":{"type":"string","enum":["deterministic","runtime"]},"seed":{"type":"integer","minimum":0,"maximum":4294967295}},"required":["clock","randomness","identifiers","seed"],"additionalProperties":false},"authority":{"type":"object","properties":{"preparation_approved":{"type":"boolean","const":true},"execution_approved":{"type":"boolean","const":false},"network":{"type":"string","enum":["none","loopback"]},"provider_owned_process_only":{"type":"boolean","const":true}},"required":["preparation_approved","execution_approved","network","provider_owned_process_only"],"additionalProperties":false}},"required":["schema_version","plan_sha256","preparation_sha256","artifact","runtime","callable","working_directory","isolated_home","expected_effect","allowed_boundaries","limits","determinism","authority"],"additionalProperties":false,"description":"Content-bound execution plan and its approval commitment."},"transformation":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"kind":{"type":"string","const":"commonjs-factory-export-v1"},"artifact_path":{"type":"string","minLength":1,"maxLength":4096},"original_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"original_byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"instrumented_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"instrumented_byte_length":{"type":"integer","minimum":0,"maximum":9007199254740991},"selected_range":{"type":"object","properties":{"byte_start":{"type":"integer","minimum":0,"maximum":9007199254740991},"byte_end":{"type":"integer","minimum":1,"maximum":9007199254740991},"selected_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["byte_start","byte_end","selected_sha256"],"additionalProperties":false},"inserted_ranges":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"byte_start":{"type":"integer","minimum":0,"maximum":9007199254740991},"byte_end":{"type":"integer","minimum":1,"maximum":9007199254740991},"inserted_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"purpose":{"type":"string","enum":["factory-prefix","export-binding","factory-suffix"]}},"required":["byte_start","byte_end","inserted_sha256","purpose"],"additionalProperties":false}},"output_format":{"type":"string","const":"commonjs-factory"},"source_map":{"type":"null","const":null}},"required":["schema_version","kind","artifact_path","original_sha256","original_byte_length","instrumented_sha256","instrumented_byte_length","selected_range","inserted_ranges","output_format","source_map"],"additionalProperties":false,"description":"Value for transformation."},"transformation_evidence":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}],"description":"Value for transformation evidence."},"evidence":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"normalized_result":{"$ref":"#/$defs/__schema0"},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}],"description":"Evidence v2 record produced by this operation."},"replay":{"type":"object","properties":{"phase":{"type":"string","enum":["plan","execute"]},"plan":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"policy_version":{"type":"string","const":"linux-bwrap-systemd-v1"},"policy_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"network":{"type":"string","const":"none"},"filesystem":{"type":"object","properties":{"host_writes":{"type":"boolean","const":false},"private_tmpfs_bytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["host_writes","private_tmpfs_bytes"],"additionalProperties":false},"runtime":{"type":"object","properties":{"executable":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"worker":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"read_only_files":{"minItems":1,"type":"array","items":{"type":"object","properties":{"source_path":{"type":"string","minLength":1},"destination_path":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["source_path","destination_path","sha256"],"additionalProperties":false}}},"required":["executable","worker","read_only_files"],"additionalProperties":false},"sandbox":{"type":"object","properties":{"bubblewrap":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"systemd_run":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"systemctl":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"shell":{"type":"object","properties":{"path":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","version","sha256"],"additionalProperties":false},"seccomp_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["bubblewrap","systemd_run","systemctl","shell","seccomp_sha256"],"additionalProperties":false},"left":{"type":"object","properties":{"modules":{"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"canonical_path":{"type":"string","minLength":1},"format":{"type":"string","enum":["esm","commonjs-factory"]},"role":{"type":"string","enum":["module","stub"]},"byte_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"dependencies":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"}}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"additionalProperties":false}},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"entry_export":{"type":"string"}},"required":["modules","entry_alias","entry_export"],"additionalProperties":false},"right":{"type":"object","properties":{"modules":{"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"canonical_path":{"type":"string","minLength":1},"format":{"type":"string","enum":["esm","commonjs-factory"]},"role":{"type":"string","enum":["module","stub"]},"byte_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"dependencies":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"}}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"additionalProperties":false}},"entry_alias":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9_./:@-]+$"},"entry_export":{"type":"string"}},"required":["modules","entry_alias","entry_export"],"additionalProperties":false},"cases":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"arguments":{"type":"array","items":{"$ref":"#/$defs/__schema1"}},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["case_id","arguments","sha256"],"additionalProperties":false}},"determinism":{"type":"object","properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"random_seed":{"default":0,"type":"integer","minimum":0,"maximum":4294967295},"locale":{"default":"en-US","type":"string","const":"en-US"},"timezone":{"default":"UTC","type":"string","const":"UTC"},"platform":{"default":"linux","type":"string","const":"linux"}},"required":["clock_iso","random_seed","locale","timezone","platform"],"additionalProperties":false},"limits":{"type":"object","properties":{"wall_time_ms":{"default":3000,"type":"integer","minimum":100,"maximum":10000},"memory_bytes":{"default":134217728,"type":"integer","minimum":16777216,"maximum":536870912},"tasks":{"default":8,"type":"integer","minimum":1,"maximum":32},"cpu_quota_percent":{"default":50,"type":"integer","minimum":1,"maximum":100},"tmpfs_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864},"module_bytes":{"default":4194304,"type":"integer","minimum":1,"maximum":16777216},"input_bytes":{"default":262144,"type":"integer","minimum":1,"maximum":1048576},"protocol_bytes":{"default":16777216,"type":"integer","minimum":1048576,"maximum":67108864},"output_bytes":{"default":524288,"type":"integer","minimum":1,"maximum":4194304},"stderr_bytes":{"default":32768,"type":"integer","minimum":0,"maximum":262144},"result_depth":{"default":16,"type":"integer","minimum":1,"maximum":64},"result_nodes":{"default":10000,"type":"integer","minimum":1,"maximum":100000}},"required":["wall_time_ms","memory_bytes","tasks","cpu_quota_percent","tmpfs_bytes","module_bytes","input_bytes","protocol_bytes","output_bytes","stderr_bytes","result_depth","result_nodes"],"additionalProperties":false},"effects":{"type":"array","items":{"type":"string"}},"reproducer_export":{"anyOf":[{"type":"object","properties":{"path":{"type":"string","minLength":1},"include_sources":{"type":"boolean"},"authority":{"type":"string","const":"evidence_write"}},"required":["path","include_sources","authority"],"additionalProperties":false},{"type":"null"}]}},"required":["schema_version","plan_digest","policy_version","policy_sha256","network","filesystem","runtime","sandbox","left","cases","determinism","limits","effects","reproducer_export"],"additionalProperties":false},{"type":"null"}]},"source_evidence":{"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false},"normalized_result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"outcomes":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"outcome":{"type":"string","enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"]},"value":{"$ref":"#/$defs/__schema2"},"exception":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"additionalProperties":false},"input_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"output_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"additionalProperties":false}},"comparison":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"status":{"type":"string","enum":["equal","changed","unknown"]},"left_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"right_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["case_id","status","left_index","right_index"],"additionalProperties":false}},"stderr":{"type":"string"},"termination":{"type":"string","enum":["completed","timeout","oom","crash","cancelled","protocol_error"]},"cleanup":{"type":"object","properties":{"state":{"type":"string","enum":["complete","incomplete"]},"residual_resources":{"type":"array","items":{"type":"string"}}},"required":["state","residual_resources"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"reproducer":{"anyOf":[{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"written"},"path":{"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["state","path","sha256"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"failed"},"path":{"type":"string"},"error":{"type":"string"}},"required":["state","path","error"],"additionalProperties":false}]},{"type":"null"}]}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"additionalProperties":false}},"evidence":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["sha256"],"additionalProperties":false},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"]},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]},"local_path":{"type":"string"}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}]},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"predicate_type":{"type":"string","minLength":1},"operation":{"type":"string","minLength":1},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"confidence":{"type":"string","enum":["observed","derived","inferred"]},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address"},"address":{"type":"string","minLength":1}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range"},"start":{"type":"string","minLength":1},"end":{"type":"string","minLength":1}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path"},"path":{"type":"string","minLength":1}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset"},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range"},"start":{"type":"integer","minimum":0,"maximum":9007199254740991},"end":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["kind","start","end"],"additionalProperties":false}]}},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false},"normalized_result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"plan_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"outcomes":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"outcome":{"type":"string","enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"]},"value":{"$ref":"#/$defs/__schema2"},"exception":{"type":"object","properties":{"name":{"type":"string"},"message":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"additionalProperties":false},"input_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"output_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"additionalProperties":false}},"comparison":{"type":"array","items":{"type":"object","properties":{"case_id":{"type":"string"},"status":{"type":"string","enum":["equal","changed","unknown"]},"left_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"right_index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["case_id","status","left_index","right_index"],"additionalProperties":false}},"stderr":{"type":"string"},"termination":{"type":"string","enum":["completed","timeout","oom","crash","cancelled","protocol_error"]},"cleanup":{"type":"object","properties":{"state":{"type":"string","enum":["complete","incomplete"]},"residual_resources":{"type":"array","items":{"type":"string"}}},"required":["state","residual_resources"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}},"reproducer":{"anyOf":[{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"written"},"path":{"type":"string"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["state","path","sha256"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"failed"},"path":{"type":"string"},"error":{"type":"string"}},"required":["state","path","error"],"additionalProperties":false}]},{"type":"null"}]}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"additionalProperties":false}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"additionalProperties":false},{"type":"null"}]}},"required":["phase","plan","source_evidence","evidence"],"additionalProperties":false,"description":"Value for replay."}},"required":["schema_version","phase","plan","transformation","transformation_evidence","evidence","replay"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":true,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"build_reconstruction_obligation_ledger","analysisOperation":null,"title":"Build Reconstruction Obligation Ledger","description":"Generate one deterministic page of a ReconstructionObligationLedger/v1 from an authenticated Evidence v2 bundle, reviewed obligations, and an explicit reconstruction manifest. Static candidates remain candidates; duplicate ownership, missing original or reconstruction cases, missing parser/type, weak verifier authority, unenumerated claims, contradictions, dependencies, and residual unknowns fail closed. Every page carries the same full-ledger closure digest and typed per-obligation diagnostics.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"evidence_bundle":{"type":"object","properties":{"bundle_version":{"type":"number","const":2,"description":"Value for bundle version."},"artifacts":{"type":"array","items":{"type":"object","properties":{"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."}},"required":["digest","format","architecture"],"additionalProperties":false},"description":"Value for artifacts."},"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false},"description":"Value for providers."},"environments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},"description":"Value for environments."},"scenarios":{"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"authority":{"type":"string","const":"controlled-replay","description":"Value for authority."}},"required":["evidence_id","operation","authority"],"additionalProperties":false},"description":"Value for scenarios."},"captures":{"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."}},"required":["evidence_id","predicate_type"],"additionalProperties":false},"description":"Value for captures."},"unknowns":{"type":"array","items":{"type":"object","properties":{"registry_version":{"type":"number","const":1,"description":"Value for registry version."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for revision."},"previous_revision_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for previous revision digest."},"revision_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for revision digest."},"scope_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for scope digest."},"question":{"type":"string","minLength":1,"maxLength":1000,"description":"Concrete unresolved question to retain for later investigation."},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"],"description":"Current lifecycle or verification status."},"severity":{"type":"string","enum":["low","medium","high","critical"],"description":"Value for severity."},"domain":{"type":"string","minLength":1,"maxLength":100,"description":"Value for domain."},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the supporting observations."},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the contradicting observations."},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}],"description":"Value for required authority."},"required_confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for required confidence."},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}],"description":"Value for id."},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for platform."},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for architecture."},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for required environment."},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200,"description":"Value for operation."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."}},"required":["operation","rationale"],"additionalProperties":false},"description":"Value for recommended probes."},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"],"description":"Value for type."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."}},"required":["type","unknown_id"],"additionalProperties":false},"description":"Value for relationships."},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified","description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"],"description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}],"description":"Value for resolution."},"mutation_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the mutation observations."}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"additionalProperties":false},"description":"Value for unknowns."},"records":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}]},"description":"Value for records."}},"required":["bundle_version","artifacts","providers","environments","scenarios","captures","unknowns","records"],"additionalProperties":false,"description":"Value for evidence bundle."},"reviewed_obligations":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for obligation id."},"obligation_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for obligation version."},"title":{"type":"string","minLength":1,"maxLength":500,"description":"Value for title."},"application_layer":{"type":"string","enum":["cli","protocol","electron","persistence","process","runtime","packaging","native-abi","application","other"],"description":"Value for application layer."},"family":{"type":"string","minLength":1,"maxLength":100,"description":"Value for family."},"target":{"type":"object","properties":{"artifact_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of artifact."},"application_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for application node id."},"semantic_node_id":{"anyOf":[{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for semantic node id."},"location":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for location."}},"required":["artifact_sha256","application_node_id","semantic_node_id","location"],"additionalProperties":false,"description":"Value for target."},"required":{"type":"boolean","description":"Value for required."},"required_case_kinds":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"]},"description":"Value for required case kinds."},"required_original_authority":{"type":"string","enum":["static","runtime","process","external"],"description":"Value for required original authority."},"required_fixture_authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for required fixture authority."},"required_verifier_authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for required verifier authority."},"requires_parser_type":{"type":"boolean","description":"Value for requires parser type."},"dependency_obligation_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for dependency obligation ids."},"residual_unknown_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for residual unknown ids."},"unavailable_authority":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for unavailable authority."},"required_next_evidence":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for required next evidence."},"disposition":{"type":"string","enum":["active","blocked","out-of-scope"],"description":"Value for disposition."},"review_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the review observations."}},"required":["obligation_id","obligation_version","title","application_layer","family","target","required","required_case_kinds","required_original_authority","required_fixture_authority","required_verifier_authority","requires_parser_type","dependency_obligation_ids","residual_unknown_ids","unavailable_authority","required_next_evidence","disposition","review_evidence_ids"],"additionalProperties":false},"description":"Value for reviewed obligations."},"manifest":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"bindings":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for obligation id."},"owner":{"type":"object","properties":{"module_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for module."},"symbol":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for symbol."},"owner_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of owner."}},"required":["module_path","symbol","owner_sha256"],"additionalProperties":false,"description":"Value for owner."},"parser_type":{"anyOf":[{"type":"object","properties":{"parser":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for parser."},"schema":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for schema."},"domain_type":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for domain type."}},"required":["parser","schema","domain_type"],"additionalProperties":false},{"type":"null"}],"description":"Value for parser type."},"original_cases":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"],"description":"Value for kind."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"location":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for location."}},"required":["kind","evidence_id","location"],"additionalProperties":false},"description":"Value for original cases."},"fixtures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"fixture_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for fixture id."},"case_kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"],"description":"Value for case kind."},"authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for authority."},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["fixture_id","case_kind","authority","evidence_ids"],"additionalProperties":false},"description":"Value for fixtures."},"verifier":{"anyOf":[{"type":"object","properties":{"verifier_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for verifier id."},"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for claim id."},"command":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for command."},"authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for authority."},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","skipped"],"description":"Current lifecycle or verification status."},"result_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the result observation."},"enumerated_obligation_ids":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for enumerated obligation ids."},"nondeterminism":{"type":"object","properties":{"mode":{"type":"string","enum":["total-order","partial-order","finite-traces"],"description":"Operation mode that selects the requested behavior."},"specification":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for specification."}},"required":["mode","specification"],"additionalProperties":false,"description":"Value for nondeterminism."}},"required":["verifier_id","claim_id","command","authority","status","result_evidence_id","enumerated_obligation_ids","nondeterminism"],"additionalProperties":false},{"type":"null"}],"description":"Value for verifier."}},"required":["obligation_id","owner","parser_type","original_cases","fixtures","verifier"],"additionalProperties":false},"description":"Value for bindings."},"contradictions":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for obligation id."},"evidence_ids":{"minItems":2,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["obligation_id","evidence_ids"],"additionalProperties":false},"description":"Value for contradictions."}},"required":["schema_version","bindings","contradictions"],"additionalProperties":false,"description":"Value for manifest."},"limits":{"type":"object","properties":{"max_obligations":{"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted obligations for this operation."}},"required":["max_obligations"],"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"page":{"type":"object","properties":{"offset":{"type":"integer","minimum":0,"maximum":10000,"description":"Zero-based index of the first result to return."},"limit":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."}},"required":["offset","limit"],"additionalProperties":false,"description":"Value for page."}},"required":["evidence_bundle","reviewed_obligations","manifest","limits","page"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"examples":[{"evidence_bundle":{"bundle_version":2,"artifacts":[],"providers":[],"environments":[],"scenarios":[],"captures":[],"unknowns":[],"records":[]},"reviewed_obligations":[],"manifest":{"schema_version":1,"bindings":[],"contradictions":[]},"limits":{"max_obligations":1000},"page":{"offset":0,"limit":50}}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema":{"type":"string","const":"ReconstructionObligationLedger"},"schema_version":{"type":"number","const":1},"ledger_id":{"type":"string","pattern":"^rol_[a-f0-9]{64}$"},"closure_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"status":{"type":"string","enum":["ready","open","failed","unknown"]},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial"]},"truncated":{"type":"boolean"},"omitted_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"max_obligations":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["status","truncated","omitted_count","max_obligations"],"additionalProperties":false},"summary":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":{"type":"integer","minimum":0,"maximum":9007199254740991},"verified":{"type":"integer","minimum":0,"maximum":9007199254740991},"required_open":{"type":"integer","minimum":0,"maximum":9007199254740991},"by_status":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["unowned","characterized","implemented","verified","contradicted","blocked","out-of-scope","unknown"]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["key","count"],"additionalProperties":false}},"by_application_layer":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["cli","protocol","electron","persistence","process","runtime","packaging","native-abi","application","other"]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["key","count"],"additionalProperties":false}},"by_evidence_authority":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["candidate","observed","reviewed","unknown"]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["key","count"],"additionalProperties":false}}},"required":["total","required","verified","required_open","by_status","by_application_layer","by_evidence_authority"],"additionalProperties":false},"reports":{"type":"object","properties":{"missing_owner_obligation_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"missing_verifier_obligation_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"contradicted_obligation_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"residual_unknown_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}}},"required":["missing_owner_obligation_ids","missing_verifier_obligation_ids","contradicted_obligation_ids","residual_unknown_ids"],"additionalProperties":false},"ownership_graph":{"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"module_path":{"type":"string","minLength":1,"maxLength":4096},"symbol":{"type":"string","minLength":1,"maxLength":1024}},"required":["obligation_id","module_path","symbol"],"additionalProperties":false}},"dependency_graph":{"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"depends_on_obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"required":["obligation_id","depends_on_obligation_id"],"additionalProperties":false}},"evidence_links":{"maxItems":100000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"page":{"type":"object","properties":{"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":100},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["offset","limit","total","returned","next_offset"],"additionalProperties":false},"obligations":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"obligation_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"title":{"type":"string","minLength":1,"maxLength":500},"origin":{"type":"string","enum":["generated","reviewed"]},"application_layer":{"type":"string","enum":["cli","protocol","electron","persistence","process","runtime","packaging","native-abi","application","other"]},"family":{"type":"string","minLength":1,"maxLength":100},"target":{"type":"object","properties":{"artifact_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"application_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}]},"semantic_node_id":{"anyOf":[{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},{"type":"null"}]},"location":{"type":"string","minLength":1,"maxLength":4096}},"required":["artifact_sha256","application_node_id","semantic_node_id","location"],"additionalProperties":false},"authority_references":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},"state":{"type":"string","enum":["candidate","observed","reviewed","unknown"]},"location":{"type":"string","minLength":1,"maxLength":4096}},"required":["evidence_id","authority","state","location"],"additionalProperties":false}},"source_state":{"type":"string","enum":["candidate","observed","reviewed","unknown"]},"observed_cases":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"]},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"location":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","evidence_id","location"],"additionalProperties":false}},"required":{"type":"boolean"},"required_case_kinds":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"]}},"required_original_authority":{"type":"string","enum":["static","runtime","process","external"]},"required_fixture_authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"]},"required_verifier_authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"]},"requires_parser_type":{"type":"boolean"},"dependency_obligation_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"residual_unknown_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"unavailable_authority":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"required_next_evidence":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096}},"binding":{"anyOf":[{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"owner":{"type":"object","properties":{"module_path":{"type":"string","minLength":1,"maxLength":4096},"symbol":{"type":"string","minLength":1,"maxLength":1024},"owner_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["module_path","symbol","owner_sha256"],"additionalProperties":false},"parser_type":{"anyOf":[{"type":"object","properties":{"parser":{"type":"string","minLength":1,"maxLength":4096},"schema":{"type":"string","minLength":1,"maxLength":4096},"domain_type":{"type":"string","minLength":1,"maxLength":4096}},"required":["parser","schema","domain_type"],"additionalProperties":false},{"type":"null"}]},"original_cases":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"]},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"location":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","evidence_id","location"],"additionalProperties":false}},"fixtures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"fixture_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"case_kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"]},"authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"]},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["fixture_id","case_kind","authority","evidence_ids"],"additionalProperties":false}},"verifier":{"anyOf":[{"type":"object","properties":{"verifier_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"command":{"type":"string","minLength":1,"maxLength":4096},"authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"]},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","skipped"]},"result_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"enumerated_obligation_ids":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"}},"nondeterminism":{"type":"object","properties":{"mode":{"type":"string","enum":["total-order","partial-order","finite-traces"]},"specification":{"type":"string","minLength":1,"maxLength":4096}},"required":["mode","specification"],"additionalProperties":false}},"required":["verifier_id","claim_id","command","authority","status","result_evidence_id","enumerated_obligation_ids","nondeterminism"],"additionalProperties":false},{"type":"null"}]}},"required":["obligation_id","owner","parser_type","original_cases","fixtures","verifier"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["unowned","characterized","implemented","verified","contradicted","blocked","out-of-scope","unknown"]},"diagnostics":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["duplicate-definition","missing-owner","ambiguous-owner","missing-parser-type","missing-original-case","weak-original-case-authority","missing-case","weak-fixture-authority","missing-verifier","verifier-does-not-enumerate","missing-verifier-result","weak-verifier-authority","verifier-failed","static-only","contradiction","contradiction-evidence-missing","residual-unknown","dependency-missing","dependency-open","unavailable-authority","blocked","out-of-scope"]},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["code","detail"],"additionalProperties":false}}},"required":["obligation_id","obligation_version","title","origin","application_layer","family","target","authority_references","source_state","observed_cases","required","required_case_kinds","required_original_authority","required_fixture_authority","required_verifier_authority","requires_parser_type","dependency_obligation_ids","residual_unknown_ids","unavailable_authority","required_next_evidence","binding","status","diagnostics"],"additionalProperties":false}}},"required":["schema","schema_version","ledger_id","closure_digest","status","coverage","summary","reports","ownership_graph","dependency_graph","evidence_links","limitations","page","obligations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"evaluate_reconstruction_readiness","analysisOperation":null,"title":"Evaluate Reconstruction Readiness","description":"Evaluate the fixed nine-stage public reconstruction journey into a deterministic ReconstructionReadinessReport/v1. Exact capability limits, provider routing, CLI/MCP status parity, bounded authority, partial-order comparison, contradictions, obligation closure, cleanup, and replay digests fail closed. Aggregate pass is emitted only when every required stage and check passes with attributable Evidence.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"identity":{"type":"object","properties":{"cli_version":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for cli version."},"server_version":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for server version."},"catalog_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for catalog digest."},"skill_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for skill digest."},"versions":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"component":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for component."},"version":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}],"description":"Value for version."},"digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for digest."},"state":{"type":"string","enum":["current","stale","unavailable"],"description":"Value for state."},"remediation":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}],"description":"Value for remediation."}},"required":["component","version","digest","state","remediation"],"additionalProperties":false},"description":"Value for versions."},"providers":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"provider_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Exact deep-analysis provider ID, or automatic selection when omitted."},"version":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}],"description":"Value for version."},"digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for digest."},"state":{"type":"string","enum":["available","unavailable","incompatible","broken-host"],"description":"Value for state."},"reason_code":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},{"type":"null"}],"description":"Value for reason code."}},"required":["provider_id","version","digest","state","reason_code"],"additionalProperties":false},"description":"Value for providers."}},"required":["cli_version","server_version","catalog_digest","skill_digest","versions","providers"],"additionalProperties":false,"description":"Value for identity."},"client":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":4096,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for version."},"negotiated_capabilities":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for negotiated capabilities."}},"required":["name","version","negotiated_capabilities"],"additionalProperties":false,"description":"Value for client."},"capabilities":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","properties":{"capability_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for capability id."},"available":{"type":"boolean","description":"Value for available."},"bounded":{"type":"boolean","description":"Value for bounded."},"side_effect":{"type":"string","enum":["none","reads-target","launches-process","writes-workspace","network-observation"],"description":"Value for side effect."},"authority_scopes":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for authority scopes."},"limits":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Exact name used by this operation."},"value":{"type":"number","minimum":0,"description":"Value for value."},"unit":{"type":"string","enum":["count","bytes","milliseconds","ratio"],"description":"Value for unit."}},"required":["name","value","unit"],"additionalProperties":false},"description":"Bounded resource-consumption and result-size limits for this operation."},"unavailable_reason":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}],"description":"Value for unavailable reason."}},"required":["capability_id","available","bounded","side_effect","authority_scopes","limits","unavailable_reason"],"additionalProperties":false},"description":"Value for capabilities."},"fixtures":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"fixture_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for fixture id."},"kind":{"type":"string","enum":["native","javascript-cli","electron","incomplete-reconstruction","broken-runtime"],"description":"Value for kind."},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of artifact."},"environment_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for environment id."},"deliberate_faults":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for deliberate faults."}},"required":["fixture_id","kind","artifact_sha256","environment_id","deliberate_faults"],"additionalProperties":false},"description":"Value for fixtures."},"workflow_candidates":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","properties":{"fixture_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for fixture id."},"workflow_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for workflow id."},"provider_id":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},{"type":"null"}],"description":"Exact deep-analysis provider ID, or automatic selection when omitted."},"selected":{"type":"boolean","description":"Value for selected."},"invoked":{"type":"boolean","description":"Value for invoked."},"compatibility":{"type":"string","enum":["compatible","incompatible","unavailable"],"description":"Value for compatibility."},"reason_code":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for reason code."}},"required":["fixture_id","workflow_id","provider_id","selected","invoked","compatibility","reason_code"],"additionalProperties":false},"description":"Value for workflow candidates."},"grants":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"grant_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for grant id."},"scope":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for scope."},"decision":{"type":"string","enum":["granted","denied","cancelled","restart-required"],"description":"Value for decision."},"launched_process":{"type":"boolean","description":"Value for launched process."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["grant_id","scope","decision","launched_process","evidence_ids"],"additionalProperties":false},"description":"Value for grants."},"evidence_bundle":{"type":"object","properties":{"bundle_version":{"type":"number","const":2,"description":"Value for bundle version."},"artifacts":{"type":"array","items":{"type":"object","properties":{"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."}},"required":["digest","format","architecture"],"additionalProperties":false},"description":"Value for artifacts."},"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false},"description":"Value for providers."},"environments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},"description":"Value for environments."},"scenarios":{"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"authority":{"type":"string","const":"controlled-replay","description":"Value for authority."}},"required":["evidence_id","operation","authority"],"additionalProperties":false},"description":"Value for scenarios."},"captures":{"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."}},"required":["evidence_id","predicate_type"],"additionalProperties":false},"description":"Value for captures."},"unknowns":{"type":"array","items":{"type":"object","properties":{"registry_version":{"type":"number","const":1,"description":"Value for registry version."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for revision."},"previous_revision_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for previous revision digest."},"revision_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for revision digest."},"scope_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for scope digest."},"question":{"type":"string","minLength":1,"maxLength":1000,"description":"Concrete unresolved question to retain for later investigation."},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"],"description":"Current lifecycle or verification status."},"severity":{"type":"string","enum":["low","medium","high","critical"],"description":"Value for severity."},"domain":{"type":"string","minLength":1,"maxLength":100,"description":"Value for domain."},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the supporting observations."},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the contradicting observations."},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}],"description":"Value for required authority."},"required_confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for required confidence."},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}],"description":"Value for id."},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for platform."},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for architecture."},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for required environment."},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200,"description":"Value for operation."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."}},"required":["operation","rationale"],"additionalProperties":false},"description":"Value for recommended probes."},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"],"description":"Value for type."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."}},"required":["type","unknown_id"],"additionalProperties":false},"description":"Value for relationships."},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified","description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"],"description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}],"description":"Value for resolution."},"mutation_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the mutation observations."}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"additionalProperties":false},"description":"Value for unknowns."},"records":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}]},"description":"Value for records."}},"required":["bundle_version","artifacts","providers","environments","scenarios","captures","unknowns","records"],"additionalProperties":false,"description":"Value for evidence bundle."},"comparisons":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"comparison_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for comparison id."},"verdict":{"type":"string","enum":["equivalent","different","unknown"],"description":"Value for verdict."},"schedule_semantics":{"type":"string","enum":["total-order","partial-order","finite-traces"],"description":"Value for schedule semantics."},"concurrent":{"type":"boolean","description":"Value for concurrent."},"truncated":{"type":"boolean","description":"Value for truncated."},"unavailable_authority":{"type":"boolean","description":"Value for unavailable authority."},"unstable":{"type":"boolean","description":"Value for unstable."},"deliberate_divergence_ref":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}],"description":"Value for deliberate divergence ref."},"divergence_refs":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for divergence refs."},"contradiction_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for contradiction ids."},"evidence_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["comparison_id","verdict","schedule_semantics","concurrent","truncated","unavailable_authority","unstable","deliberate_divergence_ref","divergence_refs","contradiction_ids","evidence_ids"],"additionalProperties":false},"description":"Validated comparison Evidence records to aggregate."},"contradictions":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"contradiction_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for contradiction id."},"declared_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of declared."},"observed_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of observed."},"policy":{"type":"string","const":"record-and-continue","description":"Value for policy."},"affected_comparison_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for affected comparison ids."},"evidence_ids":{"minItems":2,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["contradiction_id","declared_sha256","observed_sha256","policy","affected_comparison_ids","evidence_ids"],"additionalProperties":false},"description":"Value for contradictions."},"obligation_ledger":{"type":"object","properties":{"schema":{"type":"string","const":"ReconstructionObligationLedger","description":"Value for schema."},"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"ledger_id":{"type":"string","pattern":"^rol_[a-f0-9]{64}$","description":"Value for ledger id."},"closure_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for closure digest."},"status":{"type":"string","enum":["ready","open","failed","unknown"],"description":"Current lifecycle or verification status."},"coverage":{"type":"object","properties":{"status":{"type":"string","enum":["complete","partial"],"description":"Current lifecycle or verification status."},"truncated":{"type":"boolean","description":"Value for truncated."},"omitted_count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for omitted count."},"max_obligations":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted obligations for this operation."}},"required":["status","truncated","omitted_count","max_obligations"],"additionalProperties":false,"description":"Exact reconstruction-coverage commitment to verify."},"summary":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for total."},"required":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for required."},"verified":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for verified."},"required_open":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for required open."},"by_status":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["unowned","characterized","implemented","verified","contradicted","blocked","out-of-scope","unknown"],"description":"Value for key."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for count."}},"required":["key","count"],"additionalProperties":false},"description":"Value for by status."},"by_application_layer":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["cli","protocol","electron","persistence","process","runtime","packaging","native-abi","application","other"],"description":"Value for key."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for count."}},"required":["key","count"],"additionalProperties":false},"description":"Value for by application layer."},"by_evidence_authority":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["candidate","observed","reviewed","unknown"],"description":"Value for key."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for count."}},"required":["key","count"],"additionalProperties":false},"description":"Value for by evidence authority."}},"required":["total","required","verified","required_open","by_status","by_application_layer","by_evidence_authority"],"additionalProperties":false,"description":"Concise evidence-backed summary of the result."},"reports":{"type":"object","properties":{"missing_owner_obligation_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for missing owner obligation ids."},"missing_verifier_obligation_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for missing verifier obligation ids."},"contradicted_obligation_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for contradicted obligation ids."},"residual_unknown_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for residual unknown ids."}},"required":["missing_owner_obligation_ids","missing_verifier_obligation_ids","contradicted_obligation_ids","residual_unknown_ids"],"additionalProperties":false,"description":"Value for reports."},"ownership_graph":{"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for obligation id."},"module_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for module."},"symbol":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for symbol."}},"required":["obligation_id","module_path","symbol"],"additionalProperties":false},"description":"Value for ownership graph."},"dependency_graph":{"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for obligation id."},"depends_on_obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for depends on obligation id."}},"required":["obligation_id","depends_on_obligation_id"],"additionalProperties":false},"description":"Value for dependency graph."},"obligations":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for obligation id."},"obligation_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for obligation version."},"title":{"type":"string","minLength":1,"maxLength":500,"description":"Value for title."},"origin":{"type":"string","enum":["generated","reviewed"],"description":"Value for origin."},"application_layer":{"type":"string","enum":["cli","protocol","electron","persistence","process","runtime","packaging","native-abi","application","other"],"description":"Value for application layer."},"family":{"type":"string","minLength":1,"maxLength":100,"description":"Value for family."},"target":{"type":"object","properties":{"artifact_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of artifact."},"application_node_id":{"anyOf":[{"type":"string","pattern":"^jag_node_[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for application node id."},"semantic_node_id":{"anyOf":[{"type":"string","pattern":"^jsrg_node_[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for semantic node id."},"location":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for location."}},"required":["artifact_sha256","application_node_id","semantic_node_id","location"],"additionalProperties":false,"description":"Value for target."},"authority_references":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"state":{"type":"string","enum":["candidate","observed","reviewed","unknown"],"description":"Value for state."},"location":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for location."}},"required":["evidence_id","authority","state","location"],"additionalProperties":false},"description":"Value for authority references."},"source_state":{"type":"string","enum":["candidate","observed","reviewed","unknown"],"description":"Value for source state."},"observed_cases":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"],"description":"Value for kind."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"location":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for location."}},"required":["kind","evidence_id","location"],"additionalProperties":false},"description":"Value for observed cases."},"required":{"type":"boolean","description":"Value for required."},"required_case_kinds":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"]},"description":"Value for required case kinds."},"required_original_authority":{"type":"string","enum":["static","runtime","process","external"],"description":"Value for required original authority."},"required_fixture_authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for required fixture authority."},"required_verifier_authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for required verifier authority."},"requires_parser_type":{"type":"boolean","description":"Value for requires parser type."},"dependency_obligation_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for dependency obligation ids."},"residual_unknown_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for residual unknown ids."},"unavailable_authority":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for unavailable authority."},"required_next_evidence":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for required next evidence."},"binding":{"anyOf":[{"type":"object","properties":{"obligation_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for obligation id."},"owner":{"type":"object","properties":{"module_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for module."},"symbol":{"type":"string","minLength":1,"maxLength":1024,"description":"Value for symbol."},"owner_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of owner."}},"required":["module_path","symbol","owner_sha256"],"additionalProperties":false,"description":"Value for owner."},"parser_type":{"anyOf":[{"type":"object","properties":{"parser":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for parser."},"schema":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for schema."},"domain_type":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for domain type."}},"required":["parser","schema","domain_type"],"additionalProperties":false},{"type":"null"}],"description":"Value for parser type."},"original_cases":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"],"description":"Value for kind."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"location":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for location."}},"required":["kind","evidence_id","location"],"additionalProperties":false},"description":"Value for original cases."},"fixtures":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"fixture_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for fixture id."},"case_kind":{"type":"string","enum":["positive","negative","malformed","cancellation","teardown"],"description":"Value for case kind."},"authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for authority."},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["fixture_id","case_kind","authority","evidence_ids"],"additionalProperties":false},"description":"Value for fixtures."},"verifier":{"anyOf":[{"type":"object","properties":{"verifier_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for verifier id."},"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for claim id."},"command":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for command."},"authority":{"type":"string","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"description":"Value for authority."},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","skipped"],"description":"Current lifecycle or verification status."},"result_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the result observation."},"enumerated_obligation_ids":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for enumerated obligation ids."},"nondeterminism":{"type":"object","properties":{"mode":{"type":"string","enum":["total-order","partial-order","finite-traces"],"description":"Operation mode that selects the requested behavior."},"specification":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for specification."}},"required":["mode","specification"],"additionalProperties":false,"description":"Value for nondeterminism."}},"required":["verifier_id","claim_id","command","authority","status","result_evidence_id","enumerated_obligation_ids","nondeterminism"],"additionalProperties":false},{"type":"null"}],"description":"Value for verifier."}},"required":["obligation_id","owner","parser_type","original_cases","fixtures","verifier"],"additionalProperties":false},{"type":"null"}],"description":"Value for binding."},"status":{"type":"string","enum":["unowned","characterized","implemented","verified","contradicted","blocked","out-of-scope","unknown"],"description":"Current lifecycle or verification status."},"diagnostics":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["duplicate-definition","missing-owner","ambiguous-owner","missing-parser-type","missing-original-case","weak-original-case-authority","missing-case","weak-fixture-authority","missing-verifier","verifier-does-not-enumerate","missing-verifier-result","weak-verifier-authority","verifier-failed","static-only","contradiction","contradiction-evidence-missing","residual-unknown","dependency-missing","dependency-open","unavailable-authority","blocked","out-of-scope"],"description":"Value for code."},"detail":{"type":"string","minLength":1,"maxLength":4096,"description":"Requested response detail level."}},"required":["code","detail"],"additionalProperties":false},"description":"Value for diagnostics."}},"required":["obligation_id","obligation_version","title","origin","application_layer","family","target","authority_references","source_state","observed_cases","required","required_case_kinds","required_original_authority","required_fixture_authority","required_verifier_authority","requires_parser_type","dependency_obligation_ids","residual_unknown_ids","unavailable_authority","required_next_evidence","binding","status","diagnostics"],"additionalProperties":false},"description":"Value for obligations."},"evidence_links":{"maxItems":100000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"limitations":{"maxItems":1000,"type":"array","items":{"type":"string","minLength":1,"maxLength":4096},"description":"Value for limitations."}},"required":["schema","schema_version","ledger_id","closure_digest","status","coverage","summary","reports","ownership_graph","dependency_graph","obligations","evidence_links","limitations"],"additionalProperties":false,"description":"Value for obligation ledger."},"operation_outcomes":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for sequence."},"operation":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for operation."},"surface":{"type":"string","enum":["cli","mcp"],"description":"Value for surface."},"call_kind":{"type":"string","enum":["valid","malformed","over-limit","incompatible-provider","setup","permission","operation"],"description":"Value for call kind."},"expected_success":{"type":"boolean","description":"Expected success used to reject stale or mismatched input."},"cli_exit_code":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Value for cli exit code."},"mcp_status":{"anyOf":[{"type":"string","enum":["success","non-success"]},{"type":"null"}],"description":"Value for mcp status."},"error_code":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},{"type":"null"}],"description":"Value for error code."},"recovered":{"type":"boolean","description":"Value for recovered."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["sequence","operation","surface","call_kind","expected_success","cli_exit_code","mcp_status","error_code","recovered","evidence_ids"],"additionalProperties":false},"description":"Value for operation outcomes."},"cleanup":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"run_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for run id."},"cancelled":{"type":"boolean","description":"Value for cancelled."},"owned_resources_remaining":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for owned resources remaining."},"diagnostic_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the diagnostic observations."}},"required":["run_id","cancelled","owned_resources_remaining","diagnostic_evidence_ids"],"additionalProperties":false},"description":"Value for cleanup."},"closure_history":{"minItems":2,"maxItems":1000,"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for sequence."},"ledger_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for ledger digest."},"status":{"type":"string","enum":["ready","open","failed","unknown"],"description":"Current lifecycle or verification status."},"required_open":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for required open."},"newly_verified_obligation_ids":{"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for newly verified obligation ids."},"evidence_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["sequence","ledger_digest","status","required_open","newly_verified_obligation_ids","evidence_ids"],"additionalProperties":false},"description":"Value for closure history."},"delegation_checks":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"object","properties":{"candidate_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for candidate id."},"delegates_to_authority":{"type":"boolean","description":"Value for delegates to authority."},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["candidate_id","delegates_to_authority","evidence_ids"],"additionalProperties":false},"description":"Value for delegation checks."},"replay":{"type":"object","properties":{"expected_source_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Expected source digest used to reject stale or mismatched input."},"deterministic":{"type":"boolean","description":"Value for deterministic."},"tamper_detected":{"type":"boolean","description":"Value for tamper detected."},"stale_input_detected":{"type":"boolean","description":"Value for stale input detected."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["expected_source_digest","deterministic","tamper_detected","stale_input_detected","evidence_ids"],"additionalProperties":false,"description":"Value for replay."},"stages":{"minItems":9,"maxItems":9,"type":"array","items":{"type":"object","properties":{"stage_id":{"type":"string","enum":["discover-classify","diagnose-environment","acquire-authority","static-analysis","reactive-scenarios","compare-authority-candidate","preserve-contradictions","verify-reconstruction-closure","export-replay"],"description":"Value for stage id."},"required":{"type":"boolean","description":"Value for required."},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","truncated","skipped"],"description":"Current lifecycle or verification status."},"capability_issue":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},{"type":"null"}],"description":"Value for capability issue."},"next_action":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}],"description":"Value for next action."},"evidence_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."},"checks":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"check_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for check id."},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","truncated","skipped"],"description":"Current lifecycle or verification status."},"detail":{"type":"string","minLength":1,"maxLength":4096,"description":"Requested response detail level."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["check_id","status","detail","evidence_ids"],"additionalProperties":false},"description":"Value for checks."}},"required":["stage_id","required","status","capability_issue","next_action","evidence_ids","checks"],"additionalProperties":false},"description":"Value for stages."}},"required":["schema_version","identity","client","capabilities","fixtures","workflow_candidates","grants","evidence_bundle","comparisons","contradictions","obligation_ledger","operation_outcomes","cleanup","closure_history","delegation_checks","replay","stages"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"allOf":[{"properties":{"stages":{"description":"Complete reconstruction-readiness stage set","allOf":[{"contains":{"type":"object","properties":{"stage_id":{"const":"discover-classify","description":"Readiness stage identifier"}},"required":["stage_id"],"description":"One reconstruction-readiness stage"},"minContains":1,"maxContains":1},{"contains":{"type":"object","properties":{"stage_id":{"const":"diagnose-environment","description":"Readiness stage identifier"}},"required":["stage_id"],"description":"One reconstruction-readiness stage"},"minContains":1,"maxContains":1},{"contains":{"type":"object","properties":{"stage_id":{"const":"acquire-authority","description":"Readiness stage identifier"}},"required":["stage_id"],"description":"One reconstruction-readiness stage"},"minContains":1,"maxContains":1},{"contains":{"type":"object","properties":{"stage_id":{"const":"static-analysis","description":"Readiness stage identifier"}},"required":["stage_id"],"description":"One reconstruction-readiness stage"},"minContains":1,"maxContains":1},{"contains":{"type":"object","properties":{"stage_id":{"const":"reactive-scenarios","description":"Readiness stage identifier"}},"required":["stage_id"],"description":"One reconstruction-readiness stage"},"minContains":1,"maxContains":1},{"contains":{"type":"object","properties":{"stage_id":{"const":"compare-authority-candidate","description":"Readiness stage identifier"}},"required":["stage_id"],"description":"One reconstruction-readiness stage"},"minContains":1,"maxContains":1},{"contains":{"type":"object","properties":{"stage_id":{"const":"preserve-contradictions","description":"Readiness stage identifier"}},"required":["stage_id"],"description":"One reconstruction-readiness stage"},"minContains":1,"maxContains":1},{"contains":{"type":"object","properties":{"stage_id":{"const":"verify-reconstruction-closure","description":"Readiness stage identifier"}},"required":["stage_id"],"description":"One reconstruction-readiness stage"},"minContains":1,"maxContains":1},{"contains":{"type":"object","properties":{"stage_id":{"const":"export-replay","description":"Readiness stage identifier"}},"required":["stage_id"],"description":"One reconstruction-readiness stage"},"minContains":1,"maxContains":1}]}}}],"examples":[{"schema_version":1,"identity":{"cli_version":"2.4.0","server_version":"2.4.0","catalog_digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","skill_digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","versions":[{"component":"rea-cli","version":"2.4.0","digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","state":"current","remediation":null},{"component":"rea-server","version":"2.3.0","digest":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","state":"stale","remediation":"Restart the connected MCP server."},{"component":"rea-server","version":"2.4.0","digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","state":"current","remediation":null}],"providers":[{"provider_id":"javascript-application","version":"1","digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","state":"available","reason_code":null},{"provider_id":"broken-runtime-probe","version":null,"digest":null,"state":"broken-host","reason_code":"host-runtime-linker-failure"}]},"client":{"name":"synthetic-mcp-client","version":"1","negotiated_capabilities":["elicitation","progress","resources"]},"capabilities":[{"capability_id":"analyze-javascript-application","available":true,"bounded":true,"side_effect":"reads-target","authority_scopes":["investigation-input"],"limits":[{"name":"max-ast-nodes","value":2000000,"unit":"count"}],"unavailable_reason":null}],"fixtures":[{"fixture_id":"fixture.native","kind":"native","artifact_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","environment_id":"environment.synthetic","deliberate_faults":["fault.native"]},{"fixture_id":"fixture.javascript-cli","kind":"javascript-cli","artifact_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","environment_id":"environment.synthetic","deliberate_faults":["fault.javascript-cli"]},{"fixture_id":"fixture.electron","kind":"electron","artifact_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","environment_id":"environment.synthetic","deliberate_faults":["fault.electron"]},{"fixture_id":"fixture.incomplete-reconstruction","kind":"incomplete-reconstruction","artifact_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","environment_id":"environment.synthetic","deliberate_faults":["fault.incomplete-reconstruction"]},{"fixture_id":"fixture.broken-runtime","kind":"broken-runtime","artifact_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","environment_id":"environment.synthetic","deliberate_faults":["fault.broken-runtime"]}],"workflow_candidates":[{"fixture_id":"fixture.native","workflow_id":"workflow.native","provider_id":"provider.native","selected":true,"invoked":true,"compatibility":"compatible","reason_code":"compatible-artifact-family"},{"fixture_id":"fixture.javascript-cli","workflow_id":"workflow.javascript-cli","provider_id":"provider.javascript-cli","selected":true,"invoked":true,"compatibility":"compatible","reason_code":"compatible-artifact-family"},{"fixture_id":"fixture.electron","workflow_id":"workflow.electron","provider_id":"provider.electron","selected":true,"invoked":true,"compatibility":"compatible","reason_code":"compatible-artifact-family"},{"fixture_id":"fixture.incomplete-reconstruction","workflow_id":"workflow.incomplete-reconstruction","provider_id":"provider.incomplete-reconstruction","selected":true,"invoked":true,"compatibility":"compatible","reason_code":"compatible-artifact-family"},{"fixture_id":"fixture.broken-runtime","workflow_id":"workflow.broken-runtime","provider_id":null,"selected":true,"invoked":true,"compatibility":"compatible","reason_code":"compatible-artifact-family"}],"grants":[{"grant_id":"grant.denied","scope":"process-capture","decision":"denied","launched_process":false,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"grant_id":"grant.session","scope":"process-capture","decision":"granted","launched_process":true,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}],"evidence_bundle":{"bundle_version":2,"artifacts":[],"providers":[{"id":"rea-readiness-fixture","name":"REA readiness fixture","version":"1"}],"environments":[],"scenarios":[{"evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","operation":"run_reconstruction_readiness_fixture","authority":"controlled-replay"},{"evidence_id":"ev_b05c548cf5d0ba30bb6043ec26e583b551e793c636b747e1ed8630c511439f91","operation":"run_reconstruction_readiness_fixture","authority":"controlled-replay"}],"captures":[],"unknowns":[],"records":[{"schema_version":2,"evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","subject":null,"provider":{"id":"rea-readiness-fixture","name":"REA readiness fixture","version":"1"},"predicate_type":"rea.reconstruction-readiness-fixture/v1","operation":"run_reconstruction_readiness_fixture","parameters":{"variant":"authority"},"raw_result":null,"normalized_result":{"passed":true,"variant":"authority"},"confidence":"observed","authority":"controlled-replay","environment":null,"limitations":["Artifact identity is unavailable for this observation."],"locations":[],"evidence_links":[]},{"schema_version":2,"evidence_id":"ev_b05c548cf5d0ba30bb6043ec26e583b551e793c636b747e1ed8630c511439f91","subject":null,"provider":{"id":"rea-readiness-fixture","name":"REA readiness fixture","version":"1"},"predicate_type":"rea.reconstruction-readiness-fixture/v1","operation":"run_reconstruction_readiness_fixture","parameters":{"variant":"contradiction"},"raw_result":null,"normalized_result":{"passed":true,"variant":"contradiction"},"confidence":"observed","authority":"controlled-replay","environment":null,"limitations":["Artifact identity is unavailable for this observation."],"locations":[],"evidence_links":[]}]},"comparisons":[{"comparison_id":"comparison.concurrent","verdict":"equivalent","schedule_semantics":"partial-order","concurrent":true,"truncated":false,"unavailable_authority":false,"unstable":false,"deliberate_divergence_ref":null,"divergence_refs":[],"contradiction_ids":[],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"comparison_id":"comparison.divergence","verdict":"different","schedule_semantics":"finite-traces","concurrent":true,"truncated":false,"unavailable_authority":false,"unstable":false,"deliberate_divergence_ref":"/events/primary","divergence_refs":["/events/primary"],"contradiction_ids":[],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"comparison_id":"comparison.contradicted","verdict":"unknown","schedule_semantics":"finite-traces","concurrent":false,"truncated":false,"unavailable_authority":false,"unstable":false,"deliberate_divergence_ref":null,"divergence_refs":[],"contradiction_ids":["contradiction.artifact"],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}],"contradictions":[{"contradiction_id":"contradiction.artifact","declared_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","observed_sha256":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","policy":"record-and-continue","affected_comparison_ids":["comparison.contradicted"],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","ev_b05c548cf5d0ba30bb6043ec26e583b551e793c636b747e1ed8630c511439f91"]}],"obligation_ledger":{"schema":"ReconstructionObligationLedger","schema_version":1,"ledger_id":"rol_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","closure_digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","status":"ready","coverage":{"status":"complete","truncated":false,"omitted_count":0,"max_obligations":100},"summary":{"total":1,"required":1,"verified":1,"required_open":0,"by_status":[{"key":"unowned","count":0},{"key":"characterized","count":0},{"key":"implemented","count":0},{"key":"verified","count":1},{"key":"contradicted","count":0},{"key":"blocked","count":0},{"key":"out-of-scope","count":0},{"key":"unknown","count":0}],"by_application_layer":[{"key":"cli","count":0},{"key":"protocol","count":0},{"key":"electron","count":0},{"key":"persistence","count":0},{"key":"process","count":1},{"key":"runtime","count":0},{"key":"packaging","count":0},{"key":"native-abi","count":0},{"key":"application","count":0},{"key":"other","count":0}],"by_evidence_authority":[{"key":"candidate","count":0},{"key":"observed","count":1},{"key":"reviewed","count":0},{"key":"unknown","count":0}]},"reports":{"missing_owner_obligation_ids":[],"missing_verifier_obligation_ids":[],"contradicted_obligation_ids":[],"residual_unknown_ids":[]},"ownership_graph":[{"obligation_id":"obl.readiness","module_path":"src/readiness.ts","symbol":"runReadiness"}],"dependency_graph":[],"obligations":[{"obligation_id":"obl.readiness","obligation_version":1,"title":"Preserve the packaged readiness fixture lifecycle","origin":"reviewed","application_layer":"process","family":"packaged-process-lifecycle","target":{"artifact_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","application_node_id":null,"semantic_node_id":null,"location":"/fixture"},"authority_references":[{"evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","authority":"controlled-replay","state":"observed","location":"/fixture"}],"source_state":"observed","observed_cases":[{"kind":"positive","evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","location":"/original/positive"},{"kind":"negative","evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","location":"/original/negative"},{"kind":"malformed","evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","location":"/original/malformed"},{"kind":"cancellation","evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","location":"/original/cancellation"},{"kind":"teardown","evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","location":"/original/teardown"}],"required":true,"required_case_kinds":["positive","negative","malformed","cancellation","teardown"],"required_original_authority":"process","required_fixture_authority":"packaged-process","required_verifier_authority":"packaged-process","requires_parser_type":false,"dependency_obligation_ids":[],"residual_unknown_ids":[],"unavailable_authority":[],"required_next_evidence":[],"binding":{"obligation_id":"obl.readiness","owner":{"module_path":"src/readiness.ts","symbol":"runReadiness","owner_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"parser_type":null,"original_cases":[{"kind":"positive","evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","location":"/original/positive"},{"kind":"negative","evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","location":"/original/negative"},{"kind":"malformed","evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","location":"/original/malformed"},{"kind":"cancellation","evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","location":"/original/cancellation"},{"kind":"teardown","evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","location":"/original/teardown"}],"fixtures":[{"fixture_id":"fixture.positive","case_kind":"positive","authority":"packaged-process","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"fixture_id":"fixture.negative","case_kind":"negative","authority":"packaged-process","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"fixture_id":"fixture.malformed","case_kind":"malformed","authority":"packaged-process","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"fixture_id":"fixture.cancellation","case_kind":"cancellation","authority":"packaged-process","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"fixture_id":"fixture.teardown","case_kind":"teardown","authority":"packaged-process","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}],"verifier":{"verifier_id":"verifier.readiness","claim_id":"claim.readiness","command":"npm run verify:readiness","authority":"packaged-process","status":"pass","result_evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","enumerated_obligation_ids":["obl.readiness"],"nondeterminism":{"mode":"partial-order","specification":"Startup precedes teardown."}}},"status":"verified","diagnostics":[]}],"evidence_links":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"limitations":[]},"operation_outcomes":[{"sequence":0,"operation":"inspect-artifact","surface":"cli","call_kind":"valid","expected_success":true,"cli_exit_code":0,"mcp_status":null,"error_code":null,"recovered":false,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"sequence":1,"operation":"inspect-artifact","surface":"mcp","call_kind":"valid","expected_success":true,"cli_exit_code":null,"mcp_status":"success","error_code":null,"recovered":false,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"sequence":2,"operation":"capture-process","surface":"cli","call_kind":"permission","expected_success":false,"cli_exit_code":2,"mcp_status":null,"error_code":"permission-required","recovered":true,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"sequence":3,"operation":"capture-process","surface":"mcp","call_kind":"permission","expected_success":false,"cli_exit_code":null,"mcp_status":"non-success","error_code":"permission-required","recovered":true,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}],"cleanup":[{"run_id":"run.cancelled","cancelled":true,"owned_resources_remaining":0,"diagnostic_evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}],"closure_history":[{"sequence":0,"ledger_digest":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","status":"open","required_open":1,"newly_verified_obligation_ids":[],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"sequence":1,"ledger_digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","status":"ready","required_open":0,"newly_verified_obligation_ids":["obl.readiness"],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}],"delegation_checks":[{"candidate_id":"candidate.reconstructed","delegates_to_authority":false,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}],"replay":{"expected_source_digest":null,"deterministic":true,"tamper_detected":true,"stale_input_detected":true,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},"stages":[{"stage_id":"discover-classify","required":true,"status":"pass","capability_issue":null,"next_action":null,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"checks":[{"check_id":"target-free-start","status":"pass","detail":"Synthetic conformance proved target-free-start.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"artifact-inventory","status":"pass","detail":"Synthetic conformance proved artifact-inventory.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"compatible-workflow-selected","status":"pass","detail":"Synthetic conformance proved compatible-workflow-selected.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"limits-visible","status":"pass","detail":"Synthetic conformance proved limits-visible.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}]},{"stage_id":"diagnose-environment","required":true,"status":"pass","capability_issue":null,"next_action":null,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"checks":[{"check_id":"broken-runtime-distinguished","status":"pass","detail":"Synthetic conformance proved broken-runtime-distinguished.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"version-skew-detected","status":"pass","detail":"Synthetic conformance proved version-skew-detected.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"revision-changed-after-recovery","status":"pass","detail":"Synthetic conformance proved revision-changed-after-recovery.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}]},{"stage_id":"acquire-authority","required":true,"status":"pass","capability_issue":null,"next_action":null,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"checks":[{"check_id":"missing-scope-reported","status":"pass","detail":"Synthetic conformance proved missing-scope-reported.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"narrow-grant-resumed","status":"pass","detail":"Synthetic conformance proved narrow-grant-resumed.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"expansion-reprompted","status":"pass","detail":"Synthetic conformance proved expansion-reprompted.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"denial-launched-nothing","status":"pass","detail":"Synthetic conformance proved denial-launched-nothing.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}]},{"stage_id":"static-analysis","required":true,"status":"pass","capability_issue":null,"next_action":null,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"checks":[{"check_id":"native-routed","status":"pass","detail":"Synthetic conformance proved native-routed.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"javascript-routed","status":"pass","detail":"Synthetic conformance proved javascript-routed.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"unknowns-preserved","status":"pass","detail":"Synthetic conformance proved unknowns-preserved.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}]},{"stage_id":"reactive-scenarios","required":true,"status":"pass","capability_issue":null,"next_action":null,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"checks":[{"check_id":"predicate-driven","status":"pass","detail":"Synthetic conformance proved predicate-driven.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"descendant-settled","status":"pass","detail":"Synthetic conformance proved descendant-settled.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"electron-correlated","status":"pass","detail":"Synthetic conformance proved electron-correlated.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"cancel-cleanup-preserved-evidence","status":"pass","detail":"Synthetic conformance proved cancel-cleanup-preserved-evidence.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}]},{"stage_id":"compare-authority-candidate","required":true,"status":"pass","capability_issue":null,"next_action":null,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"checks":[{"check_id":"partial-order-accepted","status":"pass","detail":"Synthetic conformance proved partial-order-accepted.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"divergence-localized","status":"pass","detail":"Synthetic conformance proved divergence-localized.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"incomplete-is-unknown","status":"pass","detail":"Synthetic conformance proved incomplete-is-unknown.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}]},{"stage_id":"preserve-contradictions","required":true,"status":"pass","capability_issue":null,"next_action":null,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"checks":[{"check_id":"record-and-continue","status":"pass","detail":"Synthetic conformance proved record-and-continue.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"affected-equivalence-blocked","status":"pass","detail":"Synthetic conformance proved affected-equivalence-blocked.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"unaffected-comparison-continued","status":"pass","detail":"Synthetic conformance proved unaffected-comparison-continued.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}]},{"stage_id":"verify-reconstruction-closure","required":true,"status":"pass","capability_issue":null,"next_action":null,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"checks":[{"check_id":"incomplete-detected","status":"pass","detail":"Synthetic conformance proved incomplete-detected.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"incremental-verifier-closure","status":"pass","detail":"Synthetic conformance proved incremental-verifier-closure.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"delegation-rejected","status":"pass","detail":"Synthetic conformance proved delegation-rejected.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}]},{"stage_id":"export-replay","required":true,"status":"pass","capability_issue":null,"next_action":null,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"checks":[{"check_id":"cli-mcp-parity","status":"pass","detail":"Synthetic conformance proved cli-mcp-parity.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"failure-status-parity","status":"pass","detail":"Synthetic conformance proved failure-status-parity.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"deterministic-replay","status":"pass","detail":"Synthetic conformance proved deterministic-replay.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"tamper-detected","status":"pass","detail":"Synthetic conformance proved tamper-detected.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]},{"check_id":"stale-input-detected","status":"pass","detail":"Synthetic conformance proved stale-input-detected.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}]}]}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema":{"type":"string","const":"ReconstructionReadinessReport"},"schema_version":{"type":"number","const":1},"report_id":{"type":"string","pattern":"^rr_[a-f0-9]{64}$"},"source_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"report_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","truncated","skipped"]},"summary":{"type":"object","properties":{"stages":{"type":"integer","minimum":0,"maximum":9007199254740991},"required_stages":{"type":"integer","minimum":0,"maximum":9007199254740991},"passed_required_stages":{"type":"integer","minimum":0,"maximum":9007199254740991},"findings":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed_findings":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown_findings":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["stages","required_stages","passed_required_stages","findings","failed_findings","unknown_findings"],"additionalProperties":false},"metrics":{"type":"object","properties":{"first_valid_workflow_selection_rate":{"type":"number","minimum":0,"maximum":1},"malformed_or_over_limit_call_rate":{"type":"number","minimum":0,"maximum":1},"incompatible_provider_invocations":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed_calls_before_prerequisites":{"type":"integer","minimum":0,"maximum":9007199254740991},"recovery_rate":{"type":"number","minimum":0,"maximum":1},"divergence_localization_precision":{"type":"number","minimum":0,"maximum":1},"false_equivalence_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"unowned_obligation_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"cleanup_leak_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"nondeterministic_replay_count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["first_valid_workflow_selection_rate","malformed_or_over_limit_call_rate","incompatible_provider_invocations","failed_calls_before_prerequisites","recovery_rate","divergence_localization_precision","false_equivalence_count","unowned_obligation_count","cleanup_leak_count","nondeterministic_replay_count"],"additionalProperties":false},"report_resource_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}\\\\/reconstruction-readiness-report$"}},"required":["schema","schema_version","report_id","source_digest","report_digest","status","summary","metrics","report_resource_uri"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"commit_reconstruction_coverage","analysisOperation":null,"title":"Commit Reconstruction Coverage","description":"Atomically commit one canonical evidence-backed reconstruction coverage workspace revision under an approved root. CAS revisions reject lost updates; every Evidence and residual-unknown reference must resolve in the embedded canonical bundle.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"workspace_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Approved local path of the persistent investigation workspace."},"expected_revision":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}],"description":"Expected revision used to reject stale or mismatched input."},"workspace":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"workspace_id":{"type":"string","pattern":"^rcw_[a-f0-9]{64}$","description":"Value for workspace id."},"name":{"type":"string","minLength":1,"maxLength":200,"description":"Exact name used by this operation."},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for revision."},"previous_revision_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Exact SHA-256 digest of previous revision."},"evidence_bundle":{"type":"object","properties":{"bundle_version":{"type":"number","const":2,"description":"Value for bundle version."},"artifacts":{"type":"array","items":{"type":"object","properties":{"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."}},"required":["digest","format","architecture"],"additionalProperties":false},"description":"Value for artifacts."},"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false},"description":"Value for providers."},"environments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},"description":"Value for environments."},"scenarios":{"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"authority":{"type":"string","const":"controlled-replay","description":"Value for authority."}},"required":["evidence_id","operation","authority"],"additionalProperties":false},"description":"Value for scenarios."},"captures":{"type":"array","items":{"type":"object","properties":{"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."}},"required":["evidence_id","predicate_type"],"additionalProperties":false},"description":"Value for captures."},"unknowns":{"type":"array","items":{"type":"object","properties":{"registry_version":{"type":"number","const":1,"description":"Value for registry version."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for revision."},"previous_revision_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for previous revision digest."},"revision_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for revision digest."},"scope_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"description":"Value for scope digest."},"question":{"type":"string","minLength":1,"maxLength":1000,"description":"Concrete unresolved question to retain for later investigation."},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"],"description":"Current lifecycle or verification status."},"severity":{"type":"string","enum":["low","medium","high","critical"],"description":"Value for severity."},"domain":{"type":"string","minLength":1,"maxLength":100,"description":"Value for domain."},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the supporting observations."},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the contradicting observations."},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}],"description":"Value for required authority."},"required_confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for required confidence."},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}],"description":"Value for id."},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for platform."},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for architecture."},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for required environment."},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200,"description":"Value for operation."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."}},"required":["operation","rationale"],"additionalProperties":false},"description":"Value for recommended probes."},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"],"description":"Value for type."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."}},"required":["type","unknown_id"],"additionalProperties":false},"description":"Value for relationships."},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified","description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"],"description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}],"description":"Value for resolution."},"mutation_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the mutation observations."}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"additionalProperties":false},"description":"Value for unknowns."},"records":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}]},"description":"Value for records."}},"required":["bundle_version","artifacts","providers","environments","scenarios","captures","unknowns","records"],"additionalProperties":false,"description":"Value for evidence bundle."},"artifacts":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"artifact_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for artifact id."},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of artifact."},"version":{"type":"string","minLength":1,"maxLength":500,"description":"Value for version."},"environment_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of environment."},"evidence_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["artifact_id","artifact_sha256","version","environment_sha256","evidence_ids"],"additionalProperties":false},"description":"Value for artifacts."},"surfaces":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"surface_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for surface id."},"family":{"type":"string","minLength":1,"maxLength":100,"description":"Value for family."},"artifact_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for artifact id."},"occurrence_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}],"description":"Value for occurrence id."},"location":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for location."},"authority":{"type":"string","enum":["observed","derived","inferred","historical","external"],"description":"Value for authority."},"dependency_surface_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for dependency surface ids."},"evidence_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["surface_id","family","artifact_id","occurrence_id","location","authority","dependency_surface_ids","evidence_ids"],"additionalProperties":false},"description":"Value for surfaces."},"owners":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"surface_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for surface id."},"ownership":{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"implemented","description":"Value for disposition."},"owner_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for owner."},"owner_export":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}],"description":"Value for owner export."},"owner_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of owner."},"path_state":{"type":"string","enum":["present","missing","unknown"],"description":"Value for path state."},"package_state":{"type":"string","enum":["distributed","missing","unknown"],"description":"Value for package state."},"authority_route":{"type":"string","enum":["none","detected","unknown"],"description":"Value for authority route."}},"required":["disposition","owner_path","owner_export","owner_sha256","path_state","package_state","authority_route"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["external","non-goal"],"description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":4096,"description":"Value for rationale."}},"required":["disposition","rationale"],"additionalProperties":false}],"description":"Value for ownership."}},"required":["surface_id","ownership"],"additionalProperties":false},"description":"Value for owners."},"claims":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for claim id."},"title":{"type":"string","minLength":1,"maxLength":500,"description":"Value for title."},"kind":{"type":"string","minLength":1,"maxLength":100,"description":"Value for kind."},"surface_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for surface ids."},"required_dimensions":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for required dimensions."},"required_authority":{"type":"string","enum":["shipped-artifact","controlled-replay","live-observation","external"],"description":"Value for required authority."}},"required":["claim_id","title","kind","surface_ids","required_dimensions","required_authority"],"additionalProperties":false},"description":"Value for claims."},"verifier_contracts":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"verifier_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for verifier id."},"claim_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for claim ids."},"dimensions":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for dimensions."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","live-observation","external"],"description":"Value for authority."},"max_age_ms":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted age ms for this operation."},"minimum_repeats":{"type":"integer","minimum":1,"maximum":1000,"description":"Value for minimum repeats."},"normalization_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of normalization."},"normalization_removes_dimensions":{"type":"boolean","const":false,"description":"Value for normalization removes dimensions."},"contract_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of contract."}},"required":["verifier_id","claim_ids","dimensions","authority","max_age_ms","minimum_repeats","normalization_sha256","normalization_removes_dimensions","contract_sha256"],"additionalProperties":false},"description":"Value for verifier contracts."},"verifier_results":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"verifier_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for verifier id."},"contract_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of contract."},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z|([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)))$","description":"Value for observed at."},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","truncated","skipped"],"description":"Current lifecycle or verification status."},"covered_claim_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for covered claim ids."},"covered_dimensions":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for covered dimensions."},"artifact_sha256s":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{64}$"},"description":"Value for artifact sha256s."},"owner_sha256s":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{64}$"},"description":"Value for owner sha256s."},"normalization_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of normalization."},"repeats":{"type":"integer","minimum":1,"maximum":1000,"description":"Value for repeats."},"evidence_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["verifier_id","contract_sha256","observed_at","status","covered_claim_ids","covered_dimensions","artifact_sha256s","owner_sha256s","normalization_sha256","repeats","evidence_ids"],"additionalProperties":false},"description":"Value for verifier results."},"residual_unknown_ids":{"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for residual unknown ids."},"contradictions":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"contradiction_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for contradiction id."},"status":{"type":"string","enum":["active","resolved"],"description":"Current lifecycle or verification status."},"surface_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for surface ids."},"claim_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for claim ids."},"evidence_ids":{"minItems":2,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["contradiction_id","status","surface_ids","claim_ids","evidence_ids"],"additionalProperties":false},"description":"Value for contradictions."},"package_proofs":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"proof_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Value for proof id."},"kind":{"type":"string","enum":["build","clean-install","package-contents","runtime-routing","authority-independence"],"description":"Value for kind."},"status":{"type":"string","enum":["pass","fail","unknown","unsupported","skipped"],"description":"Current lifecycle or verification status."},"artifact_sha256s":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{64}$"},"description":"Value for artifact sha256s."},"evidence_ids":{"minItems":1,"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["proof_id","kind","status","artifact_sha256s","evidence_ids"],"additionalProperties":false},"description":"Value for package proofs."},"boundaries":{"maxItems":1000,"type":"array","items":{"type":"object","properties":{"boundary_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Exact reconstruction boundary identifier to evaluate."},"title":{"type":"string","minLength":1,"maxLength":500,"description":"Value for title."},"required_surface_ids":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for required surface ids."},"required_claim_ids":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for required claim ids."},"required_package_proof_kinds":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string","enum":["build","clean-install","package-contents","runtime-routing","authority-independence"]},"description":"Value for required package proof kinds."},"allowed_dispositions":{"maxItems":2,"type":"array","items":{"type":"string","enum":["external","non-goal"]},"description":"Value for allowed dispositions."},"allowed_unknown_ids":{"maxItems":1000,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"description":"Value for allowed unknown ids."}},"required":["boundary_id","title","required_surface_ids","required_claim_ids","required_package_proof_kinds","allowed_dispositions","allowed_unknown_ids"],"additionalProperties":false},"description":"Value for boundaries."},"revision_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of revision."}},"required":["schema_version","workspace_id","name","revision","previous_revision_sha256","evidence_bundle","artifacts","surfaces","owners","claims","verifier_contracts","verifier_results","residual_unknown_ids","contradictions","package_proofs","boundaries","revision_sha256"],"additionalProperties":false,"description":"Value for workspace."}},"required":["approved","workspace_path","expected_revision","workspace"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"examples":[{"approved":true,"workspace_path":"/approved/coverage.json","expected_revision":null,"workspace":{"schema_version":1,"workspace_id":"rcw_0000000000000000000000000000000000000000000000000000000000000000","name":"replacement","revision":1,"previous_revision_sha256":null,"revision_sha256":"0000000000000000000000000000000000000000000000000000000000000000","evidence_bundle":{"bundle_version":2,"artifacts":[],"providers":[],"environments":[],"scenarios":[],"captures":[],"unknowns":[],"records":[]},"artifacts":[],"surfaces":[],"owners":[],"claims":[],"verifier_contracts":[],"verifier_results":[],"residual_unknown_ids":[],"contradictions":[],"package_proofs":[],"boundaries":[]}}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"workspace_path":{"type":"string","description":"Approved local path of the persistent investigation workspace."},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for bytes."},"workspace_id":{"type":"string","pattern":"^rcw_[a-f0-9]{64}$","description":"Value for workspace id."},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for revision."},"revision_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of revision."},"evidence_records":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for evidence records."}},"required":["workspace_path","bytes","workspace_id","revision","revision_sha256","evidence_records"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":true,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"query_reconstruction_coverage","analysisOperation":null,"title":"Query Reconstruction Coverage","description":"Evaluate one named reconstruction boundary from a canonical coverage workspace. Missing ownership or inventory is partial; stale, weak, truncated, skipped, or unresolved proof is unknown; contradictions, failed proof, missing owners, and authority routing fail closed.","kind":"application","requiresSession":false,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"workspace_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Approved local path of the persistent investigation workspace."},"boundary_id":{"type":"string","minLength":1,"maxLength":200,"description":"Exact reconstruction boundary identifier to evaluate."}},"required":["workspace_path","boundary_id"],"additionalProperties":false,"examples":[{"workspace_path":"/approved/coverage.json","boundary_id":"replacement.cli"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"boundary_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","description":"Exact reconstruction boundary identifier to evaluate."},"status":{"type":"string","enum":["partial","failed","unknown","ready"],"description":"Current lifecycle or verification status."},"workspace_revision_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of workspace revision."},"summary":{"type":"object","properties":{"required_surfaces":{"type":"integer","minimum":0,"maximum":9007199254740991},"required_claims":{"type":"integer","minimum":0,"maximum":9007199254740991},"reasons":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["required_surfaces","required_claims","reasons"],"additionalProperties":false,"description":"Concise evidence-backed summary of the result."},"reasons":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["surface-missing","owner-missing","owner-duplicate","owner-path-missing","owner-path-unknown","owner-undistributed","owner-distribution-unknown","authority-routing-detected","authority-routing-unknown","disposition-not-allowed","dependency-surface-missing","claim-missing","verifier-missing","verifier-duplicate","verifier-result-missing","verifier-result-stale","verifier-result-incompatible","verifier-failed","verifier-unknown","active-unknown","active-contradiction","package-proof-missing","package-proof-failed","package-proof-unknown"]},"subject_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"detail":{"type":"string","minLength":1,"maxLength":4096}},"required":["code","subject_id","detail"],"additionalProperties":false},"description":"Value for reasons."},"recommended_probes":{"maxItems":100000,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"subject_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$"},"rationale":{"type":"string","minLength":1,"maxLength":4096}},"required":["operation","subject_id","rationale"],"additionalProperties":false},"description":"Value for recommended probes."},"evidence_ids":{"maxItems":100000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["boundary_id","status","workspace_revision_sha256","summary","reasons","recommended_probes","evidence_ids"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"open_binary","analysisOperation":null,"title":"Open Binary","description":"Open a local executable, application bundle, archive, JavaScript, source map, plist, or analysis database after validation. provider_id selects one deep provider or deterministic auto selection; the binding remains stable until close or an explicit switch, with no failure fallback. An optional snapshot v2 is imported atomically and must match the binary identity, concrete provider, and canonical analysis profile exactly.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."},"provider_id":{"anyOf":[{"type":"string","const":"auto"},{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9-]*$"}],"description":"Exact deep-analysis provider ID, or automatic selection when omitted."},"snapshot_path":{"type":"string","minLength":1,"description":"Local filesystem path for snapshot."}},"required":["path"],"additionalProperties":false,"examples":[{"path":"/tmp/fixture"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"path":{"type":"string"},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map"]},"kind":{"type":"string","enum":["executable","database","archive","artifact"]},"loaderArgs":{"type":"array","items":{"type":"string"}},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]}},"required":["path","format","kind","loaderArgs","sha256","architecture"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"close_binary","analysisOperation":null,"title":"Close Binary","description":"Optionally write a provider-neutral analysis snapshot atomically, then close the active target and every provider resource started for it. Snapshot files require an operator-approved root and explicit overwrite; a failed save leaves the session open so cached analysis is not lost.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"snapshot_path":{"type":"string","minLength":1,"description":"Local filesystem path for snapshot."},"overwrite":{"default":false,"type":"boolean","description":"Whether an existing destination may be replaced."}},"additionalProperties":false,"examples":[{"overwrite":false}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"type":"null"},{"type":"object","properties":{"path":{"type":"string"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"entries":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["path","bytes","entries"],"additionalProperties":false}],"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":true,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":true,"idempotent":false}},{"name":"binary_session","analysisOperation":null,"title":"Binary Session","description":"Report compact target, provider, and alignment state without starting analysis. The default summary is the routing check agents should use; detail=capabilities returns one family-filtered availability page, while detail=full is reserved for complete provider diagnostics.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"detail":{"default":"summary","description":"summary returns routing state; capabilities returns one filtered tool-availability page; full returns complete diagnostics only when required","type":"string","enum":["summary","capabilities","full"]},"capability_family":{"description":"Optional tool family for detail=capabilities","type":"string","enum":["official-proxy","enhanced","native-provider","artifact-provider","managed-provider","browser-provider","electron-provider","runtime-provider","application","session"]},"cursor":{"default":0,"description":"Zero-based capability cursor for detail=capabilities","type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"default":25,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"expected_package_version":{"type":"string","minLength":1,"description":"Expected package version used to reject stale or mismatched input."},"expected_catalog_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Expected catalog digest used to reject stale or mismatched input."},"expected_server_path":{"type":"string","minLength":1,"description":"Expected server path used to reject stale or mismatched input."}},"additionalProperties":false,"examples":[{"detail":"summary","cursor":0,"limit":25}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"anyOf":[{"type":"object","properties":{"view":{"type":"string","const":"summary"},"open":{"type":"boolean"},"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"active_provider":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},{"type":"null"}]},"target":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map"]},"kind":{"type":"string","enum":["executable","database","archive","artifact"]},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]}},"required":["path","format","kind","sha256","architecture"],"additionalProperties":false},{"type":"null"}]},"alignment":{"type":"object","properties":{"state":{"type":"string","enum":["aligned","mcp_server_restart_required","unknown"]},"reasons":{"type":"array","items":{"type":"string"}},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["state","reasons","remediation"],"additionalProperties":false},"analysis_activity":{"type":"object","properties":{"status":{"type":"string","enum":["not_observed","idle","busy","timed_out_busy"]},"providers":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"active":{"anyOf":[{"type":"object","properties":{"request_id":{"type":"integer","minimum":1,"maximum":9007199254740991},"operation":{"type":"string","minLength":1},"elapsed_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeout_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"caller_state":{"type":"string","enum":["waiting","timed_out","cancelled"]}},"required":["request_id","operation","elapsed_ms","timeout_ms","caller_state"],"additionalProperties":false},{"type":"null"}]},"queued_requests":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["provider","active","queued_requests"],"additionalProperties":false}}},"required":["status","providers"],"additionalProperties":false},"recommended_actions":{"type":"array","items":{"type":"string"}}},"required":["view","open","provider","active_provider","target","alignment","analysis_activity","recommended_actions"],"additionalProperties":false},{"type":"object","properties":{"view":{"type":"string","const":"capabilities"},"open":{"type":"boolean"},"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"active_provider":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},{"type":"null"}]},"capability_family":{"anyOf":[{"type":"string"},{"type":"null"}]},"capabilities":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"surface":{"type":"string"},"available":{"type":"boolean"},"reason":{"type":"string","enum":["available","client_capability_missing","target_required","provider_missing","provider_unavailable","target_unsupported","unsupported_host","policy_disabled"]},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]},"default_mode_available":{"type":"boolean"},"modes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"available":{"type":"boolean"},"missing_operations":{"type":"array","items":{"type":"string"}},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","available","missing_operations","remediation"],"additionalProperties":false}},"client_requirements":{"type":"object","properties":{"required":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"optional":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"missing_required":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"missing_optional":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}}},"required":["required","optional","missing_required","missing_optional"],"additionalProperties":false},"effects":{"type":"object","properties":{"mutatesTarget":{"type":"boolean"},"mutatesSession":{"type":"boolean"},"writesFilesystem":{"type":"boolean"},"launchesProcess":{"type":"boolean"},"accessesNetwork":{"type":"boolean"},"changesUiState":{"type":"boolean"},"mayDiscardData":{"type":"boolean"},"idempotent":{"type":"boolean"}},"required":["mutatesTarget","mutatesSession","writesFilesystem","launchesProcess","accessesNetwork","changesUiState","mayDiscardData","idempotent"],"additionalProperties":false},"annotations":{"type":"object","properties":{"read_only":{"type":"boolean"},"destructive":{"type":"boolean"},"idempotent":{"type":"boolean"},"open_world":{"type":"boolean"}},"required":["read_only","destructive","idempotent","open_world"],"additionalProperties":false}},"required":["name","surface","available","reason","remediation","client_requirements","effects","annotations"],"additionalProperties":false}},"cursor":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_cursor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","cursor","limit","total","next_cursor","has_more"],"additionalProperties":false},"client_features":{"type":"object","properties":{"elicitation_form":{"type":"boolean"},"elicitation_url":{"type":"boolean"},"roots":{"type":"boolean"},"sampling":{"type":"boolean"}},"required":["elicitation_form","elicitation_url","roots","sampling"],"additionalProperties":false}},"required":["view","open","provider","active_provider","capability_family","capabilities","client_features"],"additionalProperties":false},{"anyOf":[{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false}},"capabilities":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string"},"available":{"type":"boolean"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"availability_code":{"anyOf":[{"type":"string","enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"]},{"type":"null"}]},"input_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"output_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pagination":{"type":"string","enum":["none","offset","cursor"]},"exhaustive":{"type":"boolean"},"effects":{"type":"object","properties":{"mutates_artifact":{"type":"boolean"},"launches_process":{"type":"boolean"},"may_show_ui":{"type":"boolean"},"may_access_network":{"type":"boolean"},"may_write_filesystem":{"type":"boolean"},"changes_permissions":{"type":"boolean"},"requires_root":{"type":"boolean"}},"required":["mutates_artifact","launches_process","may_show_ui","may_access_network","may_write_filesystem","changes_permissions","requires_root"],"additionalProperties":false},"limits":{"type":"object","properties":{"max_results":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"max_payload_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"timeout_ms":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["max_results","max_payload_bytes","timeout_ms"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["operation","available","reason","availability_code","input_contract_version","output_contract_version","pagination","exhaustive","effects","limits","limitations"],"additionalProperties":false}},"analysis_run":{"anyOf":[{"type":"object","properties":{"run_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"process_lineage":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"not_observed"}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"snapshots"},"snapshots":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"observation":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"unavailable"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"launcher_pid":{"type":"integer","minimum":1,"maximum":9007199254740991},"process_group_id":{"type":"integer","minimum":1,"maximum":9007199254740991},"reason":{"type":"string","minLength":1}},"required":["status","observed_at","launcher_pid","process_group_id","reason"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"verified"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"schema_version":{"type":"number","const":1},"launcher_pid":{"type":"integer","minimum":1,"maximum":9007199254740991},"process_group_id":{"type":"integer","minimum":1,"maximum":9007199254740991},"launcher_parent_pid":{"type":"integer","minimum":0,"maximum":9007199254740991},"descendants":{"type":"array","items":{"type":"object","properties":{"pid":{"type":"integer","minimum":1,"maximum":9007199254740991},"parent_pid":{"type":"integer","minimum":0,"maximum":9007199254740991},"process_group_id":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["pid","parent_pid","process_group_id"],"additionalProperties":false}}},"required":["status","observed_at","schema_version","launcher_pid","process_group_id","launcher_parent_pid","descendants"],"additionalProperties":false}]}},"required":["provider","observation"],"additionalProperties":false}}},"required":["status","snapshots"],"additionalProperties":false}]}},"required":["run_id","process_lineage"],"additionalProperties":false},{"type":"null"}]},"analysis_activity":{"type":"object","properties":{"status":{"type":"string","enum":["not_observed","idle","busy","timed_out_busy"]},"providers":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"active":{"anyOf":[{"type":"object","properties":{"request_id":{"type":"integer","minimum":1,"maximum":9007199254740991},"operation":{"type":"string","minLength":1},"elapsed_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeout_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"caller_state":{"type":"string","enum":["waiting","timed_out","cancelled"]}},"required":["request_id","operation","elapsed_ms","timeout_ms","caller_state"],"additionalProperties":false},{"type":"null"}]},"queued_requests":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["provider","active","queued_requests"],"additionalProperties":false}}},"required":["status","providers"],"additionalProperties":false},"analysis_provider_binding":{"anyOf":[{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"selection_source":{"type":"string","enum":["request","environment","auto-single-candidate"]},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false}},"required":["provider","selection_source","analysis_profile"],"additionalProperties":false},{"type":"null"}]},"analysis_provider_candidates":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"availability":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"available"},"code":{"type":"null"},"reason":{"type":"null"},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unavailable"},"code":{"type":"string","enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"]},"reason":{"type":"string","minLength":1},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false}]},"target_support":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"unknown"},"code":{"type":"null"},"reason":{"type":"string","minLength":1},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"supported"},"code":{"type":"null"},"reason":{"type":"null"},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unsupported"},"code":{"type":"string","enum":["target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported"]},"reason":{"type":"string","minLength":1},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false}]},"selected":{"type":"boolean"},"capabilities":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string"},"available":{"type":"boolean"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"availability_code":{"anyOf":[{"type":"string","enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"]},{"type":"null"}]},"input_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"output_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pagination":{"type":"string","enum":["none","offset","cursor"]},"exhaustive":{"type":"boolean"},"effects":{"type":"object","properties":{"mutates_artifact":{"type":"boolean"},"launches_process":{"type":"boolean"},"may_show_ui":{"type":"boolean"},"may_access_network":{"type":"boolean"},"may_write_filesystem":{"type":"boolean"},"changes_permissions":{"type":"boolean"},"requires_root":{"type":"boolean"}},"required":["mutates_artifact","launches_process","may_show_ui","may_access_network","may_write_filesystem","changes_permissions","requires_root"],"additionalProperties":false},"limits":{"type":"object","properties":{"max_results":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"max_payload_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"timeout_ms":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["max_results","max_payload_bytes","timeout_ms"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["operation","available","reason","availability_code","input_contract_version","output_contract_version","pagination","exhaustive","effects","limits","limitations"],"additionalProperties":false}}},"required":["provider","availability","target_support","selected","capabilities"],"additionalProperties":false}},"tool_availability":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"surface":{"type":"string"},"available":{"type":"boolean"},"reason":{"type":"string","enum":["available","client_capability_missing","target_required","provider_missing","provider_unavailable","target_unsupported","unsupported_host","policy_disabled"]},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]},"default_mode_available":{"type":"boolean"},"modes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"available":{"type":"boolean"},"missing_operations":{"type":"array","items":{"type":"string"}},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","available","missing_operations","remediation"],"additionalProperties":false}},"client_requirements":{"type":"object","properties":{"required":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"optional":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"missing_required":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"missing_optional":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}}},"required":["required","optional","missing_required","missing_optional"],"additionalProperties":false},"effects":{"type":"object","properties":{"mutatesTarget":{"type":"boolean"},"mutatesSession":{"type":"boolean"},"writesFilesystem":{"type":"boolean"},"launchesProcess":{"type":"boolean"},"accessesNetwork":{"type":"boolean"},"changesUiState":{"type":"boolean"},"mayDiscardData":{"type":"boolean"},"idempotent":{"type":"boolean"}},"required":["mutatesTarget","mutatesSession","writesFilesystem","launchesProcess","accessesNetwork","changesUiState","mayDiscardData","idempotent"],"additionalProperties":false},"annotations":{"type":"object","properties":{"read_only":{"type":"boolean"},"destructive":{"type":"boolean"},"idempotent":{"type":"boolean"},"open_world":{"type":"boolean"}},"required":["read_only","destructive","idempotent","open_world"],"additionalProperties":false}},"required":["name","surface","available","reason","remediation","client_requirements","effects","annotations"],"additionalProperties":false}},"client_features":{"type":"object","properties":{"elicitation_form":{"type":"boolean"},"elicitation_url":{"type":"boolean"},"roots":{"type":"boolean"},"sampling":{"type":"boolean"}},"required":["elicitation_form","elicitation_url","roots","sampling"],"additionalProperties":false},"server_identity":{"type":"object","properties":{"package":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"root_path":{"type":"string"},"build_commit":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","version","root_path","build_commit"],"additionalProperties":false},"server":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"started_at":{"type":"string"},"command_path":{"type":"string"}},"required":["name","version","started_at","command_path"],"additionalProperties":false},"sdk":{"type":"object","properties":{"server":{"type":"string"},"client_test":{"type":"string"},"core":{"type":"string"}},"required":["server","client_test","core"],"additionalProperties":false},"negotiated_protocol_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"client":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false},{"type":"null"}]},"skill":{"type":"object","properties":{"name":{"type":"string"},"expected_version":{"type":"string"}},"required":["name","expected_version"],"additionalProperties":false},"catalog":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}},"protocol_features":{"type":"object","properties":{"progress":{"type":"boolean"},"cancellation":{"type":"boolean"},"evidence_resources":{"type":"boolean"},"elicitation":{"type":"boolean"}},"required":["progress","cancellation","evidence_resources","elicitation"],"additionalProperties":false},"alignment":{"type":"object","properties":{"state":{"type":"string","enum":["aligned","mcp_server_restart_required","unknown"]},"reasons":{"type":"array","items":{"type":"string"}},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["state","reasons","remediation"],"additionalProperties":false}},"required":["package","server","sdk","negotiated_protocol_version","client","skill","catalog","protocol_features","alignment"],"additionalProperties":false},"view":{"type":"string","const":"full"},"open":{"type":"boolean","const":false}},"required":["provider","providers","capabilities","analysis_run","analysis_activity","analysis_provider_binding","analysis_provider_candidates","tool_availability","client_features","server_identity","view","open"],"additionalProperties":false},{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false}},"capabilities":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string"},"available":{"type":"boolean"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"availability_code":{"anyOf":[{"type":"string","enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"]},{"type":"null"}]},"input_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"output_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pagination":{"type":"string","enum":["none","offset","cursor"]},"exhaustive":{"type":"boolean"},"effects":{"type":"object","properties":{"mutates_artifact":{"type":"boolean"},"launches_process":{"type":"boolean"},"may_show_ui":{"type":"boolean"},"may_access_network":{"type":"boolean"},"may_write_filesystem":{"type":"boolean"},"changes_permissions":{"type":"boolean"},"requires_root":{"type":"boolean"}},"required":["mutates_artifact","launches_process","may_show_ui","may_access_network","may_write_filesystem","changes_permissions","requires_root"],"additionalProperties":false},"limits":{"type":"object","properties":{"max_results":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"max_payload_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"timeout_ms":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["max_results","max_payload_bytes","timeout_ms"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["operation","available","reason","availability_code","input_contract_version","output_contract_version","pagination","exhaustive","effects","limits","limitations"],"additionalProperties":false}},"analysis_run":{"anyOf":[{"type":"object","properties":{"run_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"process_lineage":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"not_observed"}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"snapshots"},"snapshots":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"observation":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"unavailable"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"launcher_pid":{"type":"integer","minimum":1,"maximum":9007199254740991},"process_group_id":{"type":"integer","minimum":1,"maximum":9007199254740991},"reason":{"type":"string","minLength":1}},"required":["status","observed_at","launcher_pid","process_group_id","reason"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"verified"},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"schema_version":{"type":"number","const":1},"launcher_pid":{"type":"integer","minimum":1,"maximum":9007199254740991},"process_group_id":{"type":"integer","minimum":1,"maximum":9007199254740991},"launcher_parent_pid":{"type":"integer","minimum":0,"maximum":9007199254740991},"descendants":{"type":"array","items":{"type":"object","properties":{"pid":{"type":"integer","minimum":1,"maximum":9007199254740991},"parent_pid":{"type":"integer","minimum":0,"maximum":9007199254740991},"process_group_id":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["pid","parent_pid","process_group_id"],"additionalProperties":false}}},"required":["status","observed_at","schema_version","launcher_pid","process_group_id","launcher_parent_pid","descendants"],"additionalProperties":false}]}},"required":["provider","observation"],"additionalProperties":false}}},"required":["status","snapshots"],"additionalProperties":false}]}},"required":["run_id","process_lineage"],"additionalProperties":false},{"type":"null"}]},"analysis_activity":{"type":"object","properties":{"status":{"type":"string","enum":["not_observed","idle","busy","timed_out_busy"]},"providers":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"active":{"anyOf":[{"type":"object","properties":{"request_id":{"type":"integer","minimum":1,"maximum":9007199254740991},"operation":{"type":"string","minLength":1},"elapsed_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"timeout_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"caller_state":{"type":"string","enum":["waiting","timed_out","cancelled"]}},"required":["request_id","operation","elapsed_ms","timeout_ms","caller_state"],"additionalProperties":false},{"type":"null"}]},"queued_requests":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["provider","active","queued_requests"],"additionalProperties":false}}},"required":["status","providers"],"additionalProperties":false},"analysis_provider_binding":{"anyOf":[{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"selection_source":{"type":"string","enum":["request","environment","auto-single-candidate"]},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["id","name","version"],"additionalProperties":false},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false}},"required":["provider","selection_source","analysis_profile"],"additionalProperties":false},{"type":"null"}]},"analysis_provider_candidates":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"additionalProperties":false},"availability":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"available"},"code":{"type":"null"},"reason":{"type":"null"},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unavailable"},"code":{"type":"string","enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"]},"reason":{"type":"string","minLength":1},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false}]},"target_support":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"unknown"},"code":{"type":"null"},"reason":{"type":"string","minLength":1},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"supported"},"code":{"type":"null"},"reason":{"type":"null"},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unsupported"},"code":{"type":"string","enum":["target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported"]},"reason":{"type":"string","minLength":1},"diagnostics":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}},"required":["status","code","reason","diagnostics"],"additionalProperties":false}]},"selected":{"type":"boolean"},"capabilities":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string"},"available":{"type":"boolean"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"availability_code":{"anyOf":[{"type":"string","enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"]},{"type":"null"}]},"input_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"output_contract_version":{"type":"integer","minimum":1,"maximum":9007199254740991},"pagination":{"type":"string","enum":["none","offset","cursor"]},"exhaustive":{"type":"boolean"},"effects":{"type":"object","properties":{"mutates_artifact":{"type":"boolean"},"launches_process":{"type":"boolean"},"may_show_ui":{"type":"boolean"},"may_access_network":{"type":"boolean"},"may_write_filesystem":{"type":"boolean"},"changes_permissions":{"type":"boolean"},"requires_root":{"type":"boolean"}},"required":["mutates_artifact","launches_process","may_show_ui","may_access_network","may_write_filesystem","changes_permissions","requires_root"],"additionalProperties":false},"limits":{"type":"object","properties":{"max_results":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"max_payload_bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"timeout_ms":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["max_results","max_payload_bytes","timeout_ms"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["operation","available","reason","availability_code","input_contract_version","output_contract_version","pagination","exhaustive","effects","limits","limitations"],"additionalProperties":false}}},"required":["provider","availability","target_support","selected","capabilities"],"additionalProperties":false}},"tool_availability":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"surface":{"type":"string"},"available":{"type":"boolean"},"reason":{"type":"string","enum":["available","client_capability_missing","target_required","provider_missing","provider_unavailable","target_unsupported","unsupported_host","policy_disabled"]},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]},"default_mode_available":{"type":"boolean"},"modes":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"available":{"type":"boolean"},"missing_operations":{"type":"array","items":{"type":"string"}},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","available","missing_operations","remediation"],"additionalProperties":false}},"client_requirements":{"type":"object","properties":{"required":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"optional":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"missing_required":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}},"missing_optional":{"type":"array","items":{"type":"string","enum":["elicitation_form","elicitation_url","roots","sampling"]}}},"required":["required","optional","missing_required","missing_optional"],"additionalProperties":false},"effects":{"type":"object","properties":{"mutatesTarget":{"type":"boolean"},"mutatesSession":{"type":"boolean"},"writesFilesystem":{"type":"boolean"},"launchesProcess":{"type":"boolean"},"accessesNetwork":{"type":"boolean"},"changesUiState":{"type":"boolean"},"mayDiscardData":{"type":"boolean"},"idempotent":{"type":"boolean"}},"required":["mutatesTarget","mutatesSession","writesFilesystem","launchesProcess","accessesNetwork","changesUiState","mayDiscardData","idempotent"],"additionalProperties":false},"annotations":{"type":"object","properties":{"read_only":{"type":"boolean"},"destructive":{"type":"boolean"},"idempotent":{"type":"boolean"},"open_world":{"type":"boolean"}},"required":["read_only","destructive","idempotent","open_world"],"additionalProperties":false}},"required":["name","surface","available","reason","remediation","client_requirements","effects","annotations"],"additionalProperties":false}},"client_features":{"type":"object","properties":{"elicitation_form":{"type":"boolean"},"elicitation_url":{"type":"boolean"},"roots":{"type":"boolean"},"sampling":{"type":"boolean"}},"required":["elicitation_form","elicitation_url","roots","sampling"],"additionalProperties":false},"server_identity":{"type":"object","properties":{"package":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"root_path":{"type":"string"},"build_commit":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","version","root_path","build_commit"],"additionalProperties":false},"server":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"started_at":{"type":"string"},"command_path":{"type":"string"}},"required":["name","version","started_at","command_path"],"additionalProperties":false},"sdk":{"type":"object","properties":{"server":{"type":"string"},"client_test":{"type":"string"},"core":{"type":"string"}},"required":["server","client_test","core"],"additionalProperties":false},"negotiated_protocol_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"client":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false},{"type":"null"}]},"skill":{"type":"object","properties":{"name":{"type":"string"},"expected_version":{"type":"string"}},"required":["name","expected_version"],"additionalProperties":false},"catalog":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}},"protocol_features":{"type":"object","properties":{"progress":{"type":"boolean"},"cancellation":{"type":"boolean"},"evidence_resources":{"type":"boolean"},"elicitation":{"type":"boolean"}},"required":["progress","cancellation","evidence_resources","elicitation"],"additionalProperties":false},"alignment":{"type":"object","properties":{"state":{"type":"string","enum":["aligned","mcp_server_restart_required","unknown"]},"reasons":{"type":"array","items":{"type":"string"}},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["state","reasons","remediation"],"additionalProperties":false}},"required":["package","server","sdk","negotiated_protocol_version","client","skill","catalog","protocol_features","alignment"],"additionalProperties":false},"view":{"type":"string","const":"full"},"open":{"type":"boolean","const":true},"path":{"type":"string"},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map"]},"kind":{"type":"string","enum":["executable","database","archive","artifact"]},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}]}},"required":["provider","providers","capabilities","analysis_run","analysis_activity","analysis_provider_binding","analysis_provider_candidates","tool_availability","client_features","server_identity","view","open","path","format","kind","sha256","architecture"],"additionalProperties":false}]}],"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema2"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema2"}}]}}},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":false,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"export_evidence_bundle","analysisOperation":null,"title":"Export Evidence Bundle","description":"Atomically write the session\'s deterministic Evidence v2 bundle beneath an operator-approved root. Existing files require overwrite: true; records and manifests use canonical byte-stable ordering. For an in-session read, use snapshot_evidence_bundle and read its exact resource URI instead.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."},"overwrite":{"default":false,"type":"boolean","description":"Whether an existing destination may be replaced."}},"required":["path"],"additionalProperties":false,"examples":[{"path":"/tmp/evidence.json","overwrite":false}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"path":{"type":"string"},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"records":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknowns":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["path","bytes","records","unknowns"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":false,"writesFilesystem":true,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":true,"idempotent":true}},{"name":"import_evidence_bundle","analysisOperation":null,"title":"Import Evidence Bundle","description":"Read a bounded local JSON bundle beneath an operator-approved root, validate every Evidence v2 ID and canonical manifest, then atomically merge it. Imported content is data only and is never executed.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["path"],"additionalProperties":false,"examples":[{"path":"evidence.json"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"imported":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknowns_added":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["imported","unknowns_added","total"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"capture_process_scenario","analysisOperation":null,"title":"Capture Process Scenario","description":"Run one bounded process under a PTY using operator-approved executable and working roots. Produces Process Capture v4; legacy v3 captures cannot be upgraded and must be recaptured with this tool. Requires approved: true; unknown_registry_approved: true separately records capture residuals. Captures raw and xterm-rendered terminal frames, scripted interactions, lifecycle filesystem checkpoints, process ownership, declarative command shims, and loopback replay. Disabled unless operator policy enables it; not a security sandbox.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"approved":{"type":"boolean","const":true,"description":"Explicit per-call acknowledgement that this operation launches the target"},"unknown_registry_approved":{"description":"Explicit approval to record capture residuals durably","type":"boolean","const":true},"executable":{"type":"string","pattern":"^\\\\/.*","description":"Approved absolute path of the executable to run."},"arguments":{"default":[],"maxItems":256,"type":"array","items":{"type":"string"},"description":"Value for arguments."},"working_directory":{"type":"string","pattern":"^\\\\/.*","description":"Value for working directory."},"environment":{"default":{},"type":"object","propertyNames":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"additionalProperties":{"type":"string"},"description":"Value for environment."},"inherit_environment":{"default":[],"maxItems":64,"type":"array","items":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"description":"Value for inherit environment."},"secret_aliases":{"default":[],"maxItems":64,"type":"array","items":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"description":"Value for secret aliases."},"network_access":{"default":"host","type":"string","const":"host","description":"Value for network access."},"filesystem_roots":{"default":[],"maxItems":16,"type":"array","items":{"type":"string","pattern":"^\\\\/.*"},"description":"Approved canonical filesystem filesystem roots."},"terminal":{"default":{"columns":80,"rows":24,"scrollback":1000},"type":"object","properties":{"columns":{"default":80,"type":"integer","minimum":1,"maximum":1000,"description":"Value for columns."},"rows":{"default":24,"type":"integer","minimum":1,"maximum":1000,"description":"Value for rows."},"scrollback":{"default":1000,"type":"integer","minimum":0,"maximum":10000,"description":"Value for scrollback."}},"additionalProperties":false,"description":"Value for terminal."},"checkpoints":{"default":[],"maxItems":64,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$","description":"Exact name used by this operation."},"trigger":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"time","description":"Value for type."},"at_ms":{"type":"integer","minimum":0,"maximum":300000,"description":"Value for at ms."}},"required":["type","at_ms"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"terminal_literal","description":"Value for type."},"value":{"type":"string","minLength":1,"maxLength":10000,"description":"Value for value."},"occurrence":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":1000,"description":"Value for occurrence."}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"root_exit","description":"Value for type."}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"settled","description":"Value for type."}},"required":["type"],"additionalProperties":false}],"description":"Value for trigger."}},"required":["name","trigger"],"additionalProperties":false},"description":"Value for checkpoints."},"command_shims":{"default":[],"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$","description":"Exact name used by this operation."},"routes":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"arguments":{"maxItems":256,"type":"array","items":{"type":"string"},"description":"Value for arguments."},"outputs":{"default":[],"maxItems":1000,"type":"array","items":{"type":"object","properties":{"at_ms":{"type":"integer","minimum":0,"maximum":300000,"description":"Value for at ms."},"stream":{"type":"string","enum":["stdout","stderr"],"description":"Value for stream."},"data":{"type":"string","maxLength":1000000,"description":"Value for data."}},"required":["at_ms","stream","data"],"additionalProperties":false},"description":"Value for outputs."},"termination":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"exit","description":"Value for type."},"code":{"type":"integer","minimum":0,"maximum":255,"description":"Value for code."}},"required":["type","code"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"signal","description":"Value for type."},"signal":{"type":"string","enum":["SIGINT","SIGTERM","SIGKILL"],"description":"Value for signal."}},"required":["type","signal"],"additionalProperties":false}],"description":"Value for termination."},"max_calls":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":100,"description":"Maximum permitted calls for this operation."}},"required":["arguments","termination"],"additionalProperties":false},"description":"Value for routes."}},"required":["name","routes"],"additionalProperties":false},"description":"Value for command shims."},"events":{"default":[],"maxItems":1000,"type":"array","items":{"oneOf":[{"type":"object","properties":{"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for at ms."},"type":{"type":"string","const":"input","description":"Value for type."},"data":{"type":"string","description":"Value for data."},"sensitive":{"default":false,"type":"boolean","description":"Value for sensitive."}},"required":["at_ms","type","data"],"additionalProperties":false},{"type":"object","properties":{"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for at ms."},"type":{"type":"string","const":"resize","description":"Value for type."},"columns":{"type":"integer","minimum":1,"maximum":1000,"description":"Value for columns."},"rows":{"type":"integer","minimum":1,"maximum":1000,"description":"Value for rows."}},"required":["at_ms","type","columns","rows"],"additionalProperties":false},{"type":"object","properties":{"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for at ms."},"type":{"type":"string","const":"signal","description":"Value for type."},"signal":{"type":"string","enum":["SIGINT","SIGTERM","SIGKILL"],"description":"Value for signal."}},"required":["at_ms","type","signal"],"additionalProperties":false}]},"description":"Value for events."},"timeout_ms":{"default":30000,"type":"integer","exclusiveMinimum":0,"maximum":300000,"description":"Value for timeout ms."},"idle_timeout_ms":{"default":30000,"type":"integer","exclusiveMinimum":0,"maximum":300000,"description":"Value for idle timeout ms."},"settle_ms":{"default":100,"type":"integer","minimum":0,"maximum":10000,"description":"Value for settle ms."},"limits":{"default":{"output_bytes":1000000,"frames":10000,"files":10000,"file_bytes":10000000,"processes":1000,"protocol_events":10000,"protocol_body_bytes":1000000,"connections":100,"filesystem_depth":16},"type":"object","properties":{"output_bytes":{"default":1000000,"type":"integer","exclusiveMinimum":0,"maximum":10000000,"description":"Bounded byte count for output."},"frames":{"default":10000,"type":"integer","exclusiveMinimum":0,"maximum":100000,"description":"Value for frames."},"files":{"default":10000,"type":"integer","exclusiveMinimum":0,"maximum":100000,"description":"Value for files."},"file_bytes":{"default":10000000,"type":"integer","exclusiveMinimum":0,"maximum":100000000,"description":"Bounded byte count for file."},"processes":{"default":1000,"type":"integer","exclusiveMinimum":0,"maximum":10000,"description":"Value for processes."},"protocol_events":{"default":10000,"type":"integer","exclusiveMinimum":0,"maximum":100000,"description":"Value for protocol events."},"protocol_body_bytes":{"default":1000000,"type":"integer","exclusiveMinimum":0,"maximum":10000000,"description":"Bounded byte count for protocol body."},"connections":{"default":100,"type":"integer","exclusiveMinimum":0,"maximum":1000,"description":"Value for connections."},"filesystem_depth":{"default":16,"type":"integer","minimum":1,"maximum":64,"description":"Value for filesystem depth."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."},"normalization":{"default":{"paths":true,"pids":true,"ports":true,"time_bucket_ms":10,"patterns":[]},"type":"object","properties":{"paths":{"default":true,"type":"boolean","description":"Value for paths."},"pids":{"default":true,"type":"boolean","description":"Value for pids."},"ports":{"default":true,"type":"boolean","description":"Value for ports."},"time_bucket_ms":{"default":10,"type":"integer","exclusiveMinimum":0,"maximum":60000,"description":"Value for time bucket ms."},"patterns":{"default":[],"maxItems":32,"type":"array","items":{"type":"object","properties":{"pattern":{"type":"string","maxLength":500,"description":"Text or bounded pattern used to filter matching results."},"replacement":{"type":"string","maxLength":100,"description":"Value for replacement."}},"required":["pattern","replacement"],"additionalProperties":false},"description":"Value for patterns."}},"additionalProperties":false,"description":"Value for normalization."},"replay":{"type":"object","properties":{"machine":{"anyOf":[{"type":"object","properties":{"initial_state":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for initial state."},"states":{"minItems":1,"maxItems":256,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Exact name used by this operation."},"terminal":{"default":false,"type":"boolean","description":"Value for terminal."},"max_visits":{"default":100000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted visits for this operation."}},"required":["name"],"additionalProperties":false},"description":"Value for states."},"transitions":{"minItems":1,"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for id."},"from":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for from."},"to":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for to."},"priority":{"default":100,"type":"integer","minimum":0,"maximum":1000,"description":"Value for priority."},"trigger":{"oneOf":[{"type":"object","properties":{"protocol":{"type":"string","const":"http","description":"Value for protocol."},"method":{"type":"string","minLength":1,"maxLength":16,"description":"Value for method."},"path":{"type":"string","pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."},"body":{"default":null,"anyOf":[{"type":"string","maxLength":1000000},{"type":"null"}],"description":"Value for body."}},"required":["protocol","method","path"],"additionalProperties":false},{"type":"object","properties":{"protocol":{"type":"string","const":"websocket_connect","description":"Value for protocol."},"path":{"type":"string","pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."}},"required":["protocol","path"],"additionalProperties":false},{"type":"object","properties":{"protocol":{"type":"string","const":"websocket_message","description":"Value for protocol."},"path":{"type":"string","pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"body":{"default":null,"anyOf":[{"type":"string","maxLength":1000000},{"type":"null"}],"description":"Value for body."}},"required":["protocol","path"],"additionalProperties":false}],"description":"Value for trigger."},"guards":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"variable":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for variable."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"request_header","description":"Value for source."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."}},"required":["source","name"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"request_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"websocket_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"action_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false}],"description":"Value for value."}},"required":["variable","value"],"additionalProperties":false},"description":"Value for guards."},"captures":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"variable":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for variable."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"request_header","description":"Value for source."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."}},"required":["source","name"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"request_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"websocket_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"action_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false}],"description":"Value for value."},"sensitive":{"default":false,"type":"boolean","description":"Value for sensitive."}},"required":["variable","value"],"additionalProperties":false},"description":"Value for captures."},"actions":{"minItems":1,"maxItems":32,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"http_response","description":"Value for type."},"status":{"type":"integer","minimum":100,"maximum":599,"description":"Current lifecycle or verification status."},"headers":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."},"body":{"type":"string","maxLength":1000000,"description":"Value for body."}},"required":["type","status","body"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"websocket_send","description":"Value for type."},"data":{"type":"string","maxLength":1000000,"description":"Value for data."}},"required":["type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"disconnect","description":"Value for type."}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"delay","description":"Value for type."},"duration_ms":{"type":"integer","minimum":0,"maximum":30000,"description":"Value for duration ms."}},"required":["type","duration_ms"],"additionalProperties":false}]},"description":"Value for actions."},"max_uses":{"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted uses for this operation."}},"required":["id","from","to","trigger","actions","max_uses"],"additionalProperties":false},"description":"Value for transitions."},"max_transitions":{"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted transitions for this operation."},"limits":{"default":{"connections":100,"messages":10000,"bytes":1000000,"duration_ms":30000},"type":"object","properties":{"connections":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Value for connections."},"messages":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Value for messages."},"bytes":{"default":1000000,"type":"integer","minimum":1,"maximum":10000000,"description":"Value for bytes."},"duration_ms":{"default":30000,"type":"integer","minimum":1,"maximum":300000,"description":"Value for duration ms."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"required":["initial_state","states","transitions","max_transitions"],"additionalProperties":false},{"type":"null"}],"description":"Value for machine."},"http":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"method":{"type":"string","maxLength":16,"description":"Value for method."},"path":{"type":"string","pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"status":{"type":"integer","minimum":100,"maximum":599,"description":"Current lifecycle or verification status."},"body":{"type":"string","maxLength":1000000,"description":"Value for body."},"request_headers":{"default":{},"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Value for request headers."},"request_body":{"type":"string","maxLength":1000000,"description":"Value for request body."},"response_headers":{"default":{},"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Value for response headers."},"delay_ms":{"default":0,"type":"integer","minimum":0,"maximum":30000,"description":"Value for delay ms."},"disconnect":{"default":false,"type":"boolean","description":"Value for disconnect."},"max_calls":{"default":1,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted calls for this operation."}},"required":["method","path","status","body"],"additionalProperties":false},"description":"Value for http."},"websocket_messages":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","maxLength":1000000},"description":"Value for websocket messages."},"websocket_connections":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"messages":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"data":{"type":"string","maxLength":1000000,"description":"Value for data."},"delay_ms":{"default":0,"type":"integer","minimum":0,"maximum":30000,"description":"Value for delay ms."}},"required":["data"],"additionalProperties":false},"description":"Value for messages."},"disconnect_after":{"default":false,"type":"boolean","description":"Value for disconnect after."}},"required":["messages"],"additionalProperties":false},"description":"Value for websocket connections."}},"additionalProperties":false,"description":"Value for replay."},"reactive":{"anyOf":[{"type":"object","properties":{"version":{"type":"number","const":1,"description":"Value for version."},"initial_state":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for initial state."},"deadline_ms":{"type":"integer","exclusiveMinimum":0,"maximum":300000,"description":"Value for deadline ms."},"states":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for id."},"max_visits":{"type":"integer","exclusiveMinimum":0,"maximum":256,"description":"Maximum permitted visits for this operation."},"deadline_ms":{"type":"integer","exclusiveMinimum":0,"maximum":300000,"description":"Value for deadline ms."},"on":{"minItems":1,"maxItems":128,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for id."},"priority":{"type":"integer","minimum":0,"maximum":1000,"description":"Value for priority."},"max_uses":{"type":"integer","exclusiveMinimum":0,"maximum":256,"description":"Maximum permitted uses for this operation."},"when":{"$ref":"#/$defs/__schema0","description":"Value for when."},"actions":{"maxItems":16,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"send_input","description":"Value for type."},"data":{"type":"string","maxLength":1000000,"description":"Value for data."},"sensitive":{"type":"boolean","description":"Value for sensitive."}},"required":["type","data","sensitive"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"resize","description":"Value for type."},"columns":{"type":"integer","minimum":1,"maximum":1000,"description":"Value for columns."},"rows":{"type":"integer","minimum":1,"maximum":1000,"description":"Value for rows."}},"required":["type","columns","rows"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"close_stdin","description":"Value for type."}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"send_signal","description":"Value for type."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"root","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"process_group","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"subject_id","description":"Value for kind."},"subject_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for subject id."}},"required":["kind","subject_id"],"additionalProperties":false}],"description":"Value for target."},"signal":{"type":"string","enum":["SIGINT","SIGTERM","SIGKILL"],"description":"Value for signal."}},"required":["type","target","signal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"checkpoint","description":"Value for type."},"name":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$","description":"Exact name used by this operation."}},"required":["type","name"],"additionalProperties":false}]},"description":"Value for actions."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"goto","description":"Value for kind."},"state":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for state."}},"required":["kind","state"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"finish","description":"Value for kind."},"outcome":{"type":"string","const":"passed","description":"Value for outcome."}},"required":["kind","outcome"],"additionalProperties":false}],"description":"Value for target."}},"required":["id","priority","max_uses","when","actions","target"],"additionalProperties":false},"description":"Value for on."}},"required":["id","max_visits","deadline_ms","on"],"additionalProperties":false},"description":"Value for states."}},"required":["version","initial_state","deadline_ms","states"],"additionalProperties":false},{"type":"null"}],"description":"Value for reactive."}},"required":["approved","executable","working_directory"],"additionalProperties":false,"$defs":{"__schema0":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"event","description":"Value for kind."},"source":{"type":"string","enum":["terminal_raw","terminal_rendered","interaction","lifecycle","process","filesystem","http","websocket","shim","replay_transition"],"description":"Value for source."},"exact":{"$ref":"#/$defs/__schema1","description":"Value for exact."},"ignore_fields":{"maxItems":5,"type":"array","items":{"type":"string","enum":["sequence","at_ms","scheduled_at_ms","dispatched_at_ms","elapsed_ms"]},"description":"Value for ignore fields."},"since":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"scenario_start","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"state_entry","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"checkpoint","description":"Value for kind."},"name":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$","description":"Exact name used by this operation."}},"required":["kind","name"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"event_id","description":"Value for kind."},"event_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for event id."}},"required":["kind","event_id"],"additionalProperties":false}],"description":"Value for since."},"consume":{"type":"boolean","description":"Value for consume."},"cardinality":{"type":"object","properties":{"min":{"type":"integer","exclusiveMinimum":0,"maximum":256,"description":"Value for min."},"max":{"type":"integer","exclusiveMinimum":0,"maximum":256,"description":"Value for max."}},"required":["min","max"],"additionalProperties":false,"description":"Value for cardinality."}},"required":["kind","source","exact","ignore_fields","since","consume","cardinality"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"terminal_text","description":"Value for kind."},"view":{"type":"string","const":"decoded","description":"Value for view."},"encoding":{"type":"string","const":"utf8","description":"Value for encoding."},"literal":{"type":"string","minLength":1,"maxLength":10000,"description":"Value for literal."},"case_sensitive":{"type":"boolean","const":true,"description":"Whether text matching distinguishes uppercase and lowercase."},"control_sequences":{"type":"string","const":"include","description":"Value for control sequences."},"occurrence":{"type":"integer","exclusiveMinimum":0,"maximum":1000,"description":"Value for occurrence."},"since":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"scenario_start","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"state_entry","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"checkpoint","description":"Value for kind."},"name":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$","description":"Exact name used by this operation."}},"required":["kind","name"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"event_id","description":"Value for kind."},"event_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for event id."}},"required":["kind","event_id"],"additionalProperties":false}],"description":"Value for since."},"consume":{"type":"boolean","description":"Value for consume."}},"required":["kind","view","encoding","literal","case_sensitive","control_sequences","occurrence","since","consume"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"all","description":"Value for kind."},"triggers":{"minItems":2,"maxItems":16,"type":"array","items":{"$ref":"#/$defs/__schema0"},"description":"Value for triggers."}},"required":["kind","triggers"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"any","description":"Value for kind."},"triggers":{"minItems":2,"maxItems":16,"type":"array","items":{"$ref":"#/$defs/__schema0"},"description":"Value for triggers."}},"required":["kind","triggers"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"sequence","description":"Value for kind."},"triggers":{"minItems":1,"maxItems":16,"type":"array","items":{"$ref":"#/$defs/__schema0"},"description":"Value for triggers."}},"required":["kind","triggers"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"repeat","description":"Value for kind."},"trigger":{"$ref":"#/$defs/__schema0","description":"Value for trigger."},"min":{"type":"integer","exclusiveMinimum":0,"maximum":64,"description":"Value for min."},"max":{"type":"integer","exclusiveMinimum":0,"maximum":64,"description":"Value for max."}},"required":["kind","trigger","min","max"],"additionalProperties":false}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema1"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema1"}}]}},"examples":[{"approved":true,"executable":"/usr/bin/true","arguments":[],"working_directory":"/tmp","environment":{},"inherit_environment":[],"secret_aliases":[],"network_access":"host","filesystem_roots":[],"terminal":{"columns":80,"rows":24,"scrollback":1000},"checkpoints":[],"command_shims":[],"events":[],"timeout_ms":30000,"idle_timeout_ms":30000,"settle_ms":100,"limits":{"output_bytes":1000000,"frames":10000,"files":10000,"file_bytes":10000000,"processes":1000,"protocol_events":10000,"protocol_body_bytes":1000000,"connections":100,"filesystem_depth":16},"normalization":{"paths":true,"pids":true,"ports":true,"time_bucket_ms":10,"patterns":[]},"replay":{"machine":null,"http":[],"websocket_messages":[],"websocket_connections":[]},"reactive":null}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":4},"manifest":{"type":"object","properties":{"rea_version":{"type":"string","minLength":1},"provider_version":{"type":"string","minLength":1},"platform":{"type":"string","minLength":1},"architecture":{"type":"string","minLength":1},"pty_backend":{"type":"string","const":"node-pty"},"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"completed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$"},"scenario":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"comparison_contract":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"shim_plan":{"type":"array","items":{"$ref":"#/$defs/__schema0"}},"replay_plan":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}},"full_scenario_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"comparison_contract_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"executable_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"normalization_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"shim_plan_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"replay_plan_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["rea_version","provider_version","platform","architecture","pty_backend","started_at","completed_at","scenario","comparison_contract","shim_plan","replay_plan","full_scenario_sha256","comparison_contract_sha256","executable_sha256","normalization_sha256","shim_plan_sha256","replay_plan_sha256"],"additionalProperties":false},"normalization":{"type":"object","properties":{"paths":{"type":"boolean"},"pids":{"type":"boolean"},"ports":{"type":"boolean"},"time_bucket_ms":{"type":"integer","exclusiveMinimum":0,"maximum":60000},"patterns":{"type":"array","items":{"type":"object","properties":{"pattern":{"type":"string","maxLength":500},"replacement":{"type":"string","maxLength":100}},"required":["pattern","replacement"],"additionalProperties":false}}},"required":["paths","pids","ports","time_bucket_ms","patterns"],"additionalProperties":false},"frames":{"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"data":{"type":"string"}},"required":["sequence","at_ms","data"],"additionalProperties":false}},"rendered_frames":{"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"columns":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"rows":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"cursor_x":{"type":"integer","minimum":0,"maximum":9007199254740991},"cursor_y":{"type":"integer","minimum":0,"maximum":9007199254740991},"active_buffer":{"type":"string","enum":["normal","alternate"]},"lines":{"type":"array","items":{"type":"string"}},"serialized_state":{"type":"string"}},"required":["sequence","at_ms","columns","rows","cursor_x","cursor_y","active_buffer","lines","serialized_state"],"additionalProperties":false}},"interaction_events":{"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"scheduled_at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"dispatched_at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"type":{"type":"string","enum":["input","resize","stdin_close","signal"]},"data":{"type":"string"},"outcome":{"type":"string","enum":["dispatched","target_exited","failed"]}},"required":["sequence","scheduled_at_ms","dispatched_at_ms","type","data","outcome"],"additionalProperties":false}},"exit":{"type":"object","properties":{"code":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"signal":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"reason":{"type":"string","enum":["exited","timeout","idle_timeout"]}},"required":["code","signal","reason"],"additionalProperties":false},"settlement":{"type":"object","properties":{"state":{"type":"string","enum":["quiesced","alive_at_deadline","unverifiable"]},"elapsed_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"cleanup_outcome":{"type":"string","enum":["not_required","cleaned","failed"]}},"required":["state","elapsed_ms","cleanup_outcome"],"additionalProperties":false},"process_samples":{"type":"array","items":{"type":"object","properties":{"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"pid":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"parent_pid":{"type":"integer","minimum":0,"maximum":9007199254740991},"command":{"type":"string"},"process_group_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"session_id":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["at_ms","pid","parent_pid","command","process_group_id","session_id"],"additionalProperties":false}},"filesystem_checkpoints":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["file","directory","symlink","other"]},"mode":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","type","mode","size","sha256","symlink_target"],"additionalProperties":false}},"effects":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"status":{"type":"string","enum":["created","modified","deleted","unchanged"]},"before":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["file","directory","symlink","other"]},"mode":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","type","mode","size","sha256","symlink_target"],"additionalProperties":false},{"type":"null"}]},"after":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["file","directory","symlink","other"]},"mode":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","type","mode","size","sha256","symlink_target"],"additionalProperties":false},{"type":"null"}]}},"required":["path","status","before","after"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["name","at_ms","files","effects","truncated"],"additionalProperties":false}},"shim_events":{"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"command":{"type":"string"},"route_index":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"arguments":{"type":"array","items":{"type":"string"}},"working_directory":{"type":"string"},"outcome":{"type":"string","enum":["matched","unmatched","exhausted"]}},"required":["sequence","at_ms","command","route_index","arguments","working_directory","outcome"],"additionalProperties":false}},"protocol_events":{"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"protocol":{"type":"string","enum":["http","websocket"]},"direction":{"type":"string","enum":["request","response","received","sent"]},"method":{"anyOf":[{"type":"string"},{"type":"null"}]},"path":{"anyOf":[{"type":"string"},{"type":"null"}]},"data":{"type":"string"},"outcome":{"type":"string","enum":["matched","unmatched","script_exhausted","disconnected","invalid_state","guard_failed","transition_exhausted","invalid_capture","unexpected_reconnect","limit_exhausted"]}},"required":["sequence","at_ms","protocol","direction","method","path","data","outcome"],"additionalProperties":false}},"replay_transitions":{"default":[],"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"transition_id":{"type":"string","minLength":1,"maxLength":64},"state_before":{"type":"string","minLength":1,"maxLength":64},"state_after":{"type":"string","minLength":1,"maxLength":64},"sensitive_aliases":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":64}}},"required":["sequence","at_ms","transition_id","state_before","state_after","sensitive_aliases"],"additionalProperties":false}},"reactive_run":{"default":null,"anyOf":[{"type":"object","properties":{"status":{"type":"string","enum":["running","finished"]},"outcome":{"anyOf":[{"type":"string","enum":["passed","predicate_timeout","scenario_deadline","ambiguous_match","action_rejected","target_lost","capture_incomplete","cancelled","cleanup_failed"]},{"type":"null"}]},"active_state":{"type":"string","minLength":1,"maxLength":64},"controls":{"default":[],"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"type":"string","enum":["state_deadline","scenario_deadline","target_lost","cancelled","cleanup_failed"]},"after_capture_order":{"type":"integer","minimum":-1,"maximum":9007199254740991}},"required":["sequence","kind","after_capture_order"],"additionalProperties":false}},"transitions":{"maxItems":128,"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"transition_id":{"type":"string","minLength":1,"maxLength":64},"state_before":{"type":"string","minLength":1,"maxLength":64},"state_after":{"anyOf":[{"type":"string","minLength":1,"maxLength":64},{"type":"null"}]},"outcome":{"anyOf":[{"type":"string","enum":["passed","predicate_timeout","scenario_deadline","ambiguous_match","action_rejected","target_lost","capture_incomplete","cancelled","cleanup_failed"]},{"type":"null"}]},"trigger_event_ids":{"maxItems":64,"type":"array","items":{"type":"string","minLength":1}},"action_event_ids":{"maxItems":16,"type":"array","items":{"type":"string","minLength":1}},"action_types":{"maxItems":16,"type":"array","items":{"type":"string","enum":["send_input","resize","close_stdin","send_signal","checkpoint"]}}},"required":["sequence","transition_id","state_before","state_after","outcome","trigger_event_ids","action_event_ids","action_types"],"additionalProperties":false}}},"required":["status","outcome","active_state","controls","transitions"],"additionalProperties":false},{"type":"null"}]},"event_journal":{"default":[],"type":"array","items":{"type":"object","properties":{"capture_order":{"type":"integer","minimum":0,"maximum":9007199254740991},"collection":{"type":"string","enum":["frames","rendered_frames","interaction_events","lifecycle","process_samples","filesystem_checkpoints","shim_events","protocol_events","replay_transitions"]},"index":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["capture_order","collection","index"],"additionalProperties":false}},"files_before":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["file","directory","symlink","other"]},"mode":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","type","mode","size","sha256","symlink_target"],"additionalProperties":false}},"files_after":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["file","directory","symlink","other"]},"mode":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","type","mode","size","sha256","symlink_target"],"additionalProperties":false}},"filesystem_effects":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"status":{"type":"string","enum":["created","modified","deleted","unchanged"]},"before":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["file","directory","symlink","other"]},"mode":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","type","mode","size","sha256","symlink_target"],"additionalProperties":false},{"type":"null"}]},"after":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["file","directory","symlink","other"]},"mode":{"type":"integer","minimum":0,"maximum":9007199254740991},"size":{"type":"integer","minimum":0,"maximum":9007199254740991},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["path","type","mode","size","sha256","symlink_target"],"additionalProperties":false},{"type":"null"}]}},"required":["path","status","before","after"],"additionalProperties":false}},"truncated":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}},"residual_unknowns":{"type":"array","items":{"type":"object","properties":{"scope":{"type":"string","enum":["terminal","interaction","exit","process","filesystem","protocol","shim","cleanup","network"]},"reason":{"type":"string"}},"required":["scope","reason"],"additionalProperties":false}},"cleanup":{"type":"object","properties":{"owned_process_group":{"type":"string","const":"verified"},"temporary_root":{"type":"string","const":"removed"}},"required":["owned_process_group","temporary_root"],"additionalProperties":false}},"required":["schema_version","manifest","normalization","frames","rendered_frames","interaction_events","exit","settlement","process_samples","filesystem_checkpoints","shim_events","protocol_events","replay_transitions","reactive_run","event_journal","files_before","files_after","filesystem_effects","truncated","limitations","residual_unknowns","cleanup"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":true,"launchesProcess":true,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":false}},{"name":"compare_process_captures","analysisOperation":null,"title":"Compare Process Captures","description":"Compare two compatible Process Capture v4 observations across terminal, interaction, lifecycle, process, filesystem, command-shim, HTTP, and WebSocket evidence. Optional trace_spec validates exact events against an explicit partial order or finite trace language; concurrency is never inferred from timestamps or broad sorting. Missing, journal-free, or truncated observations are never treated as equivalent.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"left_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the left observation."},"right_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the right observation."},"trace_spec":{"type":"object","properties":{"version":{"type":"number","const":1,"description":"Value for version."},"events":{"minItems":1,"maxItems":256,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for id."},"source":{"type":"string","enum":["terminal_raw","terminal_rendered","interaction","lifecycle","process","filesystem","http","websocket","shim","replay_transition"],"description":"Value for source."},"exact":{"$ref":"#/$defs/__schema0","description":"Value for exact."},"ignore_fields":{"maxItems":5,"type":"array","items":{"type":"string","enum":["sequence","at_ms","scheduled_at_ms","dispatched_at_ms","elapsed_ms"]},"description":"Value for ignore fields."},"cardinality":{"default":{"kind":"required"},"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"required","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"optional","description":"Value for kind."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"exact","description":"Value for kind."},"count":{"type":"integer","minimum":0,"maximum":10000,"description":"Value for count."}},"required":["kind","count"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"range","description":"Value for kind."},"min":{"type":"integer","minimum":0,"maximum":10000,"description":"Value for min."},"max":{"type":"integer","minimum":0,"maximum":10000,"description":"Value for max."}},"required":["kind","min","max"],"additionalProperties":false}],"description":"Value for cardinality."}},"required":["id","source","exact"],"additionalProperties":false},"description":"Value for events."},"language":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"partial_order","description":"Value for kind."},"happens_before":{"default":[],"maxItems":4096,"type":"array","items":{"type":"object","properties":{"before":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"The earlier or left-hand observation to compare."},"after":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"The later or right-hand observation to compare."}},"required":["before","after"],"additionalProperties":false},"description":"Value for happens before."},"not_before":{"default":[],"maxItems":4096,"type":"array","items":{"type":"object","properties":{"event":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for event."},"anchor":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for anchor."}},"required":["event","anchor"],"additionalProperties":false},"description":"Value for not before."},"unordered_groups":{"default":[],"maxItems":256,"type":"array","items":{"type":"object","properties":{"events":{"minItems":2,"maxItems":256,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},"description":"Value for events."}},"required":["events"],"additionalProperties":false},"description":"Value for unordered groups."},"prefix":{"default":[],"maxItems":4096,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},"description":"Value for prefix."},"suffix":{"default":[],"maxItems":4096,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},"description":"Value for suffix."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"finite_traces","description":"Value for kind."},"variants":{"minItems":1,"maxItems":64,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","description":"Value for id."},"trace":{"maxItems":4096,"type":"array","items":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},{"type":"object","properties":{"unordered":{"minItems":2,"maxItems":256,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},"description":"Value for unordered."}},"required":["unordered"],"additionalProperties":false}]},"description":"Value for trace."}},"required":["id","trace"],"additionalProperties":false},"description":"Value for variants."}},"required":["kind","variants"],"additionalProperties":false}],"description":"Value for language."}},"required":["version","events","language"],"additionalProperties":false,"description":"Value for trace spec."},"max_capture_age_ms":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Maximum permitted capture age ms for this operation."},"unknown_registry_approved":{"description":"Explicit approval to record capture disagreement durably","type":"boolean","const":true}},"required":["left_evidence_id","right_evidence_id"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"examples":[{"left_evidence_id":"ev_0000000000000000000000000000000000000000000000000000000000000000","right_evidence_id":"ev_1111111111111111111111111111111111111111111111111111111111111111"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"terminal":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"interaction":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"exit":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"filesystem":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"protocol":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"process":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"shim":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"first_divergence":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"none"}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"unknown"},"reason":{"type":"string"}},"required":["status","reason"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"found"},"dimension":{"type":"string","enum":["terminal","interaction","exit","filesystem","protocol","process","shim"]},"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"left_at_ms":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"right_at_ms":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"left":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"right":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]}},"required":["status","dimension","index","left_at_ms","right_at_ms","left","right"],"additionalProperties":false}]},"trace":{"type":"object","properties":{"verdict":{"type":"string","enum":["equivalent","different","nonconforming","unknown"]},"left":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail","unknown"]},"matched_variant":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},{"type":"null"}]},"satisfied_constraints":{"type":"array","items":{"type":"string"}},"raw_trace":{"type":"array","items":{"type":"object","properties":{"event_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},"location":{"type":"object","properties":{"collection":{"type":"string","enum":["frames","rendered_frames","interaction_events","lifecycle","process_samples","filesystem_checkpoints","shim_events","protocol_events","replay_transitions"]},"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"capture_order":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["collection","index","capture_order"],"additionalProperties":false}},"required":["event_id","location"],"additionalProperties":false}}},"required":["status","matched_variant","satisfied_constraints","raw_trace"],"additionalProperties":false},"right":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail","unknown"]},"matched_variant":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},{"type":"null"}]},"satisfied_constraints":{"type":"array","items":{"type":"string"}},"raw_trace":{"type":"array","items":{"type":"object","properties":{"event_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"},"location":{"type":"object","properties":{"collection":{"type":"string","enum":["frames","rendered_frames","interaction_events","lifecycle","process_samples","filesystem_checkpoints","shim_events","protocol_events","replay_transitions"]},"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"capture_order":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["collection","index","capture_order"],"additionalProperties":false}},"required":["event_id","location"],"additionalProperties":false}}},"required":["status","matched_variant","satisfied_constraints","raw_trace"],"additionalProperties":false},"diagnostic":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["journal","predicate","cardinality","edge","prefix","suffix","trace"]},"side":{"type":"string","enum":["left","right"]},"message":{"type":"string"},"event_ids":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$"}},"locations":{"type":"array","items":{"type":"object","properties":{"collection":{"type":"string","enum":["frames","rendered_frames","interaction_events","lifecycle","process_samples","filesystem_checkpoints","shim_events","protocol_events","replay_transitions"]},"index":{"type":"integer","minimum":0,"maximum":9007199254740991},"capture_order":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["collection","index","capture_order"],"additionalProperties":false}}},"required":["kind","side","message","event_ids","locations"],"additionalProperties":false},{"type":"null"}]}},"required":["verdict","left","right","diagnostic"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","terminal","interaction","exit","filesystem","protocol","process","shim","first_divergence","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_artifacts","analysisOperation":null,"title":"Compare Artifacts","description":"Compare two bounded sets of inventory_artifact Evidence pages by logical occurrence path, content identity, metadata, and graph relations. Pages must share and satisfy their graph commitment; every delta cites both sets, and gaps yield truncated or unknown, never equivalence.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"left_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the left observations."},"right_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the right observations."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"description":"Explicit approval to record incomplete or differing evidence","type":"boolean","const":true}},"required":["left_evidence_ids","right_evidence_ids"],"additionalProperties":false,"examples":[{"left_evidence_ids":["ev_b74d3ff6cdf54af4e4f3dab00965780cb5ef2b375188c75c1980d0998c5a05a4"],"right_evidence_ids":["ev_74ecec364f3987b332db851177d2117a89d49df4ba89ab5d87299940092d7bb4"],"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"left_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"right_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"summary":{"type":"object","properties":{"unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"added":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"changed":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991},"contradiction":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["unchanged","added","removed","changed","unknown","contradiction"],"additionalProperties":false},"changes":{"type":"object","properties":{"items":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"classification":{"type":"string","enum":["added","removed","changed","unknown","contradiction"]},"logical_path":{"type":"string","minLength":1,"maxLength":4096},"dimensions":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","enum":["content","kind","format","size","executable","relations","metadata","availability","integrity"]}},"left_occurrence_id":{"anyOf":[{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},{"type":"null"}]},"right_occurrence_id":{"anyOf":[{"type":"string","pattern":"^occ_[a-f0-9]{64}$"},{"type":"null"}]},"left_artifact_id":{"anyOf":[{"type":"string","pattern":"^art_[a-f0-9]{64}$"},{"type":"null"}]},"right_artifact_id":{"anyOf":[{"type":"string","pattern":"^art_[a-f0-9]{64}$"},{"type":"null"}]},"evidence_links":{"minItems":2,"maxItems":200,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["classification","logical_path","dimensions","left_occurrence_id","right_occurrence_id","left_artifact_id","right_artifact_id","evidence_links"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":500},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","left_manifest_id","right_manifest_id","summary","changes","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_functions","analysisOperation":null,"title":"Compare Functions","description":"Compare two explicit bounded sets of analyze_function Evidence pages across identity, exact provider text, calls, references, strings, and address-normalized CFG topology. Missing or provider-incompatible facets remain truncated or unknown; every conclusion cites both Evidence sets.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"left_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the left observations."},"right_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the right observations."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["left_evidence_ids","right_evidence_ids"],"additionalProperties":false,"examples":[{"left_evidence_ids":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e"],"right_evidence_ids":["ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown"]},"function_match":{"type":"object","properties":{"status":{"type":"string","enum":["matched","mismatched","ambiguous","unknown"]},"method":{"type":"string","enum":["explicit","symbol"]},"left_name":{"type":"string"},"right_name":{"type":"string"}},"required":["status","method","left_name","right_name"],"additionalProperties":false},"left_subject_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"right_subject_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"summary":{"type":"object","properties":{"unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"changed":{"type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["unchanged","changed","truncated","unknown"],"additionalProperties":false},"dimensions":{"minItems":8,"maxItems":8,"type":"array","items":{"type":"object","properties":{"dimension":{"type":"string","enum":["identity","pseudocode","assembly","comments","calls","references","strings_names","cfg"]},"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown"]},"left_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"right_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"left_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"right_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"text_delta":{"anyOf":[{"type":"object","properties":{"added_lines":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed_lines":{"type":"integer","minimum":0,"maximum":9007199254740991},"hunks":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["added_lines","removed_lines","hunks"],"additionalProperties":false},{"type":"null"}]},"conclusion_kind":{"type":"string","enum":["derived_relationship","contradiction","unresolved_branch"]},"evidence_links":{"minItems":2,"maxItems":200,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["dimension","status","left_digest","right_digest","left_count","right_count","text_delta","conclusion_kind","evidence_links","limitations"],"additionalProperties":false}},"changes":{"type":"object","properties":{"items":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"dimension":{"type":"string","enum":["identity","pseudocode","assembly","comments","calls","references","strings_names","cfg"]},"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown"]},"left_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"right_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"left_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"right_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"text_delta":{"anyOf":[{"type":"object","properties":{"added_lines":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed_lines":{"type":"integer","minimum":0,"maximum":9007199254740991},"hunks":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["added_lines","removed_lines","hunks"],"additionalProperties":false},{"type":"null"}]},"conclusion_kind":{"type":"string","enum":["derived_relationship","contradiction","unresolved_branch"]},"evidence_links":{"minItems":2,"maxItems":200,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["dimension","status","left_digest","right_digest","left_count","right_count","text_delta","conclusion_kind","evidence_links","limitations"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":100},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","function_match","left_subject_sha256","right_subject_sha256","summary","dimensions","changes","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"compare_bundles","analysisOperation":null,"title":"Compare Bundles","description":"Compare two canonical Evidence v2 bundles by exact record membership, explicit one-to-one observation pairs, and complete residual-unknown revision histories. Missing bundle members describe omission only, never behavioral equivalence; output is digest-anchored and deterministically paginated.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"left_bundle_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for left bundle."},"right_bundle_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for right bundle."},"record_pairs":{"default":[],"maxItems":500,"type":"array","items":{"type":"object","properties":{"left_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the left observation."},"right_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the right observation."}},"required":["left_evidence_id","right_evidence_id"],"additionalProperties":false},"description":"Value for record pairs."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."}},"required":["left_bundle_path","right_bundle_path"],"additionalProperties":false,"examples":[{"left_bundle_path":"/approved/left-evidence.json","right_bundle_path":"/approved/right-evidence.json","record_pairs":[],"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"string","enum":["unchanged","changed","unknown"]},"left_bundle_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"right_bundle_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"summary":{"type":"object","properties":{"records_unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"records_added":{"type":"integer","minimum":0,"maximum":9007199254740991},"records_removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"records_changed":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknowns_unchanged":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknowns_added":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknowns_removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknowns_advanced":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknowns_diverged":{"type":"integer","minimum":0,"maximum":9007199254740991},"unresolved":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["records_unchanged","records_added","records_removed","records_changed","unknowns_unchanged","unknowns_added","unknowns_removed","unknowns_advanced","unknowns_diverged","unresolved"],"additionalProperties":false},"changes":{"type":"object","properties":{"items":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"entity":{"type":"string","enum":["evidence","residual_unknown"]},"key":{"type":"string","minLength":1},"classification":{"type":"string","enum":["added","removed","changed","unknown","history_advanced","history_diverged"]},"conclusion_kind":{"type":"string","enum":["observed_change","contradiction","unresolved_branch"]},"left_evidence_ids":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"right_evidence_ids":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"left_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"right_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"limitations":{"type":"array","items":{"type":"string"}}},"required":["entity","key","classification","conclusion_kind","left_evidence_ids","right_evidence_ids","left_digest","right_digest","limitations"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":500},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","left_bundle_sha256","right_bundle_sha256","summary","changes","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"find_changed_behavior","analysisOperation":null,"title":"Find Changed Behavior","description":"Aggregate validated comparison Evidence, or automatically run and resume a persistent cross-version artifact investigation beneath an approved evidence root. Runtime observations remain distinct from static behavior candidates; missing or incomplete comparisons produce unresolved findings, never causal claims.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"comparisons":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},"description":"Validated comparison Evidence records to aggregate."},"investigation_run":{"type":"object","properties":{"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"workspace_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Approved local path of the persistent investigation workspace."},"workspace_name":{"default":"default","type":"string","minLength":1,"maxLength":200,"description":"Value for workspace name."},"expected_workspace_revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Expected workspace revision used to reject stale or mismatched input."},"replay_run_id":{"type":"string","pattern":"^run_[a-f0-9]{64}$","description":"Value for replay run id."},"left_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for left."},"right_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for right."},"integrity_policy":{"default":"fail","type":"string","enum":["fail","record-and-continue"],"description":"Value for integrity policy."},"integrity_continue_approved":{"default":false,"type":"boolean","description":"Explicit operator approval for integrity continue."},"max_integrity_mismatches":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted integrity mismatches for this operation."},"options":{"default":{"max_entries":10000,"max_total_bytes":1073741824,"max_entry_bytes":268435456,"max_compression_ratio":1000,"max_depth":20,"max_path_bytes":4096,"page_size":500,"change_limit":500},"type":"object","properties":{"max_entries":{"default":10000,"type":"integer","minimum":1,"maximum":50000,"description":"Maximum permitted entries for this operation."},"max_total_bytes":{"default":1073741824,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted total bytes for this operation."},"max_entry_bytes":{"default":268435456,"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Maximum permitted entry bytes for this operation."},"max_compression_ratio":{"default":1000,"type":"number","minimum":1,"maximum":100000,"description":"Maximum permitted compression ratio for this operation."},"max_depth":{"default":20,"type":"integer","minimum":0,"maximum":100,"description":"Maximum permitted depth for this operation."},"max_path_bytes":{"default":4096,"type":"integer","minimum":1,"maximum":65535,"description":"Maximum permitted path bytes for this operation."},"page_size":{"default":500,"type":"integer","minimum":1,"maximum":500,"description":"Value for page size."},"change_limit":{"default":500,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of change entries to return."}},"additionalProperties":false,"description":"Value for options."}},"required":["approved","workspace_path","left_path","right_path"],"additionalProperties":false,"description":"Value for investigation run."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"additionalProperties":false,"examples":[{"comparisons":[{"schema_version":2,"evidence_id":"ev_68c195e7d5d8688f3eb0764a9a868355fcc6f8810fc9ada1a0c8579c21ea2bf8","subject":null,"provider":{"id":"rea-function-comparison","name":"REA function comparison","version":"1"},"predicate_type":"rea.function-comparison/v1","operation":"compare_functions","parameters":{"left_evidence_ids":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e"],"right_evidence_ids":["ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"offset":0,"limit":100},"raw_result":null,"normalized_result":{"status":"unknown","function_match":{"status":"matched","method":"symbol","left_name":"main","right_name":"main"},"left_subject_sha256":"0000000000000000000000000000000000000000000000000000000000000000","right_subject_sha256":"1111111111111111111111111111111111111111111111111111111111111111","summary":{"unchanged":6,"changed":1,"truncated":0,"unknown":1},"dimensions":[{"dimension":"identity","status":"unchanged","left_digest":"dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65","right_digest":"dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65","left_count":null,"right_count":null,"text_delta":null,"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]},{"dimension":"pseudocode","status":"changed","left_digest":"64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554","right_digest":"c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1","left_count":9,"right_count":9,"text_delta":{"added_lines":1,"removed_lines":1,"hunks":2},"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]},{"dimension":"assembly","status":"unknown","left_digest":null,"right_digest":null,"left_count":0,"right_count":0,"text_delta":null,"conclusion_kind":"unresolved_branch","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":["Assembly is opaque provider text; relocation normalization is unavailable."]},{"dimension":"comments","status":"unchanged","left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","left_count":0,"right_count":0,"text_delta":null,"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]},{"dimension":"calls","status":"unchanged","left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","left_count":0,"right_count":0,"text_delta":null,"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]},{"dimension":"references","status":"unchanged","left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","left_count":0,"right_count":0,"text_delta":null,"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]},{"dimension":"strings_names","status":"unchanged","left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","left_count":0,"right_count":0,"text_delta":null,"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]},{"dimension":"cfg","status":"unchanged","left_digest":"e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0","right_digest":"e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0","left_count":1,"right_count":1,"text_delta":null,"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]}],"changes":{"items":[{"dimension":"pseudocode","status":"changed","left_digest":"64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554","right_digest":"c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1","left_count":9,"right_count":9,"text_delta":{"added_lines":1,"removed_lines":1,"hunks":2},"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]},{"dimension":"assembly","status":"unknown","left_digest":null,"right_digest":null,"left_count":0,"right_count":0,"text_delta":null,"conclusion_kind":"unresolved_branch","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":["Assembly is opaque provider text; relocation normalization is unavailable."]}],"offset":0,"limit":100,"total":2,"next_offset":null},"limitations":[]},"confidence":"derived","authority":"analyst-inference","environment":null,"limitations":["Artifact identity is unavailable for this observation."],"locations":[],"evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"]}],"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"behavior_status":{"type":"string","enum":["observed_changed","observed_unchanged","unknown","truncated"]},"summary":{"type":"object","properties":{"observed_changes":{"type":"integer","minimum":0,"maximum":9007199254740991},"static_candidates":{"type":"integer","minimum":0,"maximum":9007199254740991},"contradictions":{"type":"integer","minimum":0,"maximum":9007199254740991},"unresolved":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["observed_changes","static_candidates","contradictions","unresolved"],"additionalProperties":false},"findings":{"type":"object","properties":{"items":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"scope":{"type":"string","enum":["runtime","protocol","resource","static_candidate"]},"dimension":{"type":"string","minLength":1},"classification":{"type":"string","enum":["observed_change","derived_relationship","contradiction","unresolved_branch"]},"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"source_comparison_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"evidence_links":{"minItems":3,"maxItems":201,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["scope","dimension","classification","status","source_comparison_id","evidence_links","limitations"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":100},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"evidence_links":{"minItems":3,"maxItems":20100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}},"investigation_run":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"workspace_id":{"type":"string","pattern":"^ws_[a-f0-9]{64}$"},"run_id":{"type":"string","pattern":"^run_[a-f0-9]{64}$"},"left_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"right_manifest_id":{"type":"string","pattern":"^agm_[a-f0-9]{64}$"},"inventory_evidence_count":{"type":"integer","minimum":2,"maximum":200},"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"limitations":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":4096}}},"required":["schema_version","workspace_id","run_id","left_manifest_id","right_manifest_id","inventory_evidence_count","comparison_evidence_id","limitations"],"additionalProperties":false}},"required":["behavior_status","summary","findings","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"build_call_path","analysisOperation":null,"title":"Build Call Path","description":"Build bounded shortest-first direct-callee paths from explicit analyze_function Evidence groups using exact canonical addresses. Missing dossiers, incomplete callee pages, provider mixing, and depth frontiers remain unknown; every node and edge cites source Evidence.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"functions":{"minItems":1,"maxItems":500,"type":"array","items":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false}}]},"description":"Value for functions."},"start":{"type":"object","properties":{"address":{"type":"string","pattern":"^0[xX][0-9a-fA-F]+$","description":"Value for address."}},"required":["address"],"additionalProperties":false,"description":"Value for start."},"goal":{"type":"object","properties":{"address":{"type":"string","pattern":"^0[xX][0-9a-fA-F]+$","description":"Value for address."}},"required":["address"],"additionalProperties":false,"description":"Value for goal."},"max_depth":{"default":8,"type":"integer","minimum":0,"maximum":32,"description":"Maximum permitted depth for this operation."},"max_paths":{"default":10,"type":"integer","minimum":1,"maximum":100,"description":"Maximum permitted paths for this operation."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["functions","start","goal"],"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"additionalProperties":false,"examples":[{"functions":[{"schema_version":2,"evidence_id":"ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","subject":{"name":"function-0","digest":{"sha256":"0000000000000000000000000000000000000000000000000000000000000000"},"format":"mach-o","architecture":null,"local_path":"/tmp/function-0"},"provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"},"predicate_type":"rea.analysis/v2","operation":"analyze_function","parameters":{"procedure":"main","include_assembly":false,"limit":100,"max_pseudocode_chars":20000,"max_instructions":500,"pseudocode_offset":0,"assembly_offset":0,"collection_offset":{"comments":0,"callers":0,"callees":0,"incoming_references":0,"outgoing_references":0,"referenced_strings":0,"referenced_names":0,"basic_blocks":0}},"raw_result":null,"normalized_result":{"procedure":{"address":"0x1000","name":"main","signature":"int main(void)","locals":[]},"pseudocode":{"text":"return 0;","total_chars":9,"returned_chars":9,"truncated":false,"next_offset":null},"assembly":{"items":[],"total":0,"returned":0,"truncated":false,"next_offset":null},"comments":{"items":[],"total":0,"returned":0,"truncated":false,"next_offset":null},"callers":{"items":[],"total":0,"returned":0,"truncated":false,"next_offset":null},"callees":{"items":[],"total":0,"returned":0,"truncated":false,"next_offset":null},"incoming_references":{"items":[],"total":0,"returned":0,"truncated":false,"next_offset":null},"outgoing_references":{"items":[],"total":0,"returned":0,"truncated":false,"next_offset":null},"referenced_strings":{"items":[],"total":0,"returned":0,"truncated":false,"next_offset":null},"referenced_names":{"items":[],"total":0,"returned":0,"truncated":false,"next_offset":null},"basic_blocks":{"items":[{"start":"0x1000","end":"0x1001","successors":[]}],"total":1,"returned":1,"truncated":false,"next_offset":null},"instruction_scan":{"scanned":1,"truncated":false}},"confidence":"derived","authority":"shipped-artifact","environment":null,"limitations":[],"locations":[],"evidence_links":[]}],"start":{"address":"0x1000"},"goal":{"address":"0x1000"},"max_depth":8,"max_paths":10,"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"string","enum":["found","not_found","unknown","truncated"]},"start":{"type":"string","pattern":"^0x(?:0|[1-9a-f][0-9a-f]*)$"},"goal":{"type":"string","pattern":"^0x(?:0|[1-9a-f][0-9a-f]*)$"},"shortest_hops":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"search_scope":{"type":"object","properties":{"max_depth":{"type":"integer","minimum":0,"maximum":32},"max_paths":{"type":"integer","minimum":1,"maximum":100},"exhaustive":{"type":"boolean"}},"required":["max_depth","max_paths","exhaustive"],"additionalProperties":false},"explored":{"type":"object","properties":{"nodes":{"type":"integer","minimum":0,"maximum":9007199254740991},"edges":{"type":"integer","minimum":0,"maximum":9007199254740991},"depth_reached":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["nodes","edges","depth_reached"],"additionalProperties":false},"paths":{"type":"object","properties":{"items":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"hops":{"type":"integer","minimum":0,"maximum":9007199254740991},"nodes":{"minItems":1,"maxItems":33,"type":"array","items":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x(?:0|[1-9a-f][0-9a-f]*)$"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"evidence_links":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["address","name","evidence_links"],"additionalProperties":false}},"edges":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"source":{"type":"string","pattern":"^0x(?:0|[1-9a-f][0-9a-f]*)$"},"target":{"type":"string","pattern":"^0x(?:0|[1-9a-f][0-9a-f]*)$"},"evidence_links":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["source","target","evidence_links"],"additionalProperties":false}},"evidence_links":{"minItems":1,"maxItems":3300,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["hops","nodes","edges","evidence_links"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":100},"total":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"returned":{"type":"integer","minimum":0,"maximum":100},"truncated":{"type":"boolean"},"lower_bound":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","returned","truncated","lower_bound","next_offset"],"additionalProperties":false},"evidence_links":{"minItems":1,"maxItems":50000,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","start","goal","shortest_hops","search_scope","explored","paths","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"correlate_static_and_runtime","analysisOperation":null,"title":"Correlate Static And Runtime","description":"Evaluate explicit caller-declared hypotheses between exact static comparison findings and runtime comparison dimensions. Similar names or paths are never auto-matched, consistent cochange never proves causality, and unknown or truncated inputs remain unresolved.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"static_comparisons":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},"description":"Value for static comparisons."},"runtime_comparisons":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"schema_version":{"type":"number","const":2,"description":"Version of this structured result schema."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"subject":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"digest":{"type":"object","properties":{"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for sha256."}},"required":["sha256"],"additionalProperties":false,"description":"Value for digest."},"format":{"type":"string","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"description":"Declared input artifact format."},"architecture":{"anyOf":[{"type":"string","enum":["x86","x86_64","arm","arm64"]},{"type":"null"}],"description":"Value for architecture."},"local_path":{"type":"string","description":"Local filesystem path for local."}},"required":["name","digest","format","architecture","local_path"],"additionalProperties":false},{"type":"null"}],"description":"Value for subject."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"predicate_type":{"type":"string","minLength":1,"description":"Value for predicate type."},"operation":{"type":"string","minLength":1,"description":"Value for operation."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for confidence."},"authority":{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"description":"Value for authority."},"environment":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"platform":{"type":"string","minLength":1,"description":"Value for platform."},"architecture":{"type":"string","minLength":1,"description":"Value for architecture."},"isolation":{"type":"string","enum":["none","process","container","virtual-machine"],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for environment."},"limitations":{"type":"array","items":{"type":"string"},"description":"Value for limitations."},"locations":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"address","description":"Value for kind."},"address":{"type":"string","minLength":1,"description":"Value for address."}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"address-range","description":"Value for kind."},"start":{"type":"string","minLength":1,"description":"Value for start."},"end":{"type":"string","minLength":1,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"artifact-path","description":"Value for kind."},"path":{"type":"string","minLength":1,"description":"Local filesystem path used by this operation."}},"required":["kind","path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset","description":"Value for kind."},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."}},"required":["kind","offset"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"file-offset-range","description":"Value for kind."},"start":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for start."},"end":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Value for end."}},"required":["kind","start","end"],"additionalProperties":false}]},"description":"Value for locations."},"evidence_links":{"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence links."},"analysis_profile":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"provider":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Value for id."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."},"version":{"type":"string","minLength":1,"description":"Value for version."}},"required":["id","name","version"],"additionalProperties":false,"description":"Value for provider."},"provider_profile_schema_version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for provider profile schema version."},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters."},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for digest."}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"additionalProperties":false,"description":"Value for analysis profile."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"additionalProperties":false},"description":"Value for runtime comparisons."},"mappings":{"minItems":1,"maxItems":500,"type":"array","items":{"type":"object","properties":{"static":{"type":"object","properties":{"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the comparison observation."},"selector":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact","description":"Value for kind."},"logical_path":{"type":"string","minLength":1,"maxLength":4096,"description":"Local filesystem path for logical."}},"required":["kind","logical_path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"function","description":"Value for kind."},"dimension":{"type":"string","enum":["identity","pseudocode","assembly","comments","calls","references","strings_names","cfg"],"description":"Value for dimension."}},"required":["kind","dimension"],"additionalProperties":false}],"description":"Value for selector."}},"required":["comparison_evidence_id","selector"],"additionalProperties":false,"description":"Value for static."},"runtime":{"type":"object","properties":{"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the comparison observation."},"dimension":{"type":"string","enum":["terminal","interaction","exit","filesystem","protocol","process","shim"],"description":"Value for dimension."}},"required":["comparison_evidence_id","dimension"],"additionalProperties":false,"description":"Value for runtime."},"side_alignment":{"type":"string","enum":["left_to_left","left_to_right"],"description":"Value for side alignment."},"hypothesis":{"type":"object","properties":{"statement":{"type":"string","minLength":1,"maxLength":500,"description":"Value for statement."},"expected_pattern":{"type":"string","enum":["cochanged","static_only","runtime_only","both_unchanged"],"description":"Expected pattern used to reject stale or mismatched input."}},"required":["statement","expected_pattern"],"additionalProperties":false,"description":"Value for hypothesis."}},"required":["static","runtime","side_alignment","hypothesis"],"additionalProperties":false},"description":"Value for mappings."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["static_comparisons","runtime_comparisons","mappings"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}},"examples":[{"static_comparisons":[{"schema_version":2,"evidence_id":"ev_68c195e7d5d8688f3eb0764a9a868355fcc6f8810fc9ada1a0c8579c21ea2bf8","subject":null,"provider":{"id":"rea-function-comparison","name":"REA function comparison","version":"1"},"predicate_type":"rea.function-comparison/v1","operation":"compare_functions","parameters":{"left_evidence_ids":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e"],"right_evidence_ids":["ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"offset":0,"limit":100},"raw_result":null,"normalized_result":{"status":"unknown","function_match":{"status":"matched","method":"symbol","left_name":"main","right_name":"main"},"left_subject_sha256":"0000000000000000000000000000000000000000000000000000000000000000","right_subject_sha256":"1111111111111111111111111111111111111111111111111111111111111111","summary":{"unchanged":6,"changed":1,"truncated":0,"unknown":1},"dimensions":[{"dimension":"identity","status":"unchanged","left_digest":"dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65","right_digest":"dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65","left_count":null,"right_count":null,"text_delta":null,"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]},{"dimension":"pseudocode","status":"changed","left_digest":"64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554","right_digest":"c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1","left_count":9,"right_count":9,"text_delta":{"added_lines":1,"removed_lines":1,"hunks":2},"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]},{"dimension":"assembly","status":"unknown","left_digest":null,"right_digest":null,"left_count":0,"right_count":0,"text_delta":null,"conclusion_kind":"unresolved_branch","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":["Assembly is opaque provider text; relocation normalization is unavailable."]},{"dimension":"comments","status":"unchanged","left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","left_count":0,"right_count":0,"text_delta":null,"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]},{"dimension":"calls","status":"unchanged","left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","left_count":0,"right_count":0,"text_delta":null,"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]},{"dimension":"references","status":"unchanged","left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","left_count":0,"right_count":0,"text_delta":null,"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]},{"dimension":"strings_names","status":"unchanged","left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","left_count":0,"right_count":0,"text_delta":null,"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]},{"dimension":"cfg","status":"unchanged","left_digest":"e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0","right_digest":"e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0","left_count":1,"right_count":1,"text_delta":null,"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]}],"changes":{"items":[{"dimension":"pseudocode","status":"changed","left_digest":"64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554","right_digest":"c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1","left_count":9,"right_count":9,"text_delta":{"added_lines":1,"removed_lines":1,"hunks":2},"conclusion_kind":"derived_relationship","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":[]},{"dimension":"assembly","status":"unknown","left_digest":null,"right_digest":null,"left_count":0,"right_count":0,"text_delta":null,"conclusion_kind":"unresolved_branch","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":["Assembly is opaque provider text; relocation normalization is unavailable."]}],"offset":0,"limit":100,"total":2,"next_offset":null},"limitations":[]},"confidence":"derived","authority":"analyst-inference","environment":null,"limitations":["Artifact identity is unavailable for this observation."],"locations":[],"evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"]}],"runtime_comparisons":[{"schema_version":2,"evidence_id":"ev_2ffc472e561cea4b5e65ddaf7b80bc112b7ed6d0d023f0cf7398bc2068a12e2d","subject":null,"provider":{"id":"rea-process","name":"REA deterministic process harness","version":"3"},"predicate_type":"rea.process-comparison/v3","operation":"compare_process_captures","parameters":{"left_evidence_id":"ev_0014950a3b67b96d5d182a51c5a271959828fe6a91db55fc507dd5a9c2a5ecaf","right_evidence_id":"ev_5d45bc669ea10694f3bdf3b325e2048844da96a621b717ad252d667af53df590","left_normalization":{"paths":true,"pids":true,"ports":true,"time_bucket_ms":10,"patterns":[]},"right_normalization":{"paths":true,"pids":true,"ports":true,"time_bucket_ms":10,"patterns":[]}},"raw_result":null,"normalized_result":{"status":"unchanged","terminal":"unchanged","interaction":"unchanged","exit":"unchanged","filesystem":"unchanged","protocol":"unchanged","process":"unchanged","shim":"unchanged","first_divergence":{"status":"none"},"limitations":[]},"confidence":"derived","authority":"analyst-inference","environment":null,"limitations":["Artifact identity is unavailable for this observation."],"locations":[],"evidence_links":["ev_0014950a3b67b96d5d182a51c5a271959828fe6a91db55fc507dd5a9c2a5ecaf","ev_5d45bc669ea10694f3bdf3b325e2048844da96a621b717ad252d667af53df590"]}],"mappings":[{"static":{"comparison_evidence_id":"ev_68c195e7d5d8688f3eb0764a9a868355fcc6f8810fc9ada1a0c8579c21ea2bf8","selector":{"kind":"function","dimension":"pseudocode"}},"runtime":{"comparison_evidence_id":"ev_2ffc472e561cea4b5e65ddaf7b80bc112b7ed6d0d023f0cf7398bc2068a12e2d","dimension":"terminal"},"side_alignment":"left_to_left","hypothesis":{"statement":"Static implementation changed without terminal change.","expected_pattern":"static_only"}}],"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"string","enum":["correlated","contradicted","unknown","truncated"]},"summary":{"type":"object","properties":{"hypotheses":{"type":"integer","minimum":0,"maximum":9007199254740991},"contradictions":{"type":"integer","minimum":0,"maximum":9007199254740991},"unresolved":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["hypotheses","contradictions","unresolved"],"additionalProperties":false},"correlations":{"type":"object","properties":{"items":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"correlation_id":{"type":"string","pattern":"^cor_[a-f0-9]{64}$"},"static":{"type":"object","properties":{"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"selector":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"artifact"},"logical_path":{"type":"string","minLength":1,"maxLength":4096}},"required":["kind","logical_path"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"function"},"dimension":{"type":"string","enum":["identity","pseudocode","assembly","comments","calls","references","strings_names","cfg"]}},"required":["kind","dimension"],"additionalProperties":false}]},"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"conclusion_kind":{"type":"string","enum":["derived_relationship","contradiction","unresolved_branch"]}},"required":["comparison_evidence_id","selector","status","conclusion_kind"],"additionalProperties":false},"runtime":{"type":"object","properties":{"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"dimension":{"type":"string","enum":["terminal","interaction","exit","filesystem","protocol","process","shim"]},"status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]}},"required":["comparison_evidence_id","dimension","status"],"additionalProperties":false},"side_alignment":{"type":"string","enum":["left_to_left","left_to_right"]},"hypothesis":{"type":"object","properties":{"statement":{"type":"string","minLength":1,"maxLength":500},"expected_pattern":{"type":"string","enum":["cochanged","static_only","runtime_only","both_unchanged"]}},"required":["statement","expected_pattern"],"additionalProperties":false},"observed_pattern":{"type":"string","enum":["cochanged","static_only","runtime_only","both_unchanged","unknown","truncated"]},"classification":{"type":"string","enum":["hypothesis","contradiction","unresolved_branch"]},"evidence_links":{"minItems":2,"maxItems":20100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["correlation_id","static","runtime","side_alignment","hypothesis","observed_pattern","classification","evidence_links","limitations"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":100},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"evidence_links":{"minItems":2,"maxItems":20100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","summary","correlations","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"verify_reconstruction","analysisOperation":null,"title":"Verify Reconstruction","description":"Verify a finite typed behavioral and structural specification against a canonical Evidence bundle. Pass means every declared claim has complete comparable authority—not global source equivalence; changed claims fail and missing, limited, or unresolved evidence stays unknown.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"specification":{"type":"object","properties":{"schema_version":{"type":"number","const":1,"description":"Version of this structured result schema."},"name":{"type":"string","minLength":1,"maxLength":200,"description":"Exact name used by this operation."},"claims":{"minItems":1,"maxItems":100,"type":"array","items":{"oneOf":[{"type":"object","properties":{"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,99}$","description":"Value for claim id."},"title":{"type":"string","minLength":1,"maxLength":500,"description":"Value for title."},"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the comparison observation."},"kind":{"type":"string","const":"behavioral","description":"Value for kind."},"dimension":{"type":"string","enum":["overall","terminal","interaction","exit","filesystem","protocol","process","shim"],"description":"Value for dimension."}},"required":["claim_id","title","comparison_evidence_id","kind","dimension"],"additionalProperties":false},{"type":"object","properties":{"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,99}$","description":"Value for claim id."},"title":{"type":"string","minLength":1,"maxLength":500,"description":"Value for title."},"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the comparison observation."},"kind":{"type":"string","const":"structural-function","description":"Value for kind."},"dimension":{"type":"string","enum":["overall","identity","pseudocode","assembly","comments","calls","references","strings_names","cfg"],"description":"Value for dimension."}},"required":["claim_id","title","comparison_evidence_id","kind","dimension"],"additionalProperties":false},{"type":"object","properties":{"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,99}$","description":"Value for claim id."},"title":{"type":"string","minLength":1,"maxLength":500,"description":"Value for title."},"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Exact Evidence v2 identifier for the comparison observation."},"kind":{"type":"string","const":"structural-artifact","description":"Value for kind."},"dimension":{"type":"string","const":"overall","description":"Value for dimension."}},"required":["claim_id","title","comparison_evidence_id","kind","dimension"],"additionalProperties":false}]},"description":"Value for claims."}},"required":["schema_version","name","claims"],"additionalProperties":false,"description":"Value for specification."},"coverage":{"type":"object","properties":{"workspace_id":{"type":"string","pattern":"^rcw_[a-f0-9]{64}$","description":"Value for workspace id."},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Value for revision."},"revision_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Exact SHA-256 digest of revision."},"boundary_id":{"type":"string","minLength":1,"maxLength":200,"description":"Exact reconstruction boundary identifier to evaluate."}},"required":["workspace_id","revision","revision_sha256","boundary_id"],"additionalProperties":false,"description":"Exact reconstruction-coverage commitment to verify."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return in this page."},"unknown_registry_approved":{"type":"boolean","const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry."}},"required":["specification"],"additionalProperties":false,"examples":[{"specification":{"schema_version":1,"name":"Terminal compatibility","claims":[{"claim_id":"terminal-output","title":"Terminal output remains equivalent","comparison_evidence_id":"ev_2ffc472e561cea4b5e65ddaf7b80bc112b7ed6d0d023f0cf7398bc2068a12e2d","kind":"behavioral","dimension":"terminal"}]},"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail","unknown"]},"specification_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"summary":{"type":"object","properties":{"total":{"type":"integer","minimum":1,"maximum":100},"passed":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991},"behavioral":{"type":"integer","minimum":0,"maximum":9007199254740991},"structural":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["total","passed","failed","unknown","behavioral","structural"],"additionalProperties":false},"claims":{"type":"object","properties":{"items":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"claim_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,99}$"},"kind":{"type":"string","enum":["behavioral","structural-function","structural-artifact"]},"dimension":{"type":"string","minLength":1},"status":{"type":"string","enum":["pass","fail","unknown"]},"observed_status":{"type":"string","enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"]},"comparison_evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"left_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"right_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"evidence_links":{"minItems":3,"maxItems":201,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"unknown_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["claim_id","kind","dimension","status","observed_status","comparison_evidence_id","left_evidence_ids","right_evidence_ids","evidence_links","unknown_ids","limitations"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":100},"total":{"type":"integer","minimum":1,"maximum":100},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["items","offset","limit","total","next_offset"],"additionalProperties":false},"recommended_probes":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200},"rationale":{"type":"string","minLength":1,"maxLength":1000},"claim_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,99}$"}},"unknown_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"}}},"required":["operation","rationale","claim_ids","unknown_ids"],"additionalProperties":false}},"evidence_links":{"minItems":3,"maxItems":20100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"limitations":{"type":"array","items":{"type":"string"}}},"required":["status","specification_sha256","summary","claims","recommended_probes","evidence_links","limitations"],"additionalProperties":false,"description":"Primary structured result returned by this operation."},"evidence_id":{"type":"string","pattern":"^ev_[a-f0-9]{64}$","description":"Stable identifier of the recorded Evidence v2 observation."},"evidence_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","description":"Session resource URI for the recorded Evidence v2 observation."}},"required":["result","evidence_id","evidence_uri"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"list_unknowns","analysisOperation":null,"title":"List Unknowns","description":"List current residual-unknown heads in deterministic ID order, with optional exact status, severity, and domain filters. Pages default to 100 items; while has_more is true, pass next_offset as offset and continue until false. This is read-only; unresolved, contradicted, and non-truth dispositions remain distinct.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"],"description":"Current lifecycle or verification status."},"severity":{"type":"string","enum":["low","medium","high","critical"],"description":"Value for severity."},"domain":{"type":"string","minLength":1,"maxLength":100,"description":"Value for domain."},"offset":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Zero-based index of the first result to return."},"limit":{"default":100,"type":"integer","minimum":1,"maximum":500,"description":"Maximum number of results to return in this page."}},"additionalProperties":false,"examples":[{"offset":0,"limit":100}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"unknown":{"type":"object","properties":{"registry_version":{"type":"number","const":1},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"previous_revision_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"revision_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"question":{"type":"string","minLength":1,"maxLength":1000},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"]},"severity":{"type":"string","enum":["low","medium","high","critical"]},"domain":{"type":"string","minLength":1,"maxLength":100},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}]},"required_confidence":{"type":"string","enum":["observed","derived","inferred"]},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}]},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200},"rationale":{"type":"string","minLength":1,"maxLength":1000}},"required":["operation","rationale"],"additionalProperties":false}},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"]},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"}},"required":["type","unknown_id"],"additionalProperties":false}},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified"},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"]},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}]},"mutation_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"additionalProperties":false},"uri":{"type":"string","pattern":"^rea:\\\\/\\\\/unknown\\\\/unk_[a-f0-9]{64}$"}},"required":["unknown","uri"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":500},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"has_more":{"type":"boolean"}},"required":["items","offset","limit","total","next_offset","has_more"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":false,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"record_unknown","analysisOperation":null,"title":"Record Unknown","description":"Create one deterministic residual unknown and immutable mutation evidence. Requires approved: true, validates all evidence and relationship references, and rejects duplicate stable identity.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"question":{"type":"string","minLength":1,"maxLength":1000,"description":"Concrete unresolved question to retain for later investigation."},"severity":{"type":"string","enum":["low","medium","high","critical"],"description":"Value for severity."},"domain":{"type":"string","minLength":1,"maxLength":100,"description":"Value for domain."},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}],"description":"Value for required authority."},"required_confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for required confidence."},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}],"description":"Value for id."},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for platform."},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for architecture."},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for required environment."},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200,"description":"Value for operation."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."}},"required":["operation","rationale"],"additionalProperties":false},"description":"Value for recommended probes."},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"],"description":"Value for type."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."}},"required":["type","unknown_id"],"additionalProperties":false},"description":"Value for relationships."},"supporting_evidence_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the supporting observations."},"contradicting_evidence_ids":{"default":[],"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the contradicting observations."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."}},"required":["question","severity","domain","required_authority","required_confidence","required_environment","recommended_probes","relationships","approved"],"additionalProperties":false,"examples":[{"question":"Does this branch require an unavailable external service?","severity":"medium","domain":"protocol","required_authority":"controlled-replay","required_confidence":"observed","required_environment":null,"recommended_probes":[{"operation":"capture_process_scenario","rationale":"Replay branch."}],"relationships":[],"supporting_evidence_ids":[],"contradicting_evidence_ids":[],"approved":true}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"registry_version":{"type":"number","const":1},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"previous_revision_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"revision_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"question":{"type":"string","minLength":1,"maxLength":1000},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"]},"severity":{"type":"string","enum":["low","medium","high","critical"]},"domain":{"type":"string","minLength":1,"maxLength":100},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}]},"required_confidence":{"type":"string","enum":["observed","derived","inferred"]},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}]},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200},"rationale":{"type":"string","minLength":1,"maxLength":1000}},"required":["operation","rationale"],"additionalProperties":false}},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"]},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"}},"required":["type","unknown_id"],"additionalProperties":false}},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified"},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"]},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}]},"mutation_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":false}},{"name":"update_unknown","analysisOperation":null,"title":"Update Unknown","description":"Append one immutable full-state revision and mutation evidence. Requires approved: true and exact expected_revision; stale concurrent writers fail instead of overwriting newer analysis.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."},"expected_revision":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Expected revision used to reject stale or mismatched input."},"approved":{"type":"boolean","const":true,"description":"Explicit operator approval to perform this operation."},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"],"description":"Current lifecycle or verification status."},"severity":{"type":"string","enum":["low","medium","high","critical"],"description":"Value for severity."},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the supporting observations."},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Ordered Evidence v2 identifiers for the contradicting observations."},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}],"description":"Value for required authority."},"required_confidence":{"type":"string","enum":["observed","derived","inferred"],"description":"Value for required confidence."},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}],"description":"Value for id."},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for platform."},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}],"description":"Value for architecture."},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}],"description":"Value for isolation."}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}],"description":"Value for required environment."},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200,"description":"Value for operation."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."}},"required":["operation","rationale"],"additionalProperties":false},"description":"Value for recommended probes."},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"],"description":"Value for type."},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."}},"required":["type","unknown_id"],"additionalProperties":false},"description":"Value for relationships."},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified","description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"],"description":"Value for disposition."},"rationale":{"type":"string","minLength":1,"maxLength":1000,"description":"Value for rationale."},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"},"description":"Value for evidence ids."}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}],"description":"Value for resolution."}},"required":["unknown_id","expected_revision","approved","status","severity","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution"],"additionalProperties":false,"examples":[{"unknown_id":"unk_0000000000000000000000000000000000000000000000000000000000000000","expected_revision":1,"approved":true,"status":"investigating","severity":"medium","supporting_evidence_ids":[],"contradicting_evidence_ids":[],"required_authority":"controlled-replay","required_confidence":"observed","required_environment":null,"recommended_probes":[],"relationships":[],"resolution":null}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"registry_version":{"type":"number","const":1},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"previous_revision_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"revision_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"question":{"type":"string","minLength":1,"maxLength":1000},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"]},"severity":{"type":"string","enum":["low","medium","high","critical"]},"domain":{"type":"string","minLength":1,"maxLength":100},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}]},"required_confidence":{"type":"string","enum":["observed","derived","inferred"]},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}]},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200},"rationale":{"type":"string","minLength":1,"maxLength":1000}},"required":["operation","rationale"],"additionalProperties":false}},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"]},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"}},"required":["type","unknown_id"],"additionalProperties":false}},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified"},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"]},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}]},"mutation_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":false}},{"name":"verify_unknown_resolution","analysisOperation":null,"title":"Verify Unknown Resolution","description":"Revalidate the current residual-unknown head against live bundled evidence, exact authority/confidence/environment requirements, and revision integrity. Withdrawn and out-of-scope dispositions are not truth claims.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$","description":"Exact residual-unknown identifier."}},"required":["unknown_id"],"additionalProperties":false,"examples":[{"unknown_id":"unk_0000000000000000000000000000000000000000000000000000000000000000"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"valid":{"type":"boolean"},"truthVerified":{"type":"boolean"},"unknown":{"type":"object","properties":{"registry_version":{"type":"number","const":1},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"previous_revision_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"revision_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope_digest":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"question":{"type":"string","minLength":1,"maxLength":1000},"status":{"type":"string","enum":["open","investigating","blocked","contradicted","resolved"]},"severity":{"type":"string","enum":["low","medium","high","critical"]},"domain":{"type":"string","minLength":1,"maxLength":100},"supporting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"contradicting_evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}},"required_authority":{"anyOf":[{"type":"string","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"]},{"type":"null"}]},"required_confidence":{"type":"string","enum":["observed","derived","inferred"]},"required_environment":{"anyOf":[{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}]},"platform":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"architecture":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"isolation":{"anyOf":[{"type":"string","enum":["none","process","container","virtual-machine"]},{"type":"null"}]}},"required":["id","platform","architecture","isolation"],"additionalProperties":false},{"type":"null"}]},"recommended_probes":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":200},"rationale":{"type":"string","minLength":1,"maxLength":1000}},"required":["operation","rationale"],"additionalProperties":false}},"relationships":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["depends-on","related-to","contradicts"]},"unknown_id":{"type":"string","pattern":"^unk_[a-f0-9]{64}$"}},"required":["type","unknown_id"],"additionalProperties":false}},"resolution":{"anyOf":[{"oneOf":[{"type":"object","properties":{"disposition":{"type":"string","const":"verified"},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false},{"type":"object","properties":{"disposition":{"type":"string","enum":["withdrawn","out-of-scope"]},"rationale":{"type":"string","minLength":1,"maxLength":1000},"evidence_ids":{"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["disposition","rationale","evidence_ids"],"additionalProperties":false}]},{"type":"null"}]},"mutation_evidence_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","pattern":"^ev_[a-f0-9]{64}$"}}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"additionalProperties":false}},"required":["valid","truthVerified","unknown"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":false,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"run_replay_machine","analysisOperation":null,"title":"Run Replay Machine","description":"Evaluate ordered HTTP and WebSocket events directly against one validated finite replay machine without opening sockets or launching a target. Returns every decision, a capture-value-free transition journal, one redacted action table entry per used transition, captured aliases, final state, and exact configured and consumed limits.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"machine":{"type":"object","properties":{"initial_state":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for initial state."},"states":{"minItems":1,"maxItems":256,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Exact name used by this operation."},"terminal":{"default":false,"type":"boolean","description":"Value for terminal."},"max_visits":{"default":100000,"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted visits for this operation."}},"required":["name"],"additionalProperties":false},"description":"Value for states."},"transitions":{"minItems":1,"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for id."},"from":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for from."},"to":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for to."},"priority":{"default":100,"type":"integer","minimum":0,"maximum":1000,"description":"Value for priority."},"trigger":{"oneOf":[{"type":"object","properties":{"protocol":{"type":"string","const":"http","description":"Value for protocol."},"method":{"type":"string","minLength":1,"maxLength":16,"description":"Value for method."},"path":{"type":"string","pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."},"body":{"default":null,"anyOf":[{"type":"string","maxLength":1000000},{"type":"null"}],"description":"Value for body."}},"required":["protocol","method","path"],"additionalProperties":false},{"type":"object","properties":{"protocol":{"type":"string","const":"websocket_connect","description":"Value for protocol."},"path":{"type":"string","pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."}},"required":["protocol","path"],"additionalProperties":false},{"type":"object","properties":{"protocol":{"type":"string","const":"websocket_message","description":"Value for protocol."},"path":{"type":"string","pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"body":{"default":null,"anyOf":[{"type":"string","maxLength":1000000},{"type":"null"}],"description":"Value for body."}},"required":["protocol","path"],"additionalProperties":false}],"description":"Value for trigger."},"guards":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"variable":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for variable."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"request_header","description":"Value for source."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."}},"required":["source","name"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"request_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"websocket_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"action_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false}],"description":"Value for value."}},"required":["variable","value"],"additionalProperties":false},"description":"Value for guards."},"captures":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"variable":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","description":"Value for variable."},"value":{"oneOf":[{"type":"object","properties":{"source":{"type":"string","const":"request_header","description":"Value for source."},"name":{"type":"string","minLength":1,"description":"Exact name used by this operation."}},"required":["source","name"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"request_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"websocket_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","const":"action_json","description":"Value for source."},"path":{"maxItems":32,"type":"array","items":{"anyOf":[{"type":"string","maxLength":256},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"description":"Local filesystem path used by this operation."}},"required":["source","path"],"additionalProperties":false}],"description":"Value for value."},"sensitive":{"default":false,"type":"boolean","description":"Value for sensitive."}},"required":["variable","value"],"additionalProperties":false},"description":"Value for captures."},"actions":{"minItems":1,"maxItems":32,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"http_response","description":"Value for type."},"status":{"type":"integer","minimum":100,"maximum":599,"description":"Current lifecycle or verification status."},"headers":{"default":{},"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."},"body":{"type":"string","maxLength":1000000,"description":"Value for body."}},"required":["type","status","body"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"websocket_send","description":"Value for type."},"data":{"type":"string","maxLength":1000000,"description":"Value for data."}},"required":["type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"disconnect","description":"Value for type."}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"delay","description":"Value for type."},"duration_ms":{"type":"integer","minimum":0,"maximum":30000,"description":"Value for duration ms."}},"required":["type","duration_ms"],"additionalProperties":false}]},"description":"Value for actions."},"max_uses":{"type":"integer","minimum":1,"maximum":10000,"description":"Maximum permitted uses for this operation."}},"required":["id","from","to","trigger","actions","max_uses"],"additionalProperties":false},"description":"Value for transitions."},"max_transitions":{"type":"integer","minimum":1,"maximum":100000,"description":"Maximum permitted transitions for this operation."},"limits":{"default":{"connections":100,"messages":10000,"bytes":1000000,"duration_ms":30000},"type":"object","properties":{"connections":{"default":100,"type":"integer","minimum":1,"maximum":1000,"description":"Value for connections."},"messages":{"default":10000,"type":"integer","minimum":1,"maximum":100000,"description":"Value for messages."},"bytes":{"default":1000000,"type":"integer","minimum":1,"maximum":10000000,"description":"Value for bytes."},"duration_ms":{"default":30000,"type":"integer","minimum":1,"maximum":300000,"description":"Value for duration ms."}},"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation."}},"required":["initial_state","states","transitions","max_transitions"],"additionalProperties":false,"description":"Value for machine."},"events":{"maxItems":10000,"type":"array","items":{"oneOf":[{"type":"object","properties":{"protocol":{"type":"string","const":"http","description":"Value for protocol."},"connection":{"type":"string","const":"not_applicable","description":"Value for connection."},"method":{"type":"string","minLength":1,"maxLength":16,"description":"Value for method."},"at_ms":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Value for at ms."},"path":{"type":"string","maxLength":8192,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."},"body":{"type":"string","maxLength":1000000,"description":"Value for body."}},"required":["protocol","connection","method","at_ms","path","headers","body"],"additionalProperties":false},{"type":"object","properties":{"protocol":{"type":"string","const":"websocket_connect","description":"Value for protocol."},"connection":{"type":"string","enum":["initial","reconnect"],"description":"Value for connection."},"method":{"type":"null","description":"Value for method."},"at_ms":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Value for at ms."},"path":{"type":"string","maxLength":8192,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."},"body":{"type":"string","maxLength":1000000,"description":"Value for body."}},"required":["protocol","connection","method","at_ms","path","headers","body"],"additionalProperties":false},{"type":"object","properties":{"protocol":{"type":"string","const":"websocket_message","description":"Value for protocol."},"connection":{"type":"string","enum":["initial","reconnect"],"description":"Value for connection."},"method":{"type":"null","description":"Value for method."},"at_ms":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Value for at ms."},"path":{"type":"string","maxLength":8192,"pattern":"^\\\\/.*","description":"Local filesystem path used by this operation."},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$"},"description":"Value for headers."},"body":{"type":"string","maxLength":1000000,"description":"Value for body."}},"required":["protocol","connection","method","at_ms","path","headers","body"],"additionalProperties":false}]},"description":"Value for events."}},"required":["machine","events"],"additionalProperties":false,"examples":[{"machine":{"initial_state":"waiting","states":[{"name":"waiting","terminal":false,"max_visits":100000},{"name":"complete","terminal":true,"max_visits":100000}],"transitions":[{"id":"accept_callback","from":"waiting","to":"complete","priority":100,"trigger":{"protocol":"http","method":"POST","path":"/callback","headers":{},"body":null},"guards":[],"captures":[{"variable":"token","value":{"source":"request_json","path":["token"]},"sensitive":true}],"actions":[{"type":"http_response","status":204,"headers":{},"body":""}],"max_uses":1}],"max_transitions":1,"limits":{"connections":100,"messages":10000,"bytes":1000000,"duration_ms":30000}},"events":[{"protocol":"http","connection":"not_applicable","method":"POST","at_ms":0,"path":"/callback","headers":{},"body":"{\\"token\\":\\"opaque\\"}"}]}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"initial_state":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$"},"final_state":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$"},"terminal":{"type":"boolean"},"decisions":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"event_sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"outcome":{"anyOf":[{"type":"string","const":"matched"},{"type":"string","enum":["unmatched","invalid_state","guard_failed","transition_exhausted","invalid_capture","unexpected_reconnect","limit_exhausted"]}]},"transition_sequence":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["event_sequence","outcome","transition_sequence"],"additionalProperties":false}},"transition_journal":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"sequence":{"type":"integer","minimum":0,"maximum":9007199254740991},"at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991},"transition_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$"},"state_before":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$"},"state_after":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$"},"captured_aliases":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$"},"sensitive":{"type":"boolean"}},"required":["name","sensitive"],"additionalProperties":false}}},"required":["sequence","at_ms","transition_id","state_before","state_after","captured_aliases"],"additionalProperties":false}},"transition_actions":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"transition_id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$"},"actions":{"maxItems":32,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"http_response"},"status":{"type":"integer","minimum":100,"maximum":599},"headers":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$"},"additionalProperties":{"type":"string","maxLength":8192}},"body":{"type":"string","maxLength":1000000}},"required":["type","status","headers","body"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"websocket_send"},"data":{"type":"string","maxLength":1000000}},"required":["type","data"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"disconnect"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"delay"},"duration_ms":{"type":"integer","minimum":0,"maximum":30000}},"required":["type","duration_ms"],"additionalProperties":false}]}}},"required":["transition_id","actions"],"additionalProperties":false}},"limits":{"type":"object","properties":{"configured":{"type":"object","properties":{"transitions":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"connections":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"messages":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"bytes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"duration_ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["transitions","connections","messages","bytes","duration_ms"],"additionalProperties":false},"usage":{"type":"object","properties":{"offered_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"admitted_events":{"type":"integer","minimum":0,"maximum":9007199254740991},"transitions":{"type":"integer","minimum":0,"maximum":9007199254740991},"connections":{"type":"integer","minimum":0,"maximum":9007199254740991},"messages":{"type":"integer","minimum":0,"maximum":9007199254740991},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"last_at_ms":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["offered_events","admitted_events","transitions","connections","messages","bytes","last_at_ms"],"additionalProperties":false}},"required":["configured","usage"],"additionalProperties":false}},"required":["schema_version","initial_state","final_state","terminal","decisions","transition_journal","transition_actions","limits"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":false,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"snapshot_evidence_bundle","analysisOperation":null,"title":"Snapshot Evidence Bundle","description":"Retain the current canonical Evidence v2 bundle as an immutable session resource. Returns a compact digest summary and exact opaque URI; copy that URI unchanged and call MCP resources/read (Codex: read_mcp_resource) for the full bundle. Repeating an unchanged snapshot is idempotent.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"bundle_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bundle_version":{"type":"number","const":2},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"records":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknowns":{"type":"integer","minimum":0,"maximum":9007199254740991},"scope":{"type":"string","const":"session"},"survives_session":{"type":"boolean","const":false},"bundle_uri":{"type":"string","pattern":"^rea:\\\\/\\\\/evidence-bundle\\\\/[a-f0-9]{64}$"}},"required":["bundle_digest","bundle_version","bytes","records","unknowns","scope","survives_session","bundle_uri"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"release_evidence_bundle","analysisOperation":null,"title":"Release Evidence Bundle","description":"Release one immutable session-retained Evidence v2 bundle by exact digest. This is the recovery operation when bounded bundle retention is exhausted; releasing an unknown digest is idempotent and reports released: false.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bundle_digest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Value for bundle digest."}},"required":["bundle_digest"],"additionalProperties":false,"examples":[{"bundle_digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"bundle_digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"released":{"type":"boolean"}},"required":["bundle_digest","released"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":true,"idempotent":true}},{"name":"get_navigation_context","analysisOperation":null,"title":"Get Navigation Context","description":"Compose the selected document, current address, and containing/current procedure into one provider-neutral result. The result reflects sequential provider observations, not an atomic cursor snapshot; a cursor outside any procedure returns procedure: null. Scalar navigation getters remain available for evaluation and compatibility.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"document":{"type":"string","minLength":1,"description":"Exact provider document or program identity."}},"additionalProperties":false,"examples":[{}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"document":{"type":"string"},"address":{"type":"string"},"procedure":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["document","address","procedure"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}},{"name":"inspect_address_context","analysisOperation":null,"title":"Inspect Address Context","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; xrefs, assembly, and pseudocode remain separate bounded follow-ups.","kind":"session","requiresSession":true,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"address":{"type":"string","minLength":1,"description":"Value for address."},"document":{"type":"string","minLength":1,"description":"Exact provider document or program identity."}},"required":["address"],"additionalProperties":false,"examples":[{"address":"0x1000"}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"result":{"type":"object","properties":{"address":{"type":"string"},"document":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"available"},"value":{"$ref":"#/$defs/__schema0"}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"unavailable"},"reason":{"type":"string"},"remediation":{"type":"string"}},"required":["state","reason","remediation"],"additionalProperties":false}]},"procedure":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"available"},"value":{"$ref":"#/$defs/__schema0"}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"unavailable"},"reason":{"type":"string"},"remediation":{"type":"string"}},"required":["state","reason","remediation"],"additionalProperties":false}]},"comment":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"available"},"value":{"$ref":"#/$defs/__schema0"}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"unavailable"},"reason":{"type":"string"},"remediation":{"type":"string"}},"required":["state","reason","remediation"],"additionalProperties":false}]},"inline_comment":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"available"},"value":{"$ref":"#/$defs/__schema0"}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"unavailable"},"reason":{"type":"string"},"remediation":{"type":"string"}},"required":["state","reason","remediation"],"additionalProperties":false}]},"bookmarks":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","const":"available"},"value":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"additionalProperties":false}}},"required":["state","value"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","const":"unavailable"},"reason":{"type":"string"},"remediation":{"type":"string"}},"required":["state","reason","remediation"],"additionalProperties":false}]}},"required":["address","document","name","procedure","comment","inline_comment","bookmarks"],"additionalProperties":false,"description":"Primary structured result returned by this operation."}},"required":["result"],"additionalProperties":false,"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/$defs/__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/$defs/__schema0"}}]}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"effects":{"mutatesTarget":false,"mutatesSession":true,"writesFilesystem":false,"launchesProcess":false,"accessesNetwork":false,"changesUiState":false,"mayDiscardData":false,"idempotent":true}}],"auxiliaryProviders":[{"identity":{"id":"rea-artifact-graph","name":"REA safe artifact graph provider","version":"1"},"capabilities":[{"provider":{"id":"rea-artifact-graph","name":"REA safe artifact graph provider","version":"1"},"operation":"inventory_artifact","inputContractVersion":1,"outputContractVersion":1,"available":true,"reason":null,"pagination":"offset","exhaustive":false,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":500,"maxPayloadBytes":4194304,"timeoutMs":120000},"limitations":["DMG child inventory is macOS-only and requires per-call approval plus operator policy; PKG remains root-hash-only.","ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."]},{"provider":{"id":"rea-artifact-graph","name":"REA safe artifact graph provider","version":"1"},"operation":"inspect_artifact","inputContractVersion":1,"outputContractVersion":1,"available":true,"reason":null,"pagination":"none","exhaustive":false,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":500,"maxPayloadBytes":4194304,"timeoutMs":120000},"limitations":["DMG child inventory is macOS-only and requires per-call approval plus operator policy; PKG remains root-hash-only.","ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."]},{"provider":{"id":"rea-artifact-graph","name":"REA safe artifact graph provider","version":"1"},"operation":"extract_artifact","inputContractVersion":1,"outputContractVersion":1,"available":true,"reason":null,"pagination":"offset","exhaustive":false,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":true,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":500,"maxPayloadBytes":4194304,"timeoutMs":120000},"limitations":["DMG child inventory is macOS-only and requires per-call approval plus operator policy; PKG remains root-hash-only.","ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."]}]},{"identity":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"capabilities":[{"provider":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"operation":"inspect_macho","inputContractVersion":1,"outputContractVersion":1,"available":false,"availabilityCode":"unsupported_host","reason":"Native macOS utilities require macOS.","pagination":"none","exhaustive":false,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":null,"maxPayloadBytes":4194304,"timeoutMs":30000},"limitations":["Availability and textual formats depend on the installed macOS/Xcode toolchain."]},{"provider":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"operation":"inspect_signature","inputContractVersion":1,"outputContractVersion":1,"available":false,"availabilityCode":"unsupported_host","reason":"Native macOS utilities require macOS.","pagination":"none","exhaustive":true,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":null,"maxPayloadBytes":4194304,"timeoutMs":30000},"limitations":["Availability and textual formats depend on the installed macOS/Xcode toolchain."]},{"provider":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"operation":"inspect_plist","inputContractVersion":1,"outputContractVersion":1,"available":false,"availabilityCode":"unsupported_host","reason":"Native macOS utilities require macOS.","pagination":"none","exhaustive":true,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":null,"maxPayloadBytes":4194304,"timeoutMs":30000},"limitations":["Availability and textual formats depend on the installed macOS/Xcode toolchain."]},{"provider":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"operation":"list_architectures","inputContractVersion":1,"outputContractVersion":1,"available":false,"availabilityCode":"unsupported_host","reason":"Native macOS utilities require macOS.","pagination":"none","exhaustive":true,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":null,"maxPayloadBytes":4194304,"timeoutMs":30000},"limitations":["Availability and textual formats depend on the installed macOS/Xcode toolchain."]},{"provider":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"operation":"demangle_swift","inputContractVersion":1,"outputContractVersion":1,"available":false,"availabilityCode":"unsupported_host","reason":"Native macOS utilities require macOS.","pagination":"none","exhaustive":true,"effects":{"mutatesArtifact":false,"launchesProcess":true,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":500,"maxPayloadBytes":4194304,"timeoutMs":30000},"limitations":["Availability and textual formats depend on the installed macOS/Xcode toolchain."]}]},{"identity":{"id":"rea-dotnet-static","name":"REA managed static analysis provider","version":"1"},"capabilities":[{"provider":{"id":"rea-dotnet-static","name":"REA managed static analysis provider","version":"1"},"operation":"inspect_managed_artifact","inputContractVersion":1,"outputContractVersion":1,"available":true,"reason":null,"pagination":"offset","exhaustive":false,"effects":{"mutatesArtifact":false,"launchesProcess":false,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":500,"maxPayloadBytes":4194304,"timeoutMs":null},"limitations":["This capability inventories PE/CLI identity only; inspect_managed_members admits bounded metadata members, signatures, and CIL anchors.","It never loads the target assembly, resolves dependencies through a CLR, decompiles C#, or executes target code."]},{"provider":{"id":"rea-dotnet-static","name":"REA managed static analysis provider","version":"1"},"operation":"inspect_managed_members","inputContractVersion":1,"outputContractVersion":1,"available":true,"reason":null,"pagination":"offset","exhaustive":false,"effects":{"mutatesArtifact":false,"launchesProcess":false,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":500,"maxPayloadBytes":4194304,"timeoutMs":null},"limitations":["This capability decodes bounded PE/CLI metadata members, signatures, and file-backed method bodies; decompiled C# and cross-build matching are separate future contracts.","It never loads the target assembly, resolves dependencies through a CLR, decompiles C#, or executes target code."]},{"provider":{"id":"rea-dotnet-static","name":"REA managed static analysis provider","version":"1"},"operation":"inspect_managed_native_boundaries","inputContractVersion":1,"outputContractVersion":1,"available":true,"reason":null,"pagination":"offset","exhaustive":false,"effects":{"mutatesArtifact":false,"launchesProcess":false,"mayShowUi":false,"mayAccessNetwork":false,"mayWriteFilesystem":false,"changesPermissions":false,"requiresRoot":false},"limits":{"maxResults":500,"maxPayloadBytes":4194304,"timeoutMs":null},"limitations":["This capability inventories managed declarations for native boundaries only; native exports, thunks, and addresses require separate native-provider evidence.","It never loads the target assembly, resolves dependencies through a CLR, decompiles C#, or executes target code."]}]}]}'; + '{"auxiliaryProviders":[{"capabilities":[{"available":true,"effects":{"changesPermissions":false,"launchesProcess":true,"mayAccessNetwork":false,"mayShowUi":false,"mayWriteFilesystem":false,"mutatesArtifact":false,"requiresRoot":false},"exhaustive":false,"inputContractVersion":1,"limitations":["DMG child inventory is macOS-only and requires per-call approval plus operator policy; PKG remains root-hash-only.","ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."],"limits":{"maxPayloadBytes":4194304,"maxResults":500,"timeoutMs":120000},"operation":"inventory_artifact","outputContractVersion":1,"pagination":"offset","provider":{"id":"rea-artifact-graph","name":"REA safe artifact graph provider","version":"1"},"reason":null},{"available":true,"effects":{"changesPermissions":false,"launchesProcess":true,"mayAccessNetwork":false,"mayShowUi":false,"mayWriteFilesystem":false,"mutatesArtifact":false,"requiresRoot":false},"exhaustive":false,"inputContractVersion":1,"limitations":["DMG child inventory is macOS-only and requires per-call approval plus operator policy; PKG remains root-hash-only.","ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."],"limits":{"maxPayloadBytes":4194304,"maxResults":500,"timeoutMs":120000},"operation":"inspect_artifact","outputContractVersion":1,"pagination":"none","provider":{"id":"rea-artifact-graph","name":"REA safe artifact graph provider","version":"1"},"reason":null},{"available":true,"effects":{"changesPermissions":false,"launchesProcess":true,"mayAccessNetwork":false,"mayShowUi":false,"mayWriteFilesystem":true,"mutatesArtifact":false,"requiresRoot":false},"exhaustive":false,"inputContractVersion":1,"limitations":["DMG child inventory is macOS-only and requires per-call approval plus operator policy; PKG remains root-hash-only.","ASAR files discovered in filesystem-backed inventories are expanded without bulk extraction; other nested containers remain recorded only."],"limits":{"maxPayloadBytes":4194304,"maxResults":500,"timeoutMs":120000},"operation":"extract_artifact","outputContractVersion":1,"pagination":"offset","provider":{"id":"rea-artifact-graph","name":"REA safe artifact graph provider","version":"1"},"reason":null}],"identity":{"id":"rea-artifact-graph","name":"REA safe artifact graph provider","version":"1"}},{"capabilities":[{"available":true,"effects":{"changesPermissions":false,"launchesProcess":true,"mayAccessNetwork":false,"mayShowUi":false,"mayWriteFilesystem":false,"mutatesArtifact":false,"requiresRoot":false},"exhaustive":false,"inputContractVersion":1,"limitations":["Availability and textual formats depend on the installed macOS/Xcode toolchain."],"limits":{"maxPayloadBytes":4194304,"maxResults":null,"timeoutMs":30000},"operation":"inspect_macho","outputContractVersion":1,"pagination":"none","provider":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"reason":null},{"available":true,"effects":{"changesPermissions":false,"launchesProcess":true,"mayAccessNetwork":false,"mayShowUi":false,"mayWriteFilesystem":false,"mutatesArtifact":false,"requiresRoot":false},"exhaustive":true,"inputContractVersion":1,"limitations":["Availability and textual formats depend on the installed macOS/Xcode toolchain."],"limits":{"maxPayloadBytes":4194304,"maxResults":null,"timeoutMs":30000},"operation":"inspect_signature","outputContractVersion":1,"pagination":"none","provider":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"reason":null},{"available":true,"effects":{"changesPermissions":false,"launchesProcess":true,"mayAccessNetwork":false,"mayShowUi":false,"mayWriteFilesystem":false,"mutatesArtifact":false,"requiresRoot":false},"exhaustive":true,"inputContractVersion":1,"limitations":["Availability and textual formats depend on the installed macOS/Xcode toolchain."],"limits":{"maxPayloadBytes":4194304,"maxResults":null,"timeoutMs":30000},"operation":"inspect_plist","outputContractVersion":1,"pagination":"none","provider":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"reason":null},{"available":true,"effects":{"changesPermissions":false,"launchesProcess":true,"mayAccessNetwork":false,"mayShowUi":false,"mayWriteFilesystem":false,"mutatesArtifact":false,"requiresRoot":false},"exhaustive":true,"inputContractVersion":1,"limitations":["Availability and textual formats depend on the installed macOS/Xcode toolchain."],"limits":{"maxPayloadBytes":4194304,"maxResults":null,"timeoutMs":30000},"operation":"list_architectures","outputContractVersion":1,"pagination":"none","provider":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"reason":null},{"available":true,"effects":{"changesPermissions":false,"launchesProcess":true,"mayAccessNetwork":false,"mayShowUi":false,"mayWriteFilesystem":false,"mutatesArtifact":false,"requiresRoot":false},"exhaustive":true,"inputContractVersion":1,"limitations":["Availability and textual formats depend on the installed macOS/Xcode toolchain."],"limits":{"maxPayloadBytes":4194304,"maxResults":500,"timeoutMs":30000},"operation":"demangle_swift","outputContractVersion":1,"pagination":"none","provider":{"id":"native-macos","name":"macOS native inspection utilities","version":null},"reason":null}],"identity":{"id":"native-macos","name":"macOS native inspection utilities","version":null}},{"capabilities":[{"available":true,"effects":{"changesPermissions":false,"launchesProcess":false,"mayAccessNetwork":false,"mayShowUi":false,"mayWriteFilesystem":false,"mutatesArtifact":false,"requiresRoot":false},"exhaustive":false,"inputContractVersion":1,"limitations":["This capability inventories PE/CLI identity only; inspect_managed_members admits bounded metadata members, signatures, and CIL anchors.","It never loads the target assembly, resolves dependencies through a CLR, decompiles C#, or executes target code."],"limits":{"maxPayloadBytes":4194304,"maxResults":500,"timeoutMs":null},"operation":"inspect_managed_artifact","outputContractVersion":1,"pagination":"offset","provider":{"id":"rea-dotnet-static","name":"REA managed static analysis provider","version":"1"},"reason":null},{"available":true,"effects":{"changesPermissions":false,"launchesProcess":false,"mayAccessNetwork":false,"mayShowUi":false,"mayWriteFilesystem":false,"mutatesArtifact":false,"requiresRoot":false},"exhaustive":false,"inputContractVersion":1,"limitations":["This capability decodes bounded PE/CLI metadata members, signatures, and file-backed method bodies; decompiled C# and cross-build matching are separate future contracts.","It never loads the target assembly, resolves dependencies through a CLR, decompiles C#, or executes target code."],"limits":{"maxPayloadBytes":4194304,"maxResults":500,"timeoutMs":null},"operation":"inspect_managed_members","outputContractVersion":1,"pagination":"offset","provider":{"id":"rea-dotnet-static","name":"REA managed static analysis provider","version":"1"},"reason":null},{"available":true,"effects":{"changesPermissions":false,"launchesProcess":false,"mayAccessNetwork":false,"mayShowUi":false,"mayWriteFilesystem":false,"mutatesArtifact":false,"requiresRoot":false},"exhaustive":false,"inputContractVersion":1,"limitations":["This capability inventories managed declarations for native boundaries only; native exports, thunks, and addresses require separate native-provider evidence.","It never loads the target assembly, resolves dependencies through a CLR, decompiles C#, or executes target code."],"limits":{"maxPayloadBytes":4194304,"maxResults":500,"timeoutMs":null},"operation":"inspect_managed_native_boundaries","outputContractVersion":1,"pagination":"offset","provider":{"id":"rea-dotnet-static","name":"REA managed static analysis provider","version":"1"},"reason":null}],"identity":{"id":"rea-dotnet-static","name":"REA managed static analysis provider","version":"1"}}],"catalog":[{"analysisOperation":"address_name","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"type":"object"},"kind":"official-proxy","name":"address_name","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Primary structured result returned by this operation."}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Address Name"},{"analysisOperation":"comment","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"type":"object"},"kind":"official-proxy","name":"comment","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Primary structured result returned by this operation."}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Comment"},{"analysisOperation":"current_address","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Return Hopper\'s current cursor address for the selected document. Use only for interactive navigation state; prefer explicit addresses in reproducible investigations.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"type":"object"},"kind":"official-proxy","name":"current_address","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","type":"string"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Current Address"},{"analysisOperation":"current_procedure","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Return the analyzed procedure containing Hopper\'s current cursor. Use procedure_info or analyze_function next; this depends on GUI cursor state and is not an exhaustive lookup.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"type":"object"},"kind":"official-proxy","name":"current_procedure","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","type":"string"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Current Procedure"},{"analysisOperation":"current_document","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Return the document currently selected by REA\'s Hopper bridge. Use list_documents before switching when several documents are open.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"type":"object"},"kind":"official-proxy","name":"current_document","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","type":"string"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Current Document"},{"analysisOperation":"goto_address","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":true,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"address":"0x1000"}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["address"],"type":"object"},"kind":"official-proxy","name":"goto_address","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","type":"string"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Goto Address"},{"analysisOperation":"inline_comment","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"type":"object"},"kind":"official-proxy","name":"inline_comment","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Primary structured result returned by this operation."}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Inline Comment"},{"analysisOperation":"list_bookmarks","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"type":"object"},"kind":"official-proxy","name":"list_bookmarks","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"type":"object"},"type":"array"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"List Bookmarks"},{"analysisOperation":"list_documents","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"List provider program or document identities. Hopper may expose several documents; a Ghidra headless session contains exactly its one imported Program.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"type":"object"},"kind":"official-proxy","name":"list_documents","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","items":{"type":"string"},"type":"array"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"List Documents"},{"analysisOperation":"list_names","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Page through analyzed memory and external symbols as address/value pairs. Provider metadata distinguishes Ghidra primary, dynamic, external, type, and source facts when available; follow next_offset before claiming exhaustive coverage.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"limit":100,"offset":0}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"document":{"description":"The document name","type":"string"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":500,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"type":"object"},"kind":"official-proxy","name":"list_names","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"has_more":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"procedure":{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target"],"type":"object"},"string":{"additionalProperties":false,"properties":{"byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"encoding":{"type":"string"},"termination":{"enum":["missing","present_or_not_required"],"type":"string"}},"required":["encoding","termination","byte_length"],"type":"object"},"symbol":{"additionalProperties":false,"properties":{"dynamic":{"type":"boolean"},"external":{"type":"boolean"},"primary":{"type":"boolean"},"source":{"enum":["default","analysis","ai","imported","user_defined"],"type":"string"},"type":{"type":"string"}},"required":["primary","dynamic","external","type","source"],"type":"object"},"value":{"type":"string"},"value_truncated":{"type":"boolean"}},"required":["address","value"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset","has_more"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"List Names"},{"analysisOperation":"list_procedures","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Page through analyzed procedures as address/value pairs after provider analysis. Ghidra metadata distinguishes thunks and external functions; follow next_offset for exhaustive coverage and use returned addresses in later function operations.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"limit":100,"offset":0}],"properties":{"document":{"description":"The document name","type":"string"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":500,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"type":"object"},"kind":"official-proxy","name":"list_procedures","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"has_more":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"procedure":{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target"],"type":"object"},"string":{"additionalProperties":false,"properties":{"byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"encoding":{"type":"string"},"termination":{"enum":["missing","present_or_not_required"],"type":"string"}},"required":["encoding","termination","byte_length"],"type":"object"},"symbol":{"additionalProperties":false,"properties":{"dynamic":{"type":"boolean"},"external":{"type":"boolean"},"primary":{"type":"boolean"},"source":{"enum":["default","analysis","ai","imported","user_defined"],"type":"string"},"type":{"type":"string"}},"required":["primary","dynamic","external","type","source"],"type":"object"},"value":{"type":"string"},"value_truncated":{"type":"boolean"}},"required":["address","value"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset","has_more"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"List Procedures"},{"analysisOperation":"list_segments","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"type":"object"},"kind":"official-proxy","name":"list_segments","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","items":{"additionalProperties":false,"properties":{"address_space":{"type":"string"},"end":{"type":"string"},"executable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"image_base":{"type":"string"},"initialized":{"type":"boolean"},"name":{"type":"string"},"overlay":{"type":"boolean"},"permissions":{"anyOf":[{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"reason":{"type":"string"}},"required":["available","reason"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"source":{"const":"ghidra-memory-block","type":"string"}},"required":["available","source"],"type":"object"}]},"provenance":{"enum":["hopper-public-python-api","ghidra-memory-block"],"type":"string"},"readable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"sections":{"items":{"additionalProperties":false,"properties":{"address_space":{"type":"string"},"end":{"type":"string"},"executable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"image_base":{"type":"string"},"initialized":{"type":"boolean"},"name":{"type":"string"},"overlay":{"type":"boolean"},"permissions":{"anyOf":[{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"reason":{"type":"string"}},"required":["available","reason"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"source":{"const":"ghidra-memory-block","type":"string"}},"required":["available","source"],"type":"object"}]},"provenance":{"enum":["hopper-public-python-api","ghidra-memory-block"],"type":"string"},"readable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"start":{"type":"string"},"writable":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["name","start","end","readable","writable","executable","permissions","provenance"],"type":"object"},"type":"array"},"start":{"type":"string"},"writable":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["name","start","end","readable","writable","executable","permissions","provenance","sections"],"type":"object"},"type":"array"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"List Segments"},{"analysisOperation":"list_strings","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Page through provider-defined strings, or filter to one address, as address/value pairs. Ghidra reports charset, missing-terminator status, byte length, and explicit value truncation; follow next_offset for exhaustive results.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"limit":100,"offset":0}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"document":{"description":"The document name","type":"string"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":500,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"type":"object"},"kind":"official-proxy","name":"list_strings","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"has_more":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"procedure":{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target"],"type":"object"},"string":{"additionalProperties":false,"properties":{"byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"encoding":{"type":"string"},"termination":{"enum":["missing","present_or_not_required"],"type":"string"}},"required":["encoding","termination","byte_length"],"type":"object"},"symbol":{"additionalProperties":false,"properties":{"dynamic":{"type":"boolean"},"external":{"type":"boolean"},"primary":{"type":"boolean"},"source":{"enum":["default","analysis","ai","imported","user_defined"],"type":"string"},"type":{"type":"string"}},"required":["primary","dynamic","external","type","source"],"type":"object"},"value":{"type":"string"},"value_truncated":{"type":"boolean"}},"required":["address","value"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset","has_more"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"List Strings"},{"analysisOperation":"next_address","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"type":"object"},"kind":"official-proxy","name":"next_address","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","type":"string"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Next Address"},{"analysisOperation":"prev_address","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"type":"object"},"kind":"official-proxy","name":"prev_address","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","type":"string"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Prev Address"},{"analysisOperation":"procedure_address","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Resolve an unambiguous procedure symbol name or provider-normalized address to its canonical entry address. External address spaces remain explicit; use the result before xrefs, assembly, or decompilation.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"procedure":"main"}],"properties":{"document":{"description":"The document name","type":"string"},"procedure":{"description":"The procedure name or address","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["procedure"],"type":"object"},"kind":"official-proxy","name":"procedure_address","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","type":"string"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Procedure Address"},{"analysisOperation":"procedure_assembly","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"procedure":"main"}],"properties":{"document":{"description":"The document name","type":"string"},"procedure":{"description":"The procedure name or address","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["procedure"],"type":"object"},"kind":"official-proxy","name":"procedure_assembly","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","type":"string"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Procedure Assembly"},{"analysisOperation":"procedure_callees","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"procedure":"main"}],"properties":{"document":{"description":"The document name","type":"string"},"procedure":{"description":"The procedure name or address","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["procedure"],"type":"object"},"kind":"official-proxy","name":"procedure_callees","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","items":{"type":"string"},"type":"array"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Procedure Callees"},{"analysisOperation":"procedure_callers","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"procedure":"main"}],"properties":{"document":{"description":"The document name","type":"string"},"procedure":{"description":"The procedure name or address","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["procedure"],"type":"object"},"kind":"official-proxy","name":"procedure_callers","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","items":{"type":"string"},"type":"array"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Procedure Callers"},{"analysisOperation":"procedure_info","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Return bounded metadata for one procedure identified by symbol or address: entrypoint, signature, locals, size, and block count. Follow with decompilation or assembly for behavior.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"procedure":"main"}],"properties":{"document":{"description":"The document name","type":"string"},"procedure":{"description":"The procedure name or address","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["procedure"],"type":"object"},"kind":"official-proxy","name":"procedure_info","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"basicblock_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"classification":{"anyOf":[{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target","provenance"],"type":"object"},{"type":"null"}],"default":null},"entrypoint":{"type":"string"},"length":{"minimum":0,"type":"number"},"locals":{"items":{"additionalProperties":false,"properties":{"description":{"type":"string"},"provenance":{"minLength":1,"type":"string"}},"required":["description","provenance"],"type":"object"},"type":"array"},"name":{"type":"string"},"signature":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","entrypoint","basicblock_count","length","signature","locals","classification"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Procedure Info"},{"analysisOperation":"read_function_instructions","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Read one offset-paginated window of raw instructions for an analyzed procedure without decompilation, caller discovery, or whole-program string/name scans. Use this fast path for instruction-level orientation; follow next_offset when truncated.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"limit":64,"offset":0,"procedure":"main"}],"properties":{"document":{"description":"The document name","type":"string"},"limit":{"default":64,"description":"Maximum number of results to return in this page.","maximum":500,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":100000,"minimum":0,"type":"integer"},"procedure":{"description":"The procedure name or address","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["procedure"],"type":"object"},"kind":"official-proxy","name":"read_function_instructions","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"instruction_scan_truncated":{"type":"boolean"},"instructions":{"additionalProperties":false,"properties":{"items":{"items":{"type":"string"},"type":"array"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["items","total","returned","truncated","next_offset"],"type":"object"},"instructions_scanned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"limitations":{"items":{"type":"string"},"type":"array"},"procedure":{"additionalProperties":false,"properties":{"address":{"type":"string"},"classification":{"anyOf":[{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target","provenance"],"type":"object"},{"type":"null"}],"default":null},"name":{"type":"string"}},"required":["address","name","classification"],"type":"object"}},"required":["procedure","instructions","instructions_scanned","instruction_scan_truncated","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Read Function Instructions"},{"analysisOperation":"read_bytes","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Read at most 4,096 analyzed bytes from one provider-normalized virtual address. The hexadecimal payload reports the exact returned length; incomplete reads remain explicit and unsupported provider APIs return typed capability unavailability.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"address":"0x1000","length":16}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"document":{"description":"The document name","type":"string"},"length":{"default":256,"description":"Value for length.","maximum":4096,"minimum":1,"type":"integer"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["address"],"type":"object"},"kind":"official-proxy","name":"read_bytes","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"address":{"type":"string"},"bytes_hex":{"pattern":"^(?:[a-f0-9]{2})*$","type":"string"},"complete":{"type":"boolean"},"requested_bytes":{"maximum":4096,"minimum":1,"type":"integer"},"returned_bytes":{"maximum":4096,"minimum":0,"type":"integer"}},"required":["address","requested_bytes","returned_bytes","bytes_hex","complete"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Read Bytes"},{"analysisOperation":"address_to_file_offset","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"address":"0x1000"}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["address"],"type":"object"},"kind":"official-proxy","name":"address_to_file_offset","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"address":{"type":"string"},"file_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["address","file_offset"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Address To File Offset"},{"analysisOperation":"procedure_references","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Return a bounded set of raw incoming or outgoing reference edges for one procedure. Endpoint procedures are resolved only from provider containment; Ghidra preserves observed reference kinds while providers without kind authority mark them unavailable.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"direction":"outgoing","limit":100,"max_instructions":500,"offset":0,"procedure":"main"}],"properties":{"direction":{"default":"outgoing","description":"Direction in which to traverse or compare relationships.","enum":["incoming","outgoing"],"type":"string"},"document":{"description":"The document name","type":"string"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":500,"minimum":1,"type":"integer"},"max_instructions":{"default":500,"description":"Maximum permitted instructions for this operation.","maximum":5000,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"procedure":{"description":"The procedure name or address","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["procedure"],"type":"object"},"kind":"official-proxy","name":"procedure_references","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"direction":{"enum":["incoming","outgoing"],"type":"string"},"instruction_scan_truncated":{"type":"boolean"},"instructions_scanned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"procedure":{"additionalProperties":false,"properties":{"address":{"type":"string"},"classification":{"anyOf":[{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target","provenance"],"type":"object"},{"type":"null"}],"default":null},"name":{"type":"string"}},"required":["address","name","classification"],"type":"object"},"references":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"kind":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"reason":{"type":"string"}},"required":["available","reason"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"call":{"type":"boolean"},"computed":{"type":"boolean"},"conditional":{"type":"boolean"},"data":{"type":"boolean"},"external":{"type":"boolean"},"flow":{"type":"boolean"},"indirect":{"type":"boolean"},"jump":{"type":"boolean"},"operand_index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"primary":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"read":{"type":"boolean"},"terminal":{"type":"boolean"},"type":{"type":"string"},"write":{"type":"boolean"}},"required":["available","provenance","type","flow","call","jump","data","read","write","indirect","computed","conditional","terminal","primary","operand_index","external"],"type":"object"}]},"source_address":{"type":"string"},"source_procedure":{"anyOf":[{"additionalProperties":false,"properties":{"address":{"type":"string"},"classification":{"anyOf":[{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target","provenance"],"type":"object"},{"type":"null"}],"default":null},"name":{"type":"string"}},"required":["address","name","classification"],"type":"object"},{"type":"null"}]},"target_address":{"type":"string"},"target_procedure":{"anyOf":[{"additionalProperties":false,"properties":{"address":{"type":"string"},"classification":{"anyOf":[{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target","provenance"],"type":"object"},{"type":"null"}],"default":null},"name":{"type":"string"}},"required":["address","name","classification"],"type":"object"},{"type":"null"}]}},"required":["source_address","target_address","source_procedure","target_procedure","kind"],"type":"object"},"type":"array"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["items","total","returned","truncated","next_offset"],"type":"object"}},"required":["procedure","direction","references","instructions_scanned","instruction_scan_truncated"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Procedure References"},{"analysisOperation":"procedure_pseudo_code","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"procedure":"main"}],"properties":{"document":{"description":"The document name","type":"string"},"procedure":{"description":"The procedure name or address","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["procedure"],"type":"object"},"kind":"official-proxy","name":"procedure_pseudo_code","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Primary structured result returned by this operation."}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Procedure Pseudo Code"},{"analysisOperation":"resolve_containing_procedure","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"address":"0x1000"}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["address"],"type":"object"},"kind":"official-proxy","name":"resolve_containing_procedure","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","oneOf":[{"additionalProperties":false,"properties":{"found":{"const":true,"type":"boolean"},"procedure":{"additionalProperties":false,"properties":{"address":{"type":"string"},"classification":{"anyOf":[{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target","provenance"],"type":"object"},{"type":"null"}],"default":null},"name":{"type":"string"}},"required":["address","name","classification"],"type":"object"},"query_address":{"type":"string"}},"required":["query_address","found","procedure"],"type":"object"},{"additionalProperties":false,"properties":{"found":{"const":false,"type":"boolean"},"procedure":{"type":"null"},"query_address":{"type":"string"},"reason":{"enum":["outside_segments","not_in_procedure"],"type":"string"}},"required":["query_address","found","procedure","reason"],"type":"object"}]}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Resolve Containing Procedure"},{"analysisOperation":"search_procedures","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Search analyzed procedure names using literal matching by default or regex opt-in. Providers bound search work and reject regex constructs, paths, candidates, or cumulative work outside their finite budgets. Results are deterministic and offset-paginated.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"case_sensitive":false,"limit":100,"mode":"literal","offset":0,"pattern":"main"}],"properties":{"case_sensitive":{"default":false,"description":"Whether to match case","type":"boolean"},"document":{"description":"The document name","type":"string"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":100,"minimum":1,"type":"integer"},"mode":{"default":"literal","description":"Operation mode that selects the requested behavior.","enum":["literal","regex"],"type":"string"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"pattern":{"description":"The literal text or bounded regex pattern to search for","maxLength":256,"minLength":1,"type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["pattern"],"type":"object"},"kind":"official-proxy","name":"search_procedures","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"has_more":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"value":{"type":"string"},"value_truncated":{"type":"boolean"}},"required":["address","value","value_truncated"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset","has_more"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Search Procedures"},{"analysisOperation":"search_strings","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Search analyzed strings using literal matching by default or regex opt-in. Providers bound search work and reject regex constructs, paths, candidates, or cumulative work outside their finite budgets. Results are deterministic, offset-paginated, and explicitly truncated.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"case_sensitive":false,"limit":100,"mode":"literal","offset":0,"pattern":"authorization failed"}],"properties":{"case_sensitive":{"default":false,"description":"Whether to match case","type":"boolean"},"document":{"description":"The document name","type":"string"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":100,"minimum":1,"type":"integer"},"mode":{"default":"literal","description":"Operation mode that selects the requested behavior.","enum":["literal","regex"],"type":"string"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"pattern":{"description":"The literal text or bounded regex pattern to search for","maxLength":256,"minLength":1,"type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["pattern"],"type":"object"},"kind":"official-proxy","name":"search_strings","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"has_more":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"value":{"type":"string"},"value_truncated":{"type":"boolean"}},"required":["address","value","value_truncated"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset","has_more"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Search Strings"},{"analysisOperation":"set_address_name","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Assign an analyst name to one hexadecimal address and report Hopper\'s boolean result. This mutates analysis metadata; read it back with address_name before relying on it.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":true,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"address":"0x1000","name":"entry"}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"document":{"description":"The document name","type":"string"},"name":{"description":"Exact name used by this operation.","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["address","name"],"type":"object"},"kind":"official-proxy","name":"set_address_name","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","type":"boolean"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Set Address Name"},{"analysisOperation":"set_addresses_names","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Assign analyst names to an address/name map and return per-address success booleans. This mutates analysis metadata; use for bounded batches and verify failures individually.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":true,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"names":{"0x1000":"entry"}}],"properties":{"document":{"description":"The document name","type":"string"},"names":{"additionalProperties":{"type":"string"},"description":"Value for names.","propertyNames":{"type":"string"},"type":"object"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["names"],"type":"object"},"kind":"official-proxy","name":"set_addresses_names","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":{"type":"boolean"},"description":"Primary structured result returned by this operation.","propertyNames":{"type":"string"},"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Set Addresses Names"},{"analysisOperation":"set_bookmark","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Create or replace a bookmark at a hexadecimal address. This mutates navigation metadata; verify with list_bookmarks and do not treat bookmarks as binary evidence.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":true,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"address":"0x1000"}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"document":{"description":"The document name","type":"string"},"name":{"description":"Exact name used by this operation.","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["address"],"type":"object"},"kind":"official-proxy","name":"set_bookmark","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","type":"boolean"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Set Bookmark"},{"analysisOperation":"set_comment","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":true,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"address":"0x1000","comment":"validated entry point"}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"comment":{"description":"Exact analyst comment text to write.","type":"string"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["address","comment"],"type":"object"},"kind":"official-proxy","name":"set_comment","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","type":"boolean"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Set Comment"},{"analysisOperation":"set_current_document","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Select an already-open Hopper document by exact document name. This changes subsequent default-document routing; call list_documents first and prefer explicit document inputs where reproducibility matters.","effects":{"accessesNetwork":false,"changesUiState":true,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"document":"fixture"}],"properties":{"document":{"description":"Exact provider document or program identity.","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["document"],"type":"object"},"kind":"official-proxy","name":"set_current_document","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","type":"string"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Set Current Document"},{"analysisOperation":"set_inline_comment","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Write an inline instruction comment at a hexadecimal address and return whether readback matched. This mutates analysis metadata; confirm with inline_comment.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":true,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"address":"0x1000","comment":"calls parser"}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"comment":{"description":"Exact analyst comment text to write.","type":"string"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["address","comment"],"type":"object"},"kind":"official-proxy","name":"set_inline_comment","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","type":"boolean"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Set Inline Comment"},{"analysisOperation":"unset_bookmark","annotations":{"destructiveHint":true,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Remove the bookmark at a hexadecimal address and return whether it is absent. This mutates navigation metadata and does not alter binary bytes.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":true,"mutatesSession":true,"mutatesTarget":true,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"address":"0x1000"}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"required":["address"],"type":"object"},"kind":"official-proxy","name":"unset_bookmark","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","type":"boolean"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Unset Bookmark"},{"analysisOperation":"xrefs","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Return analyzed references to a code or data address, defaulting to the current cursor. Use to connect strings, globals, selectors, and functions; bare addresses are untyped and indirect references may be incomplete.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{"address":{"description":"A provider-normalized address; default memory uses 0x-prefixed hexadecimal","type":"string"},"document":{"description":"The document name","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record typed capability unavailability as a residual unknown","type":"boolean"}},"type":"object"},"kind":"official-proxy","name":"xrefs","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","items":{"type":"string"},"type":"array"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Xrefs"},{"analysisOperation":"swift_classes","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Discover legacy-mangled Swift class procedures after exhaustively paging analyzed procedures. Returns at most 100 entries and scans at most 5,000 symbols; use analyze_swift_types for other Swift kinds.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"pattern":""}],"properties":{"pattern":{"default":"","description":"Text or bounded pattern used to filter matching results.","type":"string"}},"type":"object"},"kind":"enhanced","name":"swift_classes","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"classes":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"type":"object"},"type":"array"},"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["count","classes"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Swift Classes"},{"analysisOperation":"get_objc_classes","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Discover and deduplicate Objective-C class labels after exhaustively paging names, optionally filtering by literal substring. Returns at most 100 classes; inspect matching metadata and references next.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"pattern":""}],"properties":{"pattern":{"default":"","description":"Text or bounded pattern used to filter matching results.","type":"string"}},"type":"object"},"kind":"enhanced","name":"get_objc_classes","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"classes":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"type":"object"},"type":"array"},"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["count","classes"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Get Objc Classes"},{"analysisOperation":"get_objc_protocols","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Discover and deduplicate Objective-C and Swift protocol labels after exhaustively paging names. Returns at most 100 entries; use xrefs or analyze_function to connect a protocol to implementations.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{},"type":"object"},"kind":"enhanced","name":"get_objc_protocols","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"protocols":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"type":"object"},"type":"array"}},"required":["count","protocols"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Get Objc Protocols"},{"analysisOperation":"batch_decompile","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Decompile up to 20 explicit procedure symbols or addresses concurrently. Returns ordered per-item ok/error variants and aggregate counts; use analyze_function for a richer single-function dossier.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"addresses":[]}],"properties":{"addresses":{"default":[],"description":"Ordered provider-normalized procedure addresses to analyze.","items":{"description":"A provider-normalized procedure address","type":"string"},"maxItems":20,"type":"array"}},"type":"object"},"kind":"enhanced","name":"batch_decompile","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"failed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"type":"string"},"pseudocode":{"minLength":1,"type":"string"},"status":{"const":"ok","type":"string"}},"required":["address","status","pseudocode"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"type":"string"},"error":{"oneOf":[{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"invalid_request","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"unreadable_output","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"capability_unavailable","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"provider_unavailable","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"provider_timeout","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"cancelled","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"artifact_integrity_mismatch","type":"string"},"details":{"additionalProperties":false,"properties":{"calculated_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"declared_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"logical_path":{"type":"string"},"unpacked":{"type":"boolean"}},"required":["logical_path","declared_sha256","calculated_sha256","unpacked"],"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation","details"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"artifact_operation_failed","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"evidence_integrity_mismatch","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"truncated","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"permission_required","type":"string"},"details":{"additionalProperties":false,"properties":{"capability":{"type":"string"},"ceiling":{"anyOf":[{"additionalProperties":false,"properties":{"capability":{"type":"string"},"environment_names":{"items":{"type":"string"},"type":"array"},"executables":{"items":{"type":"string"},"type":"array"},"mount":{"type":"boolean"},"network":{"enum":["none","loopback","external"],"type":"string"},"origins":{"items":{"type":"string"},"type":"array"},"roots":{"items":{"type":"string"},"type":"array"}},"required":["capability","roots","executables","environment_names","network","mount"],"type":"object"},{"type":"null"}]},"missing":{"additionalProperties":false,"properties":{"environment_names":{"items":{"type":"string"},"type":"array"},"executables":{"items":{"type":"string"},"type":"array"},"mount":{"const":true,"type":"boolean"},"network":{"enum":["none","loopback","external"],"type":"string"},"origins":{"items":{"type":"string"},"type":"array"},"roots":{"items":{"type":"string"},"type":"array"}},"type":"object"},"requested":{"additionalProperties":false,"properties":{"capability":{"type":"string"},"environment_names":{"items":{"type":"string"},"type":"array"},"executables":{"items":{"type":"string"},"type":"array"},"mount":{"type":"boolean"},"network":{"enum":["none","loopback","external"],"type":"string"},"origins":{"items":{"type":"string"},"type":"array"},"roots":{"items":{"type":"string"},"type":"array"}},"required":["capability","roots","executables","environment_names","network","mount"],"type":"object"}},"required":["capability","requested","missing","ceiling"],"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"process_capture_failed","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"cleanup_incomplete","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"revision_conflict","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"outside_approved_root","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"configuration_invalid","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"target_unavailable","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"execution_failure","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"plan_stale","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"}]},"status":{"const":"error","type":"string"}},"required":["address","status","error"],"type":"object"}]},"type":"array"},"succeeded":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","total","succeeded","failed"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Batch Decompile"},{"analysisOperation":"get_call_graph","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Traverse the bound provider\'s caller or callee relationships from one symbol or address for at most five levels. Every node has an ok/error status and failures use safe typed projections; unresolved indirect calls may be missing and results are not a whole-program CFG.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"address":"0x1000","depth":2,"direction":"forward"}],"properties":{"address":{"description":"A provider-normalized procedure address","type":"string"},"depth":{"default":2,"description":"Value for depth.","maximum":5,"minimum":1,"type":"integer"},"direction":{"default":"forward","description":"Direction in which to traverse or compare relationships.","enum":["forward","backward"],"type":"string"}},"required":["address"],"type":"object"},"kind":"enhanced","name":"get_call_graph","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"type":"string"},"calls":{"items":{"type":"string"},"type":"array"},"status":{"const":"ok","type":"string"}},"required":["address","status","calls"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"type":"string"},"error":{"oneOf":[{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"invalid_request","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"unreadable_output","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"capability_unavailable","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"provider_unavailable","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"provider_timeout","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"cancelled","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"artifact_integrity_mismatch","type":"string"},"details":{"additionalProperties":false,"properties":{"calculated_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"declared_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"logical_path":{"type":"string"},"unpacked":{"type":"boolean"}},"required":["logical_path","declared_sha256","calculated_sha256","unpacked"],"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation","details"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"artifact_operation_failed","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"evidence_integrity_mismatch","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"truncated","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"permission_required","type":"string"},"details":{"additionalProperties":false,"properties":{"capability":{"type":"string"},"ceiling":{"anyOf":[{"additionalProperties":false,"properties":{"capability":{"type":"string"},"environment_names":{"items":{"type":"string"},"type":"array"},"executables":{"items":{"type":"string"},"type":"array"},"mount":{"type":"boolean"},"network":{"enum":["none","loopback","external"],"type":"string"},"origins":{"items":{"type":"string"},"type":"array"},"roots":{"items":{"type":"string"},"type":"array"}},"required":["capability","roots","executables","environment_names","network","mount"],"type":"object"},{"type":"null"}]},"missing":{"additionalProperties":false,"properties":{"environment_names":{"items":{"type":"string"},"type":"array"},"executables":{"items":{"type":"string"},"type":"array"},"mount":{"const":true,"type":"boolean"},"network":{"enum":["none","loopback","external"],"type":"string"},"origins":{"items":{"type":"string"},"type":"array"},"roots":{"items":{"type":"string"},"type":"array"}},"type":"object"},"requested":{"additionalProperties":false,"properties":{"capability":{"type":"string"},"environment_names":{"items":{"type":"string"},"type":"array"},"executables":{"items":{"type":"string"},"type":"array"},"mount":{"type":"boolean"},"network":{"enum":["none","loopback","external"],"type":"string"},"origins":{"items":{"type":"string"},"type":"array"},"roots":{"items":{"type":"string"},"type":"array"}},"required":["capability","roots","executables","environment_names","network","mount"],"type":"object"}},"required":["capability","requested","missing","ceiling"],"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"process_capture_failed","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"cleanup_incomplete","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"revision_conflict","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"outside_approved_root","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"configuration_invalid","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"target_unavailable","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"execution_failure","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"plan_stale","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"}]},"status":{"const":"error","type":"string"}},"required":["address","status","error"],"type":"object"}]},"type":"array"},"description":"Primary structured result returned by this operation.","propertyNames":{"type":"string"},"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Get Call Graph"},{"analysisOperation":"analyze_swift_types","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Categorize exhaustively paged procedure names into Swift classes, structs, enums, protocols, extensions, and other symbols. Scans at most 5,000 names and returns at most 50 entries per category.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{},"type":"object"},"kind":"enhanced","name":"analyze_swift_types","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"categories":{"additionalProperties":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"type":"object"},"type":"array"}},"required":["count","items"],"type":"object"},"propertyNames":{"type":"string"},"type":"object"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total","categories"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Analyze Swift Types"},{"analysisOperation":"find_xrefs_to_name","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Resolve an exact name through the bound provider\'s exhaustively paged name inventory and return a resolved or unresolved result. Unresolved names use the stable name_not_found reason; this compact xref workflow returns address-only projections.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"name":"malloc"}],"properties":{"name":{"description":"Exact name used by this operation.","type":"string"}},"required":["name"],"type":"object"},"kind":"enhanced","name":"find_xrefs_to_name","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"description":"Primary structured result returned by this operation.","oneOf":[{"additionalProperties":false,"properties":{"address":{"type":"string"},"name":{"type":"string"},"status":{"const":"resolved","type":"string"},"xrefs":{"items":{"type":"string"},"type":"array"}},"required":["status","name","address","xrefs"],"type":"object"},{"additionalProperties":false,"properties":{"name":{"type":"string"},"reason":{"const":"name_not_found","type":"string"},"status":{"const":"unresolved","type":"string"}},"required":["status","name","reason"],"type":"object"}]}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Find Xrefs To Name"},{"analysisOperation":"binary_overview","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Use immediately after opening a target to summarize document, exhaustive procedure/string counts, and a bounded segment sample. detail controls segment fields and limit controls only the returned segment sample.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"detail":"concise","limit":10}],"properties":{"detail":{"default":"concise","description":"Requested response detail level.","enum":["concise","detailed"],"type":"string"},"limit":{"default":10,"description":"Maximum number of results to return in this page.","maximum":50,"minimum":1,"type":"integer"}},"type":"object"},"kind":"enhanced","name":"binary_overview","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"detail":{"enum":["concise","detailed"],"type":"string"},"document":{"type":"string"},"procedure_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"segment_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"segments":{"items":{"additionalProperties":false,"properties":{"end":{"type":"string"},"length":{"minimum":0,"type":"number"},"name":{"type":"string"},"start":{"type":"string"}},"required":["name","start","end"],"type":"object"},"type":"array"},"string_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["document","detail","segments","segment_count","procedure_count","string_count"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Binary Overview"},{"analysisOperation":"analyze_function","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Preferred bounded analysis for one procedure symbol or address. Returns identity, provider-specific pseudocode, optional assembly, comments, calls, typed-or-explicitly-unavailable references, referenced strings/names, and local CFG blocks with exact truncation metadata. Providers with a structured decompiler model also expose native API boundary types, confidence, evidence, jump-table data/target addresses, and explicit decompiler-artifact labels.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"assembly_offset":0,"collection_offset":{"basic_blocks":0,"callees":0,"callers":0,"comments":0,"incoming_references":0,"outgoing_references":0,"referenced_names":0,"referenced_strings":0},"include_assembly":false,"limit":100,"max_instructions":500,"max_pseudocode_chars":20000,"procedure":"main","pseudocode_offset":0}],"properties":{"assembly_offset":{"default":0,"description":"Zero-based index of the first assembly to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"collection_offset":{"additionalProperties":false,"default":{"basic_blocks":0,"callees":0,"callers":0,"comments":0,"incoming_references":0,"outgoing_references":0,"referenced_names":0,"referenced_strings":0},"description":"Zero-based index of the first collection to return.","properties":{"basic_blocks":{"default":0,"description":"Value for basic blocks.","maximum":9007199254740991,"minimum":0,"type":"integer"},"callees":{"default":0,"description":"Value for callees.","maximum":9007199254740991,"minimum":0,"type":"integer"},"callers":{"default":0,"description":"Value for callers.","maximum":9007199254740991,"minimum":0,"type":"integer"},"comments":{"default":0,"description":"Value for comments.","maximum":9007199254740991,"minimum":0,"type":"integer"},"incoming_references":{"default":0,"description":"Value for incoming references.","maximum":9007199254740991,"minimum":0,"type":"integer"},"outgoing_references":{"default":0,"description":"Value for outgoing references.","maximum":9007199254740991,"minimum":0,"type":"integer"},"referenced_names":{"default":0,"description":"Value for referenced names.","maximum":9007199254740991,"minimum":0,"type":"integer"},"referenced_strings":{"default":0,"description":"Value for referenced strings.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"type":"object"},"include_assembly":{"default":false,"description":"Whether to include assembly in the result.","type":"boolean"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":500,"minimum":1,"type":"integer"},"max_instructions":{"default":500,"description":"Maximum permitted instructions for this operation.","maximum":5000,"minimum":1,"type":"integer"},"max_pseudocode_chars":{"default":20000,"description":"Maximum permitted pseudocode chars for this operation.","maximum":100000,"minimum":1,"type":"integer"},"procedure":{"description":"A procedure name or address","type":"string"},"pseudocode_offset":{"default":0,"description":"Zero-based index of the first pseudocode to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["procedure"],"type":"object"},"kind":"enhanced","name":"analyze_function","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"assembly":{"additionalProperties":false,"properties":{"items":{"items":{"type":"string"},"type":"array"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["items","total","returned","truncated","next_offset"],"type":"object"},"basic_blocks":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"end":{"type":"string"},"start":{"type":"string"},"successors":{"items":{"type":"string"},"type":"array"}},"required":["start","end","successors"],"type":"object"},"type":"array"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["items","total","returned","truncated","next_offset"],"type":"object"},"callees":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"classification":{"anyOf":[{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target","provenance"],"type":"object"},{"type":"null"}],"default":null},"name":{"type":"string"}},"required":["address","name","classification"],"type":"object"},"type":"array"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["items","total","returned","truncated","next_offset"],"type":"object"},"callers":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"classification":{"anyOf":[{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target","provenance"],"type":"object"},{"type":"null"}],"default":null},"name":{"type":"string"}},"required":["address","name","classification"],"type":"object"},"type":"array"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["items","total","returned","truncated","next_offset"],"type":"object"},"comments":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"kind":{"enum":["comment","inline"],"type":"string"},"text":{"type":"string"}},"required":["address","kind","text"],"type":"object"},"type":"array"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["items","total","returned","truncated","next_offset"],"type":"object"},"incoming_references":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"kind":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"reason":{"type":"string"}},"required":["available","reason"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"call":{"type":"boolean"},"computed":{"type":"boolean"},"conditional":{"type":"boolean"},"data":{"type":"boolean"},"external":{"type":"boolean"},"flow":{"type":"boolean"},"indirect":{"type":"boolean"},"jump":{"type":"boolean"},"operand_index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"primary":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"read":{"type":"boolean"},"terminal":{"type":"boolean"},"type":{"type":"string"},"write":{"type":"boolean"}},"required":["available","provenance","type","flow","call","jump","data","read","write","indirect","computed","conditional","terminal","primary","operand_index","external"],"type":"object"}]},"source_address":{"type":"string"},"source_procedure":{"anyOf":[{"additionalProperties":false,"properties":{"address":{"type":"string"},"classification":{"anyOf":[{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target","provenance"],"type":"object"},{"type":"null"}],"default":null},"name":{"type":"string"}},"required":["address","name","classification"],"type":"object"},{"type":"null"}]},"target_address":{"type":"string"},"target_procedure":{"anyOf":[{"additionalProperties":false,"properties":{"address":{"type":"string"},"classification":{"anyOf":[{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target","provenance"],"type":"object"},{"type":"null"}],"default":null},"name":{"type":"string"}},"required":["address","name","classification"],"type":"object"},{"type":"null"}]}},"required":["source_address","target_address","source_procedure","target_procedure","kind"],"type":"object"},"type":"array"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["items","total","returned","truncated","next_offset"],"type":"object"},"instruction_scan":{"additionalProperties":false,"properties":{"scanned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"truncated":{"type":"boolean"}},"required":["scanned","truncated"],"type":"object"},"limitations":{"default":[],"items":{"type":"string"},"type":"array"},"native_api":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"reason":{"minLength":1,"type":"string"},"residual_unknowns":{"items":{"minLength":1,"type":"string"},"minItems":1,"type":"array"}},"required":["available","reason","residual_unknowns"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"calling_convention":{"minLength":1,"type":"string"},"decompiler_artifacts":{"items":{"enum":["recovered-signature","register-and-stack-variables","compiler-generated-control-flow","pointer-arithmetic","pseudocode"],"type":"string"},"type":"array"},"jump_tables":{"items":{"additionalProperties":false,"properties":{"data_sources":{"items":{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"confidence":{"enum":["low","medium","high"],"type":"string"},"entry_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"entry_size_bytes":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}]},"evidence":{"items":{"additionalProperties":false,"properties":{"detail":{"minLength":1,"type":"string"},"kind":{"enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"],"type":"string"},"source":{"minLength":1,"type":"string"}},"required":["kind","source","detail"],"type":"object"},"minItems":1,"type":"array"},"provenance":{"enum":["ghidra-decompiler-load-table","ghidra-dispatch-block-data-reference"],"type":"string"}},"required":["address","provenance","entry_size_bytes","entry_count","confidence","evidence"],"type":"object"},"type":"array"},"data_sources_truncated":{"type":"boolean"},"dispatch_address":{"minLength":1,"type":"string"},"limitations":{"items":{"type":"string"},"type":"array"},"mappings":{"items":{"additionalProperties":false,"properties":{"case_value":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"confidence":{"enum":["low","medium","high"],"type":"string"},"data_addresses":{"items":{"minLength":1,"type":"string"},"type":"array"},"evidence":{"items":{"additionalProperties":false,"properties":{"detail":{"minLength":1,"type":"string"},"kind":{"enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"],"type":"string"},"source":{"minLength":1,"type":"string"}},"required":["kind","source","detail"],"type":"object"},"minItems":1,"type":"array"},"target_address":{"minLength":1,"type":"string"}},"required":["case_value","target_address","data_addresses","confidence","evidence"],"type":"object"},"type":"array"},"mappings_truncated":{"type":"boolean"}},"required":["dispatch_address","data_sources","data_sources_truncated","mappings","mappings_truncated","limitations"],"type":"object"},"type":"array"},"jump_tables_truncated":{"type":"boolean"},"limitations":{"items":{"type":"string"},"type":"array"},"parameters":{"items":{"additionalProperties":false,"properties":{"confidence":{"enum":["low","medium","high"],"type":"string"},"data_type":{"minLength":1,"type":"string"},"decompiler_artifacts":{"items":{"enum":["recovered-signature","register-or-stack-storage","compiler-generated-variable"],"type":"string"},"type":"array"},"evidence":{"items":{"additionalProperties":false,"properties":{"detail":{"minLength":1,"type":"string"},"kind":{"enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"],"type":"string"},"source":{"minLength":1,"type":"string"}},"required":["kind","source","detail"],"type":"object"},"minItems":1,"type":"array"},"name":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]},"ordinal":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"role":{"enum":["return","parameter"],"type":"string"},"size_bytes":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"storage":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]}},"required":["role","ordinal","name","data_type","size_bytes","storage","confidence","evidence","decompiler_artifacts"],"type":"object"},"type":"array"},"parameters_truncated":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"pseudocode":{"additionalProperties":false,"properties":{"classification":{"const":"decompiler-generated-non-source","type":"string"},"compilable":{"const":false,"type":"boolean"}},"required":["classification","compilable"],"type":"object"},"return_type":{"additionalProperties":false,"properties":{"confidence":{"enum":["low","medium","high"],"type":"string"},"data_type":{"minLength":1,"type":"string"},"decompiler_artifacts":{"items":{"enum":["recovered-signature","register-or-stack-storage","compiler-generated-variable"],"type":"string"},"type":"array"},"evidence":{"items":{"additionalProperties":false,"properties":{"detail":{"minLength":1,"type":"string"},"kind":{"enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"],"type":"string"},"source":{"minLength":1,"type":"string"}},"required":["kind","source","detail"],"type":"object"},"minItems":1,"type":"array"},"name":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]},"ordinal":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"role":{"enum":["return","parameter"],"type":"string"},"size_bytes":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"storage":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]}},"required":["role","ordinal","name","data_type","size_bytes","storage","confidence","evidence","decompiler_artifacts"],"type":"object"},"signature_source":{"minLength":1,"type":"string"}},"required":["available","provenance","signature_source","calling_convention","return_type","parameters","parameters_truncated","jump_tables","jump_tables_truncated","pseudocode","decompiler_artifacts","limitations"],"type":"object"}]},"outgoing_references":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"kind":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"reason":{"type":"string"}},"required":["available","reason"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"call":{"type":"boolean"},"computed":{"type":"boolean"},"conditional":{"type":"boolean"},"data":{"type":"boolean"},"external":{"type":"boolean"},"flow":{"type":"boolean"},"indirect":{"type":"boolean"},"jump":{"type":"boolean"},"operand_index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"primary":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"read":{"type":"boolean"},"terminal":{"type":"boolean"},"type":{"type":"string"},"write":{"type":"boolean"}},"required":["available","provenance","type","flow","call","jump","data","read","write","indirect","computed","conditional","terminal","primary","operand_index","external"],"type":"object"}]},"source_address":{"type":"string"},"source_procedure":{"anyOf":[{"additionalProperties":false,"properties":{"address":{"type":"string"},"classification":{"anyOf":[{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target","provenance"],"type":"object"},{"type":"null"}],"default":null},"name":{"type":"string"}},"required":["address","name","classification"],"type":"object"},{"type":"null"}]},"target_address":{"type":"string"},"target_procedure":{"anyOf":[{"additionalProperties":false,"properties":{"address":{"type":"string"},"classification":{"anyOf":[{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target","provenance"],"type":"object"},{"type":"null"}],"default":null},"name":{"type":"string"}},"required":["address","name","classification"],"type":"object"},{"type":"null"}]}},"required":["source_address","target_address","source_procedure","target_procedure","kind"],"type":"object"},"type":"array"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["items","total","returned","truncated","next_offset"],"type":"object"},"procedure":{"additionalProperties":false,"properties":{"address":{"type":"string"},"classification":{"anyOf":[{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target","provenance"],"type":"object"},{"type":"null"}],"default":null},"locals":{"items":{"additionalProperties":false,"properties":{"description":{"type":"string"},"provenance":{"minLength":1,"type":"string"}},"required":["description","provenance"],"type":"object"},"type":"array"},"name":{"type":"string"},"signature":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["address","name","classification","signature","locals"],"type":"object"},"pseudocode":{"additionalProperties":false,"properties":{"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"returned_chars":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"text":{"type":"string"},"total_chars":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"truncated":{"type":"boolean"}},"required":["text","total_chars","returned_chars","truncated","next_offset"],"type":"object"},"referenced_names":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"source_address":{"type":"string"},"value":{"type":"string"}},"required":["address","value","source_address"],"type":"object"},"type":"array"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["items","total","returned","truncated","next_offset"],"type":"object"},"referenced_strings":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"source_address":{"type":"string"},"value":{"type":"string"}},"required":["address","value","source_address"],"type":"object"},"type":"array"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["items","total","returned","truncated","next_offset"],"type":"object"}},"required":["procedure","pseudocode","assembly","comments","callers","callees","incoming_references","outgoing_references","referenced_strings","referenced_names","basic_blocks","instruction_scan","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Analyze Function"},{"analysisOperation":"inspect_native_api","annotations":{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false},"description":"Reconstruct one native function boundary through inspectable substeps. Returns structured inferred return/parameter types with confidence and evidence, jump-table dispatch/data/target mappings, explicit decompiler-artifact labels, unsupported branches, and residual unknowns.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":false,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"max_instructions":500,"max_pseudocode_chars":20000,"procedure":"main"}],"properties":{"max_instructions":{"default":500,"description":"Maximum permitted instructions for this operation.","maximum":5000,"minimum":1,"type":"integer"},"max_pseudocode_chars":{"default":20000,"description":"Maximum permitted pseudocode chars for this operation.","maximum":100000,"minimum":1,"type":"integer"},"procedure":{"description":"A procedure name or address","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record unsupported native API branches durably","type":"boolean"}},"required":["procedure"],"type":"object"},"kind":"enhanced","name":"inspect_native_api","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"boundary":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"reason":{"minLength":1,"type":"string"},"residual_unknowns":{"items":{"minLength":1,"type":"string"},"minItems":1,"type":"array"}},"required":["available","reason","residual_unknowns"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"calling_convention":{"minLength":1,"type":"string"},"decompiler_artifacts":{"items":{"enum":["recovered-signature","register-and-stack-variables","compiler-generated-control-flow","pointer-arithmetic","pseudocode"],"type":"string"},"type":"array"},"jump_tables":{"items":{"additionalProperties":false,"properties":{"data_sources":{"items":{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"confidence":{"enum":["low","medium","high"],"type":"string"},"entry_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"entry_size_bytes":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}]},"evidence":{"items":{"additionalProperties":false,"properties":{"detail":{"minLength":1,"type":"string"},"kind":{"enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"],"type":"string"},"source":{"minLength":1,"type":"string"}},"required":["kind","source","detail"],"type":"object"},"minItems":1,"type":"array"},"provenance":{"enum":["ghidra-decompiler-load-table","ghidra-dispatch-block-data-reference"],"type":"string"}},"required":["address","provenance","entry_size_bytes","entry_count","confidence","evidence"],"type":"object"},"type":"array"},"data_sources_truncated":{"type":"boolean"},"dispatch_address":{"minLength":1,"type":"string"},"limitations":{"items":{"type":"string"},"type":"array"},"mappings":{"items":{"additionalProperties":false,"properties":{"case_value":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"confidence":{"enum":["low","medium","high"],"type":"string"},"data_addresses":{"items":{"minLength":1,"type":"string"},"type":"array"},"evidence":{"items":{"additionalProperties":false,"properties":{"detail":{"minLength":1,"type":"string"},"kind":{"enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"],"type":"string"},"source":{"minLength":1,"type":"string"}},"required":["kind","source","detail"],"type":"object"},"minItems":1,"type":"array"},"target_address":{"minLength":1,"type":"string"}},"required":["case_value","target_address","data_addresses","confidence","evidence"],"type":"object"},"type":"array"},"mappings_truncated":{"type":"boolean"}},"required":["dispatch_address","data_sources","data_sources_truncated","mappings","mappings_truncated","limitations"],"type":"object"},"type":"array"},"jump_tables_truncated":{"type":"boolean"},"limitations":{"items":{"type":"string"},"type":"array"},"parameters":{"items":{"additionalProperties":false,"properties":{"confidence":{"enum":["low","medium","high"],"type":"string"},"data_type":{"minLength":1,"type":"string"},"decompiler_artifacts":{"items":{"enum":["recovered-signature","register-or-stack-storage","compiler-generated-variable"],"type":"string"},"type":"array"},"evidence":{"items":{"additionalProperties":false,"properties":{"detail":{"minLength":1,"type":"string"},"kind":{"enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"],"type":"string"},"source":{"minLength":1,"type":"string"}},"required":["kind","source","detail"],"type":"object"},"minItems":1,"type":"array"},"name":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]},"ordinal":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"role":{"enum":["return","parameter"],"type":"string"},"size_bytes":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"storage":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]}},"required":["role","ordinal","name","data_type","size_bytes","storage","confidence","evidence","decompiler_artifacts"],"type":"object"},"type":"array"},"parameters_truncated":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"pseudocode":{"additionalProperties":false,"properties":{"classification":{"const":"decompiler-generated-non-source","type":"string"},"compilable":{"const":false,"type":"boolean"}},"required":["classification","compilable"],"type":"object"},"return_type":{"additionalProperties":false,"properties":{"confidence":{"enum":["low","medium","high"],"type":"string"},"data_type":{"minLength":1,"type":"string"},"decompiler_artifacts":{"items":{"enum":["recovered-signature","register-or-stack-storage","compiler-generated-variable"],"type":"string"},"type":"array"},"evidence":{"items":{"additionalProperties":false,"properties":{"detail":{"minLength":1,"type":"string"},"kind":{"enum":["signature-source","decompiler-type","type-lock","calling-convention","jump-table"],"type":"string"},"source":{"minLength":1,"type":"string"}},"required":["kind","source","detail"],"type":"object"},"minItems":1,"type":"array"},"name":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]},"ordinal":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"role":{"enum":["return","parameter"],"type":"string"},"size_bytes":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"storage":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]}},"required":["role","ordinal","name","data_type","size_bytes","storage","confidence","evidence","decompiler_artifacts"],"type":"object"},"signature_source":{"minLength":1,"type":"string"}},"required":["available","provenance","signature_source","calling_convention","return_type","parameters","parameters_truncated","jump_tables","jump_tables_truncated","pseudocode","decompiler_artifacts","limitations"],"type":"object"}]},"procedure":{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"}},"required":["address","name"],"type":"object"},"residual_unknowns":{"items":{"minLength":1,"type":"string"},"type":"array"},"schema_version":{"const":1,"type":"number"},"substeps":{"items":{"additionalProperties":false,"properties":{"observations":{"items":{"minLength":1,"type":"string"},"type":"array"},"operation":{"enum":["analyze_function","project_native_api_boundary","preserve_residual_unknowns"],"type":"string"},"status":{"enum":["completed","unsupported"],"type":"string"}},"required":["operation","status","observations"],"type":"object"},"maxItems":3,"minItems":3,"type":"array"},"unsupported_branches":{"items":{"minLength":1,"type":"string"},"type":"array"}},"required":["schema_version","procedure","boundary","substeps","unsupported_branches","residual_unknowns"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Inspect Native Api"},{"analysisOperation":"trace_feature","annotations":{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false},"description":"Trace a bounded literal feature query through matching strings and procedures, xrefs, and truthful containing-procedure resolution. Returns the operation budget, truncation, and residual unknowns; unknown_registry_approved: true records them durably without inferring reference kinds.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":false,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"case_sensitive":false,"limit":20,"max_operations":20,"query":"license"}],"properties":{"case_sensitive":{"default":false,"description":"Whether text matching distinguishes uppercase and lowercase.","type":"boolean"},"limit":{"default":20,"description":"Maximum number of results to return in this page.","maximum":100,"minimum":1,"type":"integer"},"max_operations":{"default":20,"description":"Maximum permitted operations for this operation.","maximum":100,"minimum":1,"type":"integer"},"query":{"description":"Non-empty feature or text query to investigate.","minLength":1,"type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record bounded residuals durably","type":"boolean"}},"required":["query"],"type":"object"},"kind":"enhanced","name":"trace_feature","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"matches":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"type":{"enum":["string","procedure"],"type":"string"},"value":{"type":"string"}},"required":["type","address","value"],"type":"object"},"type":"array"},"operation_budget":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"operations_used":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"query":{"type":"string"},"references":{"items":{"additionalProperties":false,"properties":{"containing_procedure":{"oneOf":[{"additionalProperties":false,"properties":{"found":{"const":true,"type":"boolean"},"procedure":{"additionalProperties":false,"properties":{"address":{"type":"string"},"classification":{"anyOf":[{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target","provenance"],"type":"object"},{"type":"null"}],"default":null},"name":{"type":"string"}},"required":["address","name","classification"],"type":"object"},"query_address":{"type":"string"}},"required":["query_address","found","procedure"],"type":"object"},{"additionalProperties":false,"properties":{"found":{"const":false,"type":"boolean"},"procedure":{"type":"null"},"query_address":{"type":"string"},"reason":{"enum":["outside_segments","not_in_procedure"],"type":"string"}},"required":["query_address","found","procedure","reason"],"type":"object"}]},"source_address":{"type":"string"},"target_address":{"type":"string"}},"required":["target_address","source_address","containing_procedure"],"type":"object"},"type":"array"},"residual_unknowns":{"items":{"type":"string"},"type":"array"},"search_mode":{"const":"literal","type":"string"},"truncated":{"type":"boolean"}},"required":["query","search_mode","operations_used","operation_budget","matches","references","truncated","residual_unknowns"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Trace Feature"},{"analysisOperation":"find_code_for_string","annotations":{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false},"description":"Resolve one literal string query to bounded analyzed string entries, xrefs, and truthful containing-procedure candidates. Returns an Evidence ID, exact operation budget, truncation, and residual unknowns; it never infers reference kinds or runtime reachability.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":false,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"case_sensitive":false,"limit":20,"max_operations":20,"query":"license"}],"properties":{"case_sensitive":{"default":false,"description":"Whether text matching distinguishes uppercase and lowercase.","type":"boolean"},"limit":{"default":20,"description":"Maximum number of results to return in this page.","maximum":100,"minimum":1,"type":"integer"},"max_operations":{"default":20,"description":"Maximum permitted operations for this operation.","maximum":100,"minimum":1,"type":"integer"},"query":{"description":"Non-empty feature or text query to investigate.","minLength":1,"type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record bounded residuals durably","type":"boolean"}},"required":["query"],"type":"object"},"kind":"enhanced","name":"find_code_for_string","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"matches":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"type":{"enum":["string","procedure"],"type":"string"},"value":{"type":"string"}},"required":["type","address","value"],"type":"object"},"type":"array"},"operation_budget":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"operations_used":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"query":{"type":"string"},"references":{"items":{"additionalProperties":false,"properties":{"containing_procedure":{"oneOf":[{"additionalProperties":false,"properties":{"found":{"const":true,"type":"boolean"},"procedure":{"additionalProperties":false,"properties":{"address":{"type":"string"},"classification":{"anyOf":[{"additionalProperties":false,"properties":{"external":{"type":"boolean"},"provenance":{"minLength":1,"type":"string"},"thunk":{"type":"boolean"},"thunk_target":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["external","thunk","thunk_target","provenance"],"type":"object"},{"type":"null"}],"default":null},"name":{"type":"string"}},"required":["address","name","classification"],"type":"object"},"query_address":{"type":"string"}},"required":["query_address","found","procedure"],"type":"object"},{"additionalProperties":false,"properties":{"found":{"const":false,"type":"boolean"},"procedure":{"type":"null"},"query_address":{"type":"string"},"reason":{"enum":["outside_segments","not_in_procedure"],"type":"string"}},"required":["query_address","found","procedure","reason"],"type":"object"}]},"source_address":{"type":"string"},"target_address":{"type":"string"}},"required":["target_address","source_address","containing_procedure"],"type":"object"},"type":"array"},"residual_unknowns":{"items":{"type":"string"},"type":"array"},"search_mode":{"const":"literal","type":"string"},"truncated":{"type":"boolean"}},"required":["query","search_mode","operations_used","operation_budget","matches","references","truncated","residual_unknowns"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Find Code For String"},{"analysisOperation":"trace_call_path","annotations":{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false},"description":"Trace a deterministic bounded caller or callee path from one exact procedure address, optionally stopping at a goal. Returns visited nodes, direct-call edges, one shortest traversal path, failures, frontier, consumed limits, an Evidence ID, and explicit residual unknowns without claiming unresolved indirect calls are absent.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":false,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"direction":"forward","goal":"0x1100","max_depth":5,"max_nodes":100,"max_operations":100,"start":"0x1000"}],"properties":{"direction":{"default":"forward","description":"Direction in which to traverse or compare relationships.","enum":["forward","backward"],"type":"string"},"goal":{"description":"An optional provider-normalized destination address","type":"string"},"max_depth":{"default":5,"description":"Maximum permitted depth for this operation.","maximum":10,"minimum":1,"type":"integer"},"max_nodes":{"default":100,"description":"Maximum permitted nodes for this operation.","maximum":500,"minimum":1,"type":"integer"},"max_operations":{"default":100,"description":"Maximum permitted operations for this operation.","maximum":500,"minimum":1,"type":"integer"},"start":{"description":"A provider-normalized procedure address","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record bounded residuals durably","type":"boolean"}},"required":["start"],"type":"object"},"kind":"enhanced","name":"trace_call_path","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"direction":{"enum":["forward","backward"],"type":"string"},"edges":{"items":{"additionalProperties":false,"properties":{"discovery_depth":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_address":{"type":"string"},"target_address":{"type":"string"}},"required":["source_address","target_address","discovery_depth"],"type":"object"},"type":"array"},"failures":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"error":{"oneOf":[{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"invalid_request","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"unreadable_output","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"capability_unavailable","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"provider_unavailable","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"provider_timeout","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"cancelled","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"artifact_integrity_mismatch","type":"string"},"details":{"additionalProperties":false,"properties":{"calculated_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"declared_sha256":{"anyOf":[{"type":"string"},{"type":"null"}]},"logical_path":{"type":"string"},"unpacked":{"type":"boolean"}},"required":["logical_path","declared_sha256","calculated_sha256","unpacked"],"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation","details"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"artifact_operation_failed","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"evidence_integrity_mismatch","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"truncated","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"permission_required","type":"string"},"details":{"additionalProperties":false,"properties":{"capability":{"type":"string"},"ceiling":{"anyOf":[{"additionalProperties":false,"properties":{"capability":{"type":"string"},"environment_names":{"items":{"type":"string"},"type":"array"},"executables":{"items":{"type":"string"},"type":"array"},"mount":{"type":"boolean"},"network":{"enum":["none","loopback","external"],"type":"string"},"origins":{"items":{"type":"string"},"type":"array"},"roots":{"items":{"type":"string"},"type":"array"}},"required":["capability","roots","executables","environment_names","network","mount"],"type":"object"},{"type":"null"}]},"missing":{"additionalProperties":false,"properties":{"environment_names":{"items":{"type":"string"},"type":"array"},"executables":{"items":{"type":"string"},"type":"array"},"mount":{"const":true,"type":"boolean"},"network":{"enum":["none","loopback","external"],"type":"string"},"origins":{"items":{"type":"string"},"type":"array"},"roots":{"items":{"type":"string"},"type":"array"}},"type":"object"},"requested":{"additionalProperties":false,"properties":{"capability":{"type":"string"},"environment_names":{"items":{"type":"string"},"type":"array"},"executables":{"items":{"type":"string"},"type":"array"},"mount":{"type":"boolean"},"network":{"enum":["none","loopback","external"],"type":"string"},"origins":{"items":{"type":"string"},"type":"array"},"roots":{"items":{"type":"string"},"type":"array"}},"required":["capability","roots","executables","environment_names","network","mount"],"type":"object"}},"required":["capability","requested","missing","ceiling"],"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"process_capture_failed","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"cleanup_incomplete","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"revision_conflict","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"outside_approved_root","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"configuration_invalid","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"target_unavailable","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"execution_failure","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"},{"additionalProperties":false,"properties":{"category":{"enum":["invalid_input","permission_required","unsupported_provider","integrity_mismatch","truncated","cancelled","timeout","unavailable","execution_failure"],"type":"string"},"code":{"const":"plan_stale","type":"string"},"details":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"message":{"minLength":1,"type":"string"},"remediation":{"additionalProperties":false,"properties":{"action":{"minLength":1,"type":"string"},"elicitation_supported":{"type":"boolean"},"restart_required":{"type":"boolean"}},"required":["action","restart_required"],"type":"object"},"retryable":{"type":"boolean"}},"required":["code","category","message","retryable","remediation"],"type":"object"}]}},"required":["address","error"],"type":"object"},"type":"array"},"frontier":{"items":{"type":"string"},"type":"array"},"goal":{"anyOf":[{"type":"string"},{"type":"null"}]},"goal_status":{"enum":["not_requested","reached","not_reached"],"type":"string"},"limitations":{"items":{"type":"string"},"type":"array"},"limits":{"additionalProperties":false,"properties":{"max_depth":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"max_nodes":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"max_operations":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"nodes_visited":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"operations_used":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["max_depth","max_nodes","max_operations","nodes_visited","operations_used"],"type":"object"},"nodes":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"depth":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["address","depth"],"type":"object"},"type":"array"},"residual_unknowns":{"items":{"type":"string"},"type":"array"},"start":{"type":"string"},"traversal_path":{"items":{"type":"string"},"type":"array"},"truncated":{"type":"boolean"}},"required":["start","goal","direction","goal_status","nodes","edges","traversal_path","failures","frontier","limits","truncated","residual_unknowns","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Trace Call Path"},{"analysisOperation":"inspect_macho","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Inspect Mach-O slices, load commands, imports, exports, dependencies, build metadata, segments, sections, permissions, and exact command provenance without launching Hopper.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":true,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{},"type":"object"},"kind":"native-provider","name":"inspect_macho","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"architectures":{"additionalProperties":false,"properties":{"exhaustive":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"alignment":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"cpu_subtype":{"anyOf":[{"type":"string"},{"type":"null"}]},"cpu_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"file_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"name":{"type":"string"},"size":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["name","cpu_type","cpu_subtype","file_offset","size","alignment"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["items","total","exhaustive","limitations"],"type":"object"},"build_metadata":{"additionalProperties":false,"properties":{"exhaustive":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"minimum_os":{"anyOf":[{"type":"string"},{"type":"null"}]},"platform":{"anyOf":[{"type":"string"},{"type":"null"}]},"sdk":{"anyOf":[{"type":"string"},{"type":"null"}]},"tools":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"type":"object"},"type":"array"}},"required":["platform","minimum_os","sdk","tools"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["items","total","exhaustive","limitations"],"type":"object"},"dependencies":{"additionalProperties":false,"properties":{"exhaustive":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"compatibility_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"current_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"kind":{"type":"string"},"path":{"type":"string"}},"required":["path","kind","current_version","compatibility_version"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["items","total","exhaustive","limitations"],"type":"object"},"endian":{"anyOf":[{"enum":["little","big"],"type":"string"},{"type":"null"}]},"entrypoints":{"additionalProperties":false,"properties":{"exhaustive":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"file_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["file_offset"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["items","total","exhaustive","limitations"],"type":"object"},"exports":{"additionalProperties":false,"properties":{"exhaustive":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"address":{"anyOf":[{"pattern":"^0x[a-fA-F0-9]+$","type":"string"},{"type":"null"}]},"name":{"type":"string"},"reexport":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"source":{"anyOf":[{"type":"string"},{"type":"null"}]},"weak":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["name","address","weak","reexport","source"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["items","total","exhaustive","limitations"],"type":"object"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"flags":{"items":{"type":"string"},"type":"array"},"format":{"const":"mach-o","type":"string"},"imports":{"additionalProperties":false,"properties":{"exhaustive":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"address":{"anyOf":[{"pattern":"^0x[a-fA-F0-9]+$","type":"string"},{"type":"null"}]},"name":{"type":"string"},"reexport":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"source":{"anyOf":[{"type":"string"},{"type":"null"}]},"weak":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["name","address","weak","reexport","source"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["items","total","exhaustive","limitations"],"type":"object"},"limitations":{"items":{"type":"string"},"type":"array"},"load_commands":{"additionalProperties":false,"properties":{"exhaustive":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"fields":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}]},"propertyNames":{"type":"string"},"type":"object"},"file_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"index":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"type":"string"}},"required":["index","kind","file_offset","fields"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["items","total","exhaustive","limitations"],"type":"object"},"provenance":{"items":{"additionalProperties":false,"properties":{"command":{"items":{"type":"string"},"type":"array"},"executable_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"exit":{"additionalProperties":false,"properties":{"code":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"signal":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["code","signal"],"type":"object"},"stderr_bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"stderr_truncated":{"type":"boolean"},"stdout_bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"stdout_truncated":{"type":"boolean"},"tool":{"minLength":1,"type":"string"},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["tool","command","tool_version","version_reason","executable_sha256","exit","stdout_bytes","stderr_bytes","stdout_truncated","stderr_truncated"],"type":"object"},"type":"array"},"segments":{"additionalProperties":false,"properties":{"exhaustive":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"file_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"file_size":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"initial_permissions":{"additionalProperties":false,"properties":{"execute":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"raw":{"anyOf":[{"type":"string"},{"type":"null"}]},"read":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"write":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["read","write","execute","raw"],"type":"object"},"maximum_permissions":{"additionalProperties":false,"properties":{"execute":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"raw":{"anyOf":[{"type":"string"},{"type":"null"}]},"read":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"write":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["read","write","execute","raw"],"type":"object"},"name":{"type":"string"},"sections":{"additionalProperties":false,"properties":{"exhaustive":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"address":{"anyOf":[{"pattern":"^0x[a-fA-F0-9]+$","type":"string"},{"type":"null"}]},"alignment":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"file_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"flags":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"segment":{"type":"string"},"size":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["segment","name","address","size","file_offset","alignment","flags"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["items","total","exhaustive","limitations"],"type":"object"},"vm_address":{"anyOf":[{"pattern":"^0x[a-fA-F0-9]+$","type":"string"},{"type":"null"}]},"vm_size":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["name","vm_address","vm_size","file_offset","file_size","maximum_permissions","initial_permissions","sections"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["items","total","exhaustive","limitations"],"type":"object"},"uuid":{"anyOf":[{"type":"string"},{"type":"null"}]},"word_size":{"anyOf":[{"anyOf":[{"const":32,"type":"number"},{"const":64,"type":"number"}]},{"type":"null"}]}},"required":["format","endian","word_size","file_type","flags","uuid","entrypoints","architectures","build_metadata","load_commands","dependencies","imports","exports","segments","provenance","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Inspect Macho"},{"analysisOperation":"inspect_signature","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Inspect the active artifact\'s code-signing identity, hashes, authorities, requirements, entitlements, hardened-runtime state, and bounded command provenance.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":true,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{},"type":"object"},"kind":"native-provider","name":"inspect_signature","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"authorities":{"items":{"type":"string"},"type":"array"},"cdhashes":{"items":{"type":"string"},"type":"array"},"designated_requirement":{"anyOf":[{"type":"string"},{"type":"null"}]},"entitlements":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"format":{"anyOf":[{"type":"string"},{"type":"null"}]},"hardened_runtime":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"hash_algorithms":{"items":{"type":"string"},"type":"array"},"identifier":{"anyOf":[{"type":"string"},{"type":"null"}]},"limitations":{"items":{"type":"string"},"type":"array"},"provenance":{"items":{"additionalProperties":false,"properties":{"command":{"items":{"type":"string"},"type":"array"},"executable_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"exit":{"additionalProperties":false,"properties":{"code":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"signal":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["code","signal"],"type":"object"},"stderr_bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"stderr_truncated":{"type":"boolean"},"stdout_bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"stdout_truncated":{"type":"boolean"},"tool":{"minLength":1,"type":"string"},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["tool","command","tool_version","version_reason","executable_sha256","exit","stdout_bytes","stderr_bytes","stdout_truncated","stderr_truncated"],"type":"object"},"type":"array"},"signed":{"type":"boolean"},"team_identifier":{"anyOf":[{"type":"string"},{"type":"null"}]},"timestamp":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["signed","identifier","team_identifier","format","cdhashes","hash_algorithms","authorities","designated_requirement","entitlements","timestamp","hardened_runtime","provenance","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Inspect Signature"},{"analysisOperation":"inspect_plist","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Parse a plist at a bounded relative path beneath the active artifact container. Symlink and traversal escapes are rejected; output is normalized JSON rather than plutil text.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":true,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"relative_path":"Contents/Info.plist"}],"properties":{"relative_path":{"default":"Contents/Info.plist","description":"Local filesystem path for relative.","maxLength":1024,"minLength":1,"type":"string"}},"type":"object"},"kind":"native-provider","name":"inspect_plist","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"bundle":{"additionalProperties":false,"properties":{"executable":{"anyOf":[{"type":"string"},{"type":"null"}]},"identifier":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"short_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["identifier","executable","name","version","short_version"],"type":"object"},"format":{"enum":["xml","binary","json","unknown"],"type":"string"},"limitations":{"items":{"type":"string"},"type":"array"},"provenance":{"items":{"additionalProperties":false,"properties":{"command":{"items":{"type":"string"},"type":"array"},"executable_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"exit":{"additionalProperties":false,"properties":{"code":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"signal":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["code","signal"],"type":"object"},"stderr_bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"stderr_truncated":{"type":"boolean"},"stdout_bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"stdout_truncated":{"type":"boolean"},"tool":{"minLength":1,"type":"string"},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["tool","command","tool_version","version_reason","executable_sha256","exit","stdout_bytes","stderr_bytes","stdout_truncated","stderr_truncated"],"type":"object"},"type":"array"},"source_path":{"type":"string"},"value":{"$ref":"#/$defs/__schema0"}},"required":["format","value","bundle","source_path","provenance","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Inspect Plist"},{"analysisOperation":"list_architectures","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"List thin or universal Mach-O slices with offsets, sizes, alignment, explicit coverage, and bounded native-tool provenance.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":true,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{},"type":"object"},"kind":"native-provider","name":"list_architectures","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"architectures":{"additionalProperties":false,"properties":{"exhaustive":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"alignment":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"cpu_subtype":{"anyOf":[{"type":"string"},{"type":"null"}]},"cpu_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"file_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"name":{"type":"string"},"size":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["name","cpu_type","cpu_subtype","file_offset","size","alignment"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["items","total","exhaustive","limitations"],"type":"object"},"limitations":{"items":{"type":"string"},"type":"array"},"provenance":{"items":{"additionalProperties":false,"properties":{"command":{"items":{"type":"string"},"type":"array"},"executable_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"exit":{"additionalProperties":false,"properties":{"code":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"signal":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["code","signal"],"type":"object"},"stderr_bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"stderr_truncated":{"type":"boolean"},"stdout_bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"stdout_truncated":{"type":"boolean"},"tool":{"minLength":1,"type":"string"},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["tool","command","tool_version","version_reason","executable_sha256","exit","stdout_bytes","stderr_bytes","stdout_truncated","stderr_truncated"],"type":"object"},"type":"array"}},"required":["architectures","provenance","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"List Architectures"},{"analysisOperation":"demangle_swift","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Demangle an ordered bounded batch of Swift symbols without requiring Hopper. Each input returns demangled, unchanged, or invalid status.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":true,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"symbols":["$s4Test3fooyyF"]}],"properties":{"symbols":{"description":"Ordered bounded Swift symbols to demangle.","items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":500,"minItems":1,"type":"array"}},"required":["symbols"],"type":"object"},"kind":"native-provider","name":"demangle_swift","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"limitations":{"items":{"type":"string"},"type":"array"},"provenance":{"items":{"additionalProperties":false,"properties":{"command":{"items":{"type":"string"},"type":"array"},"executable_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"exit":{"additionalProperties":false,"properties":{"code":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"signal":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["code","signal"],"type":"object"},"stderr_bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"stderr_truncated":{"type":"boolean"},"stdout_bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"stdout_truncated":{"type":"boolean"},"tool":{"minLength":1,"type":"string"},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["tool","command","tool_version","version_reason","executable_sha256","exit","stdout_bytes","stderr_bytes","stdout_truncated","stderr_truncated"],"type":"object"},"type":"array"},"symbols":{"items":{"additionalProperties":false,"properties":{"input":{"type":"string"},"output":{"type":"string"},"status":{"enum":["demangled","unchanged","invalid"],"type":"string"}},"required":["input","output","status"],"type":"object"},"type":"array"}},"required":["symbols","provenance","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Demangle Swift"},{"analysisOperation":"inventory_artifact","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"After open_binary binds a local archive, application package, or other artifact—or when one is already active—inventory it as a deterministic, content-addressed artifact graph. This tool accepts no path; in a target-free session open the target first. Returns bounded node and edge pages without extracting or mounting by default.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{"edge_limit":{"default":100,"description":"Maximum number of edge entries to return.","maximum":500,"minimum":1,"type":"integer"},"edge_offset":{"default":0,"description":"Zero-based index of the first edge to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"integrity_continue_approved":{"default":false,"description":"Explicit operator approval for integrity continue.","type":"boolean"},"integrity_policy":{"default":"fail","description":"Value for integrity policy.","enum":["fail","record-and-continue"],"type":"string"},"max_compression_ratio":{"default":1000,"description":"Maximum permitted compression ratio for this operation.","maximum":100000,"minimum":1,"type":"number"},"max_depth":{"default":20,"description":"Maximum permitted depth for this operation.","maximum":100,"minimum":0,"type":"integer"},"max_entries":{"default":10000,"description":"Maximum permitted entries for this operation.","maximum":1000000,"minimum":1,"type":"integer"},"max_entry_bytes":{"default":268435456,"description":"Maximum permitted entry bytes for this operation.","maximum":9007199254740991,"minimum":1,"type":"integer"},"max_integrity_mismatches":{"default":10,"description":"Maximum permitted integrity mismatches for this operation.","maximum":100,"minimum":1,"type":"integer"},"max_path_bytes":{"default":4096,"description":"Maximum permitted path bytes for this operation.","maximum":65535,"minimum":1,"type":"integer"},"max_total_bytes":{"default":1073741824,"description":"Maximum permitted total bytes for this operation.","maximum":9007199254740991,"minimum":1,"type":"integer"},"native_mount_approved":{"default":false,"description":"Explicit operator approval for native mount.","type":"boolean"},"node_limit":{"default":100,"description":"Maximum number of node entries to return.","maximum":500,"minimum":1,"type":"integer"},"node_offset":{"default":0,"description":"Zero-based index of the first node to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"occurrence_limit":{"default":100,"description":"Maximum number of occurrence entries to return.","maximum":500,"minimum":1,"type":"integer"},"occurrence_offset":{"default":0,"description":"Zero-based index of the first occurrence to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"type":"object"},"kind":"artifact-provider","name":"inventory_artifact","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"edges":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"child_artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"edge_id":{"pattern":"^edge_[a-f0-9]{64}$","type":"string"},"logical_path":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]},"occurrence_id":{"pattern":"^occ_[a-f0-9]{64}$","type":"string"},"ordinal":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"parent_artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"producer":{"anyOf":[{"additionalProperties":false,"properties":{"arguments":{"items":{"maxLength":4096,"type":"string"},"maxItems":1024,"type":"array"},"effects":{"items":{"enum":["read","write","mount"],"type":"string"},"maxItems":3,"type":"array"},"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"exit_code":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"tool":{"minLength":1,"type":"string"},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["tool","arguments","tool_version","executable_sha256","exit_code","effects"],"type":"object"},{"type":"null"}]},"relation":{"enum":["contains","extracts","slice-of","embeds","loads","maps-source","derived-from"],"type":"string"}},"required":["edge_id","ordinal","parent_artifact_id","child_artifact_id","relation","occurrence_id","logical_path","producer"],"type":"object"},"maxItems":500,"type":"array"},"limit":{"maximum":500,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset"],"type":"object"},"integrity_contradictions":{"default":[],"items":{"additionalProperties":false,"properties":{"contradiction_id":{"pattern":"^ic_[a-f0-9]{64}$","type":"string"},"declared_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"entry_kind":{"enum":["file","slice"],"type":"string"},"limitations":{"items":{"type":"string"},"minItems":1,"type":"array"},"logical_path":{"maxLength":4096,"minLength":1,"type":"string"},"observed_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"occurrence_id":{"pattern":"^occ_[a-f0-9]{64}$","type":"string"},"parent_artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"provenance":{"const":"container-integrity-metadata-versus-observed-bytes","type":"string"},"trust":{"const":"observed-untrusted","type":"string"},"unpacked":{"type":"boolean"}},"required":["contradiction_id","occurrence_id","parent_artifact_id","logical_path","declared_sha256","observed_sha256","entry_kind","unpacked","trust","provenance","limitations"],"type":"object"},"maxItems":100,"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"limits":{"additionalProperties":false,"properties":{"max_compression_ratio":{"maximum":100000,"minimum":1,"type":"number"},"max_depth":{"maximum":100,"minimum":0,"type":"integer"},"max_entries":{"maximum":1000000,"minimum":1,"type":"integer"},"max_entry_bytes":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"max_path_bytes":{"maximum":65535,"minimum":1,"type":"integer"},"max_total_bytes":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["max_entries","max_total_bytes","max_entry_bytes","max_compression_ratio","max_depth","max_path_bytes"],"type":"object"},"manifest":{"additionalProperties":false,"properties":{"edge_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"graph_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"manifest_id":{"pattern":"^agm_[a-f0-9]{64}$","type":"string"},"node_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"occurrence_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"root_artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"root_format":{"enum":["dmg","zip","pkg","asar","javascript-bundle","source-map","mach-o-universal","mach-o","elf","pe","hopper","analysis-database","ipa","apk","msix","appx","plist","entitlements","directory","file","unknown"],"type":"string"},"root_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","manifest_id","root_artifact_id","root_sha256","root_format","graph_sha256","node_count","occurrence_count","edge_count"],"type":"object"},"nodes":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]},"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"content_state":{"enum":["materialized","embedded","virtual"],"type":"string"},"executable":{"type":"boolean"},"format":{"enum":["dmg","zip","pkg","asar","javascript-bundle","source-map","mach-o-universal","mach-o","elf","pe","hopper","analysis-database","ipa","apk","msix","appx","plist","entitlements","directory","file","unknown"],"type":"string"},"kind":{"enum":["container","executable","dynamic-library","framework","native-addon","javascript","source-map","plist","entitlements","resource","universal-slice","package-metadata","unknown"],"type":"string"},"limitations":{"items":{"type":"string"},"type":"array"},"media_type":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"size":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["artifact_id","kind","format","sha256","size","media_type","architecture","executable","content_state","limitations"],"type":"object"},"maxItems":500,"type":"array"},"limit":{"maximum":500,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset"],"type":"object"},"occurrences":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"artifact_id":{"anyOf":[{"pattern":"^art_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"compressed_size":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"declared_size":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"encrypted":{"type":"boolean"},"entry_kind":{"enum":["file","directory","symlink","slice"],"type":"string"},"executable":{"type":"boolean"},"hash_status":{"enum":["verified","mismatched","not-hashed-limit","unavailable"],"type":"string"},"limitations":{"items":{"type":"string"},"type":"array"},"logical_path":{"maxLength":4096,"minLength":1,"type":"string"},"occurrence_id":{"pattern":"^occ_[a-f0-9]{64}$","type":"string"},"parent_occurrence_id":{"anyOf":[{"pattern":"^occ_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"source_location":{"anyOf":[{"additionalProperties":false,"properties":{"length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["offset","length"],"type":"object"},{"type":"null"}]}},"required":["occurrence_id","artifact_id","parent_occurrence_id","logical_path","entry_kind","declared_size","compressed_size","executable","encrypted","hash_status","source_location","limitations"],"type":"object"},"maxItems":500,"type":"array"},"limit":{"maximum":500,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset"],"type":"object"},"provenance":{"items":{"additionalProperties":false,"properties":{"arguments":{"items":{"maxLength":4096,"type":"string"},"maxItems":1024,"type":"array"},"effects":{"items":{"enum":["read","write","mount"],"type":"string"},"maxItems":3,"type":"array"},"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"exit_code":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"tool":{"minLength":1,"type":"string"},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["tool","arguments","tool_version","executable_sha256","exit_code","effects"],"type":"object"},"maxItems":256,"type":"array"}},"required":["manifest","nodes","occurrences","edges","limits","provenance","integrity_contradictions","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Inventory Artifact"},{"analysisOperation":"inspect_artifact","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"After open_binary binds a local archive, application package, or other artifact—or when one is already active—inspect it through one bounded, cancellable inventory substep. This tool accepts no path; in a target-free session open the target first. Returns the full substep Evidence and its ID, observations, derived relationships, hypotheses, contradictions, unexplored branches, limitations, and format-specific next probes. Any substep failure fails the whole call.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{"integrity_continue_approved":{"default":false,"description":"Explicit operator approval for integrity continue.","type":"boolean"},"integrity_policy":{"default":"fail","description":"Value for integrity policy.","enum":["fail","record-and-continue"],"type":"string"},"max_compression_ratio":{"default":1000,"description":"Maximum permitted compression ratio for this operation.","maximum":100000,"minimum":1,"type":"number"},"max_depth":{"default":20,"description":"Maximum permitted depth for this operation.","maximum":100,"minimum":0,"type":"integer"},"max_entries":{"default":10000,"description":"Maximum permitted entries for this operation.","maximum":1000000,"minimum":1,"type":"integer"},"max_entry_bytes":{"default":268435456,"description":"Maximum permitted entry bytes for this operation.","maximum":9007199254740991,"minimum":1,"type":"integer"},"max_hypotheses":{"default":20,"description":"Maximum permitted hypotheses for this operation.","maximum":100,"minimum":1,"type":"integer"},"max_integrity_mismatches":{"default":10,"description":"Maximum permitted integrity mismatches for this operation.","maximum":100,"minimum":1,"type":"integer"},"max_next_probes":{"default":20,"description":"Maximum permitted next probes for this operation.","maximum":50,"minimum":1,"type":"integer"},"max_observations":{"default":100,"description":"Maximum permitted observations for this operation.","maximum":500,"minimum":1,"type":"integer"},"max_path_bytes":{"default":4096,"description":"Maximum permitted path bytes for this operation.","maximum":65535,"minimum":1,"type":"integer"},"max_relationships":{"default":100,"description":"Maximum permitted relationships for this operation.","maximum":500,"minimum":1,"type":"integer"},"max_substeps":{"const":1,"default":1,"description":"Maximum permitted substeps for this operation.","type":"number"},"max_total_bytes":{"default":1073741824,"description":"Maximum permitted total bytes for this operation.","maximum":9007199254740991,"minimum":1,"type":"integer"},"max_unexplored_branches":{"default":20,"description":"Maximum permitted unexplored branches for this operation.","maximum":100,"minimum":1,"type":"integer"},"native_mount_approved":{"default":false,"description":"Explicit operator approval for native mount.","type":"boolean"}},"type":"object"},"kind":"artifact-provider","name":"inspect_artifact","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"contradictions":{"items":{"additionalProperties":false,"properties":{"contradiction_id":{"pattern":"^aic_[a-f0-9]{64}$","type":"string"},"declared_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"observed_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"occurrence_id":{"pattern":"^occ_[a-f0-9]{64}$","type":"string"},"statement":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["contradiction_id","statement","occurrence_id","declared_sha256","observed_sha256","evidence_id"],"type":"object"},"maxItems":100,"type":"array"},"coverage":{"additionalProperties":false,"properties":{"hypotheses_omitted":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"hypotheses_retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"next_probes_omitted":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"next_probes_retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"observations_omitted":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"observations_retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"relationships_omitted":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"relationships_retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"enum":["complete-within-substeps","partial","truncated"],"type":"string"},"substeps_completed":{"const":1,"type":"number"},"unexplored_branches_omitted":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unexplored_branches_retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","substeps_completed","observations_retained","observations_omitted","relationships_retained","relationships_omitted","hypotheses_retained","hypotheses_omitted","unexplored_branches_retained","unexplored_branches_omitted","next_probes_retained","next_probes_omitted"],"type":"object"},"derived_relationships":{"items":{"additionalProperties":false,"properties":{"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"logical_path":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]},"occurrence_id":{"pattern":"^occ_[a-f0-9]{64}$","type":"string"},"relation":{"enum":["contains","extracts","slice-of","embeds","loads","maps-source","derived-from"],"type":"string"},"relationship_id":{"pattern":"^air_[a-f0-9]{64}$","type":"string"},"source_artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"target_artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"}},"required":["relationship_id","relation","source_artifact_id","target_artifact_id","occurrence_id","logical_path","evidence_id"],"type":"object"},"maxItems":500,"type":"array"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":1,"minItems":1,"type":"array"},"hypotheses":{"items":{"additionalProperties":false,"properties":{"basis_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":8,"minItems":1,"type":"array"},"confidence":{"enum":["medium","low"],"type":"string"},"hypothesis_id":{"pattern":"^aih_[a-f0-9]{64}$","type":"string"},"limitation":{"maxLength":4096,"minLength":1,"type":"string"},"statement":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["hypothesis_id","statement","confidence","basis_evidence_ids","limitation"],"type":"object"},"maxItems":100,"type":"array"},"inspection_id":{"pattern":"^ai_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"next_probes":{"items":{"additionalProperties":false,"properties":{"authority":{"enum":["artifact-bytes","managed-static-analysis","native-analysis-provider","ast-static-analysis"],"type":"string"},"operation":{"maxLength":128,"minLength":1,"type":"string"},"rationale":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["operation","rationale","authority"],"type":"object"},"maxItems":50,"type":"array"},"observations":{"items":{"additionalProperties":false,"properties":{"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"kind":{"enum":["root-manifest","artifact","occurrence","integrity"],"type":"string"},"observation_id":{"pattern":"^aio_[a-f0-9]{64}$","type":"string"},"subject":{"maxLength":4096,"minLength":1,"type":"string"},"value":{"$ref":"#/$defs/__schema0"}},"required":["observation_id","kind","subject","value","evidence_id"],"type":"object"},"maxItems":500,"type":"array"},"schema_version":{"const":1,"type":"number"},"subject":{"additionalProperties":false,"properties":{"manifest_id":{"pattern":"^agm_[a-f0-9]{64}$","type":"string"},"root_artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"root_format":{"maxLength":128,"minLength":1,"type":"string"},"root_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["manifest_id","root_artifact_id","root_sha256","root_format"],"type":"object"},"substeps":{"items":{"additionalProperties":false,"properties":{"evidence":{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"properties":{"digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"minLength":1,"type":"string"},"id":{"minLength":1,"type":"string"},"isolation":{"enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"locations":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"kind":{"const":"address","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"minLength":1,"type":"string"},"kind":{"const":"address-range","type":"string"},"start":{"minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","type":"string"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0"},"operation":{"minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"minLength":1,"type":"string"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"schema_version":{"const":2,"type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"digest":{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"type":"string"},"name":{"minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}]}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"operation":{"const":"inventory_artifact","type":"string"},"status":{"const":"completed","type":"string"},"substep_id":{"pattern":"^ais_[a-f0-9]{64}$","type":"string"}},"required":["substep_id","operation","status","evidence_id","evidence"],"type":"object"},"maxItems":1,"minItems":1,"type":"array"},"unexplored_branches":{"items":{"additionalProperties":false,"properties":{"branch_id":{"pattern":"^aib_[a-f0-9]{64}$","type":"string"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"next_probe":{"anyOf":[{"additionalProperties":false,"properties":{"authority":{"enum":["artifact-bytes","managed-static-analysis","native-analysis-provider","ast-static-analysis"],"type":"string"},"operation":{"maxLength":128,"minLength":1,"type":"string"},"rationale":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["operation","rationale","authority"],"type":"object"},{"type":"null"}]},"reason":{"enum":["page-limit","format-specific-analysis-required","unknown-format"],"type":"string"}},"required":["branch_id","reason","detail","next_probe","evidence_id"],"type":"object"},"maxItems":100,"type":"array"}},"required":["schema_version","inspection_id","subject","substeps","observations","derived_relationships","hypotheses","contradictions","unexplored_branches","next_probes","coverage","evidence_links","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Inspect Artifact"},{"analysisOperation":"extract_artifact","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Extract selected graph artifacts beneath an explicit output root. Requires approval, rejects traversal and symlink escapes, never overwrites, enforces bomb limits, and verifies cleanup.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":true},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"approved":true,"occurrence_ids":["occ_0000000000000000000000000000000000000000000000000000000000000000"],"output_root":"/tmp/rea-extracted"}],"properties":{"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":500,"minimum":1,"type":"integer"},"max_compression_ratio":{"default":1000,"description":"Maximum permitted compression ratio for this operation.","maximum":100000,"minimum":1,"type":"number"},"max_depth":{"default":20,"description":"Maximum permitted depth for this operation.","maximum":100,"minimum":0,"type":"integer"},"max_entries":{"default":10000,"description":"Maximum permitted entries for this operation.","maximum":1000000,"minimum":1,"type":"integer"},"max_entry_bytes":{"default":268435456,"description":"Maximum permitted entry bytes for this operation.","maximum":9007199254740991,"minimum":1,"type":"integer"},"max_path_bytes":{"default":4096,"description":"Maximum permitted path bytes for this operation.","maximum":65535,"minimum":1,"type":"integer"},"max_total_bytes":{"default":1073741824,"description":"Maximum permitted total bytes for this operation.","maximum":9007199254740991,"minimum":1,"type":"integer"},"occurrence_ids":{"description":"Value for occurrence ids.","items":{"pattern":"^occ_[a-f0-9]{64}$","type":"string"},"maxItems":500,"minItems":1,"type":"array"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"output_root":{"description":"Approved canonical filesystem output root.","maxLength":4096,"minLength":1,"type":"string"}},"required":["approved","output_root","occurrence_ids"],"type":"object"},"kind":"artifact-provider","name":"extract_artifact","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"artifacts":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"bytes_written":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"created":{"type":"boolean"},"relative_path":{"maxLength":4096,"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["artifact_id","relative_path","sha256","bytes_written","created"],"type":"object"},"maxItems":500,"type":"array"},"limit":{"maximum":500,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset"],"type":"object"},"cleanup":{"additionalProperties":false,"properties":{"attempted":{"type":"boolean"},"residual_paths":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":500,"type":"array"},"verified":{"type":"boolean"}},"required":["attempted","verified","residual_paths"],"type":"object"},"containment_verified":{"type":"boolean"},"extraction_manifest":{"additionalProperties":false,"properties":{"extraction_id":{"pattern":"^aex_[a-f0-9]{64}$","type":"string"},"files_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"output_root_alias":{"const":"$OUTPUT_ROOT","type":"string"},"schema_version":{"const":1,"type":"number"},"selected_occurrence_ids":{"items":{"pattern":"^occ_[a-f0-9]{64}$","type":"string"},"maxItems":500,"minItems":1,"type":"array"},"source_manifest_id":{"pattern":"^agm_[a-f0-9]{64}$","type":"string"}},"required":["schema_version","extraction_id","source_manifest_id","selected_occurrence_ids","files_sha256","output_root_alias"],"type":"object"},"limitations":{"items":{"type":"string"},"type":"array"},"limits":{"additionalProperties":false,"properties":{"max_compression_ratio":{"maximum":100000,"minimum":1,"type":"number"},"max_depth":{"maximum":100,"minimum":0,"type":"integer"},"max_entries":{"maximum":1000000,"minimum":1,"type":"integer"},"max_entry_bytes":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"max_path_bytes":{"maximum":65535,"minimum":1,"type":"integer"},"max_total_bytes":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["max_entries","max_total_bytes","max_entry_bytes","max_compression_ratio","max_depth","max_path_bytes"],"type":"object"},"manifest":{"additionalProperties":false,"properties":{"edge_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"graph_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"manifest_id":{"pattern":"^agm_[a-f0-9]{64}$","type":"string"},"node_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"occurrence_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"root_artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"root_format":{"enum":["dmg","zip","pkg","asar","javascript-bundle","source-map","mach-o-universal","mach-o","elf","pe","hopper","analysis-database","ipa","apk","msix","appx","plist","entitlements","directory","file","unknown"],"type":"string"},"root_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","manifest_id","root_artifact_id","root_sha256","root_format","graph_sha256","node_count","occurrence_count","edge_count"],"type":"object"},"output_root":{"minLength":1,"type":"string"},"provenance":{"items":{"additionalProperties":false,"properties":{"arguments":{"items":{"maxLength":4096,"type":"string"},"maxItems":1024,"type":"array"},"effects":{"items":{"enum":["read","write","mount"],"type":"string"},"maxItems":3,"type":"array"},"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"exit_code":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"tool":{"minLength":1,"type":"string"},"tool_version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["tool","arguments","tool_version","executable_sha256","exit_code","effects"],"type":"object"},"maxItems":256,"type":"array"}},"required":["manifest","extraction_manifest","output_root","artifacts","containment_verified","cleanup","limits","provenance","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Extract Artifact"},{"analysisOperation":"inspect_managed_artifact","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Open and classify an explicit managed PE/CLI path, or inspect the active managed target, then inventory exact assembly/module identity, target framework evidence, references, resources, and custom attributes without loading or executing target code. Returns bounded pages and explicit partial or malformed coverage.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"path":"/tmp/Example.dll"}],"properties":{"attribute_limit":{"default":100,"description":"Maximum number of attribute entries to return.","maximum":500,"minimum":1,"type":"integer"},"attribute_offset":{"default":0,"description":"Zero-based index of the first attribute to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"max_file_bytes":{"default":268435456,"description":"Maximum permitted file bytes for this operation.","maximum":1073741824,"minimum":4096,"type":"integer"},"max_heap_item_bytes":{"default":1048576,"description":"Maximum permitted heap item bytes for this operation.","maximum":16777216,"minimum":1,"type":"integer"},"max_metadata_bytes":{"default":67108864,"description":"Maximum permitted metadata bytes for this operation.","maximum":268435456,"minimum":256,"type":"integer"},"max_table_rows":{"default":100000,"description":"Maximum permitted table rows for this operation.","maximum":1000000,"minimum":1,"type":"integer"},"path":{"description":"Managed PE/CLI path to open before inspection; omit only when a managed target is already active","minLength":1,"type":"string"},"reference_limit":{"default":100,"description":"Maximum number of reference entries to return.","maximum":500,"minimum":1,"type":"integer"},"reference_offset":{"default":0,"description":"Zero-based index of the first reference to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"resource_limit":{"default":100,"description":"Maximum number of resource entries to return.","maximum":500,"minimum":1,"type":"integer"},"resource_offset":{"default":0,"description":"Zero-based index of the first resource to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"type":"object"},"kind":"managed-provider","name":"inspect_managed_artifact","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"artifact":{"additionalProperties":false,"properties":{"byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"format":{"const":"pe","type":"string"},"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["path","sha256","byte_length","format"],"type":"object"},"assembly":{"anyOf":[{"additionalProperties":false,"properties":{"culture":{"anyOf":[{"type":"string"},{"type":"null"}]},"flags":{"maximum":4294967295,"minimum":0,"type":"integer"},"hash_algorithm":{"maximum":4294967295,"minimum":0,"type":"integer"},"name":{"type":"string"},"public_key":{"additionalProperties":false,"properties":{"byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"enum":["none","public-key","public-key-token"],"type":"string"},"sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"token":{"anyOf":[{"pattern":"^[a-f0-9]{16}$","type":"string"},{"type":"null"}]}},"required":["kind","byte_length","sha256","token"],"type":"object"},"row_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"},"version":{"pattern":"^\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.\\\\d+$","type":"string"}},"required":["name","version","culture","flags","hash_algorithm","public_key","token","row_offset"],"type":"object"},{"type":"null"}]},"attributes":{"additionalProperties":false,"properties":{"complete":{"type":"boolean"},"dropped":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"items":{"additionalProperties":false,"properties":{"constructor_token":{"anyOf":[{"pattern":"^0x[0-9a-f]{8}$","type":"string"},{"type":"null"}]},"decoded_fixed_string":{"anyOf":[{"type":"string"},{"type":"null"}]},"parent_token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"},"row_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"},"type_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"value_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"value_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["parent_token","constructor_token","type_name","value_length","value_sha256","decoded_fixed_string","token","row_offset"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","returned","dropped","complete"],"type":"object"},"classification":{"additionalProperties":false,"properties":{"container":{"const":"pe","type":"string"},"evidence":{"items":{"additionalProperties":false,"properties":{"code":{"minLength":1,"type":"string"},"detail":{"minLength":1,"type":"string"},"file_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["code","detail","file_offset"],"type":"object"},"type":"array"},"implementation":{"enum":["cil","cil-and-ready-to-run","cpp-cli-mixed","metadata-only","not-managed","unknown"],"type":"string"},"managed_architecture":{"enum":["anycpu","anycpu-prefer-32","x86","x86_64","arm","arm64","unknown"],"type":"string"},"runtime_family":{"enum":["dotnet-framework","modern-dotnet","unity-mono","mixed-clr-native","unknown"],"type":"string"},"status":{"enum":["managed","not-managed","malformed"],"type":"string"}},"required":["status","container","runtime_family","implementation","managed_architecture","evidence"],"type":"object"},"coverage":{"additionalProperties":false,"properties":{"issues":{"items":{"additionalProperties":false,"properties":{"code":{"enum":["invalid-cli-header","invalid-directory","invalid-metadata-root","invalid-stream","missing-stream","invalid-tables","invalid-row","invalid-heap-index","invalid-string","invalid-blob","invalid-guid","invalid-resource","limit-exceeded"],"type":"string"},"detail":{"minLength":1,"type":"string"},"offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"scope":{"minLength":1,"type":"string"}},"required":["code","scope","offset","detail"],"type":"object"},"type":"array"},"state":{"enum":["complete","partial","unavailable"],"type":"string"}},"required":["state","issues"],"type":"object"},"limitations":{"items":{"type":"string"},"type":"array"},"metadata":{"additionalProperties":false,"properties":{"status":{"enum":["absent","complete","partial","malformed"],"type":"string"},"stream_names":{"items":{"type":"string"},"type":"array"},"table_row_counts":{"additionalProperties":{"maximum":4294967295,"minimum":0,"type":"integer"},"propertyNames":{"type":"string"},"type":"object"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","version","stream_names","table_row_counts"],"type":"object"},"module":{"anyOf":[{"additionalProperties":false,"properties":{"enc_base_id":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]},"enc_id":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]},"generation":{"maximum":65535,"minimum":0,"type":"integer"},"mvid":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]},"name":{"type":"string"},"row_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["name","generation","mvid","enc_id","enc_base_id","token","row_offset"],"type":"object"},{"type":"null"}]},"pe":{"additionalProperties":false,"properties":{"architecture":{"enum":["x86","x86_64","arm","arm64"],"type":"string"},"characteristics":{"maximum":65535,"minimum":0,"type":"integer"},"cli":{"anyOf":[{"additionalProperties":false,"properties":{"entry_point":{"additionalProperties":false,"properties":{"kind":{"enum":["metadata-token","native-rva","none"],"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["kind","value"],"type":"object"},"flag_names":{"items":{"type":"string"},"type":"array"},"flags":{"maximum":4294967295,"minimum":0,"type":"integer"},"header_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"header_size":{"maximum":9007199254740991,"minimum":72,"type":"integer"},"managed_native_header_rva":{"maximum":4294967295,"minimum":0,"type":"integer"},"managed_native_header_size":{"maximum":4294967295,"minimum":0,"type":"integer"},"metadata_rva":{"maximum":4294967295,"minimum":1,"type":"integer"},"metadata_size":{"maximum":4294967295,"minimum":1,"type":"integer"},"ready_to_run_signature":{"type":"boolean"},"resources_rva":{"maximum":4294967295,"minimum":0,"type":"integer"},"resources_size":{"maximum":4294967295,"minimum":0,"type":"integer"},"runtime_version":{"type":"string"},"strong_name_rva":{"maximum":4294967295,"minimum":0,"type":"integer"},"strong_name_size":{"maximum":4294967295,"minimum":0,"type":"integer"}},"required":["header_offset","header_size","runtime_version","flags","flag_names","entry_point","metadata_rva","metadata_size","resources_rva","resources_size","strong_name_rva","strong_name_size","managed_native_header_rva","managed_native_header_size","ready_to_run_signature"],"type":"object"},{"type":"null"}]},"machine":{"maximum":65535,"minimum":0,"type":"integer"},"machine_hex":{"pattern":"^0x[0-9a-f]{4}$","type":"string"},"optional_header":{"enum":["pe32","pe32-plus"],"type":"string"},"section_count":{"maximum":96,"minimum":1,"type":"integer"}},"required":["machine","machine_hex","architecture","optional_header","section_count","characteristics","cli"],"type":"object"},"references":{"additionalProperties":false,"properties":{"complete":{"type":"boolean"},"dropped":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"items":{"additionalProperties":false,"properties":{"culture":{"anyOf":[{"type":"string"},{"type":"null"}]},"flags":{"maximum":4294967295,"minimum":0,"type":"integer"},"hash_value_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"hash_value_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"type":"string"},"public_key_or_token":{"additionalProperties":false,"properties":{"byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"enum":["none","public-key","public-key-token"],"type":"string"},"sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"token":{"anyOf":[{"pattern":"^[a-f0-9]{16}$","type":"string"},{"type":"null"}]}},"required":["kind","byte_length","sha256","token"],"type":"object"},"row_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"},"version":{"pattern":"^\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.\\\\d+$","type":"string"}},"required":["name","version","culture","flags","public_key_or_token","hash_value_sha256","hash_value_length","token","row_offset"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","returned","dropped","complete"],"type":"object"},"resources":{"additionalProperties":false,"properties":{"complete":{"type":"boolean"},"dropped":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"items":{"additionalProperties":false,"properties":{"data_length":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"data_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"declared_offset":{"maximum":4294967295,"minimum":0,"type":"integer"},"embedded":{"type":"boolean"},"flags":{"maximum":4294967295,"minimum":0,"type":"integer"},"implementation_token":{"anyOf":[{"pattern":"^0x[0-9a-f]{8}$","type":"string"},{"type":"null"}]},"name":{"type":"string"},"row_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"},"visibility":{"enum":["public","private","unknown"],"type":"string"}},"required":["name","flags","visibility","implementation_token","embedded","declared_offset","data_length","data_sha256","token","row_offset"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","returned","dropped","complete"],"type":"object"},"schema_version":{"const":1,"type":"number"},"target_frameworks":{"items":{"type":"string"},"type":"array"}},"required":["schema_version","artifact","pe","classification","metadata","module","assembly","target_frameworks","references","resources","attributes","coverage","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Inspect Managed Artifact"},{"analysisOperation":"inspect_managed_members","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Inspect bounded PE/CLI metadata members, signatures, raw CIL hashes, limited member-result-v1 decoded-instruction-tuple hashes, separately reported exception regions, call edges, and field-access anchors without loading or executing target code. Metadata tokens are reported as build-local coordinates bound to the artifact SHA-256 and MVID; the v1 tuple hash does not resolve them or fully commit control flow.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"edge_limit":100,"method_limit":25}],"properties":{"edge_limit":{"default":250,"description":"Maximum number of edge entries to return.","maximum":1000,"minimum":1,"type":"integer"},"edge_offset":{"default":0,"description":"Zero-based index of the first edge to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"field_limit":{"default":100,"description":"Maximum number of field entries to return.","maximum":500,"minimum":1,"type":"integer"},"field_offset":{"default":0,"description":"Zero-based index of the first field to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"instruction_anchor_limit":{"default":100,"description":"Maximum number of instruction anchor entries to return.","maximum":500,"minimum":0,"type":"integer"},"max_file_bytes":{"default":268435456,"description":"Maximum permitted file bytes for this operation.","maximum":1073741824,"minimum":4096,"type":"integer"},"max_heap_item_bytes":{"default":1048576,"description":"Maximum permitted heap item bytes for this operation.","maximum":16777216,"minimum":1,"type":"integer"},"max_metadata_bytes":{"default":67108864,"description":"Maximum permitted metadata bytes for this operation.","maximum":268435456,"minimum":256,"type":"integer"},"max_method_body_bytes":{"default":1048576,"description":"Maximum permitted method body bytes for this operation.","maximum":16777216,"minimum":1,"type":"integer"},"max_method_instructions":{"default":10000,"description":"Maximum permitted method instructions for this operation.","maximum":100000,"minimum":1,"type":"integer"},"max_table_rows":{"default":100000,"description":"Maximum permitted table rows for this operation.","maximum":1000000,"minimum":1,"type":"integer"},"member_ref_limit":{"default":100,"description":"Maximum number of member ref entries to return.","maximum":500,"minimum":1,"type":"integer"},"member_ref_offset":{"default":0,"description":"Zero-based index of the first member ref to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"method_limit":{"default":100,"description":"Maximum number of method entries to return.","maximum":500,"minimum":1,"type":"integer"},"method_offset":{"default":0,"description":"Zero-based index of the first method to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"type_limit":{"default":100,"description":"Maximum number of type entries to return.","maximum":500,"minimum":1,"type":"integer"},"type_offset":{"default":0,"description":"Zero-based index of the first type to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"type":"object"},"kind":"managed-provider","name":"inspect_managed_members","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"artifact":{"additionalProperties":false,"properties":{"byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"format":{"const":"pe","type":"string"},"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["path","sha256","byte_length","format"],"type":"object"},"call_edges":{"additionalProperties":false,"properties":{"complete":{"type":"boolean"},"dropped":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"items":{"additionalProperties":false,"properties":{"caller":{"anyOf":[{"type":"string"},{"type":"null"}]},"caller_token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"},"opcode":{"type":"string"},"target_kind":{"enum":["method-def","member-ref","method-spec","unknown"],"type":"string"},"target_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"target_token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["caller_token","caller","opcode","target_token","target_kind","target_name"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","returned","dropped","complete"],"type":"object"},"coverage":{"additionalProperties":false,"properties":{"issues":{"items":{"additionalProperties":false,"properties":{"code":{"enum":["invalid-cli-header","invalid-directory","invalid-metadata-root","invalid-stream","missing-stream","invalid-tables","invalid-row","invalid-heap-index","invalid-string","invalid-blob","invalid-guid","invalid-resource","limit-exceeded"],"type":"string"},"detail":{"minLength":1,"type":"string"},"offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"scope":{"minLength":1,"type":"string"}},"required":["code","scope","offset","detail"],"type":"object"},"type":"array"},"state":{"enum":["complete","partial","unavailable"],"type":"string"}},"required":["state","issues"],"type":"object"},"field_accesses":{"additionalProperties":false,"properties":{"complete":{"type":"boolean"},"dropped":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"items":{"additionalProperties":false,"properties":{"field_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"field_token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"},"method":{"anyOf":[{"type":"string"},{"type":"null"}]},"method_token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"},"opcode":{"type":"string"}},"required":["method_token","method","opcode","field_token","field_name"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","returned","dropped","complete"],"type":"object"},"fields":{"additionalProperties":false,"properties":{"complete":{"type":"boolean"},"dropped":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"items":{"additionalProperties":false,"properties":{"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"declaring_type_token":{"anyOf":[{"pattern":"^0x[0-9a-f]{8}$","type":"string"},{"type":"null"}]},"flags":{"maximum":65535,"minimum":0,"type":"integer"},"name":{"type":"string"},"row_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"signature":{"additionalProperties":false,"properties":{"calling_convention":{"anyOf":[{"type":"string"},{"type":"null"}]},"field_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"generic_parameter_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"issue":{"anyOf":[{"type":"string"},{"type":"null"}]},"kind":{"enum":["method","field","unknown"],"type":"string"},"parameter_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"parameter_types":{"items":{"type":"string"},"type":"array"},"parse_status":{"enum":["decoded","partial","unsupported","malformed"],"type":"string"},"raw_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"raw_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"return_type":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["raw_length","raw_sha256","kind","parse_status","calling_convention","generic_parameter_count","parameter_count","return_type","parameter_types","field_type","issue"],"type":"object"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["token","row_offset","declaring_type_token","declaring_type","name","flags","signature"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","returned","dropped","complete"],"type":"object"},"identity_scope":{"additionalProperties":false,"properties":{"requires_artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"requires_mvid":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]},"token_identity":{"const":"build-local","type":"string"}},"required":["token_identity","requires_artifact_sha256","requires_mvid"],"type":"object"},"limitations":{"items":{"type":"string"},"type":"array"},"member_refs":{"additionalProperties":false,"properties":{"complete":{"type":"boolean"},"dropped":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"parent_token":{"anyOf":[{"pattern":"^0x[0-9a-f]{8}$","type":"string"},{"type":"null"}]},"row_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"signature":{"additionalProperties":false,"properties":{"calling_convention":{"anyOf":[{"type":"string"},{"type":"null"}]},"field_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"generic_parameter_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"issue":{"anyOf":[{"type":"string"},{"type":"null"}]},"kind":{"enum":["method","field","unknown"],"type":"string"},"parameter_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"parameter_types":{"items":{"type":"string"},"type":"array"},"parse_status":{"enum":["decoded","partial","unsupported","malformed"],"type":"string"},"raw_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"raw_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"return_type":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["raw_length","raw_sha256","kind","parse_status","calling_convention","generic_parameter_count","parameter_count","return_type","parameter_types","field_type","issue"],"type":"object"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["token","row_offset","parent_token","name","signature"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","returned","dropped","complete"],"type":"object"},"metadata":{"additionalProperties":false,"properties":{"status":{"enum":["absent","complete","partial","malformed"],"type":"string"},"table_row_counts":{"additionalProperties":{"maximum":4294967295,"minimum":0,"type":"integer"},"propertyNames":{"type":"string"},"type":"object"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","version","table_row_counts"],"type":"object"},"methods":{"additionalProperties":false,"properties":{"complete":{"type":"boolean"},"dropped":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"items":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"anchors":{"items":{"additionalProperties":false,"properties":{"il_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"opcode":{"minLength":1,"type":"string"},"operand":{"anyOf":[{"type":"string"},{"type":"null"}]},"operand_kind":{"enum":["none","branch","constant","field","method","signature","string","switch","token","type","variable","unknown"],"type":"string"}},"required":["il_offset","opcode","operand_kind","operand"],"type":"object"},"type":"array"},"decoded_instruction_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"exception_regions":{"items":{"additionalProperties":false,"properties":{"class_token":{"anyOf":[{"pattern":"^0x[0-9a-f]{8}$","type":"string"},{"type":"null"}]},"filter_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"flags":{"maximum":4294967295,"minimum":0,"type":"integer"},"handler_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"handler_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"try_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"try_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["flags","try_offset","try_length","handler_offset","handler_length","class_token","filter_offset"],"type":"object"},"type":"array"},"file_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"header_format":{"enum":["tiny","fat","none","unknown"],"type":"string"},"il_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"SHA-256 of exactly the raw il_size CIL bytes; excludes the method header, locals signature, alignment, and extra sections"},"il_size":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"init_locals":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"instruction_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"issue":{"anyOf":[{"type":"string"},{"type":"null"}]},"local_var_sig_token":{"anyOf":[{"pattern":"^0x[0-9a-f]{8}$","type":"string"},{"type":"null"}]},"max_stack":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"normalized_il_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Member-result-v1 SHA-256 of UTF-8 JSON [opcode, operand_kind, operand] tuples for a complete decode; retains build-local tokens, omits switch targets, and excludes headers, locals, and exception regions"},"opcode_counts":{"additionalProperties":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"propertyNames":{"type":"string"},"type":"object"},"rva":{"maximum":4294967295,"minimum":0,"type":"integer"},"status":{"enum":["present","partial","absent","malformed","too-large"],"type":"string"},"truncated_instructions":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","header_format","rva","file_offset","max_stack","init_locals","local_var_sig_token","il_size","il_sha256","normalized_il_sha256","instruction_count","decoded_instruction_count","truncated_instructions","opcode_counts","anchors","exception_regions","issue"],"type":"object"},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"declaring_type_token":{"anyOf":[{"pattern":"^0x[0-9a-f]{8}$","type":"string"},{"type":"null"}]},"flags":{"maximum":65535,"minimum":0,"type":"integer"},"impl_flags":{"maximum":65535,"minimum":0,"type":"integer"},"name":{"type":"string"},"row_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"rva":{"maximum":4294967295,"minimum":0,"type":"integer"},"signature":{"additionalProperties":false,"properties":{"calling_convention":{"anyOf":[{"type":"string"},{"type":"null"}]},"field_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"generic_parameter_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"issue":{"anyOf":[{"type":"string"},{"type":"null"}]},"kind":{"enum":["method","field","unknown"],"type":"string"},"parameter_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"parameter_types":{"items":{"type":"string"},"type":"array"},"parse_status":{"enum":["decoded","partial","unsupported","malformed"],"type":"string"},"raw_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"raw_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"return_type":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["raw_length","raw_sha256","kind","parse_status","calling_convention","generic_parameter_count","parameter_count","return_type","parameter_types","field_type","issue"],"type":"object"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["token","row_offset","declaring_type_token","declaring_type","name","rva","impl_flags","flags","signature","body"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","returned","dropped","complete"],"type":"object"},"module":{"anyOf":[{"additionalProperties":false,"properties":{"enc_base_id":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]},"enc_id":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]},"generation":{"maximum":65535,"minimum":0,"type":"integer"},"mvid":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]},"name":{"type":"string"},"row_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["name","generation","mvid","enc_id","enc_base_id","token","row_offset"],"type":"object"},{"type":"null"}]},"schema_version":{"const":1,"type":"number"},"types":{"additionalProperties":false,"properties":{"complete":{"type":"boolean"},"dropped":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"items":{"additionalProperties":false,"properties":{"extends_token":{"anyOf":[{"pattern":"^0x[0-9a-f]{8}$","type":"string"},{"type":"null"}]},"field_list":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"first_row":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}]},"last_row":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["first_row","last_row","count"],"type":"object"},"flags":{"maximum":4294967295,"minimum":0,"type":"integer"},"full_name":{"type":"string"},"method_list":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"first_row":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}]},"last_row":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["first_row","last_row","count"],"type":"object"},"name":{"type":"string"},"namespace":{"type":"string"},"row_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["token","row_offset","namespace","name","full_name","flags","extends_token","field_list","method_list"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","returned","dropped","complete"],"type":"object"}},"required":["schema_version","artifact","module","metadata","identity_scope","types","fields","methods","member_refs","call_edges","field_accesses","coverage","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Inspect Managed Members"},{"analysisOperation":"inspect_managed_native_boundaries","annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"implementation_limit":50,"import_limit":50}],"properties":{"implementation_limit":{"default":100,"description":"Maximum number of implementation entries to return.","maximum":500,"minimum":1,"type":"integer"},"implementation_offset":{"default":0,"description":"Zero-based index of the first implementation to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"import_limit":{"default":100,"description":"Maximum number of import entries to return.","maximum":500,"minimum":1,"type":"integer"},"import_offset":{"default":0,"description":"Zero-based index of the first import to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"max_file_bytes":{"default":268435456,"description":"Maximum permitted file bytes for this operation.","maximum":1073741824,"minimum":4096,"type":"integer"},"max_heap_item_bytes":{"default":1048576,"description":"Maximum permitted heap item bytes for this operation.","maximum":16777216,"minimum":1,"type":"integer"},"max_metadata_bytes":{"default":67108864,"description":"Maximum permitted metadata bytes for this operation.","maximum":268435456,"minimum":256,"type":"integer"},"max_table_rows":{"default":100000,"description":"Maximum permitted table rows for this operation.","maximum":1000000,"minimum":1,"type":"integer"},"module_ref_limit":{"default":100,"description":"Maximum number of module ref entries to return.","maximum":500,"minimum":1,"type":"integer"},"module_ref_offset":{"default":0,"description":"Zero-based index of the first module ref to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"type":"object"},"kind":"managed-provider","name":"inspect_managed_native_boundaries","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"artifact":{"additionalProperties":false,"properties":{"byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"format":{"const":"pe","type":"string"},"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["path","sha256","byte_length","format"],"type":"object"},"cli_native":{"additionalProperties":false,"properties":{"il_only":{"type":"boolean"},"managed_native_header_rva":{"maximum":4294967295,"minimum":0,"type":"integer"},"managed_native_header_size":{"maximum":4294967295,"minimum":0,"type":"integer"},"native_entry_point":{"type":"boolean"},"ready_to_run_signature":{"type":"boolean"},"requires_32bit":{"type":"boolean"},"strong_name_signed":{"type":"boolean"}},"required":["il_only","requires_32bit","strong_name_signed","native_entry_point","ready_to_run_signature","managed_native_header_rva","managed_native_header_size"],"type":"object"},"coverage":{"additionalProperties":false,"properties":{"issues":{"items":{"additionalProperties":false,"properties":{"code":{"enum":["invalid-cli-header","invalid-directory","invalid-metadata-root","invalid-stream","missing-stream","invalid-tables","invalid-row","invalid-heap-index","invalid-string","invalid-blob","invalid-guid","invalid-resource","limit-exceeded"],"type":"string"},"detail":{"minLength":1,"type":"string"},"offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"scope":{"minLength":1,"type":"string"}},"required":["code","scope","offset","detail"],"type":"object"},"type":"array"},"state":{"enum":["complete","partial","unavailable"],"type":"string"}},"required":["state","issues"],"type":"object"},"identity_scope":{"additionalProperties":false,"properties":{"requires_artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"requires_mvid":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]},"token_identity":{"const":"build-local","type":"string"}},"required":["token_identity","requires_artifact_sha256","requires_mvid"],"type":"object"},"limitations":{"items":{"type":"string"},"type":"array"},"metadata":{"additionalProperties":false,"properties":{"status":{"enum":["absent","complete","partial","malformed"],"type":"string"},"table_row_counts":{"additionalProperties":{"maximum":4294967295,"minimum":0,"type":"integer"},"propertyNames":{"type":"string"},"type":"object"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","version","table_row_counts"],"type":"object"},"module":{"anyOf":[{"additionalProperties":false,"properties":{"enc_base_id":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]},"enc_id":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]},"generation":{"maximum":65535,"minimum":0,"type":"integer"},"mvid":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]},"name":{"type":"string"},"row_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["name","generation","mvid","enc_id","enc_base_id","token","row_offset"],"type":"object"},{"type":"null"}]},"module_refs":{"additionalProperties":false,"properties":{"complete":{"type":"boolean"},"dropped":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"row_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["token","row_offset","name"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","returned","dropped","complete"],"type":"object"},"native_implementations":{"additionalProperties":false,"properties":{"complete":{"type":"boolean"},"dropped":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"items":{"additionalProperties":false,"properties":{"body_interpretation":{"enum":["managed-cil","native-or-runtime","not-file-backed","unknown"],"type":"string"},"boundary_kind":{"enum":["pinvoke","native-body","runtime-provided","unmanaged-method","mixed-or-unknown"],"type":"string"},"code_type":{"enum":["il","native","optil","runtime","unknown"],"type":"string"},"flags":{"maximum":65535,"minimum":0,"type":"integer"},"impl_flags":{"maximum":65535,"minimum":0,"type":"integer"},"managed_kind":{"enum":["managed","unmanaged","unknown"],"type":"string"},"name":{"type":"string"},"pinvoke_declared":{"type":"boolean"},"row_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"rva":{"maximum":4294967295,"minimum":0,"type":"integer"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["token","row_offset","name","rva","flags","impl_flags","code_type","managed_kind","pinvoke_declared","boundary_kind","body_interpretation"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","returned","dropped","complete"],"type":"object"},"pinvoke_imports":{"additionalProperties":false,"properties":{"complete":{"type":"boolean"},"dropped":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"items":{"additionalProperties":false,"properties":{"best_fit":{"enum":["assembly-default","enabled","disabled","unknown"],"type":"string"},"call_convention":{"enum":["not-specified","winapi","cdecl","stdcall","thiscall","fastcall","unknown"],"type":"string"},"char_set":{"enum":["not-specified","ansi","unicode","auto","unknown"],"type":"string"},"import_name":{"type":"string"},"import_scope_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"import_scope_token":{"anyOf":[{"pattern":"^0x[0-9a-f]{8}$","type":"string"},{"type":"null"}]},"mapping_flags":{"maximum":65535,"minimum":0,"type":"integer"},"mapping_flags_hex":{"pattern":"^0x[0-9a-f]{4}$","type":"string"},"member_kind":{"enum":["method","field","unknown"],"type":"string"},"member_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"member_token":{"anyOf":[{"pattern":"^0x[0-9a-f]{8}$","type":"string"},{"type":"null"}]},"no_mangle":{"type":"boolean"},"row_offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"supports_last_error":{"type":"boolean"},"throw_on_unmappable_char":{"enum":["assembly-default","enabled","disabled","unknown"],"type":"string"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"},"verification":{"const":"managed-declaration-only","type":"string"}},"required":["token","row_offset","mapping_flags","mapping_flags_hex","member_token","member_kind","member_name","import_name","import_scope_token","import_scope_name","no_mangle","char_set","call_convention","supports_last_error","best_fit","throw_on_unmappable_char","verification"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","returned","dropped","complete"],"type":"object"},"schema_version":{"const":1,"type":"number"},"summary":{"additionalProperties":false,"properties":{"mixed_mode_or_native_header":{"type":"boolean"},"module_ref_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"native_implementation_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"pinvoke_import_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"ready_to_run":{"type":"boolean"}},"required":["module_ref_count","pinvoke_import_count","native_implementation_count","ready_to_run","mixed_mode_or_native_header"],"type":"object"}},"required":["schema_version","artifact","module","metadata","identity_scope","cli_native","module_refs","pinvoke_imports","native_implementations","summary","coverage","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Inspect Managed Native Boundaries"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Compare two authenticated inspect_managed_members Evidence records using unique-only decoded-CIL-v1/signature and structural method-shape tiers. Names are reported as observations but are not used as a matching basis; metadata tokens remain build-local coordinates bound to each artifact SHA-256 and MVID, and the v1 tuple digest does not itself remap them.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"left_evidence_id":"ev_45a77d52db5dc9beaf59a9b8ee062c945fda709bd0d3a91fa4e972d85a848324","limits":{"max_candidates":25,"max_field_matches":50,"max_method_matches":100},"right_evidence_id":"ev_8d6450759b2bb695b3b41b0db8d7ddc4a3e9f64a52b93194bc59d2b564c2285c"}],"properties":{"left_evidence_id":{"description":"Session-owned inspect_managed_members Evidence ID","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"limits":{"additionalProperties":false,"default":{"max_candidates":50,"max_field_matches":5000,"max_method_matches":10000},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"max_candidates":{"default":50,"description":"Maximum permitted candidates for this operation.","maximum":500,"minimum":1,"type":"integer"},"max_field_matches":{"default":5000,"description":"Maximum permitted field matches for this operation.","maximum":50000,"minimum":0,"type":"integer"},"max_method_matches":{"default":10000,"description":"Maximum permitted method matches for this operation.","maximum":50000,"minimum":1,"type":"integer"}},"type":"object"},"right_evidence_id":{"description":"Session-owned inspect_managed_members Evidence ID","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry.","type":"boolean"}},"required":["left_evidence_id","right_evidence_id"],"type":"object"},"kind":"application","name":"compare_managed_members","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"algorithm":{"additionalProperties":false,"properties":{"name":{"const":"rea-managed-member-comparison","type":"string"},"name_matching":{"const":"not-used","type":"string"},"token_identity":{"const":"build-local","type":"string"},"version":{"const":1,"type":"number"}},"required":["name","version","token_identity","name_matching"],"type":"object"},"comparison_id":{"pattern":"^mmc_[a-f0-9]{64}$","type":"string"},"coverage":{"additionalProperties":false,"properties":{"left_status":{"enum":["complete","partial","unavailable"],"type":"string"},"omitted_candidates":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_fields":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_methods":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"right_status":{"enum":["complete","partial","unavailable"],"type":"string"},"status":{"enum":["complete-within-inputs","partial","truncated"],"type":"string"}},"required":["status","left_status","right_status","omitted_methods","omitted_fields","omitted_candidates"],"type":"object"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":2,"minItems":2,"type":"array"},"fields":{"items":{"additionalProperties":false,"properties":{"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":2,"minItems":2,"type":"array"},"item_id":{"pattern":"^mmc_field_[a-f0-9]{64}$","type":"string"},"left":{"anyOf":[{"additionalProperties":false,"properties":{"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"signature_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["token","declaring_type","name","signature_sha256"],"type":"object"},{"type":"null"}]},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"match":{"additionalProperties":false,"properties":{"basis":{"enum":["exact-il-signature","structural-method-shape","field-signature","none"],"type":"string"},"candidate_left_tokens":{"items":{"pattern":"^0x[0-9a-f]{8}$","type":"string"},"maxItems":500,"type":"array"},"candidate_right_tokens":{"items":{"pattern":"^0x[0-9a-f]{8}$","type":"string"},"maxItems":500,"type":"array"},"confidence":{"enum":["exact","high","unknown"],"type":"string"},"status":{"enum":["matched","unmatched","ambiguous"],"type":"string"}},"required":["status","basis","confidence","candidate_left_tokens","candidate_right_tokens"],"type":"object"},"right":{"anyOf":[{"additionalProperties":false,"properties":{"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"signature_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["token","declaring_type","name","signature_sha256"],"type":"object"},{"type":"null"}]},"status":{"enum":["unchanged","changed","added","removed","unknown"],"type":"string"}},"required":["item_id","status","left","right","match","evidence_links","limitations"],"type":"object"},"maxItems":50000,"type":"array"},"left":{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"fields_total":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"metadata_status":{"enum":["absent","complete","partial","malformed"],"type":"string"},"methods_total":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"mvid":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]}},"required":["evidence_id","artifact_sha256","mvid","module_name","metadata_status","methods_total","fields_total"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"matching":{"additionalProperties":false,"properties":{"ambiguous":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"exact_il_signature":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"field_signature":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"structural_method_shape":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unmatched":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["exact_il_signature","structural_method_shape","field_signature","ambiguous","unmatched"],"type":"object"},"methods":{"items":{"additionalProperties":false,"properties":{"dimensions":{"items":{"enum":["signature","cil","opcode-shape","call-shape","field-shape","exception-shape","availability"],"type":"string"},"maxItems":7,"type":"array"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":2,"minItems":2,"type":"array"},"item_id":{"pattern":"^mmc_method_[a-f0-9]{64}$","type":"string"},"left":{"anyOf":[{"additionalProperties":false,"properties":{"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"normalized_il_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"signature_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["token","declaring_type","name","signature_sha256","normalized_il_sha256"],"type":"object"},{"type":"null"}]},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"match":{"additionalProperties":false,"properties":{"basis":{"enum":["exact-il-signature","structural-method-shape","field-signature","none"],"type":"string"},"candidate_left_tokens":{"items":{"pattern":"^0x[0-9a-f]{8}$","type":"string"},"maxItems":500,"type":"array"},"candidate_right_tokens":{"items":{"pattern":"^0x[0-9a-f]{8}$","type":"string"},"maxItems":500,"type":"array"},"confidence":{"enum":["exact","high","unknown"],"type":"string"},"status":{"enum":["matched","unmatched","ambiguous"],"type":"string"}},"required":["status","basis","confidence","candidate_left_tokens","candidate_right_tokens"],"type":"object"},"right":{"anyOf":[{"additionalProperties":false,"properties":{"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"normalized_il_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"signature_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["token","declaring_type","name","signature_sha256","normalized_il_sha256"],"type":"object"},{"type":"null"}]},"status":{"enum":["unchanged","changed","added","removed","unknown"],"type":"string"}},"required":["item_id","status","left","right","match","dimensions","evidence_links","limitations"],"type":"object"},"maxItems":50000,"type":"array"},"right":{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"fields_total":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"metadata_status":{"enum":["absent","complete","partial","malformed"],"type":"string"},"methods_total":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"mvid":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]}},"required":["evidence_id","artifact_sha256","mvid","module_name","metadata_status","methods_total","fields_total"],"type":"object"},"schema_version":{"const":1,"type":"number"},"summary":{"additionalProperties":false,"properties":{"added":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"changed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"removed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unchanged":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknown":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["unchanged","changed","added","removed","unknown"],"type":"object"}},"required":["schema_version","comparison_id","algorithm","left","right","summary","matching","methods","fields","coverage","evidence_links","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":true,"title":"Compare Managed Members"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"limits":{"max_candidates_per_import":25,"max_native_observations":20},"managed_boundaries_evidence_id":"ev_5e142d4464b916bcff63fb0835c686152b5b0473a9f1d5f5060d329b1b29739d","native_observation_evidence_ids":["ev_74758ad108882d5752dae4f8fa030c1ed6c7dd62857cb9d2d3a7ce931b52ee7c"]}],"properties":{"limits":{"additionalProperties":false,"default":{"max_candidates_per_import":25,"max_native_observations":20},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"max_candidates_per_import":{"default":25,"description":"Maximum permitted candidates per import for this operation.","maximum":100,"minimum":1,"type":"integer"},"max_native_observations":{"default":20,"description":"Maximum permitted native observations for this operation.","maximum":50,"minimum":1,"type":"integer"}},"type":"object"},"managed_boundaries_evidence_id":{"description":"Session-owned inspect_managed_native_boundaries Evidence ID","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"native_observation_evidence_ids":{"description":"Unique session-owned native observation Evidence IDs","items":{"description":"Session-owned inspect_macho or analyze_function Evidence ID","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":50,"minItems":1,"type":"array"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry.","type":"boolean"}},"required":["managed_boundaries_evidence_id","native_observation_evidence_ids"],"type":"object"},"kind":"application","name":"verify_managed_native_boundaries","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"algorithm":{"additionalProperties":false,"properties":{"name":{"const":"rea-managed-native-verification","type":"string"},"token_identity":{"const":"build-local","type":"string"},"token_to_address_mapping":{"const":"not-inferred","type":"string"},"version":{"const":1,"type":"number"}},"required":["name","version","token_identity","token_to_address_mapping"],"type":"object"},"coverage":{"additionalProperties":false,"properties":{"omitted_candidates":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_native_observations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"enum":["complete-within-inputs","partial","truncated"],"type":"string"}},"required":["status","omitted_native_observations","omitted_candidates"],"type":"object"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":51,"minItems":2,"type":"array"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"managed_boundary":{"additionalProperties":false,"properties":{"artifact_path":{"minLength":1,"type":"string"},"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"coverage_state":{"enum":["complete","partial","unavailable"],"type":"string"},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"metadata_status":{"enum":["absent","complete","partial","malformed"],"type":"string"},"mvid":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]},"native_implementations_total":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"pinvoke_imports_total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["evidence_id","artifact_sha256","artifact_path","mvid","metadata_status","pinvoke_imports_total","native_implementations_total","coverage_state"],"type":"object"},"native_implementations":{"additionalProperties":false,"properties":{"reason":{"maxLength":4096,"minLength":1,"type":"string"},"unresolved":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["unresolved","reason"],"type":"object"},"native_observations":{"additionalProperties":false,"properties":{"accepted":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"symbols":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"truncated":{"type":"boolean"},"unsupported":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total","accepted","unsupported","symbols","truncated"],"type":"object"},"pinvoke_imports":{"items":{"additionalProperties":false,"properties":{"basis":{"enum":["exact-export-name","exact-function-name","decorated-name-candidate","module-mismatch","no-native-candidate","unsupported-native-evidence"],"type":"string"},"candidates":{"items":{"additionalProperties":false,"properties":{"address":{"anyOf":[{"type":"string"},{"type":"null"}]},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"module_path":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"minLength":1,"type":"string"},"operation":{"minLength":1,"type":"string"},"source":{"enum":["macho-export","function-dossier"],"type":"string"}},"required":["evidence_id","operation","name","address","module_name","module_path","source"],"type":"object"},"maxItems":100,"type":"array"},"confidence":{"enum":["observed","inferred","unknown"],"type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":51,"minItems":1,"type":"array"},"item_id":{"pattern":"^mnv_pinvoke_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"managed":{"additionalProperties":false,"properties":{"call_convention":{"enum":["not-specified","winapi","cdecl","stdcall","thiscall","fastcall","unknown"],"type":"string"},"char_set":{"enum":["not-specified","ansi","unicode","auto","unknown"],"type":"string"},"declaration_verification":{"const":"managed-declaration-only","type":"string"},"import_name":{"minLength":1,"type":"string"},"import_scope_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"member_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"member_token":{"anyOf":[{"pattern":"^0x[0-9a-f]{8}$","type":"string"},{"type":"null"}]},"no_mangle":{"type":"boolean"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["token","member_token","member_name","import_name","import_scope_name","no_mangle","char_set","call_convention","declaration_verification"],"type":"object"},"matched_native":{"anyOf":[{"additionalProperties":false,"properties":{"address":{"anyOf":[{"type":"string"},{"type":"null"}]},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"module_path":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"minLength":1,"type":"string"},"operation":{"minLength":1,"type":"string"},"source":{"enum":["macho-export","function-dossier"],"type":"string"}},"required":["evidence_id","operation","name","address","module_name","module_path","source"],"type":"object"},{"type":"null"}]},"status":{"enum":["verified","inferred","unresolved","contradicted"],"type":"string"}},"required":["item_id","managed","status","basis","confidence","matched_native","candidates","evidence_links","limitations"],"type":"object"},"maxItems":50000,"type":"array"},"schema_version":{"const":1,"type":"number"},"summary":{"additionalProperties":false,"properties":{"contradicted":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"inferred":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"native_body_unresolved":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unresolved":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"verified":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["verified","inferred","unresolved","contradicted","native_body_unresolved"],"type":"object"},"verification_id":{"pattern":"^mnv_[a-f0-9]{64}$","type":"string"}},"required":["schema_version","verification_id","algorithm","managed_boundary","native_observations","summary","pinvoke_imports","native_implementations","coverage","evidence_links","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":true,"title":"Verify Managed Native Boundaries"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Import decompiler-produced managed reconstruction against authenticated inspect_managed_members Evidence. The workflow locks each method to artifact SHA-256, MVID, metadata token, signature hash, and the limited member-result-v1 decoded-IL tuple hash, records the decompiler identity and options, and marks C# or pseudocode as analyst inference rather than canonical byte observation.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"decompiler":{"executable_sha256":null,"family":"ilspy","name":"ilspycmd","options":["--disable-updatecheck","--type","Example.Program"],"version":"9.1.0.7988"},"methods":[{"normalized_il_sha256":"5555555555555555555555555555555555555555555555555555555555555555","reconstruction":{"end_line":1,"kind":"decompiled-csharp","language":"csharp","source_path":"/examples/Example.Program.cs","start_line":1,"text":"internal static void Main() { }"},"signature_sha256":"3333333333333333333333333333333333333333333333333333333333333333","token":"0x06000001"}],"notes":["Synthetic example only; decompiler output is imported as inference."],"static_members_evidence_id":"ev_4871226711dcb86d73cebb54bc54c6e1d6cf227c94c7cf67685dc5d805511493"}],"properties":{"decompiler":{"additionalProperties":false,"description":"Value for decompiler.","properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Exact SHA-256 digest of executable."},"family":{"description":"Value for family.","enum":["ilspy","dnspy","dnlib","mono-cecil","other"],"type":"string"},"name":{"description":"Exact name used by this operation.","maxLength":512,"minLength":1,"type":"string"},"options":{"default":[],"description":"Value for options.","items":{"maxLength":512,"type":"string"},"maxItems":50,"type":"array"},"version":{"anyOf":[{"maxLength":128,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["name","version","family","executable_sha256"],"type":"object"},"methods":{"description":"Value for methods.","items":{"additionalProperties":false,"properties":{"normalized_il_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Exact SHA-256 digest of normalized il."},"reconstruction":{"additionalProperties":false,"description":"Value for reconstruction.","properties":{"end_line":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}],"description":"Value for end line."},"kind":{"description":"Value for kind.","enum":["decompiled-csharp","decompiled-il","semantic-pseudocode"],"type":"string"},"language":{"description":"Value for language.","enum":["csharp","il","pseudocode"],"type":"string"},"source_path":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}],"description":"Local filesystem path for source."},"start_line":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}],"description":"Value for start line."},"text":{"description":"Value for text.","maxLength":65536,"minLength":1,"type":"string"},"text_sha256":{"description":"Exact SHA-256 digest of text.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["kind","language","text"],"type":"object"},"signature_sha256":{"description":"Exact SHA-256 digest of signature.","pattern":"^[a-f0-9]{64}$","type":"string"},"token":{"description":"Value for token.","pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["token","signature_sha256","normalized_il_sha256","reconstruction"],"type":"object"},"maxItems":50,"minItems":1,"type":"array"},"notes":{"default":[],"description":"Value for notes.","items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"static_members_evidence_id":{"description":"Session-owned inspect_managed_members Evidence ID","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry.","type":"boolean"}},"required":["decompiler","methods","static_members_evidence_id"],"type":"object"},"kind":"application","name":"import_managed_reconstruction","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"decompiler":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"family":{"enum":["ilspy","dnspy","dnlib","mono-cecil","other"],"type":"string"},"name":{"maxLength":512,"minLength":1,"type":"string"},"options":{"default":[],"items":{"maxLength":512,"type":"string"},"maxItems":50,"type":"array"},"options_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"anyOf":[{"maxLength":128,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["name","version","family","executable_sha256","options","options_sha256"],"type":"object"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":1,"minItems":1,"type":"array"},"executed":{"const":false,"type":"boolean"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"methods":{"items":{"additionalProperties":false,"properties":{"body_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"il_size":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"type":"string"},"normalized_il_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"reconstruction":{"additionalProperties":false,"properties":{"end_line":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}]},"kind":{"enum":["decompiled-csharp","decompiled-il","semantic-pseudocode"],"type":"string"},"language":{"enum":["csharp","il","pseudocode"],"type":"string"},"line_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_path":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]},"start_line":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}]},"text":{"maxLength":65536,"minLength":1,"type":"string"},"text_length":{"maximum":65536,"minimum":1,"type":"integer"},"text_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["kind","language","text","text_sha256","text_length","line_count","source_path","start_line","end_line"],"type":"object"},"signature_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"},"validation":{"additionalProperties":false,"properties":{"canonical_observation":{"const":false,"type":"boolean"},"confidence_floor":{"const":"inference","type":"string"},"exact_build_required":{"const":true,"type":"boolean"},"matched_static_member":{"const":true,"type":"boolean"}},"required":["matched_static_member","exact_build_required","canonical_observation","confidence_floor"],"type":"object"}},"required":["token","declaring_type","name","signature_sha256","normalized_il_sha256","body_sha256","il_size","reconstruction","validation"],"type":"object"},"maxItems":50,"minItems":1,"type":"array"},"notes":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"phase":{"const":"reconstruction-import","type":"string"},"reconstruction_id":{"pattern":"^mre_[a-f0-9]{64}$","type":"string"},"schema_version":{"const":1,"type":"number"},"static_observation":{"additionalProperties":false,"properties":{"artifact_path":{"minLength":1,"type":"string"},"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"metadata_status":{"enum":["absent","complete","partial","malformed"],"type":"string"},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"mvid":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]}},"required":["evidence_id","artifact_sha256","artifact_path","byte_length","module_name","mvid","metadata_status"],"type":"object"},"summary":{"additionalProperties":false,"properties":{"decompiled_csharp_methods":{"maximum":50,"minimum":0,"type":"integer"},"decompiled_il_methods":{"maximum":50,"minimum":0,"type":"integer"},"imported_methods":{"maximum":50,"minimum":1,"type":"integer"},"pseudocode_methods":{"maximum":50,"minimum":0,"type":"integer"},"total_text_bytes":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["imported_methods","decompiled_csharp_methods","decompiled_il_methods","pseudocode_methods","total_text_bytes"],"type":"object"}},"required":["schema_version","reconstruction_id","phase","executed","static_observation","decompiler","summary","methods","notes","evidence_links","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":true,"title":"Import Managed Reconstruction"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Prepare a separately authorized managed runtime-correlation admission plan from authenticated inspect_managed_members Evidence. The operation is default-disabled, requires the managed_runtime permission ceiling and grant, locks the exact artifact SHA-256, MVID, method signature, and limited member-result-v1 decoded-IL tuple hash, distinguishes attach/load/debugger/reflection/instrumentation effects, and records that no target code was executed.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"bounds":{"allow_network":false,"allow_ui":false,"max_output_bytes":65536,"max_threads":32,"timeout_ms":5000},"host":{"architecture":"x86_64","clr_family":"dotnet","os":"linux"},"method":{"normalized_il_sha256":"5555555555555555555555555555555555555555555555555555555555555555","signature_sha256":"3333333333333333333333333333333333333333333333333333333333333333","token":"0x06000001"},"requested_effect":"attach","static_members_evidence_id":"ev_4871226711dcb86d73cebb54bc54c6e1d6cf227c94c7cf67685dc5d805511493"}],"properties":{"bounds":{"additionalProperties":false,"default":{"allow_network":false,"allow_ui":false,"max_output_bytes":65536,"max_threads":32,"timeout_ms":5000},"description":"Value for bounds.","properties":{"allow_network":{"const":false,"default":false,"description":"Value for allow network.","type":"boolean"},"allow_ui":{"const":false,"default":false,"description":"Value for allow ui.","type":"boolean"},"max_output_bytes":{"default":65536,"description":"Maximum permitted output bytes for this operation.","maximum":1048576,"minimum":0,"type":"integer"},"max_threads":{"default":32,"description":"Maximum permitted threads for this operation.","maximum":256,"minimum":1,"type":"integer"},"timeout_ms":{"default":5000,"description":"Value for timeout ms.","maximum":60000,"minimum":1,"type":"integer"}},"type":"object"},"host":{"additionalProperties":false,"description":"Value for host.","properties":{"architecture":{"description":"Value for architecture.","enum":["x86","x86_64","arm","arm64"],"type":"string"},"clr_family":{"description":"Value for clr family.","enum":["dotnet","dotnet-framework","mono","unknown"],"type":"string"},"os":{"description":"Value for os.","enum":["linux","macos","windows"],"type":"string"}},"required":["os","clr_family","architecture"],"type":"object"},"method":{"additionalProperties":false,"description":"Value for method.","properties":{"normalized_il_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Exact SHA-256 digest of normalized il."},"signature_sha256":{"description":"Exact SHA-256 digest of signature.","pattern":"^[a-f0-9]{64}$","type":"string"},"token":{"description":"Value for token.","pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["token","signature_sha256","normalized_il_sha256"],"type":"object"},"requested_effect":{"description":"Value for requested effect.","enum":["attach","load","debugger","reflection","instrumentation"],"type":"string"},"static_members_evidence_id":{"description":"Session-owned inspect_managed_members Evidence ID","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry.","type":"boolean"}},"required":["method","requested_effect","host","static_members_evidence_id"],"type":"object"},"kind":"application","name":"plan_managed_runtime_correlation","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"authority_model":{"additionalProperties":false,"properties":{"capability":{"const":"managed_runtime","type":"string"},"default_enabled":{"const":false,"type":"boolean"},"per_call_approval_required":{"const":true,"type":"boolean"},"permission_grant_id":{"minLength":1,"type":"string"}},"required":["capability","permission_grant_id","default_enabled","per_call_approval_required"],"type":"object"},"bounds":{"additionalProperties":false,"properties":{"allow_network":{"const":false,"default":false,"type":"boolean"},"allow_ui":{"const":false,"default":false,"type":"boolean"},"max_output_bytes":{"default":65536,"maximum":1048576,"minimum":0,"type":"integer"},"max_threads":{"default":32,"maximum":256,"minimum":1,"type":"integer"},"timeout_ms":{"default":5000,"maximum":60000,"minimum":1,"type":"integer"}},"required":["timeout_ms","max_threads","max_output_bytes","allow_network","allow_ui"],"type":"object"},"correlation_id":{"pattern":"^mrc_[a-f0-9]{64}$","type":"string"},"effect_taxonomy":{"additionalProperties":false,"properties":{"attaches_process":{"type":"boolean"},"instruments_code":{"type":"boolean"},"invokes_target_code":{"const":false,"type":"boolean"},"loads_target":{"type":"boolean"},"uses_debugger":{"type":"boolean"},"uses_reflection":{"type":"boolean"}},"required":["attaches_process","loads_target","uses_debugger","uses_reflection","instruments_code","invokes_target_code"],"type":"object"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":1,"minItems":1,"type":"array"},"executed":{"const":false,"type":"boolean"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"method_lock":{"additionalProperties":false,"properties":{"body_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"body_status":{"enum":["present","partial","absent","malformed","too-large"],"type":"string"},"declaring_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"exact_build_required":{"const":true,"type":"boolean"},"il_size":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"type":"string"},"normalized_il_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"signature_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"token":{"pattern":"^0x[0-9a-f]{8}$","type":"string"}},"required":["token","declaring_type","name","signature_sha256","normalized_il_sha256","body_sha256","il_size","body_status","exact_build_required"],"type":"object"},"phase":{"const":"admission-plan","type":"string"},"requested_runtime":{"additionalProperties":false,"properties":{"effect":{"enum":["attach","load","debugger","reflection","instrumentation"],"type":"string"},"executable_path":{"minLength":1,"type":"string"},"filesystem":{"const":"owned-artifacts-only","type":"string"},"host":{"additionalProperties":false,"properties":{"architecture":{"enum":["x86","x86_64","arm","arm64"],"type":"string"},"clr_family":{"enum":["dotnet","dotnet-framework","mono","unknown"],"type":"string"},"os":{"enum":["linux","macos","windows"],"type":"string"}},"required":["os","clr_family","architecture"],"type":"object"},"network":{"const":"none","type":"string"}},"required":["effect","host","executable_path","network","filesystem"],"type":"object"},"schema_version":{"const":1,"type":"number"},"static_observation":{"additionalProperties":false,"properties":{"artifact_path":{"minLength":1,"type":"string"},"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"metadata_status":{"enum":["absent","complete","partial","malformed"],"type":"string"},"module_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"mvid":{"anyOf":[{"pattern":"^[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$","type":"string"},{"type":"null"}]}},"required":["evidence_id","artifact_sha256","artifact_path","byte_length","module_name","mvid","metadata_status"],"type":"object"},"unsupported_until_executor_exists":{"const":true,"type":"boolean"}},"required":["schema_version","correlation_id","phase","executed","authority_model","static_observation","method_lock","requested_runtime","effect_taxonomy","bounds","unsupported_until_executor_exists","evidence_links","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":true,"title":"Plan Managed Runtime Correlation"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"limits":{"max_fields":100,"max_methods":100,"max_native_implementations":100,"max_pinvoke_imports":100,"max_types":100},"managed_members_evidence_id":"ev_4871226711dcb86d73cebb54bc54c6e1d6cf227c94c7cf67685dc5d805511493"}],"properties":{"limits":{"additionalProperties":false,"default":{"max_fields":5000,"max_methods":10000,"max_native_implementations":5000,"max_pinvoke_imports":5000,"max_types":5000},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"max_fields":{"default":5000,"description":"Maximum permitted fields for this operation.","maximum":100000,"minimum":0,"type":"integer"},"max_methods":{"default":10000,"description":"Maximum permitted methods for this operation.","maximum":100000,"minimum":0,"type":"integer"},"max_native_implementations":{"default":5000,"description":"Maximum permitted native implementations for this operation.","maximum":100000,"minimum":0,"type":"integer"},"max_pinvoke_imports":{"default":5000,"description":"Maximum permitted pinvoke imports for this operation.","maximum":100000,"minimum":0,"type":"integer"},"max_types":{"default":5000,"description":"Maximum permitted types for this operation.","maximum":100000,"minimum":0,"type":"integer"}},"type":"object"},"managed_artifact_evidence_id":{"description":"Session-owned inspect_managed_artifact Evidence ID","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"managed_members_evidence_id":{"description":"Session-owned inspect_managed_members Evidence ID","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"managed_native_boundaries_evidence_id":{"description":"Session-owned inspect_managed_native_boundaries Evidence ID","pattern":"^ev_[a-f0-9]{64}$","type":"string"}},"type":"object"},"kind":"application","name":"project_managed_application_graph","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"coverage":{"additionalProperties":false,"properties":{"omitted_fields":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_methods":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_native_implementations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_pinvoke_imports":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_types":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"enum":["complete-within-inputs","partial","truncated"],"type":"string"}},"required":["status","omitted_types","omitted_methods","omitted_fields","omitted_pinvoke_imports","omitted_native_implementations"],"type":"object"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":3,"minItems":1,"type":"array"},"graph":{"additionalProperties":false,"properties":{"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"edges":{"items":{"additionalProperties":false,"properties":{"edge_id":{"pattern":"^jag_edge_[a-f0-9]{64}$","type":"string"},"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"relationship-exact","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"},"relation":{"enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"],"type":"string"},"source_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"target_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"type":"object"},"maxItems":200000,"type":"array"},"graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"nodes":{"items":{"additionalProperties":false,"properties":{"identity":{"oneOf":[{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"stability":{"const":"global-exact","type":"string"},"strategy":{"const":"content-digest","type":"string"}},"required":["strategy","stability","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"original_source":{"maxLength":4096,"minLength":1,"type":"string"},"source_map_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"source_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"stability":{"const":"source-map-exact","type":"string"},"strategy":{"const":"source-map-original","type":"string"}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"type":"object"},{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"artifact-version","type":"string"},"strategy":{"const":"canonical-path","type":"string"}},"required":["strategy","stability","artifact_sha256","path"],"type":"object"},{"additionalProperties":false,"properties":{"algorithm":{"maxLength":128,"minLength":1,"type":"string"},"basis":{"items":{"enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"],"type":"string"},"maxItems":6,"minItems":1,"type":"array"},"fingerprint_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"stability":{"const":"cross-version-inference","type":"string"},"strategy":{"const":"structural-fingerprint","type":"string"}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"type":"object"},{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"key":{"maxLength":4096,"minLength":1,"type":"string"},"namespace":{"maxLength":512,"minLength":1,"type":"string"},"stability":{"const":"artifact-version","type":"string"},"strategy":{"const":"artifact-local-key","type":"string"}},"required":["strategy","stability","artifact_sha256","namespace","key"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"runtime_key":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"capture-only","type":"string"},"strategy":{"const":"runtime-instance","type":"string"}},"required":["strategy","stability","capture_sha256","runtime_key"],"type":"object"},{"additionalProperties":false,"properties":{"observation_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"scope":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"observation-only","type":"string"},"strategy":{"const":"observation-fingerprint","type":"string"}},"required":["strategy","stability","observation_sha256","scope"],"type":"object"}]},"kind":{"enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"],"type":"string"},"node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"observations":{"items":{"additionalProperties":false,"properties":{"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"observation-exact","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"label":{"anyOf":[{"maxLength":1024,"minLength":1,"type":"string"},{"type":"null"}]},"observation_id":{"pattern":"^jag_observation_[a-f0-9]{64}$","type":"string"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"type":"object"},"maxItems":64,"minItems":1,"type":"array"}},"required":["node_id","kind","identity","observations"],"type":"object"},"maxItems":100000,"minItems":1,"type":"array"},"root_node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"schema":{"const":"JavaScriptApplicationGraph","type":"string"},"schema_version":{"const":1,"type":"number"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"projection_id":{"pattern":"^magp_[a-f0-9]{64}$","type":"string"},"root_artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"schema_version":{"const":1,"type":"number"},"source_evidence":{"additionalProperties":false,"properties":{"managed_artifact_evidence_id":{"anyOf":[{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"managed_members_evidence_id":{"anyOf":[{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"managed_native_boundaries_evidence_id":{"anyOf":[{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},{"type":"null"}]}},"required":["managed_artifact_evidence_id","managed_members_evidence_id","managed_native_boundaries_evidence_id"],"type":"object"},"summary":{"additionalProperties":false,"properties":{"assemblies":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"fields":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"graph_edges":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"graph_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"methods":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"modules":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"native_implementations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"pinvoke_imports":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"types":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["graph_nodes","graph_edges","assemblies","modules","types","methods","fields","pinvoke_imports","native_implementations"],"type":"object"}},"required":["schema_version","projection_id","root_artifact_sha256","source_evidence","summary","graph","coverage","evidence_links","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":true,"title":"Project Managed Application Graph"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"List bounded page targets from an approved user-owned loopback Chrome DevTools Protocol endpoint. Only targets whose current URL matches an approved exact origin are returned; URL credentials, query values, and fragments are redacted.","effects":{"accessesNetwork":true,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"allowed_origins":["https://app.example.test"],"approved":true,"cdp_endpoint":"http://127.0.0.1:9222","limit":100,"offset":0}],"properties":{"allowed_origins":{"description":"Value for allowed origins.","items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"approved":{"const":true,"description":"Explicit approval for browser observation","type":"boolean"},"cdp_endpoint":{"description":"Approved literal loopback Chrome DevTools Protocol endpoint.","maxLength":2048,"minLength":1,"type":"string"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":200,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["cdp_endpoint","allowed_origins","approved"],"type":"object"},"kind":"browser-provider","name":"list_browser_targets","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"browser":{"additionalProperties":false,"properties":{"js_version":{"type":"string"},"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"type":"object"},"excluded":{"additionalProperties":false,"properties":{"disallowed_origin":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"non_page":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unsupported_url":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["disallowed_origin","unsupported_url","non_page"],"type":"object"},"limitations":{"items":{"type":"string"},"type":"array"},"schema_version":{"const":1,"type":"number"},"targets":{"additionalProperties":false,"properties":{"has_more":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"attached":{"type":"boolean"},"origin":{"type":"string"},"target_id":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"}},"required":["target_id","type","title","url","origin","attached"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset","has_more"],"type":"object"}},"required":["schema_version","browser","targets","excluded","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"List Browser Targets"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Passively inspect one approved page target through CDP without evaluating JavaScript, navigating, clicking, closing, or mutating the page. Returns bounded DOM structure, accessibility, scripts, resources, attach-window network and console metadata, workers, and redacted storage inventory as Evidence v2.","effects":{"accessesNetwork":true,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"allOf":[{"if":{"properties":{"include_console_text":{"const":true,"description":"Whether include_console_text was requested"}},"required":["include_console_text"]},"then":{"properties":{"console_text_approved":{"const":true,"description":"Approval for include_console_text"}},"required":["console_text_approved"]}},{"if":{"properties":{"include_json_body_shapes":{"const":true,"description":"Whether include_json_body_shapes was requested"}},"required":["include_json_body_shapes"]},"then":{"properties":{"json_body_schema_approved":{"const":true,"description":"Approval for include_json_body_shapes"}},"required":["json_body_schema_approved"]}},{"if":{"properties":{"include_websocket_shapes":{"const":true,"description":"Whether include_websocket_shapes was requested"}},"required":["include_websocket_shapes"]},"then":{"properties":{"websocket_shape_approved":{"const":true,"description":"Approval for include_websocket_shapes"}},"required":["websocket_shape_approved"]}}],"examples":[{"allowed_origins":["https://app.example.test"],"approved":true,"cdp_endpoint":"http://127.0.0.1:9222","console_text_approved":false,"include_accessibility_text":false,"include_console_text":false,"include_json_body_shapes":false,"include_script_sources":false,"include_storage_fingerprints":false,"include_storage_keys":false,"include_websocket_shapes":false,"json_body_schema_approved":false,"limits":{"max_ax_nodes":2000,"max_ax_text_field_bytes":1024,"max_console_events":200,"max_console_text_field_bytes":1024,"max_dom_nodes":2000,"max_frames":200,"max_json_body_bytes":1048576,"max_json_shape_depth":20,"max_json_shape_nodes":5000,"max_network_events":1000,"max_resources":2000,"max_script_source_bytes":1048576,"max_scripts":200,"max_storage_keys":1000,"max_total_ax_text_bytes":65536,"max_total_console_text_bytes":65536,"max_total_json_body_bytes":4194304,"max_total_script_source_bytes":4194304,"max_total_websocket_shape_bytes":1048576,"max_websocket_events":500,"max_websocket_shape_bytes":65536,"max_workers":500},"observation_ms":500,"target_id":"TARGET_ID_FROM_LIST_BROWSER_TARGETS","websocket_shape_approved":false}],"properties":{"allowed_origins":{"description":"Value for allowed origins.","items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"approved":{"const":true,"description":"Explicit approval for browser observation","type":"boolean"},"cdp_endpoint":{"description":"Approved literal loopback Chrome DevTools Protocol endpoint.","maxLength":2048,"minLength":1,"type":"string"},"console_text_approved":{"default":false,"description":"Explicit operator approval for console text.","type":"boolean"},"include_accessibility_text":{"default":false,"description":"Whether to include accessibility text in the result.","type":"boolean"},"include_console_text":{"default":false,"description":"Whether to include console text in the result.","type":"boolean"},"include_json_body_shapes":{"default":false,"description":"Whether to include json body shapes in the result.","type":"boolean"},"include_script_sources":{"default":false,"description":"Whether to include script sources in the result.","type":"boolean"},"include_storage_fingerprints":{"default":false,"description":"Whether to include storage fingerprints in the result.","type":"boolean"},"include_storage_keys":{"default":false,"description":"Whether to include storage keys in the result.","type":"boolean"},"include_websocket_shapes":{"default":false,"description":"Whether to include websocket shapes in the result.","type":"boolean"},"json_body_schema_approved":{"default":false,"description":"Explicit operator approval for json body schema.","type":"boolean"},"limits":{"additionalProperties":false,"default":{"max_ax_nodes":2000,"max_ax_text_field_bytes":1024,"max_console_events":200,"max_console_text_field_bytes":1024,"max_dom_nodes":2000,"max_frames":200,"max_json_body_bytes":1048576,"max_json_shape_depth":20,"max_json_shape_nodes":5000,"max_network_events":1000,"max_resources":2000,"max_script_source_bytes":1048576,"max_scripts":200,"max_storage_keys":1000,"max_total_ax_text_bytes":65536,"max_total_console_text_bytes":65536,"max_total_json_body_bytes":4194304,"max_total_script_source_bytes":4194304,"max_total_websocket_shape_bytes":1048576,"max_websocket_events":500,"max_websocket_shape_bytes":65536,"max_workers":500},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"max_ax_nodes":{"default":2000,"description":"Maximum permitted ax nodes for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_ax_text_field_bytes":{"default":1024,"description":"Maximum permitted ax text field bytes for this operation.","maximum":16384,"minimum":1,"type":"integer"},"max_console_events":{"default":200,"description":"Maximum permitted console events for this operation.","maximum":2000,"minimum":1,"type":"integer"},"max_console_text_field_bytes":{"default":1024,"description":"Maximum permitted console text field bytes for this operation.","maximum":16384,"minimum":1,"type":"integer"},"max_dom_nodes":{"default":2000,"description":"Maximum permitted dom nodes for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_frames":{"default":200,"description":"Maximum permitted frames for this operation.","maximum":1000,"minimum":1,"type":"integer"},"max_json_body_bytes":{"default":1048576,"description":"Maximum permitted json body bytes for this operation.","maximum":4194304,"minimum":1,"type":"integer"},"max_json_shape_depth":{"default":20,"description":"Maximum permitted json shape depth for this operation.","maximum":100,"minimum":1,"type":"integer"},"max_json_shape_nodes":{"default":5000,"description":"Maximum permitted json shape nodes for this operation.","maximum":100000,"minimum":1,"type":"integer"},"max_network_events":{"default":1000,"description":"Maximum permitted network events for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_resources":{"default":2000,"description":"Maximum permitted resources for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_script_source_bytes":{"default":1048576,"description":"Maximum permitted script source bytes for this operation.","maximum":4194304,"minimum":1,"type":"integer"},"max_scripts":{"default":200,"description":"Maximum permitted scripts for this operation.","maximum":1000,"minimum":1,"type":"integer"},"max_storage_keys":{"default":1000,"description":"Maximum permitted storage keys for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_total_ax_text_bytes":{"default":65536,"description":"Maximum permitted total ax text bytes for this operation.","maximum":1048576,"minimum":1,"type":"integer"},"max_total_console_text_bytes":{"default":65536,"description":"Maximum permitted total console text bytes for this operation.","maximum":1048576,"minimum":1,"type":"integer"},"max_total_json_body_bytes":{"default":4194304,"description":"Maximum permitted total json body bytes for this operation.","maximum":16777216,"minimum":1,"type":"integer"},"max_total_script_source_bytes":{"default":4194304,"description":"Maximum permitted total script source bytes for this operation.","maximum":16777216,"minimum":1,"type":"integer"},"max_total_websocket_shape_bytes":{"default":1048576,"description":"Maximum permitted total websocket shape bytes for this operation.","maximum":16777216,"minimum":1,"type":"integer"},"max_websocket_events":{"default":500,"description":"Maximum permitted websocket events for this operation.","maximum":5000,"minimum":1,"type":"integer"},"max_websocket_shape_bytes":{"default":65536,"description":"Maximum permitted websocket shape bytes for this operation.","maximum":1048576,"minimum":1,"type":"integer"},"max_workers":{"default":500,"description":"Maximum permitted workers for this operation.","maximum":5000,"minimum":1,"type":"integer"}},"type":"object"},"observation_ms":{"default":500,"description":"Value for observation ms.","maximum":10000,"minimum":0,"type":"integer"},"target_id":{"description":"Exact authorized CDP target identifier.","maxLength":256,"minLength":1,"type":"string"},"websocket_shape_approved":{"default":false,"description":"Explicit operator approval for websocket shape.","type":"boolean"}},"required":["cdp_endpoint","allowed_origins","approved","target_id"],"type":"object"},"kind":"browser-provider","name":"inspect_web_page","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"accessibility":{"additionalProperties":false,"properties":{"nodes":{"items":{"additionalProperties":false,"properties":{"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"ignored":{"type":"boolean"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"node_id":{"type":"string"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"role":{"anyOf":[{"type":"string"},{"type":"null"}]},"states":{"default":[],"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"}]}},"required":["name","value"],"type":"object"},"type":"array"}},"required":["node_id","parent_id","role","name","description","ignored","states"],"type":"object"},"type":"array"},"text_capture":{"additionalProperties":false,"properties":{"excluded_fields":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"retained_bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"enum":["not_approved","included","truncated","unavailable"],"type":"string"},"truncated_fields":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","retained_bytes","excluded_fields","truncated_fields"],"type":"object"},"total_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total_nodes","text_capture","nodes"],"type":"object"},"browser":{"additionalProperties":false,"properties":{"js_version":{"type":"string"},"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"type":"object"},"capture_window":{"additionalProperties":false,"properties":{"ended_at":{"format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"observation_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"started_at":{"format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"}},"required":["started_at","ended_at","observation_ms"],"type":"object"},"completeness":{"additionalProperties":false,"properties":{"attach_limited_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"conditions":{"items":{"enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"maxItems":3,"minItems":1,"type":"array"},"dropped_events":{"additionalProperties":false,"properties":{"console_events":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"network_requests":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"scripts":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"timeline_events":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"webmcp_tools":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_connections":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_frames":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"type":"object"},"excluded":{"items":{"additionalProperties":false,"properties":{"count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"reason":{"enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"type":"string"},"section":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"}},"required":["section","reason","count"],"type":"object"},"type":"array"},"policy_filtered_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"status":{"enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"truncated_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"unavailable_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"type":"object"},"console":{"additionalProperties":false,"properties":{"coverage_started_at":{"format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"events":{"items":{"additionalProperties":false,"properties":{"argument_types":{"items":{"type":"string"},"type":"array"},"column":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"line":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"text_capture":{"additionalProperties":false,"properties":{"retained_bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"enum":["not_approved","included","truncated"],"type":"string"},"truncated_values":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"values":{"items":{"additionalProperties":false,"properties":{"argument_index":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"text":{"type":"string"},"type":{"type":"string"}},"required":["argument_index","type","text"],"type":"object"},"type":"array"}},"required":["status","values","retained_bytes","truncated_values"],"type":"object"},"timestamp":{"type":"number"},"type":{"type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","timestamp","argument_types","url","line","column","text_capture"],"type":"object"},"type":"array"},"prior_activity_available":{"const":false,"type":"boolean"}},"required":["events","coverage_started_at","prior_activity_available"],"type":"object"},"dom":{"additionalProperties":false,"properties":{"nodes":{"items":{"additionalProperties":false,"properties":{"attribute_names":{"items":{"type":"string"},"type":"array"},"index":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"node_name":{"type":"string"},"node_type":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"node_value_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"parent_index":{"maximum":9007199254740991,"minimum":-1,"type":"integer"}},"required":["index","parent_index","node_type","node_name","node_value_length","attribute_names"],"type":"object"},"type":"array"},"total_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total_nodes","nodes"],"type":"object"},"frames":{"items":{"additionalProperties":false,"properties":{"frame_id":{"type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}]},"parent_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"type":"string"}},"required":["frame_id","parent_frame_id","url","origin"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"metadata":{"additionalProperties":false,"properties":{"agent_hints":{"items":{"additionalProperties":false,"properties":{"declaration":{"type":"string"},"mechanism":{"enum":["link_rel","dom_link_rel","well_known_resource","response_header"],"type":"string"},"trust":{"const":"page-declared-untrusted","type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["mechanism","declaration","url","trust"],"type":"object"},"type":"array"},"dom_urls":{"items":{"additionalProperties":false,"properties":{"attribute":{"enum":["href","src","action","formaction","poster"],"type":"string"},"destination_scope":{"enum":["approved","outside_policy","unsupported"],"type":"string"},"node_index":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"url":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["node_index","attribute","url","destination_scope"],"type":"object"},"type":"array"},"excluded_dom_urls":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"headers_allowlisted":{"const":true,"type":"boolean"},"responses":{"items":{"additionalProperties":false,"properties":{"content_encoding":{"anyOf":[{"type":"string"},{"type":"null"}]},"content_length":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"csp":{"additionalProperties":false,"properties":{"directives":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"sources":{"items":{"additionalProperties":false,"properties":{"kind":{"enum":["keyword","scheme","approved_origin","external_origin","other"],"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["kind","value"],"type":"object"},"type":"array"}},"required":["name","sources"],"type":"object"},"type":"array"},"hash_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"nonce_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["directives","nonce_count","hash_count"],"type":"object"},"links":{"items":{"additionalProperties":false,"properties":{"as":{"anyOf":[{"type":"string"},{"type":"null"}]},"crossorigin":{"anyOf":[{"type":"string"},{"type":"null"}]},"destination_scope":{"enum":["approved","outside_policy","unsupported"],"type":"string"},"href":{"anyOf":[{"type":"string"},{"type":"null"}]},"rel":{"items":{"type":"string"},"type":"array"},"type":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["href","destination_scope","rel","as","type","crossorigin"],"type":"object"},"type":"array"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"policies":{"additionalProperties":false,"properties":{"coep":{"anyOf":[{"type":"string"},{"type":"null"}]},"coop":{"anyOf":[{"type":"string"},{"type":"null"}]},"corp":{"anyOf":[{"type":"string"},{"type":"null"}]},"permissions_policy_features":{"items":{"type":"string"},"type":"array"},"referrer_policy":{"anyOf":[{"type":"string"},{"type":"null"}]},"x_content_type_options":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["coop","coep","corp","referrer_policy","x_content_type_options","permissions_policy_features"],"type":"object"},"request_id":{"type":"string"},"url":{"type":"string"}},"required":["request_id","url","mime_type","content_length","content_encoding","csp","links","policies"],"type":"object"},"type":"array"}},"required":["responses","dom_urls","agent_hints","excluded_dom_urls","headers_allowlisted"],"type":"object"},"network":{"additionalProperties":false,"properties":{"coverage_started_at":{"format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"prior_activity_available":{"const":false,"type":"boolean"},"requests":{"items":{"additionalProperties":false,"properties":{"body_shapes":{"additionalProperties":false,"properties":{"request":{"anyOf":[{"additionalProperties":false,"properties":{"max_depth_observed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"node_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"properties":{"items":{"additionalProperties":false,"properties":{"observations":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"path":{"type":"string"},"types":{"items":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"minItems":1,"type":"array"}},"required":["path","types","observations"],"type":"object"},"type":"array"},"root_type":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"truncated":{"type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"type":"object"},{"type":"null"}]},"response":{"anyOf":[{"additionalProperties":false,"properties":{"max_depth_observed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"node_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"properties":{"items":{"additionalProperties":false,"properties":{"observations":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"path":{"type":"string"},"types":{"items":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"minItems":1,"type":"array"}},"required":["path","types","observations"],"type":"object"},"type":"array"},"root_type":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"truncated":{"type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"type":"object"},{"type":"null"}]},"status":{"enum":["not_approved","included","partial","unavailable","truncated"],"type":"string"}},"required":["status","request","response"],"type":"object"},"encoded_data_length":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}]},"initiator":{"additionalProperties":false,"properties":{"column":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"line":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"type":{"type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","url","line","column"],"type":"object"},"method":{"type":"string"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"origin":{"anyOf":[{"type":"string"},{"type":"null"}]},"request_id":{"type":"string"},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"anyOf":[{"type":"number"},{"type":"null"}]},"url":{"type":"string"}},"required":["request_id","url","origin","method","resource_type","status","mime_type","encoded_data_length","initiator","body_shapes"],"type":"object"},"type":"array"},"websocket_events":{"items":{"additionalProperties":false,"properties":{"direction":{"enum":["sent","received"],"type":"string"},"opcode":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"payload_bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"payload_shape":{"anyOf":[{"additionalProperties":false,"properties":{"format":{"enum":["json","text","binary"],"type":"string"},"json_shape":{"anyOf":[{"additionalProperties":false,"properties":{"max_depth_observed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"node_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"properties":{"items":{"additionalProperties":false,"properties":{"observations":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"path":{"type":"string"},"types":{"items":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"minItems":1,"type":"array"}},"required":["path","types","observations"],"type":"object"},"type":"array"},"root_type":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"truncated":{"type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"type":"object"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["format","json_shape","truncated"],"type":"object"},{"type":"null"}]},"request_id":{"type":"string"}},"required":["request_id","direction","opcode","payload_bytes","payload_shape"],"type":"object"},"type":"array"}},"required":["requests","websocket_events","coverage_started_at","prior_activity_available"],"type":"object"},"resources":{"items":{"additionalProperties":false,"properties":{"content_size":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}]},"mime_type":{"type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}]},"resource_key":{"pattern":"^res_[a-f0-9]{64}$","type":"string"},"type":{"type":"string"},"url":{"type":"string"}},"required":["resource_key","url","origin","type","mime_type","content_size"],"type":"object"},"type":"array"},"schema_version":{"const":2,"type":"number"},"scripts":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"cdp_hash":{"type":"string"},"frame_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"is_module":{"type":"boolean"},"language":{"anyOf":[{"type":"string"},{"type":"null"}]},"length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}]},"resource_reconciliation":{"oneOf":[{"additionalProperties":false,"properties":{"resource_key":{"type":"string"},"status":{"const":"exact","type":"string"}},"required":["status","resource_key"],"type":"object"},{"additionalProperties":false,"properties":{"candidate_resource_keys":{"items":{"type":"string"},"type":"array"},"status":{"const":"ambiguous","type":"string"}},"required":["status","candidate_resource_keys"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"const":"no_exact_sanitized_url","type":"string"},"status":{"const":"unmatched","type":"string"}},"required":["status","reason"],"type":"object"}]},"script_key":{"pattern":"^scr_[a-f0-9]{64}(?:_[0-9]+)?$","type":"string"},"source":{"oneOf":[{"additionalProperties":false,"properties":{"included":{"const":false,"type":"boolean"},"reason":{"type":"string"}},"required":["included","reason"],"type":"object"},{"additionalProperties":false,"properties":{"artifact":{"additionalProperties":false,"properties":{"bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"charset":{"const":"utf-8","type":"string"},"media_type":{"maxLength":256,"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"text":{"type":"string"},"uri":{"pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$","type":"string"}},"required":["uri","sha256","bytes","media_type","charset","text"],"type":"object"},"included":{"const":true,"type":"boolean"}},"required":["included","artifact"],"type":"object"}]},"source_map_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"type":"string"}},"required":["script_key","frame_id","url","origin","cdp_hash","length","is_module","language","source_map_url","resource_reconciliation","source"],"type":"object"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total","items"],"type":"object"},"storage":{"additionalProperties":false,"properties":{"cache_names":{"items":{"type":"string"},"type":"array"},"content_fingerprints":{"default":[],"items":{"additionalProperties":false,"properties":{"complete":{"type":"boolean"},"identity_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"scope":{"enum":["cookie","local_storage","session_storage","indexed_db_schema","indexed_db_record","cache_entry"],"type":"string"},"value_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]}},"required":["scope","identity_sha256","value_sha256","complete"],"type":"object"},"type":"array"},"fingerprint_algorithm":{"const":"sha256","default":"sha256","type":"string"},"fingerprints_complete":{"default":false,"type":"boolean"},"indexed_db_names":{"items":{"type":"string"},"type":"array"},"local_storage_keys":{"items":{"type":"string"},"type":"array"},"origin":{"type":"string"},"quota_bytes":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}]},"session_storage_keys":{"items":{"type":"string"},"type":"array"},"usage_bytes":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}]},"values_redacted":{"const":true,"type":"boolean"}},"required":["origin","usage_bytes","quota_bytes","local_storage_keys","session_storage_keys","indexed_db_names","cache_names","content_fingerprints","fingerprint_algorithm","fingerprints_complete","values_redacted"],"type":"object"},"target":{"additionalProperties":false,"properties":{"attached":{"type":"boolean"},"origin":{"type":"string"},"target_id":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"}},"required":["target_id","type","title","url","origin","attached"],"type":"object"},"workers":{"items":{"additionalProperties":false,"properties":{"attached":{"type":"boolean"},"opener_target_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"origin":{"anyOf":[{"type":"string"},{"type":"null"}]},"parent_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"target_id":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"}},"required":["target_id","type","url","origin","attached","opener_target_id","parent_frame_id"],"type":"object"},"type":"array"}},"required":["schema_version","browser","target","capture_window","completeness","frames","dom","accessibility","scripts","resources","network","console","workers","metadata","storage","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Inspect Web Page"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Capture explicitly approved JavaScript source from one approved CDP page and statically derive a bounded chunk graph, route and endpoint candidates, vendor fingerprints, page-declared WebMCP metadata, and optional separately approved source-map evidence. JavaScript is parsed but never executed.","effects":{"accessesNetwork":true,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"allOf":[{"if":{"properties":{"include_console_text":{"const":true,"description":"Whether include_console_text was requested"}},"required":["include_console_text"]},"then":{"properties":{"console_text_approved":{"const":true,"description":"Approval for include_console_text"}},"required":["console_text_approved"]}},{"if":{"properties":{"include_json_body_shapes":{"const":true,"description":"Whether include_json_body_shapes was requested"}},"required":["include_json_body_shapes"]},"then":{"properties":{"json_body_schema_approved":{"const":true,"description":"Approval for include_json_body_shapes"}},"required":["json_body_schema_approved"]}},{"if":{"properties":{"include_websocket_shapes":{"const":true,"description":"Whether include_websocket_shapes was requested"}},"required":["include_websocket_shapes"]},"then":{"properties":{"websocket_shape_approved":{"const":true,"description":"Approval for include_websocket_shapes"}},"required":["websocket_shape_approved"]}},{"if":{"properties":{"fetch_source_maps":{"const":true,"description":"Whether fetch_source_maps was requested"}},"required":["fetch_source_maps"]},"then":{"properties":{"source_map_fetch_approved":{"const":true,"description":"Approval for fetch_source_maps"}},"required":["source_map_fetch_approved"]}}],"examples":[{"allowed_origins":["https://app.example.test"],"analysis_limits":{"max_ast_nodes":250000,"max_findings":1000,"max_original_sources":2000,"max_source_map_bytes":4194304,"max_source_map_mappings":10000,"max_source_maps":100,"max_total_source_map_bytes":16777216},"approved":true,"cdp_endpoint":"http://127.0.0.1:9222","fetch_source_maps":false,"include_accessibility_text":false,"include_script_sources":true,"include_storage_keys":false,"observation_ms":500,"source_capture_approved":true,"source_map_fetch_approved":false,"target_id":"TARGET_ID_FROM_LIST_BROWSER_TARGETS"}],"properties":{"allowed_origins":{"description":"Value for allowed origins.","items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"analysis_limits":{"additionalProperties":false,"default":{"max_ast_nodes":250000,"max_findings":1000,"max_original_sources":2000,"max_source_map_bytes":4194304,"max_source_map_mappings":10000,"max_source_maps":100,"max_total_source_map_bytes":16777216},"description":"Value for analysis limits.","properties":{"max_ast_nodes":{"default":250000,"description":"Maximum permitted ast nodes for this operation.","maximum":2000000,"minimum":1,"type":"integer"},"max_findings":{"default":1000,"description":"Maximum permitted findings for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_original_sources":{"default":2000,"description":"Maximum permitted original sources for this operation.","maximum":20000,"minimum":1,"type":"integer"},"max_source_map_bytes":{"default":4194304,"description":"Maximum permitted source map bytes for this operation.","maximum":16777216,"minimum":1,"type":"integer"},"max_source_map_mappings":{"default":10000,"description":"Maximum permitted source map mappings for this operation.","maximum":100000,"minimum":1,"type":"integer"},"max_source_maps":{"default":100,"description":"Maximum permitted source maps for this operation.","maximum":1000,"minimum":1,"type":"integer"},"max_total_source_map_bytes":{"default":16777216,"description":"Maximum permitted total source map bytes for this operation.","maximum":67108864,"minimum":1,"type":"integer"}},"type":"object"},"approved":{"const":true,"description":"Explicit approval for browser observation","type":"boolean"},"cdp_endpoint":{"description":"Approved literal loopback Chrome DevTools Protocol endpoint.","maxLength":2048,"minLength":1,"type":"string"},"console_text_approved":{"default":false,"description":"Explicit operator approval for console text.","type":"boolean"},"fetch_source_maps":{"default":false,"description":"Value for fetch source maps.","type":"boolean"},"include_accessibility_text":{"default":false,"description":"Whether to include accessibility text in the result.","type":"boolean"},"include_console_text":{"default":false,"description":"Whether to include console text in the result.","type":"boolean"},"include_json_body_shapes":{"default":false,"description":"Whether to include json body shapes in the result.","type":"boolean"},"include_script_sources":{"const":true,"default":true,"description":"Whether to include script sources in the result.","type":"boolean"},"include_storage_fingerprints":{"default":false,"description":"Whether to include storage fingerprints in the result.","type":"boolean"},"include_storage_keys":{"default":false,"description":"Whether to include storage keys in the result.","type":"boolean"},"include_websocket_shapes":{"default":false,"description":"Whether to include websocket shapes in the result.","type":"boolean"},"json_body_schema_approved":{"default":false,"description":"Explicit operator approval for json body schema.","type":"boolean"},"limits":{"additionalProperties":false,"default":{"max_ax_nodes":2000,"max_ax_text_field_bytes":1024,"max_console_events":200,"max_console_text_field_bytes":1024,"max_dom_nodes":2000,"max_frames":200,"max_json_body_bytes":1048576,"max_json_shape_depth":20,"max_json_shape_nodes":5000,"max_network_events":1000,"max_resources":2000,"max_script_source_bytes":1048576,"max_scripts":200,"max_storage_keys":1000,"max_total_ax_text_bytes":65536,"max_total_console_text_bytes":65536,"max_total_json_body_bytes":4194304,"max_total_script_source_bytes":4194304,"max_total_websocket_shape_bytes":1048576,"max_websocket_events":500,"max_websocket_shape_bytes":65536,"max_workers":500},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"max_ax_nodes":{"default":2000,"description":"Maximum permitted ax nodes for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_ax_text_field_bytes":{"default":1024,"description":"Maximum permitted ax text field bytes for this operation.","maximum":16384,"minimum":1,"type":"integer"},"max_console_events":{"default":200,"description":"Maximum permitted console events for this operation.","maximum":2000,"minimum":1,"type":"integer"},"max_console_text_field_bytes":{"default":1024,"description":"Maximum permitted console text field bytes for this operation.","maximum":16384,"minimum":1,"type":"integer"},"max_dom_nodes":{"default":2000,"description":"Maximum permitted dom nodes for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_frames":{"default":200,"description":"Maximum permitted frames for this operation.","maximum":1000,"minimum":1,"type":"integer"},"max_json_body_bytes":{"default":1048576,"description":"Maximum permitted json body bytes for this operation.","maximum":4194304,"minimum":1,"type":"integer"},"max_json_shape_depth":{"default":20,"description":"Maximum permitted json shape depth for this operation.","maximum":100,"minimum":1,"type":"integer"},"max_json_shape_nodes":{"default":5000,"description":"Maximum permitted json shape nodes for this operation.","maximum":100000,"minimum":1,"type":"integer"},"max_network_events":{"default":1000,"description":"Maximum permitted network events for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_resources":{"default":2000,"description":"Maximum permitted resources for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_script_source_bytes":{"default":1048576,"description":"Maximum permitted script source bytes for this operation.","maximum":4194304,"minimum":1,"type":"integer"},"max_scripts":{"default":200,"description":"Maximum permitted scripts for this operation.","maximum":1000,"minimum":1,"type":"integer"},"max_storage_keys":{"default":1000,"description":"Maximum permitted storage keys for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_total_ax_text_bytes":{"default":65536,"description":"Maximum permitted total ax text bytes for this operation.","maximum":1048576,"minimum":1,"type":"integer"},"max_total_console_text_bytes":{"default":65536,"description":"Maximum permitted total console text bytes for this operation.","maximum":1048576,"minimum":1,"type":"integer"},"max_total_json_body_bytes":{"default":4194304,"description":"Maximum permitted total json body bytes for this operation.","maximum":16777216,"minimum":1,"type":"integer"},"max_total_script_source_bytes":{"default":4194304,"description":"Maximum permitted total script source bytes for this operation.","maximum":16777216,"minimum":1,"type":"integer"},"max_total_websocket_shape_bytes":{"default":1048576,"description":"Maximum permitted total websocket shape bytes for this operation.","maximum":16777216,"minimum":1,"type":"integer"},"max_websocket_events":{"default":500,"description":"Maximum permitted websocket events for this operation.","maximum":5000,"minimum":1,"type":"integer"},"max_websocket_shape_bytes":{"default":65536,"description":"Maximum permitted websocket shape bytes for this operation.","maximum":1048576,"minimum":1,"type":"integer"},"max_workers":{"default":500,"description":"Maximum permitted workers for this operation.","maximum":5000,"minimum":1,"type":"integer"}},"type":"object"},"observation_ms":{"default":500,"description":"Value for observation ms.","maximum":10000,"minimum":0,"type":"integer"},"source_capture_approved":{"const":true,"description":"Explicit operator approval for source capture.","type":"boolean"},"source_map_fetch_approved":{"default":false,"description":"Explicit operator approval for source map fetch.","type":"boolean"},"target_id":{"description":"Exact authorized CDP target identifier.","maxLength":256,"minLength":1,"type":"string"},"websocket_shape_approved":{"default":false,"description":"Explicit operator approval for websocket shape.","type":"boolean"}},"required":["cdp_endpoint","allowed_origins","approved","target_id","source_capture_approved"],"type":"object"},"kind":"browser-provider","name":"analyze_web_bundle","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"capture":{"additionalProperties":false,"properties":{"scripts_analyzed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"scripts_observed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"source_artifacts":{"items":{"additionalProperties":false,"properties":{"bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"charset":{"const":"utf-8","type":"string"},"media_type":{"maxLength":256,"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"text_available":{"const":true,"type":"boolean"},"uri":{"pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$","type":"string"}},"required":["uri","sha256","bytes","media_type","charset","text_available"],"type":"object"},"type":"array"},"target_url":{"type":"string"}},"required":["target_url","scripts_observed","scripts_analyzed","source_artifacts"],"type":"object"},"completeness":{"additionalProperties":false,"properties":{"dropped_findings":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"parse_failures":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"parsed_scripts":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"enum":["complete_within_limits","truncated","partial"],"type":"string"},"visited_ast_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","parsed_scripts","parse_failures","visited_ast_nodes","dropped_findings"],"type":"object"},"inferences":{"items":{"additionalProperties":false,"properties":{"basis":{"items":{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"column":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"detector":{"type":"string"},"line":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}]},"script_key":{"type":"string"}},"required":["script_key","artifact_sha256","line","column","detector"],"type":"object"},"minItems":1,"type":"array"},"confidence":{"enum":["low","medium","high"],"type":"string"},"kind":{"enum":["vendor_fingerprint","route_framework","bundle_runtime"],"type":"string"},"value":{"type":"string"}},"required":["kind","value","confidence","basis"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"observations":{"additionalProperties":false,"properties":{"chunks":{"additionalProperties":false,"properties":{"edges":{"items":{"additionalProperties":false,"properties":{"from_script_key":{"type":"string"},"kind":{"enum":["static_import","dynamic_import","require","worker_import"],"type":"string"},"location":{"additionalProperties":false,"properties":{"column":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"line":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}]},"script_key":{"type":"string"}},"required":["script_key","line","column"],"type":"object"},"resolved_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"specifier":{"type":"string"}},"required":["from_script_key","kind","specifier","resolved_url","location"],"type":"object"},"type":"array"},"nodes":{"items":{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"script_key":{"type":"string"},"url":{"type":"string"}},"required":["script_key","url","artifact_sha256","bytes"],"type":"object"},"type":"array"}},"required":["nodes","edges"],"type":"object"},"endpoints":{"items":{"additionalProperties":false,"properties":{"location":{"additionalProperties":false,"properties":{"column":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"line":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}]},"script_key":{"type":"string"}},"required":["script_key","line","column"],"type":"object"},"mechanism":{"type":"string"},"value":{"type":"string"}},"required":["value","mechanism","location"],"type":"object"},"type":"array"},"routes":{"items":{"additionalProperties":false,"properties":{"location":{"additionalProperties":false,"properties":{"column":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"line":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}]},"script_key":{"type":"string"}},"required":["script_key","line","column"],"type":"object"},"mechanism":{"type":"string"},"value":{"type":"string"}},"required":["value","mechanism","location"],"type":"object"},"type":"array"},"source_maps":{"additionalProperties":false,"properties":{"dropped":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"dropped_script_keys":{"items":{"type":"string"},"type":"array"},"items":{"items":{"additionalProperties":false,"properties":{"artifact":{"anyOf":[{"additionalProperties":false,"properties":{"bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"charset":{"const":"utf-8","type":"string"},"media_type":{"maxLength":256,"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"text":{"type":"string"},"uri":{"pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$","type":"string"}},"required":["uri","sha256","bytes","media_type","charset","text"],"type":"object"},{"type":"null"}]},"declared_url":{"type":"string"},"limitation":{"anyOf":[{"type":"string"},{"type":"null"}]},"mappings":{"items":{"additionalProperties":false,"properties":{"generated_column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"generated_line":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"original_column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"original_line":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source":{"type":"string"}},"required":["generated_line","generated_column","source","original_line","original_column","name"],"type":"object"},"type":"array"},"original_module_edges":{"items":{"additionalProperties":false,"properties":{"from_source":{"type":"string"},"kind":{"enum":["static_import","dynamic_import","require"],"type":"string"},"resolved_source":{"anyOf":[{"type":"string"},{"type":"null"}]},"specifier":{"type":"string"}},"required":["from_source","kind","specifier","resolved_source"],"type":"object"},"type":"array"},"original_sources":{"items":{"additionalProperties":false,"properties":{"artifact":{"anyOf":[{"additionalProperties":false,"properties":{"bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"charset":{"const":"utf-8","type":"string"},"media_type":{"maxLength":256,"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"text":{"type":"string"},"uri":{"pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$","type":"string"}},"required":["uri","sha256","bytes","media_type","charset","text"],"type":"object"},{"type":"null"}]},"source":{"type":"string"}},"required":["source","artifact"],"type":"object"},"type":"array"},"script_key":{"type":"string"},"status":{"enum":["included","fetch_failed","invalid","policy_filtered","truncated"],"type":"string"}},"required":["script_key","declared_url","status","artifact","original_sources","original_module_edges","mappings","limitation"],"type":"object"},"type":"array"},"processed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"requested":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"enum":["not_requested","included","partial","unavailable","truncated"],"type":"string"}},"required":["status","requested","processed","dropped","dropped_script_keys","items"],"type":"object"},"webmcp_declarations":{"items":{"additionalProperties":false,"properties":{"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"additionalProperties":false,"properties":{"column":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"line":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}]},"script_key":{"type":"string"}},"required":["script_key","line","column"],"type":"object"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"schema_property_names":{"items":{"type":"string"},"type":"array"},"trust":{"const":"page-declared-untrusted","type":"string"}},"required":["name","description","schema_property_names","trust","location"],"type":"object"},"type":"array"}},"required":["chunks","routes","endpoints","webmcp_declarations","source_maps"],"type":"object"},"schema_version":{"const":1,"type":"number"},"unknowns":{"items":{"additionalProperties":false,"properties":{"affected_script_keys":{"items":{"type":"string"},"type":"array"},"dimension":{"type":"string"},"reason":{"type":"string"}},"required":["dimension","reason","affected_script_keys"],"type":"object"},"type":"array"}},"required":["schema_version","capture","observations","inferences","unknowns","completeness","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Analyze Web Bundle"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Arm a bounded CDP observation window while the user operates the page. Allows approved same-origin reload and SPA navigation, records ordered navigation, redirect, lifecycle, and failure metadata, and stops before retaining an out-of-policy destination.","effects":{"accessesNetwork":true,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"allowed_origins":["https://app.example.test"],"approved":true,"cdp_endpoint":"http://127.0.0.1:9222","max_timeline_events":2000,"observation_ms":10000,"target_id":"TARGET_ID_FROM_LIST_BROWSER_TARGETS"}],"properties":{"allowed_origins":{"description":"Value for allowed origins.","items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"cdp_endpoint":{"description":"Approved literal loopback Chrome DevTools Protocol endpoint.","maxLength":2048,"minLength":1,"type":"string"},"max_timeline_events":{"default":2000,"description":"Maximum permitted timeline events for this operation.","maximum":20000,"minimum":1,"type":"integer"},"observation_ms":{"default":10000,"description":"Value for observation ms.","maximum":60000,"minimum":1,"type":"integer"},"target_id":{"description":"Exact authorized CDP target identifier.","maxLength":256,"minLength":1,"type":"string"}},"required":["cdp_endpoint","allowed_origins","target_id","approved"],"type":"object"},"kind":"browser-provider","name":"observe_web_session","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"browser":{"additionalProperties":false,"properties":{"js_version":{"type":"string"},"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"type":"object"},"completeness":{"additionalProperties":false,"properties":{"attach_limited_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"conditions":{"items":{"enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"maxItems":3,"minItems":1,"type":"array"},"dropped_events":{"additionalProperties":false,"properties":{"console_events":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"network_requests":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"scripts":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"timeline_events":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"webmcp_tools":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_connections":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_frames":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"type":"object"},"excluded":{"items":{"additionalProperties":false,"properties":{"count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"reason":{"enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"type":"string"},"section":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"}},"required":["section","reason","count"],"type":"object"},"type":"array"},"policy_filtered_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"status":{"enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"truncated_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"unavailable_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"type":"object"},"limitations":{"items":{"type":"string"},"type":"array"},"schema_version":{"const":1,"type":"number"},"target":{"additionalProperties":false,"properties":{"final_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"initial_url":{"type":"string"},"target_id":{"type":"string"}},"required":["target_id","initial_url","final_url"],"type":"object"},"timeline":{"items":{"additionalProperties":false,"properties":{"destination_scope":{"anyOf":[{"enum":["approved","outside_policy","unsupported"],"type":"string"},{"type":"null"}]},"detail":{"anyOf":[{"type":"string"},{"type":"null"}]},"frame_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"loader_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"sequence":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"timestamp":{"minimum":0,"type":"number"},"type":{"enum":["navigation_requested","navigation_committed","same_origin_reload","same_document_navigation","redirect","load_failed","lifecycle","target_terminated"],"type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["sequence","type","timestamp","frame_id","loader_id","request_id","url","destination_scope","detail"],"type":"object"},"type":"array"},"window":{"additionalProperties":false,"properties":{"armed_at":{"format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"end_reason":{"enum":["window_elapsed","target_left_scope","target_terminated"],"type":"string"},"ended_at":{"format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"requested_ms":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["armed_at","ended_at","requested_ms","end_reason"],"type":"object"}},"required":["schema_version","browser","target","window","timeline","completeness","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Observe Web Session"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Passively inventory page-registered WebMCP tools using the experimental CDP WebMCP domain. Metadata is bounded and page-declared-untrusted; REA never registers or invokes discovered tools.","effects":{"accessesNetwork":true,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"allowed_origins":["https://app.example.test"],"approved":true,"cdp_endpoint":"http://127.0.0.1:9222","max_schema_bytes":262144,"max_schema_depth":20,"max_schema_nodes":5000,"max_tools":500,"observation_ms":100,"target_id":"TARGET_ID_FROM_LIST_BROWSER_TARGETS"}],"properties":{"allowed_origins":{"description":"Value for allowed origins.","items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"cdp_endpoint":{"description":"Approved literal loopback Chrome DevTools Protocol endpoint.","maxLength":2048,"minLength":1,"type":"string"},"max_schema_bytes":{"default":262144,"description":"Maximum permitted schema bytes for this operation.","maximum":1048576,"minimum":1,"type":"integer"},"max_schema_depth":{"default":20,"description":"Maximum permitted schema depth for this operation.","maximum":100,"minimum":1,"type":"integer"},"max_schema_nodes":{"default":5000,"description":"Maximum permitted schema nodes for this operation.","maximum":100000,"minimum":1,"type":"integer"},"max_tools":{"default":500,"description":"Maximum permitted tools for this operation.","maximum":5000,"minimum":1,"type":"integer"},"observation_ms":{"default":100,"description":"Value for observation ms.","maximum":10000,"minimum":0,"type":"integer"},"target_id":{"description":"Exact authorized CDP target identifier.","maxLength":256,"minLength":1,"type":"string"}},"required":["cdp_endpoint","allowed_origins","target_id","approved"],"type":"object"},"kind":"browser-provider","name":"discover_webmcp_tools","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"browser":{"additionalProperties":false,"properties":{"js_version":{"type":"string"},"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"type":"object"},"completeness":{"additionalProperties":false,"properties":{"attach_limited_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"conditions":{"items":{"enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"maxItems":3,"minItems":1,"type":"array"},"dropped_events":{"additionalProperties":false,"properties":{"console_events":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"network_requests":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"scripts":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"timeline_events":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"webmcp_tools":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_connections":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_frames":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"type":"object"},"excluded":{"items":{"additionalProperties":false,"properties":{"count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"reason":{"enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"type":"string"},"section":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"}},"required":["section","reason","count"],"type":"object"},"type":"array"},"policy_filtered_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"status":{"enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"truncated_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"unavailable_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"type":"object"},"limitations":{"items":{"type":"string"},"type":"array"},"schema_version":{"const":1,"type":"number"},"status":{"enum":["available","unavailable"],"type":"string"},"target":{"additionalProperties":false,"properties":{"origin":{"type":"string"},"target_id":{"type":"string"},"url":{"type":"string"}},"required":["target_id","url","origin"],"type":"object"},"tools":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"annotations":{"additionalProperties":false,"properties":{"autosubmit":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"read_only":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"untrusted_content":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["read_only","untrusted_content","autosubmit"],"type":"object"},"declaration_kind":{"enum":["declarative","imperative"],"type":"string"},"description":{"type":"string"},"frame_id":{"type":"string"},"frame_url":{"type":"string"},"input_schema_shape":{"anyOf":[{"additionalProperties":false,"properties":{"max_depth_observed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"node_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"properties":{"items":{"additionalProperties":false,"properties":{"observations":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"path":{"type":"string"},"types":{"items":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"minItems":1,"type":"array"}},"required":["path","types","observations"],"type":"object"},"type":"array"},"root_type":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"truncated":{"type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"type":"object"},{"type":"null"}]},"name":{"type":"string"},"owner_origin":{"type":"string"},"registration_source":{"anyOf":[{"additionalProperties":false,"properties":{"column":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"line":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"url":{"type":"string"}},"required":["url","line","column"],"type":"object"},{"type":"null"}]},"tool_key":{"pattern":"^webmcp_[a-f0-9]{64}$","type":"string"},"trust":{"const":"page-declared-untrusted","type":"string"}},"required":["tool_key","name","description","frame_id","frame_url","owner_origin","declaration_kind","input_schema_shape","annotations","registration_source","trust"],"type":"object"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total","items"],"type":"object"}},"required":["schema_version","browser","target","status","tools","completeness","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Discover Webmcp Tools"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Compare either passive web captures or step-indexed browser scenarios. Scenario comparison aligns exact step IDs, records deterministic literal normalization, and exposes bounded artifact-level changes plus alignment failures. Missing or truncated evidence never proves equality.","effects":{"accessesNetwork":true,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"after_scenario":{"browser":{"cleanup":"disconnected-external","mode":"connect","process_ownership":"external","product":"Chromium","version":"149"},"completeness":{"equality_eligible":true,"missing_sections":[],"status":"complete","truncated_sections":[]},"duration_ms":10,"events":{"dropped":0,"items":[],"retained":0},"limitations":[],"scenario":{"action_count":1,"allowed_origins":["https://app.example.test"],"secret_references":[],"start_origin":"https://app.example.test"},"schema_version":1,"steps":[{"action":"scenario_start","after_url":{"origin":"https://app.example.test","query_parameter_names":[],"redacted":false,"url":"https://app.example.test/"},"artifacts":{"accessibility":{"state":"not_requested"},"dom":{"state":"not_requested"},"history":{"state":"not_requested"},"screenshot":{"state":"not_requested"},"storage":{"state":"not_requested"},"url":{"state":"not_requested"}},"before_url":{"origin":"https://app.example.test","query_parameter_names":[],"redacted":false,"url":"https://app.example.test/"},"completeness":{"equality_eligible":true,"missing_sections":[],"status":"complete","truncated_sections":[]},"elapsed_ms":0,"error":null,"event_sequence_end":0,"event_sequence_start":1,"status":"completed","step_id":"scenario_start","step_index":0},{"action":"click","after_url":{"origin":"https://app.example.test","query_parameter_names":[],"redacted":false,"url":"https://app.example.test/"},"artifacts":{"accessibility":{"state":"not_requested"},"dom":{"state":"not_requested"},"history":{"state":"not_requested"},"screenshot":{"state":"not_requested"},"storage":{"state":"not_requested"},"url":{"state":"not_requested"}},"before_url":{"origin":"https://app.example.test","query_parameter_names":[],"redacted":false,"url":"https://app.example.test/"},"completeness":{"equality_eligible":true,"missing_sections":[],"status":"complete","truncated_sections":[]},"elapsed_ms":10,"error":null,"event_sequence_end":0,"event_sequence_start":1,"status":"completed","step_id":"open-settings","step_index":1}]},"before_scenario":{"browser":{"cleanup":"disconnected-external","mode":"connect","process_ownership":"external","product":"Chromium","version":"149"},"completeness":{"equality_eligible":true,"missing_sections":[],"status":"complete","truncated_sections":[]},"duration_ms":10,"events":{"dropped":0,"items":[],"retained":0},"limitations":[],"scenario":{"action_count":1,"allowed_origins":["https://app.example.test"],"secret_references":[],"start_origin":"https://app.example.test"},"schema_version":1,"steps":[{"action":"scenario_start","after_url":{"origin":"https://app.example.test","query_parameter_names":[],"redacted":false,"url":"https://app.example.test/"},"artifacts":{"accessibility":{"state":"not_requested"},"dom":{"state":"not_requested"},"history":{"state":"not_requested"},"screenshot":{"state":"not_requested"},"storage":{"state":"not_requested"},"url":{"state":"not_requested"}},"before_url":{"origin":"https://app.example.test","query_parameter_names":[],"redacted":false,"url":"https://app.example.test/"},"completeness":{"equality_eligible":true,"missing_sections":[],"status":"complete","truncated_sections":[]},"elapsed_ms":0,"error":null,"event_sequence_end":0,"event_sequence_start":1,"status":"completed","step_id":"scenario_start","step_index":0},{"action":"click","after_url":{"origin":"https://app.example.test","query_parameter_names":[],"redacted":false,"url":"https://app.example.test/"},"artifacts":{"accessibility":{"state":"not_requested"},"dom":{"state":"not_requested"},"history":{"state":"not_requested"},"screenshot":{"state":"not_requested"},"storage":{"state":"not_requested"},"url":{"state":"not_requested"}},"before_url":{"origin":"https://app.example.test","query_parameter_names":[],"redacted":false,"url":"https://app.example.test/"},"completeness":{"equality_eligible":true,"missing_sections":[],"status":"complete","truncated_sections":[]},"elapsed_ms":10,"error":null,"event_sequence_end":0,"event_sequence_start":1,"status":"completed","step_id":"open-settings","step_index":1}]},"max_changes":2000,"normalization":{"rules":[{"artifacts":["dom","accessibility"],"match":"build-123","replacement":"[BUILD_ID]","rule_id":"volatile-build-id"}]}}],"oneOf":[{"not":{"anyOf":[{"required":["before_scenario"]},{"required":["after_scenario"]}]},"required":["before","after"]},{"not":{"anyOf":[{"required":["before"]},{"required":["after"]}]},"required":["before_scenario","after_scenario"]}],"properties":{"after":{"additionalProperties":false,"description":"Later passive web-page capture; pair with before.","properties":{"inspection":{"additionalProperties":false,"description":"Value for inspection.","properties":{"accessibility":{"additionalProperties":false,"description":"Value for accessibility.","properties":{"nodes":{"description":"Value for nodes.","items":{"additionalProperties":false,"properties":{"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for description."},"ignored":{"description":"Value for ignored.","type":"boolean"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact name used by this operation."},"node_id":{"description":"Value for node id.","type":"string"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent id."},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for role."},"states":{"default":[],"description":"Value for states.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","type":"string"},"value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"}],"description":"Value for value."}},"required":["name","value"],"type":"object"},"type":"array"}},"required":["node_id","parent_id","role","name","description","ignored"],"type":"object"},"type":"array"},"text_capture":{"additionalProperties":false,"description":"Value for text capture.","properties":{"excluded_fields":{"description":"Value for excluded fields.","maximum":9007199254740991,"minimum":0,"type":"integer"},"retained_bytes":{"description":"Bounded byte count for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"description":"Current lifecycle or verification status.","enum":["not_approved","included","truncated","unavailable"],"type":"string"},"truncated_fields":{"description":"Value for truncated fields.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","retained_bytes","excluded_fields","truncated_fields"],"type":"object"},"total_nodes":{"description":"Value for total nodes.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total_nodes","text_capture","nodes"],"type":"object"},"browser":{"additionalProperties":false,"description":"Value for browser.","properties":{"js_version":{"description":"Value for js version.","type":"string"},"product":{"description":"Value for product.","type":"string"},"protocol_version":{"description":"Value for protocol version.","type":"string"},"revision":{"description":"Value for revision.","type":"string"},"user_agent":{"description":"Value for user agent.","type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"type":"object"},"capture_window":{"additionalProperties":false,"description":"Value for capture window.","properties":{"ended_at":{"description":"Value for ended at.","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"observation_ms":{"description":"Value for observation ms.","maximum":9007199254740991,"minimum":0,"type":"integer"},"started_at":{"description":"Value for started at.","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"}},"required":["started_at","ended_at","observation_ms"],"type":"object"},"completeness":{"additionalProperties":false,"description":"Value for completeness.","properties":{"attach_limited_sections":{"description":"Value for attach limited sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"conditions":{"description":"Value for conditions.","items":{"enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"maxItems":3,"minItems":1,"type":"array"},"dropped_events":{"additionalProperties":false,"description":"Value for dropped events.","properties":{"console_events":{"description":"Value for console events.","maximum":9007199254740991,"minimum":0,"type":"integer"},"network_requests":{"description":"Value for network requests.","maximum":9007199254740991,"minimum":0,"type":"integer"},"scripts":{"description":"Value for scripts.","maximum":9007199254740991,"minimum":0,"type":"integer"},"timeline_events":{"description":"Value for timeline events.","maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"description":"Value for total.","maximum":9007199254740991,"minimum":0,"type":"integer"},"webmcp_tools":{"description":"Value for webmcp tools.","maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_connections":{"description":"Value for websocket connections.","maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_frames":{"description":"Value for websocket frames.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"type":"object"},"excluded":{"description":"Value for excluded.","items":{"additionalProperties":false,"properties":{"count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for count."},"reason":{"description":"Value for reason.","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"type":"string"},"section":{"description":"Value for section.","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"}},"required":["section","reason","count"],"type":"object"},"type":"array"},"policy_filtered_sections":{"description":"Value for policy filtered sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"status":{"description":"Current lifecycle or verification status.","enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"truncated_sections":{"description":"Value for truncated sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"unavailable_sections":{"description":"Value for unavailable sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"type":"object"},"console":{"additionalProperties":false,"description":"Value for console.","properties":{"coverage_started_at":{"description":"Value for coverage started at.","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"events":{"description":"Value for events.","items":{"additionalProperties":false,"properties":{"argument_types":{"description":"Value for argument types.","items":{"type":"string"},"type":"array"},"column":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for column."},"line":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for line."},"text_capture":{"additionalProperties":false,"description":"Value for text capture.","properties":{"retained_bytes":{"description":"Bounded byte count for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"description":"Current lifecycle or verification status.","enum":["not_approved","included","truncated"],"type":"string"},"truncated_values":{"description":"Value for truncated values.","maximum":9007199254740991,"minimum":0,"type":"integer"},"values":{"description":"Value for values.","items":{"additionalProperties":false,"properties":{"argument_index":{"description":"Value for argument index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"text":{"description":"Value for text.","type":"string"},"type":{"description":"Value for type.","type":"string"}},"required":["argument_index","type","text"],"type":"object"},"type":"array"}},"required":["status","values","retained_bytes","truncated_values"],"type":"object"},"timestamp":{"description":"Value for timestamp.","type":"number"},"type":{"description":"Value for type.","type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."}},"required":["type","timestamp","argument_types","url","line","column","text_capture"],"type":"object"},"type":"array"},"prior_activity_available":{"const":false,"description":"Value for prior activity available.","type":"boolean"}},"required":["events","coverage_started_at","prior_activity_available"],"type":"object"},"dom":{"additionalProperties":false,"description":"Value for dom.","properties":{"nodes":{"description":"Value for nodes.","items":{"additionalProperties":false,"properties":{"attribute_names":{"description":"Value for attribute names.","items":{"type":"string"},"type":"array"},"index":{"description":"Value for index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"node_name":{"description":"Value for node name.","type":"string"},"node_type":{"description":"Value for node type.","maximum":9007199254740991,"minimum":0,"type":"integer"},"node_value_length":{"description":"Value for node value length.","maximum":9007199254740991,"minimum":0,"type":"integer"},"parent_index":{"description":"Value for parent index.","maximum":9007199254740991,"minimum":-1,"type":"integer"}},"required":["index","parent_index","node_type","node_name","node_value_length","attribute_names"],"type":"object"},"type":"array"},"total_nodes":{"description":"Value for total nodes.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total_nodes","nodes"],"type":"object"},"frames":{"description":"Value for frames.","items":{"additionalProperties":false,"properties":{"frame_id":{"description":"Value for frame id.","type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"parent_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent frame id."},"url":{"description":"Value for url.","type":"string"}},"required":["frame_id","parent_frame_id","url","origin"],"type":"object"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"metadata":{"additionalProperties":false,"description":"Value for metadata.","properties":{"agent_hints":{"description":"Value for agent hints.","items":{"additionalProperties":false,"properties":{"declaration":{"description":"Value for declaration.","type":"string"},"mechanism":{"description":"Value for mechanism.","enum":["link_rel","dom_link_rel","well_known_resource","response_header"],"type":"string"},"trust":{"const":"page-declared-untrusted","description":"Value for trust.","type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."}},"required":["mechanism","declaration","url","trust"],"type":"object"},"type":"array"},"dom_urls":{"description":"Value for dom urls.","items":{"additionalProperties":false,"properties":{"attribute":{"description":"Value for attribute.","enum":["href","src","action","formaction","poster"],"type":"string"},"destination_scope":{"description":"Value for destination scope.","enum":["approved","outside_policy","unsupported"],"type":"string"},"node_index":{"description":"Value for node index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."}},"required":["node_index","attribute","url","destination_scope"],"type":"object"},"type":"array"},"excluded_dom_urls":{"description":"Value for excluded dom urls.","maximum":9007199254740991,"minimum":0,"type":"integer"},"headers_allowlisted":{"const":true,"description":"Value for headers allowlisted.","type":"boolean"},"responses":{"description":"Value for responses.","items":{"additionalProperties":false,"properties":{"content_encoding":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for content encoding."},"content_length":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for content length."},"csp":{"additionalProperties":false,"description":"Value for csp.","properties":{"directives":{"description":"Value for directives.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","type":"string"},"sources":{"description":"Value for sources.","items":{"additionalProperties":false,"properties":{"kind":{"description":"Value for kind.","enum":["keyword","scheme","approved_origin","external_origin","other"],"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for value."}},"required":["kind","value"],"type":"object"},"type":"array"}},"required":["name","sources"],"type":"object"},"type":"array"},"hash_count":{"description":"Value for hash count.","maximum":9007199254740991,"minimum":0,"type":"integer"},"nonce_count":{"description":"Value for nonce count.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["directives","nonce_count","hash_count"],"type":"object"},"links":{"description":"Value for links.","items":{"additionalProperties":false,"properties":{"as":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for as."},"crossorigin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for crossorigin."},"destination_scope":{"description":"Value for destination scope.","enum":["approved","outside_policy","unsupported"],"type":"string"},"href":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for href."},"rel":{"description":"Value for rel.","items":{"type":"string"},"type":"array"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for type."}},"required":["href","destination_scope","rel","as","type","crossorigin"],"type":"object"},"type":"array"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for mime type."},"policies":{"additionalProperties":false,"description":"Value for policies.","properties":{"coep":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for coep."},"coop":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for coop."},"corp":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for corp."},"permissions_policy_features":{"description":"Value for permissions policy features.","items":{"type":"string"},"type":"array"},"referrer_policy":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for referrer policy."},"x_content_type_options":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for x content type options."}},"required":["coop","coep","corp","referrer_policy","x_content_type_options","permissions_policy_features"],"type":"object"},"request_id":{"description":"Value for request id.","type":"string"},"url":{"description":"Value for url.","type":"string"}},"required":["request_id","url","mime_type","content_length","content_encoding","csp","links","policies"],"type":"object"},"type":"array"}},"required":["responses","dom_urls","agent_hints","excluded_dom_urls","headers_allowlisted"],"type":"object"},"network":{"additionalProperties":false,"description":"Value for network.","properties":{"coverage_started_at":{"description":"Value for coverage started at.","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"prior_activity_available":{"const":false,"description":"Value for prior activity available.","type":"boolean"},"requests":{"description":"Value for requests.","items":{"additionalProperties":false,"properties":{"body_shapes":{"additionalProperties":false,"description":"Value for body shapes.","properties":{"request":{"anyOf":[{"additionalProperties":false,"properties":{"max_depth_observed":{"description":"Maximum permitted depth observed for this operation.","maximum":9007199254740991,"minimum":0,"type":"integer"},"node_count":{"description":"Value for node count.","maximum":9007199254740991,"minimum":1,"type":"integer"},"properties":{"description":"Value for properties.","items":{"additionalProperties":false,"properties":{"observations":{"description":"Value for observations.","maximum":9007199254740991,"minimum":1,"type":"integer"},"path":{"description":"Local filesystem path used by this operation.","type":"string"},"types":{"description":"Value for types.","items":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"minItems":1,"type":"array"}},"required":["path","types","observations"],"type":"object"},"type":"array"},"root_type":{"description":"Value for root type.","enum":["object","array","string","number","boolean","null"],"type":"string"},"truncated":{"description":"Value for truncated.","type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"type":"object"},{"type":"null"}],"description":"Value for request."},"response":{"anyOf":[{"additionalProperties":false,"properties":{"max_depth_observed":{"description":"Maximum permitted depth observed for this operation.","maximum":9007199254740991,"minimum":0,"type":"integer"},"node_count":{"description":"Value for node count.","maximum":9007199254740991,"minimum":1,"type":"integer"},"properties":{"description":"Value for properties.","items":{"additionalProperties":false,"properties":{"observations":{"description":"Value for observations.","maximum":9007199254740991,"minimum":1,"type":"integer"},"path":{"description":"Local filesystem path used by this operation.","type":"string"},"types":{"description":"Value for types.","items":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"minItems":1,"type":"array"}},"required":["path","types","observations"],"type":"object"},"type":"array"},"root_type":{"description":"Value for root type.","enum":["object","array","string","number","boolean","null"],"type":"string"},"truncated":{"description":"Value for truncated.","type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"type":"object"},{"type":"null"}],"description":"Value for response."},"status":{"description":"Current lifecycle or verification status.","enum":["not_approved","included","partial","unavailable","truncated"],"type":"string"}},"required":["status","request","response"],"type":"object"},"encoded_data_length":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"description":"Value for encoded data length."},"initiator":{"additionalProperties":false,"description":"Value for initiator.","properties":{"column":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for column."},"line":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for line."},"type":{"description":"Value for type.","type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."}},"required":["type","url","line","column"],"type":"object"},"method":{"description":"Value for method.","type":"string"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for mime type."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"request_id":{"description":"Value for request id.","type":"string"},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for resource type."},"status":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Current lifecycle or verification status."},"url":{"description":"Value for url.","type":"string"}},"required":["request_id","url","origin","method","resource_type","status","mime_type","encoded_data_length","initiator","body_shapes"],"type":"object"},"type":"array"},"websocket_events":{"description":"Value for websocket events.","items":{"additionalProperties":false,"properties":{"direction":{"description":"Direction in which to traverse or compare relationships.","enum":["sent","received"],"type":"string"},"opcode":{"description":"Value for opcode.","maximum":9007199254740991,"minimum":0,"type":"integer"},"payload_bytes":{"description":"Bounded byte count for payload.","maximum":9007199254740991,"minimum":0,"type":"integer"},"payload_shape":{"anyOf":[{"additionalProperties":false,"properties":{"format":{"description":"Declared input artifact format.","enum":["json","text","binary"],"type":"string"},"json_shape":{"anyOf":[{"additionalProperties":false,"properties":{"max_depth_observed":{"description":"Maximum permitted depth observed for this operation.","maximum":9007199254740991,"minimum":0,"type":"integer"},"node_count":{"description":"Value for node count.","maximum":9007199254740991,"minimum":1,"type":"integer"},"properties":{"description":"Value for properties.","items":{"additionalProperties":false,"properties":{"observations":{"description":"Value for observations.","maximum":9007199254740991,"minimum":1,"type":"integer"},"path":{"description":"Local filesystem path used by this operation.","type":"string"},"types":{"description":"Value for types.","items":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"minItems":1,"type":"array"}},"required":["path","types","observations"],"type":"object"},"type":"array"},"root_type":{"description":"Value for root type.","enum":["object","array","string","number","boolean","null"],"type":"string"},"truncated":{"description":"Value for truncated.","type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"type":"object"},{"type":"null"}],"description":"Value for json shape."},"truncated":{"description":"Value for truncated.","type":"boolean"}},"required":["format","json_shape","truncated"],"type":"object"},{"type":"null"}],"description":"Value for payload shape."},"request_id":{"description":"Value for request id.","type":"string"}},"required":["request_id","direction","opcode","payload_bytes","payload_shape"],"type":"object"},"type":"array"}},"required":["requests","websocket_events","coverage_started_at","prior_activity_available"],"type":"object"},"resources":{"description":"Value for resources.","items":{"additionalProperties":false,"properties":{"content_size":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"description":"Value for content size."},"mime_type":{"description":"Value for mime type.","type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"resource_key":{"description":"Value for resource key.","pattern":"^res_[a-f0-9]{64}$","type":"string"},"type":{"description":"Value for type.","type":"string"},"url":{"description":"Value for url.","type":"string"}},"required":["resource_key","url","origin","type","mime_type","content_size"],"type":"object"},"type":"array"},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"scripts":{"additionalProperties":false,"description":"Value for scripts.","properties":{"items":{"description":"Value for items.","items":{"additionalProperties":false,"properties":{"cdp_hash":{"description":"Value for cdp hash.","type":"string"},"frame_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Value for frame id."},"is_module":{"description":"Whether is module.","type":"boolean"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for language."},"length":{"description":"Value for length.","maximum":9007199254740991,"minimum":0,"type":"integer"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"resource_reconciliation":{"description":"Value for resource reconciliation.","oneOf":[{"additionalProperties":false,"properties":{"resource_key":{"description":"Value for resource key.","type":"string"},"status":{"const":"exact","description":"Current lifecycle or verification status.","type":"string"}},"required":["status","resource_key"],"type":"object"},{"additionalProperties":false,"properties":{"candidate_resource_keys":{"description":"Value for candidate resource keys.","items":{"type":"string"},"type":"array"},"status":{"const":"ambiguous","description":"Current lifecycle or verification status.","type":"string"}},"required":["status","candidate_resource_keys"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"const":"no_exact_sanitized_url","description":"Value for reason.","type":"string"},"status":{"const":"unmatched","description":"Current lifecycle or verification status.","type":"string"}},"required":["status","reason"],"type":"object"}]},"script_key":{"description":"Value for script key.","pattern":"^scr_[a-f0-9]{64}(?:_[0-9]+)?$","type":"string"},"source":{"description":"Value for source.","oneOf":[{"additionalProperties":false,"properties":{"included":{"const":false,"description":"Value for included.","type":"boolean"},"reason":{"description":"Value for reason.","type":"string"}},"required":["included","reason"],"type":"object"},{"additionalProperties":false,"properties":{"artifact":{"additionalProperties":false,"description":"Value for artifact.","properties":{"bytes":{"description":"Value for bytes.","maximum":9007199254740991,"minimum":0,"type":"integer"},"charset":{"const":"utf-8","description":"Value for charset.","type":"string"},"media_type":{"description":"Value for media type.","maxLength":256,"minLength":1,"type":"string"},"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"},"text":{"description":"Value for text.","type":"string"},"uri":{"description":"Value for uri.","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$","type":"string"}},"required":["uri","sha256","bytes","media_type","charset","text"],"type":"object"},"included":{"const":true,"description":"Value for included.","type":"boolean"}},"required":["included","artifact"],"type":"object"}]},"source_map_url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for source map url."},"url":{"description":"Value for url.","type":"string"}},"required":["script_key","url","origin","cdp_hash","length","is_module","language","source_map_url","resource_reconciliation","source"],"type":"object"},"type":"array"},"total":{"description":"Value for total.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total","items"],"type":"object"},"storage":{"additionalProperties":false,"description":"Value for storage.","properties":{"cache_names":{"description":"Value for cache names.","items":{"type":"string"},"type":"array"},"content_fingerprints":{"default":[],"description":"Value for content fingerprints.","items":{"additionalProperties":false,"properties":{"complete":{"description":"Value for complete.","type":"boolean"},"identity_sha256":{"description":"Exact SHA-256 digest of identity.","pattern":"^[a-f0-9]{64}$","type":"string"},"scope":{"description":"Value for scope.","enum":["cookie","local_storage","session_storage","indexed_db_schema","indexed_db_record","cache_entry"],"type":"string"},"value_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Exact SHA-256 digest of value."}},"required":["scope","identity_sha256","value_sha256","complete"],"type":"object"},"type":"array"},"fingerprint_algorithm":{"const":"sha256","default":"sha256","description":"Value for fingerprint algorithm.","type":"string"},"fingerprints_complete":{"default":false,"description":"Value for fingerprints complete.","type":"boolean"},"indexed_db_names":{"description":"Value for indexed db names.","items":{"type":"string"},"type":"array"},"local_storage_keys":{"description":"Value for local storage keys.","items":{"type":"string"},"type":"array"},"origin":{"description":"Value for origin.","type":"string"},"quota_bytes":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"description":"Bounded byte count for quota."},"session_storage_keys":{"description":"Value for session storage keys.","items":{"type":"string"},"type":"array"},"usage_bytes":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"description":"Bounded byte count for usage."},"values_redacted":{"const":true,"description":"Value for values redacted.","type":"boolean"}},"required":["origin","usage_bytes","quota_bytes","local_storage_keys","session_storage_keys","indexed_db_names","cache_names","values_redacted"],"type":"object"},"target":{"additionalProperties":false,"description":"Value for target.","properties":{"attached":{"description":"Value for attached.","type":"boolean"},"origin":{"description":"Value for origin.","type":"string"},"target_id":{"description":"Exact authorized CDP target identifier.","type":"string"},"title":{"description":"Value for title.","type":"string"},"type":{"description":"Value for type.","type":"string"},"url":{"description":"Value for url.","type":"string"}},"required":["target_id","type","title","url","origin","attached"],"type":"object"},"workers":{"description":"Value for workers.","items":{"additionalProperties":false,"properties":{"attached":{"description":"Value for attached.","type":"boolean"},"opener_target_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Value for opener target id."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"parent_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Value for parent frame id."},"target_id":{"description":"Exact authorized CDP target identifier.","type":"string"},"type":{"description":"Value for type.","type":"string"},"url":{"description":"Value for url.","type":"string"}},"required":["target_id","type","url","origin","attached"],"type":"object"},"type":"array"}},"required":["schema_version","browser","target","capture_window","completeness","frames","dom","accessibility","scripts","resources","network","console","workers","metadata","storage","limitations"],"type":"object"},"webmcp":{"anyOf":[{"additionalProperties":false,"properties":{"browser":{"additionalProperties":false,"description":"Value for browser.","properties":{"js_version":{"description":"Value for js version.","type":"string"},"product":{"description":"Value for product.","type":"string"},"protocol_version":{"description":"Value for protocol version.","type":"string"},"revision":{"description":"Value for revision.","type":"string"},"user_agent":{"description":"Value for user agent.","type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"type":"object"},"completeness":{"additionalProperties":false,"description":"Value for completeness.","properties":{"attach_limited_sections":{"description":"Value for attach limited sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"conditions":{"description":"Value for conditions.","items":{"enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"maxItems":3,"minItems":1,"type":"array"},"dropped_events":{"additionalProperties":false,"description":"Value for dropped events.","properties":{"console_events":{"description":"Value for console events.","maximum":9007199254740991,"minimum":0,"type":"integer"},"network_requests":{"description":"Value for network requests.","maximum":9007199254740991,"minimum":0,"type":"integer"},"scripts":{"description":"Value for scripts.","maximum":9007199254740991,"minimum":0,"type":"integer"},"timeline_events":{"description":"Value for timeline events.","maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"description":"Value for total.","maximum":9007199254740991,"minimum":0,"type":"integer"},"webmcp_tools":{"description":"Value for webmcp tools.","maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_connections":{"description":"Value for websocket connections.","maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_frames":{"description":"Value for websocket frames.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"type":"object"},"excluded":{"description":"Value for excluded.","items":{"additionalProperties":false,"properties":{"count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for count."},"reason":{"description":"Value for reason.","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"type":"string"},"section":{"description":"Value for section.","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"}},"required":["section","reason","count"],"type":"object"},"type":"array"},"policy_filtered_sections":{"description":"Value for policy filtered sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"status":{"description":"Current lifecycle or verification status.","enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"truncated_sections":{"description":"Value for truncated sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"unavailable_sections":{"description":"Value for unavailable sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"type":"object"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"},"status":{"description":"Current lifecycle or verification status.","enum":["available","unavailable"],"type":"string"},"target":{"additionalProperties":false,"description":"Value for target.","properties":{"origin":{"description":"Value for origin.","type":"string"},"target_id":{"description":"Exact authorized CDP target identifier.","type":"string"},"url":{"description":"Value for url.","type":"string"}},"required":["target_id","url","origin"],"type":"object"},"tools":{"additionalProperties":false,"description":"Value for tools.","properties":{"items":{"description":"Value for items.","items":{"additionalProperties":false,"properties":{"annotations":{"additionalProperties":false,"description":"Value for annotations.","properties":{"autosubmit":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for autosubmit."},"read_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for read only."},"untrusted_content":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for untrusted content."}},"required":["read_only","untrusted_content","autosubmit"],"type":"object"},"declaration_kind":{"description":"Value for declaration kind.","enum":["declarative","imperative"],"type":"string"},"description":{"description":"Value for description.","type":"string"},"frame_id":{"description":"Value for frame id.","type":"string"},"frame_url":{"description":"Value for frame url.","type":"string"},"input_schema_shape":{"anyOf":[{"additionalProperties":false,"properties":{"max_depth_observed":{"description":"Maximum permitted depth observed for this operation.","maximum":9007199254740991,"minimum":0,"type":"integer"},"node_count":{"description":"Value for node count.","maximum":9007199254740991,"minimum":1,"type":"integer"},"properties":{"description":"Value for properties.","items":{"additionalProperties":false,"properties":{"observations":{"description":"Value for observations.","maximum":9007199254740991,"minimum":1,"type":"integer"},"path":{"description":"Local filesystem path used by this operation.","type":"string"},"types":{"description":"Value for types.","items":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"minItems":1,"type":"array"}},"required":["path","types","observations"],"type":"object"},"type":"array"},"root_type":{"description":"Value for root type.","enum":["object","array","string","number","boolean","null"],"type":"string"},"truncated":{"description":"Value for truncated.","type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"type":"object"},{"type":"null"}],"description":"Value for input schema shape."},"name":{"description":"Exact name used by this operation.","type":"string"},"owner_origin":{"description":"Value for owner origin.","type":"string"},"registration_source":{"anyOf":[{"additionalProperties":false,"properties":{"column":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for column."},"line":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for line."},"url":{"description":"Value for url.","type":"string"}},"required":["url","line","column"],"type":"object"},{"type":"null"}],"description":"Value for registration source."},"tool_key":{"description":"Value for tool key.","pattern":"^webmcp_[a-f0-9]{64}$","type":"string"},"trust":{"const":"page-declared-untrusted","description":"Value for trust.","type":"string"}},"required":["tool_key","name","description","frame_id","frame_url","owner_origin","declaration_kind","input_schema_shape","annotations","registration_source","trust"],"type":"object"},"type":"array"},"total":{"description":"Value for total.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total","items"],"type":"object"}},"required":["schema_version","browser","target","status","tools","completeness","limitations"],"type":"object"},{"type":"null"}],"default":null,"description":"Value for webmcp."}},"required":["inspection"],"type":"object"},"after_scenario":{"additionalProperties":false,"description":"Later browser scenario capture; pair with before_scenario.","properties":{"browser":{"additionalProperties":false,"description":"Value for browser.","properties":{"cleanup":{"description":"Value for cleanup.","enum":["terminated-owned-process","disconnected-external"],"type":"string"},"mode":{"description":"Operation mode that selects the requested behavior.","enum":["launch","connect"],"type":"string"},"process_ownership":{"description":"Value for process ownership.","enum":["provider-owned","external"],"type":"string"},"product":{"description":"Value for product.","maxLength":1024,"minLength":1,"type":"string"},"version":{"description":"Value for version.","maxLength":256,"minLength":1,"type":"string"}},"required":["mode","process_ownership","cleanup","product","version"],"type":"object"},"completeness":{"additionalProperties":false,"description":"Value for completeness.","properties":{"equality_eligible":{"description":"Value for equality eligible.","type":"boolean"},"missing_sections":{"description":"Value for missing sections.","items":{"enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"],"type":"string"},"type":"array"},"status":{"description":"Current lifecycle or verification status.","enum":["complete","incomplete","truncated"],"type":"string"},"truncated_sections":{"description":"Value for truncated sections.","items":{"enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"],"type":"string"},"type":"array"}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"type":"object"},"duration_ms":{"description":"Value for duration ms.","maximum":9007199254740991,"minimum":0,"type":"integer"},"events":{"additionalProperties":false,"description":"Value for events.","properties":{"dropped":{"description":"Value for dropped.","maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"description":"Value for items.","items":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"console","description":"Value for kind.","type":"string"},"level":{"description":"Value for level.","maxLength":64,"minLength":1,"type":"string"},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"text":{"description":"Value for text.","maxLength":65536,"type":"string"},"url":{"anyOf":[{"additionalProperties":false,"properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},{"type":"null"}],"description":"Value for url."}},"required":["sequence","step_index","kind","level","text","url"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"page-error","description":"Value for kind.","type":"string"},"message":{"description":"Value for message.","maxLength":65536,"type":"string"},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"stack":{"anyOf":[{"maxLength":262144,"type":"string"},{"type":"null"}],"description":"Value for stack."},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["sequence","step_index","kind","message","stack"],"type":"object"},{"additionalProperties":false,"properties":{"failure":{"anyOf":[{"maxLength":1024,"type":"string"},{"type":"null"}],"description":"Value for failure."},"header_names":{"description":"Value for header names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"kind":{"description":"Value for kind.","enum":["request","response","request-failed"],"type":"string"},"method":{"description":"Value for method.","maxLength":32,"minLength":1,"type":"string"},"resource_type":{"description":"Value for resource type.","maxLength":64,"minLength":1,"type":"string"},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"status":{"anyOf":[{"maximum":599,"minimum":100,"type":"integer"},{"type":"null"}],"description":"Current lifecycle or verification status."},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"url":{"additionalProperties":false,"description":"Value for url.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"}},"required":["sequence","step_index","kind","method","url","resource_type","status","header_names","failure"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"description":"Value for kind.","enum":["websocket-opened","websocket-closed"],"type":"string"},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"url":{"additionalProperties":false,"description":"Value for url.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"}},"required":["sequence","step_index","kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"description":"Value for kind.","enum":["websocket-frame-sent","websocket-frame-received"],"type":"string"},"payload_bytes":{"description":"Bounded byte count for payload.","maximum":9007199254740991,"minimum":0,"type":"integer"},"payload_text":{"anyOf":[{"maxLength":65536,"type":"string"},{"type":"null"}],"description":"Value for payload text."},"payload_type":{"description":"Value for payload type.","enum":["text","binary"],"type":"string"},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"truncated":{"description":"Value for truncated.","type":"boolean"},"url":{"additionalProperties":false,"description":"Value for url.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"}},"required":["sequence","step_index","kind","url","payload_type","payload_bytes","payload_text","truncated"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"description":"Value for kind.","enum":["frame-attached","frame-detached","frame-navigated","worker-created","worker-closed","popup-opened","popup-closed"],"type":"string"},"name":{"anyOf":[{"maxLength":1024,"type":"string"},{"type":"null"}],"description":"Exact name used by this operation."},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"url":{"anyOf":[{"additionalProperties":false,"properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},{"type":"null"}],"description":"Value for url."}},"required":["sequence","step_index","kind","url","name"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"download-cancelled","description":"Value for kind.","type":"string"},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"suggested_filename":{"description":"Value for suggested filename.","maxLength":1024,"type":"string"},"url":{"additionalProperties":false,"description":"Value for url.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"}},"required":["sequence","step_index","kind","suggested_filename","url"],"type":"object"}]},"maxItems":100000,"type":"array"},"retained":{"description":"Value for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["retained","dropped","items"],"type":"object"},"limitations":{"description":"Value for limitations.","items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":64,"type":"array"},"scenario":{"additionalProperties":false,"description":"Value for scenario.","properties":{"action_count":{"description":"Value for action count.","maximum":128,"minimum":1,"type":"integer"},"allowed_origins":{"description":"Value for allowed origins.","items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"secret_references":{"description":"Value for secret references.","items":{"maxLength":64,"minLength":1,"type":"string"},"maxItems":64,"type":"array"},"start_origin":{"description":"Value for start origin.","maxLength":2048,"minLength":1,"type":"string"}},"required":["start_origin","allowed_origins","action_count","secret_references"],"type":"object"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"},"steps":{"description":"Value for steps.","items":{"additionalProperties":false,"properties":{"action":{"description":"Value for action.","maxLength":64,"minLength":1,"type":"string"},"after_url":{"additionalProperties":false,"description":"Value for after url.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},"artifacts":{"additionalProperties":false,"description":"Value for artifacts.","properties":{"accessibility":{"description":"Value for accessibility.","oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","description":"Value for state.","type":"string"},"value":{"additionalProperties":false,"description":"Value for value.","properties":{"bytes":{"description":"Value for bytes.","maximum":16777216,"minimum":0,"type":"integer"},"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"},"text":{"description":"Value for text.","maxLength":1048576,"type":"string"}},"required":["sha256","bytes","text"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","description":"Value for state.","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","description":"Value for state.","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"description":"Value for observed.","maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"retained":{"description":"Value for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","description":"Value for state.","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]},"dom":{"description":"Value for dom.","oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","description":"Value for state.","type":"string"},"value":{"additionalProperties":false,"description":"Value for value.","properties":{"bytes":{"description":"Value for bytes.","maximum":16777216,"minimum":0,"type":"integer"},"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"},"text":{"description":"Value for text.","maxLength":1048576,"type":"string"}},"required":["sha256","bytes","text"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","description":"Value for state.","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","description":"Value for state.","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"description":"Value for observed.","maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"retained":{"description":"Value for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","description":"Value for state.","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]},"history":{"description":"Value for history.","oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","description":"Value for state.","type":"string"},"value":{"additionalProperties":false,"description":"Value for value.","properties":{"current_url":{"additionalProperties":false,"description":"Value for current url.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},"length":{"description":"Value for length.","maximum":9007199254740991,"minimum":0,"type":"integer"},"navigation_entries":{"description":"Value for navigation entries.","items":{"additionalProperties":false,"properties":{"name":{"additionalProperties":false,"description":"Exact name used by this operation.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},"type":{"description":"Value for type.","enum":["navigate","reload","back_forward","prerender","unknown"],"type":"string"}},"required":["type","name"],"type":"object"},"maxItems":256,"type":"array"}},"required":["length","current_url","navigation_entries"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","description":"Value for state.","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","description":"Value for state.","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"description":"Value for observed.","maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"retained":{"description":"Value for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","description":"Value for state.","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]},"screenshot":{"description":"Value for screenshot.","oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","description":"Value for state.","type":"string"},"value":{"additionalProperties":false,"description":"Value for value.","properties":{"bytes":{"description":"Value for bytes.","maximum":8388608,"minimum":1,"type":"integer"},"data_base64":{"description":"Value for data base64.","maxLength":11184815,"type":"string"},"media_type":{"const":"image/png","description":"Value for media type.","type":"string"},"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"},"uri":{"description":"Value for uri.","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$","type":"string"}},"required":["uri","sha256","bytes","media_type","data_base64"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","description":"Value for state.","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","description":"Value for state.","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"description":"Value for observed.","maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"retained":{"description":"Value for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","description":"Value for state.","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]},"storage":{"description":"Value for storage.","oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","description":"Value for state.","type":"string"},"value":{"additionalProperties":false,"description":"Value for value.","properties":{"cookies":{"description":"Value for cookies.","items":{"additionalProperties":false,"properties":{"domain":{"description":"Value for domain.","maxLength":2048,"type":"string"},"http_only":{"description":"Value for http only.","type":"boolean"},"name":{"description":"Exact name used by this operation.","maxLength":1024,"type":"string"},"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"type":"string"},"same_site":{"description":"Value for same site.","enum":["Strict","Lax","None"],"type":"string"},"secure":{"description":"Value for secure.","type":"boolean"},"value_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Exact SHA-256 digest of value."},"value_state":{"description":"Value for value state.","enum":["hashed","redacted-secret"],"type":"string"}},"required":["name","domain","path","secure","http_only","same_site","value_state","value_sha256"],"type":"object"},"maxItems":512,"type":"array"},"local_storage":{"description":"Value for local storage.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","maxLength":1024,"type":"string"},"value_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Exact SHA-256 digest of value."},"value_state":{"description":"Value for value state.","enum":["hashed","redacted-secret"],"type":"string"}},"required":["name","value_state","value_sha256"],"type":"object"},"maxItems":512,"type":"array"},"session_storage":{"description":"Value for session storage.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","maxLength":1024,"type":"string"},"value_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Exact SHA-256 digest of value."},"value_state":{"description":"Value for value state.","enum":["hashed","redacted-secret"],"type":"string"}},"required":["name","value_state","value_sha256"],"type":"object"},"maxItems":512,"type":"array"}},"required":["cookies","local_storage","session_storage"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","description":"Value for state.","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","description":"Value for state.","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"description":"Value for observed.","maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"retained":{"description":"Value for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","description":"Value for state.","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]},"url":{"description":"Value for url.","oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","description":"Value for state.","type":"string"},"value":{"additionalProperties":false,"description":"Value for value.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","description":"Value for state.","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","description":"Value for state.","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"description":"Value for observed.","maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"retained":{"description":"Value for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","description":"Value for state.","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]}},"required":["screenshot","dom","accessibility","url","history","storage"],"type":"object"},"before_url":{"additionalProperties":false,"description":"Value for before url.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},"completeness":{"additionalProperties":false,"description":"Value for completeness.","properties":{"equality_eligible":{"description":"Value for equality eligible.","type":"boolean"},"missing_sections":{"description":"Value for missing sections.","items":{"enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"],"type":"string"},"type":"array"},"status":{"description":"Current lifecycle or verification status.","enum":["complete","incomplete","truncated"],"type":"string"},"truncated_sections":{"description":"Value for truncated sections.","items":{"enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"],"type":"string"},"type":"array"}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"type":"object"},"elapsed_ms":{"description":"Value for elapsed ms.","maximum":9007199254740991,"minimum":0,"type":"integer"},"error":{"anyOf":[{"maxLength":4096,"type":"string"},{"type":"null"}],"description":"Structured, caller-actionable error when the operation fails."},"event_sequence_end":{"description":"Value for event sequence end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"event_sequence_start":{"description":"Value for event sequence start.","maximum":9007199254740991,"minimum":1,"type":"integer"},"status":{"description":"Current lifecycle or verification status.","enum":["completed","failed","cancelled"],"type":"string"},"step_id":{"description":"Value for step id.","maxLength":64,"minLength":1,"type":"string"},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["step_index","step_id","action","status","elapsed_ms","before_url","after_url","error","event_sequence_start","event_sequence_end","artifacts","completeness"],"type":"object"},"maxItems":129,"minItems":1,"type":"array"}},"required":["schema_version","browser","scenario","duration_ms","steps","events","completeness","limitations"],"type":"object"},"before":{"additionalProperties":false,"description":"Earlier passive web-page capture; pair with after.","properties":{"inspection":{"additionalProperties":false,"description":"Value for inspection.","properties":{"accessibility":{"additionalProperties":false,"description":"Value for accessibility.","properties":{"nodes":{"description":"Value for nodes.","items":{"additionalProperties":false,"properties":{"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for description."},"ignored":{"description":"Value for ignored.","type":"boolean"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Exact name used by this operation."},"node_id":{"description":"Value for node id.","type":"string"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent id."},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for role."},"states":{"default":[],"description":"Value for states.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","type":"string"},"value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"}],"description":"Value for value."}},"required":["name","value"],"type":"object"},"type":"array"}},"required":["node_id","parent_id","role","name","description","ignored"],"type":"object"},"type":"array"},"text_capture":{"additionalProperties":false,"description":"Value for text capture.","properties":{"excluded_fields":{"description":"Value for excluded fields.","maximum":9007199254740991,"minimum":0,"type":"integer"},"retained_bytes":{"description":"Bounded byte count for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"description":"Current lifecycle or verification status.","enum":["not_approved","included","truncated","unavailable"],"type":"string"},"truncated_fields":{"description":"Value for truncated fields.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","retained_bytes","excluded_fields","truncated_fields"],"type":"object"},"total_nodes":{"description":"Value for total nodes.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total_nodes","text_capture","nodes"],"type":"object"},"browser":{"additionalProperties":false,"description":"Value for browser.","properties":{"js_version":{"description":"Value for js version.","type":"string"},"product":{"description":"Value for product.","type":"string"},"protocol_version":{"description":"Value for protocol version.","type":"string"},"revision":{"description":"Value for revision.","type":"string"},"user_agent":{"description":"Value for user agent.","type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"type":"object"},"capture_window":{"additionalProperties":false,"description":"Value for capture window.","properties":{"ended_at":{"description":"Value for ended at.","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"observation_ms":{"description":"Value for observation ms.","maximum":9007199254740991,"minimum":0,"type":"integer"},"started_at":{"description":"Value for started at.","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"}},"required":["started_at","ended_at","observation_ms"],"type":"object"},"completeness":{"additionalProperties":false,"description":"Value for completeness.","properties":{"attach_limited_sections":{"description":"Value for attach limited sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"conditions":{"description":"Value for conditions.","items":{"enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"maxItems":3,"minItems":1,"type":"array"},"dropped_events":{"additionalProperties":false,"description":"Value for dropped events.","properties":{"console_events":{"description":"Value for console events.","maximum":9007199254740991,"minimum":0,"type":"integer"},"network_requests":{"description":"Value for network requests.","maximum":9007199254740991,"minimum":0,"type":"integer"},"scripts":{"description":"Value for scripts.","maximum":9007199254740991,"minimum":0,"type":"integer"},"timeline_events":{"description":"Value for timeline events.","maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"description":"Value for total.","maximum":9007199254740991,"minimum":0,"type":"integer"},"webmcp_tools":{"description":"Value for webmcp tools.","maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_connections":{"description":"Value for websocket connections.","maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_frames":{"description":"Value for websocket frames.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"type":"object"},"excluded":{"description":"Value for excluded.","items":{"additionalProperties":false,"properties":{"count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for count."},"reason":{"description":"Value for reason.","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"type":"string"},"section":{"description":"Value for section.","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"}},"required":["section","reason","count"],"type":"object"},"type":"array"},"policy_filtered_sections":{"description":"Value for policy filtered sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"status":{"description":"Current lifecycle or verification status.","enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"truncated_sections":{"description":"Value for truncated sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"unavailable_sections":{"description":"Value for unavailable sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"type":"object"},"console":{"additionalProperties":false,"description":"Value for console.","properties":{"coverage_started_at":{"description":"Value for coverage started at.","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"events":{"description":"Value for events.","items":{"additionalProperties":false,"properties":{"argument_types":{"description":"Value for argument types.","items":{"type":"string"},"type":"array"},"column":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for column."},"line":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for line."},"text_capture":{"additionalProperties":false,"description":"Value for text capture.","properties":{"retained_bytes":{"description":"Bounded byte count for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"description":"Current lifecycle or verification status.","enum":["not_approved","included","truncated"],"type":"string"},"truncated_values":{"description":"Value for truncated values.","maximum":9007199254740991,"minimum":0,"type":"integer"},"values":{"description":"Value for values.","items":{"additionalProperties":false,"properties":{"argument_index":{"description":"Value for argument index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"text":{"description":"Value for text.","type":"string"},"type":{"description":"Value for type.","type":"string"}},"required":["argument_index","type","text"],"type":"object"},"type":"array"}},"required":["status","values","retained_bytes","truncated_values"],"type":"object"},"timestamp":{"description":"Value for timestamp.","type":"number"},"type":{"description":"Value for type.","type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."}},"required":["type","timestamp","argument_types","url","line","column","text_capture"],"type":"object"},"type":"array"},"prior_activity_available":{"const":false,"description":"Value for prior activity available.","type":"boolean"}},"required":["events","coverage_started_at","prior_activity_available"],"type":"object"},"dom":{"additionalProperties":false,"description":"Value for dom.","properties":{"nodes":{"description":"Value for nodes.","items":{"additionalProperties":false,"properties":{"attribute_names":{"description":"Value for attribute names.","items":{"type":"string"},"type":"array"},"index":{"description":"Value for index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"node_name":{"description":"Value for node name.","type":"string"},"node_type":{"description":"Value for node type.","maximum":9007199254740991,"minimum":0,"type":"integer"},"node_value_length":{"description":"Value for node value length.","maximum":9007199254740991,"minimum":0,"type":"integer"},"parent_index":{"description":"Value for parent index.","maximum":9007199254740991,"minimum":-1,"type":"integer"}},"required":["index","parent_index","node_type","node_name","node_value_length","attribute_names"],"type":"object"},"type":"array"},"total_nodes":{"description":"Value for total nodes.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total_nodes","nodes"],"type":"object"},"frames":{"description":"Value for frames.","items":{"additionalProperties":false,"properties":{"frame_id":{"description":"Value for frame id.","type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"parent_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for parent frame id."},"url":{"description":"Value for url.","type":"string"}},"required":["frame_id","parent_frame_id","url","origin"],"type":"object"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"metadata":{"additionalProperties":false,"description":"Value for metadata.","properties":{"agent_hints":{"description":"Value for agent hints.","items":{"additionalProperties":false,"properties":{"declaration":{"description":"Value for declaration.","type":"string"},"mechanism":{"description":"Value for mechanism.","enum":["link_rel","dom_link_rel","well_known_resource","response_header"],"type":"string"},"trust":{"const":"page-declared-untrusted","description":"Value for trust.","type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."}},"required":["mechanism","declaration","url","trust"],"type":"object"},"type":"array"},"dom_urls":{"description":"Value for dom urls.","items":{"additionalProperties":false,"properties":{"attribute":{"description":"Value for attribute.","enum":["href","src","action","formaction","poster"],"type":"string"},"destination_scope":{"description":"Value for destination scope.","enum":["approved","outside_policy","unsupported"],"type":"string"},"node_index":{"description":"Value for node index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."}},"required":["node_index","attribute","url","destination_scope"],"type":"object"},"type":"array"},"excluded_dom_urls":{"description":"Value for excluded dom urls.","maximum":9007199254740991,"minimum":0,"type":"integer"},"headers_allowlisted":{"const":true,"description":"Value for headers allowlisted.","type":"boolean"},"responses":{"description":"Value for responses.","items":{"additionalProperties":false,"properties":{"content_encoding":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for content encoding."},"content_length":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for content length."},"csp":{"additionalProperties":false,"description":"Value for csp.","properties":{"directives":{"description":"Value for directives.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","type":"string"},"sources":{"description":"Value for sources.","items":{"additionalProperties":false,"properties":{"kind":{"description":"Value for kind.","enum":["keyword","scheme","approved_origin","external_origin","other"],"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for value."}},"required":["kind","value"],"type":"object"},"type":"array"}},"required":["name","sources"],"type":"object"},"type":"array"},"hash_count":{"description":"Value for hash count.","maximum":9007199254740991,"minimum":0,"type":"integer"},"nonce_count":{"description":"Value for nonce count.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["directives","nonce_count","hash_count"],"type":"object"},"links":{"description":"Value for links.","items":{"additionalProperties":false,"properties":{"as":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for as."},"crossorigin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for crossorigin."},"destination_scope":{"description":"Value for destination scope.","enum":["approved","outside_policy","unsupported"],"type":"string"},"href":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for href."},"rel":{"description":"Value for rel.","items":{"type":"string"},"type":"array"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for type."}},"required":["href","destination_scope","rel","as","type","crossorigin"],"type":"object"},"type":"array"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for mime type."},"policies":{"additionalProperties":false,"description":"Value for policies.","properties":{"coep":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for coep."},"coop":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for coop."},"corp":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for corp."},"permissions_policy_features":{"description":"Value for permissions policy features.","items":{"type":"string"},"type":"array"},"referrer_policy":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for referrer policy."},"x_content_type_options":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for x content type options."}},"required":["coop","coep","corp","referrer_policy","x_content_type_options","permissions_policy_features"],"type":"object"},"request_id":{"description":"Value for request id.","type":"string"},"url":{"description":"Value for url.","type":"string"}},"required":["request_id","url","mime_type","content_length","content_encoding","csp","links","policies"],"type":"object"},"type":"array"}},"required":["responses","dom_urls","agent_hints","excluded_dom_urls","headers_allowlisted"],"type":"object"},"network":{"additionalProperties":false,"description":"Value for network.","properties":{"coverage_started_at":{"description":"Value for coverage started at.","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"prior_activity_available":{"const":false,"description":"Value for prior activity available.","type":"boolean"},"requests":{"description":"Value for requests.","items":{"additionalProperties":false,"properties":{"body_shapes":{"additionalProperties":false,"description":"Value for body shapes.","properties":{"request":{"anyOf":[{"additionalProperties":false,"properties":{"max_depth_observed":{"description":"Maximum permitted depth observed for this operation.","maximum":9007199254740991,"minimum":0,"type":"integer"},"node_count":{"description":"Value for node count.","maximum":9007199254740991,"minimum":1,"type":"integer"},"properties":{"description":"Value for properties.","items":{"additionalProperties":false,"properties":{"observations":{"description":"Value for observations.","maximum":9007199254740991,"minimum":1,"type":"integer"},"path":{"description":"Local filesystem path used by this operation.","type":"string"},"types":{"description":"Value for types.","items":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"minItems":1,"type":"array"}},"required":["path","types","observations"],"type":"object"},"type":"array"},"root_type":{"description":"Value for root type.","enum":["object","array","string","number","boolean","null"],"type":"string"},"truncated":{"description":"Value for truncated.","type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"type":"object"},{"type":"null"}],"description":"Value for request."},"response":{"anyOf":[{"additionalProperties":false,"properties":{"max_depth_observed":{"description":"Maximum permitted depth observed for this operation.","maximum":9007199254740991,"minimum":0,"type":"integer"},"node_count":{"description":"Value for node count.","maximum":9007199254740991,"minimum":1,"type":"integer"},"properties":{"description":"Value for properties.","items":{"additionalProperties":false,"properties":{"observations":{"description":"Value for observations.","maximum":9007199254740991,"minimum":1,"type":"integer"},"path":{"description":"Local filesystem path used by this operation.","type":"string"},"types":{"description":"Value for types.","items":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"minItems":1,"type":"array"}},"required":["path","types","observations"],"type":"object"},"type":"array"},"root_type":{"description":"Value for root type.","enum":["object","array","string","number","boolean","null"],"type":"string"},"truncated":{"description":"Value for truncated.","type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"type":"object"},{"type":"null"}],"description":"Value for response."},"status":{"description":"Current lifecycle or verification status.","enum":["not_approved","included","partial","unavailable","truncated"],"type":"string"}},"required":["status","request","response"],"type":"object"},"encoded_data_length":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"description":"Value for encoded data length."},"initiator":{"additionalProperties":false,"description":"Value for initiator.","properties":{"column":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for column."},"line":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for line."},"type":{"description":"Value for type.","type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for url."}},"required":["type","url","line","column"],"type":"object"},"method":{"description":"Value for method.","type":"string"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for mime type."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"request_id":{"description":"Value for request id.","type":"string"},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for resource type."},"status":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Current lifecycle or verification status."},"url":{"description":"Value for url.","type":"string"}},"required":["request_id","url","origin","method","resource_type","status","mime_type","encoded_data_length","initiator","body_shapes"],"type":"object"},"type":"array"},"websocket_events":{"description":"Value for websocket events.","items":{"additionalProperties":false,"properties":{"direction":{"description":"Direction in which to traverse or compare relationships.","enum":["sent","received"],"type":"string"},"opcode":{"description":"Value for opcode.","maximum":9007199254740991,"minimum":0,"type":"integer"},"payload_bytes":{"description":"Bounded byte count for payload.","maximum":9007199254740991,"minimum":0,"type":"integer"},"payload_shape":{"anyOf":[{"additionalProperties":false,"properties":{"format":{"description":"Declared input artifact format.","enum":["json","text","binary"],"type":"string"},"json_shape":{"anyOf":[{"additionalProperties":false,"properties":{"max_depth_observed":{"description":"Maximum permitted depth observed for this operation.","maximum":9007199254740991,"minimum":0,"type":"integer"},"node_count":{"description":"Value for node count.","maximum":9007199254740991,"minimum":1,"type":"integer"},"properties":{"description":"Value for properties.","items":{"additionalProperties":false,"properties":{"observations":{"description":"Value for observations.","maximum":9007199254740991,"minimum":1,"type":"integer"},"path":{"description":"Local filesystem path used by this operation.","type":"string"},"types":{"description":"Value for types.","items":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"minItems":1,"type":"array"}},"required":["path","types","observations"],"type":"object"},"type":"array"},"root_type":{"description":"Value for root type.","enum":["object","array","string","number","boolean","null"],"type":"string"},"truncated":{"description":"Value for truncated.","type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"type":"object"},{"type":"null"}],"description":"Value for json shape."},"truncated":{"description":"Value for truncated.","type":"boolean"}},"required":["format","json_shape","truncated"],"type":"object"},{"type":"null"}],"description":"Value for payload shape."},"request_id":{"description":"Value for request id.","type":"string"}},"required":["request_id","direction","opcode","payload_bytes","payload_shape"],"type":"object"},"type":"array"}},"required":["requests","websocket_events","coverage_started_at","prior_activity_available"],"type":"object"},"resources":{"description":"Value for resources.","items":{"additionalProperties":false,"properties":{"content_size":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"description":"Value for content size."},"mime_type":{"description":"Value for mime type.","type":"string"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"resource_key":{"description":"Value for resource key.","pattern":"^res_[a-f0-9]{64}$","type":"string"},"type":{"description":"Value for type.","type":"string"},"url":{"description":"Value for url.","type":"string"}},"required":["resource_key","url","origin","type","mime_type","content_size"],"type":"object"},"type":"array"},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"scripts":{"additionalProperties":false,"description":"Value for scripts.","properties":{"items":{"description":"Value for items.","items":{"additionalProperties":false,"properties":{"cdp_hash":{"description":"Value for cdp hash.","type":"string"},"frame_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Value for frame id."},"is_module":{"description":"Whether is module.","type":"boolean"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for language."},"length":{"description":"Value for length.","maximum":9007199254740991,"minimum":0,"type":"integer"},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"resource_reconciliation":{"description":"Value for resource reconciliation.","oneOf":[{"additionalProperties":false,"properties":{"resource_key":{"description":"Value for resource key.","type":"string"},"status":{"const":"exact","description":"Current lifecycle or verification status.","type":"string"}},"required":["status","resource_key"],"type":"object"},{"additionalProperties":false,"properties":{"candidate_resource_keys":{"description":"Value for candidate resource keys.","items":{"type":"string"},"type":"array"},"status":{"const":"ambiguous","description":"Current lifecycle or verification status.","type":"string"}},"required":["status","candidate_resource_keys"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"const":"no_exact_sanitized_url","description":"Value for reason.","type":"string"},"status":{"const":"unmatched","description":"Current lifecycle or verification status.","type":"string"}},"required":["status","reason"],"type":"object"}]},"script_key":{"description":"Value for script key.","pattern":"^scr_[a-f0-9]{64}(?:_[0-9]+)?$","type":"string"},"source":{"description":"Value for source.","oneOf":[{"additionalProperties":false,"properties":{"included":{"const":false,"description":"Value for included.","type":"boolean"},"reason":{"description":"Value for reason.","type":"string"}},"required":["included","reason"],"type":"object"},{"additionalProperties":false,"properties":{"artifact":{"additionalProperties":false,"description":"Value for artifact.","properties":{"bytes":{"description":"Value for bytes.","maximum":9007199254740991,"minimum":0,"type":"integer"},"charset":{"const":"utf-8","description":"Value for charset.","type":"string"},"media_type":{"description":"Value for media type.","maxLength":256,"minLength":1,"type":"string"},"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"},"text":{"description":"Value for text.","type":"string"},"uri":{"description":"Value for uri.","pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$","type":"string"}},"required":["uri","sha256","bytes","media_type","charset","text"],"type":"object"},"included":{"const":true,"description":"Value for included.","type":"boolean"}},"required":["included","artifact"],"type":"object"}]},"source_map_url":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for source map url."},"url":{"description":"Value for url.","type":"string"}},"required":["script_key","url","origin","cdp_hash","length","is_module","language","source_map_url","resource_reconciliation","source"],"type":"object"},"type":"array"},"total":{"description":"Value for total.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total","items"],"type":"object"},"storage":{"additionalProperties":false,"description":"Value for storage.","properties":{"cache_names":{"description":"Value for cache names.","items":{"type":"string"},"type":"array"},"content_fingerprints":{"default":[],"description":"Value for content fingerprints.","items":{"additionalProperties":false,"properties":{"complete":{"description":"Value for complete.","type":"boolean"},"identity_sha256":{"description":"Exact SHA-256 digest of identity.","pattern":"^[a-f0-9]{64}$","type":"string"},"scope":{"description":"Value for scope.","enum":["cookie","local_storage","session_storage","indexed_db_schema","indexed_db_record","cache_entry"],"type":"string"},"value_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Exact SHA-256 digest of value."}},"required":["scope","identity_sha256","value_sha256","complete"],"type":"object"},"type":"array"},"fingerprint_algorithm":{"const":"sha256","default":"sha256","description":"Value for fingerprint algorithm.","type":"string"},"fingerprints_complete":{"default":false,"description":"Value for fingerprints complete.","type":"boolean"},"indexed_db_names":{"description":"Value for indexed db names.","items":{"type":"string"},"type":"array"},"local_storage_keys":{"description":"Value for local storage keys.","items":{"type":"string"},"type":"array"},"origin":{"description":"Value for origin.","type":"string"},"quota_bytes":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"description":"Bounded byte count for quota."},"session_storage_keys":{"description":"Value for session storage keys.","items":{"type":"string"},"type":"array"},"usage_bytes":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"description":"Bounded byte count for usage."},"values_redacted":{"const":true,"description":"Value for values redacted.","type":"boolean"}},"required":["origin","usage_bytes","quota_bytes","local_storage_keys","session_storage_keys","indexed_db_names","cache_names","values_redacted"],"type":"object"},"target":{"additionalProperties":false,"description":"Value for target.","properties":{"attached":{"description":"Value for attached.","type":"boolean"},"origin":{"description":"Value for origin.","type":"string"},"target_id":{"description":"Exact authorized CDP target identifier.","type":"string"},"title":{"description":"Value for title.","type":"string"},"type":{"description":"Value for type.","type":"string"},"url":{"description":"Value for url.","type":"string"}},"required":["target_id","type","title","url","origin","attached"],"type":"object"},"workers":{"description":"Value for workers.","items":{"additionalProperties":false,"properties":{"attached":{"description":"Value for attached.","type":"boolean"},"opener_target_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Value for opener target id."},"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for origin."},"parent_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Value for parent frame id."},"target_id":{"description":"Exact authorized CDP target identifier.","type":"string"},"type":{"description":"Value for type.","type":"string"},"url":{"description":"Value for url.","type":"string"}},"required":["target_id","type","url","origin","attached"],"type":"object"},"type":"array"}},"required":["schema_version","browser","target","capture_window","completeness","frames","dom","accessibility","scripts","resources","network","console","workers","metadata","storage","limitations"],"type":"object"},"webmcp":{"anyOf":[{"additionalProperties":false,"properties":{"browser":{"additionalProperties":false,"description":"Value for browser.","properties":{"js_version":{"description":"Value for js version.","type":"string"},"product":{"description":"Value for product.","type":"string"},"protocol_version":{"description":"Value for protocol version.","type":"string"},"revision":{"description":"Value for revision.","type":"string"},"user_agent":{"description":"Value for user agent.","type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"type":"object"},"completeness":{"additionalProperties":false,"description":"Value for completeness.","properties":{"attach_limited_sections":{"description":"Value for attach limited sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"conditions":{"description":"Value for conditions.","items":{"enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"maxItems":3,"minItems":1,"type":"array"},"dropped_events":{"additionalProperties":false,"description":"Value for dropped events.","properties":{"console_events":{"description":"Value for console events.","maximum":9007199254740991,"minimum":0,"type":"integer"},"network_requests":{"description":"Value for network requests.","maximum":9007199254740991,"minimum":0,"type":"integer"},"scripts":{"description":"Value for scripts.","maximum":9007199254740991,"minimum":0,"type":"integer"},"timeline_events":{"description":"Value for timeline events.","maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"description":"Value for total.","maximum":9007199254740991,"minimum":0,"type":"integer"},"webmcp_tools":{"description":"Value for webmcp tools.","maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_connections":{"description":"Value for websocket connections.","maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_frames":{"description":"Value for websocket frames.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"type":"object"},"excluded":{"description":"Value for excluded.","items":{"additionalProperties":false,"properties":{"count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for count."},"reason":{"description":"Value for reason.","enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"type":"string"},"section":{"description":"Value for section.","enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"}},"required":["section","reason","count"],"type":"object"},"type":"array"},"policy_filtered_sections":{"description":"Value for policy filtered sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"status":{"description":"Current lifecycle or verification status.","enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"truncated_sections":{"description":"Value for truncated sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"unavailable_sections":{"description":"Value for unavailable sections.","items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"type":"object"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"},"status":{"description":"Current lifecycle or verification status.","enum":["available","unavailable"],"type":"string"},"target":{"additionalProperties":false,"description":"Value for target.","properties":{"origin":{"description":"Value for origin.","type":"string"},"target_id":{"description":"Exact authorized CDP target identifier.","type":"string"},"url":{"description":"Value for url.","type":"string"}},"required":["target_id","url","origin"],"type":"object"},"tools":{"additionalProperties":false,"description":"Value for tools.","properties":{"items":{"description":"Value for items.","items":{"additionalProperties":false,"properties":{"annotations":{"additionalProperties":false,"description":"Value for annotations.","properties":{"autosubmit":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for autosubmit."},"read_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for read only."},"untrusted_content":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for untrusted content."}},"required":["read_only","untrusted_content","autosubmit"],"type":"object"},"declaration_kind":{"description":"Value for declaration kind.","enum":["declarative","imperative"],"type":"string"},"description":{"description":"Value for description.","type":"string"},"frame_id":{"description":"Value for frame id.","type":"string"},"frame_url":{"description":"Value for frame url.","type":"string"},"input_schema_shape":{"anyOf":[{"additionalProperties":false,"properties":{"max_depth_observed":{"description":"Maximum permitted depth observed for this operation.","maximum":9007199254740991,"minimum":0,"type":"integer"},"node_count":{"description":"Value for node count.","maximum":9007199254740991,"minimum":1,"type":"integer"},"properties":{"description":"Value for properties.","items":{"additionalProperties":false,"properties":{"observations":{"description":"Value for observations.","maximum":9007199254740991,"minimum":1,"type":"integer"},"path":{"description":"Local filesystem path used by this operation.","type":"string"},"types":{"description":"Value for types.","items":{"enum":["object","array","string","number","boolean","null"],"type":"string"},"minItems":1,"type":"array"}},"required":["path","types","observations"],"type":"object"},"type":"array"},"root_type":{"description":"Value for root type.","enum":["object","array","string","number","boolean","null"],"type":"string"},"truncated":{"description":"Value for truncated.","type":"boolean"}},"required":["root_type","node_count","max_depth_observed","properties","truncated"],"type":"object"},{"type":"null"}],"description":"Value for input schema shape."},"name":{"description":"Exact name used by this operation.","type":"string"},"owner_origin":{"description":"Value for owner origin.","type":"string"},"registration_source":{"anyOf":[{"additionalProperties":false,"properties":{"column":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for column."},"line":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for line."},"url":{"description":"Value for url.","type":"string"}},"required":["url","line","column"],"type":"object"},{"type":"null"}],"description":"Value for registration source."},"tool_key":{"description":"Value for tool key.","pattern":"^webmcp_[a-f0-9]{64}$","type":"string"},"trust":{"const":"page-declared-untrusted","description":"Value for trust.","type":"string"}},"required":["tool_key","name","description","frame_id","frame_url","owner_origin","declaration_kind","input_schema_shape","annotations","registration_source","trust"],"type":"object"},"type":"array"},"total":{"description":"Value for total.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total","items"],"type":"object"}},"required":["schema_version","browser","target","status","tools","completeness","limitations"],"type":"object"},{"type":"null"}],"default":null,"description":"Value for webmcp."}},"required":["inspection"],"type":"object"},"before_scenario":{"additionalProperties":false,"description":"Earlier browser scenario capture; pair with after_scenario.","properties":{"browser":{"additionalProperties":false,"description":"Value for browser.","properties":{"cleanup":{"description":"Value for cleanup.","enum":["terminated-owned-process","disconnected-external"],"type":"string"},"mode":{"description":"Operation mode that selects the requested behavior.","enum":["launch","connect"],"type":"string"},"process_ownership":{"description":"Value for process ownership.","enum":["provider-owned","external"],"type":"string"},"product":{"description":"Value for product.","maxLength":1024,"minLength":1,"type":"string"},"version":{"description":"Value for version.","maxLength":256,"minLength":1,"type":"string"}},"required":["mode","process_ownership","cleanup","product","version"],"type":"object"},"completeness":{"additionalProperties":false,"description":"Value for completeness.","properties":{"equality_eligible":{"description":"Value for equality eligible.","type":"boolean"},"missing_sections":{"description":"Value for missing sections.","items":{"enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"],"type":"string"},"type":"array"},"status":{"description":"Current lifecycle or verification status.","enum":["complete","incomplete","truncated"],"type":"string"},"truncated_sections":{"description":"Value for truncated sections.","items":{"enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"],"type":"string"},"type":"array"}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"type":"object"},"duration_ms":{"description":"Value for duration ms.","maximum":9007199254740991,"minimum":0,"type":"integer"},"events":{"additionalProperties":false,"description":"Value for events.","properties":{"dropped":{"description":"Value for dropped.","maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"description":"Value for items.","items":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"console","description":"Value for kind.","type":"string"},"level":{"description":"Value for level.","maxLength":64,"minLength":1,"type":"string"},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"text":{"description":"Value for text.","maxLength":65536,"type":"string"},"url":{"anyOf":[{"additionalProperties":false,"properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},{"type":"null"}],"description":"Value for url."}},"required":["sequence","step_index","kind","level","text","url"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"page-error","description":"Value for kind.","type":"string"},"message":{"description":"Value for message.","maxLength":65536,"type":"string"},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"stack":{"anyOf":[{"maxLength":262144,"type":"string"},{"type":"null"}],"description":"Value for stack."},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["sequence","step_index","kind","message","stack"],"type":"object"},{"additionalProperties":false,"properties":{"failure":{"anyOf":[{"maxLength":1024,"type":"string"},{"type":"null"}],"description":"Value for failure."},"header_names":{"description":"Value for header names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"kind":{"description":"Value for kind.","enum":["request","response","request-failed"],"type":"string"},"method":{"description":"Value for method.","maxLength":32,"minLength":1,"type":"string"},"resource_type":{"description":"Value for resource type.","maxLength":64,"minLength":1,"type":"string"},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"status":{"anyOf":[{"maximum":599,"minimum":100,"type":"integer"},{"type":"null"}],"description":"Current lifecycle or verification status."},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"url":{"additionalProperties":false,"description":"Value for url.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"}},"required":["sequence","step_index","kind","method","url","resource_type","status","header_names","failure"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"description":"Value for kind.","enum":["websocket-opened","websocket-closed"],"type":"string"},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"url":{"additionalProperties":false,"description":"Value for url.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"}},"required":["sequence","step_index","kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"description":"Value for kind.","enum":["websocket-frame-sent","websocket-frame-received"],"type":"string"},"payload_bytes":{"description":"Bounded byte count for payload.","maximum":9007199254740991,"minimum":0,"type":"integer"},"payload_text":{"anyOf":[{"maxLength":65536,"type":"string"},{"type":"null"}],"description":"Value for payload text."},"payload_type":{"description":"Value for payload type.","enum":["text","binary"],"type":"string"},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"truncated":{"description":"Value for truncated.","type":"boolean"},"url":{"additionalProperties":false,"description":"Value for url.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"}},"required":["sequence","step_index","kind","url","payload_type","payload_bytes","payload_text","truncated"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"description":"Value for kind.","enum":["frame-attached","frame-detached","frame-navigated","worker-created","worker-closed","popup-opened","popup-closed"],"type":"string"},"name":{"anyOf":[{"maxLength":1024,"type":"string"},{"type":"null"}],"description":"Exact name used by this operation."},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"url":{"anyOf":[{"additionalProperties":false,"properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},{"type":"null"}],"description":"Value for url."}},"required":["sequence","step_index","kind","url","name"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"download-cancelled","description":"Value for kind.","type":"string"},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"},"suggested_filename":{"description":"Value for suggested filename.","maxLength":1024,"type":"string"},"url":{"additionalProperties":false,"description":"Value for url.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"}},"required":["sequence","step_index","kind","suggested_filename","url"],"type":"object"}]},"maxItems":100000,"type":"array"},"retained":{"description":"Value for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["retained","dropped","items"],"type":"object"},"limitations":{"description":"Value for limitations.","items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":64,"type":"array"},"scenario":{"additionalProperties":false,"description":"Value for scenario.","properties":{"action_count":{"description":"Value for action count.","maximum":128,"minimum":1,"type":"integer"},"allowed_origins":{"description":"Value for allowed origins.","items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"secret_references":{"description":"Value for secret references.","items":{"maxLength":64,"minLength":1,"type":"string"},"maxItems":64,"type":"array"},"start_origin":{"description":"Value for start origin.","maxLength":2048,"minLength":1,"type":"string"}},"required":["start_origin","allowed_origins","action_count","secret_references"],"type":"object"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"},"steps":{"description":"Value for steps.","items":{"additionalProperties":false,"properties":{"action":{"description":"Value for action.","maxLength":64,"minLength":1,"type":"string"},"after_url":{"additionalProperties":false,"description":"Value for after url.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},"artifacts":{"additionalProperties":false,"description":"Value for artifacts.","properties":{"accessibility":{"description":"Value for accessibility.","oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","description":"Value for state.","type":"string"},"value":{"additionalProperties":false,"description":"Value for value.","properties":{"bytes":{"description":"Value for bytes.","maximum":16777216,"minimum":0,"type":"integer"},"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"},"text":{"description":"Value for text.","maxLength":1048576,"type":"string"}},"required":["sha256","bytes","text"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","description":"Value for state.","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","description":"Value for state.","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"description":"Value for observed.","maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"retained":{"description":"Value for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","description":"Value for state.","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]},"dom":{"description":"Value for dom.","oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","description":"Value for state.","type":"string"},"value":{"additionalProperties":false,"description":"Value for value.","properties":{"bytes":{"description":"Value for bytes.","maximum":16777216,"minimum":0,"type":"integer"},"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"},"text":{"description":"Value for text.","maxLength":1048576,"type":"string"}},"required":["sha256","bytes","text"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","description":"Value for state.","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","description":"Value for state.","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"description":"Value for observed.","maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"retained":{"description":"Value for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","description":"Value for state.","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]},"history":{"description":"Value for history.","oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","description":"Value for state.","type":"string"},"value":{"additionalProperties":false,"description":"Value for value.","properties":{"current_url":{"additionalProperties":false,"description":"Value for current url.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},"length":{"description":"Value for length.","maximum":9007199254740991,"minimum":0,"type":"integer"},"navigation_entries":{"description":"Value for navigation entries.","items":{"additionalProperties":false,"properties":{"name":{"additionalProperties":false,"description":"Exact name used by this operation.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},"type":{"description":"Value for type.","enum":["navigate","reload","back_forward","prerender","unknown"],"type":"string"}},"required":["type","name"],"type":"object"},"maxItems":256,"type":"array"}},"required":["length","current_url","navigation_entries"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","description":"Value for state.","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","description":"Value for state.","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"description":"Value for observed.","maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"retained":{"description":"Value for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","description":"Value for state.","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]},"screenshot":{"description":"Value for screenshot.","oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","description":"Value for state.","type":"string"},"value":{"additionalProperties":false,"description":"Value for value.","properties":{"bytes":{"description":"Value for bytes.","maximum":8388608,"minimum":1,"type":"integer"},"data_base64":{"description":"Value for data base64.","maxLength":11184815,"type":"string"},"media_type":{"const":"image/png","description":"Value for media type.","type":"string"},"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"},"uri":{"description":"Value for uri.","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$","type":"string"}},"required":["uri","sha256","bytes","media_type","data_base64"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","description":"Value for state.","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","description":"Value for state.","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"description":"Value for observed.","maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"retained":{"description":"Value for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","description":"Value for state.","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]},"storage":{"description":"Value for storage.","oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","description":"Value for state.","type":"string"},"value":{"additionalProperties":false,"description":"Value for value.","properties":{"cookies":{"description":"Value for cookies.","items":{"additionalProperties":false,"properties":{"domain":{"description":"Value for domain.","maxLength":2048,"type":"string"},"http_only":{"description":"Value for http only.","type":"boolean"},"name":{"description":"Exact name used by this operation.","maxLength":1024,"type":"string"},"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"type":"string"},"same_site":{"description":"Value for same site.","enum":["Strict","Lax","None"],"type":"string"},"secure":{"description":"Value for secure.","type":"boolean"},"value_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Exact SHA-256 digest of value."},"value_state":{"description":"Value for value state.","enum":["hashed","redacted-secret"],"type":"string"}},"required":["name","domain","path","secure","http_only","same_site","value_state","value_sha256"],"type":"object"},"maxItems":512,"type":"array"},"local_storage":{"description":"Value for local storage.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","maxLength":1024,"type":"string"},"value_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Exact SHA-256 digest of value."},"value_state":{"description":"Value for value state.","enum":["hashed","redacted-secret"],"type":"string"}},"required":["name","value_state","value_sha256"],"type":"object"},"maxItems":512,"type":"array"},"session_storage":{"description":"Value for session storage.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","maxLength":1024,"type":"string"},"value_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Exact SHA-256 digest of value."},"value_state":{"description":"Value for value state.","enum":["hashed","redacted-secret"],"type":"string"}},"required":["name","value_state","value_sha256"],"type":"object"},"maxItems":512,"type":"array"}},"required":["cookies","local_storage","session_storage"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","description":"Value for state.","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","description":"Value for state.","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"description":"Value for observed.","maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"retained":{"description":"Value for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","description":"Value for state.","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]},"url":{"description":"Value for url.","oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","description":"Value for state.","type":"string"},"value":{"additionalProperties":false,"description":"Value for value.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","description":"Value for state.","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","description":"Value for state.","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"description":"Value for observed.","maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"},"retained":{"description":"Value for retained.","maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","description":"Value for state.","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]}},"required":["screenshot","dom","accessibility","url","history","storage"],"type":"object"},"before_url":{"additionalProperties":false,"description":"Value for before url.","properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"description":"Value for origin."},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"description":"Value for redacted.","type":"boolean"},"url":{"description":"Value for url.","maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},"completeness":{"additionalProperties":false,"description":"Value for completeness.","properties":{"equality_eligible":{"description":"Value for equality eligible.","type":"boolean"},"missing_sections":{"description":"Value for missing sections.","items":{"enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"],"type":"string"},"type":"array"},"status":{"description":"Current lifecycle or verification status.","enum":["complete","incomplete","truncated"],"type":"string"},"truncated_sections":{"description":"Value for truncated sections.","items":{"enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"],"type":"string"},"type":"array"}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"type":"object"},"elapsed_ms":{"description":"Value for elapsed ms.","maximum":9007199254740991,"minimum":0,"type":"integer"},"error":{"anyOf":[{"maxLength":4096,"type":"string"},{"type":"null"}],"description":"Structured, caller-actionable error when the operation fails."},"event_sequence_end":{"description":"Value for event sequence end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"event_sequence_start":{"description":"Value for event sequence start.","maximum":9007199254740991,"minimum":1,"type":"integer"},"status":{"description":"Current lifecycle or verification status.","enum":["completed","failed","cancelled"],"type":"string"},"step_id":{"description":"Value for step id.","maxLength":64,"minLength":1,"type":"string"},"step_index":{"description":"Value for step index.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["step_index","step_id","action","status","elapsed_ms","before_url","after_url","error","event_sequence_start","event_sequence_end","artifacts","completeness"],"type":"object"},"maxItems":129,"minItems":1,"type":"array"}},"required":["schema_version","browser","scenario","duration_ms","steps","events","completeness","limitations"],"type":"object"},"max_changes":{"default":2000,"description":"Maximum normalized change records to retain.","maximum":20000,"minimum":1,"type":"integer"},"normalization":{"additionalProperties":false,"default":{"rules":[]},"description":"Scenario-only exact-literal normalization policy.","properties":{"rules":{"default":[],"description":"Value for rules.","items":{"additionalProperties":false,"properties":{"artifacts":{"description":"Artifact families whose durable string fields use this rule.","items":{"enum":["action_state","dom","accessibility","url","history","storage","events"],"type":"string"},"maxItems":7,"minItems":1,"type":"array"},"match":{"description":"Exact public literal to replace; regular expressions are not used.","maxLength":4096,"minLength":1,"type":"string"},"replacement":{"description":"Recorded replacement text used in normalized comparison.","maxLength":4096,"type":"string"},"rule_id":{"description":"Stable rule identity; rules execute in rule_id order.","maxLength":64,"minLength":1,"type":"string"}},"required":["rule_id","artifacts","match","replacement"],"type":"object"},"maxItems":128,"type":"array"}},"type":"object"}},"type":"object"},"kind":"browser-provider","name":"compare_web_captures","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"anyOf":[{"additionalProperties":false,"properties":{"alignment":{"additionalProperties":false,"properties":{"after_only":{"items":{"maxLength":64,"minLength":1,"type":"string"},"maxItems":129,"type":"array"},"aligned_steps":{"maximum":129,"minimum":0,"type":"integer"},"before_only":{"items":{"maxLength":64,"minLength":1,"type":"string"},"maxItems":129,"type":"array"},"failures":{"items":{"additionalProperties":false,"properties":{"code":{"enum":["duplicate_before_step_id","duplicate_after_step_id","missing_before_step","missing_after_step","action_mismatch","capture_context_mismatch"],"type":"string"},"reason":{"maxLength":2048,"minLength":1,"type":"string"},"step_id":{"anyOf":[{"maxLength":64,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["code","step_id","reason"],"type":"object"},"maxItems":520,"type":"array"},"status":{"enum":["aligned","partial","failed"],"type":"string"}},"required":["status","aligned_steps","before_only","after_only","failures"],"type":"object"},"artifact_diffs":{"additionalProperties":false,"properties":{"omitted":{"maximum":1032,"minimum":0,"type":"integer"},"retained":{"maximum":1032,"minimum":0,"type":"integer"},"total":{"maximum":1032,"minimum":0,"type":"integer"}},"required":["total","retained","omitted"],"type":"object"},"comparison_kind":{"const":"browser_scenario","type":"string"},"limitations":{"items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":64,"type":"array"},"normalization":{"additionalProperties":false,"properties":{"built_in_rules":{"items":{"enum":["ignore_step_elapsed_ms","ignore_event_sequence","ignore_event_step_index","compare_screenshot_content_digest","compare_normalized_text_content"],"type":"string"},"maxItems":5,"minItems":5,"type":"array"},"rules":{"items":{"additionalProperties":false,"properties":{"artifacts":{"description":"Artifact families whose durable string fields use this rule.","items":{"enum":["action_state","dom","accessibility","url","history","storage","events"],"type":"string"},"maxItems":7,"minItems":1,"type":"array"},"match":{"description":"Exact public literal to replace; regular expressions are not used.","maxLength":4096,"minLength":1,"type":"string"},"replacement":{"description":"Recorded replacement text used in normalized comparison.","maxLength":4096,"type":"string"},"rule_id":{"description":"Stable rule identity; rules execute in rule_id order.","maxLength":64,"minLength":1,"type":"string"}},"required":["rule_id","artifacts","match","replacement"],"type":"object"},"maxItems":128,"type":"array"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["built_in_rules","rules","sha256"],"type":"object"},"overall_status":{"enum":["changed","unchanged","unknown"],"type":"string"},"schema_version":{"const":1,"type":"number"},"steps":{"items":{"additionalProperties":false,"properties":{"after_action":{"maxLength":64,"minLength":1,"type":"string"},"after_step_index":{"maximum":128,"minimum":0,"type":"integer"},"artifact_diffs":{"items":{"additionalProperties":false,"properties":{"after_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"after_state":{"enum":["captured","not_requested","missing","truncated"],"type":"string"},"artifact":{"enum":["action_state","screenshot","dom","accessibility","url","history","storage","events"],"type":"string"},"before_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"before_state":{"enum":["captured","not_requested","missing","truncated"],"type":"string"},"reason":{"anyOf":[{"maxLength":2048,"minLength":1,"type":"string"},{"type":"null"}]},"status":{"enum":["changed","unknown"],"type":"string"}},"required":["artifact","status","before_state","after_state","before_sha256","after_sha256","reason"],"type":"object"},"maxItems":8,"type":"array"},"before_action":{"maxLength":64,"minLength":1,"type":"string"},"before_step_index":{"maximum":128,"minimum":0,"type":"integer"},"omitted_artifact_diffs":{"maximum":8,"minimum":0,"type":"integer"},"status":{"enum":["changed","unchanged","unknown"],"type":"string"},"step_id":{"maxLength":64,"minLength":1,"type":"string"}},"required":["step_id","before_step_index","after_step_index","before_action","after_action","status","artifact_diffs","omitted_artifact_diffs"],"type":"object"},"maxItems":129,"type":"array"}},"required":["schema_version","comparison_kind","overall_status","normalization","alignment","steps","artifact_diffs","limitations"],"type":"object"},{"additionalProperties":false,"properties":{"after_target":{"additionalProperties":false,"properties":{"target_id":{"type":"string"},"url":{"type":"string"}},"required":["target_id","url"],"type":"object"},"before_target":{"additionalProperties":false,"properties":{"target_id":{"type":"string"},"url":{"type":"string"}},"required":["target_id","url"],"type":"object"},"dimensions":{"additionalProperties":false,"properties":{"accessibility":{"additionalProperties":false,"default":{"changes":[],"omitted_changes":0,"reason":"Dimension was not recorded by this version 1 capture diff.","status":"unknown","total_changes":0},"properties":{"changes":{"items":{"additionalProperties":false,"properties":{"change":{"enum":["added","removed","modified"],"type":"string"},"identity":{"type":"string"}},"required":["identity","change"],"type":"object"},"type":"array"},"omitted_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"enum":["changed","unchanged","unknown"],"type":"string"},"total_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","total_changes","changes","omitted_changes","reason"],"type":"object"},"dom_structure":{"additionalProperties":false,"properties":{"changes":{"items":{"additionalProperties":false,"properties":{"change":{"enum":["added","removed","modified"],"type":"string"},"identity":{"type":"string"}},"required":["identity","change"],"type":"object"},"type":"array"},"omitted_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"enum":["changed","unchanged","unknown"],"type":"string"},"total_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","total_changes","changes","omitted_changes","reason"],"type":"object"},"metadata":{"additionalProperties":false,"properties":{"changes":{"items":{"additionalProperties":false,"properties":{"change":{"enum":["added","removed","modified"],"type":"string"},"identity":{"type":"string"}},"required":["identity","change"],"type":"object"},"type":"array"},"omitted_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"enum":["changed","unchanged","unknown"],"type":"string"},"total_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","total_changes","changes","omitted_changes","reason"],"type":"object"},"network":{"additionalProperties":false,"properties":{"changes":{"items":{"additionalProperties":false,"properties":{"change":{"enum":["added","removed","modified"],"type":"string"},"identity":{"type":"string"}},"required":["identity","change"],"type":"object"},"type":"array"},"omitted_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"enum":["changed","unchanged","unknown"],"type":"string"},"total_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","total_changes","changes","omitted_changes","reason"],"type":"object"},"resources":{"additionalProperties":false,"properties":{"changes":{"items":{"additionalProperties":false,"properties":{"change":{"enum":["added","removed","modified"],"type":"string"},"identity":{"type":"string"}},"required":["identity","change"],"type":"object"},"type":"array"},"omitted_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"enum":["changed","unchanged","unknown"],"type":"string"},"total_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","total_changes","changes","omitted_changes","reason"],"type":"object"},"scripts":{"additionalProperties":false,"properties":{"changes":{"items":{"additionalProperties":false,"properties":{"change":{"enum":["added","removed","modified"],"type":"string"},"identity":{"type":"string"}},"required":["identity","change"],"type":"object"},"type":"array"},"omitted_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"enum":["changed","unchanged","unknown"],"type":"string"},"total_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","total_changes","changes","omitted_changes","reason"],"type":"object"},"storage":{"additionalProperties":false,"default":{"changes":[],"omitted_changes":0,"reason":"Dimension was not recorded by this version 1 capture diff.","status":"unknown","total_changes":0},"properties":{"changes":{"items":{"additionalProperties":false,"properties":{"change":{"enum":["added","removed","modified"],"type":"string"},"identity":{"type":"string"}},"required":["identity","change"],"type":"object"},"type":"array"},"omitted_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"enum":["changed","unchanged","unknown"],"type":"string"},"total_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","total_changes","changes","omitted_changes","reason"],"type":"object"},"webmcp":{"additionalProperties":false,"properties":{"changes":{"items":{"additionalProperties":false,"properties":{"change":{"enum":["added","removed","modified"],"type":"string"},"identity":{"type":"string"}},"required":["identity","change"],"type":"object"},"type":"array"},"omitted_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"enum":["changed","unchanged","unknown"],"type":"string"},"total_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","total_changes","changes","omitted_changes","reason"],"type":"object"}},"required":["dom_structure","scripts","resources","network","metadata","webmcp","accessibility","storage"],"type":"object"},"limitations":{"items":{"type":"string"},"type":"array"},"overall_status":{"enum":["changed","unchanged","unknown"],"type":"string"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","overall_status","before_target","after_target","dimensions","limitations"],"type":"object"}],"description":"Primary structured result returned by this operation."}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Compare Web Captures"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Capture the current visible viewport of one approved page as a bounded, content-addressed PNG artifact. Screenshot capture requires separate explicit approval and never scrolls, navigates, or evaluates page JavaScript.","effects":{"accessesNetwork":true,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"allowed_origins":["https://app.example.test"],"approved":true,"cdp_endpoint":"http://127.0.0.1:9222","maximum_image_bytes":4194304,"screenshot_approved":true,"target_id":"TARGET_ID_FROM_LIST_BROWSER_TARGETS"}],"properties":{"allowed_origins":{"description":"Value for allowed origins.","items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"cdp_endpoint":{"description":"Approved literal loopback Chrome DevTools Protocol endpoint.","maxLength":2048,"minLength":1,"type":"string"},"maximum_image_bytes":{"default":4194304,"description":"Bounded byte count for maximum image.","maximum":8388608,"minimum":1,"type":"integer"},"screenshot_approved":{"const":true,"description":"Explicit operator approval for screenshot.","type":"boolean"},"target_id":{"description":"Exact authorized CDP target identifier.","maxLength":256,"minLength":1,"type":"string"}},"required":["cdp_endpoint","allowed_origins","target_id","approved","screenshot_approved"],"type":"object"},"kind":"browser-provider","name":"capture_web_screenshot","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"artifact":{"additionalProperties":false,"properties":{"bytes":{"maximum":8388608,"minimum":1,"type":"integer"},"data_base64":{"maxLength":11184815,"type":"string"},"media_type":{"const":"image/png","type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"uri":{"pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$","type":"string"}},"required":["uri","sha256","bytes","media_type","data_base64"],"type":"object"},"browser":{"additionalProperties":false,"properties":{"js_version":{"type":"string"},"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"type":"object"},"captured_at":{"format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"completeness":{"additionalProperties":false,"properties":{"attach_limited_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"conditions":{"items":{"enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"maxItems":3,"minItems":1,"type":"array"},"dropped_events":{"additionalProperties":false,"properties":{"console_events":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"network_requests":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"scripts":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"timeline_events":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"webmcp_tools":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_connections":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_frames":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"type":"object"},"excluded":{"items":{"additionalProperties":false,"properties":{"count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"reason":{"enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"type":"string"},"section":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"}},"required":["section","reason","count"],"type":"object"},"type":"array"},"policy_filtered_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"status":{"enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"truncated_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"unavailable_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"type":"object"},"limitations":{"items":{"type":"string"},"type":"array"},"schema_version":{"const":1,"type":"number"},"target":{"additionalProperties":false,"properties":{"origin":{"type":"string"},"target_id":{"type":"string"},"url":{"type":"string"}},"required":["target_id","url","origin"],"type":"object"},"viewport":{"additionalProperties":false,"properties":{"height":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"width":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["width","height"],"type":"object"}},"required":["schema_version","browser","target","captured_at","viewport","artifact","completeness","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Capture Web Screenshot"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Compare two self-verifying PNG screenshot artifacts with bounded local pixel metrics. Returns exact changed-pixel ratios and channel deltas without OCR or external services.","effects":{"accessesNetwork":true,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"after":{"bytes":70,"data_base64":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PzWvWQAAAABJRU5ErkJggg==","media_type":"image/png","sha256":"153cf6c9a526a63053a37b10234c2fd85df38887c2dc0a800d90abfa6631d01c","uri":"rea://web-screenshot/sha256/153cf6c9a526a63053a37b10234c2fd85df38887c2dc0a800d90abfa6631d01c"},"before":{"bytes":70,"data_base64":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PzWvWQAAAABJRU5ErkJggg==","media_type":"image/png","sha256":"153cf6c9a526a63053a37b10234c2fd85df38887c2dc0a800d90abfa6631d01c","uri":"rea://web-screenshot/sha256/153cf6c9a526a63053a37b10234c2fd85df38887c2dc0a800d90abfa6631d01c"},"channel_threshold":0,"maximum_pixels":16000000}],"properties":{"after":{"additionalProperties":false,"description":"The later or right-hand observation to compare.","properties":{"bytes":{"description":"Value for bytes.","maximum":8388608,"minimum":1,"type":"integer"},"data_base64":{"description":"Value for data base64.","maxLength":11184815,"type":"string"},"media_type":{"const":"image/png","description":"Value for media type.","type":"string"},"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"},"uri":{"description":"Value for uri.","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$","type":"string"}},"required":["uri","sha256","bytes","media_type","data_base64"],"type":"object"},"before":{"additionalProperties":false,"description":"The earlier or left-hand observation to compare.","properties":{"bytes":{"description":"Value for bytes.","maximum":8388608,"minimum":1,"type":"integer"},"data_base64":{"description":"Value for data base64.","maxLength":11184815,"type":"string"},"media_type":{"const":"image/png","description":"Value for media type.","type":"string"},"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"},"uri":{"description":"Value for uri.","pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$","type":"string"}},"required":["uri","sha256","bytes","media_type","data_base64"],"type":"object"},"channel_threshold":{"default":0,"description":"Value for channel threshold.","maximum":255,"minimum":0,"type":"integer"},"maximum_pixels":{"default":16000000,"description":"Value for maximum pixels.","maximum":32000000,"minimum":1,"type":"integer"}},"required":["before","after"],"type":"object"},"kind":"browser-provider","name":"compare_web_screenshots","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"after":{"additionalProperties":false,"properties":{"height":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"width":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["width","height"],"type":"object"},"before":{"additionalProperties":false,"properties":{"height":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"width":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["width","height"],"type":"object"},"changed_pixels":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"changed_ratio":{"anyOf":[{"maximum":1,"minimum":0,"type":"number"},{"type":"null"}]},"channel_threshold":{"maximum":255,"minimum":0,"type":"integer"},"compared_pixels":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"limitations":{"items":{"type":"string"},"type":"array"},"maximum_channel_delta":{"anyOf":[{"maximum":255,"minimum":0,"type":"integer"},{"type":"null"}]},"mean_absolute_channel_delta":{"anyOf":[{"maximum":255,"minimum":0,"type":"number"},{"type":"null"}]},"schema_version":{"const":1,"type":"number"},"status":{"enum":["identical","different","dimension_mismatch"],"type":"string"}},"required":["schema_version","status","before","after","channel_threshold","compared_pixels","changed_pixels","changed_ratio","maximum_channel_delta","mean_absolute_channel_delta","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Compare Web Screenshots"},{"analysisOperation":null,"annotations":{"destructiveHint":true,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false},"description":"Run one approved, bounded browser scenario through Playwright. Launch mode owns and terminates a temporary browser profile; connect mode attaches to one exact loopback CDP target and disconnects without terminating the external browser. Only the fixed action vocabulary is accepted. Navigation, storage, requests, redirects, secrets, redaction, captures, and limits must be declared before execution. Returns step-indexed Evidence with screenshots, DOM, accessibility, URL/history/storage state, runtime events, explicit missing/truncated sections, and equality eligibility.","effects":{"accessesNetwork":true,"changesUiState":true,"idempotent":false,"launchesProcess":true,"mayDiscardData":true,"mutatesSession":true,"mutatesTarget":true,"writesFilesystem":true},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"actions":[{"action":"wait_for","locator":{"kind":"test_id","value":"application-ready"},"state":"visible","step_id":"ready"}],"allowed_origins":["https://app.example.test"],"approved":true,"browser":{"cleanup":"close-and-delete-profile","executable_path":"/opt/chromium/chrome","headless":true,"mode":"launch","user_data":"temporary-owned"},"capture":{"after_each_step":["screenshot","url","accessibility"],"at_end":["dom","history","storage"],"events":["console","page-errors","network","websockets"]},"environment":{"color_scheme":"light","locale":"en-US","reduced_motion":"reduce","service_workers":"block","timezone":"UTC","viewport":{"device_scale_factor":1,"height":720,"width":1280}},"limits":{"action_timeout_ms":5000,"max_accessibility_nodes":10000,"max_dom_nodes":10000,"max_duration_ms":60000,"max_events":2000,"max_frames":100,"max_popups":10,"max_screenshot_bytes":4194304,"max_screenshots":16,"max_storage_entries":256,"max_total_metadata_bytes":4194304,"max_websockets":100,"max_workers":20,"navigation_timeout_ms":10000},"redaction":{"header_names":["authorization","cookie","proxy-authorization","set-cookie"],"query_parameter_names":[],"secret_values":"replace-with-secret-reference"},"request_replay":{"mode":"disabled"},"schema_version":1,"secrets":[],"start_url":{"query":[],"url":"https://app.example.test/"},"storage":{"cookies":[],"local_storage":[],"session_storage":[]}}],"properties":{"actions":{"description":"Value for actions.","items":{"oneOf":[{"additionalProperties":false,"properties":{"action":{"const":"goto","description":"Value for action.","type":"string"},"destination":{"additionalProperties":false,"description":"Value for destination.","properties":{"query":{"default":[],"description":"Non-empty feature or text query to investigate.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","maxLength":256,"minLength":1,"type":"string"},"value":{"description":"Value for value.","oneOf":[{"additionalProperties":false,"properties":{"classification":{"const":"public","description":"Value for classification.","type":"string"},"source":{"const":"literal","description":"Value for source.","type":"string"},"value":{"description":"Value for value.","maxLength":65536,"type":"string"}},"required":["source","value","classification"],"type":"object"},{"additionalProperties":false,"properties":{"secret_id":{"description":"Value for secret id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"source":{"const":"secret","description":"Value for source.","type":"string"}},"required":["source","secret_id"],"type":"object"}]}},"required":["name","value"],"type":"object"},"maxItems":64,"type":"array"},"url":{"description":"Value for url.","maxLength":65536,"minLength":1,"type":"string"}},"required":["url"],"type":"object"},"step_id":{"description":"Value for step id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"timeout_ms":{"description":"Value for timeout ms.","maximum":60000,"minimum":1,"type":"integer"},"wait_until":{"description":"Value for wait until.","enum":["commit","domcontentloaded","load"],"type":"string"}},"required":["step_id","action","destination","wait_until"],"type":"object"},{"additionalProperties":false,"properties":{"action":{"const":"click","description":"Value for action.","type":"string"},"button":{"default":"left","description":"Value for button.","enum":["left","middle","right"],"type":"string"},"click_count":{"default":1,"description":"Value for click count.","maximum":3,"minimum":1,"type":"integer"},"locator":{"description":"Value for locator.","oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"test_id","description":"Value for kind.","type":"string"},"value":{"description":"Value for value.","maxLength":512,"minLength":1,"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"exact":{"const":true,"description":"Value for exact.","type":"boolean"},"kind":{"const":"role","description":"Value for kind.","type":"string"},"name":{"description":"Exact name used by this operation.","maxLength":1024,"minLength":1,"type":"string"},"role":{"description":"Value for role.","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"type":"string"}},"required":["kind","role","name","exact"],"type":"object"},{"additionalProperties":false,"properties":{"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"kind":{"const":"css","description":"Value for kind.","type":"string"},"selector":{"description":"Value for selector.","maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","selector","approved"],"type":"object"}]},"step_id":{"description":"Value for step id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"timeout_ms":{"description":"Value for timeout ms.","maximum":60000,"minimum":1,"type":"integer"}},"required":["step_id","action","locator"],"type":"object"},{"additionalProperties":false,"properties":{"action":{"const":"fill","description":"Value for action.","type":"string"},"locator":{"description":"Value for locator.","oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"test_id","description":"Value for kind.","type":"string"},"value":{"description":"Value for value.","maxLength":512,"minLength":1,"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"exact":{"const":true,"description":"Value for exact.","type":"boolean"},"kind":{"const":"role","description":"Value for kind.","type":"string"},"name":{"description":"Exact name used by this operation.","maxLength":1024,"minLength":1,"type":"string"},"role":{"description":"Value for role.","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"type":"string"}},"required":["kind","role","name","exact"],"type":"object"},{"additionalProperties":false,"properties":{"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"kind":{"const":"css","description":"Value for kind.","type":"string"},"selector":{"description":"Value for selector.","maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","selector","approved"],"type":"object"}]},"step_id":{"description":"Value for step id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"timeout_ms":{"description":"Value for timeout ms.","maximum":60000,"minimum":1,"type":"integer"},"value":{"description":"Value for value.","oneOf":[{"additionalProperties":false,"properties":{"classification":{"const":"public","description":"Value for classification.","type":"string"},"source":{"const":"literal","description":"Value for source.","type":"string"},"value":{"description":"Value for value.","maxLength":65536,"type":"string"}},"required":["source","value","classification"],"type":"object"},{"additionalProperties":false,"properties":{"secret_id":{"description":"Value for secret id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"source":{"const":"secret","description":"Value for source.","type":"string"}},"required":["source","secret_id"],"type":"object"}]}},"required":["step_id","action","locator","value"],"type":"object"},{"additionalProperties":false,"properties":{"action":{"const":"press","description":"Value for action.","type":"string"},"key":{"description":"Value for key.","maxLength":64,"minLength":1,"type":"string"},"locator":{"description":"Value for locator.","oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"test_id","description":"Value for kind.","type":"string"},"value":{"description":"Value for value.","maxLength":512,"minLength":1,"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"exact":{"const":true,"description":"Value for exact.","type":"boolean"},"kind":{"const":"role","description":"Value for kind.","type":"string"},"name":{"description":"Exact name used by this operation.","maxLength":1024,"minLength":1,"type":"string"},"role":{"description":"Value for role.","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"type":"string"}},"required":["kind","role","name","exact"],"type":"object"},{"additionalProperties":false,"properties":{"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"kind":{"const":"css","description":"Value for kind.","type":"string"},"selector":{"description":"Value for selector.","maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","selector","approved"],"type":"object"}]},"step_id":{"description":"Value for step id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"timeout_ms":{"description":"Value for timeout ms.","maximum":60000,"minimum":1,"type":"integer"}},"required":["step_id","action","locator","key"],"type":"object"},{"additionalProperties":false,"properties":{"action":{"const":"select_option","description":"Value for action.","type":"string"},"locator":{"description":"Value for locator.","oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"test_id","description":"Value for kind.","type":"string"},"value":{"description":"Value for value.","maxLength":512,"minLength":1,"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"exact":{"const":true,"description":"Value for exact.","type":"boolean"},"kind":{"const":"role","description":"Value for kind.","type":"string"},"name":{"description":"Exact name used by this operation.","maxLength":1024,"minLength":1,"type":"string"},"role":{"description":"Value for role.","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"type":"string"}},"required":["kind","role","name","exact"],"type":"object"},{"additionalProperties":false,"properties":{"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"kind":{"const":"css","description":"Value for kind.","type":"string"},"selector":{"description":"Value for selector.","maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","selector","approved"],"type":"object"}]},"step_id":{"description":"Value for step id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"timeout_ms":{"description":"Value for timeout ms.","maximum":60000,"minimum":1,"type":"integer"},"value":{"description":"Value for value.","oneOf":[{"additionalProperties":false,"properties":{"classification":{"const":"public","description":"Value for classification.","type":"string"},"source":{"const":"literal","description":"Value for source.","type":"string"},"value":{"description":"Value for value.","maxLength":65536,"type":"string"}},"required":["source","value","classification"],"type":"object"},{"additionalProperties":false,"properties":{"secret_id":{"description":"Value for secret id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"source":{"const":"secret","description":"Value for source.","type":"string"}},"required":["source","secret_id"],"type":"object"}]}},"required":["step_id","action","locator","value"],"type":"object"},{"additionalProperties":false,"properties":{"action":{"description":"Value for action.","enum":["check","uncheck"],"type":"string"},"locator":{"description":"Value for locator.","oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"test_id","description":"Value for kind.","type":"string"},"value":{"description":"Value for value.","maxLength":512,"minLength":1,"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"exact":{"const":true,"description":"Value for exact.","type":"boolean"},"kind":{"const":"role","description":"Value for kind.","type":"string"},"name":{"description":"Exact name used by this operation.","maxLength":1024,"minLength":1,"type":"string"},"role":{"description":"Value for role.","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"type":"string"}},"required":["kind","role","name","exact"],"type":"object"},{"additionalProperties":false,"properties":{"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"kind":{"const":"css","description":"Value for kind.","type":"string"},"selector":{"description":"Value for selector.","maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","selector","approved"],"type":"object"}]},"step_id":{"description":"Value for step id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"timeout_ms":{"description":"Value for timeout ms.","maximum":60000,"minimum":1,"type":"integer"}},"required":["step_id","action","locator"],"type":"object"},{"additionalProperties":false,"properties":{"action":{"const":"wait_for","description":"Value for action.","type":"string"},"locator":{"description":"Value for locator.","oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"test_id","description":"Value for kind.","type":"string"},"value":{"description":"Value for value.","maxLength":512,"minLength":1,"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"exact":{"const":true,"description":"Value for exact.","type":"boolean"},"kind":{"const":"role","description":"Value for kind.","type":"string"},"name":{"description":"Exact name used by this operation.","maxLength":1024,"minLength":1,"type":"string"},"role":{"description":"Value for role.","enum":["button","checkbox","combobox","dialog","link","listbox","menuitem","option","radio","slider","spinbutton","switch","tab","textbox"],"type":"string"}},"required":["kind","role","name","exact"],"type":"object"},{"additionalProperties":false,"properties":{"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"kind":{"const":"css","description":"Value for kind.","type":"string"},"selector":{"description":"Value for selector.","maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","selector","approved"],"type":"object"}]},"state":{"description":"Value for state.","enum":["attached","detached","visible","hidden"],"type":"string"},"step_id":{"description":"Value for step id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"timeout_ms":{"description":"Value for timeout ms.","maximum":60000,"minimum":1,"type":"integer"}},"required":["step_id","action","locator","state"],"type":"object"},{"additionalProperties":false,"properties":{"action":{"const":"wait_for_timeout","description":"Value for action.","type":"string"},"duration_ms":{"description":"Value for duration ms.","maximum":60000,"minimum":1,"type":"integer"},"step_id":{"description":"Value for step id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"}},"required":["step_id","action","duration_ms"],"type":"object"}]},"maxItems":128,"minItems":1,"type":"array"},"allowed_origins":{"description":"Value for allowed origins.","items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"browser":{"description":"Value for browser.","oneOf":[{"additionalProperties":false,"properties":{"cleanup":{"const":"close-and-delete-profile","description":"Value for cleanup.","type":"string"},"executable_path":{"description":"Local filesystem path for executable.","maxLength":4096,"minLength":1,"type":"string"},"headless":{"const":true,"description":"Value for headless.","type":"boolean"},"mode":{"const":"launch","description":"Operation mode that selects the requested behavior.","type":"string"},"user_data":{"const":"temporary-owned","description":"Value for user data.","type":"string"}},"required":["mode","executable_path","headless","user_data","cleanup"],"type":"object"},{"additionalProperties":false,"properties":{"cdp_endpoint":{"description":"Approved literal loopback Chrome DevTools Protocol endpoint.","maxLength":2048,"minLength":1,"type":"string"},"cleanup":{"const":"disconnect-only","description":"Value for cleanup.","type":"string"},"mode":{"const":"connect","description":"Operation mode that selects the requested behavior.","type":"string"},"ownership":{"const":"external","description":"Value for ownership.","type":"string"},"target_id":{"description":"Exact authorized CDP target identifier.","maxLength":256,"minLength":1,"type":"string"}},"required":["mode","cdp_endpoint","target_id","ownership","cleanup"],"type":"object"}]},"capture":{"additionalProperties":false,"description":"Value for capture.","properties":{"after_each_step":{"description":"Value for after each step.","items":{"enum":["screenshot","dom","accessibility","url","history","storage"],"type":"string"},"maxItems":6,"type":"array"},"at_end":{"description":"Value for at end.","items":{"enum":["screenshot","dom","accessibility","url","history","storage"],"type":"string"},"maxItems":6,"type":"array"},"events":{"description":"Value for events.","items":{"enum":["console","page-errors","network","websockets","frames","workers","popups","downloads"],"type":"string"},"type":"array"}},"required":["after_each_step","at_end","events"],"type":"object"},"environment":{"additionalProperties":false,"description":"Value for environment.","properties":{"color_scheme":{"description":"Value for color scheme.","enum":["light","dark","no-preference"],"type":"string"},"locale":{"description":"Value for locale.","maxLength":64,"minLength":2,"pattern":"^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$","type":"string"},"reduced_motion":{"description":"Value for reduced motion.","enum":["reduce","no-preference"],"type":"string"},"service_workers":{"const":"block","description":"Value for service workers.","type":"string"},"timezone":{"description":"Value for timezone.","maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_+-]+(?:\\\\/[A-Za-z0-9_+-]+)*$","type":"string"},"viewport":{"additionalProperties":false,"description":"Value for viewport.","properties":{"device_scale_factor":{"default":1,"description":"Value for device scale factor.","maximum":4,"minimum":0.5,"type":"number"},"height":{"description":"Value for height.","maximum":4320,"minimum":240,"type":"integer"},"width":{"description":"Value for width.","maximum":7680,"minimum":320,"type":"integer"}},"required":["width","height"],"type":"object"}},"required":["viewport","locale","timezone","color_scheme","reduced_motion","service_workers"],"type":"object"},"limits":{"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"action_timeout_ms":{"description":"Value for action timeout ms.","maximum":60000,"minimum":1,"type":"integer"},"max_accessibility_nodes":{"description":"Maximum permitted accessibility nodes for this operation.","maximum":100000,"minimum":1,"type":"integer"},"max_dom_nodes":{"description":"Maximum permitted dom nodes for this operation.","maximum":100000,"minimum":1,"type":"integer"},"max_duration_ms":{"description":"Maximum permitted duration ms for this operation.","maximum":300000,"minimum":100,"type":"integer"},"max_events":{"description":"Maximum permitted events for this operation.","maximum":100000,"minimum":1,"type":"integer"},"max_frames":{"description":"Maximum permitted frames for this operation.","maximum":1000,"minimum":1,"type":"integer"},"max_popups":{"description":"Maximum permitted popups for this operation.","maximum":100,"minimum":0,"type":"integer"},"max_screenshot_bytes":{"description":"Maximum permitted screenshot bytes for this operation.","maximum":8388608,"minimum":1,"type":"integer"},"max_screenshots":{"description":"Maximum permitted screenshots for this operation.","maximum":256,"minimum":0,"type":"integer"},"max_storage_entries":{"description":"Maximum permitted storage entries for this operation.","maximum":512,"minimum":0,"type":"integer"},"max_total_metadata_bytes":{"description":"Maximum permitted total metadata bytes for this operation.","maximum":67108864,"minimum":1024,"type":"integer"},"max_websockets":{"description":"Maximum permitted websockets for this operation.","maximum":10000,"minimum":0,"type":"integer"},"max_workers":{"description":"Maximum permitted workers for this operation.","maximum":1000,"minimum":0,"type":"integer"},"navigation_timeout_ms":{"description":"Value for navigation timeout ms.","maximum":60000,"minimum":1,"type":"integer"}},"required":["max_duration_ms","action_timeout_ms","navigation_timeout_ms","max_events","max_frames","max_workers","max_popups","max_websockets","max_dom_nodes","max_accessibility_nodes","max_screenshots","max_screenshot_bytes","max_storage_entries","max_total_metadata_bytes"],"type":"object"},"redaction":{"additionalProperties":false,"description":"Value for redaction.","properties":{"header_names":{"description":"Value for header names.","items":{"maxLength":256,"minLength":1,"type":"string"},"maxItems":128,"type":"array"},"query_parameter_names":{"description":"Value for query parameter names.","items":{"maxLength":256,"minLength":1,"type":"string"},"maxItems":128,"type":"array"},"secret_values":{"const":"replace-with-secret-reference","description":"Value for secret values.","type":"string"}},"required":["secret_values"],"type":"object"},"request_replay":{"description":"Value for request replay.","oneOf":[{"additionalProperties":false,"properties":{"mode":{"const":"disabled","description":"Operation mode that selects the requested behavior.","type":"string"}},"required":["mode"],"type":"object"},{"additionalProperties":false,"properties":{"mode":{"const":"exact","description":"Operation mode that selects the requested behavior.","type":"string"},"routes":{"description":"Value for routes.","items":{"additionalProperties":false,"properties":{"method":{"description":"Value for method.","enum":["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS"],"type":"string"},"request":{"additionalProperties":false,"description":"Value for request.","properties":{"query":{"default":[],"description":"Non-empty feature or text query to investigate.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","maxLength":256,"minLength":1,"type":"string"},"value":{"description":"Value for value.","oneOf":[{"additionalProperties":false,"properties":{"classification":{"const":"public","description":"Value for classification.","type":"string"},"source":{"const":"literal","description":"Value for source.","type":"string"},"value":{"description":"Value for value.","maxLength":65536,"type":"string"}},"required":["source","value","classification"],"type":"object"},{"additionalProperties":false,"properties":{"secret_id":{"description":"Value for secret id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"source":{"const":"secret","description":"Value for source.","type":"string"}},"required":["source","secret_id"],"type":"object"}]}},"required":["name","value"],"type":"object"},"maxItems":64,"type":"array"},"url":{"description":"Value for url.","maxLength":65536,"minLength":1,"type":"string"}},"required":["url"],"type":"object"},"response":{"description":"Value for response.","oneOf":[{"additionalProperties":false,"properties":{"body":{"description":"Value for body.","oneOf":[{"additionalProperties":false,"properties":{"classification":{"const":"public","description":"Value for classification.","type":"string"},"source":{"const":"literal","description":"Value for source.","type":"string"},"value":{"description":"Value for value.","maxLength":65536,"type":"string"}},"required":["source","value","classification"],"type":"object"},{"additionalProperties":false,"properties":{"secret_id":{"description":"Value for secret id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"source":{"const":"secret","description":"Value for source.","type":"string"}},"required":["source","secret_id"],"type":"object"}]},"headers":{"description":"Value for headers.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","maxLength":256,"minLength":1,"pattern":"^[!#$%&\'*+\\\\-.^_`|~0-9A-Za-z]+$","type":"string"},"value":{"description":"Value for value.","oneOf":[{"additionalProperties":false,"properties":{"classification":{"const":"public","description":"Value for classification.","type":"string"},"source":{"const":"literal","description":"Value for source.","type":"string"},"value":{"description":"Value for value.","maxLength":65536,"type":"string"}},"required":["source","value","classification"],"type":"object"},{"additionalProperties":false,"properties":{"secret_id":{"description":"Value for secret id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"source":{"const":"secret","description":"Value for source.","type":"string"}},"required":["source","secret_id"],"type":"object"}]}},"required":["name","value"],"type":"object"},"maxItems":64,"type":"array"},"kind":{"const":"response","description":"Value for kind.","type":"string"},"status":{"description":"Current lifecycle or verification status.","maximum":599,"minimum":100,"type":"integer"}},"required":["kind","status"],"type":"object"},{"additionalProperties":false,"properties":{"destination":{"additionalProperties":false,"description":"Value for destination.","properties":{"query":{"default":[],"description":"Non-empty feature or text query to investigate.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","maxLength":256,"minLength":1,"type":"string"},"value":{"description":"Value for value.","oneOf":[{"additionalProperties":false,"properties":{"classification":{"const":"public","description":"Value for classification.","type":"string"},"source":{"const":"literal","description":"Value for source.","type":"string"},"value":{"description":"Value for value.","maxLength":65536,"type":"string"}},"required":["source","value","classification"],"type":"object"},{"additionalProperties":false,"properties":{"secret_id":{"description":"Value for secret id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"source":{"const":"secret","description":"Value for source.","type":"string"}},"required":["source","secret_id"],"type":"object"}]}},"required":["name","value"],"type":"object"},"maxItems":64,"type":"array"},"url":{"description":"Value for url.","maxLength":65536,"minLength":1,"type":"string"}},"required":["url"],"type":"object"},"kind":{"const":"redirect","description":"Value for kind.","type":"string"},"status":{"anyOf":[{"const":301,"type":"number"},{"const":302,"type":"number"},{"const":303,"type":"number"},{"const":307,"type":"number"},{"const":308,"type":"number"}],"description":"Current lifecycle or verification status."}},"required":["kind","status","destination"],"type":"object"}]},"route_id":{"description":"Value for route id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"}},"required":["route_id","method","request","response"],"type":"object"},"maxItems":256,"minItems":1,"type":"array"},"unmatched":{"description":"Value for unmatched.","enum":["abort","passthrough-approved-origins"],"type":"string"}},"required":["mode","unmatched","routes"],"type":"object"}]},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"},"secrets":{"default":[],"description":"Value for secrets.","items":{"additionalProperties":false,"properties":{"environment_variable":{"description":"Value for environment variable.","pattern":"^[A-Z_][A-Z0-9_]{0,127}$","type":"string"},"purpose":{"description":"Value for purpose.","enum":["input","storage","request-replay"],"type":"string"},"redaction":{"const":"replace-with-secret-reference","description":"Value for redaction.","type":"string"},"secret_id":{"description":"Value for secret id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"}},"required":["secret_id","environment_variable","purpose","redaction"],"type":"object"},"maxItems":64,"type":"array"},"start_url":{"additionalProperties":false,"description":"Value for start url.","properties":{"query":{"default":[],"description":"Non-empty feature or text query to investigate.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","maxLength":256,"minLength":1,"type":"string"},"value":{"description":"Value for value.","oneOf":[{"additionalProperties":false,"properties":{"classification":{"const":"public","description":"Value for classification.","type":"string"},"source":{"const":"literal","description":"Value for source.","type":"string"},"value":{"description":"Value for value.","maxLength":65536,"type":"string"}},"required":["source","value","classification"],"type":"object"},{"additionalProperties":false,"properties":{"secret_id":{"description":"Value for secret id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"source":{"const":"secret","description":"Value for source.","type":"string"}},"required":["source","secret_id"],"type":"object"}]}},"required":["name","value"],"type":"object"},"maxItems":64,"type":"array"},"url":{"description":"Value for url.","maxLength":65536,"minLength":1,"type":"string"}},"required":["url"],"type":"object"},"storage":{"additionalProperties":false,"description":"Value for storage.","properties":{"cookies":{"description":"Value for cookies.","items":{"additionalProperties":false,"properties":{"destination":{"additionalProperties":false,"description":"Value for destination.","properties":{"query":{"default":[],"description":"Non-empty feature or text query to investigate.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","maxLength":256,"minLength":1,"type":"string"},"value":{"description":"Value for value.","oneOf":[{"additionalProperties":false,"properties":{"classification":{"const":"public","description":"Value for classification.","type":"string"},"source":{"const":"literal","description":"Value for source.","type":"string"},"value":{"description":"Value for value.","maxLength":65536,"type":"string"}},"required":["source","value","classification"],"type":"object"},{"additionalProperties":false,"properties":{"secret_id":{"description":"Value for secret id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"source":{"const":"secret","description":"Value for source.","type":"string"}},"required":["source","secret_id"],"type":"object"}]}},"required":["name","value"],"type":"object"},"maxItems":64,"type":"array"},"url":{"description":"Value for url.","maxLength":65536,"minLength":1,"type":"string"}},"required":["url"],"type":"object"},"http_only":{"description":"Value for http only.","type":"boolean"},"name":{"description":"Exact name used by this operation.","maxLength":1024,"minLength":1,"type":"string"},"same_site":{"description":"Value for same site.","enum":["Strict","Lax","None"],"type":"string"},"secure":{"description":"Value for secure.","type":"boolean"},"value":{"description":"Value for value.","oneOf":[{"additionalProperties":false,"properties":{"classification":{"const":"public","description":"Value for classification.","type":"string"},"source":{"const":"literal","description":"Value for source.","type":"string"},"value":{"description":"Value for value.","maxLength":65536,"type":"string"}},"required":["source","value","classification"],"type":"object"},{"additionalProperties":false,"properties":{"secret_id":{"description":"Value for secret id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"source":{"const":"secret","description":"Value for source.","type":"string"}},"required":["source","secret_id"],"type":"object"}]}},"required":["name","value","destination","http_only","secure","same_site"],"type":"object"},"maxItems":128,"type":"array"},"local_storage":{"description":"Value for local storage.","items":{"additionalProperties":false,"properties":{"entries":{"description":"Value for entries.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","maxLength":1024,"minLength":1,"type":"string"},"value":{"description":"Value for value.","oneOf":[{"additionalProperties":false,"properties":{"classification":{"const":"public","description":"Value for classification.","type":"string"},"source":{"const":"literal","description":"Value for source.","type":"string"},"value":{"description":"Value for value.","maxLength":65536,"type":"string"}},"required":["source","value","classification"],"type":"object"},{"additionalProperties":false,"properties":{"secret_id":{"description":"Value for secret id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"source":{"const":"secret","description":"Value for source.","type":"string"}},"required":["source","secret_id"],"type":"object"}]}},"required":["name","value"],"type":"object"},"maxItems":128,"type":"array"},"origin":{"description":"Value for origin.","maxLength":2048,"minLength":1,"type":"string"}},"required":["origin","entries"],"type":"object"},"maxItems":32,"type":"array"},"session_storage":{"description":"Value for session storage.","items":{"additionalProperties":false,"properties":{"entries":{"description":"Value for entries.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","maxLength":1024,"minLength":1,"type":"string"},"value":{"description":"Value for value.","oneOf":[{"additionalProperties":false,"properties":{"classification":{"const":"public","description":"Value for classification.","type":"string"},"source":{"const":"literal","description":"Value for source.","type":"string"},"value":{"description":"Value for value.","maxLength":65536,"type":"string"}},"required":["source","value","classification"],"type":"object"},{"additionalProperties":false,"properties":{"secret_id":{"description":"Value for secret id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"source":{"const":"secret","description":"Value for source.","type":"string"}},"required":["source","secret_id"],"type":"object"}]}},"required":["name","value"],"type":"object"},"maxItems":128,"type":"array"},"origin":{"description":"Value for origin.","maxLength":2048,"minLength":1,"type":"string"}},"required":["origin","entries"],"type":"object"},"maxItems":32,"type":"array"}},"type":"object"}},"required":["schema_version","browser","start_url","allowed_origins","environment","actions","storage","request_replay","redaction","capture","limits","approved"],"type":"object"},"kind":"browser-provider","name":"capture_browser_scenario","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"browser":{"additionalProperties":false,"properties":{"cleanup":{"enum":["terminated-owned-process","disconnected-external"],"type":"string"},"mode":{"enum":["launch","connect"],"type":"string"},"process_ownership":{"enum":["provider-owned","external"],"type":"string"},"product":{"maxLength":1024,"minLength":1,"type":"string"},"version":{"maxLength":256,"minLength":1,"type":"string"}},"required":["mode","process_ownership","cleanup","product","version"],"type":"object"},"completeness":{"additionalProperties":false,"properties":{"equality_eligible":{"type":"boolean"},"missing_sections":{"items":{"enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"],"type":"string"},"type":"array"},"status":{"enum":["complete","incomplete","truncated"],"type":"string"},"truncated_sections":{"items":{"enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"],"type":"string"},"type":"array"}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"type":"object"},"duration_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"events":{"additionalProperties":false,"properties":{"dropped":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"items":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"console","type":"string"},"level":{"maxLength":64,"minLength":1,"type":"string"},"sequence":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"step_index":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"text":{"maxLength":65536,"type":"string"},"url":{"anyOf":[{"additionalProperties":false,"properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"query_parameter_names":{"items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"type":"boolean"},"url":{"maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},{"type":"null"}]}},"required":["sequence","step_index","kind","level","text","url"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"page-error","type":"string"},"message":{"maxLength":65536,"type":"string"},"sequence":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"stack":{"anyOf":[{"maxLength":262144,"type":"string"},{"type":"null"}]},"step_index":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["sequence","step_index","kind","message","stack"],"type":"object"},{"additionalProperties":false,"properties":{"failure":{"anyOf":[{"maxLength":1024,"type":"string"},{"type":"null"}]},"header_names":{"items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"kind":{"enum":["request","response","request-failed"],"type":"string"},"method":{"maxLength":32,"minLength":1,"type":"string"},"resource_type":{"maxLength":64,"minLength":1,"type":"string"},"sequence":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"status":{"anyOf":[{"maximum":599,"minimum":100,"type":"integer"},{"type":"null"}]},"step_index":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"url":{"additionalProperties":false,"properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"query_parameter_names":{"items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"type":"boolean"},"url":{"maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"}},"required":["sequence","step_index","kind","method","url","resource_type","status","header_names","failure"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["websocket-opened","websocket-closed"],"type":"string"},"sequence":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"step_index":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"url":{"additionalProperties":false,"properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"query_parameter_names":{"items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"type":"boolean"},"url":{"maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"}},"required":["sequence","step_index","kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["websocket-frame-sent","websocket-frame-received"],"type":"string"},"payload_bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"payload_text":{"anyOf":[{"maxLength":65536,"type":"string"},{"type":"null"}]},"payload_type":{"enum":["text","binary"],"type":"string"},"sequence":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"step_index":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"truncated":{"type":"boolean"},"url":{"additionalProperties":false,"properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"query_parameter_names":{"items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"type":"boolean"},"url":{"maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"}},"required":["sequence","step_index","kind","url","payload_type","payload_bytes","payload_text","truncated"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["frame-attached","frame-detached","frame-navigated","worker-created","worker-closed","popup-opened","popup-closed"],"type":"string"},"name":{"anyOf":[{"maxLength":1024,"type":"string"},{"type":"null"}]},"sequence":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"step_index":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"url":{"anyOf":[{"additionalProperties":false,"properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"query_parameter_names":{"items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"type":"boolean"},"url":{"maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},{"type":"null"}]}},"required":["sequence","step_index","kind","url","name"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"download-cancelled","type":"string"},"sequence":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"step_index":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"suggested_filename":{"maxLength":1024,"type":"string"},"url":{"additionalProperties":false,"properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"query_parameter_names":{"items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"type":"boolean"},"url":{"maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"}},"required":["sequence","step_index","kind","suggested_filename","url"],"type":"object"}]},"maxItems":100000,"type":"array"},"retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["retained","dropped","items"],"type":"object"},"limitations":{"items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":64,"type":"array"},"scenario":{"additionalProperties":false,"properties":{"action_count":{"maximum":128,"minimum":1,"type":"integer"},"allowed_origins":{"items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"secret_references":{"items":{"maxLength":64,"minLength":1,"type":"string"},"maxItems":64,"type":"array"},"start_origin":{"maxLength":2048,"minLength":1,"type":"string"}},"required":["start_origin","allowed_origins","action_count","secret_references"],"type":"object"},"schema_version":{"const":1,"type":"number"},"steps":{"items":{"additionalProperties":false,"properties":{"action":{"maxLength":64,"minLength":1,"type":"string"},"after_url":{"additionalProperties":false,"properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"query_parameter_names":{"items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"type":"boolean"},"url":{"maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},"artifacts":{"additionalProperties":false,"properties":{"accessibility":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","type":"string"},"value":{"additionalProperties":false,"properties":{"bytes":{"maximum":16777216,"minimum":0,"type":"integer"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"text":{"maxLength":1048576,"type":"string"}},"required":["sha256","bytes","text"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"maxLength":1024,"minLength":1,"type":"string"},"retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]},"dom":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","type":"string"},"value":{"additionalProperties":false,"properties":{"bytes":{"maximum":16777216,"minimum":0,"type":"integer"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"text":{"maxLength":1048576,"type":"string"}},"required":["sha256","bytes","text"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"maxLength":1024,"minLength":1,"type":"string"},"retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]},"history":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","type":"string"},"value":{"additionalProperties":false,"properties":{"current_url":{"additionalProperties":false,"properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"query_parameter_names":{"items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"type":"boolean"},"url":{"maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},"length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"navigation_entries":{"items":{"additionalProperties":false,"properties":{"name":{"additionalProperties":false,"properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"query_parameter_names":{"items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"type":"boolean"},"url":{"maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},"type":{"enum":["navigate","reload","back_forward","prerender","unknown"],"type":"string"}},"required":["type","name"],"type":"object"},"maxItems":256,"type":"array"}},"required":["length","current_url","navigation_entries"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"maxLength":1024,"minLength":1,"type":"string"},"retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]},"screenshot":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","type":"string"},"value":{"additionalProperties":false,"properties":{"bytes":{"maximum":8388608,"minimum":1,"type":"integer"},"data_base64":{"maxLength":11184815,"type":"string"},"media_type":{"const":"image/png","type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"uri":{"pattern":"^rea:\\\\/\\\\/web-screenshot\\\\/sha256\\\\/[a-f0-9]{64}$","type":"string"}},"required":["uri","sha256","bytes","media_type","data_base64"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"maxLength":1024,"minLength":1,"type":"string"},"retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]},"storage":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","type":"string"},"value":{"additionalProperties":false,"properties":{"cookies":{"items":{"additionalProperties":false,"properties":{"domain":{"maxLength":2048,"type":"string"},"http_only":{"type":"boolean"},"name":{"maxLength":1024,"type":"string"},"path":{"maxLength":4096,"type":"string"},"same_site":{"enum":["Strict","Lax","None"],"type":"string"},"secure":{"type":"boolean"},"value_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"value_state":{"enum":["hashed","redacted-secret"],"type":"string"}},"required":["name","domain","path","secure","http_only","same_site","value_state","value_sha256"],"type":"object"},"maxItems":512,"type":"array"},"local_storage":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":1024,"type":"string"},"value_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"value_state":{"enum":["hashed","redacted-secret"],"type":"string"}},"required":["name","value_state","value_sha256"],"type":"object"},"maxItems":512,"type":"array"},"session_storage":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":1024,"type":"string"},"value_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"value_state":{"enum":["hashed","redacted-secret"],"type":"string"}},"required":["name","value_state","value_sha256"],"type":"object"},"maxItems":512,"type":"array"}},"required":["cookies","local_storage","session_storage"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"maxLength":1024,"minLength":1,"type":"string"},"retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]},"url":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"captured","type":"string"},"value":{"additionalProperties":false,"properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"query_parameter_names":{"items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"type":"boolean"},"url":{"maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"not_requested","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"maxLength":1024,"minLength":1,"type":"string"},"state":{"const":"missing","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"observed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reason":{"maxLength":1024,"minLength":1,"type":"string"},"retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"const":"truncated","type":"string"}},"required":["state","observed","retained","reason"],"type":"object"}]}},"required":["screenshot","dom","accessibility","url","history","storage"],"type":"object"},"before_url":{"additionalProperties":false,"properties":{"origin":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}]},"query_parameter_names":{"items":{"maxLength":256,"type":"string"},"maxItems":256,"type":"array"},"redacted":{"type":"boolean"},"url":{"maxLength":131072,"type":"string"}},"required":["url","origin","query_parameter_names","redacted"],"type":"object"},"completeness":{"additionalProperties":false,"properties":{"equality_eligible":{"type":"boolean"},"missing_sections":{"items":{"enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"],"type":"string"},"type":"array"},"status":{"enum":["complete","incomplete","truncated"],"type":"string"},"truncated_sections":{"items":{"enum":["action","screenshot","dom","accessibility","url","history","storage","events","frames","workers","popups","websockets"],"type":"string"},"type":"array"}},"required":["status","equality_eligible","missing_sections","truncated_sections"],"type":"object"},"elapsed_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"error":{"anyOf":[{"maxLength":4096,"type":"string"},{"type":"null"}]},"event_sequence_end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"event_sequence_start":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"status":{"enum":["completed","failed","cancelled"],"type":"string"},"step_id":{"maxLength":64,"minLength":1,"type":"string"},"step_index":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["step_index","step_id","action","status","elapsed_ms","before_url","after_url","error","event_sequence_start","event_sequence_end","artifacts","completeness"],"type":"object"},"maxItems":129,"minItems":1,"type":"array"}},"required":["schema_version","browser","scenario","duration_ms","steps","events","completeness","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Capture Browser Scenario"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"List Electron file:// page targets from an approved user-owned loopback CDP endpoint. Every path is canonicalized and must remain contained by an approved filesystem root, including after symlink resolution.","effects":{"accessesNetwork":true,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"allowed_file_roots":["/Applications/Example.app/Contents/Resources"],"approved":true,"cdp_endpoint":"http://127.0.0.1:9223","limit":100,"offset":0}],"properties":{"allowed_file_roots":{"description":"Approved canonical filesystem allowed file roots.","items":{"maxLength":16384,"minLength":1,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"cdp_endpoint":{"description":"Approved literal loopback Chrome DevTools Protocol endpoint.","maxLength":2048,"minLength":1,"type":"string"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":200,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["cdp_endpoint","allowed_file_roots","approved"],"type":"object"},"kind":"electron-provider","name":"list_electron_targets","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"browser":{"additionalProperties":false,"properties":{"js_version":{"type":"string"},"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"type":"object"},"excluded":{"additionalProperties":false,"properties":{"non_page":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"outside_root":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unsupported_url":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["outside_root","unsupported_url","non_page"],"type":"object"},"limitations":{"items":{"type":"string"},"type":"array"},"schema_version":{"const":1,"type":"number"},"targets":{"additionalProperties":false,"properties":{"has_more":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"attached":{"type":"boolean"},"file_path":{"type":"string"},"target_id":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"}},"required":["target_id","type","title","file_path","attached"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset","has_more"],"type":"object"}},"required":["schema_version","browser","targets","excluded","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"List Electron Targets"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Passively inspect one approved Electron file page through CDP. Returns root-confined frames, DOM structure, resource paths, and scripts without evaluating renderer JavaScript or invoking Electron APIs; script contents require separate approval.","effects":{"accessesNetwork":true,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"allOf":[{"if":{"properties":{"include_script_sources":{"const":true,"description":"Whether include_script_sources was requested"}},"required":["include_script_sources"]},"then":{"properties":{"source_capture_approved":{"const":true,"description":"Approval for include_script_sources"}},"required":["source_capture_approved"]}}],"examples":[{"allowed_file_roots":["/Applications/Example.app/Contents/Resources"],"approved":true,"cdp_endpoint":"http://127.0.0.1:9223","include_script_sources":false,"limits":{"max_dom_nodes":2000,"max_frames":200,"max_resources":2000,"max_script_source_bytes":1048576,"max_scripts":500,"max_total_script_source_bytes":4194304,"max_workers":500},"observation_ms":100,"source_capture_approved":false,"target_id":"TARGET_ID_FROM_LIST_ELECTRON_TARGETS"}],"properties":{"allowed_file_roots":{"description":"Approved canonical filesystem allowed file roots.","items":{"maxLength":16384,"minLength":1,"type":"string"},"maxItems":32,"minItems":1,"type":"array"},"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"cdp_endpoint":{"description":"Approved literal loopback Chrome DevTools Protocol endpoint.","maxLength":2048,"minLength":1,"type":"string"},"include_script_sources":{"default":false,"description":"Whether to include script sources in the result.","type":"boolean"},"limits":{"additionalProperties":false,"default":{"max_dom_nodes":2000,"max_frames":200,"max_resources":2000,"max_script_source_bytes":1048576,"max_scripts":500,"max_total_script_source_bytes":4194304,"max_workers":500},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"max_dom_nodes":{"default":2000,"description":"Maximum permitted dom nodes for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_frames":{"default":200,"description":"Maximum permitted frames for this operation.","maximum":1000,"minimum":1,"type":"integer"},"max_resources":{"default":2000,"description":"Maximum permitted resources for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_script_source_bytes":{"default":1048576,"description":"Maximum permitted script source bytes for this operation.","maximum":4194304,"minimum":1,"type":"integer"},"max_scripts":{"default":500,"description":"Maximum permitted scripts for this operation.","maximum":2000,"minimum":1,"type":"integer"},"max_total_script_source_bytes":{"default":4194304,"description":"Maximum permitted total script source bytes for this operation.","maximum":16777216,"minimum":1,"type":"integer"},"max_workers":{"default":500,"description":"Maximum permitted workers for this operation.","maximum":5000,"minimum":1,"type":"integer"}},"type":"object"},"observation_ms":{"default":100,"description":"Value for observation ms.","maximum":10000,"minimum":0,"type":"integer"},"source_capture_approved":{"default":false,"description":"Explicit operator approval for source capture.","type":"boolean"},"target_id":{"description":"Exact authorized CDP target identifier.","maxLength":256,"minLength":1,"type":"string"}},"required":["cdp_endpoint","allowed_file_roots","approved","target_id"],"type":"object"},"kind":"electron-provider","name":"inspect_electron_page","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"browser":{"additionalProperties":false,"properties":{"js_version":{"type":"string"},"product":{"type":"string"},"protocol_version":{"type":"string"},"revision":{"type":"string"},"user_agent":{"type":"string"}},"required":["product","protocol_version","revision","user_agent","js_version"],"type":"object"},"capture_window":{"additionalProperties":false,"properties":{"ended_at":{"format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"observation_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"started_at":{"format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"}},"required":["started_at","ended_at","observation_ms"],"type":"object"},"completeness":{"additionalProperties":false,"properties":{"attach_limited_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"conditions":{"items":{"enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"maxItems":3,"minItems":1,"type":"array"},"dropped_events":{"additionalProperties":false,"properties":{"console_events":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"network_requests":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"scripts":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"timeline_events":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"webmcp_tools":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_connections":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"websocket_frames":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["scripts","network_requests","console_events","websocket_connections","websocket_frames","webmcp_tools","timeline_events","total"],"type":"object"},"excluded":{"items":{"additionalProperties":false,"properties":{"count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"reason":{"enum":["disallowed_origin","unsupported_url","unattributed_origin","not_approved","out_of_target_scope","provider_unavailable","invalid_protocol_value"],"type":"string"},"section":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"}},"required":["section","reason","count"],"type":"object"},"type":"array"},"policy_filtered_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"status":{"enum":["complete_within_window","policy_filtered","attach_limited","truncated"],"type":"string"},"truncated_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"},"unavailable_sections":{"items":{"enum":["frames","dom","accessibility","scripts","script_sources","resources","network_requests","network_initiators","console_events","console_text","websocket_connections","websocket_frames","websocket_shapes","json_body_shapes","workers","storage","storage_keys","metadata","webmcp_tools","screenshot","source_maps","timeline"],"type":"string"},"type":"array"}},"required":["status","conditions","policy_filtered_sections","attach_limited_sections","truncated_sections","unavailable_sections","excluded","dropped_events"],"type":"object"},"dom":{"additionalProperties":false,"properties":{"nodes":{"items":{"additionalProperties":false,"properties":{"attribute_names":{"items":{"type":"string"},"type":"array"},"index":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"node_name":{"type":"string"},"node_type":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"node_value_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"parent_index":{"maximum":9007199254740991,"minimum":-1,"type":"integer"}},"required":["index","parent_index","node_type","node_name","node_value_length","attribute_names"],"type":"object"},"type":"array"},"total_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total_nodes","nodes"],"type":"object"},"frames":{"items":{"additionalProperties":false,"properties":{"file_path":{"type":"string"},"frame_id":{"type":"string"},"parent_frame_id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["frame_id","parent_frame_id","file_path"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"resources":{"items":{"additionalProperties":false,"properties":{"content_size":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}]},"file_path":{"type":"string"},"mime_type":{"type":"string"},"resource_key":{"pattern":"^electron_resource_[a-f0-9]{64}$","type":"string"},"type":{"type":"string"}},"required":["resource_key","file_path","type","mime_type","content_size"],"type":"object"},"type":"array"},"schema_version":{"const":1,"type":"number"},"scripts":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"cdp_hash":{"type":"string"},"file_path":{"type":"string"},"frame_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"is_module":{"type":"boolean"},"language":{"anyOf":[{"type":"string"},{"type":"null"}]},"length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"script_key":{"pattern":"^electron_script_[a-f0-9]{64}$","type":"string"},"source":{"oneOf":[{"additionalProperties":false,"properties":{"included":{"const":false,"type":"boolean"},"reason":{"type":"string"}},"required":["included","reason"],"type":"object"},{"additionalProperties":false,"properties":{"artifact":{"additionalProperties":false,"properties":{"bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"charset":{"const":"utf-8","type":"string"},"media_type":{"maxLength":256,"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"text":{"type":"string"},"uri":{"pattern":"^rea:\\\\/\\\\/web-content\\\\/sha256\\\\/[a-f0-9]{64}$","type":"string"}},"required":["uri","sha256","bytes","media_type","charset","text"],"type":"object"},"included":{"const":true,"type":"boolean"}},"required":["included","artifact"],"type":"object"}]}},"required":["script_key","frame_id","file_path","cdp_hash","length","is_module","language","source"],"type":"object"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total","items"],"type":"object"},"target":{"additionalProperties":false,"properties":{"attached":{"type":"boolean"},"file_path":{"type":"string"},"target_id":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"}},"required":["target_id","type","title","file_path","attached"],"type":"object"},"workers":{"default":[],"items":{"additionalProperties":false,"properties":{"attached":{"type":"boolean"},"file_path":{"type":"string"},"opener_target_id":{"anyOf":[{"maxLength":256,"minLength":1,"type":"string"},{"type":"null"}]},"parent_frame_id":{"anyOf":[{"maxLength":256,"minLength":1,"type":"string"},{"type":"null"}]},"target_id":{"maxLength":256,"minLength":1,"type":"string"},"type":{"maxLength":100,"minLength":1,"type":"string"}},"required":["target_id","type","file_path","attached","opener_target_id","parent_frame_id"],"type":"object"},"type":"array"}},"required":["schema_version","browser","target","capture_window","completeness","frames","dom","scripts","resources","workers","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Inspect Electron Page"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Statically reconstruct one approved local ASAR or extracted JavaScript application without executing it. The default summary returns architecture/security counts, top evidence-backed findings, unknowns, and paged graph resource URIs; request detail=full only when the complete graph must be returned immediately. Identical inputs are deterministic, so do not repeat the call or reread full Evidence without a specific missing detail.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"approved":true,"detail":"summary","format":"auto","input_path":"/Applications/Example.app/Contents/Resources/app.asar","source_map_read_approved":false}],"properties":{"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"detail":{"default":"summary","description":"summary returns bounded findings and paged graph resource URIs; full returns the complete graph only when explicitly required","enum":["summary","full"],"type":"string"},"format":{"default":"auto","description":"Declared input artifact format.","enum":["auto","asar","directory"],"type":"string"},"input_path":{"description":"Local filesystem path for input.","maxLength":16384,"minLength":1,"type":"string"},"limits":{"additionalProperties":false,"default":{"max_artifact_entry_bytes":134217728,"max_ast_nodes":2000000,"max_compression_ratio":1000,"max_depth":64,"max_entries":8000,"max_findings":8000,"max_modules":20000,"max_parse_milliseconds":30000,"max_path_bytes":4096,"max_source_map_sources":5000,"max_text_file_bytes":8388608,"max_text_files":5000,"max_total_artifact_bytes":536870912,"max_total_text_bytes":134217728},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"max_artifact_entry_bytes":{"default":134217728,"description":"Maximum permitted artifact entry bytes for this operation.","maximum":9007199254740991,"minimum":1,"type":"integer"},"max_ast_nodes":{"default":2000000,"description":"Maximum permitted ast nodes for this operation.","maximum":20000000,"minimum":1,"type":"integer"},"max_compression_ratio":{"default":1000,"description":"Maximum permitted compression ratio for this operation.","maximum":100000,"minimum":1,"type":"number"},"max_depth":{"default":64,"description":"Maximum permitted depth for this operation.","maximum":100,"minimum":1,"type":"integer"},"max_entries":{"default":8000,"description":"Maximum permitted entries for this operation.","maximum":1000000,"minimum":1,"type":"integer"},"max_findings":{"default":8000,"description":"Maximum permitted findings for this operation.","maximum":200000,"minimum":1,"type":"integer"},"max_modules":{"default":20000,"description":"Maximum permitted modules for this operation.","maximum":100000,"minimum":1,"type":"integer"},"max_parse_milliseconds":{"default":30000,"description":"Maximum permitted parse milliseconds for this operation.","maximum":300000,"minimum":1,"type":"integer"},"max_path_bytes":{"default":4096,"description":"Maximum permitted path bytes for this operation.","maximum":65535,"minimum":1,"type":"integer"},"max_source_map_sources":{"default":5000,"description":"Maximum permitted source map sources for this operation.","maximum":100000,"minimum":1,"type":"integer"},"max_text_file_bytes":{"default":8388608,"description":"Maximum permitted text file bytes for this operation.","maximum":67108864,"minimum":1,"type":"integer"},"max_text_files":{"default":5000,"description":"Maximum permitted text files for this operation.","maximum":100000,"minimum":1,"type":"integer"},"max_total_artifact_bytes":{"default":536870912,"description":"Maximum permitted total artifact bytes for this operation.","maximum":9007199254740991,"minimum":1,"type":"integer"},"max_total_text_bytes":{"default":134217728,"description":"Maximum permitted total text bytes for this operation.","maximum":536870912,"minimum":1,"type":"integer"}},"type":"object"},"source_map_read_approved":{"default":false,"description":"Explicit operator approval for source map read.","type":"boolean"}},"required":["input_path","approved"],"type":"object"},"kind":"electron-provider","name":"analyze_javascript_application","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema1"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"format":{"enum":["asar","directory"],"type":"string"},"graph":{"additionalProperties":false,"properties":{"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"edge_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"type":"string"},"type":"array"},"node_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"node_kinds":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"kind":{"enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"],"type":"string"}},"required":["kind","count"],"type":"object"},"type":"array"},"pages":{"additionalProperties":false,"properties":{"edges":{"pattern":"^rea:\\\\/\\\\/evidence\\\\/.*","type":"string"},"nodes":{"pattern":"^rea:\\\\/\\\\/evidence\\\\/.*","type":"string"},"page_limit":{"maximum":500,"minimum":1,"type":"integer"}},"required":["nodes","edges","page_limit"],"type":"object"},"roots":{"additionalProperties":false,"properties":{"items":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"truncated":{"type":"boolean"}},"required":["items","total","truncated"],"type":"object"},"top_findings":{"items":{"additionalProperties":false,"properties":{"authority":{"type":"string"},"confidence":{"type":"string"},"kind":{"enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"],"type":"string"},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"$ref":"#/$defs/__schema0"},"node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"state":{"type":"string"}},"required":["node_id","kind","label","authority","state","confidence","location"],"type":"object"},"type":"array"}},"required":["graph_id","node_count","edge_count","roots","node_kinds","top_findings","coverage","limitations","pages"],"type":"object"},"input_path":{"maxLength":16384,"minLength":1,"type":"string"},"inventory_graph_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"inventory_manifest_id":{"pattern":"^agm_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"root_artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"schema_version":{"const":1,"type":"number"},"statistics":{"additionalProperties":false,"properties":{"findings":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"invalid_utf8_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"limit_omitted_text_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"modules":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"nested_asar_containers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_text_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"parse_failures":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"parsed_javascript_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"policy_filtered_text_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"relevant_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"text_bytes_read":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"text_files_selected":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"truncated_scopes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"visited_ast_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["relevant_files","nested_asar_containers","text_files_selected","text_bytes_read","omitted_text_files","limit_omitted_text_files","policy_filtered_text_files","invalid_utf8_files","parsed_javascript_files","visited_ast_nodes","findings","modules","parse_failures","truncated_scopes"],"type":"object"},"summary":{"additionalProperties":false,"properties":{"browser_windows":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"context_bridge_apis":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"explicit_web_preferences":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"exposed_api_members":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"ipc":{"additionalProperties":false,"properties":{"ambiguous_renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"dynamic_channel_operations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"literal_channels":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"main_handlers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"operations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"paired_renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"renderer_listeners":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unpaired_literal_renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["operations","literal_channels","dynamic_channel_operations","renderer_transmissions","renderer_listeners","main_handlers","paired_renderer_transmissions","ambiguous_renderer_transmissions","unpaired_literal_renderer_transmissions"],"type":"object"},"native_addon_bindings":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"preload_entrypoints":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"resolved_native_addon_bindings":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"resolved_utility_entrypoints":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"sender_validation_observations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"utility_processes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["browser_windows","explicit_web_preferences","preload_entrypoints","context_bridge_apis","exposed_api_members","ipc","sender_validation_observations","utility_processes","resolved_utility_entrypoints","native_addon_bindings","resolved_native_addon_bindings"],"type":"object"},"unknowns":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"}},"required":["schema_version","input_path","format","root_artifact_sha256","inventory_manifest_id","inventory_graph_sha256","summary","statistics","limitations","unknowns","graph"],"type":"object"},{"additionalProperties":false,"properties":{"format":{"enum":["asar","directory"],"type":"string"},"graph":{"additionalProperties":false,"properties":{"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"edge_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"type":"string"},"type":"array"},"node_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"node_kinds":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"kind":{"enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"],"type":"string"}},"required":["kind","count"],"type":"object"},"type":"array"},"pages":{"additionalProperties":false,"properties":{"edges":{"pattern":"^rea:\\\\/\\\\/evidence\\\\/.*","type":"string"},"nodes":{"pattern":"^rea:\\\\/\\\\/evidence\\\\/.*","type":"string"},"page_limit":{"maximum":500,"minimum":1,"type":"integer"}},"required":["nodes","edges","page_limit"],"type":"object"},"roots":{"additionalProperties":false,"properties":{"items":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"truncated":{"type":"boolean"}},"required":["items","total","truncated"],"type":"object"},"top_findings":{"items":{"additionalProperties":false,"properties":{"authority":{"type":"string"},"confidence":{"type":"string"},"kind":{"enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"],"type":"string"},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"$ref":"#/$defs/__schema0"},"node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"state":{"type":"string"}},"required":["node_id","kind","label","authority","state","confidence","location"],"type":"object"},"type":"array"}},"required":["graph_id","node_count","edge_count","roots","node_kinds","top_findings","coverage","limitations","pages"],"type":"object"},"input_path":{"maxLength":16384,"minLength":1,"type":"string"},"inventory_graph_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"inventory_manifest_id":{"pattern":"^agm_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"root_artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"schema_version":{"const":2,"type":"number"},"semantic_graph":{"additionalProperties":false,"properties":{"coverage":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"fingerprints":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"graph_id":{"pattern":"^jsrg_[a-f0-9]{64}$","type":"string"},"nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"query_tool":{"const":"trace_javascript_semantics","type":"string"},"relations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknown_frontiers":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["graph_id","nodes","relations","unknown_frontiers","fingerprints","coverage","query_tool"],"type":"object"},"statistics":{"additionalProperties":false,"properties":{"findings":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"invalid_utf8_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"limit_omitted_text_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"modules":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"nested_asar_containers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_text_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"parse_failures":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"parsed_javascript_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"policy_filtered_text_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"relevant_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"text_bytes_read":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"text_files_selected":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"truncated_scopes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"visited_ast_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["relevant_files","nested_asar_containers","text_files_selected","text_bytes_read","omitted_text_files","limit_omitted_text_files","policy_filtered_text_files","invalid_utf8_files","parsed_javascript_files","visited_ast_nodes","findings","modules","parse_failures","truncated_scopes"],"type":"object"},"summary":{"additionalProperties":false,"properties":{"browser_windows":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"context_bridge_apis":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"explicit_web_preferences":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"exposed_api_members":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"ipc":{"additionalProperties":false,"properties":{"ambiguous_renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"dynamic_channel_operations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"literal_channels":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"main_handlers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"operations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"paired_renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"renderer_listeners":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unpaired_literal_renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["operations","literal_channels","dynamic_channel_operations","renderer_transmissions","renderer_listeners","main_handlers","paired_renderer_transmissions","ambiguous_renderer_transmissions","unpaired_literal_renderer_transmissions"],"type":"object"},"native_addon_bindings":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"preload_entrypoints":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"resolved_native_addon_bindings":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"resolved_utility_entrypoints":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"sender_validation_observations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"utility_processes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["browser_windows","explicit_web_preferences","preload_entrypoints","context_bridge_apis","exposed_api_members","ipc","sender_validation_observations","utility_processes","resolved_utility_entrypoints","native_addon_bindings","resolved_native_addon_bindings"],"type":"object"},"unknowns":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"}},"required":["schema_version","input_path","format","root_artifact_sha256","inventory_manifest_id","inventory_graph_sha256","summary","statistics","limitations","unknowns","graph","semantic_graph"],"type":"object"}]},{"oneOf":[{"additionalProperties":false,"properties":{"format":{"enum":["asar","directory"],"type":"string"},"graph":{"additionalProperties":false,"properties":{"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"edges":{"items":{"additionalProperties":false,"properties":{"edge_id":{"pattern":"^jag_edge_[a-f0-9]{64}$","type":"string"},"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"relationship-exact","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"},"relation":{"enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"],"type":"string"},"source_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"target_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"type":"object"},"maxItems":200000,"type":"array"},"graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"nodes":{"items":{"additionalProperties":false,"properties":{"identity":{"oneOf":[{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"stability":{"const":"global-exact","type":"string"},"strategy":{"const":"content-digest","type":"string"}},"required":["strategy","stability","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"original_source":{"maxLength":4096,"minLength":1,"type":"string"},"source_map_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"source_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"stability":{"const":"source-map-exact","type":"string"},"strategy":{"const":"source-map-original","type":"string"}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"type":"object"},{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"artifact-version","type":"string"},"strategy":{"const":"canonical-path","type":"string"}},"required":["strategy","stability","artifact_sha256","path"],"type":"object"},{"additionalProperties":false,"properties":{"algorithm":{"maxLength":128,"minLength":1,"type":"string"},"basis":{"items":{"enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"],"type":"string"},"maxItems":6,"minItems":1,"type":"array"},"fingerprint_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"stability":{"const":"cross-version-inference","type":"string"},"strategy":{"const":"structural-fingerprint","type":"string"}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"type":"object"},{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"key":{"maxLength":4096,"minLength":1,"type":"string"},"namespace":{"maxLength":512,"minLength":1,"type":"string"},"stability":{"const":"artifact-version","type":"string"},"strategy":{"const":"artifact-local-key","type":"string"}},"required":["strategy","stability","artifact_sha256","namespace","key"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"runtime_key":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"capture-only","type":"string"},"strategy":{"const":"runtime-instance","type":"string"}},"required":["strategy","stability","capture_sha256","runtime_key"],"type":"object"},{"additionalProperties":false,"properties":{"observation_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"scope":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"observation-only","type":"string"},"strategy":{"const":"observation-fingerprint","type":"string"}},"required":["strategy","stability","observation_sha256","scope"],"type":"object"}]},"kind":{"enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"],"type":"string"},"node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"observations":{"items":{"additionalProperties":false,"properties":{"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"observation-exact","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"label":{"anyOf":[{"maxLength":1024,"minLength":1,"type":"string"},{"type":"null"}]},"observation_id":{"pattern":"^jag_observation_[a-f0-9]{64}$","type":"string"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"type":"object"},"maxItems":64,"minItems":1,"type":"array"}},"required":["node_id","kind","identity","observations"],"type":"object"},"maxItems":100000,"minItems":1,"type":"array"},"root_node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"schema":{"const":"JavaScriptApplicationGraph","type":"string"},"schema_version":{"const":1,"type":"number"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"type":"object"},"input_path":{"maxLength":16384,"minLength":1,"type":"string"},"inventory_graph_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"inventory_manifest_id":{"pattern":"^agm_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"root_artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"schema_version":{"const":1,"type":"number"},"statistics":{"additionalProperties":false,"properties":{"findings":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"invalid_utf8_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"limit_omitted_text_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"modules":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"nested_asar_containers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_text_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"parse_failures":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"parsed_javascript_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"policy_filtered_text_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"relevant_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"text_bytes_read":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"text_files_selected":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"truncated_scopes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"visited_ast_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["relevant_files","nested_asar_containers","text_files_selected","text_bytes_read","omitted_text_files","limit_omitted_text_files","policy_filtered_text_files","invalid_utf8_files","parsed_javascript_files","visited_ast_nodes","findings","modules","parse_failures","truncated_scopes"],"type":"object"},"summary":{"additionalProperties":false,"properties":{"browser_windows":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"context_bridge_apis":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"explicit_web_preferences":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"exposed_api_members":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"ipc":{"additionalProperties":false,"properties":{"ambiguous_renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"dynamic_channel_operations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"literal_channels":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"main_handlers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"operations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"paired_renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"renderer_listeners":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unpaired_literal_renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["operations","literal_channels","dynamic_channel_operations","renderer_transmissions","renderer_listeners","main_handlers","paired_renderer_transmissions","ambiguous_renderer_transmissions","unpaired_literal_renderer_transmissions"],"type":"object"},"native_addon_bindings":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"preload_entrypoints":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"resolved_native_addon_bindings":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"resolved_utility_entrypoints":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"sender_validation_observations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"utility_processes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["browser_windows","explicit_web_preferences","preload_entrypoints","context_bridge_apis","exposed_api_members","ipc","sender_validation_observations","utility_processes","resolved_utility_entrypoints","native_addon_bindings","resolved_native_addon_bindings"],"type":"object"}},"required":["schema_version","input_path","format","root_artifact_sha256","inventory_manifest_id","inventory_graph_sha256","graph","summary","statistics","limitations"],"type":"object"},{"additionalProperties":false,"properties":{"format":{"enum":["asar","directory"],"type":"string"},"graph":{"additionalProperties":false,"properties":{"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"edges":{"items":{"additionalProperties":false,"properties":{"edge_id":{"pattern":"^jag_edge_[a-f0-9]{64}$","type":"string"},"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"relationship-exact","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"},"relation":{"enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"],"type":"string"},"source_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"target_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"type":"object"},"maxItems":200000,"type":"array"},"graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"nodes":{"items":{"additionalProperties":false,"properties":{"identity":{"oneOf":[{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"stability":{"const":"global-exact","type":"string"},"strategy":{"const":"content-digest","type":"string"}},"required":["strategy","stability","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"original_source":{"maxLength":4096,"minLength":1,"type":"string"},"source_map_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"source_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"stability":{"const":"source-map-exact","type":"string"},"strategy":{"const":"source-map-original","type":"string"}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"type":"object"},{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"artifact-version","type":"string"},"strategy":{"const":"canonical-path","type":"string"}},"required":["strategy","stability","artifact_sha256","path"],"type":"object"},{"additionalProperties":false,"properties":{"algorithm":{"maxLength":128,"minLength":1,"type":"string"},"basis":{"items":{"enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"],"type":"string"},"maxItems":6,"minItems":1,"type":"array"},"fingerprint_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"stability":{"const":"cross-version-inference","type":"string"},"strategy":{"const":"structural-fingerprint","type":"string"}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"type":"object"},{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"key":{"maxLength":4096,"minLength":1,"type":"string"},"namespace":{"maxLength":512,"minLength":1,"type":"string"},"stability":{"const":"artifact-version","type":"string"},"strategy":{"const":"artifact-local-key","type":"string"}},"required":["strategy","stability","artifact_sha256","namespace","key"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"runtime_key":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"capture-only","type":"string"},"strategy":{"const":"runtime-instance","type":"string"}},"required":["strategy","stability","capture_sha256","runtime_key"],"type":"object"},{"additionalProperties":false,"properties":{"observation_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"scope":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"observation-only","type":"string"},"strategy":{"const":"observation-fingerprint","type":"string"}},"required":["strategy","stability","observation_sha256","scope"],"type":"object"}]},"kind":{"enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"],"type":"string"},"node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"observations":{"items":{"additionalProperties":false,"properties":{"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"observation-exact","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"label":{"anyOf":[{"maxLength":1024,"minLength":1,"type":"string"},{"type":"null"}]},"observation_id":{"pattern":"^jag_observation_[a-f0-9]{64}$","type":"string"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"type":"object"},"maxItems":64,"minItems":1,"type":"array"}},"required":["node_id","kind","identity","observations"],"type":"object"},"maxItems":100000,"minItems":1,"type":"array"},"root_node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"schema":{"const":"JavaScriptApplicationGraph","type":"string"},"schema_version":{"const":1,"type":"number"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"type":"object"},"input_path":{"maxLength":16384,"minLength":1,"type":"string"},"inventory_graph_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"inventory_manifest_id":{"pattern":"^agm_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"root_artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"schema_version":{"const":2,"type":"number"},"semantic_graph":{"additionalProperties":false,"properties":{"application_graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"coverage":{"additionalProperties":false,"properties":{"families":{"items":{"additionalProperties":false,"properties":{"family":{"enum":["boundary","call-flow","child-process","closure","configuration","data-flow","event","object-flow","promise-ownership","request","resource-lifecycle","timer"],"type":"string"},"omitted_relations":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"retained_relations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"enum":["complete","partial","unknown","unsupported"],"type":"string"},"unknown_ids":{"items":{"pattern":"^jsrg_unknown_[a-f0-9]{64}$","type":"string"},"maxItems":100000,"type":"array"}},"required":["family","status","retained_relations","omitted_relations","unknown_ids"],"type":"object"},"maxItems":12,"minItems":12,"type":"array"},"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_nodes":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"omitted_relations":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_nodes","omitted_relations","limits","families"],"type":"object"},"fingerprints":{"items":{"additionalProperties":false,"properties":{"algorithm":{"const":"rea.javascript-semantic-function/v1","type":"string"},"components":{"additionalProperties":false,"properties":{"control_flow_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"effects":{"items":{"enum":["async","child-process","event","network","promise","resource","timer"],"type":"string"},"maxItems":7,"type":"array"},"literal_set_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"normalized_ast_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"parameter_arity":{"maximum":10000,"minimum":0,"type":"integer"},"relation_shape_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["parameter_arity","normalized_ast_sha256","control_flow_sha256","relation_shape_sha256","literal_set_sha256","effects"],"type":"object"},"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"fingerprint_id":{"pattern":"^jsrg_fingerprint_[a-f0-9]{64}$","type":"string"},"fingerprint_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"function_node_id":{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"status":{"enum":["complete","partial","unavailable"],"type":"string"}},"required":["function_node_id","algorithm","status","components","limitations","evidence","fingerprint_id","fingerprint_sha256"],"type":"object"},"maxItems":20000,"type":"array"},"graph_id":{"pattern":"^jsrg_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"nodes":{"items":{"additionalProperties":false,"properties":{"application_node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":64,"type":"array"},"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"function_node_id":{"anyOf":[{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"artifact-version","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"identity":{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"module_path":{"maxLength":4096,"minLength":1,"type":"string"},"role_key":{"maxLength":1024,"minLength":1,"type":"string"},"source_range":{"anyOf":[{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["start","end"],"type":"object"},{"type":"null"}]}},"required":["artifact_sha256","module_path","source_range","role_key"],"type":"object"},"kind":{"enum":["module","function","parameter","binding","expression","literal","property-slot","call-site","return-site","closure-capture","promise","task","event","listener","timer","child-process","stdio","signal","config-source","request","response","boundary","resource","unknown-frontier"],"type":"string"},"label":{"anyOf":[{"maxLength":1024,"minLength":1,"type":"string"},{"type":"null"}]},"node_id":{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"}},"required":["kind","identity","function_node_id","application_node_ids","label","properties","evidence","node_id","identifier_strategy"],"type":"object"},"maxItems":100000,"minItems":1,"type":"array"},"relations":{"items":{"additionalProperties":false,"properties":{"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"relationship-exact","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"},"relation":{"enum":["acquires","aggregates","aliases","argument-to-parameter","awaits","calls","cancels-timer","captures","chains","coerces","connects-stdio","consumed-by","constructs-request","creates-promise","defaults","defines","destructures","detaches-task","dispatches-candidate","forwards-signal","listens-error","listens-exit","owns","overrides","parses","reads","reads-argv","reads-config","reads-environment","reads-property","registers-listener","releases","removes-listener","returns-task","returns-to-call","schedules-timer","spawns","spreads","supplies-argv","supplies-env","supplies-request-field","validates","writes","writes-property"],"type":"string"},"relation_id":{"pattern":"^jsrg_relation_[a-f0-9]{64}$","type":"string"},"resolution":{"enum":["resolved","candidate"],"type":"string"},"source_node_id":{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},"target_node_id":{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"}},"required":["source_node_id","target_node_id","relation","resolution","properties","evidence","relation_id","identifier_strategy"],"type":"object"},"maxItems":200000,"type":"array"},"root_artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"root_node_ids":{"items":{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},"maxItems":10000,"minItems":1,"type":"array"},"schema":{"const":"JavaScriptSemanticRelationGraph","type":"string"},"schema_version":{"const":1,"type":"number"},"unknowns":{"items":{"additionalProperties":false,"properties":{"candidate_node_ids":{"items":{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"type":"array"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"family":{"enum":["boundary","call-flow","child-process","closure","configuration","data-flow","event","object-flow","promise-ownership","request","resource-lifecycle","timer"],"type":"string"},"node_id":{"anyOf":[{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"reason":{"enum":["ambiguous-target","bound-reached","dynamic-call","dynamic-property","eval-or-generated-code","incomplete-module","missing-source","unsupported-syntax"],"type":"string"},"relation_kinds":{"items":{"enum":["acquires","aggregates","aliases","argument-to-parameter","awaits","calls","cancels-timer","captures","chains","coerces","connects-stdio","consumed-by","constructs-request","creates-promise","defaults","defines","destructures","detaches-task","dispatches-candidate","forwards-signal","listens-error","listens-exit","owns","overrides","parses","reads","reads-argv","reads-config","reads-environment","reads-property","registers-listener","releases","removes-listener","returns-task","returns-to-call","schedules-timer","spawns","spreads","supplies-argv","supplies-env","supplies-request-field","validates","writes","writes-property"],"type":"string"},"maxItems":45,"minItems":1,"type":"array"},"unknown_id":{"pattern":"^jsrg_unknown_[a-f0-9]{64}$","type":"string"}},"required":["node_id","family","relation_kinds","reason","detail","candidate_node_ids","evidence","unknown_id"],"type":"object"},"maxItems":100000,"type":"array"}},"required":["schema","schema_version","root_artifact_sha256","application_graph_id","root_node_ids","nodes","relations","fingerprints","unknowns","coverage","limitations","graph_id"],"type":"object"},"statistics":{"additionalProperties":false,"properties":{"findings":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"invalid_utf8_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"limit_omitted_text_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"modules":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"nested_asar_containers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_text_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"parse_failures":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"parsed_javascript_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"policy_filtered_text_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"relevant_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"text_bytes_read":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"text_files_selected":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"truncated_scopes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"visited_ast_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["relevant_files","nested_asar_containers","text_files_selected","text_bytes_read","omitted_text_files","limit_omitted_text_files","policy_filtered_text_files","invalid_utf8_files","parsed_javascript_files","visited_ast_nodes","findings","modules","parse_failures","truncated_scopes"],"type":"object"},"summary":{"additionalProperties":false,"properties":{"browser_windows":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"context_bridge_apis":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"explicit_web_preferences":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"exposed_api_members":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"ipc":{"additionalProperties":false,"properties":{"ambiguous_renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"dynamic_channel_operations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"literal_channels":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"main_handlers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"operations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"paired_renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"renderer_listeners":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unpaired_literal_renderer_transmissions":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["operations","literal_channels","dynamic_channel_operations","renderer_transmissions","renderer_listeners","main_handlers","paired_renderer_transmissions","ambiguous_renderer_transmissions","unpaired_literal_renderer_transmissions"],"type":"object"},"native_addon_bindings":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"preload_entrypoints":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"resolved_native_addon_bindings":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"resolved_utility_entrypoints":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"sender_validation_observations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"utility_processes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["browser_windows","explicit_web_preferences","preload_entrypoints","context_bridge_apis","exposed_api_members","ipc","sender_validation_observations","utility_processes","resolved_utility_entrypoints","native_addon_bindings","resolved_native_addon_bindings"],"type":"object"}},"required":["schema_version","input_path","format","root_artifact_sha256","inventory_manifest_id","inventory_graph_sha256","graph","summary","statistics","limitations","semantic_graph"],"type":"object"}]}],"description":"Primary structured result returned by this operation."}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Analyze Javascript Application"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"runtime_observations":[{"authority":"external-service","confidence":"observed","environment":null,"evidence_id":"ev_e9ffe953ecde3cee6f8b1e2e2fc8be64bf58d17b3c680d1230587294f6b02c3a","evidence_links":[],"limitations":["Artifact identity is unavailable for this observation."],"locations":[],"normalized_result":{"browser":{"js_version":"1","product":"Electron/example","protocol_version":"1.3","revision":"example","user_agent":"Electron example"},"capture_window":{"ended_at":"2026-07-15T00:00:00.100Z","observation_ms":100,"started_at":"2026-07-15T00:00:00.000Z"},"completeness":{"attach_limited_sections":[],"conditions":["complete_within_window"],"dropped_events":{"console_events":0,"network_requests":0,"scripts":0,"timeline_events":0,"total":0,"webmcp_tools":0,"websocket_connections":0,"websocket_frames":0},"excluded":[],"policy_filtered_sections":[],"status":"complete_within_window","truncated_sections":[],"unavailable_sections":[]},"dom":{"nodes":[],"total_nodes":0},"frames":[],"limitations":["Example passive capture."],"resources":[],"schema_version":1,"scripts":{"items":[{"cdp_hash":"example","file_path":"/Applications/Example.app/Contents/Resources/app/renderer.js","frame_id":null,"is_module":true,"language":"JavaScript","length":29,"script_key":"electron_script_4444444444444444444444444444444444444444444444444444444444444444","source":{"artifact":{"bytes":29,"charset":"utf-8","media_type":"text/javascript","sha256":"c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64","text":"export const example = true;\\n","uri":"rea://web-content/sha256/c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"},"included":true}}],"total":1},"target":{"attached":false,"file_path":"/Applications/Example.app/Contents/Resources/app/index.html","target_id":"example-target","title":"Example","type":"page"},"workers":[]},"operation":"inspect_electron_page","parameters":{"allowed_file_roots":["/Applications/Example.app/Contents/Resources/app"],"cdp_endpoint":"http://127.0.0.1:9223","include_script_sources":true,"source_capture_approved":true,"target_id":"example-target"},"predicate_type":"rea.electron-page-inspection/v1","provider":{"id":"rea-cdp-electron","name":"REA Electron file-page CDP observation provider","version":"1"},"raw_result":null,"schema_version":2,"subject":null}],"static_layers":[{"analysis":{"authority":"shipped-artifact","confidence":"derived","environment":null,"evidence_id":"ev_9f1239eec535ee47ca0af92a544b16a3b4be7ce7478e0a7a6b6201b91cc39d5c","evidence_links":[],"limitations":[],"locations":[],"normalized_result":{"format":"directory","graph":{"coverage":{"limits":[],"omitted_count":0,"status":"complete","truncated":false},"edges":[],"graph_id":"jag_361585714eb0138287533474fede3727b19167348e3843c577f82b68337c7234","limitations":[],"nodes":[{"identity":{"sha256":"c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64","stability":"global-exact","strategy":"content-digest"},"kind":"javascript-asset","node_id":"jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e","observations":[{"evidence":{"artifact":{"artifact_id":"art_c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64","available":true,"sha256":"c4c0d760a4c84f0e182de99f6ef89ef10831f8170e486c4d4bd934924151ba64"},"authority":"artifact-bytes","confidence":"exact","coverage":{"limits":[],"omitted_count":0,"status":"complete","truncated":false},"evidence_ids":[],"extractor":{"executable_sha256":null,"name":"rea-javascript-application","operation":"inventory-relevant-file","version":"1"},"limitations":[],"location":{"available":true,"value":{"kind":"artifact-path","path":"renderer.js"}},"state":"observed"},"identifier_strategy":{"stability":"observation-exact","strategy":"semantic-content-sha256"},"label":"renderer.js","observation_id":"jag_observation_20b4d076ce370db14ae2b477915624c62e0c4a0c9e56803a2c5cb4fa60c16230","properties":{"bytes":29,"path":"renderer.js"}}]}],"root_node_ids":["jag_node_3c82da5492d90eb5b0bee41c1a994d88b7ba98c0b4955270d70e57a76e224c2e"],"schema":"JavaScriptApplicationGraph","schema_version":1},"input_path":"/Applications/Example.app/Contents/Resources/app","inventory_graph_sha256":"3333333333333333333333333333333333333333333333333333333333333333","inventory_manifest_id":"agm_2222222222222222222222222222222222222222222222222222222222222222","limitations":[],"root_artifact_sha256":"1111111111111111111111111111111111111111111111111111111111111111","schema_version":1,"statistics":{"findings":0,"invalid_utf8_files":0,"limit_omitted_text_files":0,"modules":0,"nested_asar_containers":0,"omitted_text_files":0,"parse_failures":0,"parsed_javascript_files":1,"policy_filtered_text_files":0,"relevant_files":1,"text_bytes_read":29,"text_files_selected":1,"truncated_scopes":0,"visited_ast_nodes":1},"summary":{"browser_windows":0,"context_bridge_apis":0,"explicit_web_preferences":0,"exposed_api_members":0,"ipc":{"ambiguous_renderer_transmissions":0,"dynamic_channel_operations":0,"literal_channels":0,"main_handlers":0,"operations":0,"paired_renderer_transmissions":0,"renderer_listeners":0,"renderer_transmissions":0,"unpaired_literal_renderer_transmissions":0},"native_addon_bindings":0,"preload_entrypoints":0,"resolved_native_addon_bindings":0,"resolved_utility_entrypoints":0,"sender_validation_observations":0,"utility_processes":0}},"operation":"analyze_javascript_application","parameters":{"approved":true,"source_map_read_approved":false},"predicate_type":"rea.javascript-application-analysis/v1","provider":{"id":"rea-javascript-application","name":"REA JavaScript application analyzer","version":"1"},"raw_result":null,"schema_version":2,"subject":{"architecture":null,"digest":{"sha256":"1111111111111111111111111111111111111111111111111111111111111111"},"format":"directory","local_path":"/Applications/Example.app/Contents/Resources/app","name":"app"}},"role":"application"}]}],"properties":{"limits":{"additionalProperties":false,"default":{"max_reconciliation_items":20000,"max_runtime_entities":10000,"max_static_load_states":20000},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"max_reconciliation_items":{"default":20000,"description":"Maximum permitted reconciliation items for this operation.","maximum":50000,"minimum":1,"type":"integer"},"max_runtime_entities":{"default":10000,"description":"Maximum permitted runtime entities for this operation.","maximum":50000,"minimum":1,"type":"integer"},"max_static_load_states":{"default":20000,"description":"Maximum permitted static load states for this operation.","maximum":50000,"minimum":1,"type":"integer"}},"type":"object"},"runtime_observations":{"description":"Value for runtime observations.","items":{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"maxItems":32,"minItems":1,"type":"array"},"static_layers":{"description":"Value for static layers.","items":{"additionalProperties":false,"properties":{"analysis":{"additionalProperties":false,"description":"Value for analysis.","properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"role":{"description":"Value for role.","enum":["application","cache","assets"],"type":"string"},"runtime_mappings":{"default":[],"description":"Value for runtime mappings.","items":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_prefix":{"default":"","description":"Value for artifact prefix.","maxLength":4096,"type":"string"},"kind":{"const":"file-root","description":"Value for kind.","type":"string"},"root":{"description":"Value for root.","maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","root"],"type":"object"},{"additionalProperties":false,"properties":{"artifact_prefix":{"default":"","description":"Value for artifact prefix.","maxLength":4096,"type":"string"},"kind":{"const":"url-prefix","description":"Value for kind.","type":"string"},"prefix":{"description":"Value for prefix.","maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","prefix"],"type":"object"}]},"maxItems":32,"type":"array"}},"required":["role","analysis"],"type":"object"},"maxItems":8,"minItems":1,"type":"array"}},"required":["static_layers","runtime_observations"],"type":"object"},"kind":"electron-provider","name":"reconcile_javascript_runtime","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"coverage":{"additionalProperties":false,"properties":{"omitted_graph_items":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_reconciliation_items":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_runtime_entities":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_static_load_states":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"enum":["complete-within-inputs","partial","truncated"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_runtime_entities","omitted_reconciliation_items","omitted_static_load_states","omitted_graph_items"],"type":"object"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":40,"minItems":2,"type":"array"},"graph":{"additionalProperties":false,"properties":{"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"edges":{"items":{"additionalProperties":false,"properties":{"edge_id":{"pattern":"^jag_edge_[a-f0-9]{64}$","type":"string"},"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"relationship-exact","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"},"relation":{"enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"],"type":"string"},"source_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"target_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"type":"object"},"maxItems":200000,"type":"array"},"graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"nodes":{"items":{"additionalProperties":false,"properties":{"identity":{"oneOf":[{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"stability":{"const":"global-exact","type":"string"},"strategy":{"const":"content-digest","type":"string"}},"required":["strategy","stability","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"original_source":{"maxLength":4096,"minLength":1,"type":"string"},"source_map_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"source_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"stability":{"const":"source-map-exact","type":"string"},"strategy":{"const":"source-map-original","type":"string"}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"type":"object"},{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"artifact-version","type":"string"},"strategy":{"const":"canonical-path","type":"string"}},"required":["strategy","stability","artifact_sha256","path"],"type":"object"},{"additionalProperties":false,"properties":{"algorithm":{"maxLength":128,"minLength":1,"type":"string"},"basis":{"items":{"enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"],"type":"string"},"maxItems":6,"minItems":1,"type":"array"},"fingerprint_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"stability":{"const":"cross-version-inference","type":"string"},"strategy":{"const":"structural-fingerprint","type":"string"}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"type":"object"},{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"key":{"maxLength":4096,"minLength":1,"type":"string"},"namespace":{"maxLength":512,"minLength":1,"type":"string"},"stability":{"const":"artifact-version","type":"string"},"strategy":{"const":"artifact-local-key","type":"string"}},"required":["strategy","stability","artifact_sha256","namespace","key"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"runtime_key":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"capture-only","type":"string"},"strategy":{"const":"runtime-instance","type":"string"}},"required":["strategy","stability","capture_sha256","runtime_key"],"type":"object"},{"additionalProperties":false,"properties":{"observation_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"scope":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"observation-only","type":"string"},"strategy":{"const":"observation-fingerprint","type":"string"}},"required":["strategy","stability","observation_sha256","scope"],"type":"object"}]},"kind":{"enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"],"type":"string"},"node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"observations":{"items":{"additionalProperties":false,"properties":{"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"observation-exact","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"label":{"anyOf":[{"maxLength":1024,"minLength":1,"type":"string"},{"type":"null"}]},"observation_id":{"pattern":"^jag_observation_[a-f0-9]{64}$","type":"string"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"type":"object"},"maxItems":64,"minItems":1,"type":"array"}},"required":["node_id","kind","identity","observations"],"type":"object"},"maxItems":100000,"minItems":1,"type":"array"},"root_node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"schema":{"const":"JavaScriptApplicationGraph","type":"string"},"schema_version":{"const":1,"type":"number"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"reconciliation_id":{"pattern":"^jrr_[a-f0-9]{64}$","type":"string"},"reconciliations":{"items":{"additionalProperties":false,"properties":{"basis":{"enum":["content-and-location","content-sha256","module-source-sha256","artifact-path","operator-file-mapping","operator-url-mapping","none"],"type":"string"},"candidate_static_count":{"maximum":800000,"minimum":0,"type":"integer"},"candidate_static_nodes":{"items":{"additionalProperties":false,"properties":{"static_layer_id":{"pattern":"^jrl_[a-f0-9]{64}$","type":"string"},"static_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"}},"required":["static_layer_id","static_node_id"],"type":"object"},"maxItems":1000,"type":"array"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"entity_kind":{"enum":["target","frame","script","worker"],"type":"string"},"reason":{"enum":["content-and-location-match","unique-content-match","unique-location-match","ambiguous-static-candidates","captured-content-disagrees-with-static-location","no-static-content-match","no-authorized-location-mapping","runtime-frame-unattributed","static-or-runtime-coverage-incomplete","reconciliation-limit-reached"],"type":"string"},"reconciliation_id":{"pattern":"^jrr_item_[a-f0-9]{64}$","type":"string"},"runtime_evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"runtime_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"static_layer_id":{"anyOf":[{"pattern":"^jrl_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"static_node_id":{"anyOf":[{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"status":{"enum":["matched","ambiguous","unmatched","unknown"],"type":"string"}},"required":["reconciliation_id","entity_kind","runtime_evidence_id","runtime_node_id","static_layer_id","static_node_id","status","basis","confidence","reason","candidate_static_count","candidate_static_nodes"],"type":"object"},"maxItems":50000,"type":"array"},"runtime_captures":{"items":{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"frames":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"enum":["browser","electron","v8-inspector","electron-active"],"type":"string"},"scripts":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"scripts_complete_within_scope":{"type":"boolean"},"target_key":{"maxLength":4096,"minLength":1,"type":"string"},"target_location":{"maxLength":4096,"minLength":1,"type":"string"},"target_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"workers":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["evidence_id","capture_sha256","kind","target_node_id","target_key","target_location","frames","scripts","workers","scripts_complete_within_scope"],"type":"object"},"maxItems":32,"minItems":1,"type":"array"},"schema_version":{"const":1,"type":"number"},"source_map_authority":{"additionalProperties":false,"properties":{"limitation":{"maxLength":4096,"minLength":1,"type":"string"},"runtime_script_declarations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"static_layers_with_read_approval":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"used_for_primary_matching":{"const":false,"type":"boolean"}},"required":["used_for_primary_matching","static_layers_with_read_approval","runtime_script_declarations","limitation"],"type":"object"},"static_layers":{"items":{"additionalProperties":false,"properties":{"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"format":{"enum":["asar","directory"],"type":"string"},"graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"input_path":{"maxLength":16384,"minLength":1,"type":"string"},"layer_id":{"pattern":"^jrl_[a-f0-9]{64}$","type":"string"},"role":{"enum":["application","cache","assets"],"type":"string"},"root_artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"runtime_mappings":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_prefix":{"default":"","maxLength":4096,"type":"string"},"kind":{"const":"file-root","type":"string"},"root":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","root","artifact_prefix"],"type":"object"},{"additionalProperties":false,"properties":{"artifact_prefix":{"default":"","maxLength":4096,"type":"string"},"kind":{"const":"url-prefix","type":"string"},"prefix":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","prefix","artifact_prefix"],"type":"object"}]},"maxItems":32,"type":"array"}},"required":["layer_id","role","evidence_id","graph_id","root_artifact_sha256","input_path","format","runtime_mappings"],"type":"object"},"maxItems":8,"minItems":1,"type":"array"},"static_load_states":{"items":{"additionalProperties":false,"properties":{"kind":{"enum":["javascript-asset","javascript-chunk","javascript-module"],"type":"string"},"reason":{"enum":["runtime-script-correspondence","containing-asset-was-loaded","not-observed-in-bounded-capture","layer-outside-runtime-scope","static-or-runtime-coverage-incomplete"],"type":"string"},"runtime_node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":10000,"type":"array"},"static_layer_id":{"pattern":"^jrl_[a-f0-9]{64}$","type":"string"},"static_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"status":{"enum":["loaded","resident-in-loaded-asset","not-observed-in-capture","unknown"],"type":"string"}},"required":["static_layer_id","static_node_id","kind","status","runtime_node_ids","reason"],"type":"object"},"maxItems":50000,"type":"array"},"summary":{"additionalProperties":false,"properties":{"ambiguous":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"matched":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"runtime_frames":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"runtime_scripts":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"runtime_targets":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"runtime_workers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"static_loaded":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"static_not_observed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"static_resident":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"static_unknown":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknown":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unmatched":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["runtime_targets","runtime_frames","runtime_scripts","runtime_workers","matched","ambiguous","unmatched","unknown","static_loaded","static_resident","static_not_observed","static_unknown"],"type":"object"}},"required":["schema_version","reconciliation_id","static_layers","runtime_captures","graph","summary","reconciliations","static_load_states","source_map_authority","coverage","evidence_links","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Reconcile Javascript Runtime"},{"analysisOperation":null,"annotations":{"destructiveHint":true,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false},"description":"Use this for an explicitly approved, provider-owned Electron run when passive CDP or Inspector observation cannot exercise application behavior. REA owns startup and teardown, accepts bounded 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.","effects":{"accessesNetwork":true,"changesUiState":true,"idempotent":false,"launchesProcess":true,"mayDiscardData":true,"mutatesSession":true,"mutatesTarget":true,"writesFilesystem":true},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"actions":[{"kind":"click","selector":"#run","step_id":"exercise-ipc"}],"application_path":"/Applications/Example.app/Contents/Resources/main.js","application_root":"/Applications/Example.app/Contents/Resources","approved":true,"args":[],"executable_path":"/Applications/Electron.app/Contents/MacOS/Electron","limits":{"action_timeout_ms":5000,"max_actions":20,"max_duration_ms":60000,"max_ipc_events":2000,"max_processes":32,"max_windows":32},"schema_version":1}],"properties":{"actions":{"default":[],"description":"Value for actions.","items":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"click","description":"Value for kind.","type":"string"},"selector":{"description":"Value for selector.","maxLength":512,"minLength":1,"type":"string"},"step_id":{"description":"Value for step id.","maxLength":128,"minLength":1,"type":"string"},"window_index":{"default":0,"description":"Value for window index.","maximum":99,"minimum":0,"type":"integer"}},"required":["step_id","kind","selector"],"type":"object"},{"additionalProperties":false,"properties":{"duration_ms":{"description":"Value for duration ms.","maximum":10000,"minimum":0,"type":"integer"},"kind":{"const":"wait","description":"Value for kind.","type":"string"},"step_id":{"description":"Value for step id.","maxLength":128,"minLength":1,"type":"string"},"window_index":{"description":"Value for window index.","maximum":99,"minimum":0,"type":"integer"}},"required":["step_id","kind","duration_ms"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"renderer-reload","description":"Value for kind.","type":"string"},"step_id":{"description":"Value for step id.","maxLength":128,"minLength":1,"type":"string"},"window_index":{"default":0,"description":"Value for window index.","maximum":99,"minimum":0,"type":"integer"}},"required":["step_id","kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"renderer-crash","description":"Value for kind.","type":"string"},"step_id":{"description":"Value for step id.","maxLength":128,"minLength":1,"type":"string"},"window_index":{"default":0,"description":"Value for window index.","maximum":99,"minimum":0,"type":"integer"}},"required":["step_id","kind"],"type":"object"},{"additionalProperties":false,"properties":{"delivery":{"description":"Value for delivery.","enum":["open-url","second-instance"],"type":"string"},"kind":{"const":"deep-link","description":"Value for kind.","type":"string"},"step_id":{"description":"Value for step id.","maxLength":128,"minLength":1,"type":"string"},"url":{"description":"Value for url.","maxLength":4096,"minLength":1,"type":"string"}},"required":["step_id","kind","delivery","url"],"type":"object"}]},"maxItems":100,"type":"array"},"application_path":{"description":"Local filesystem path for application.","maxLength":16384,"minLength":1,"type":"string"},"application_root":{"description":"Approved canonical filesystem application root.","maxLength":16384,"minLength":1,"type":"string"},"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"args":{"default":[],"description":"Value for args.","items":{"maxLength":4096,"type":"string"},"maxItems":32,"type":"array"},"executable_path":{"description":"Local filesystem path for executable.","maxLength":16384,"minLength":1,"type":"string"},"limits":{"additionalProperties":false,"default":{"action_timeout_ms":5000,"max_actions":20,"max_duration_ms":60000,"max_ipc_events":2000,"max_processes":32,"max_runtime_events":5000,"max_windows":32},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"action_timeout_ms":{"default":5000,"description":"Value for action timeout ms.","maximum":30000,"minimum":1,"type":"integer"},"max_actions":{"default":20,"description":"Maximum permitted actions for this operation.","maximum":100,"minimum":1,"type":"integer"},"max_duration_ms":{"default":60000,"description":"Maximum permitted duration ms for this operation.","maximum":120000,"minimum":1,"type":"integer"},"max_ipc_events":{"default":2000,"description":"Maximum permitted ipc events for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_processes":{"default":32,"description":"Maximum permitted processes for this operation.","maximum":100,"minimum":1,"type":"integer"},"max_runtime_events":{"default":5000,"description":"Maximum permitted runtime events for this operation.","maximum":20000,"minimum":1,"type":"integer"},"max_windows":{"default":32,"description":"Maximum permitted windows for this operation.","maximum":100,"minimum":1,"type":"integer"}},"type":"object"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","executable_path","application_path","application_root","approved"],"type":"object"},"kind":"electron-provider","name":"capture_electron_scenario","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"actions":{"items":{"additionalProperties":false,"properties":{"elapsed_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"kind":{"enum":["click","wait","renderer-reload","renderer-crash","deep-link"],"type":"string"},"status":{"enum":["completed","failed","cancelled"],"type":"string"},"step_id":{"maxLength":128,"minLength":1,"type":"string"},"target":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}]},"window_index":{"anyOf":[{"maximum":99,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["step_id","kind","window_index","target","status","elapsed_ms","error"],"type":"object"},"maxItems":100,"type":"array"},"application":{"additionalProperties":false,"properties":{"application_path":{"maxLength":16384,"minLength":1,"type":"string"},"cleanup":{"const":"terminated-owned-process","type":"string"},"electron_version":{"maxLength":256,"minLength":1,"type":"string"},"executable_path":{"maxLength":16384,"minLength":1,"type":"string"},"process_ownership":{"const":"provider-owned","type":"string"}},"required":["executable_path","application_path","electron_version","process_ownership","cleanup"],"type":"object"},"coverage":{"additionalProperties":false,"default":{"observed_event_families":[],"observed_roles":[],"pre_capture_activity":"unavailable","status":"partial_attach","unavailable_event_families":[]},"properties":{"observed_event_families":{"items":{"maxLength":128,"type":"string"},"maxItems":32,"type":"array"},"observed_roles":{"items":{"maxLength":128,"type":"string"},"maxItems":16,"type":"array"},"pre_capture_activity":{"const":"unavailable","type":"string"},"status":{"enum":["complete","partial_attach","capture_truncated","hook_conflict","target_exited","cleanup_failed"],"type":"string"},"unavailable_event_families":{"items":{"maxLength":128,"type":"string"},"maxItems":32,"type":"array"}},"required":["status","observed_event_families","unavailable_event_families","observed_roles","pre_capture_activity"],"type":"object"},"ipc":{"additionalProperties":false,"properties":{"events":{"items":{"additionalProperties":false,"properties":{"argument_shapes":{"items":{"maxLength":64,"type":"string"},"maxItems":32,"type":"array"},"argument_shapes_truncated":{"default":false,"type":"boolean"},"artifact_path":{"anyOf":[{"maxLength":16384,"type":"string"},{"type":"null"}],"default":null},"artifact_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"default":null},"capture_method":{"default":"api-wrapper","enum":["api-wrapper","event-emitter","process-hook"],"type":"string"},"channel":{"anyOf":[{"maxLength":1024,"type":"string"},{"type":"null"}]},"channel_truncated":{"default":false,"type":"boolean"},"correlation_id":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}],"default":null},"direction":{"anyOf":[{"enum":["renderer-to-main","main-to-renderer","main-to-utility","utility-to-main"],"type":"string"},{"type":"null"}]},"error":{"type":"boolean"},"event":{"anyOf":[{"maxLength":128,"type":"string"},{"type":"null"}]},"frame":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}],"default":null},"kind":{"enum":["main-handler-invocation","main-event-invocation","utility-process-fork","utility-process-message","ipc-main-to-renderer","ipc-utility-to-main","ipc-renderer-send","ipc-renderer-invoke","ipc-renderer-post-message"],"type":"string"},"phase":{"anyOf":[{"enum":["attempted","completed","blocked","failed","observed"],"type":"string"},{"type":"null"}]},"process_type":{"anyOf":[{"maxLength":128,"type":"string"},{"type":"null"}]},"receiver":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}]},"result_shape":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}]},"sender":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}]},"sequence":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source":{"default":"electron-active-hook","maxLength":64,"type":"string"},"target":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}]}},"required":["sequence","correlation_id","kind","channel","channel_truncated","frame","argument_shapes","argument_shapes_truncated","result_shape","process_type","source","capture_method","artifact_path","artifact_sha256","error"],"type":"object"},"maxItems":10000,"type":"array"},"observed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"truncated":{"type":"boolean"}},"required":["events","observed","retained","truncated"],"type":"object"},"limitations":{"items":{"maxLength":4096,"type":"string"},"maxItems":100,"type":"array"},"processes":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"name":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}]},"pid":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"service_name":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}]},"type":{"maxLength":128,"minLength":1,"type":"string"}},"required":["pid","type","name","service_name"],"type":"object"},"maxItems":100,"type":"array"},"truncated":{"type":"boolean"}},"required":["items","truncated"],"type":"object"},"schema_version":{"const":1,"type":"number"},"timeline":{"additionalProperties":false,"default":{"events":[],"observed":0,"retained":0,"truncated":false},"properties":{"events":{"items":{"additionalProperties":false,"properties":{"argument_shapes":{"items":{"maxLength":64,"type":"string"},"maxItems":32,"type":"array"},"argument_shapes_truncated":{"type":"boolean"},"artifact_path":{"anyOf":[{"maxLength":16384,"type":"string"},{"type":"null"}]},"artifact_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"capture_method":{"enum":["api-wrapper","event-emitter","process-hook"],"type":"string"},"channel":{"anyOf":[{"maxLength":1024,"type":"string"},{"type":"null"}]},"channel_truncated":{"type":"boolean"},"correlation_id":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}],"default":null},"direction":{"anyOf":[{"enum":["renderer-to-main","main-to-renderer","main-to-utility","utility-to-main"],"type":"string"},{"type":"null"}]},"error":{"type":"boolean"},"event":{"anyOf":[{"maxLength":128,"type":"string"},{"type":"null"}]},"frame":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}]},"kind":{"enum":["main-handler-invocation","main-event-invocation","utility-process-fork","utility-process-message","ipc-main-to-renderer","ipc-utility-to-main","ipc-renderer-send","ipc-renderer-invoke","ipc-renderer-post-message","app-lifecycle","window-lifecycle","web-contents-lifecycle","navigation","shell-attempt","process-lifecycle","permission","popup-attempt","download","protocol","preload","native-addon","updater","error"],"type":"string"},"phase":{"enum":["attempted","completed","blocked","failed","observed"],"type":"string"},"process_type":{"anyOf":[{"maxLength":128,"type":"string"},{"type":"null"}]},"receiver":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}]},"result_shape":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}]},"sender":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}]},"sequence":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source":{"maxLength":64,"type":"string"},"target":{"anyOf":[{"maxLength":256,"type":"string"},{"type":"null"}]}},"required":["sequence","correlation_id","kind","event","phase","channel","channel_truncated","direction","sender","receiver","frame","target","argument_shapes","argument_shapes_truncated","result_shape","process_type","source","capture_method","artifact_path","artifact_sha256","error"],"type":"object"},"maxItems":20000,"type":"array"},"observed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"truncated":{"type":"boolean"}},"required":["events","observed","retained","truncated"],"type":"object"},"windows":{"items":{"additionalProperties":false,"properties":{"destroyed":{"type":"boolean"},"title":{"maxLength":16384,"type":"string"},"url":{"maxLength":65536,"type":"string"},"visible":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"web_contents_id":{"maxLength":256,"type":"string"},"window_id":{"maxLength":256,"type":"string"}},"required":["window_id","web_contents_id","url","title","visible","destroyed"],"type":"object"},"maxItems":100,"type":"array"},"windows_truncated":{"type":"boolean"}},"required":["schema_version","application","actions","windows","windows_truncated","processes","ipc","timeline","coverage","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Capture Electron Scenario"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"List attachable Node/Electron V8 Inspector targets from one approved literal-loopback endpoint. Only targets inside exact canonical file roots or exact HTTP(S) origins are retained; excluded target locations never enter Evidence.","effects":{"accessesNetwork":true,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"allowed_file_roots":["/opt/example-app"],"allowed_origins":[],"approved":true,"inspector_endpoint":"http://127.0.0.1:9229","limit":100,"offset":0}],"properties":{"allowed_file_roots":{"default":[],"description":"Approved canonical filesystem allowed file roots.","items":{"maxLength":16384,"minLength":1,"type":"string"},"maxItems":32,"type":"array"},"allowed_origins":{"description":"Value for allowed origins.","items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":32,"type":"array"},"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"inspector_endpoint":{"description":"Value for inspector endpoint.","maxLength":2048,"minLength":1,"type":"string"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":200,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["inspector_endpoint","approved"],"type":"object"},"kind":"runtime-provider","name":"list_javascript_runtime_targets","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"excluded":{"additionalProperties":false,"properties":{"outside_file_roots":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"outside_origins":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unconnectable":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unsupported_location":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["outside_file_roots","outside_origins","unsupported_location","unconnectable"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"runtime":{"additionalProperties":false,"properties":{"product":{"maxLength":1024,"minLength":1,"type":"string"},"protocol_version":{"maxLength":100,"minLength":1,"type":"string"},"v8_version":{"anyOf":[{"maxLength":1024,"type":"string"},{"type":"null"}]}},"required":["product","protocol_version","v8_version"],"type":"object"},"schema_version":{"const":1,"type":"number"},"targets":{"additionalProperties":false,"properties":{"has_more":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"attached":{"type":"boolean"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"authority":{"const":"scope-fallback","type":"string"},"file_path":{"maxLength":16384,"minLength":1,"type":"string"},"kind":{"const":"file","type":"string"}},"required":["kind","file_path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"origin":{"maxLength":2048,"minLength":1,"type":"string"},"sanitized_url":{"maxLength":65536,"minLength":1,"type":"string"}},"required":["kind","origin","sanitized_url"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"builtin","type":"string"},"specifier":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","specifier"],"type":"object"}]},"protocol_type":{"maxLength":100,"minLength":1,"type":"string"},"target_id":{"maxLength":256,"minLength":1,"type":"string"}},"required":["target_id","protocol_type","attached","location"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset","has_more"],"type":"object"}},"required":["schema_version","runtime","targets","excluded","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"List Javascript Runtime Targets"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Attach passively to one exact approved Node/Electron V8 Inspector target and capture bounded Debugger.scriptParsed plus Runtime execution-context events. REA sends only Runtime.enable and Debugger.enable: it never evaluates, pauses, resumes, reads source, or instruments the target. require/import edges, EventEmitter activity, and Electron IPC remain explicit unknowns; reconcile the returned Evidence with static Application Graph Evidence using reconcile_javascript_runtime.","effects":{"accessesNetwork":true,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"allowed_file_roots":["/opt/example-app"],"allowed_origins":[],"approved":true,"inspector_endpoint":"http://127.0.0.1:9229","limits":{"max_events":10000,"max_execution_contexts":1000,"max_location_bytes":16384,"max_scripts":2000,"max_total_metadata_bytes":4194304},"observation_ms":100,"runtime_kind":"node","target_id":"TARGET_ID_FROM_LIST_JAVASCRIPT_RUNTIME_TARGETS"}],"properties":{"allowed_file_roots":{"default":[],"description":"Approved canonical filesystem allowed file roots.","items":{"maxLength":16384,"minLength":1,"type":"string"},"maxItems":32,"type":"array"},"allowed_origins":{"description":"Value for allowed origins.","items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":32,"type":"array"},"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"inspector_endpoint":{"description":"Value for inspector endpoint.","maxLength":2048,"minLength":1,"type":"string"},"limits":{"additionalProperties":false,"default":{"max_events":10000,"max_execution_contexts":1000,"max_location_bytes":16384,"max_scripts":2000,"max_total_metadata_bytes":4194304},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"max_events":{"default":10000,"description":"Maximum permitted events for this operation.","maximum":50000,"minimum":1,"type":"integer"},"max_execution_contexts":{"default":1000,"description":"Maximum permitted execution contexts for this operation.","maximum":5000,"minimum":1,"type":"integer"},"max_location_bytes":{"default":16384,"description":"Maximum permitted location bytes for this operation.","maximum":65536,"minimum":64,"type":"integer"},"max_scripts":{"default":2000,"description":"Maximum permitted scripts for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_total_metadata_bytes":{"default":4194304,"description":"Maximum permitted total metadata bytes for this operation.","maximum":33554432,"minimum":1024,"type":"integer"}},"type":"object"},"observation_ms":{"default":100,"description":"Value for observation ms.","maximum":10000,"minimum":0,"type":"integer"},"runtime_kind":{"description":"Value for runtime kind.","enum":["node","electron-main","electron-preload","electron-renderer"],"type":"string"},"target_id":{"description":"Exact authorized CDP target identifier.","maxLength":256,"minLength":1,"type":"string"}},"required":["inspector_endpoint","approved","target_id","runtime_kind"],"type":"object"},"kind":"runtime-provider","name":"observe_javascript_runtime","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"capture":{"additionalProperties":false,"properties":{"events_dropped":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"events_observed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"events_retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"metadata_bytes_retained":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"observation_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"truncated":{"type":"boolean"},"truncation_reasons":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":20,"type":"array"}},"required":["observation_ms","events_observed","events_retained","events_dropped","metadata_bytes_retained","truncated","truncation_reasons"],"type":"object"},"directly_observed":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":20,"type":"array"},"execution_contexts":{"items":{"additionalProperties":false,"properties":{"context_key":{"maxLength":64,"minLength":1,"type":"string"},"name":{"anyOf":[{"maxLength":1024,"type":"string"},{"type":"null"}]},"origin":{"anyOf":[{"maxLength":4096,"type":"string"},{"type":"null"}]},"state":{"enum":["created","destroyed","cleared"],"type":"string"}},"required":["context_key","state","name","origin"],"type":"object"},"type":"array"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"runtime":{"additionalProperties":false,"properties":{"product":{"maxLength":1024,"minLength":1,"type":"string"},"protocol_version":{"maxLength":100,"minLength":1,"type":"string"},"v8_version":{"anyOf":[{"maxLength":1024,"type":"string"},{"type":"null"}]}},"required":["product","protocol_version","v8_version"],"type":"object"},"schema_version":{"const":1,"type":"number"},"scripts":{"additionalProperties":false,"properties":{"excluded":{"additionalProperties":false,"properties":{"invalid_protocol_value":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"outside_file_roots":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"outside_origins":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unsupported_location":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["outside_file_roots","outside_origins","unsupported_location","invalid_protocol_value"],"type":"object"},"items":{"items":{"additionalProperties":false,"properties":{"cdp_hash":{"anyOf":[{"maxLength":512,"type":"string"},{"type":"null"}]},"execution_context_key":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}]},"is_module":{"type":"boolean"},"length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"authority":{"const":"scope-fallback","type":"string"},"file_path":{"maxLength":16384,"minLength":1,"type":"string"},"kind":{"const":"file","type":"string"}},"required":["kind","file_path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"origin":{"maxLength":2048,"minLength":1,"type":"string"},"sanitized_url":{"maxLength":65536,"minLength":1,"type":"string"}},"required":["kind","origin","sanitized_url"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"builtin","type":"string"},"specifier":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","specifier"],"type":"object"}]},"script_key":{"pattern":"^v8_script_[a-f0-9]{64}$","type":"string"},"status":{"const":"observed-loaded","type":"string"}},"required":["script_key","location","execution_context_key","cdp_hash","length","is_module","status"],"type":"object"},"type":"array"},"observed_total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","observed_total","excluded"],"type":"object"},"target":{"additionalProperties":false,"properties":{"attached":{"type":"boolean"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"authority":{"const":"scope-fallback","type":"string"},"file_path":{"maxLength":16384,"minLength":1,"type":"string"},"kind":{"const":"file","type":"string"}},"required":["kind","file_path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"origin":{"maxLength":2048,"minLength":1,"type":"string"},"sanitized_url":{"maxLength":65536,"minLength":1,"type":"string"}},"required":["kind","origin","sanitized_url"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"builtin","type":"string"},"specifier":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","specifier"],"type":"object"}]},"protocol_type":{"maxLength":100,"minLength":1,"type":"string"},"runtime_kind":{"enum":["node","electron-main","electron-preload","electron-renderer"],"type":"string"},"runtime_kind_authority":{"const":"caller-declared-unverified","type":"string"},"target_id":{"maxLength":256,"minLength":1,"type":"string"}},"required":["target_id","protocol_type","attached","location","runtime_kind","runtime_kind_authority"],"type":"object"},"unavailable_without_instrumentation":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":20,"type":"array"},"unknowns":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"}},"required":["schema_version","runtime","target","capture","scripts","execution_contexts","directly_observed","unavailable_without_instrumentation","unknowns","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Observe Javascript Runtime"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Trace a typed literal seed through an authenticated JavaScript Application Graph supplied as full Evidence or an Evidence ID returned earlier in this session. Explicit direction, depth, node, edge, and path bounds apply. Original static, native, passive-runtime, inferred, and unknown authorities remain distinct; native addon handoffs never open a provider or execute the application.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"application_evidence_id":"ev_0000000000000000000000000000000000000000000000000000000000000000","direction":"both","seed":{"case_sensitive":false,"kind":"module","match":"exact","value":"renderer.js"}}],"oneOf":[{"required":["application"]},{"required":["application_evidence_id"]}],"properties":{"application":{"additionalProperties":false,"description":"Value for application.","properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"application_evidence_id":{"description":"Evidence ID returned earlier in this session","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"direction":{"default":"both","description":"Direction in which to traverse or compare relationships.","enum":["outgoing","incoming","both"],"type":"string"},"limits":{"additionalProperties":false,"default":{"max_depth":12,"max_edges":4000,"max_nodes":2000,"max_paths":100,"max_seed_matches":25},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"max_depth":{"default":12,"description":"Maximum permitted depth for this operation.","maximum":64,"minimum":0,"type":"integer"},"max_edges":{"default":4000,"description":"Maximum permitted edges for this operation.","maximum":100000,"minimum":1,"type":"integer"},"max_nodes":{"default":2000,"description":"Maximum permitted nodes for this operation.","maximum":50000,"minimum":1,"type":"integer"},"max_paths":{"default":100,"description":"Maximum permitted paths for this operation.","maximum":1000,"minimum":1,"type":"integer"},"max_seed_matches":{"default":25,"description":"Maximum permitted seed matches for this operation.","maximum":1000,"minimum":1,"type":"integer"}},"type":"object"},"native_observation_evidence_ids":{"default":[],"description":"Ordered Evidence v2 identifiers for the native observation observations.","items":{"description":"Evidence ID returned earlier in this session","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":64,"type":"array"},"native_observations":{"default":[],"description":"Value for native observations.","items":{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"maxItems":64,"type":"array"},"seed":{"additionalProperties":false,"description":"Value for seed.","properties":{"case_sensitive":{"default":false,"description":"Whether text matching distinguishes uppercase and lowercase.","type":"boolean"},"kind":{"description":"Value for kind.","enum":["node-id","route","string","api","channel","module","native-export"],"type":"string"},"match":{"anyOf":[{"enum":["exact","contains"],"type":"string"},{"type":"null"}],"default":null,"description":"Value for match."},"value":{"description":"Value for value.","maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","value"],"type":"object"}},"required":["seed"],"type":"object"},"kind":"application","name":"trace_application_feature","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"coverage":{"additionalProperties":false,"properties":{"frontier_node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":50000,"type":"array"},"omitted_edges":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_paths":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_seed_matches":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"scanned_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"source_graph_status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"status":{"enum":["complete-within-source","partial","truncated","no-match"],"type":"string"},"total_seed_matches":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","source_graph_status","scanned_nodes","total_seed_matches","omitted_seed_matches","omitted_nodes","omitted_edges","omitted_paths","frontier_node_ids"],"type":"object"},"direction":{"enum":["outgoing","incoming","both"],"type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":65,"minItems":1,"type":"array"},"graph":{"anyOf":[{"additionalProperties":false,"properties":{"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"edges":{"items":{"additionalProperties":false,"properties":{"edge_id":{"pattern":"^jag_edge_[a-f0-9]{64}$","type":"string"},"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"relationship-exact","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"},"relation":{"enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"],"type":"string"},"source_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"target_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"type":"object"},"maxItems":200000,"type":"array"},"graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"nodes":{"items":{"additionalProperties":false,"properties":{"identity":{"oneOf":[{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"stability":{"const":"global-exact","type":"string"},"strategy":{"const":"content-digest","type":"string"}},"required":["strategy","stability","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"original_source":{"maxLength":4096,"minLength":1,"type":"string"},"source_map_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"source_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"stability":{"const":"source-map-exact","type":"string"},"strategy":{"const":"source-map-original","type":"string"}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"type":"object"},{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"artifact-version","type":"string"},"strategy":{"const":"canonical-path","type":"string"}},"required":["strategy","stability","artifact_sha256","path"],"type":"object"},{"additionalProperties":false,"properties":{"algorithm":{"maxLength":128,"minLength":1,"type":"string"},"basis":{"items":{"enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"],"type":"string"},"maxItems":6,"minItems":1,"type":"array"},"fingerprint_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"stability":{"const":"cross-version-inference","type":"string"},"strategy":{"const":"structural-fingerprint","type":"string"}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"type":"object"},{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"key":{"maxLength":4096,"minLength":1,"type":"string"},"namespace":{"maxLength":512,"minLength":1,"type":"string"},"stability":{"const":"artifact-version","type":"string"},"strategy":{"const":"artifact-local-key","type":"string"}},"required":["strategy","stability","artifact_sha256","namespace","key"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"runtime_key":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"capture-only","type":"string"},"strategy":{"const":"runtime-instance","type":"string"}},"required":["strategy","stability","capture_sha256","runtime_key"],"type":"object"},{"additionalProperties":false,"properties":{"observation_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"scope":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"observation-only","type":"string"},"strategy":{"const":"observation-fingerprint","type":"string"}},"required":["strategy","stability","observation_sha256","scope"],"type":"object"}]},"kind":{"enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"],"type":"string"},"node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"observations":{"items":{"additionalProperties":false,"properties":{"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"observation-exact","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"label":{"anyOf":[{"maxLength":1024,"minLength":1,"type":"string"},{"type":"null"}]},"observation_id":{"pattern":"^jag_observation_[a-f0-9]{64}$","type":"string"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"type":"object"},"maxItems":64,"minItems":1,"type":"array"}},"required":["node_id","kind","identity","observations"],"type":"object"},"maxItems":100000,"minItems":1,"type":"array"},"root_node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"schema":{"const":"JavaScriptApplicationGraph","type":"string"},"schema_version":{"const":1,"type":"number"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"type":"object"},{"type":"null"}]},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"native_handoffs":{"items":{"additionalProperties":false,"properties":{"artifact_path":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]},"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":64,"type":"array"},"export_node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"type":"array"},"native_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"providers":{"items":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"maxItems":64,"type":"array"},"recommended_tools":{"items":{"enum":["open_binary","binary_overview","search_procedures","analyze_function","xrefs"],"type":"string"},"maxItems":5,"type":"array"},"requested_exports":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"status":{"enum":["evidence-linked","requires-provider-analysis"],"type":"string"}},"required":["native_node_id","artifact_sha256","artifact_path","export_node_ids","requested_exports","status","providers","evidence_ids","recommended_tools"],"type":"object"},"maxItems":10000,"type":"array"},"paths":{"items":{"additionalProperties":false,"properties":{"authorities":{"items":{"maxLength":128,"minLength":1,"type":"string"},"maxItems":16,"type":"array"},"contains_inference":{"type":"boolean"},"edge_ids":{"items":{"pattern":"^jag_edge_[a-f0-9]{64}$","type":"string"},"maxItems":64,"type":"array"},"end_kind":{"maxLength":128,"minLength":1,"type":"string"},"end_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":65,"minItems":1,"type":"array"},"path_id":{"pattern":"^jatp_[a-f0-9]{64}$","type":"string"},"start_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"}},"required":["path_id","start_node_id","end_node_id","end_kind","node_ids","edge_ids","authorities","contains_inference"],"type":"object"},"maxItems":1000,"type":"array"},"schema_version":{"const":1,"type":"number"},"seed":{"additionalProperties":false,"properties":{"case_sensitive":{"default":false,"type":"boolean"},"kind":{"enum":["node-id","route","string","api","channel","module","native-export"],"type":"string"},"match":{"anyOf":[{"enum":["exact","contains"],"type":"string"},{"type":"null"}],"default":null},"value":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","value","match","case_sensitive"],"type":"object"},"seed_matches":{"items":{"additionalProperties":false,"properties":{"basis":{"enum":["node-id","label","identity","property"],"type":"string"},"field":{"maxLength":256,"minLength":1,"type":"string"},"kind":{"maxLength":128,"minLength":1,"type":"string"},"node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"}},"required":["node_id","kind","basis","field"],"type":"object"},"maxItems":1000,"type":"array"},"source_evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"source_graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"summary":{"additionalProperties":false,"properties":{"inferred_facts":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"matched_seeds":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"native_handoffs":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"observed_facts":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"terminal_paths":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"traced_edges":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"traced_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unavailable_facts":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknown_facts":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["matched_seeds","traced_nodes","traced_edges","terminal_paths","native_handoffs","observed_facts","inferred_facts","unknown_facts","unavailable_facts"],"type":"object"},"trace_id":{"pattern":"^jatr_[a-f0-9]{64}$","type":"string"}},"required":["schema_version","trace_id","source_evidence_id","source_graph_id","seed","direction","seed_matches","graph","paths","native_handoffs","summary","coverage","evidence_links","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Trace Application Feature"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Trace bounded static JavaScript data-flow, direct call/return, and closure relations from authenticated analyze_javascript_application v2 Evidence. Queries declare direction and exact node, relation, depth, function, module, and page limits. Dynamic or unsupported semantics remain explicit unknowns; static reachability never claims runtime execution.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"application_evidence_id":"ev_0000000000000000000000000000000000000000000000000000000000000000","query":{"direction":"backward-provenance","seed":{"kind":"semantic-node","node_id":"jsrg_node_0000000000000000000000000000000000000000000000000000000000000000"},"source_map_authority":{"authority":"none"}}}],"oneOf":[{"required":["application"]},{"required":["application_evidence_id"]}],"properties":{"application":{"additionalProperties":false,"description":"Value for application.","properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"application_evidence_id":{"description":"Evidence ID returned earlier in this session","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"query":{"additionalProperties":false,"description":"Non-empty feature or text query to investigate.","properties":{"allowed_relations":{"description":"Value for allowed relations.","items":{"enum":["acquires","aggregates","aliases","argument-to-parameter","awaits","calls","cancels-timer","captures","chains","coerces","connects-stdio","consumed-by","constructs-request","creates-promise","defaults","defines","destructures","detaches-task","dispatches-candidate","forwards-signal","listens-error","listens-exit","owns","overrides","parses","reads","reads-argv","reads-config","reads-environment","reads-property","registers-listener","releases","removes-listener","returns-task","returns-to-call","schedules-timer","spawns","spreads","supplies-argv","supplies-env","supplies-request-field","validates","writes","writes-property"],"type":"string"},"maxItems":44,"minItems":1,"type":"array"},"cursor":{"anyOf":[{"pattern":"^jsrqc_[0-9]+_[a-f0-9]{64}$","type":"string"},{"type":"null"}],"default":null,"description":"Value for cursor."},"direction":{"description":"Direction in which to traverse or compare relationships.","enum":["backward-provenance","forward-influence","callers","ownership"],"type":"string"},"expected":{"anyOf":[{"additionalProperties":false,"properties":{"classes":{"description":"Value for classes.","items":{"enum":["module","function","parameter","binding","expression","literal","property-slot","call-site","return-site","closure-capture","promise","task","event","listener","timer","child-process","stdio","signal","config-source","request","response","boundary","resource","unknown-frontier"],"type":"string"},"maxItems":24,"minItems":1,"type":"array"},"role":{"description":"Value for role.","enum":["source","sink"],"type":"string"}},"required":["role","classes"],"type":"object"},{"type":"null"}],"default":null,"description":"Value for expected."},"include_ambiguous_dynamic_edges":{"default":false,"description":"Whether to include ambiguous dynamic edges in the result.","type":"boolean"},"limits":{"additionalProperties":false,"default":{"max_depth":12,"max_edges":4000,"max_functions":500,"max_modules":500,"max_nodes":2000,"max_seed_matches":25,"max_unknowns":1000,"page_size":200},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"max_depth":{"default":12,"description":"Maximum permitted depth for this operation.","maximum":64,"minimum":0,"type":"integer"},"max_edges":{"default":4000,"description":"Maximum permitted edges for this operation.","maximum":100000,"minimum":1,"type":"integer"},"max_functions":{"default":500,"description":"Maximum permitted functions for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_modules":{"default":500,"description":"Maximum permitted modules for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_nodes":{"default":2000,"description":"Maximum permitted nodes for this operation.","maximum":50000,"minimum":1,"type":"integer"},"max_seed_matches":{"default":25,"description":"Maximum permitted seed matches for this operation.","maximum":1000,"minimum":1,"type":"integer"},"max_unknowns":{"default":1000,"description":"Maximum permitted unknowns for this operation.","maximum":10000,"minimum":0,"type":"integer"},"page_size":{"default":200,"description":"Value for page size.","maximum":1000,"minimum":1,"type":"integer"}},"type":"object"},"seed":{"description":"Value for seed.","oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"semantic-node","description":"Value for kind.","type":"string"},"node_id":{"description":"Value for node id.","pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"}},"required":["kind","node_id"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"application-node","description":"Value for kind.","type":"string"},"node_id":{"description":"Value for node id.","pattern":"^jag_node_[a-f0-9]{64}$","type":"string"}},"required":["kind","node_id"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"literal","description":"Value for kind.","type":"string"},"value":{"$ref":"#/$defs/__schema0","description":"Value for value."}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"fingerprint_sha256":{"description":"Exact SHA-256 digest of fingerprint.","pattern":"^[a-f0-9]{64}$","type":"string"},"kind":{"const":"function","description":"Value for kind.","type":"string"}},"required":["kind","fingerprint_sha256"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"property","description":"Value for kind.","type":"string"},"name":{"description":"Exact name used by this operation.","maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"endpoint","description":"Value for kind.","type":"string"},"value":{"description":"Value for value.","maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"event","description":"Value for kind.","type":"string"},"name":{"description":"Exact name used by this operation.","maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"field":{"description":"Value for field.","maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"boundary-field","description":"Value for kind.","type":"string"}},"required":["kind","field"],"type":"object"}]},"source_map_authority":{"additionalProperties":false,"default":{"authority":"none"},"description":"Value for source map authority.","properties":{"authority":{"const":"none","description":"Value for authority.","type":"string"}},"required":["authority"],"type":"object"}},"required":["seed","direction"],"type":"object"}},"required":["query"],"type":"object"},"kind":"application","name":"trace_javascript_semantics","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"accepted_limit_ranges":{"additionalProperties":false,"properties":{"max_depth":{"additionalProperties":false,"properties":{"maximum":{"const":64,"type":"number"},"minimum":{"const":0,"type":"number"}},"required":["minimum","maximum"],"type":"object"},"max_edges":{"additionalProperties":false,"properties":{"maximum":{"const":100000,"type":"number"},"minimum":{"const":1,"type":"number"}},"required":["minimum","maximum"],"type":"object"},"max_functions":{"additionalProperties":false,"properties":{"maximum":{"const":10000,"type":"number"},"minimum":{"const":1,"type":"number"}},"required":["minimum","maximum"],"type":"object"},"max_modules":{"additionalProperties":false,"properties":{"maximum":{"const":10000,"type":"number"},"minimum":{"const":1,"type":"number"}},"required":["minimum","maximum"],"type":"object"},"max_nodes":{"additionalProperties":false,"properties":{"maximum":{"const":50000,"type":"number"},"minimum":{"const":1,"type":"number"}},"required":["minimum","maximum"],"type":"object"},"max_seed_matches":{"additionalProperties":false,"properties":{"maximum":{"const":1000,"type":"number"},"minimum":{"const":1,"type":"number"}},"required":["minimum","maximum"],"type":"object"},"max_unknowns":{"additionalProperties":false,"properties":{"maximum":{"const":10000,"type":"number"},"minimum":{"const":0,"type":"number"}},"required":["minimum","maximum"],"type":"object"},"page_size":{"additionalProperties":false,"properties":{"maximum":{"const":1000,"type":"number"},"minimum":{"const":1,"type":"number"}},"required":["minimum","maximum"],"type":"object"}},"required":["max_seed_matches","max_nodes","max_edges","max_depth","max_functions","max_modules","max_unknowns","page_size"],"type":"object"},"applied_limits":{"additionalProperties":false,"properties":{"max_depth":{"default":12,"maximum":64,"minimum":0,"type":"integer"},"max_edges":{"default":4000,"maximum":100000,"minimum":1,"type":"integer"},"max_functions":{"default":500,"maximum":10000,"minimum":1,"type":"integer"},"max_modules":{"default":500,"maximum":10000,"minimum":1,"type":"integer"},"max_nodes":{"default":2000,"maximum":50000,"minimum":1,"type":"integer"},"max_seed_matches":{"default":25,"maximum":1000,"minimum":1,"type":"integer"},"max_unknowns":{"default":1000,"maximum":10000,"minimum":0,"type":"integer"},"page_size":{"default":200,"maximum":1000,"minimum":1,"type":"integer"}},"required":["max_seed_matches","max_nodes","max_edges","max_depth","max_functions","max_modules","max_unknowns","page_size"],"type":"object"},"coverage":{"additionalProperties":false,"properties":{"frontier":{"items":{"additionalProperties":false,"properties":{"depth":{"maximum":65,"minimum":0,"type":"integer"},"node_id":{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},"reason":{"enum":["max-depth","max-edges","max-functions","max-modules","max-nodes","max-seed-matches"],"type":"string"}},"required":["node_id","depth","reason"],"type":"object"},"maxItems":100000,"type":"array"},"status":{"enum":["complete","partial","truncated","unavailable"],"type":"string"}},"required":["status","frontier"],"type":"object"},"direction":{"enum":["backward-provenance","forward-influence","callers","ownership"],"type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":1,"minItems":1,"type":"array"},"expected_match_node_ids":{"items":{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},"maxItems":50000,"type":"array"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"nodes":{"items":{"additionalProperties":false,"properties":{"application_node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":64,"type":"array"},"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"function_node_id":{"anyOf":[{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"artifact-version","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"identity":{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"module_path":{"maxLength":4096,"minLength":1,"type":"string"},"role_key":{"maxLength":1024,"minLength":1,"type":"string"},"source_range":{"anyOf":[{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["start","end"],"type":"object"},{"type":"null"}]}},"required":["artifact_sha256","module_path","source_range","role_key"],"type":"object"},"kind":{"enum":["module","function","parameter","binding","expression","literal","property-slot","call-site","return-site","closure-capture","promise","task","event","listener","timer","child-process","stdio","signal","config-source","request","response","boundary","resource","unknown-frontier"],"type":"string"},"label":{"anyOf":[{"maxLength":1024,"minLength":1,"type":"string"},{"type":"null"}]},"node_id":{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"}},"required":["kind","identity","function_node_id","application_node_ids","label","properties","evidence","node_id","identifier_strategy"],"type":"object"},"maxItems":3000,"type":"array"},"page":{"additionalProperties":false,"properties":{"next_cursor":{"anyOf":[{"pattern":"^jsrqc_[0-9]+_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"size":{"maximum":1000,"minimum":0,"type":"integer"}},"required":["offset","size","next_cursor"],"type":"object"},"query_id":{"pattern":"^jsrq_[a-f0-9]{64}$","type":"string"},"relations":{"items":{"additionalProperties":false,"properties":{"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"relationship-exact","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"},"relation":{"enum":["acquires","aggregates","aliases","argument-to-parameter","awaits","calls","cancels-timer","captures","chains","coerces","connects-stdio","consumed-by","constructs-request","creates-promise","defaults","defines","destructures","detaches-task","dispatches-candidate","forwards-signal","listens-error","listens-exit","owns","overrides","parses","reads","reads-argv","reads-config","reads-environment","reads-property","registers-listener","releases","removes-listener","returns-task","returns-to-call","schedules-timer","spawns","spreads","supplies-argv","supplies-env","supplies-request-field","validates","writes","writes-property"],"type":"string"},"relation_id":{"pattern":"^jsrg_relation_[a-f0-9]{64}$","type":"string"},"resolution":{"enum":["resolved","candidate"],"type":"string"},"source_node_id":{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},"target_node_id":{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"}},"required":["source_node_id","target_node_id","relation","resolution","properties","evidence","relation_id","identifier_strategy"],"type":"object"},"maxItems":1000,"type":"array"},"schema_version":{"const":1,"type":"number"},"seed":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"semantic-node","type":"string"},"node_id":{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"}},"required":["kind","node_id"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"application-node","type":"string"},"node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"}},"required":["kind","node_id"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"literal","type":"string"},"value":{"$ref":"#/$defs/__schema0"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"fingerprint_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"kind":{"const":"function","type":"string"}},"required":["kind","fingerprint_sha256"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"property","type":"string"},"name":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"endpoint","type":"string"},"value":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"event","type":"string"},"name":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"field":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"boundary-field","type":"string"}},"required":["kind","field"],"type":"object"}]},"seed_node_ids":{"items":{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"type":"array"},"source_evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"source_graph_id":{"pattern":"^jsrg_[a-f0-9]{64}$","type":"string"},"status":{"enum":["found","no-match","ambiguous","partial","truncated","unsupported"],"type":"string"},"summary":{"additionalProperties":false,"properties":{"relevant_unknowns":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"retained_seed_matches":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"retained_unknowns":{"maximum":10000,"minimum":0,"type":"integer"},"total_seed_matches":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"traversed_functions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"traversed_modules":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"traversed_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"traversed_relations":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total_seed_matches","retained_seed_matches","traversed_nodes","traversed_relations","traversed_functions","traversed_modules","relevant_unknowns","retained_unknowns"],"type":"object"},"unknowns":{"items":{"additionalProperties":false,"properties":{"candidate_node_ids":{"items":{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"type":"array"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"family":{"enum":["boundary","call-flow","child-process","closure","configuration","data-flow","event","object-flow","promise-ownership","request","resource-lifecycle","timer"],"type":"string"},"node_id":{"anyOf":[{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"reason":{"enum":["ambiguous-target","bound-reached","dynamic-call","dynamic-property","eval-or-generated-code","incomplete-module","missing-source","unsupported-syntax"],"type":"string"},"relation_kinds":{"items":{"enum":["acquires","aggregates","aliases","argument-to-parameter","awaits","calls","cancels-timer","captures","chains","coerces","connects-stdio","consumed-by","constructs-request","creates-promise","defaults","defines","destructures","detaches-task","dispatches-candidate","forwards-signal","listens-error","listens-exit","owns","overrides","parses","reads","reads-argv","reads-config","reads-environment","reads-property","registers-listener","releases","removes-listener","returns-task","returns-to-call","schedules-timer","spawns","spreads","supplies-argv","supplies-env","supplies-request-field","validates","writes","writes-property"],"type":"string"},"maxItems":45,"minItems":1,"type":"array"},"unknown_id":{"pattern":"^jsrg_unknown_[a-f0-9]{64}$","type":"string"}},"required":["node_id","family","relation_kinds","reason","detail","candidate_node_ids","evidence","unknown_id"],"type":"object"},"maxItems":100000,"type":"array"}},"required":["schema_version","query_id","source_graph_id","seed","direction","status","seed_node_ids","nodes","relations","unknowns","expected_match_node_ids","summary","coverage","page","applied_limits","accepted_limit_ranges","limitations","source_evidence_id","evidence_links"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Trace Javascript Semantics"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Compare two authenticated JavaScript Application Graph versions supplied as full Evidence or Evidence IDs returned earlier in this session. Uses unique-only exact digest, module source digest, source-map identity, structural fingerprint, and non-module semantic-key tiers. Reports added, removed, changed, ambiguous, and unknown entities plus a bounded changed_from graph without fuzzy or module-ordinal pairing.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"allOf":[{"oneOf":[{"required":["left"]},{"required":["left_evidence_id"]}]},{"oneOf":[{"required":["right"]},{"required":["right_evidence_id"]}]}],"examples":[{"left_evidence_id":"ev_0000000000000000000000000000000000000000000000000000000000000000","right_evidence_id":"ev_1111111111111111111111111111111111111111111111111111111111111111"}],"properties":{"left":{"additionalProperties":false,"description":"Left-hand input used for comparison or differential execution.","properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"left_evidence_id":{"description":"Evidence ID returned earlier in this session","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"left_native_observation_evidence_ids":{"default":[],"description":"Ordered Evidence v2 identifiers for the left native observation observations.","items":{"description":"Evidence ID returned earlier in this session","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":64,"type":"array"},"left_native_observations":{"default":[],"description":"Value for left native observations.","items":{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"maxItems":64,"type":"array"},"limits":{"additionalProperties":false,"default":{"max_candidate_nodes":100,"max_comparison_items":20000,"max_graph_edges":40000,"max_graph_nodes":20000},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"max_candidate_nodes":{"default":100,"description":"Maximum permitted candidate nodes for this operation.","maximum":1000,"minimum":1,"type":"integer"},"max_comparison_items":{"default":20000,"description":"Maximum permitted comparison items for this operation.","maximum":50000,"minimum":1,"type":"integer"},"max_graph_edges":{"default":40000,"description":"Maximum permitted graph edges for this operation.","maximum":200000,"minimum":1,"type":"integer"},"max_graph_nodes":{"default":20000,"description":"Maximum permitted graph nodes for this operation.","maximum":100000,"minimum":1,"type":"integer"}},"type":"object"},"right":{"additionalProperties":false,"description":"Right-hand input used for comparison or differential execution.","properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"right_evidence_id":{"description":"Evidence ID returned earlier in this session","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"right_native_observation_evidence_ids":{"default":[],"description":"Ordered Evidence v2 identifiers for the right native observation observations.","items":{"description":"Evidence ID returned earlier in this session","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":64,"type":"array"},"right_native_observations":{"default":[],"description":"Value for right native observations.","items":{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"maxItems":64,"type":"array"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry.","type":"boolean"}},"type":"object"},"kind":"application","name":"compare_application_versions","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"comparison_id":{"pattern":"^javc_[a-f0-9]{64}$","type":"string"},"coverage":{"additionalProperties":false,"properties":{"left_graph_status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"omitted_candidate_references":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_comparison_items":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_graph_edges":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_graph_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_graph_observations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"right_graph_status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"status":{"enum":["complete-within-inputs","partial","truncated"],"type":"string"}},"required":["status","left_graph_status","right_graph_status","omitted_comparison_items","omitted_candidate_references","omitted_graph_nodes","omitted_graph_edges","omitted_graph_observations"],"type":"object"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":130,"minItems":2,"type":"array"},"graph":{"additionalProperties":false,"properties":{"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"edges":{"items":{"additionalProperties":false,"properties":{"edge_id":{"pattern":"^jag_edge_[a-f0-9]{64}$","type":"string"},"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"relationship-exact","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"},"relation":{"enum":["contains","loads","imports","maps_to","exposes","sends","invokes","handles","calls","persists_to","observed_as","changed_from"],"type":"string"},"source_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"target_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"}},"required":["source_node_id","target_node_id","relation","properties","evidence","edge_id","identifier_strategy"],"type":"object"},"maxItems":200000,"type":"array"},"graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"nodes":{"items":{"additionalProperties":false,"properties":{"identity":{"oneOf":[{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"stability":{"const":"global-exact","type":"string"},"strategy":{"const":"content-digest","type":"string"}},"required":["strategy","stability","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"original_source":{"maxLength":4096,"minLength":1,"type":"string"},"source_map_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"source_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"stability":{"const":"source-map-exact","type":"string"},"strategy":{"const":"source-map-original","type":"string"}},"required":["strategy","stability","source_map_sha256","original_source","source_sha256"],"type":"object"},{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"artifact-version","type":"string"},"strategy":{"const":"canonical-path","type":"string"}},"required":["strategy","stability","artifact_sha256","path"],"type":"object"},{"additionalProperties":false,"properties":{"algorithm":{"maxLength":128,"minLength":1,"type":"string"},"basis":{"items":{"enum":["syntax-tree","control-flow","imports","exports","literals","api-usage"],"type":"string"},"maxItems":6,"minItems":1,"type":"array"},"fingerprint_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"stability":{"const":"cross-version-inference","type":"string"},"strategy":{"const":"structural-fingerprint","type":"string"}},"required":["strategy","stability","algorithm","fingerprint_sha256","basis"],"type":"object"},{"additionalProperties":false,"properties":{"artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"key":{"maxLength":4096,"minLength":1,"type":"string"},"namespace":{"maxLength":512,"minLength":1,"type":"string"},"stability":{"const":"artifact-version","type":"string"},"strategy":{"const":"artifact-local-key","type":"string"}},"required":["strategy","stability","artifact_sha256","namespace","key"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"runtime_key":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"capture-only","type":"string"},"strategy":{"const":"runtime-instance","type":"string"}},"required":["strategy","stability","capture_sha256","runtime_key"],"type":"object"},{"additionalProperties":false,"properties":{"observation_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"scope":{"maxLength":4096,"minLength":1,"type":"string"},"stability":{"const":"observation-only","type":"string"},"strategy":{"const":"observation-fingerprint","type":"string"}},"required":["strategy","stability","observation_sha256","scope"],"type":"object"}]},"kind":{"enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"],"type":"string"},"node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"observations":{"items":{"additionalProperties":false,"properties":{"evidence":{"additionalProperties":false,"properties":{"artifact":{"oneOf":[{"additionalProperties":false,"properties":{"artifact_id":{"pattern":"^art_[a-f0-9]{64}$","type":"string"},"available":{"const":true,"type":"boolean"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["available","artifact_id","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"authority":{"enum":["artifact-bytes","ast-static-analysis","static-relationship-inference","passive-cdp-runtime","cross-layer-reconciliation","cross-version-comparison","controlled-replay","native-analysis-provider","managed-static-analysis","historical-reference","user-assertion","unknown"],"type":"string"},"confidence":{"enum":["exact","high","medium","low","unknown"],"type":"string"},"coverage":{"additionalProperties":false,"properties":{"limits":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":128,"minLength":1,"type":"string"},"unit":{"enum":["items","bytes","milliseconds","depth","characters","instructions","other"],"type":"string"},"value":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","value","unit"],"type":"object"},"maxItems":32,"type":"array"},"omitted_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","limits"],"type":"object"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"extractor":{"additionalProperties":false,"properties":{"executable_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"name":{"maxLength":128,"minLength":1,"type":"string"},"operation":{"maxLength":256,"minLength":1,"type":"string"},"version":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","version","operation","executable_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"available":{"const":true,"type":"boolean"},"value":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"kind":{"const":"source-range","type":"string"},"source":{"maxLength":4096,"minLength":1,"type":"string"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["kind","source","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"url","type":"string"},"url":{"maxLength":16384,"minLength":1,"type":"string"}},"required":["kind","url"],"type":"object"},{"additionalProperties":false,"properties":{"capture_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"frame_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"kind":{"const":"runtime","type":"string"},"script_key":{"anyOf":[{"maxLength":512,"minLength":1,"type":"string"},{"type":"null"}]},"target_key":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","capture_sha256","target_key","frame_key","script_key"],"type":"object"},{"additionalProperties":false,"properties":{"address":{"maxLength":512,"minLength":1,"type":"string"},"kind":{"const":"native-address","type":"string"},"symbol":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["kind","address","symbol"],"type":"object"},{"additionalProperties":false,"properties":{"export_path":{"maxLength":4096,"minLength":1,"type":"string"},"kind":{"const":"package-export","type":"string"},"package_name":{"maxLength":512,"minLength":1,"type":"string"}},"required":["kind","package_name","export_path"],"type":"object"}]}},"required":["available","value"],"type":"object"},{"additionalProperties":false,"properties":{"available":{"const":false,"type":"boolean"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"reason":{"enum":["not-applicable","not-observed","not-approved","truncated","provider-unavailable","unresolved","unknown"],"type":"string"}},"required":["available","reason","detail"],"type":"object"}]},"state":{"enum":["observed","inferred","unknown","unavailable"],"type":"string"}},"required":["authority","state","confidence","artifact","location","extractor","coverage","limitations","evidence_ids"],"type":"object"},"identifier_strategy":{"additionalProperties":false,"properties":{"stability":{"const":"observation-exact","type":"string"},"strategy":{"const":"semantic-content-sha256","type":"string"}},"required":["strategy","stability"],"type":"object"},"label":{"anyOf":[{"maxLength":1024,"minLength":1,"type":"string"},{"type":"null"}]},"observation_id":{"pattern":"^jag_observation_[a-f0-9]{64}$","type":"string"},"properties":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"maxLength":128,"minLength":1,"type":"string"},"type":"object"}},"required":["label","properties","evidence","observation_id","identifier_strategy"],"type":"object"},"maxItems":64,"minItems":1,"type":"array"}},"required":["node_id","kind","identity","observations"],"type":"object"},"maxItems":100000,"minItems":1,"type":"array"},"root_node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"schema":{"const":"JavaScriptApplicationGraph","type":"string"},"schema_version":{"const":1,"type":"number"}},"required":["schema","schema_version","root_node_ids","nodes","edges","coverage","limitations","graph_id"],"type":"object"},"items":{"items":{"additionalProperties":false,"properties":{"dimensions":{"items":{"enum":["content","location","properties","relationships","availability","coverage"],"type":"string"},"maxItems":6,"type":"array"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":130,"minItems":2,"type":"array"},"item_id":{"pattern":"^javc_item_[a-f0-9]{64}$","type":"string"},"left_node_id":{"anyOf":[{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"match":{"additionalProperties":false,"properties":{"basis":{"enum":["exact-node-identity","exact-content-digest","exact-module-source-digest","source-map-identity","structural-fingerprint","semantic-key","none"],"type":"string"},"candidate_left_node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"type":"array"},"candidate_right_node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"type":"array"},"confidence":{"enum":["exact","high","medium","unknown"],"type":"string"},"status":{"enum":["matched","unmatched","ambiguous"],"type":"string"}},"required":["status","basis","confidence","candidate_left_node_ids","candidate_right_node_ids"],"type":"object"},"node_kind":{"enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"],"type":"string"},"right_node_id":{"anyOf":[{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"status":{"enum":["unchanged","added","removed","changed","unknown"],"type":"string"}},"required":["item_id","status","node_kind","left_node_id","right_node_id","match","dimensions","evidence_links","limitations"],"type":"object"},"maxItems":50000,"type":"array"},"left":{"additionalProperties":false,"properties":{"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"root_artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["evidence_id","graph_id","root_artifact_sha256"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"matching":{"additionalProperties":false,"properties":{"ambiguous":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"exact_content_digest":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"exact_module_source_digest":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"exact_node_identity":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"semantic_key":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"source_map_identity":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"structural_fingerprint":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unmatched":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["exact_node_identity","exact_content_digest","exact_module_source_digest","source_map_identity","structural_fingerprint","semantic_key","ambiguous","unmatched"],"type":"object"},"right":{"additionalProperties":false,"properties":{"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"root_artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["evidence_id","graph_id","root_artifact_sha256"],"type":"object"},"schema_version":{"const":1,"type":"number"},"summary":{"additionalProperties":false,"properties":{"added":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"changed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"removed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unchanged":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknown":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["unchanged","added","removed","changed","unknown"],"type":"object"}},"required":["schema_version","comparison_id","left","right","summary","matching","items","graph","coverage","evidence_links","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Compare Application Versions"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Compare a cryptographically committed HistoricalSourceGraph/v1 with authenticated JavaScript Application Graph Evidence supplied directly or by session Evidence ID. Uses explicit exact-digest, source-map path, current-path, suffix, and basename signals with stable weights. Classifies unchanged, modified, removed, split, merged, duplicated, and unknown; incomplete coverage and ambiguous weak signals never become absence or forced matches.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"application_evidence_id":"ev_0000000000000000000000000000000000000000000000000000000000000000","reference":{"authority":"historical-reference","entries":[{"classifications":["source"],"kind":"directory","limitations":[],"path":"src","tree_state":"enumerated"},{"classifications":["source"],"content_state":"hashed","kind":"file","language":"TypeScript","limitations":[],"path":"src/main.ts","sha256":"2222222222222222222222222222222222222222222222222222222222222222","size":128}],"exclusions":[],"inventory_state":"complete","languages":["TypeScript"],"limitations":[],"manifests":[],"parse_failures":[],"provenance":{"caller":"contract-example","importer":"rea","importer_version":"1"},"relationships":[],"root_alias":"$REFERENCE_ROOT","root_sha256":"683969414c3e674a368392213c78021322fb39609b0c57f346b22da6464b2110","schema":"HistoricalSourceGraph/v1","vcs":{"dirty":null,"head":null,"kind":"none"}}}],"oneOf":[{"required":["application"]},{"required":["application_evidence_id"]}],"properties":{"application":{"additionalProperties":false,"description":"Value for application.","properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"application_evidence_id":{"description":"Evidence ID returned earlier in this session","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"limits":{"additionalProperties":false,"default":{"max_application_nodes":20000,"max_candidate_evaluations":1000000,"max_candidate_nodes":100,"max_source_files":10000},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"max_application_nodes":{"default":20000,"description":"Maximum permitted application nodes for this operation.","maximum":100000,"minimum":1,"type":"integer"},"max_candidate_evaluations":{"default":1000000,"description":"Maximum permitted candidate evaluations for this operation.","maximum":10000000,"minimum":1,"type":"integer"},"max_candidate_nodes":{"default":100,"description":"Maximum permitted candidate nodes for this operation.","maximum":1000,"minimum":1,"type":"integer"},"max_source_files":{"default":10000,"description":"Maximum permitted source files for this operation.","maximum":100000,"minimum":1,"type":"integer"}},"type":"object"},"reference":{"additionalProperties":false,"description":"Value for reference.","properties":{"authority":{"const":"historical-reference","description":"Value for authority.","type":"string"},"entries":{"description":"Value for entries.","items":{"oneOf":[{"additionalProperties":false,"properties":{"classifications":{"description":"Value for classifications.","items":{"enum":["source","test","config","manifest","generated","vendor","documentation","unknown"],"type":"string"},"maxItems":8,"minItems":1,"type":"array"},"content_state":{"description":"Value for content state.","enum":["hashed","redacted-secret","excluded","unreadable","too-large","unknown"],"type":"string"},"kind":{"const":"file","description":"Value for kind.","type":"string"},"language":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for language."},"limitations":{"description":"Value for limitations.","items":{"maxLength":1024,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"minLength":1,"type":"string"},"sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Value for sha256."},"size":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for size."}},"required":["path","classifications","limitations","kind","sha256","size","language","content_state"],"type":"object"},{"additionalProperties":false,"properties":{"classifications":{"description":"Value for classifications.","items":{"enum":["source","test","config","manifest","generated","vendor","documentation","unknown"],"type":"string"},"maxItems":8,"minItems":1,"type":"array"},"kind":{"const":"directory","description":"Value for kind.","type":"string"},"limitations":{"description":"Value for limitations.","items":{"maxLength":1024,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"minLength":1,"type":"string"},"tree_state":{"description":"Value for tree state.","enum":["enumerated","partial","excluded","unreadable","unknown"],"type":"string"}},"required":["path","classifications","limitations","kind","tree_state"],"type":"object"},{"additionalProperties":false,"properties":{"classifications":{"description":"Value for classifications.","items":{"enum":["source","test","config","manifest","generated","vendor","documentation","unknown"],"type":"string"},"maxItems":8,"minItems":1,"type":"array"},"kind":{"const":"symlink","description":"Value for kind.","type":"string"},"limitations":{"description":"Value for limitations.","items":{"maxLength":1024,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"minLength":1,"type":"string"},"target":{"description":"Value for target.","maxLength":4096,"minLength":1,"type":"string"},"target_state":{"description":"Value for target state.","enum":["internal","external","missing","unreadable","unknown"],"type":"string"}},"required":["path","classifications","limitations","kind","target","target_state"],"type":"object"}]},"maxItems":100000,"type":"array"},"exclusions":{"description":"Value for exclusions.","items":{"additionalProperties":false,"properties":{"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"minLength":1,"type":"string"},"reason":{"description":"Value for reason.","enum":["configured-secret","symlink-escape","size-limit","inventory-limit","unreadable","caller-excluded"],"type":"string"}},"required":["path","reason"],"type":"object"},"maxItems":100000,"type":"array"},"inventory_state":{"description":"Value for inventory state.","enum":["complete","partial","unknown"],"type":"string"},"languages":{"description":"Value for languages.","items":{"maxLength":100,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"limitations":{"description":"Value for limitations.","items":{"maxLength":1024,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"manifests":{"description":"Value for manifests.","items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":10000,"type":"array"},"parse_failures":{"description":"Value for parse failures.","items":{"additionalProperties":false,"properties":{"parser":{"description":"Value for parser.","maxLength":100,"minLength":1,"type":"string"},"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"minLength":1,"type":"string"},"reason":{"description":"Value for reason.","maxLength":1024,"minLength":1,"type":"string"}},"required":["path","parser","reason"],"type":"object"},"maxItems":10000,"type":"array"},"provenance":{"additionalProperties":false,"description":"Value for provenance.","properties":{"caller":{"description":"Value for caller.","maxLength":200,"minLength":1,"pattern":"^[\\\\w .:@/+-]+$","type":"string"},"importer":{"description":"Value for importer.","maxLength":100,"minLength":1,"type":"string"},"importer_version":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for importer version."}},"required":["importer","importer_version","caller"],"type":"object"},"relationships":{"description":"Value for relationships.","items":{"additionalProperties":false,"properties":{"from_path":{"description":"Local filesystem path for from.","maxLength":4096,"minLength":1,"type":"string"},"kind":{"description":"Value for kind.","enum":["imports","requires","references","declares-module"],"type":"string"},"parse_state":{"description":"Value for parse state.","enum":["parsed","partial","unknown"],"type":"string"},"resolution":{"description":"Value for resolution.","enum":["internal","external","unresolved","unknown"],"type":"string"},"to":{"description":"Value for to.","maxLength":4096,"minLength":1,"type":"string"}},"required":["from_path","to","kind","resolution","parse_state"],"type":"object"},"maxItems":200000,"type":"array"},"root_alias":{"const":"$REFERENCE_ROOT","description":"Value for root alias.","type":"string"},"root_sha256":{"description":"Exact SHA-256 digest of root.","pattern":"^[a-f0-9]{64}$","type":"string"},"schema":{"const":"HistoricalSourceGraph/v1","description":"Value for schema.","type":"string"},"vcs":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"dirty":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Value for dirty."},"head":{"description":"Value for head.","pattern":"^(?:[a-f0-9]{40}|[a-f0-9]{64})$","type":"string"},"kind":{"const":"git","description":"Value for kind.","type":"string"}},"required":["kind","head","dirty"],"type":"object"},{"additionalProperties":false,"properties":{"dirty":{"description":"Value for dirty.","type":"null"},"head":{"description":"Value for head.","type":"null"},"kind":{"const":"none","description":"Value for kind.","type":"string"}},"required":["kind","head","dirty"],"type":"object"},{"additionalProperties":false,"properties":{"dirty":{"description":"Value for dirty.","type":"null"},"head":{"description":"Value for head.","type":"null"},"kind":{"const":"unknown","description":"Value for kind.","type":"string"}},"required":["kind","head","dirty"],"type":"object"}]},{"type":"null"}],"description":"Value for vcs."}},"required":["schema","authority","root_alias","root_sha256","inventory_state","entries","relationships","parse_failures","exclusions","languages","manifests","vcs","provenance","limitations"],"type":"object"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry.","type":"boolean"}},"required":["reference"],"type":"object"},"kind":"application","name":"compare_source_to_bundle","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"application":{"additionalProperties":false,"properties":{"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"root_artifact_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["evidence_id","graph_id","root_artifact_sha256"],"type":"object"},"comparison_id":{"pattern":"^stbc_[a-f0-9]{64}$","type":"string"},"coverage":{"additionalProperties":false,"properties":{"application_graph_status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"candidate_evaluations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_application_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_candidate_evaluations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_candidate_references":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_source_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_unmapped_current_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"reference_inventory_state":{"enum":["complete","partial","unknown"],"type":"string"},"retained_application_nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"retained_source_files":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"enum":["complete-within-inputs","partial","truncated"],"type":"string"}},"required":["status","reference_inventory_state","application_graph_status","retained_source_files","omitted_source_files","retained_application_nodes","omitted_application_nodes","candidate_evaluations","omitted_candidate_evaluations","omitted_candidate_references","omitted_unmapped_current_nodes"],"type":"object"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":1,"minItems":1,"type":"array"},"items":{"items":{"additionalProperties":false,"properties":{"candidates":{"items":{"additionalProperties":false,"properties":{"confidence":{"enum":["exact","high","medium","low"],"type":"string"},"current_node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"current_node_kind":{"enum":["package","installer","artifact","asar-entry","electron-main","electron-preload","electron-renderer","electron-utility","javascript-asset","javascript-chunk","javascript-module","source-map","source-module","browser-window","frame","target","context-bridge-api","ipc-channel","ipc-handler","worker","service-worker","endpoint","storage","native-addon","native-export","managed-assembly","managed-module","managed-type","managed-method","managed-field","managed-pinvoke-import","managed-native-implementation","runtime-script-instance","unknown"],"type":"string"},"score":{"maximum":300,"minimum":1,"type":"integer"},"signals":{"items":{"additionalProperties":false,"properties":{"current_values":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":64,"minItems":1,"type":"array"},"kind":{"enum":["exact-source-digest","source-map-original-path","current-path-exact","current-path-suffix","basename-match","language-extension"],"type":"string"},"source_value":{"maxLength":4096,"minLength":1,"type":"string"},"weight":{"maximum":100,"minimum":1,"type":"integer"}},"required":["kind","weight","source_value","current_values"],"type":"object"},"maxItems":6,"minItems":1,"type":"array"}},"required":["current_node_id","current_node_kind","score","confidence","signals"],"type":"object"},"maxItems":1000,"type":"array"},"confidence":{"enum":["exact","high","medium","unknown"],"type":"string"},"current_node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"type":"array"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"mapping_id":{"pattern":"^stbc_item_[a-f0-9]{64}$","type":"string"},"omitted_candidates":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"source_language":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}]},"source_path":{"maxLength":4096,"minLength":1,"type":"string"},"source_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"status":{"enum":["unchanged","modified","removed","split","merged","duplicated","unknown"],"type":"string"}},"required":["mapping_id","source_path","source_sha256","source_language","status","confidence","current_node_ids","candidates","omitted_candidates","limitations"],"type":"object"},"maxItems":100000,"type":"array"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"reference":{"additionalProperties":false,"properties":{"inventory_state":{"enum":["complete","partial","unknown"],"type":"string"},"root_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["root_sha256","inventory_state"],"type":"object"},"schema_version":{"const":1,"type":"number"},"scoring":{"additionalProperties":false,"properties":{"algorithm":{"const":"rea-source-to-bundle-signals/v1","type":"string"},"minimum_candidate_score":{"const":20,"type":"number"},"weights":{"items":{"additionalProperties":false,"properties":{"signal":{"enum":["exact-source-digest","source-map-original-path","current-path-exact","current-path-suffix","basename-match","language-extension"],"type":"string"},"weight":{"maximum":100,"minimum":1,"type":"integer"}},"required":["signal","weight"],"type":"object"},"type":"array"}},"required":["algorithm","minimum_candidate_score","weights"],"type":"object"},"summary":{"additionalProperties":false,"properties":{"duplicated":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"merged":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"modified":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"removed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"split":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unchanged":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknown":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["unchanged","modified","removed","split","merged","duplicated","unknown"],"type":"object"},"unmapped_current_node_ids":{"items":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},"maxItems":100000,"type":"array"}},"required":["schema_version","comparison_id","reference","application","scoring","summary","items","unmapped_current_node_ids","coverage","evidence_links","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Compare Source To Bundle"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Compare bounded static return shapes for one exact module/export selector on each authenticated JavaScript Application Graph, supplied as full Evidence or session Evidence IDs. Variants pair only by reciprocal unique literal discriminants; dynamic values, incomplete properties, and ambiguous variants remain unknown. Reports JSON Pointer changes and recommends controlled replay separately without executing JavaScript.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"allOf":[{"oneOf":[{"required":["left"]},{"required":["left_evidence_id"]}]},{"oneOf":[{"required":["right"]},{"required":["right_evidence_id"]}]}],"examples":[{"left_evidence_id":"ev_0000000000000000000000000000000000000000000000000000000000000000","left_export_name":"default","left_module_path":"parser.mjs","right_evidence_id":"ev_1111111111111111111111111111111111111111111111111111111111111111","right_export_name":"default","right_module_path":"parser.mjs"}],"properties":{"left":{"additionalProperties":false,"description":"Left-hand input used for comparison or differential execution.","properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"left_evidence_id":{"description":"Evidence ID returned earlier in this session","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"left_export_name":{"description":"Value for left export name.","maxLength":4096,"minLength":1,"type":"string"},"left_module_path":{"description":"Local filesystem path for left module.","maxLength":4096,"minLength":1,"type":"string"},"limits":{"additionalProperties":false,"default":{"max_candidate_exports":100,"max_changes":1000,"max_return_variants":128},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"max_candidate_exports":{"default":100,"description":"Maximum permitted candidate exports for this operation.","maximum":1000,"minimum":1,"type":"integer"},"max_changes":{"default":1000,"description":"Maximum permitted changes for this operation.","maximum":10000,"minimum":1,"type":"integer"},"max_return_variants":{"default":128,"description":"Maximum permitted return variants for this operation.","maximum":1000,"minimum":1,"type":"integer"}},"type":"object"},"right":{"additionalProperties":false,"description":"Right-hand input used for comparison or differential execution.","properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"right_evidence_id":{"description":"Evidence ID returned earlier in this session","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"right_export_name":{"description":"Value for right export name.","maxLength":4096,"minLength":1,"type":"string"},"right_module_path":{"description":"Local filesystem path for right module.","maxLength":4096,"minLength":1,"type":"string"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry.","type":"boolean"}},"required":["left_module_path","left_export_name","right_module_path","right_export_name"],"type":"object"},"kind":"application","name":"compare_javascript_export_shapes","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"changes":{"items":{"additionalProperties":false,"properties":{"change_id":{"pattern":"^jesc_change_[a-f0-9]{64}$","type":"string"},"discriminant":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"maxLength":4096,"type":"string"},"value":{"anyOf":[{"maxLength":4096,"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["path","value"],"type":"object"},{"type":"null"}]},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":2,"minItems":2,"type":"array"},"left":{"oneOf":[{"additionalProperties":false,"properties":{"availability":{"const":"absent","type":"string"}},"required":["availability"],"type":"object"},{"additionalProperties":false,"properties":{"availability":{"const":"literal","type":"string"},"value":{"anyOf":[{"maxLength":4096,"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["availability","value"],"type":"object"},{"additionalProperties":false,"properties":{"availability":{"const":"union","type":"string"},"values":{"items":{"anyOf":[{"maxLength":4096,"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"maxItems":32,"minItems":1,"type":"array"}},"required":["availability","values"],"type":"object"},{"additionalProperties":false,"properties":{"availability":{"const":"unknown","type":"string"},"reason":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["availability","reason"],"type":"object"}]},"left_source_range":{"anyOf":[{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["start","end"],"type":"object"},{"type":"null"}]},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":20,"type":"array"},"path":{"maxLength":4096,"type":"string"},"right":{"oneOf":[{"additionalProperties":false,"properties":{"availability":{"const":"absent","type":"string"}},"required":["availability"],"type":"object"},{"additionalProperties":false,"properties":{"availability":{"const":"literal","type":"string"},"value":{"anyOf":[{"maxLength":4096,"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"required":["availability","value"],"type":"object"},{"additionalProperties":false,"properties":{"availability":{"const":"union","type":"string"},"values":{"items":{"anyOf":[{"maxLength":4096,"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"maxItems":32,"minItems":1,"type":"array"}},"required":["availability","values"],"type":"object"},{"additionalProperties":false,"properties":{"availability":{"const":"unknown","type":"string"},"reason":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["availability","reason"],"type":"object"}]},"right_source_range":{"anyOf":[{"additionalProperties":false,"properties":{"end":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"},"start":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"line":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["line","column"],"type":"object"}},"required":["start","end"],"type":"object"},{"type":"null"}]},"status":{"enum":["added","removed","changed","unknown"],"type":"string"}},"required":["change_id","status","path","discriminant","left","right","left_source_range","right_source_range","evidence_links","limitations"],"type":"object"},"maxItems":10000,"type":"array"},"comparison_id":{"pattern":"^jesc_[a-f0-9]{64}$","type":"string"},"coverage":{"additionalProperties":false,"properties":{"left_graph_status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"left_omitted_fields":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"left_omitted_property_coverage":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"left_source_omitted_variants":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"omitted_candidates":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_left_variants":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"omitted_right_variants":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"paired_variants":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"right_graph_status":{"enum":["complete","partial","unknown","unavailable"],"type":"string"},"right_omitted_fields":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"right_omitted_property_coverage":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"right_source_omitted_variants":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"enum":["complete-within-inputs","partial","truncated"],"type":"string"},"unpaired_left_variants":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unpaired_right_variants":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["status","left_graph_status","right_graph_status","paired_variants","unpaired_left_variants","unpaired_right_variants","omitted_left_variants","omitted_right_variants","left_source_omitted_variants","right_source_omitted_variants","left_omitted_fields","right_omitted_fields","left_omitted_property_coverage","right_omitted_property_coverage","omitted_candidates","omitted_changes"],"type":"object"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":2,"minItems":2,"type":"array"},"left":{"additionalProperties":false,"properties":{"candidates":{"items":{"additionalProperties":false,"properties":{"export_name":{"maxLength":4096,"minLength":1,"type":"string"},"matches_requested_export":{"type":"boolean"},"matches_requested_module":{"type":"boolean"},"module_path":{"maxLength":4096,"minLength":1,"type":"string"},"node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"}},"required":["node_id","module_path","export_name","matches_requested_module","matches_requested_export"],"type":"object"},"maxItems":1000,"type":"array"},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"omitted_candidates":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"requested_export_name":{"maxLength":4096,"minLength":1,"type":"string"},"requested_module_path":{"maxLength":4096,"minLength":1,"type":"string"},"selected_node_id":{"anyOf":[{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"status":{"enum":["selected","missing","ambiguous","unavailable"],"type":"string"}},"required":["evidence_id","graph_id","requested_module_path","requested_export_name","status","selected_node_id","candidates","omitted_candidates"],"type":"object"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"right":{"additionalProperties":false,"properties":{"candidates":{"items":{"additionalProperties":false,"properties":{"export_name":{"maxLength":4096,"minLength":1,"type":"string"},"matches_requested_export":{"type":"boolean"},"matches_requested_module":{"type":"boolean"},"module_path":{"maxLength":4096,"minLength":1,"type":"string"},"node_id":{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"}},"required":["node_id","module_path","export_name","matches_requested_module","matches_requested_export"],"type":"object"},"maxItems":1000,"type":"array"},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"graph_id":{"pattern":"^jag_[a-f0-9]{64}$","type":"string"},"omitted_candidates":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"requested_export_name":{"maxLength":4096,"minLength":1,"type":"string"},"requested_module_path":{"maxLength":4096,"minLength":1,"type":"string"},"selected_node_id":{"anyOf":[{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"status":{"enum":["selected","missing","ambiguous","unavailable"],"type":"string"}},"required":["evidence_id","graph_id","requested_module_path","requested_export_name","status","selected_node_id","candidates","omitted_candidates"],"type":"object"},"runtime_validation":{"additionalProperties":false,"properties":{"automatically_started":{"const":false,"type":"boolean"},"recommended_tool":{"const":"run_controlled_replay","type":"string"},"required_for":{"const":"runtime-semantics","type":"string"}},"required":["recommended_tool","automatically_started","required_for"],"type":"object"},"schema_version":{"const":1,"type":"number"},"summary":{"additionalProperties":false,"properties":{"added":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"changed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"removed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknown":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["added","removed","changed","unknown"],"type":"object"}},"required":["schema_version","comparison_id","left","right","summary","changes","coverage","evidence_links","limitations","runtime_validation"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Compare Javascript Export Shapes"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Plan or execute a content-bound extracted-module JavaScript replay inside the Linux Bubblewrap, seccomp, and cgroup boundary. Execution requires approved: true and the exact plan digest. Supports deterministic boundary cases and optional left/right differential comparison; observations have controlled-replay authority and do not claim real application runtime behavior.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":true,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":true},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"approved":false,"cases":[{"arguments":[""],"case_id":"empty"}],"determinism":{"clock_iso":"2000-01-01T00:00:00.000Z","locale":"en-US","platform":"linux","random_seed":0,"timezone":"UTC"},"left":{"entry_alias":"parser","entry_export":"default","modules":[{"alias":"parser","dependencies":{},"format":"esm","path":"/approved/parser.mjs","role":"module"}]},"limits":{"cpu_quota_percent":50,"input_bytes":262144,"memory_bytes":134217728,"module_bytes":4194304,"output_bytes":524288,"protocol_bytes":16777216,"result_depth":16,"result_nodes":10000,"stderr_bytes":32768,"tasks":8,"tmpfs_bytes":16777216,"wall_time_ms":3000},"mode":"plan"}],"properties":{"approved":{"default":false,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"cases":{"default":[],"description":"Value for cases.","items":{"additionalProperties":false,"properties":{"arguments":{"description":"Value for arguments.","items":{"$ref":"#/$defs/__schema0"},"maxItems":16,"type":"array"},"case_id":{"description":"Value for case id.","maxLength":128,"minLength":1,"type":"string"}},"required":["case_id","arguments"],"type":"object"},"maxItems":128,"type":"array"},"determinism":{"additionalProperties":false,"default":{"clock_iso":"2000-01-01T00:00:00.000Z","locale":"en-US","platform":"linux","random_seed":0,"timezone":"UTC"},"description":"Value for determinism.","properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","description":"Value for clock iso.","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"locale":{"const":"en-US","default":"en-US","description":"Value for locale.","type":"string"},"platform":{"const":"linux","default":"linux","description":"Value for platform.","type":"string"},"random_seed":{"default":0,"description":"Value for random seed.","maximum":4294967295,"minimum":0,"type":"integer"},"timezone":{"const":"UTC","default":"UTC","description":"Value for timezone.","type":"string"}},"type":"object"},"generator":{"additionalProperties":false,"description":"Value for generator.","properties":{"count":{"description":"Value for count.","maximum":64,"minimum":1,"type":"integer"},"preset":{"description":"Value for preset.","enum":["parser-boundaries","sanitizer-boundaries","clipboard-boundaries"],"type":"string"},"seed":{"description":"Value for seed.","maximum":4294967295,"minimum":0,"type":"integer"}},"required":["preset","seed","count"],"type":"object"},"left":{"additionalProperties":false,"description":"Left-hand input used for comparison or differential execution.","properties":{"entry_alias":{"description":"Value for entry alias.","maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"entry_export":{"default":"default","description":"Value for entry export.","maxLength":256,"minLength":1,"type":"string"},"modules":{"description":"Value for modules.","items":{"additionalProperties":false,"properties":{"alias":{"description":"Value for alias.","maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"dependencies":{"additionalProperties":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"default":{},"description":"Value for dependencies.","propertyNames":{"maxLength":256,"minLength":1,"type":"string"},"type":"object"},"format":{"description":"Declared input artifact format.","enum":["esm","commonjs-factory"],"type":"string"},"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"pattern":"^\\\\/.*","type":"string"},"role":{"default":"module","description":"Value for role.","enum":["module","stub"],"type":"string"}},"required":["alias","path","format"],"type":"object"},"maxItems":128,"minItems":1,"type":"array"}},"required":["modules","entry_alias"],"type":"object"},"limits":{"additionalProperties":false,"default":{"cpu_quota_percent":50,"input_bytes":262144,"memory_bytes":134217728,"module_bytes":4194304,"output_bytes":524288,"protocol_bytes":16777216,"result_depth":16,"result_nodes":10000,"stderr_bytes":32768,"tasks":8,"tmpfs_bytes":16777216,"wall_time_ms":3000},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"cpu_quota_percent":{"default":50,"description":"Value for cpu quota percent.","maximum":100,"minimum":1,"type":"integer"},"input_bytes":{"default":262144,"description":"Bounded byte count for input.","maximum":1048576,"minimum":1,"type":"integer"},"memory_bytes":{"default":134217728,"description":"Bounded byte count for memory.","maximum":536870912,"minimum":16777216,"type":"integer"},"module_bytes":{"default":4194304,"description":"Bounded byte count for module.","maximum":16777216,"minimum":1,"type":"integer"},"output_bytes":{"default":524288,"description":"Bounded byte count for output.","maximum":4194304,"minimum":1,"type":"integer"},"protocol_bytes":{"default":16777216,"description":"Bounded byte count for protocol.","maximum":67108864,"minimum":1048576,"type":"integer"},"result_depth":{"default":16,"description":"Value for result depth.","maximum":64,"minimum":1,"type":"integer"},"result_nodes":{"default":10000,"description":"Value for result nodes.","maximum":100000,"minimum":1,"type":"integer"},"stderr_bytes":{"default":32768,"description":"Bounded byte count for stderr.","maximum":262144,"minimum":0,"type":"integer"},"tasks":{"default":8,"description":"Value for tasks.","maximum":32,"minimum":1,"type":"integer"},"tmpfs_bytes":{"default":16777216,"description":"Bounded byte count for tmpfs.","maximum":67108864,"minimum":1048576,"type":"integer"},"wall_time_ms":{"default":3000,"description":"Value for wall time ms.","maximum":10000,"minimum":100,"type":"integer"}},"type":"object"},"mode":{"description":"Operation mode that selects the requested behavior.","enum":["plan","execute"],"type":"string"},"plan_digest":{"description":"Value for plan digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"reproducer_export":{"additionalProperties":false,"description":"Value for reproducer export.","properties":{"approved":{"description":"Explicit operator approval to perform this operation.","type":"boolean"},"include_sources":{"default":false,"description":"Whether to include sources in the result.","type":"boolean"},"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"pattern":"^\\\\/.*","type":"string"}},"required":["path","approved"],"type":"object"},"right":{"additionalProperties":false,"description":"Right-hand input used for comparison or differential execution.","properties":{"entry_alias":{"description":"Value for entry alias.","maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"entry_export":{"default":"default","description":"Value for entry export.","maxLength":256,"minLength":1,"type":"string"},"modules":{"description":"Value for modules.","items":{"additionalProperties":false,"properties":{"alias":{"description":"Value for alias.","maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"dependencies":{"additionalProperties":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"default":{},"description":"Value for dependencies.","propertyNames":{"maxLength":256,"minLength":1,"type":"string"},"type":"object"},"format":{"description":"Declared input artifact format.","enum":["esm","commonjs-factory"],"type":"string"},"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"pattern":"^\\\\/.*","type":"string"},"role":{"default":"module","description":"Value for role.","enum":["module","stub"],"type":"string"}},"required":["alias","path","format"],"type":"object"},"maxItems":128,"minItems":1,"type":"array"}},"required":["modules","entry_alias"],"type":"object"}},"required":["mode","left"],"type":"object"},"kind":"application","name":"run_controlled_replay","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema1"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema2"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema2"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence":{"anyOf":[{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"properties":{"digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"minLength":1,"type":"string"},"id":{"minLength":1,"type":"string"},"isolation":{"enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"locations":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"kind":{"const":"address","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"minLength":1,"type":"string"},"kind":{"const":"address-range","type":"string"},"start":{"minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","type":"string"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"additionalProperties":false,"properties":{"cleanup":{"additionalProperties":false,"properties":{"residual_resources":{"items":{"type":"string"},"type":"array"},"state":{"enum":["complete","incomplete"],"type":"string"}},"required":["state","residual_resources"],"type":"object"},"comparison":{"items":{"additionalProperties":false,"properties":{"case_id":{"type":"string"},"left_index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"right_index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"status":{"enum":["equal","changed","unknown"],"type":"string"}},"required":["case_id","status","left_index","right_index"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"outcomes":{"items":{"additionalProperties":false,"properties":{"case_id":{"type":"string"},"exception":{"additionalProperties":false,"properties":{"message":{"type":"string"},"name":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"type":"object"},"input_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"outcome":{"enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"],"type":"string"},"output_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"truncated":{"type":"boolean"},"value":{"$ref":"#/$defs/__schema2"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"type":"object"},"type":"array"},"plan_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"reproducer":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"state":{"const":"written","type":"string"}},"required":["state","path","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"type":"string"},"path":{"type":"string"},"state":{"const":"failed","type":"string"}},"required":["state","path","error"],"type":"object"}]},{"type":"null"}]},"schema_version":{"const":1,"type":"number"},"stderr":{"type":"string"},"termination":{"enum":["completed","timeout","oom","crash","cancelled","protocol_error"],"type":"string"}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"type":"object"},"operation":{"minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"minLength":1,"type":"string"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema1"},{"type":"null"}]},"schema_version":{"const":2,"type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"digest":{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"type":"string"},"name":{"minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}]}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"type":"object"},{"type":"null"}],"description":"Evidence v2 record produced by this operation."},"phase":{"description":"Current plan or execution phase of the operation.","enum":["plan","execute"],"type":"string"},"plan":{"anyOf":[{"additionalProperties":false,"properties":{"cases":{"items":{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},"case_id":{"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["case_id","arguments","sha256"],"type":"object"},"type":"array"},"determinism":{"additionalProperties":false,"properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"locale":{"const":"en-US","default":"en-US","type":"string"},"platform":{"const":"linux","default":"linux","type":"string"},"random_seed":{"default":0,"maximum":4294967295,"minimum":0,"type":"integer"},"timezone":{"const":"UTC","default":"UTC","type":"string"}},"required":["clock_iso","random_seed","locale","timezone","platform"],"type":"object"},"effects":{"items":{"type":"string"},"type":"array"},"filesystem":{"additionalProperties":false,"properties":{"host_writes":{"const":false,"type":"boolean"},"private_tmpfs_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["host_writes","private_tmpfs_bytes"],"type":"object"},"left":{"additionalProperties":false,"properties":{"entry_alias":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"entry_export":{"type":"string"},"modules":{"items":{"additionalProperties":false,"properties":{"alias":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"byte_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"canonical_path":{"minLength":1,"type":"string"},"dependencies":{"additionalProperties":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"propertyNames":{"type":"string"},"type":"object"},"format":{"enum":["esm","commonjs-factory"],"type":"string"},"role":{"enum":["module","stub"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"type":"object"},"type":"array"}},"required":["modules","entry_alias","entry_export"],"type":"object"},"limits":{"additionalProperties":false,"properties":{"cpu_quota_percent":{"default":50,"maximum":100,"minimum":1,"type":"integer"},"input_bytes":{"default":262144,"maximum":1048576,"minimum":1,"type":"integer"},"memory_bytes":{"default":134217728,"maximum":536870912,"minimum":16777216,"type":"integer"},"module_bytes":{"default":4194304,"maximum":16777216,"minimum":1,"type":"integer"},"output_bytes":{"default":524288,"maximum":4194304,"minimum":1,"type":"integer"},"protocol_bytes":{"default":16777216,"maximum":67108864,"minimum":1048576,"type":"integer"},"result_depth":{"default":16,"maximum":64,"minimum":1,"type":"integer"},"result_nodes":{"default":10000,"maximum":100000,"minimum":1,"type":"integer"},"stderr_bytes":{"default":32768,"maximum":262144,"minimum":0,"type":"integer"},"tasks":{"default":8,"maximum":32,"minimum":1,"type":"integer"},"tmpfs_bytes":{"default":16777216,"maximum":67108864,"minimum":1048576,"type":"integer"},"wall_time_ms":{"default":3000,"maximum":10000,"minimum":100,"type":"integer"}},"required":["wall_time_ms","memory_bytes","tasks","cpu_quota_percent","tmpfs_bytes","module_bytes","input_bytes","protocol_bytes","output_bytes","stderr_bytes","result_depth","result_nodes"],"type":"object"},"network":{"const":"none","type":"string"},"plan_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"policy_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"policy_version":{"const":"linux-bwrap-systemd-v1","type":"string"},"reproducer_export":{"anyOf":[{"additionalProperties":false,"properties":{"authority":{"const":"evidence_write","type":"string"},"include_sources":{"type":"boolean"},"path":{"minLength":1,"type":"string"}},"required":["path","include_sources","authority"],"type":"object"},{"type":"null"}]},"right":{"additionalProperties":false,"properties":{"entry_alias":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"entry_export":{"type":"string"},"modules":{"items":{"additionalProperties":false,"properties":{"alias":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"byte_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"canonical_path":{"minLength":1,"type":"string"},"dependencies":{"additionalProperties":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"propertyNames":{"type":"string"},"type":"object"},"format":{"enum":["esm","commonjs-factory"],"type":"string"},"role":{"enum":["module","stub"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"type":"object"},"type":"array"}},"required":["modules","entry_alias","entry_export"],"type":"object"},"runtime":{"additionalProperties":false,"properties":{"executable":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"},"read_only_files":{"items":{"additionalProperties":false,"properties":{"destination_path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"source_path":{"minLength":1,"type":"string"}},"required":["source_path","destination_path","sha256"],"type":"object"},"minItems":1,"type":"array"},"worker":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"}},"required":["executable","worker","read_only_files"],"type":"object"},"sandbox":{"additionalProperties":false,"properties":{"bubblewrap":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"},"seccomp_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"shell":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"},"systemctl":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"},"systemd_run":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"}},"required":["bubblewrap","systemd_run","systemctl","shell","seccomp_sha256"],"type":"object"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","plan_digest","policy_version","policy_sha256","network","filesystem","runtime","sandbox","left","cases","determinism","limits","effects","reproducer_export"],"type":"object"},{"type":"null"}],"description":"Content-bound execution plan and its approval commitment."},"source_evidence":{"description":"Evidence records supporting the prepared source transformation.","items":{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"properties":{"digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"minLength":1,"type":"string"},"id":{"minLength":1,"type":"string"},"isolation":{"enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"locations":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"kind":{"const":"address","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"minLength":1,"type":"string"},"kind":{"const":"address-range","type":"string"},"start":{"minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","type":"string"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"additionalProperties":false,"properties":{"cleanup":{"additionalProperties":false,"properties":{"residual_resources":{"items":{"type":"string"},"type":"array"},"state":{"enum":["complete","incomplete"],"type":"string"}},"required":["state","residual_resources"],"type":"object"},"comparison":{"items":{"additionalProperties":false,"properties":{"case_id":{"type":"string"},"left_index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"right_index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"status":{"enum":["equal","changed","unknown"],"type":"string"}},"required":["case_id","status","left_index","right_index"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"outcomes":{"items":{"additionalProperties":false,"properties":{"case_id":{"type":"string"},"exception":{"additionalProperties":false,"properties":{"message":{"type":"string"},"name":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"type":"object"},"input_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"outcome":{"enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"],"type":"string"},"output_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"truncated":{"type":"boolean"},"value":{"$ref":"#/$defs/__schema2"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"type":"object"},"type":"array"},"plan_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"reproducer":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"state":{"const":"written","type":"string"}},"required":["state","path","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"type":"string"},"path":{"type":"string"},"state":{"const":"failed","type":"string"}},"required":["state","path","error"],"type":"object"}]},{"type":"null"}]},"schema_version":{"const":1,"type":"number"},"stderr":{"type":"string"},"termination":{"enum":["completed","timeout","oom","crash","cancelled","protocol_error"],"type":"string"}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"type":"object"},"operation":{"minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"minLength":1,"type":"string"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema1"},{"type":"null"}]},"schema_version":{"const":2,"type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"digest":{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"type":"string"},"name":{"minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}]}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"type":"object"},"type":"array"}},"required":["phase","plan","source_evidence","evidence"],"type":"object"},"requiresSession":false,"title":"Run Controlled Replay"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Prepare a hash-bound Node/JavaScript characterization plan and deterministic reversible export transformation without executing target code. The exact source, selected byte range, runtime closure, sandbox profile, cases, and limits are committed for separate execution approval.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":true,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"expected_effect":"pure","instrumentation":{"artifact_path":"/approved/bundle.js","artifact_sha256":"0000000000000000000000000000000000000000000000000000000000000000","selection":{"byte_end":120,"byte_start":100,"export_name":"selected","selected_sha256":"0000000000000000000000000000000000000000000000000000000000000000"}},"preparation_approved":true,"replay":{"approved":false,"cases":[{"arguments":[""],"case_id":"empty"}],"left":{"entry_alias":"bundle","entry_export":"selected","modules":[{"alias":"bundle","dependencies":{},"format":"commonjs-factory","path":"/approved/bundle.js","role":"module"}]},"mode":"plan"},"selected_alias":"bundle"}],"properties":{"expected_effect":{"description":"Expected effect used to reject stale or mismatched input.","enum":["pure","observation-only"],"type":"string"},"instrumentation":{"additionalProperties":false,"description":"Value for instrumentation.","properties":{"artifact_path":{"description":"Local filesystem path for artifact.","maxLength":4096,"minLength":1,"type":"string"},"artifact_sha256":{"description":"Exact SHA-256 digest of artifact.","pattern":"^[a-f0-9]{64}$","type":"string"},"selection":{"additionalProperties":false,"description":"Value for selection.","properties":{"byte_end":{"description":"Value for byte end.","maximum":9007199254740991,"minimum":1,"type":"integer"},"byte_start":{"description":"Value for byte start.","maximum":9007199254740991,"minimum":0,"type":"integer"},"export_name":{"description":"Value for export name.","pattern":"^[A-Za-z_$][A-Za-z0-9_$]{0,199}$","type":"string"},"selected_sha256":{"description":"Exact SHA-256 digest of selected.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["byte_start","byte_end","selected_sha256","export_name"],"type":"object"}},"required":["artifact_path","artifact_sha256","selection"],"type":"object"},"preparation_approved":{"const":true,"description":"Explicit operator approval for preparation.","type":"boolean"},"replay":{"additionalProperties":false,"description":"Value for replay.","properties":{"approved":{"default":false,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"cases":{"default":[],"description":"Value for cases.","items":{"additionalProperties":false,"properties":{"arguments":{"description":"Value for arguments.","items":{"$ref":"#/$defs/__schema0"},"maxItems":16,"type":"array"},"case_id":{"description":"Value for case id.","maxLength":128,"minLength":1,"type":"string"}},"required":["case_id","arguments"],"type":"object"},"maxItems":128,"type":"array"},"determinism":{"additionalProperties":false,"default":{"clock_iso":"2000-01-01T00:00:00.000Z","locale":"en-US","platform":"linux","random_seed":0,"timezone":"UTC"},"description":"Value for determinism.","properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","description":"Value for clock iso.","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"locale":{"const":"en-US","default":"en-US","description":"Value for locale.","type":"string"},"platform":{"const":"linux","default":"linux","description":"Value for platform.","type":"string"},"random_seed":{"default":0,"description":"Value for random seed.","maximum":4294967295,"minimum":0,"type":"integer"},"timezone":{"const":"UTC","default":"UTC","description":"Value for timezone.","type":"string"}},"type":"object"},"generator":{"additionalProperties":false,"description":"Value for generator.","properties":{"count":{"description":"Value for count.","maximum":64,"minimum":1,"type":"integer"},"preset":{"description":"Value for preset.","enum":["parser-boundaries","sanitizer-boundaries","clipboard-boundaries"],"type":"string"},"seed":{"description":"Value for seed.","maximum":4294967295,"minimum":0,"type":"integer"}},"required":["preset","seed","count"],"type":"object"},"left":{"additionalProperties":false,"description":"Left-hand input used for comparison or differential execution.","properties":{"entry_alias":{"description":"Value for entry alias.","maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"entry_export":{"default":"default","description":"Value for entry export.","maxLength":256,"minLength":1,"type":"string"},"modules":{"description":"Value for modules.","items":{"additionalProperties":false,"properties":{"alias":{"description":"Value for alias.","maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"dependencies":{"additionalProperties":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"default":{},"description":"Value for dependencies.","propertyNames":{"maxLength":256,"minLength":1,"type":"string"},"type":"object"},"format":{"description":"Declared input artifact format.","enum":["esm","commonjs-factory"],"type":"string"},"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"pattern":"^\\\\/.*","type":"string"},"role":{"default":"module","description":"Value for role.","enum":["module","stub"],"type":"string"}},"required":["alias","path","format"],"type":"object"},"maxItems":128,"minItems":1,"type":"array"}},"required":["modules","entry_alias"],"type":"object"},"limits":{"additionalProperties":false,"default":{"cpu_quota_percent":50,"input_bytes":262144,"memory_bytes":134217728,"module_bytes":4194304,"output_bytes":524288,"protocol_bytes":16777216,"result_depth":16,"result_nodes":10000,"stderr_bytes":32768,"tasks":8,"tmpfs_bytes":16777216,"wall_time_ms":3000},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"cpu_quota_percent":{"default":50,"description":"Value for cpu quota percent.","maximum":100,"minimum":1,"type":"integer"},"input_bytes":{"default":262144,"description":"Bounded byte count for input.","maximum":1048576,"minimum":1,"type":"integer"},"memory_bytes":{"default":134217728,"description":"Bounded byte count for memory.","maximum":536870912,"minimum":16777216,"type":"integer"},"module_bytes":{"default":4194304,"description":"Bounded byte count for module.","maximum":16777216,"minimum":1,"type":"integer"},"output_bytes":{"default":524288,"description":"Bounded byte count for output.","maximum":4194304,"minimum":1,"type":"integer"},"protocol_bytes":{"default":16777216,"description":"Bounded byte count for protocol.","maximum":67108864,"minimum":1048576,"type":"integer"},"result_depth":{"default":16,"description":"Value for result depth.","maximum":64,"minimum":1,"type":"integer"},"result_nodes":{"default":10000,"description":"Value for result nodes.","maximum":100000,"minimum":1,"type":"integer"},"stderr_bytes":{"default":32768,"description":"Bounded byte count for stderr.","maximum":262144,"minimum":0,"type":"integer"},"tasks":{"default":8,"description":"Value for tasks.","maximum":32,"minimum":1,"type":"integer"},"tmpfs_bytes":{"default":16777216,"description":"Bounded byte count for tmpfs.","maximum":67108864,"minimum":1048576,"type":"integer"},"wall_time_ms":{"default":3000,"description":"Value for wall time ms.","maximum":10000,"minimum":100,"type":"integer"}},"type":"object"},"mode":{"description":"Operation mode that selects the requested behavior.","enum":["plan","execute"],"type":"string"},"plan_digest":{"description":"Value for plan digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"reproducer_export":{"additionalProperties":false,"description":"Value for reproducer export.","properties":{"approved":{"description":"Explicit operator approval to perform this operation.","type":"boolean"},"include_sources":{"default":false,"description":"Whether to include sources in the result.","type":"boolean"},"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"pattern":"^\\\\/.*","type":"string"}},"required":["path","approved"],"type":"object"},"right":{"additionalProperties":false,"description":"Right-hand input used for comparison or differential execution.","properties":{"entry_alias":{"description":"Value for entry alias.","maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"entry_export":{"default":"default","description":"Value for entry export.","maxLength":256,"minLength":1,"type":"string"},"modules":{"description":"Value for modules.","items":{"additionalProperties":false,"properties":{"alias":{"description":"Value for alias.","maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"dependencies":{"additionalProperties":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"default":{},"description":"Value for dependencies.","propertyNames":{"maxLength":256,"minLength":1,"type":"string"},"type":"object"},"format":{"description":"Declared input artifact format.","enum":["esm","commonjs-factory"],"type":"string"},"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"pattern":"^\\\\/.*","type":"string"},"role":{"default":"module","description":"Value for role.","enum":["module","stub"],"type":"string"}},"required":["alias","path","format"],"type":"object"},"maxItems":128,"minItems":1,"type":"array"}},"required":["modules","entry_alias"],"type":"object"}},"required":["mode","left"],"type":"object"},"selected_alias":{"description":"Value for selected alias.","maxLength":200,"minLength":1,"type":"string"}},"required":["preparation_approved","selected_alias","expected_effect","instrumentation","replay"],"type":"object"},"kind":"application","name":"prepare_node_characterization","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema1"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema2"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema2"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"phase":{"const":"preparation","description":"Current plan or execution phase of the operation.","type":"string"},"plan":{"additionalProperties":false,"description":"Content-bound execution plan and its approval commitment.","properties":{"allowed_boundaries":{"items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":1000,"type":"array"},"artifact":{"additionalProperties":false,"properties":{"byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"path":{"maxLength":4096,"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["path","sha256","byte_length"],"type":"object"},"authority":{"additionalProperties":false,"properties":{"execution_approved":{"const":false,"type":"boolean"},"network":{"enum":["none","loopback"],"type":"string"},"preparation_approved":{"const":true,"type":"boolean"},"provider_owned_process_only":{"const":true,"type":"boolean"}},"required":["preparation_approved","execution_approved","network","provider_owned_process_only"],"type":"object"},"callable":{"additionalProperties":false,"properties":{"callable_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"export_name":{"maxLength":1000,"minLength":1,"type":"string"},"module_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"selector_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"semantic_evidence_id":{"anyOf":[{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},{"type":"null"}]}},"required":["callable_id","module_id","export_name","semantic_evidence_id","selector_sha256"],"type":"object"},"determinism":{"additionalProperties":false,"properties":{"clock":{"enum":["fixed","real"],"type":"string"},"identifiers":{"enum":["deterministic","runtime"],"type":"string"},"randomness":{"enum":["seeded","system"],"type":"string"},"seed":{"maximum":4294967295,"minimum":0,"type":"integer"}},"required":["clock","randomness","identifiers","seed"],"type":"object"},"expected_effect":{"enum":["pure","bounded-effects","observation-only"],"type":"string"},"isolated_home":{"maxLength":4096,"minLength":1,"type":"string"},"limits":{"additionalProperties":false,"properties":{"idle_timeout_ms":{"maximum":300000,"minimum":1,"type":"integer"},"max_bytes":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"max_calls":{"maximum":10000,"minimum":1,"type":"integer"},"max_files":{"maximum":100000,"minimum":0,"type":"integer"},"max_handles":{"maximum":100000,"minimum":0,"type":"integer"},"max_processes":{"maximum":1000,"minimum":0,"type":"integer"},"timeout_ms":{"maximum":300000,"minimum":1,"type":"integer"}},"required":["max_calls","max_processes","max_files","max_bytes","max_handles","timeout_ms","idle_timeout_ms"],"type":"object"},"plan_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"preparation_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"runtime":{"additionalProperties":false,"properties":{"executable_path":{"maxLength":4096,"minLength":1,"type":"string"},"executable_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"family":{"maxLength":100,"minLength":1,"type":"string"},"profile_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"provider_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"version":{"maxLength":500,"minLength":1,"type":"string"}},"required":["family","provider_id","executable_path","executable_sha256","version","profile_sha256"],"type":"object"},"schema_version":{"const":1,"type":"number"},"working_directory":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["schema_version","plan_sha256","preparation_sha256","artifact","runtime","callable","working_directory","isolated_home","expected_effect","allowed_boundaries","limits","determinism","authority"],"type":"object"},"replay":{"additionalProperties":false,"description":"Value for replay.","properties":{"evidence":{"anyOf":[{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"properties":{"digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"minLength":1,"type":"string"},"id":{"minLength":1,"type":"string"},"isolation":{"enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"locations":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"kind":{"const":"address","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"minLength":1,"type":"string"},"kind":{"const":"address-range","type":"string"},"start":{"minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","type":"string"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"additionalProperties":false,"properties":{"cleanup":{"additionalProperties":false,"properties":{"residual_resources":{"items":{"type":"string"},"type":"array"},"state":{"enum":["complete","incomplete"],"type":"string"}},"required":["state","residual_resources"],"type":"object"},"comparison":{"items":{"additionalProperties":false,"properties":{"case_id":{"type":"string"},"left_index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"right_index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"status":{"enum":["equal","changed","unknown"],"type":"string"}},"required":["case_id","status","left_index","right_index"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"outcomes":{"items":{"additionalProperties":false,"properties":{"case_id":{"type":"string"},"exception":{"additionalProperties":false,"properties":{"message":{"type":"string"},"name":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"type":"object"},"input_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"outcome":{"enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"],"type":"string"},"output_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"truncated":{"type":"boolean"},"value":{"$ref":"#/$defs/__schema2"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"type":"object"},"type":"array"},"plan_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"reproducer":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"state":{"const":"written","type":"string"}},"required":["state","path","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"type":"string"},"path":{"type":"string"},"state":{"const":"failed","type":"string"}},"required":["state","path","error"],"type":"object"}]},{"type":"null"}]},"schema_version":{"const":1,"type":"number"},"stderr":{"type":"string"},"termination":{"enum":["completed","timeout","oom","crash","cancelled","protocol_error"],"type":"string"}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"type":"object"},"operation":{"minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"minLength":1,"type":"string"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"schema_version":{"const":2,"type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"digest":{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"type":"string"},"name":{"minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}]}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"type":"object"},{"type":"null"}]},"phase":{"enum":["plan","execute"],"type":"string"},"plan":{"anyOf":[{"additionalProperties":false,"properties":{"cases":{"items":{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/__schema1"},"type":"array"},"case_id":{"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["case_id","arguments","sha256"],"type":"object"},"type":"array"},"determinism":{"additionalProperties":false,"properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"locale":{"const":"en-US","default":"en-US","type":"string"},"platform":{"const":"linux","default":"linux","type":"string"},"random_seed":{"default":0,"maximum":4294967295,"minimum":0,"type":"integer"},"timezone":{"const":"UTC","default":"UTC","type":"string"}},"required":["clock_iso","random_seed","locale","timezone","platform"],"type":"object"},"effects":{"items":{"type":"string"},"type":"array"},"filesystem":{"additionalProperties":false,"properties":{"host_writes":{"const":false,"type":"boolean"},"private_tmpfs_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["host_writes","private_tmpfs_bytes"],"type":"object"},"left":{"additionalProperties":false,"properties":{"entry_alias":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"entry_export":{"type":"string"},"modules":{"items":{"additionalProperties":false,"properties":{"alias":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"byte_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"canonical_path":{"minLength":1,"type":"string"},"dependencies":{"additionalProperties":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"propertyNames":{"type":"string"},"type":"object"},"format":{"enum":["esm","commonjs-factory"],"type":"string"},"role":{"enum":["module","stub"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"type":"object"},"type":"array"}},"required":["modules","entry_alias","entry_export"],"type":"object"},"limits":{"additionalProperties":false,"properties":{"cpu_quota_percent":{"default":50,"maximum":100,"minimum":1,"type":"integer"},"input_bytes":{"default":262144,"maximum":1048576,"minimum":1,"type":"integer"},"memory_bytes":{"default":134217728,"maximum":536870912,"minimum":16777216,"type":"integer"},"module_bytes":{"default":4194304,"maximum":16777216,"minimum":1,"type":"integer"},"output_bytes":{"default":524288,"maximum":4194304,"minimum":1,"type":"integer"},"protocol_bytes":{"default":16777216,"maximum":67108864,"minimum":1048576,"type":"integer"},"result_depth":{"default":16,"maximum":64,"minimum":1,"type":"integer"},"result_nodes":{"default":10000,"maximum":100000,"minimum":1,"type":"integer"},"stderr_bytes":{"default":32768,"maximum":262144,"minimum":0,"type":"integer"},"tasks":{"default":8,"maximum":32,"minimum":1,"type":"integer"},"tmpfs_bytes":{"default":16777216,"maximum":67108864,"minimum":1048576,"type":"integer"},"wall_time_ms":{"default":3000,"maximum":10000,"minimum":100,"type":"integer"}},"required":["wall_time_ms","memory_bytes","tasks","cpu_quota_percent","tmpfs_bytes","module_bytes","input_bytes","protocol_bytes","output_bytes","stderr_bytes","result_depth","result_nodes"],"type":"object"},"network":{"const":"none","type":"string"},"plan_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"policy_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"policy_version":{"const":"linux-bwrap-systemd-v1","type":"string"},"reproducer_export":{"anyOf":[{"additionalProperties":false,"properties":{"authority":{"const":"evidence_write","type":"string"},"include_sources":{"type":"boolean"},"path":{"minLength":1,"type":"string"}},"required":["path","include_sources","authority"],"type":"object"},{"type":"null"}]},"right":{"additionalProperties":false,"properties":{"entry_alias":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"entry_export":{"type":"string"},"modules":{"items":{"additionalProperties":false,"properties":{"alias":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"byte_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"canonical_path":{"minLength":1,"type":"string"},"dependencies":{"additionalProperties":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"propertyNames":{"type":"string"},"type":"object"},"format":{"enum":["esm","commonjs-factory"],"type":"string"},"role":{"enum":["module","stub"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"type":"object"},"type":"array"}},"required":["modules","entry_alias","entry_export"],"type":"object"},"runtime":{"additionalProperties":false,"properties":{"executable":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"},"read_only_files":{"items":{"additionalProperties":false,"properties":{"destination_path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"source_path":{"minLength":1,"type":"string"}},"required":["source_path","destination_path","sha256"],"type":"object"},"minItems":1,"type":"array"},"worker":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"}},"required":["executable","worker","read_only_files"],"type":"object"},"sandbox":{"additionalProperties":false,"properties":{"bubblewrap":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"},"seccomp_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"shell":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"},"systemctl":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"},"systemd_run":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"}},"required":["bubblewrap","systemd_run","systemctl","shell","seccomp_sha256"],"type":"object"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","plan_digest","policy_version","policy_sha256","network","filesystem","runtime","sandbox","left","cases","determinism","limits","effects","reproducer_export"],"type":"object"},{"type":"null"}]},"source_evidence":{"items":{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"properties":{"digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"minLength":1,"type":"string"},"id":{"minLength":1,"type":"string"},"isolation":{"enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"locations":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"kind":{"const":"address","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"minLength":1,"type":"string"},"kind":{"const":"address-range","type":"string"},"start":{"minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","type":"string"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"additionalProperties":false,"properties":{"cleanup":{"additionalProperties":false,"properties":{"residual_resources":{"items":{"type":"string"},"type":"array"},"state":{"enum":["complete","incomplete"],"type":"string"}},"required":["state","residual_resources"],"type":"object"},"comparison":{"items":{"additionalProperties":false,"properties":{"case_id":{"type":"string"},"left_index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"right_index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"status":{"enum":["equal","changed","unknown"],"type":"string"}},"required":["case_id","status","left_index","right_index"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"outcomes":{"items":{"additionalProperties":false,"properties":{"case_id":{"type":"string"},"exception":{"additionalProperties":false,"properties":{"message":{"type":"string"},"name":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"type":"object"},"input_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"outcome":{"enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"],"type":"string"},"output_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"truncated":{"type":"boolean"},"value":{"$ref":"#/$defs/__schema2"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"type":"object"},"type":"array"},"plan_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"reproducer":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"state":{"const":"written","type":"string"}},"required":["state","path","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"type":"string"},"path":{"type":"string"},"state":{"const":"failed","type":"string"}},"required":["state","path","error"],"type":"object"}]},{"type":"null"}]},"schema_version":{"const":1,"type":"number"},"stderr":{"type":"string"},"termination":{"enum":["completed","timeout","oom","crash","cancelled","protocol_error"],"type":"string"}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"type":"object"},"operation":{"minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"minLength":1,"type":"string"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"schema_version":{"const":2,"type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"digest":{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"type":"string"},"name":{"minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}]}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"type":"object"},"type":"array"}},"required":["phase","plan","source_evidence","evidence"],"type":"object"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"},"transformation":{"additionalProperties":false,"description":"Value for transformation.","properties":{"artifact_path":{"maxLength":4096,"minLength":1,"type":"string"},"inserted_ranges":{"items":{"additionalProperties":false,"properties":{"byte_end":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"byte_start":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"inserted_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"purpose":{"enum":["factory-prefix","export-binding","factory-suffix"],"type":"string"}},"required":["byte_start","byte_end","inserted_sha256","purpose"],"type":"object"},"maxItems":3,"minItems":3,"type":"array"},"instrumented_byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"instrumented_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"kind":{"const":"commonjs-factory-export-v1","type":"string"},"original_byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"original_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"output_format":{"const":"commonjs-factory","type":"string"},"schema_version":{"const":1,"type":"number"},"selected_range":{"additionalProperties":false,"properties":{"byte_end":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"byte_start":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"selected_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["byte_start","byte_end","selected_sha256"],"type":"object"},"source_map":{"const":null,"type":"null"}},"required":["schema_version","kind","artifact_path","original_sha256","original_byte_length","instrumented_sha256","instrumented_byte_length","selected_range","inserted_ranges","output_format","source_map"],"type":"object"},"transformation_evidence":{"anyOf":[{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"properties":{"digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"minLength":1,"type":"string"},"id":{"minLength":1,"type":"string"},"isolation":{"enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"locations":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"kind":{"const":"address","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"minLength":1,"type":"string"},"kind":{"const":"address-range","type":"string"},"start":{"minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","type":"string"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0"},"operation":{"minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"minLength":1,"type":"string"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"schema_version":{"const":2,"type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"digest":{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"type":"string"},"name":{"minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}]}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"type":"object"},{"additionalProperties":false,"properties":{"authority":{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"minLength":1,"type":"string"},"id":{"minLength":1,"type":"string"},"isolation":{"enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"locations":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"kind":{"const":"address","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"minLength":1,"type":"string"},"kind":{"const":"address-range","type":"string"},"start":{"minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","type":"string"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0"},"operation":{"minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"minLength":1,"type":"string"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"schema_version":{"const":2,"type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"digest":{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"type":"string"},"name":{"minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}]}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"}],"description":"Value for transformation evidence."}},"required":["schema_version","phase","plan","transformation","transformation_evidence","replay"],"type":"object"},"requiresSession":false,"title":"Prepare Node Characterization"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Recompute and execute one separately approved exact Node characterization plan in the owned controlled-replay boundary. Returns transformation, replay, cleanup, and provider-neutral characterization Evidence v2; stale plans fail before execution.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":true,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":true},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"approved_plan_sha256":"0000000000000000000000000000000000000000000000000000000000000000","execution_approved":true,"preparation":{"expected_effect":"pure","instrumentation":{"artifact_path":"/approved/bundle.js","artifact_sha256":"0000000000000000000000000000000000000000000000000000000000000000","selection":{"byte_end":120,"byte_start":100,"export_name":"selected","selected_sha256":"0000000000000000000000000000000000000000000000000000000000000000"}},"preparation_approved":true,"replay":{"approved":false,"cases":[{"arguments":[""],"case_id":"empty"}],"left":{"entry_alias":"bundle","entry_export":"selected","modules":[{"alias":"bundle","dependencies":{},"format":"commonjs-factory","path":"/approved/bundle.js","role":"module"}]},"mode":"plan"},"selected_alias":"bundle"}}],"properties":{"approved_plan_sha256":{"description":"Exact SHA-256 digest of approved plan.","pattern":"^[a-f0-9]{64}$","type":"string"},"execution_approved":{"const":true,"description":"Explicit operator approval for execution.","type":"boolean"},"preparation":{"additionalProperties":false,"description":"Value for preparation.","properties":{"expected_effect":{"description":"Expected effect used to reject stale or mismatched input.","enum":["pure","observation-only"],"type":"string"},"instrumentation":{"additionalProperties":false,"description":"Value for instrumentation.","properties":{"artifact_path":{"description":"Local filesystem path for artifact.","maxLength":4096,"minLength":1,"type":"string"},"artifact_sha256":{"description":"Exact SHA-256 digest of artifact.","pattern":"^[a-f0-9]{64}$","type":"string"},"selection":{"additionalProperties":false,"description":"Value for selection.","properties":{"byte_end":{"description":"Value for byte end.","maximum":9007199254740991,"minimum":1,"type":"integer"},"byte_start":{"description":"Value for byte start.","maximum":9007199254740991,"minimum":0,"type":"integer"},"export_name":{"description":"Value for export name.","pattern":"^[A-Za-z_$][A-Za-z0-9_$]{0,199}$","type":"string"},"selected_sha256":{"description":"Exact SHA-256 digest of selected.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["byte_start","byte_end","selected_sha256","export_name"],"type":"object"}},"required":["artifact_path","artifact_sha256","selection"],"type":"object"},"preparation_approved":{"const":true,"description":"Explicit operator approval for preparation.","type":"boolean"},"replay":{"additionalProperties":false,"description":"Value for replay.","properties":{"approved":{"default":false,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"cases":{"default":[],"description":"Value for cases.","items":{"additionalProperties":false,"properties":{"arguments":{"description":"Value for arguments.","items":{"$ref":"#/$defs/__schema0"},"maxItems":16,"type":"array"},"case_id":{"description":"Value for case id.","maxLength":128,"minLength":1,"type":"string"}},"required":["case_id","arguments"],"type":"object"},"maxItems":128,"type":"array"},"determinism":{"additionalProperties":false,"default":{"clock_iso":"2000-01-01T00:00:00.000Z","locale":"en-US","platform":"linux","random_seed":0,"timezone":"UTC"},"description":"Value for determinism.","properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","description":"Value for clock iso.","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"locale":{"const":"en-US","default":"en-US","description":"Value for locale.","type":"string"},"platform":{"const":"linux","default":"linux","description":"Value for platform.","type":"string"},"random_seed":{"default":0,"description":"Value for random seed.","maximum":4294967295,"minimum":0,"type":"integer"},"timezone":{"const":"UTC","default":"UTC","description":"Value for timezone.","type":"string"}},"type":"object"},"generator":{"additionalProperties":false,"description":"Value for generator.","properties":{"count":{"description":"Value for count.","maximum":64,"minimum":1,"type":"integer"},"preset":{"description":"Value for preset.","enum":["parser-boundaries","sanitizer-boundaries","clipboard-boundaries"],"type":"string"},"seed":{"description":"Value for seed.","maximum":4294967295,"minimum":0,"type":"integer"}},"required":["preset","seed","count"],"type":"object"},"left":{"additionalProperties":false,"description":"Left-hand input used for comparison or differential execution.","properties":{"entry_alias":{"description":"Value for entry alias.","maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"entry_export":{"default":"default","description":"Value for entry export.","maxLength":256,"minLength":1,"type":"string"},"modules":{"description":"Value for modules.","items":{"additionalProperties":false,"properties":{"alias":{"description":"Value for alias.","maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"dependencies":{"additionalProperties":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"default":{},"description":"Value for dependencies.","propertyNames":{"maxLength":256,"minLength":1,"type":"string"},"type":"object"},"format":{"description":"Declared input artifact format.","enum":["esm","commonjs-factory"],"type":"string"},"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"pattern":"^\\\\/.*","type":"string"},"role":{"default":"module","description":"Value for role.","enum":["module","stub"],"type":"string"}},"required":["alias","path","format"],"type":"object"},"maxItems":128,"minItems":1,"type":"array"}},"required":["modules","entry_alias"],"type":"object"},"limits":{"additionalProperties":false,"default":{"cpu_quota_percent":50,"input_bytes":262144,"memory_bytes":134217728,"module_bytes":4194304,"output_bytes":524288,"protocol_bytes":16777216,"result_depth":16,"result_nodes":10000,"stderr_bytes":32768,"tasks":8,"tmpfs_bytes":16777216,"wall_time_ms":3000},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"cpu_quota_percent":{"default":50,"description":"Value for cpu quota percent.","maximum":100,"minimum":1,"type":"integer"},"input_bytes":{"default":262144,"description":"Bounded byte count for input.","maximum":1048576,"minimum":1,"type":"integer"},"memory_bytes":{"default":134217728,"description":"Bounded byte count for memory.","maximum":536870912,"minimum":16777216,"type":"integer"},"module_bytes":{"default":4194304,"description":"Bounded byte count for module.","maximum":16777216,"minimum":1,"type":"integer"},"output_bytes":{"default":524288,"description":"Bounded byte count for output.","maximum":4194304,"minimum":1,"type":"integer"},"protocol_bytes":{"default":16777216,"description":"Bounded byte count for protocol.","maximum":67108864,"minimum":1048576,"type":"integer"},"result_depth":{"default":16,"description":"Value for result depth.","maximum":64,"minimum":1,"type":"integer"},"result_nodes":{"default":10000,"description":"Value for result nodes.","maximum":100000,"minimum":1,"type":"integer"},"stderr_bytes":{"default":32768,"description":"Bounded byte count for stderr.","maximum":262144,"minimum":0,"type":"integer"},"tasks":{"default":8,"description":"Value for tasks.","maximum":32,"minimum":1,"type":"integer"},"tmpfs_bytes":{"default":16777216,"description":"Bounded byte count for tmpfs.","maximum":67108864,"minimum":1048576,"type":"integer"},"wall_time_ms":{"default":3000,"description":"Value for wall time ms.","maximum":10000,"minimum":100,"type":"integer"}},"type":"object"},"mode":{"description":"Operation mode that selects the requested behavior.","enum":["plan","execute"],"type":"string"},"plan_digest":{"description":"Value for plan digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"reproducer_export":{"additionalProperties":false,"description":"Value for reproducer export.","properties":{"approved":{"description":"Explicit operator approval to perform this operation.","type":"boolean"},"include_sources":{"default":false,"description":"Whether to include sources in the result.","type":"boolean"},"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"pattern":"^\\\\/.*","type":"string"}},"required":["path","approved"],"type":"object"},"right":{"additionalProperties":false,"description":"Right-hand input used for comparison or differential execution.","properties":{"entry_alias":{"description":"Value for entry alias.","maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"entry_export":{"default":"default","description":"Value for entry export.","maxLength":256,"minLength":1,"type":"string"},"modules":{"description":"Value for modules.","items":{"additionalProperties":false,"properties":{"alias":{"description":"Value for alias.","maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"dependencies":{"additionalProperties":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"default":{},"description":"Value for dependencies.","propertyNames":{"maxLength":256,"minLength":1,"type":"string"},"type":"object"},"format":{"description":"Declared input artifact format.","enum":["esm","commonjs-factory"],"type":"string"},"path":{"description":"Local filesystem path used by this operation.","maxLength":4096,"pattern":"^\\\\/.*","type":"string"},"role":{"default":"module","description":"Value for role.","enum":["module","stub"],"type":"string"}},"required":["alias","path","format"],"type":"object"},"maxItems":128,"minItems":1,"type":"array"}},"required":["modules","entry_alias"],"type":"object"}},"required":["mode","left"],"type":"object"},"selected_alias":{"description":"Value for selected alias.","maxLength":200,"minLength":1,"type":"string"}},"required":["preparation_approved","selected_alias","expected_effect","instrumentation","replay"],"type":"object"}},"required":["execution_approved","approved_plan_sha256","preparation"],"type":"object"},"kind":"application","name":"execute_node_characterization","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema1"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema2"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema2"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence":{"anyOf":[{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"properties":{"digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"minLength":1,"type":"string"},"id":{"minLength":1,"type":"string"},"isolation":{"enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"locations":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"kind":{"const":"address","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"minLength":1,"type":"string"},"kind":{"const":"address-range","type":"string"},"start":{"minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","type":"string"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0"},"operation":{"minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"minLength":1,"type":"string"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"schema_version":{"const":2,"type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"digest":{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"type":"string"},"name":{"minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}]}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"type":"object"},{"additionalProperties":false,"properties":{"authority":{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"minLength":1,"type":"string"},"id":{"minLength":1,"type":"string"},"isolation":{"enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"locations":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"kind":{"const":"address","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"minLength":1,"type":"string"},"kind":{"const":"address-range","type":"string"},"start":{"minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","type":"string"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0"},"operation":{"minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"minLength":1,"type":"string"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"schema_version":{"const":2,"type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"digest":{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"type":"string"},"name":{"minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}]}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"}],"description":"Evidence v2 record produced by this operation."},"phase":{"const":"execution","description":"Current plan or execution phase of the operation.","type":"string"},"plan":{"additionalProperties":false,"description":"Content-bound execution plan and its approval commitment.","properties":{"allowed_boundaries":{"items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":1000,"type":"array"},"artifact":{"additionalProperties":false,"properties":{"byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"path":{"maxLength":4096,"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["path","sha256","byte_length"],"type":"object"},"authority":{"additionalProperties":false,"properties":{"execution_approved":{"const":false,"type":"boolean"},"network":{"enum":["none","loopback"],"type":"string"},"preparation_approved":{"const":true,"type":"boolean"},"provider_owned_process_only":{"const":true,"type":"boolean"}},"required":["preparation_approved","execution_approved","network","provider_owned_process_only"],"type":"object"},"callable":{"additionalProperties":false,"properties":{"callable_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"export_name":{"maxLength":1000,"minLength":1,"type":"string"},"module_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"selector_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"semantic_evidence_id":{"anyOf":[{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},{"type":"null"}]}},"required":["callable_id","module_id","export_name","semantic_evidence_id","selector_sha256"],"type":"object"},"determinism":{"additionalProperties":false,"properties":{"clock":{"enum":["fixed","real"],"type":"string"},"identifiers":{"enum":["deterministic","runtime"],"type":"string"},"randomness":{"enum":["seeded","system"],"type":"string"},"seed":{"maximum":4294967295,"minimum":0,"type":"integer"}},"required":["clock","randomness","identifiers","seed"],"type":"object"},"expected_effect":{"enum":["pure","bounded-effects","observation-only"],"type":"string"},"isolated_home":{"maxLength":4096,"minLength":1,"type":"string"},"limits":{"additionalProperties":false,"properties":{"idle_timeout_ms":{"maximum":300000,"minimum":1,"type":"integer"},"max_bytes":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"max_calls":{"maximum":10000,"minimum":1,"type":"integer"},"max_files":{"maximum":100000,"minimum":0,"type":"integer"},"max_handles":{"maximum":100000,"minimum":0,"type":"integer"},"max_processes":{"maximum":1000,"minimum":0,"type":"integer"},"timeout_ms":{"maximum":300000,"minimum":1,"type":"integer"}},"required":["max_calls","max_processes","max_files","max_bytes","max_handles","timeout_ms","idle_timeout_ms"],"type":"object"},"plan_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"preparation_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"runtime":{"additionalProperties":false,"properties":{"executable_path":{"maxLength":4096,"minLength":1,"type":"string"},"executable_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"family":{"maxLength":100,"minLength":1,"type":"string"},"profile_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"provider_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"version":{"maxLength":500,"minLength":1,"type":"string"}},"required":["family","provider_id","executable_path","executable_sha256","version","profile_sha256"],"type":"object"},"schema_version":{"const":1,"type":"number"},"working_directory":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["schema_version","plan_sha256","preparation_sha256","artifact","runtime","callable","working_directory","isolated_home","expected_effect","allowed_boundaries","limits","determinism","authority"],"type":"object"},"replay":{"additionalProperties":false,"description":"Value for replay.","properties":{"evidence":{"anyOf":[{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"properties":{"digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"minLength":1,"type":"string"},"id":{"minLength":1,"type":"string"},"isolation":{"enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"locations":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"kind":{"const":"address","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"minLength":1,"type":"string"},"kind":{"const":"address-range","type":"string"},"start":{"minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","type":"string"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"additionalProperties":false,"properties":{"cleanup":{"additionalProperties":false,"properties":{"residual_resources":{"items":{"type":"string"},"type":"array"},"state":{"enum":["complete","incomplete"],"type":"string"}},"required":["state","residual_resources"],"type":"object"},"comparison":{"items":{"additionalProperties":false,"properties":{"case_id":{"type":"string"},"left_index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"right_index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"status":{"enum":["equal","changed","unknown"],"type":"string"}},"required":["case_id","status","left_index","right_index"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"outcomes":{"items":{"additionalProperties":false,"properties":{"case_id":{"type":"string"},"exception":{"additionalProperties":false,"properties":{"message":{"type":"string"},"name":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"type":"object"},"input_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"outcome":{"enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"],"type":"string"},"output_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"truncated":{"type":"boolean"},"value":{"$ref":"#/$defs/__schema2"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"type":"object"},"type":"array"},"plan_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"reproducer":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"state":{"const":"written","type":"string"}},"required":["state","path","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"type":"string"},"path":{"type":"string"},"state":{"const":"failed","type":"string"}},"required":["state","path","error"],"type":"object"}]},{"type":"null"}]},"schema_version":{"const":1,"type":"number"},"stderr":{"type":"string"},"termination":{"enum":["completed","timeout","oom","crash","cancelled","protocol_error"],"type":"string"}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"type":"object"},"operation":{"minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"minLength":1,"type":"string"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"schema_version":{"const":2,"type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"digest":{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"type":"string"},"name":{"minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}]}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"type":"object"},{"type":"null"}]},"phase":{"enum":["plan","execute"],"type":"string"},"plan":{"anyOf":[{"additionalProperties":false,"properties":{"cases":{"items":{"additionalProperties":false,"properties":{"arguments":{"items":{"$ref":"#/$defs/__schema1"},"type":"array"},"case_id":{"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["case_id","arguments","sha256"],"type":"object"},"type":"array"},"determinism":{"additionalProperties":false,"properties":{"clock_iso":{"default":"2000-01-01T00:00:00.000Z","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"locale":{"const":"en-US","default":"en-US","type":"string"},"platform":{"const":"linux","default":"linux","type":"string"},"random_seed":{"default":0,"maximum":4294967295,"minimum":0,"type":"integer"},"timezone":{"const":"UTC","default":"UTC","type":"string"}},"required":["clock_iso","random_seed","locale","timezone","platform"],"type":"object"},"effects":{"items":{"type":"string"},"type":"array"},"filesystem":{"additionalProperties":false,"properties":{"host_writes":{"const":false,"type":"boolean"},"private_tmpfs_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["host_writes","private_tmpfs_bytes"],"type":"object"},"left":{"additionalProperties":false,"properties":{"entry_alias":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"entry_export":{"type":"string"},"modules":{"items":{"additionalProperties":false,"properties":{"alias":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"byte_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"canonical_path":{"minLength":1,"type":"string"},"dependencies":{"additionalProperties":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"propertyNames":{"type":"string"},"type":"object"},"format":{"enum":["esm","commonjs-factory"],"type":"string"},"role":{"enum":["module","stub"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"type":"object"},"type":"array"}},"required":["modules","entry_alias","entry_export"],"type":"object"},"limits":{"additionalProperties":false,"properties":{"cpu_quota_percent":{"default":50,"maximum":100,"minimum":1,"type":"integer"},"input_bytes":{"default":262144,"maximum":1048576,"minimum":1,"type":"integer"},"memory_bytes":{"default":134217728,"maximum":536870912,"minimum":16777216,"type":"integer"},"module_bytes":{"default":4194304,"maximum":16777216,"minimum":1,"type":"integer"},"output_bytes":{"default":524288,"maximum":4194304,"minimum":1,"type":"integer"},"protocol_bytes":{"default":16777216,"maximum":67108864,"minimum":1048576,"type":"integer"},"result_depth":{"default":16,"maximum":64,"minimum":1,"type":"integer"},"result_nodes":{"default":10000,"maximum":100000,"minimum":1,"type":"integer"},"stderr_bytes":{"default":32768,"maximum":262144,"minimum":0,"type":"integer"},"tasks":{"default":8,"maximum":32,"minimum":1,"type":"integer"},"tmpfs_bytes":{"default":16777216,"maximum":67108864,"minimum":1048576,"type":"integer"},"wall_time_ms":{"default":3000,"maximum":10000,"minimum":100,"type":"integer"}},"required":["wall_time_ms","memory_bytes","tasks","cpu_quota_percent","tmpfs_bytes","module_bytes","input_bytes","protocol_bytes","output_bytes","stderr_bytes","result_depth","result_nodes"],"type":"object"},"network":{"const":"none","type":"string"},"plan_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"policy_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"policy_version":{"const":"linux-bwrap-systemd-v1","type":"string"},"reproducer_export":{"anyOf":[{"additionalProperties":false,"properties":{"authority":{"const":"evidence_write","type":"string"},"include_sources":{"type":"boolean"},"path":{"minLength":1,"type":"string"}},"required":["path","include_sources","authority"],"type":"object"},{"type":"null"}]},"right":{"additionalProperties":false,"properties":{"entry_alias":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"entry_export":{"type":"string"},"modules":{"items":{"additionalProperties":false,"properties":{"alias":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"byte_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"canonical_path":{"minLength":1,"type":"string"},"dependencies":{"additionalProperties":{"maxLength":256,"minLength":1,"pattern":"^[A-Za-z0-9_./:@-]+$","type":"string"},"propertyNames":{"type":"string"},"type":"object"},"format":{"enum":["esm","commonjs-factory"],"type":"string"},"role":{"enum":["module","stub"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["alias","canonical_path","format","role","byte_count","sha256","dependencies"],"type":"object"},"type":"array"}},"required":["modules","entry_alias","entry_export"],"type":"object"},"runtime":{"additionalProperties":false,"properties":{"executable":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"},"read_only_files":{"items":{"additionalProperties":false,"properties":{"destination_path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"source_path":{"minLength":1,"type":"string"}},"required":["source_path","destination_path","sha256"],"type":"object"},"minItems":1,"type":"array"},"worker":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"}},"required":["executable","worker","read_only_files"],"type":"object"},"sandbox":{"additionalProperties":false,"properties":{"bubblewrap":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"},"seccomp_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"shell":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"},"systemctl":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"},"systemd_run":{"additionalProperties":false,"properties":{"path":{"minLength":1,"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"version":{"minLength":1,"type":"string"}},"required":["path","version","sha256"],"type":"object"}},"required":["bubblewrap","systemd_run","systemctl","shell","seccomp_sha256"],"type":"object"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","plan_digest","policy_version","policy_sha256","network","filesystem","runtime","sandbox","left","cases","determinism","limits","effects","reproducer_export"],"type":"object"},{"type":"null"}]},"source_evidence":{"items":{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"properties":{"digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"minLength":1,"type":"string"},"id":{"minLength":1,"type":"string"},"isolation":{"enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"locations":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"kind":{"const":"address","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"minLength":1,"type":"string"},"kind":{"const":"address-range","type":"string"},"start":{"minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","type":"string"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"additionalProperties":false,"properties":{"cleanup":{"additionalProperties":false,"properties":{"residual_resources":{"items":{"type":"string"},"type":"array"},"state":{"enum":["complete","incomplete"],"type":"string"}},"required":["state","residual_resources"],"type":"object"},"comparison":{"items":{"additionalProperties":false,"properties":{"case_id":{"type":"string"},"left_index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"right_index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"status":{"enum":["equal","changed","unknown"],"type":"string"}},"required":["case_id","status","left_index","right_index"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"outcomes":{"items":{"additionalProperties":false,"properties":{"case_id":{"type":"string"},"exception":{"additionalProperties":false,"properties":{"message":{"type":"string"},"name":{"type":"string"},"stack":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","message","stack"],"type":"object"},"input_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"outcome":{"enum":["return","exception","serialization_error","denied","timeout","oom","crash","cancelled","protocol_error"],"type":"string"},"output_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"truncated":{"type":"boolean"},"value":{"$ref":"#/$defs/__schema2"}},"required":["case_id","outcome","input_sha256","output_sha256","truncated"],"type":"object"},"type":"array"},"plan_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"reproducer":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"state":{"const":"written","type":"string"}},"required":["state","path","sha256"],"type":"object"},{"additionalProperties":false,"properties":{"error":{"type":"string"},"path":{"type":"string"},"state":{"const":"failed","type":"string"}},"required":["state","path","error"],"type":"object"}]},{"type":"null"}]},"schema_version":{"const":1,"type":"number"},"stderr":{"type":"string"},"termination":{"enum":["completed","timeout","oom","crash","cancelled","protocol_error"],"type":"string"}},"required":["schema_version","plan_digest","outcomes","stderr","termination","cleanup","limitations","reproducer"],"type":"object"},"operation":{"minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"minLength":1,"type":"string"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"schema_version":{"const":2,"type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"digest":{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"type":"string"},"name":{"minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}]}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","confidence","authority","environment","limitations","locations","evidence_links","normalized_result"],"type":"object"},"type":"array"}},"required":["phase","plan","source_evidence","evidence"],"type":"object"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"},"transformation":{"additionalProperties":false,"description":"Value for transformation.","properties":{"artifact_path":{"maxLength":4096,"minLength":1,"type":"string"},"inserted_ranges":{"items":{"additionalProperties":false,"properties":{"byte_end":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"byte_start":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"inserted_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"purpose":{"enum":["factory-prefix","export-binding","factory-suffix"],"type":"string"}},"required":["byte_start","byte_end","inserted_sha256","purpose"],"type":"object"},"maxItems":3,"minItems":3,"type":"array"},"instrumented_byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"instrumented_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"kind":{"const":"commonjs-factory-export-v1","type":"string"},"original_byte_length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"original_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"output_format":{"const":"commonjs-factory","type":"string"},"schema_version":{"const":1,"type":"number"},"selected_range":{"additionalProperties":false,"properties":{"byte_end":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"byte_start":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"selected_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["byte_start","byte_end","selected_sha256"],"type":"object"},"source_map":{"const":null,"type":"null"}},"required":["schema_version","kind","artifact_path","original_sha256","original_byte_length","instrumented_sha256","instrumented_byte_length","selected_range","inserted_ranges","output_format","source_map"],"type":"object"},"transformation_evidence":{"anyOf":[{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"properties":{"digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"minLength":1,"type":"string"},"id":{"minLength":1,"type":"string"},"isolation":{"enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"locations":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"kind":{"const":"address","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"minLength":1,"type":"string"},"kind":{"const":"address-range","type":"string"},"start":{"minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","type":"string"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0"},"operation":{"minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"minLength":1,"type":"string"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"schema_version":{"const":2,"type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"digest":{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"type":"string"},"name":{"minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}]}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"type":"object"},{"additionalProperties":false,"properties":{"authority":{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"minLength":1,"type":"string"},"id":{"minLength":1,"type":"string"},"isolation":{"enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"locations":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"minLength":1,"type":"string"},"kind":{"const":"address","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"minLength":1,"type":"string"},"kind":{"const":"address-range","type":"string"},"start":{"minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","type":"string"},"path":{"minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","type":"string"},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","type":"string"},"start":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0"},"operation":{"minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"minLength":1,"type":"string"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"schema_version":{"const":2,"type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"digest":{"additionalProperties":false,"properties":{"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"type":"string"},"name":{"minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}]}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"}],"description":"Value for transformation evidence."}},"required":["schema_version","phase","plan","transformation","transformation_evidence","evidence","replay"],"type":"object"},"requiresSession":false,"title":"Execute Node Characterization"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Generate one deterministic page of a ReconstructionObligationLedger/v1 from an authenticated Evidence v2 bundle, reviewed obligations, and an explicit reconstruction manifest. Static candidates remain candidates; duplicate ownership, missing original or reconstruction cases, missing parser/type, weak verifier authority, unenumerated claims, contradictions, dependencies, and residual unknowns fail closed. Every page carries the same full-ledger closure digest and typed per-obligation diagnostics.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"evidence_bundle":{"artifacts":[],"bundle_version":2,"captures":[],"environments":[],"providers":[],"records":[],"scenarios":[],"unknowns":[]},"limits":{"max_obligations":1000},"manifest":{"bindings":[],"contradictions":[],"schema_version":1},"page":{"limit":50,"offset":0},"reviewed_obligations":[]}],"properties":{"evidence_bundle":{"additionalProperties":false,"description":"Value for evidence bundle.","properties":{"artifacts":{"description":"Value for artifacts.","items":{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"}},"required":["digest","format","architecture"],"type":"object"},"type":"array"},"bundle_version":{"const":2,"description":"Value for bundle version.","type":"number"},"captures":{"description":"Value for captures.","items":{"additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"}},"required":["evidence_id","predicate_type"],"type":"object"},"type":"array"},"environments":{"description":"Value for environments.","items":{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},"type":"array"},"providers":{"description":"Value for providers.","items":{"additionalProperties":false,"properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"type":"array"},"records":{"description":"Value for records.","items":{"anyOf":[{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"type":"object"},{"additionalProperties":false,"properties":{"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"}]},"type":"array"},"scenarios":{"description":"Value for scenarios.","items":{"additionalProperties":false,"properties":{"authority":{"const":"controlled-replay","description":"Value for authority.","type":"string"},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"operation":{"description":"Value for operation.","minLength":1,"type":"string"}},"required":["evidence_id","operation","authority"],"type":"object"},"type":"array"},"unknowns":{"description":"Value for unknowns.","items":{"additionalProperties":false,"properties":{"contradicting_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the contradicting observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"domain":{"description":"Value for domain.","maxLength":100,"minLength":1,"type":"string"},"mutation_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the mutation observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"previous_revision_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Value for previous revision digest."},"question":{"description":"Concrete unresolved question to retain for later investigation.","maxLength":1000,"minLength":1,"type":"string"},"recommended_probes":{"description":"Value for recommended probes.","items":{"additionalProperties":false,"properties":{"operation":{"description":"Value for operation.","maxLength":200,"minLength":1,"type":"string"},"rationale":{"description":"Value for rationale.","maxLength":1000,"minLength":1,"type":"string"}},"required":["operation","rationale"],"type":"object"},"maxItems":20,"type":"array"},"registry_version":{"const":1,"description":"Value for registry version.","type":"number"},"relationships":{"description":"Value for relationships.","items":{"additionalProperties":false,"properties":{"type":{"description":"Value for type.","enum":["depends-on","related-to","contradicts"],"type":"string"},"unknown_id":{"description":"Exact residual-unknown identifier.","pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["type","unknown_id"],"type":"object"},"maxItems":100,"type":"array"},"required_authority":{"anyOf":[{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},{"type":"null"}],"description":"Value for required authority."},"required_confidence":{"description":"Value for required confidence.","enum":["observed","derived","inferred"],"type":"string"},"required_environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for architecture."},"id":{"anyOf":[{"maxLength":200,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for id."},"isolation":{"anyOf":[{"enum":["none","process","container","virtual-machine"],"type":"string"},{"type":"null"}],"description":"Value for isolation."},"platform":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for platform."}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for required environment."},"resolution":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"disposition":{"const":"verified","description":"Value for disposition.","type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"rationale":{"description":"Value for rationale.","maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"},{"additionalProperties":false,"properties":{"disposition":{"description":"Value for disposition.","enum":["withdrawn","out-of-scope"],"type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"rationale":{"description":"Value for rationale.","maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"}]},{"type":"null"}],"description":"Value for resolution."},"revision":{"description":"Value for revision.","maximum":9007199254740991,"minimum":1,"type":"integer"},"revision_digest":{"description":"Value for revision digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"scope_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Value for scope digest."},"severity":{"description":"Value for severity.","enum":["low","medium","high","critical"],"type":"string"},"status":{"description":"Current lifecycle or verification status.","enum":["open","investigating","blocked","contradicted","resolved"],"type":"string"},"supporting_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the supporting observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"unknown_id":{"description":"Exact residual-unknown identifier.","pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"type":"object"},"type":"array"}},"required":["bundle_version","artifacts","providers","environments","scenarios","captures","unknowns","records"],"type":"object"},"limits":{"additionalProperties":false,"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"max_obligations":{"description":"Maximum permitted obligations for this operation.","maximum":10000,"minimum":1,"type":"integer"}},"required":["max_obligations"],"type":"object"},"manifest":{"additionalProperties":false,"description":"Value for manifest.","properties":{"bindings":{"description":"Value for bindings.","items":{"additionalProperties":false,"properties":{"fixtures":{"description":"Value for fixtures.","items":{"additionalProperties":false,"properties":{"authority":{"description":"Value for authority.","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"type":"string"},"case_kind":{"description":"Value for case kind.","enum":["positive","negative","malformed","cancellation","teardown"],"type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"fixture_id":{"description":"Value for fixture id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["fixture_id","case_kind","authority","evidence_ids"],"type":"object"},"maxItems":100,"type":"array"},"obligation_id":{"description":"Value for obligation id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"original_cases":{"description":"Value for original cases.","items":{"additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"kind":{"description":"Value for kind.","enum":["positive","negative","malformed","cancellation","teardown"],"type":"string"},"location":{"description":"Value for location.","maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","evidence_id","location"],"type":"object"},"maxItems":100,"type":"array"},"owner":{"additionalProperties":false,"description":"Value for owner.","properties":{"module_path":{"description":"Local filesystem path for module.","maxLength":4096,"minLength":1,"type":"string"},"owner_sha256":{"description":"Exact SHA-256 digest of owner.","pattern":"^[a-f0-9]{64}$","type":"string"},"symbol":{"description":"Value for symbol.","maxLength":1024,"minLength":1,"type":"string"}},"required":["module_path","symbol","owner_sha256"],"type":"object"},"parser_type":{"anyOf":[{"additionalProperties":false,"properties":{"domain_type":{"description":"Value for domain type.","maxLength":4096,"minLength":1,"type":"string"},"parser":{"description":"Value for parser.","maxLength":4096,"minLength":1,"type":"string"},"schema":{"description":"Value for schema.","maxLength":4096,"minLength":1,"type":"string"}},"required":["parser","schema","domain_type"],"type":"object"},{"type":"null"}],"description":"Value for parser type."},"verifier":{"anyOf":[{"additionalProperties":false,"properties":{"authority":{"description":"Value for authority.","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"type":"string"},"claim_id":{"description":"Value for claim id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"command":{"description":"Value for command.","maxLength":4096,"minLength":1,"type":"string"},"enumerated_obligation_ids":{"description":"Value for enumerated obligation ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":10000,"minItems":1,"type":"array"},"nondeterminism":{"additionalProperties":false,"description":"Value for nondeterminism.","properties":{"mode":{"description":"Operation mode that selects the requested behavior.","enum":["total-order","partial-order","finite-traces"],"type":"string"},"specification":{"description":"Value for specification.","maxLength":4096,"minLength":1,"type":"string"}},"required":["mode","specification"],"type":"object"},"result_evidence_id":{"description":"Exact Evidence v2 identifier for the result observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"status":{"description":"Current lifecycle or verification status.","enum":["pass","fail","unknown","unsupported","skipped"],"type":"string"},"verifier_id":{"description":"Value for verifier id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["verifier_id","claim_id","command","authority","status","result_evidence_id","enumerated_obligation_ids","nondeterminism"],"type":"object"},{"type":"null"}],"description":"Value for verifier."}},"required":["obligation_id","owner","parser_type","original_cases","fixtures","verifier"],"type":"object"},"maxItems":10000,"type":"array"},"contradictions":{"description":"Value for contradictions.","items":{"additionalProperties":false,"properties":{"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":2,"type":"array"},"obligation_id":{"description":"Value for obligation id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["obligation_id","evidence_ids"],"type":"object"},"maxItems":10000,"type":"array"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","bindings","contradictions"],"type":"object"},"page":{"additionalProperties":false,"description":"Value for page.","properties":{"limit":{"description":"Maximum number of results to return in this page.","maximum":100,"minimum":1,"type":"integer"},"offset":{"description":"Zero-based index of the first result to return.","maximum":10000,"minimum":0,"type":"integer"}},"required":["offset","limit"],"type":"object"},"reviewed_obligations":{"description":"Value for reviewed obligations.","items":{"additionalProperties":false,"properties":{"application_layer":{"description":"Value for application layer.","enum":["cli","protocol","electron","persistence","process","runtime","packaging","native-abi","application","other"],"type":"string"},"dependency_obligation_ids":{"description":"Value for dependency obligation ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":1000,"type":"array"},"disposition":{"description":"Value for disposition.","enum":["active","blocked","out-of-scope"],"type":"string"},"family":{"description":"Value for family.","maxLength":100,"minLength":1,"type":"string"},"obligation_id":{"description":"Value for obligation id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"obligation_version":{"description":"Value for obligation version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"required":{"description":"Value for required.","type":"boolean"},"required_case_kinds":{"description":"Value for required case kinds.","items":{"enum":["positive","negative","malformed","cancellation","teardown"],"type":"string"},"maxItems":5,"minItems":1,"type":"array"},"required_fixture_authority":{"description":"Value for required fixture authority.","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"type":"string"},"required_next_evidence":{"description":"Value for required next evidence.","items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"required_original_authority":{"description":"Value for required original authority.","enum":["static","runtime","process","external"],"type":"string"},"required_verifier_authority":{"description":"Value for required verifier authority.","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"type":"string"},"requires_parser_type":{"description":"Value for requires parser type.","type":"boolean"},"residual_unknown_ids":{"description":"Value for residual unknown ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":1000,"type":"array"},"review_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the review observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"target":{"additionalProperties":false,"description":"Value for target.","properties":{"application_node_id":{"anyOf":[{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Value for application node id."},"artifact_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Exact SHA-256 digest of artifact."},"location":{"description":"Value for location.","maxLength":4096,"minLength":1,"type":"string"},"semantic_node_id":{"anyOf":[{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Value for semantic node id."}},"required":["artifact_sha256","application_node_id","semantic_node_id","location"],"type":"object"},"title":{"description":"Value for title.","maxLength":500,"minLength":1,"type":"string"},"unavailable_authority":{"description":"Value for unavailable authority.","items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"}},"required":["obligation_id","obligation_version","title","application_layer","family","target","required","required_case_kinds","required_original_authority","required_fixture_authority","required_verifier_authority","requires_parser_type","dependency_obligation_ids","residual_unknown_ids","unavailable_authority","required_next_evidence","disposition","review_evidence_ids"],"type":"object"},"maxItems":10000,"type":"array"}},"required":["evidence_bundle","reviewed_obligations","manifest","limits","page"],"type":"object"},"kind":"application","name":"build_reconstruction_obligation_ledger","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"closure_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"coverage":{"additionalProperties":false,"properties":{"max_obligations":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"omitted_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"enum":["complete","partial"],"type":"string"},"truncated":{"type":"boolean"}},"required":["status","truncated","omitted_count","max_obligations"],"type":"object"},"dependency_graph":{"items":{"additionalProperties":false,"properties":{"depends_on_obligation_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"obligation_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["obligation_id","depends_on_obligation_id"],"type":"object"},"type":"array"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100000,"type":"array"},"ledger_id":{"pattern":"^rol_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"obligations":{"items":{"additionalProperties":false,"properties":{"application_layer":{"enum":["cli","protocol","electron","persistence","process","runtime","packaging","native-abi","application","other"],"type":"string"},"authority_references":{"items":{"additionalProperties":false,"properties":{"authority":{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"location":{"maxLength":4096,"minLength":1,"type":"string"},"state":{"enum":["candidate","observed","reviewed","unknown"],"type":"string"}},"required":["evidence_id","authority","state","location"],"type":"object"},"maxItems":1000,"minItems":1,"type":"array"},"binding":{"anyOf":[{"additionalProperties":false,"properties":{"fixtures":{"items":{"additionalProperties":false,"properties":{"authority":{"enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"type":"string"},"case_kind":{"enum":["positive","negative","malformed","cancellation","teardown"],"type":"string"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"fixture_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["fixture_id","case_kind","authority","evidence_ids"],"type":"object"},"maxItems":100,"type":"array"},"obligation_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"original_cases":{"items":{"additionalProperties":false,"properties":{"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"kind":{"enum":["positive","negative","malformed","cancellation","teardown"],"type":"string"},"location":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","evidence_id","location"],"type":"object"},"maxItems":100,"type":"array"},"owner":{"additionalProperties":false,"properties":{"module_path":{"maxLength":4096,"minLength":1,"type":"string"},"owner_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"symbol":{"maxLength":1024,"minLength":1,"type":"string"}},"required":["module_path","symbol","owner_sha256"],"type":"object"},"parser_type":{"anyOf":[{"additionalProperties":false,"properties":{"domain_type":{"maxLength":4096,"minLength":1,"type":"string"},"parser":{"maxLength":4096,"minLength":1,"type":"string"},"schema":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["parser","schema","domain_type"],"type":"object"},{"type":"null"}]},"verifier":{"anyOf":[{"additionalProperties":false,"properties":{"authority":{"enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"type":"string"},"claim_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"command":{"maxLength":4096,"minLength":1,"type":"string"},"enumerated_obligation_ids":{"items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":10000,"minItems":1,"type":"array"},"nondeterminism":{"additionalProperties":false,"properties":{"mode":{"enum":["total-order","partial-order","finite-traces"],"type":"string"},"specification":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["mode","specification"],"type":"object"},"result_evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"status":{"enum":["pass","fail","unknown","unsupported","skipped"],"type":"string"},"verifier_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["verifier_id","claim_id","command","authority","status","result_evidence_id","enumerated_obligation_ids","nondeterminism"],"type":"object"},{"type":"null"}]}},"required":["obligation_id","owner","parser_type","original_cases","fixtures","verifier"],"type":"object"},{"type":"null"}]},"dependency_obligation_ids":{"items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":1000,"type":"array"},"diagnostics":{"items":{"additionalProperties":false,"properties":{"code":{"enum":["duplicate-definition","missing-owner","ambiguous-owner","missing-parser-type","missing-original-case","weak-original-case-authority","missing-case","weak-fixture-authority","missing-verifier","verifier-does-not-enumerate","missing-verifier-result","weak-verifier-authority","verifier-failed","static-only","contradiction","contradiction-evidence-missing","residual-unknown","dependency-missing","dependency-open","unavailable-authority","blocked","out-of-scope"],"type":"string"},"detail":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["code","detail"],"type":"object"},"maxItems":1000,"type":"array"},"family":{"maxLength":100,"minLength":1,"type":"string"},"obligation_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"obligation_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"observed_cases":{"items":{"additionalProperties":false,"properties":{"evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"kind":{"enum":["positive","negative","malformed","cancellation","teardown"],"type":"string"},"location":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","evidence_id","location"],"type":"object"},"maxItems":100,"type":"array"},"origin":{"enum":["generated","reviewed"],"type":"string"},"required":{"type":"boolean"},"required_case_kinds":{"items":{"enum":["positive","negative","malformed","cancellation","teardown"],"type":"string"},"maxItems":5,"minItems":1,"type":"array"},"required_fixture_authority":{"enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"type":"string"},"required_next_evidence":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"required_original_authority":{"enum":["static","runtime","process","external"],"type":"string"},"required_verifier_authority":{"enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"type":"string"},"requires_parser_type":{"type":"boolean"},"residual_unknown_ids":{"items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":1000,"type":"array"},"source_state":{"enum":["candidate","observed","reviewed","unknown"],"type":"string"},"status":{"enum":["unowned","characterized","implemented","verified","contradicted","blocked","out-of-scope","unknown"],"type":"string"},"target":{"additionalProperties":false,"properties":{"application_node_id":{"anyOf":[{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"artifact_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"location":{"maxLength":4096,"minLength":1,"type":"string"},"semantic_node_id":{"anyOf":[{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},{"type":"null"}]}},"required":["artifact_sha256","application_node_id","semantic_node_id","location"],"type":"object"},"title":{"maxLength":500,"minLength":1,"type":"string"},"unavailable_authority":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"}},"required":["obligation_id","obligation_version","title","origin","application_layer","family","target","authority_references","source_state","observed_cases","required","required_case_kinds","required_original_authority","required_fixture_authority","required_verifier_authority","requires_parser_type","dependency_obligation_ids","residual_unknown_ids","unavailable_authority","required_next_evidence","binding","status","diagnostics"],"type":"object"},"maxItems":100,"type":"array"},"ownership_graph":{"items":{"additionalProperties":false,"properties":{"module_path":{"maxLength":4096,"minLength":1,"type":"string"},"obligation_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"symbol":{"maxLength":1024,"minLength":1,"type":"string"}},"required":["obligation_id","module_path","symbol"],"type":"object"},"type":"array"},"page":{"additionalProperties":false,"properties":{"limit":{"maximum":100,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"returned":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["offset","limit","total","returned","next_offset"],"type":"object"},"reports":{"additionalProperties":false,"properties":{"contradicted_obligation_ids":{"items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"type":"array"},"missing_owner_obligation_ids":{"items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"type":"array"},"missing_verifier_obligation_ids":{"items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"type":"array"},"residual_unknown_ids":{"items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"type":"array"}},"required":["missing_owner_obligation_ids","missing_verifier_obligation_ids","contradicted_obligation_ids","residual_unknown_ids"],"type":"object"},"schema":{"const":"ReconstructionObligationLedger","type":"string"},"schema_version":{"const":1,"type":"number"},"status":{"enum":["ready","open","failed","unknown"],"type":"string"},"summary":{"additionalProperties":false,"properties":{"by_application_layer":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"key":{"enum":["cli","protocol","electron","persistence","process","runtime","packaging","native-abi","application","other"],"type":"string"}},"required":["key","count"],"type":"object"},"type":"array"},"by_evidence_authority":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"key":{"enum":["candidate","observed","reviewed","unknown"],"type":"string"}},"required":["key","count"],"type":"object"},"type":"array"},"by_status":{"items":{"additionalProperties":false,"properties":{"count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"key":{"enum":["unowned","characterized","implemented","verified","contradicted","blocked","out-of-scope","unknown"],"type":"string"}},"required":["key","count"],"type":"object"},"type":"array"},"required":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"required_open":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"verified":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total","required","verified","required_open","by_status","by_application_layer","by_evidence_authority"],"type":"object"}},"required":["schema","schema_version","ledger_id","closure_digest","status","coverage","summary","reports","ownership_graph","dependency_graph","evidence_links","limitations","page","obligations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Build Reconstruction Obligation Ledger"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Evaluate the fixed nine-stage public reconstruction journey into a deterministic ReconstructionReadinessReport/v1. Exact capability limits, provider routing, CLI/MCP status parity, bounded authority, partial-order comparison, contradictions, obligation closure, cleanup, and replay digests fail closed. Aggregate pass is emitted only when every required stage and check passes with attributable Evidence.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"allOf":[{"properties":{"stages":{"allOf":[{"contains":{"description":"One reconstruction-readiness stage","properties":{"stage_id":{"const":"discover-classify","description":"Readiness stage identifier"}},"required":["stage_id"],"type":"object"},"maxContains":1,"minContains":1},{"contains":{"description":"One reconstruction-readiness stage","properties":{"stage_id":{"const":"diagnose-environment","description":"Readiness stage identifier"}},"required":["stage_id"],"type":"object"},"maxContains":1,"minContains":1},{"contains":{"description":"One reconstruction-readiness stage","properties":{"stage_id":{"const":"acquire-authority","description":"Readiness stage identifier"}},"required":["stage_id"],"type":"object"},"maxContains":1,"minContains":1},{"contains":{"description":"One reconstruction-readiness stage","properties":{"stage_id":{"const":"static-analysis","description":"Readiness stage identifier"}},"required":["stage_id"],"type":"object"},"maxContains":1,"minContains":1},{"contains":{"description":"One reconstruction-readiness stage","properties":{"stage_id":{"const":"reactive-scenarios","description":"Readiness stage identifier"}},"required":["stage_id"],"type":"object"},"maxContains":1,"minContains":1},{"contains":{"description":"One reconstruction-readiness stage","properties":{"stage_id":{"const":"compare-authority-candidate","description":"Readiness stage identifier"}},"required":["stage_id"],"type":"object"},"maxContains":1,"minContains":1},{"contains":{"description":"One reconstruction-readiness stage","properties":{"stage_id":{"const":"preserve-contradictions","description":"Readiness stage identifier"}},"required":["stage_id"],"type":"object"},"maxContains":1,"minContains":1},{"contains":{"description":"One reconstruction-readiness stage","properties":{"stage_id":{"const":"verify-reconstruction-closure","description":"Readiness stage identifier"}},"required":["stage_id"],"type":"object"},"maxContains":1,"minContains":1},{"contains":{"description":"One reconstruction-readiness stage","properties":{"stage_id":{"const":"export-replay","description":"Readiness stage identifier"}},"required":["stage_id"],"type":"object"},"maxContains":1,"minContains":1}],"description":"Complete reconstruction-readiness stage set"}}}],"examples":[{"capabilities":[{"authority_scopes":["investigation-input"],"available":true,"bounded":true,"capability_id":"analyze-javascript-application","limits":[{"name":"max-ast-nodes","unit":"count","value":2000000}],"side_effect":"reads-target","unavailable_reason":null}],"cleanup":[{"cancelled":true,"diagnostic_evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"owned_resources_remaining":0,"run_id":"run.cancelled"}],"client":{"name":"synthetic-mcp-client","negotiated_capabilities":["elicitation","progress","resources"],"version":"1"},"closure_history":[{"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"ledger_digest":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","newly_verified_obligation_ids":[],"required_open":1,"sequence":0,"status":"open"},{"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"ledger_digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","newly_verified_obligation_ids":["obl.readiness"],"required_open":0,"sequence":1,"status":"ready"}],"comparisons":[{"comparison_id":"comparison.concurrent","concurrent":true,"contradiction_ids":[],"deliberate_divergence_ref":null,"divergence_refs":[],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"schedule_semantics":"partial-order","truncated":false,"unavailable_authority":false,"unstable":false,"verdict":"equivalent"},{"comparison_id":"comparison.divergence","concurrent":true,"contradiction_ids":[],"deliberate_divergence_ref":"/events/primary","divergence_refs":["/events/primary"],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"schedule_semantics":"finite-traces","truncated":false,"unavailable_authority":false,"unstable":false,"verdict":"different"},{"comparison_id":"comparison.contradicted","concurrent":false,"contradiction_ids":["contradiction.artifact"],"deliberate_divergence_ref":null,"divergence_refs":[],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"schedule_semantics":"finite-traces","truncated":false,"unavailable_authority":false,"unstable":false,"verdict":"unknown"}],"contradictions":[{"affected_comparison_ids":["comparison.contradicted"],"contradiction_id":"contradiction.artifact","declared_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","ev_b05c548cf5d0ba30bb6043ec26e583b551e793c636b747e1ed8630c511439f91"],"observed_sha256":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","policy":"record-and-continue"}],"delegation_checks":[{"candidate_id":"candidate.reconstructed","delegates_to_authority":false,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"]}],"evidence_bundle":{"artifacts":[],"bundle_version":2,"captures":[],"environments":[],"providers":[{"id":"rea-readiness-fixture","name":"REA readiness fixture","version":"1"}],"records":[{"authority":"controlled-replay","confidence":"observed","environment":null,"evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","evidence_links":[],"limitations":["Artifact identity is unavailable for this observation."],"locations":[],"normalized_result":{"passed":true,"variant":"authority"},"operation":"run_reconstruction_readiness_fixture","parameters":{"variant":"authority"},"predicate_type":"rea.reconstruction-readiness-fixture/v1","provider":{"id":"rea-readiness-fixture","name":"REA readiness fixture","version":"1"},"raw_result":null,"schema_version":2,"subject":null},{"authority":"controlled-replay","confidence":"observed","environment":null,"evidence_id":"ev_b05c548cf5d0ba30bb6043ec26e583b551e793c636b747e1ed8630c511439f91","evidence_links":[],"limitations":["Artifact identity is unavailable for this observation."],"locations":[],"normalized_result":{"passed":true,"variant":"contradiction"},"operation":"run_reconstruction_readiness_fixture","parameters":{"variant":"contradiction"},"predicate_type":"rea.reconstruction-readiness-fixture/v1","provider":{"id":"rea-readiness-fixture","name":"REA readiness fixture","version":"1"},"raw_result":null,"schema_version":2,"subject":null}],"scenarios":[{"authority":"controlled-replay","evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","operation":"run_reconstruction_readiness_fixture"},{"authority":"controlled-replay","evidence_id":"ev_b05c548cf5d0ba30bb6043ec26e583b551e793c636b747e1ed8630c511439f91","operation":"run_reconstruction_readiness_fixture"}],"unknowns":[]},"fixtures":[{"artifact_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","deliberate_faults":["fault.native"],"environment_id":"environment.synthetic","fixture_id":"fixture.native","kind":"native"},{"artifact_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","deliberate_faults":["fault.javascript-cli"],"environment_id":"environment.synthetic","fixture_id":"fixture.javascript-cli","kind":"javascript-cli"},{"artifact_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","deliberate_faults":["fault.electron"],"environment_id":"environment.synthetic","fixture_id":"fixture.electron","kind":"electron"},{"artifact_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","deliberate_faults":["fault.incomplete-reconstruction"],"environment_id":"environment.synthetic","fixture_id":"fixture.incomplete-reconstruction","kind":"incomplete-reconstruction"},{"artifact_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","deliberate_faults":["fault.broken-runtime"],"environment_id":"environment.synthetic","fixture_id":"fixture.broken-runtime","kind":"broken-runtime"}],"grants":[{"decision":"denied","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"grant_id":"grant.denied","launched_process":false,"scope":"process-capture"},{"decision":"granted","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"grant_id":"grant.session","launched_process":true,"scope":"process-capture"}],"identity":{"catalog_digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","cli_version":"2.4.0","providers":[{"digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","provider_id":"javascript-application","reason_code":null,"state":"available","version":"1"},{"digest":null,"provider_id":"broken-runtime-probe","reason_code":"host-runtime-linker-failure","state":"broken-host","version":null}],"server_version":"2.4.0","skill_digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","versions":[{"component":"rea-cli","digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","remediation":null,"state":"current","version":"2.4.0"},{"component":"rea-server","digest":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","remediation":"Restart the connected MCP server.","state":"stale","version":"2.3.0"},{"component":"rea-server","digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","remediation":null,"state":"current","version":"2.4.0"}]},"obligation_ledger":{"closure_digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","coverage":{"max_obligations":100,"omitted_count":0,"status":"complete","truncated":false},"dependency_graph":[],"evidence_links":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"ledger_id":"rol_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","limitations":[],"obligations":[{"application_layer":"process","authority_references":[{"authority":"controlled-replay","evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","location":"/fixture","state":"observed"}],"binding":{"fixtures":[{"authority":"packaged-process","case_kind":"positive","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"fixture_id":"fixture.positive"},{"authority":"packaged-process","case_kind":"negative","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"fixture_id":"fixture.negative"},{"authority":"packaged-process","case_kind":"malformed","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"fixture_id":"fixture.malformed"},{"authority":"packaged-process","case_kind":"cancellation","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"fixture_id":"fixture.cancellation"},{"authority":"packaged-process","case_kind":"teardown","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"fixture_id":"fixture.teardown"}],"obligation_id":"obl.readiness","original_cases":[{"evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","kind":"positive","location":"/original/positive"},{"evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","kind":"negative","location":"/original/negative"},{"evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","kind":"malformed","location":"/original/malformed"},{"evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","kind":"cancellation","location":"/original/cancellation"},{"evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","kind":"teardown","location":"/original/teardown"}],"owner":{"module_path":"src/readiness.ts","owner_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","symbol":"runReadiness"},"parser_type":null,"verifier":{"authority":"packaged-process","claim_id":"claim.readiness","command":"npm run verify:readiness","enumerated_obligation_ids":["obl.readiness"],"nondeterminism":{"mode":"partial-order","specification":"Startup precedes teardown."},"result_evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","status":"pass","verifier_id":"verifier.readiness"}},"dependency_obligation_ids":[],"diagnostics":[],"family":"packaged-process-lifecycle","obligation_id":"obl.readiness","obligation_version":1,"observed_cases":[{"evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","kind":"positive","location":"/original/positive"},{"evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","kind":"negative","location":"/original/negative"},{"evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","kind":"malformed","location":"/original/malformed"},{"evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","kind":"cancellation","location":"/original/cancellation"},{"evidence_id":"ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9","kind":"teardown","location":"/original/teardown"}],"origin":"reviewed","required":true,"required_case_kinds":["positive","negative","malformed","cancellation","teardown"],"required_fixture_authority":"packaged-process","required_next_evidence":[],"required_original_authority":"process","required_verifier_authority":"packaged-process","requires_parser_type":false,"residual_unknown_ids":[],"source_state":"observed","status":"verified","target":{"application_node_id":null,"artifact_sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","location":"/fixture","semantic_node_id":null},"title":"Preserve the packaged readiness fixture lifecycle","unavailable_authority":[]}],"ownership_graph":[{"module_path":"src/readiness.ts","obligation_id":"obl.readiness","symbol":"runReadiness"}],"reports":{"contradicted_obligation_ids":[],"missing_owner_obligation_ids":[],"missing_verifier_obligation_ids":[],"residual_unknown_ids":[]},"schema":"ReconstructionObligationLedger","schema_version":1,"status":"ready","summary":{"by_application_layer":[{"count":0,"key":"cli"},{"count":0,"key":"protocol"},{"count":0,"key":"electron"},{"count":0,"key":"persistence"},{"count":1,"key":"process"},{"count":0,"key":"runtime"},{"count":0,"key":"packaging"},{"count":0,"key":"native-abi"},{"count":0,"key":"application"},{"count":0,"key":"other"}],"by_evidence_authority":[{"count":0,"key":"candidate"},{"count":1,"key":"observed"},{"count":0,"key":"reviewed"},{"count":0,"key":"unknown"}],"by_status":[{"count":0,"key":"unowned"},{"count":0,"key":"characterized"},{"count":0,"key":"implemented"},{"count":1,"key":"verified"},{"count":0,"key":"contradicted"},{"count":0,"key":"blocked"},{"count":0,"key":"out-of-scope"},{"count":0,"key":"unknown"}],"required":1,"required_open":0,"total":1,"verified":1}},"operation_outcomes":[{"call_kind":"valid","cli_exit_code":0,"error_code":null,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"expected_success":true,"mcp_status":null,"operation":"inspect-artifact","recovered":false,"sequence":0,"surface":"cli"},{"call_kind":"valid","cli_exit_code":null,"error_code":null,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"expected_success":true,"mcp_status":"success","operation":"inspect-artifact","recovered":false,"sequence":1,"surface":"mcp"},{"call_kind":"permission","cli_exit_code":2,"error_code":"permission-required","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"expected_success":false,"mcp_status":null,"operation":"capture-process","recovered":true,"sequence":2,"surface":"cli"},{"call_kind":"permission","cli_exit_code":null,"error_code":"permission-required","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"expected_success":false,"mcp_status":"non-success","operation":"capture-process","recovered":true,"sequence":3,"surface":"mcp"}],"replay":{"deterministic":true,"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"expected_source_digest":null,"stale_input_detected":true,"tamper_detected":true},"schema_version":1,"stages":[{"capability_issue":null,"checks":[{"check_id":"target-free-start","detail":"Synthetic conformance proved target-free-start.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"artifact-inventory","detail":"Synthetic conformance proved artifact-inventory.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"compatible-workflow-selected","detail":"Synthetic conformance proved compatible-workflow-selected.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"limits-visible","detail":"Synthetic conformance proved limits-visible.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"}],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"next_action":null,"required":true,"stage_id":"discover-classify","status":"pass"},{"capability_issue":null,"checks":[{"check_id":"broken-runtime-distinguished","detail":"Synthetic conformance proved broken-runtime-distinguished.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"version-skew-detected","detail":"Synthetic conformance proved version-skew-detected.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"revision-changed-after-recovery","detail":"Synthetic conformance proved revision-changed-after-recovery.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"}],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"next_action":null,"required":true,"stage_id":"diagnose-environment","status":"pass"},{"capability_issue":null,"checks":[{"check_id":"missing-scope-reported","detail":"Synthetic conformance proved missing-scope-reported.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"narrow-grant-resumed","detail":"Synthetic conformance proved narrow-grant-resumed.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"expansion-reprompted","detail":"Synthetic conformance proved expansion-reprompted.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"denial-launched-nothing","detail":"Synthetic conformance proved denial-launched-nothing.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"}],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"next_action":null,"required":true,"stage_id":"acquire-authority","status":"pass"},{"capability_issue":null,"checks":[{"check_id":"native-routed","detail":"Synthetic conformance proved native-routed.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"javascript-routed","detail":"Synthetic conformance proved javascript-routed.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"unknowns-preserved","detail":"Synthetic conformance proved unknowns-preserved.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"}],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"next_action":null,"required":true,"stage_id":"static-analysis","status":"pass"},{"capability_issue":null,"checks":[{"check_id":"predicate-driven","detail":"Synthetic conformance proved predicate-driven.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"descendant-settled","detail":"Synthetic conformance proved descendant-settled.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"electron-correlated","detail":"Synthetic conformance proved electron-correlated.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"cancel-cleanup-preserved-evidence","detail":"Synthetic conformance proved cancel-cleanup-preserved-evidence.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"}],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"next_action":null,"required":true,"stage_id":"reactive-scenarios","status":"pass"},{"capability_issue":null,"checks":[{"check_id":"partial-order-accepted","detail":"Synthetic conformance proved partial-order-accepted.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"divergence-localized","detail":"Synthetic conformance proved divergence-localized.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"incomplete-is-unknown","detail":"Synthetic conformance proved incomplete-is-unknown.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"}],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"next_action":null,"required":true,"stage_id":"compare-authority-candidate","status":"pass"},{"capability_issue":null,"checks":[{"check_id":"record-and-continue","detail":"Synthetic conformance proved record-and-continue.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"affected-equivalence-blocked","detail":"Synthetic conformance proved affected-equivalence-blocked.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"unaffected-comparison-continued","detail":"Synthetic conformance proved unaffected-comparison-continued.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"}],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"next_action":null,"required":true,"stage_id":"preserve-contradictions","status":"pass"},{"capability_issue":null,"checks":[{"check_id":"incomplete-detected","detail":"Synthetic conformance proved incomplete-detected.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"incremental-verifier-closure","detail":"Synthetic conformance proved incremental-verifier-closure.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"delegation-rejected","detail":"Synthetic conformance proved delegation-rejected.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"}],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"next_action":null,"required":true,"stage_id":"verify-reconstruction-closure","status":"pass"},{"capability_issue":null,"checks":[{"check_id":"cli-mcp-parity","detail":"Synthetic conformance proved cli-mcp-parity.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"failure-status-parity","detail":"Synthetic conformance proved failure-status-parity.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"deterministic-replay","detail":"Synthetic conformance proved deterministic-replay.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"tamper-detected","detail":"Synthetic conformance proved tamper-detected.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"},{"check_id":"stale-input-detected","detail":"Synthetic conformance proved stale-input-detected.","evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"status":"pass"}],"evidence_ids":["ev_348db7991de053d7b032e8224d07368d0fdb33ee5794588276ba06bfe3a147c9"],"next_action":null,"required":true,"stage_id":"export-replay","status":"pass"}],"workflow_candidates":[{"compatibility":"compatible","fixture_id":"fixture.native","invoked":true,"provider_id":"provider.native","reason_code":"compatible-artifact-family","selected":true,"workflow_id":"workflow.native"},{"compatibility":"compatible","fixture_id":"fixture.javascript-cli","invoked":true,"provider_id":"provider.javascript-cli","reason_code":"compatible-artifact-family","selected":true,"workflow_id":"workflow.javascript-cli"},{"compatibility":"compatible","fixture_id":"fixture.electron","invoked":true,"provider_id":"provider.electron","reason_code":"compatible-artifact-family","selected":true,"workflow_id":"workflow.electron"},{"compatibility":"compatible","fixture_id":"fixture.incomplete-reconstruction","invoked":true,"provider_id":"provider.incomplete-reconstruction","reason_code":"compatible-artifact-family","selected":true,"workflow_id":"workflow.incomplete-reconstruction"},{"compatibility":"compatible","fixture_id":"fixture.broken-runtime","invoked":true,"provider_id":null,"reason_code":"compatible-artifact-family","selected":true,"workflow_id":"workflow.broken-runtime"}]}],"properties":{"capabilities":{"description":"Value for capabilities.","items":{"additionalProperties":false,"properties":{"authority_scopes":{"description":"Value for authority scopes.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":100,"type":"array"},"available":{"description":"Value for available.","type":"boolean"},"bounded":{"description":"Value for bounded.","type":"boolean"},"capability_id":{"description":"Value for capability id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"limits":{"description":"Bounded resource-consumption and result-size limits for this operation.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"unit":{"description":"Value for unit.","enum":["count","bytes","milliseconds","ratio"],"type":"string"},"value":{"description":"Value for value.","minimum":0,"type":"number"}},"required":["name","value","unit"],"type":"object"},"maxItems":100,"type":"array"},"side_effect":{"description":"Value for side effect.","enum":["none","reads-target","launches-process","writes-workspace","network-observation"],"type":"string"},"unavailable_reason":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for unavailable reason."}},"required":["capability_id","available","bounded","side_effect","authority_scopes","limits","unavailable_reason"],"type":"object"},"maxItems":1000,"minItems":1,"type":"array"},"cleanup":{"description":"Value for cleanup.","items":{"additionalProperties":false,"properties":{"cancelled":{"description":"Value for cancelled.","type":"boolean"},"diagnostic_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the diagnostic observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"owned_resources_remaining":{"description":"Value for owned resources remaining.","maximum":9007199254740991,"minimum":0,"type":"integer"},"run_id":{"description":"Value for run id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["run_id","cancelled","owned_resources_remaining","diagnostic_evidence_ids"],"type":"object"},"maxItems":1000,"type":"array"},"client":{"additionalProperties":false,"description":"Value for client.","properties":{"name":{"description":"Exact name used by this operation.","maxLength":4096,"minLength":1,"type":"string"},"negotiated_capabilities":{"description":"Value for negotiated capabilities.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":100,"type":"array"},"version":{"description":"Value for version.","maxLength":4096,"minLength":1,"type":"string"}},"required":["name","version","negotiated_capabilities"],"type":"object"},"closure_history":{"description":"Value for closure history.","items":{"additionalProperties":false,"properties":{"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"ledger_digest":{"description":"Value for ledger digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"newly_verified_obligation_ids":{"description":"Value for newly verified obligation ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":10000,"type":"array"},"required_open":{"description":"Value for required open.","maximum":9007199254740991,"minimum":0,"type":"integer"},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"description":"Current lifecycle or verification status.","enum":["ready","open","failed","unknown"],"type":"string"}},"required":["sequence","ledger_digest","status","required_open","newly_verified_obligation_ids","evidence_ids"],"type":"object"},"maxItems":1000,"minItems":2,"type":"array"},"comparisons":{"description":"Validated comparison Evidence records to aggregate.","items":{"additionalProperties":false,"properties":{"comparison_id":{"description":"Value for comparison id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"concurrent":{"description":"Value for concurrent.","type":"boolean"},"contradiction_ids":{"description":"Value for contradiction ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":100,"type":"array"},"deliberate_divergence_ref":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for deliberate divergence ref."},"divergence_refs":{"description":"Value for divergence refs.","items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"schedule_semantics":{"description":"Value for schedule semantics.","enum":["total-order","partial-order","finite-traces"],"type":"string"},"truncated":{"description":"Value for truncated.","type":"boolean"},"unavailable_authority":{"description":"Value for unavailable authority.","type":"boolean"},"unstable":{"description":"Value for unstable.","type":"boolean"},"verdict":{"description":"Value for verdict.","enum":["equivalent","different","unknown"],"type":"string"}},"required":["comparison_id","verdict","schedule_semantics","concurrent","truncated","unavailable_authority","unstable","deliberate_divergence_ref","divergence_refs","contradiction_ids","evidence_ids"],"type":"object"},"maxItems":1000,"type":"array"},"contradictions":{"description":"Value for contradictions.","items":{"additionalProperties":false,"properties":{"affected_comparison_ids":{"description":"Value for affected comparison ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"contradiction_id":{"description":"Value for contradiction id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"declared_sha256":{"description":"Exact SHA-256 digest of declared.","pattern":"^[a-f0-9]{64}$","type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":2,"type":"array"},"observed_sha256":{"description":"Exact SHA-256 digest of observed.","pattern":"^[a-f0-9]{64}$","type":"string"},"policy":{"const":"record-and-continue","description":"Value for policy.","type":"string"}},"required":["contradiction_id","declared_sha256","observed_sha256","policy","affected_comparison_ids","evidence_ids"],"type":"object"},"maxItems":1000,"type":"array"},"delegation_checks":{"description":"Value for delegation checks.","items":{"additionalProperties":false,"properties":{"candidate_id":{"description":"Value for candidate id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"delegates_to_authority":{"description":"Value for delegates to authority.","type":"boolean"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["candidate_id","delegates_to_authority","evidence_ids"],"type":"object"},"maxItems":1000,"minItems":1,"type":"array"},"evidence_bundle":{"additionalProperties":false,"description":"Value for evidence bundle.","properties":{"artifacts":{"description":"Value for artifacts.","items":{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"}},"required":["digest","format","architecture"],"type":"object"},"type":"array"},"bundle_version":{"const":2,"description":"Value for bundle version.","type":"number"},"captures":{"description":"Value for captures.","items":{"additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"}},"required":["evidence_id","predicate_type"],"type":"object"},"type":"array"},"environments":{"description":"Value for environments.","items":{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},"type":"array"},"providers":{"description":"Value for providers.","items":{"additionalProperties":false,"properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"type":"array"},"records":{"description":"Value for records.","items":{"anyOf":[{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"type":"object"},{"additionalProperties":false,"properties":{"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"}]},"type":"array"},"scenarios":{"description":"Value for scenarios.","items":{"additionalProperties":false,"properties":{"authority":{"const":"controlled-replay","description":"Value for authority.","type":"string"},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"operation":{"description":"Value for operation.","minLength":1,"type":"string"}},"required":["evidence_id","operation","authority"],"type":"object"},"type":"array"},"unknowns":{"description":"Value for unknowns.","items":{"additionalProperties":false,"properties":{"contradicting_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the contradicting observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"domain":{"description":"Value for domain.","maxLength":100,"minLength":1,"type":"string"},"mutation_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the mutation observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"previous_revision_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Value for previous revision digest."},"question":{"description":"Concrete unresolved question to retain for later investigation.","maxLength":1000,"minLength":1,"type":"string"},"recommended_probes":{"description":"Value for recommended probes.","items":{"additionalProperties":false,"properties":{"operation":{"description":"Value for operation.","maxLength":200,"minLength":1,"type":"string"},"rationale":{"description":"Value for rationale.","maxLength":1000,"minLength":1,"type":"string"}},"required":["operation","rationale"],"type":"object"},"maxItems":20,"type":"array"},"registry_version":{"const":1,"description":"Value for registry version.","type":"number"},"relationships":{"description":"Value for relationships.","items":{"additionalProperties":false,"properties":{"type":{"description":"Value for type.","enum":["depends-on","related-to","contradicts"],"type":"string"},"unknown_id":{"description":"Exact residual-unknown identifier.","pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["type","unknown_id"],"type":"object"},"maxItems":100,"type":"array"},"required_authority":{"anyOf":[{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},{"type":"null"}],"description":"Value for required authority."},"required_confidence":{"description":"Value for required confidence.","enum":["observed","derived","inferred"],"type":"string"},"required_environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for architecture."},"id":{"anyOf":[{"maxLength":200,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for id."},"isolation":{"anyOf":[{"enum":["none","process","container","virtual-machine"],"type":"string"},{"type":"null"}],"description":"Value for isolation."},"platform":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for platform."}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for required environment."},"resolution":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"disposition":{"const":"verified","description":"Value for disposition.","type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"rationale":{"description":"Value for rationale.","maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"},{"additionalProperties":false,"properties":{"disposition":{"description":"Value for disposition.","enum":["withdrawn","out-of-scope"],"type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"rationale":{"description":"Value for rationale.","maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"}]},{"type":"null"}],"description":"Value for resolution."},"revision":{"description":"Value for revision.","maximum":9007199254740991,"minimum":1,"type":"integer"},"revision_digest":{"description":"Value for revision digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"scope_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Value for scope digest."},"severity":{"description":"Value for severity.","enum":["low","medium","high","critical"],"type":"string"},"status":{"description":"Current lifecycle or verification status.","enum":["open","investigating","blocked","contradicted","resolved"],"type":"string"},"supporting_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the supporting observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"unknown_id":{"description":"Exact residual-unknown identifier.","pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"type":"object"},"type":"array"}},"required":["bundle_version","artifacts","providers","environments","scenarios","captures","unknowns","records"],"type":"object"},"fixtures":{"description":"Value for fixtures.","items":{"additionalProperties":false,"properties":{"artifact_sha256":{"description":"Exact SHA-256 digest of artifact.","pattern":"^[a-f0-9]{64}$","type":"string"},"deliberate_faults":{"description":"Value for deliberate faults.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"environment_id":{"description":"Value for environment id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"fixture_id":{"description":"Value for fixture id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"kind":{"description":"Value for kind.","enum":["native","javascript-cli","electron","incomplete-reconstruction","broken-runtime"],"type":"string"}},"required":["fixture_id","kind","artifact_sha256","environment_id","deliberate_faults"],"type":"object"},"maxItems":100,"minItems":1,"type":"array"},"grants":{"description":"Value for grants.","items":{"additionalProperties":false,"properties":{"decision":{"description":"Value for decision.","enum":["granted","denied","cancelled","restart-required"],"type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"grant_id":{"description":"Value for grant id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"launched_process":{"description":"Value for launched process.","type":"boolean"},"scope":{"description":"Value for scope.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["grant_id","scope","decision","launched_process","evidence_ids"],"type":"object"},"maxItems":1000,"type":"array"},"identity":{"additionalProperties":false,"description":"Value for identity.","properties":{"catalog_digest":{"description":"Value for catalog digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"cli_version":{"description":"Value for cli version.","maxLength":4096,"minLength":1,"type":"string"},"providers":{"description":"Value for providers.","items":{"additionalProperties":false,"properties":{"digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Value for digest."},"provider_id":{"description":"Exact deep-analysis provider ID, or automatic selection when omitted.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"reason_code":{"anyOf":[{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},{"type":"null"}],"description":"Value for reason code."},"state":{"description":"Value for state.","enum":["available","unavailable","incompatible","broken-host"],"type":"string"},"version":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["provider_id","version","digest","state","reason_code"],"type":"object"},"maxItems":100,"type":"array"},"server_version":{"description":"Value for server version.","maxLength":4096,"minLength":1,"type":"string"},"skill_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Value for skill digest."},"versions":{"description":"Value for versions.","items":{"additionalProperties":false,"properties":{"component":{"description":"Value for component.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Value for digest."},"remediation":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for remediation."},"state":{"description":"Value for state.","enum":["current","stale","unavailable"],"type":"string"},"version":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["component","version","digest","state","remediation"],"type":"object"},"maxItems":100,"minItems":1,"type":"array"}},"required":["cli_version","server_version","catalog_digest","skill_digest","versions","providers"],"type":"object"},"obligation_ledger":{"additionalProperties":false,"description":"Value for obligation ledger.","properties":{"closure_digest":{"description":"Value for closure digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"coverage":{"additionalProperties":false,"description":"Exact reconstruction-coverage commitment to verify.","properties":{"max_obligations":{"description":"Maximum permitted obligations for this operation.","maximum":9007199254740991,"minimum":1,"type":"integer"},"omitted_count":{"description":"Value for omitted count.","maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"description":"Current lifecycle or verification status.","enum":["complete","partial"],"type":"string"},"truncated":{"description":"Value for truncated.","type":"boolean"}},"required":["status","truncated","omitted_count","max_obligations"],"type":"object"},"dependency_graph":{"description":"Value for dependency graph.","items":{"additionalProperties":false,"properties":{"depends_on_obligation_id":{"description":"Value for depends on obligation id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"obligation_id":{"description":"Value for obligation id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["obligation_id","depends_on_obligation_id"],"type":"object"},"type":"array"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100000,"type":"array"},"ledger_id":{"description":"Value for ledger id.","pattern":"^rol_[a-f0-9]{64}$","type":"string"},"limitations":{"description":"Value for limitations.","items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":1000,"type":"array"},"obligations":{"description":"Value for obligations.","items":{"additionalProperties":false,"properties":{"application_layer":{"description":"Value for application layer.","enum":["cli","protocol","electron","persistence","process","runtime","packaging","native-abi","application","other"],"type":"string"},"authority_references":{"description":"Value for authority references.","items":{"additionalProperties":false,"properties":{"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"location":{"description":"Value for location.","maxLength":4096,"minLength":1,"type":"string"},"state":{"description":"Value for state.","enum":["candidate","observed","reviewed","unknown"],"type":"string"}},"required":["evidence_id","authority","state","location"],"type":"object"},"maxItems":1000,"minItems":1,"type":"array"},"binding":{"anyOf":[{"additionalProperties":false,"properties":{"fixtures":{"description":"Value for fixtures.","items":{"additionalProperties":false,"properties":{"authority":{"description":"Value for authority.","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"type":"string"},"case_kind":{"description":"Value for case kind.","enum":["positive","negative","malformed","cancellation","teardown"],"type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"fixture_id":{"description":"Value for fixture id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["fixture_id","case_kind","authority","evidence_ids"],"type":"object"},"maxItems":100,"type":"array"},"obligation_id":{"description":"Value for obligation id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"original_cases":{"description":"Value for original cases.","items":{"additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"kind":{"description":"Value for kind.","enum":["positive","negative","malformed","cancellation","teardown"],"type":"string"},"location":{"description":"Value for location.","maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","evidence_id","location"],"type":"object"},"maxItems":100,"type":"array"},"owner":{"additionalProperties":false,"description":"Value for owner.","properties":{"module_path":{"description":"Local filesystem path for module.","maxLength":4096,"minLength":1,"type":"string"},"owner_sha256":{"description":"Exact SHA-256 digest of owner.","pattern":"^[a-f0-9]{64}$","type":"string"},"symbol":{"description":"Value for symbol.","maxLength":1024,"minLength":1,"type":"string"}},"required":["module_path","symbol","owner_sha256"],"type":"object"},"parser_type":{"anyOf":[{"additionalProperties":false,"properties":{"domain_type":{"description":"Value for domain type.","maxLength":4096,"minLength":1,"type":"string"},"parser":{"description":"Value for parser.","maxLength":4096,"minLength":1,"type":"string"},"schema":{"description":"Value for schema.","maxLength":4096,"minLength":1,"type":"string"}},"required":["parser","schema","domain_type"],"type":"object"},{"type":"null"}],"description":"Value for parser type."},"verifier":{"anyOf":[{"additionalProperties":false,"properties":{"authority":{"description":"Value for authority.","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"type":"string"},"claim_id":{"description":"Value for claim id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"command":{"description":"Value for command.","maxLength":4096,"minLength":1,"type":"string"},"enumerated_obligation_ids":{"description":"Value for enumerated obligation ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":10000,"minItems":1,"type":"array"},"nondeterminism":{"additionalProperties":false,"description":"Value for nondeterminism.","properties":{"mode":{"description":"Operation mode that selects the requested behavior.","enum":["total-order","partial-order","finite-traces"],"type":"string"},"specification":{"description":"Value for specification.","maxLength":4096,"minLength":1,"type":"string"}},"required":["mode","specification"],"type":"object"},"result_evidence_id":{"description":"Exact Evidence v2 identifier for the result observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"status":{"description":"Current lifecycle or verification status.","enum":["pass","fail","unknown","unsupported","skipped"],"type":"string"},"verifier_id":{"description":"Value for verifier id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["verifier_id","claim_id","command","authority","status","result_evidence_id","enumerated_obligation_ids","nondeterminism"],"type":"object"},{"type":"null"}],"description":"Value for verifier."}},"required":["obligation_id","owner","parser_type","original_cases","fixtures","verifier"],"type":"object"},{"type":"null"}],"description":"Value for binding."},"dependency_obligation_ids":{"description":"Value for dependency obligation ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":1000,"type":"array"},"diagnostics":{"description":"Value for diagnostics.","items":{"additionalProperties":false,"properties":{"code":{"description":"Value for code.","enum":["duplicate-definition","missing-owner","ambiguous-owner","missing-parser-type","missing-original-case","weak-original-case-authority","missing-case","weak-fixture-authority","missing-verifier","verifier-does-not-enumerate","missing-verifier-result","weak-verifier-authority","verifier-failed","static-only","contradiction","contradiction-evidence-missing","residual-unknown","dependency-missing","dependency-open","unavailable-authority","blocked","out-of-scope"],"type":"string"},"detail":{"description":"Requested response detail level.","maxLength":4096,"minLength":1,"type":"string"}},"required":["code","detail"],"type":"object"},"maxItems":1000,"type":"array"},"family":{"description":"Value for family.","maxLength":100,"minLength":1,"type":"string"},"obligation_id":{"description":"Value for obligation id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"obligation_version":{"description":"Value for obligation version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"observed_cases":{"description":"Value for observed cases.","items":{"additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"kind":{"description":"Value for kind.","enum":["positive","negative","malformed","cancellation","teardown"],"type":"string"},"location":{"description":"Value for location.","maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","evidence_id","location"],"type":"object"},"maxItems":100,"type":"array"},"origin":{"description":"Value for origin.","enum":["generated","reviewed"],"type":"string"},"required":{"description":"Value for required.","type":"boolean"},"required_case_kinds":{"description":"Value for required case kinds.","items":{"enum":["positive","negative","malformed","cancellation","teardown"],"type":"string"},"maxItems":5,"minItems":1,"type":"array"},"required_fixture_authority":{"description":"Value for required fixture authority.","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"type":"string"},"required_next_evidence":{"description":"Value for required next evidence.","items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"required_original_authority":{"description":"Value for required original authority.","enum":["static","runtime","process","external"],"type":"string"},"required_verifier_authority":{"description":"Value for required verifier authority.","enum":["unit","integration","protocol","renderer","packaged-process","native-abi","live-observation","external"],"type":"string"},"requires_parser_type":{"description":"Value for requires parser type.","type":"boolean"},"residual_unknown_ids":{"description":"Value for residual unknown ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":1000,"type":"array"},"source_state":{"description":"Value for source state.","enum":["candidate","observed","reviewed","unknown"],"type":"string"},"status":{"description":"Current lifecycle or verification status.","enum":["unowned","characterized","implemented","verified","contradicted","blocked","out-of-scope","unknown"],"type":"string"},"target":{"additionalProperties":false,"description":"Value for target.","properties":{"application_node_id":{"anyOf":[{"pattern":"^jag_node_[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Value for application node id."},"artifact_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Exact SHA-256 digest of artifact."},"location":{"description":"Value for location.","maxLength":4096,"minLength":1,"type":"string"},"semantic_node_id":{"anyOf":[{"pattern":"^jsrg_node_[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Value for semantic node id."}},"required":["artifact_sha256","application_node_id","semantic_node_id","location"],"type":"object"},"title":{"description":"Value for title.","maxLength":500,"minLength":1,"type":"string"},"unavailable_authority":{"description":"Value for unavailable authority.","items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":100,"type":"array"}},"required":["obligation_id","obligation_version","title","origin","application_layer","family","target","authority_references","source_state","observed_cases","required","required_case_kinds","required_original_authority","required_fixture_authority","required_verifier_authority","requires_parser_type","dependency_obligation_ids","residual_unknown_ids","unavailable_authority","required_next_evidence","binding","status","diagnostics"],"type":"object"},"maxItems":10000,"type":"array"},"ownership_graph":{"description":"Value for ownership graph.","items":{"additionalProperties":false,"properties":{"module_path":{"description":"Local filesystem path for module.","maxLength":4096,"minLength":1,"type":"string"},"obligation_id":{"description":"Value for obligation id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"symbol":{"description":"Value for symbol.","maxLength":1024,"minLength":1,"type":"string"}},"required":["obligation_id","module_path","symbol"],"type":"object"},"type":"array"},"reports":{"additionalProperties":false,"description":"Value for reports.","properties":{"contradicted_obligation_ids":{"description":"Value for contradicted obligation ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"type":"array"},"missing_owner_obligation_ids":{"description":"Value for missing owner obligation ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"type":"array"},"missing_verifier_obligation_ids":{"description":"Value for missing verifier obligation ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"type":"array"},"residual_unknown_ids":{"description":"Value for residual unknown ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"type":"array"}},"required":["missing_owner_obligation_ids","missing_verifier_obligation_ids","contradicted_obligation_ids","residual_unknown_ids"],"type":"object"},"schema":{"const":"ReconstructionObligationLedger","description":"Value for schema.","type":"string"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"},"status":{"description":"Current lifecycle or verification status.","enum":["ready","open","failed","unknown"],"type":"string"},"summary":{"additionalProperties":false,"description":"Concise evidence-backed summary of the result.","properties":{"by_application_layer":{"description":"Value for by application layer.","items":{"additionalProperties":false,"properties":{"count":{"description":"Value for count.","maximum":9007199254740991,"minimum":0,"type":"integer"},"key":{"description":"Value for key.","enum":["cli","protocol","electron","persistence","process","runtime","packaging","native-abi","application","other"],"type":"string"}},"required":["key","count"],"type":"object"},"type":"array"},"by_evidence_authority":{"description":"Value for by evidence authority.","items":{"additionalProperties":false,"properties":{"count":{"description":"Value for count.","maximum":9007199254740991,"minimum":0,"type":"integer"},"key":{"description":"Value for key.","enum":["candidate","observed","reviewed","unknown"],"type":"string"}},"required":["key","count"],"type":"object"},"type":"array"},"by_status":{"description":"Value for by status.","items":{"additionalProperties":false,"properties":{"count":{"description":"Value for count.","maximum":9007199254740991,"minimum":0,"type":"integer"},"key":{"description":"Value for key.","enum":["unowned","characterized","implemented","verified","contradicted","blocked","out-of-scope","unknown"],"type":"string"}},"required":["key","count"],"type":"object"},"type":"array"},"required":{"description":"Value for required.","maximum":9007199254740991,"minimum":0,"type":"integer"},"required_open":{"description":"Value for required open.","maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"description":"Value for total.","maximum":9007199254740991,"minimum":0,"type":"integer"},"verified":{"description":"Value for verified.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total","required","verified","required_open","by_status","by_application_layer","by_evidence_authority"],"type":"object"}},"required":["schema","schema_version","ledger_id","closure_digest","status","coverage","summary","reports","ownership_graph","dependency_graph","obligations","evidence_links","limitations"],"type":"object"},"operation_outcomes":{"description":"Value for operation outcomes.","items":{"additionalProperties":false,"properties":{"call_kind":{"description":"Value for call kind.","enum":["valid","malformed","over-limit","incompatible-provider","setup","permission","operation"],"type":"string"},"cli_exit_code":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}],"description":"Value for cli exit code."},"error_code":{"anyOf":[{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},{"type":"null"}],"description":"Value for error code."},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"expected_success":{"description":"Expected success used to reject stale or mismatched input.","type":"boolean"},"mcp_status":{"anyOf":[{"enum":["success","non-success"],"type":"string"},{"type":"null"}],"description":"Value for mcp status."},"operation":{"description":"Value for operation.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"recovered":{"description":"Value for recovered.","type":"boolean"},"sequence":{"description":"Value for sequence.","maximum":9007199254740991,"minimum":0,"type":"integer"},"surface":{"description":"Value for surface.","enum":["cli","mcp"],"type":"string"}},"required":["sequence","operation","surface","call_kind","expected_success","cli_exit_code","mcp_status","error_code","recovered","evidence_ids"],"type":"object"},"maxItems":10000,"type":"array"},"replay":{"additionalProperties":false,"description":"Value for replay.","properties":{"deterministic":{"description":"Value for deterministic.","type":"boolean"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"expected_source_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Expected source digest used to reject stale or mismatched input."},"stale_input_detected":{"description":"Value for stale input detected.","type":"boolean"},"tamper_detected":{"description":"Value for tamper detected.","type":"boolean"}},"required":["expected_source_digest","deterministic","tamper_detected","stale_input_detected","evidence_ids"],"type":"object"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"},"stages":{"description":"Value for stages.","items":{"additionalProperties":false,"properties":{"capability_issue":{"anyOf":[{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},{"type":"null"}],"description":"Value for capability issue."},"checks":{"description":"Value for checks.","items":{"additionalProperties":false,"properties":{"check_id":{"description":"Value for check id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"detail":{"description":"Requested response detail level.","maxLength":4096,"minLength":1,"type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"status":{"description":"Current lifecycle or verification status.","enum":["pass","fail","unknown","unsupported","truncated","skipped"],"type":"string"}},"required":["check_id","status","detail","evidence_ids"],"type":"object"},"maxItems":100,"type":"array"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"type":"array"},"next_action":{"anyOf":[{"maxLength":4096,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for next action."},"required":{"description":"Value for required.","type":"boolean"},"stage_id":{"description":"Value for stage id.","enum":["discover-classify","diagnose-environment","acquire-authority","static-analysis","reactive-scenarios","compare-authority-candidate","preserve-contradictions","verify-reconstruction-closure","export-replay"],"type":"string"},"status":{"description":"Current lifecycle or verification status.","enum":["pass","fail","unknown","unsupported","truncated","skipped"],"type":"string"}},"required":["stage_id","required","status","capability_issue","next_action","evidence_ids","checks"],"type":"object"},"maxItems":9,"minItems":9,"type":"array"},"workflow_candidates":{"description":"Value for workflow candidates.","items":{"additionalProperties":false,"properties":{"compatibility":{"description":"Value for compatibility.","enum":["compatible","incompatible","unavailable"],"type":"string"},"fixture_id":{"description":"Value for fixture id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"invoked":{"description":"Value for invoked.","type":"boolean"},"provider_id":{"anyOf":[{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},{"type":"null"}],"description":"Exact deep-analysis provider ID, or automatic selection when omitted."},"reason_code":{"description":"Value for reason code.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"selected":{"description":"Value for selected.","type":"boolean"},"workflow_id":{"description":"Value for workflow id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["fixture_id","workflow_id","provider_id","selected","invoked","compatibility","reason_code"],"type":"object"},"maxItems":1000,"minItems":1,"type":"array"}},"required":["schema_version","identity","client","capabilities","fixtures","workflow_candidates","grants","evidence_bundle","comparisons","contradictions","obligation_ledger","operation_outcomes","cleanup","closure_history","delegation_checks","replay","stages"],"type":"object"},"kind":"application","name":"evaluate_reconstruction_readiness","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"metrics":{"additionalProperties":false,"properties":{"cleanup_leak_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"divergence_localization_precision":{"maximum":1,"minimum":0,"type":"number"},"failed_calls_before_prerequisites":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"false_equivalence_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"first_valid_workflow_selection_rate":{"maximum":1,"minimum":0,"type":"number"},"incompatible_provider_invocations":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"malformed_or_over_limit_call_rate":{"maximum":1,"minimum":0,"type":"number"},"nondeterministic_replay_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"recovery_rate":{"maximum":1,"minimum":0,"type":"number"},"unowned_obligation_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["first_valid_workflow_selection_rate","malformed_or_over_limit_call_rate","incompatible_provider_invocations","failed_calls_before_prerequisites","recovery_rate","divergence_localization_precision","false_equivalence_count","unowned_obligation_count","cleanup_leak_count","nondeterministic_replay_count"],"type":"object"},"report_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"report_id":{"pattern":"^rr_[a-f0-9]{64}$","type":"string"},"report_resource_uri":{"pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}\\\\/reconstruction-readiness-report$","type":"string"},"schema":{"const":"ReconstructionReadinessReport","type":"string"},"schema_version":{"const":1,"type":"number"},"source_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"status":{"enum":["pass","fail","unknown","unsupported","truncated","skipped"],"type":"string"},"summary":{"additionalProperties":false,"properties":{"failed_findings":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"findings":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"passed_required_stages":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"required_stages":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"stages":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknown_findings":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["stages","required_stages","passed_required_stages","findings","failed_findings","unknown_findings"],"type":"object"}},"required":["schema","schema_version","report_id","source_digest","report_digest","status","summary","metrics","report_resource_uri"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":false,"title":"Evaluate Reconstruction Readiness"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Atomically commit one canonical evidence-backed reconstruction coverage workspace revision under an approved root. CAS revisions reject lost updates; every Evidence and residual-unknown reference must resolve in the embedded canonical bundle.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":true},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"approved":true,"expected_revision":null,"workspace":{"artifacts":[],"boundaries":[],"claims":[],"contradictions":[],"evidence_bundle":{"artifacts":[],"bundle_version":2,"captures":[],"environments":[],"providers":[],"records":[],"scenarios":[],"unknowns":[]},"name":"replacement","owners":[],"package_proofs":[],"previous_revision_sha256":null,"residual_unknown_ids":[],"revision":1,"revision_sha256":"0000000000000000000000000000000000000000000000000000000000000000","schema_version":1,"surfaces":[],"verifier_contracts":[],"verifier_results":[],"workspace_id":"rcw_0000000000000000000000000000000000000000000000000000000000000000"},"workspace_path":"/approved/coverage.json"}],"properties":{"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"expected_revision":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}],"description":"Expected revision used to reject stale or mismatched input."},"workspace":{"additionalProperties":false,"description":"Value for workspace.","properties":{"artifacts":{"description":"Value for artifacts.","items":{"additionalProperties":false,"properties":{"artifact_id":{"description":"Value for artifact id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"artifact_sha256":{"description":"Exact SHA-256 digest of artifact.","pattern":"^[a-f0-9]{64}$","type":"string"},"environment_sha256":{"description":"Exact SHA-256 digest of environment.","pattern":"^[a-f0-9]{64}$","type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"version":{"description":"Value for version.","maxLength":500,"minLength":1,"type":"string"}},"required":["artifact_id","artifact_sha256","version","environment_sha256","evidence_ids"],"type":"object"},"maxItems":1000,"type":"array"},"boundaries":{"description":"Value for boundaries.","items":{"additionalProperties":false,"properties":{"allowed_dispositions":{"description":"Value for allowed dispositions.","items":{"enum":["external","non-goal"],"type":"string"},"maxItems":2,"type":"array"},"allowed_unknown_ids":{"description":"Value for allowed unknown ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":1000,"type":"array"},"boundary_id":{"description":"Exact reconstruction boundary identifier to evaluate.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"required_claim_ids":{"description":"Value for required claim ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":10000,"minItems":1,"type":"array"},"required_package_proof_kinds":{"description":"Value for required package proof kinds.","items":{"enum":["build","clean-install","package-contents","runtime-routing","authority-independence"],"type":"string"},"maxItems":5,"minItems":1,"type":"array"},"required_surface_ids":{"description":"Value for required surface ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":10000,"minItems":1,"type":"array"},"title":{"description":"Value for title.","maxLength":500,"minLength":1,"type":"string"}},"required":["boundary_id","title","required_surface_ids","required_claim_ids","required_package_proof_kinds","allowed_dispositions","allowed_unknown_ids"],"type":"object"},"maxItems":1000,"type":"array"},"claims":{"description":"Value for claims.","items":{"additionalProperties":false,"properties":{"claim_id":{"description":"Value for claim id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"kind":{"description":"Value for kind.","maxLength":100,"minLength":1,"type":"string"},"required_authority":{"description":"Value for required authority.","enum":["shipped-artifact","controlled-replay","live-observation","external"],"type":"string"},"required_dimensions":{"description":"Value for required dimensions.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"surface_ids":{"description":"Value for surface ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"title":{"description":"Value for title.","maxLength":500,"minLength":1,"type":"string"}},"required":["claim_id","title","kind","surface_ids","required_dimensions","required_authority"],"type":"object"},"maxItems":10000,"type":"array"},"contradictions":{"description":"Value for contradictions.","items":{"additionalProperties":false,"properties":{"claim_ids":{"description":"Value for claim ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":1000,"type":"array"},"contradiction_id":{"description":"Value for contradiction id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"minItems":2,"type":"array"},"status":{"description":"Current lifecycle or verification status.","enum":["active","resolved"],"type":"string"},"surface_ids":{"description":"Value for surface ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":1000,"type":"array"}},"required":["contradiction_id","status","surface_ids","claim_ids","evidence_ids"],"type":"object"},"maxItems":10000,"type":"array"},"evidence_bundle":{"additionalProperties":false,"description":"Value for evidence bundle.","properties":{"artifacts":{"description":"Value for artifacts.","items":{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"}},"required":["digest","format","architecture"],"type":"object"},"type":"array"},"bundle_version":{"const":2,"description":"Value for bundle version.","type":"number"},"captures":{"description":"Value for captures.","items":{"additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"}},"required":["evidence_id","predicate_type"],"type":"object"},"type":"array"},"environments":{"description":"Value for environments.","items":{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},"type":"array"},"providers":{"description":"Value for providers.","items":{"additionalProperties":false,"properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"type":"array"},"records":{"description":"Value for records.","items":{"anyOf":[{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links","analysis_profile"],"type":"object"},{"additionalProperties":false,"properties":{"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"}]},"type":"array"},"scenarios":{"description":"Value for scenarios.","items":{"additionalProperties":false,"properties":{"authority":{"const":"controlled-replay","description":"Value for authority.","type":"string"},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"operation":{"description":"Value for operation.","minLength":1,"type":"string"}},"required":["evidence_id","operation","authority"],"type":"object"},"type":"array"},"unknowns":{"description":"Value for unknowns.","items":{"additionalProperties":false,"properties":{"contradicting_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the contradicting observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"domain":{"description":"Value for domain.","maxLength":100,"minLength":1,"type":"string"},"mutation_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the mutation observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"previous_revision_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Value for previous revision digest."},"question":{"description":"Concrete unresolved question to retain for later investigation.","maxLength":1000,"minLength":1,"type":"string"},"recommended_probes":{"description":"Value for recommended probes.","items":{"additionalProperties":false,"properties":{"operation":{"description":"Value for operation.","maxLength":200,"minLength":1,"type":"string"},"rationale":{"description":"Value for rationale.","maxLength":1000,"minLength":1,"type":"string"}},"required":["operation","rationale"],"type":"object"},"maxItems":20,"type":"array"},"registry_version":{"const":1,"description":"Value for registry version.","type":"number"},"relationships":{"description":"Value for relationships.","items":{"additionalProperties":false,"properties":{"type":{"description":"Value for type.","enum":["depends-on","related-to","contradicts"],"type":"string"},"unknown_id":{"description":"Exact residual-unknown identifier.","pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["type","unknown_id"],"type":"object"},"maxItems":100,"type":"array"},"required_authority":{"anyOf":[{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},{"type":"null"}],"description":"Value for required authority."},"required_confidence":{"description":"Value for required confidence.","enum":["observed","derived","inferred"],"type":"string"},"required_environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for architecture."},"id":{"anyOf":[{"maxLength":200,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for id."},"isolation":{"anyOf":[{"enum":["none","process","container","virtual-machine"],"type":"string"},{"type":"null"}],"description":"Value for isolation."},"platform":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for platform."}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for required environment."},"resolution":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"disposition":{"const":"verified","description":"Value for disposition.","type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"rationale":{"description":"Value for rationale.","maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"},{"additionalProperties":false,"properties":{"disposition":{"description":"Value for disposition.","enum":["withdrawn","out-of-scope"],"type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"rationale":{"description":"Value for rationale.","maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"}]},{"type":"null"}],"description":"Value for resolution."},"revision":{"description":"Value for revision.","maximum":9007199254740991,"minimum":1,"type":"integer"},"revision_digest":{"description":"Value for revision digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"scope_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Value for scope digest."},"severity":{"description":"Value for severity.","enum":["low","medium","high","critical"],"type":"string"},"status":{"description":"Current lifecycle or verification status.","enum":["open","investigating","blocked","contradicted","resolved"],"type":"string"},"supporting_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the supporting observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"unknown_id":{"description":"Exact residual-unknown identifier.","pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"type":"object"},"type":"array"}},"required":["bundle_version","artifacts","providers","environments","scenarios","captures","unknowns","records"],"type":"object"},"name":{"description":"Exact name used by this operation.","maxLength":200,"minLength":1,"type":"string"},"owners":{"description":"Value for owners.","items":{"additionalProperties":false,"properties":{"ownership":{"description":"Value for ownership.","oneOf":[{"additionalProperties":false,"properties":{"authority_route":{"description":"Value for authority route.","enum":["none","detected","unknown"],"type":"string"},"disposition":{"const":"implemented","description":"Value for disposition.","type":"string"},"owner_export":{"anyOf":[{"maxLength":500,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for owner export."},"owner_path":{"description":"Local filesystem path for owner.","maxLength":4096,"minLength":1,"type":"string"},"owner_sha256":{"description":"Exact SHA-256 digest of owner.","pattern":"^[a-f0-9]{64}$","type":"string"},"package_state":{"description":"Value for package state.","enum":["distributed","missing","unknown"],"type":"string"},"path_state":{"description":"Value for path state.","enum":["present","missing","unknown"],"type":"string"}},"required":["disposition","owner_path","owner_export","owner_sha256","path_state","package_state","authority_route"],"type":"object"},{"additionalProperties":false,"properties":{"disposition":{"description":"Value for disposition.","enum":["external","non-goal"],"type":"string"},"rationale":{"description":"Value for rationale.","maxLength":4096,"minLength":1,"type":"string"}},"required":["disposition","rationale"],"type":"object"}]},"surface_id":{"description":"Value for surface id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["surface_id","ownership"],"type":"object"},"maxItems":10000,"type":"array"},"package_proofs":{"description":"Value for package proofs.","items":{"additionalProperties":false,"properties":{"artifact_sha256s":{"description":"Value for artifact sha256s.","items":{"pattern":"^[a-f0-9]{64}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"kind":{"description":"Value for kind.","enum":["build","clean-install","package-contents","runtime-routing","authority-independence"],"type":"string"},"proof_id":{"description":"Value for proof id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"status":{"description":"Current lifecycle or verification status.","enum":["pass","fail","unknown","unsupported","skipped"],"type":"string"}},"required":["proof_id","kind","status","artifact_sha256s","evidence_ids"],"type":"object"},"maxItems":10000,"type":"array"},"previous_revision_sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}],"description":"Exact SHA-256 digest of previous revision."},"residual_unknown_ids":{"description":"Value for residual unknown ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":10000,"type":"array"},"revision":{"description":"Value for revision.","maximum":9007199254740991,"minimum":1,"type":"integer"},"revision_sha256":{"description":"Exact SHA-256 digest of revision.","pattern":"^[a-f0-9]{64}$","type":"string"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"},"surfaces":{"description":"Value for surfaces.","items":{"additionalProperties":false,"properties":{"artifact_id":{"description":"Value for artifact id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"authority":{"description":"Value for authority.","enum":["observed","derived","inferred","historical","external"],"type":"string"},"dependency_surface_ids":{"description":"Value for dependency surface ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":1000,"type":"array"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"family":{"description":"Value for family.","maxLength":100,"minLength":1,"type":"string"},"location":{"description":"Value for location.","maxLength":4096,"minLength":1,"type":"string"},"occurrence_id":{"anyOf":[{"maxLength":500,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for occurrence id."},"surface_id":{"description":"Value for surface id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["surface_id","family","artifact_id","occurrence_id","location","authority","dependency_surface_ids","evidence_ids"],"type":"object"},"maxItems":10000,"type":"array"},"verifier_contracts":{"description":"Value for verifier contracts.","items":{"additionalProperties":false,"properties":{"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","live-observation","external"],"type":"string"},"claim_ids":{"description":"Value for claim ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"contract_sha256":{"description":"Exact SHA-256 digest of contract.","pattern":"^[a-f0-9]{64}$","type":"string"},"dimensions":{"description":"Value for dimensions.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"max_age_ms":{"description":"Maximum permitted age ms for this operation.","maximum":9007199254740991,"minimum":1,"type":"integer"},"minimum_repeats":{"description":"Value for minimum repeats.","maximum":1000,"minimum":1,"type":"integer"},"normalization_removes_dimensions":{"const":false,"description":"Value for normalization removes dimensions.","type":"boolean"},"normalization_sha256":{"description":"Exact SHA-256 digest of normalization.","pattern":"^[a-f0-9]{64}$","type":"string"},"verifier_id":{"description":"Value for verifier id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["verifier_id","claim_ids","dimensions","authority","max_age_ms","minimum_repeats","normalization_sha256","normalization_removes_dimensions","contract_sha256"],"type":"object"},"maxItems":10000,"type":"array"},"verifier_results":{"description":"Value for verifier results.","items":{"additionalProperties":false,"properties":{"artifact_sha256s":{"description":"Value for artifact sha256s.","items":{"pattern":"^[a-f0-9]{64}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"contract_sha256":{"description":"Exact SHA-256 digest of contract.","pattern":"^[a-f0-9]{64}$","type":"string"},"covered_claim_ids":{"description":"Value for covered claim ids.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"covered_dimensions":{"description":"Value for covered dimensions.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":1000,"minItems":1,"type":"array"},"normalization_sha256":{"description":"Exact SHA-256 digest of normalization.","pattern":"^[a-f0-9]{64}$","type":"string"},"observed_at":{"description":"Value for observed at.","format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z|([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)))$","type":"string"},"owner_sha256s":{"description":"Value for owner sha256s.","items":{"pattern":"^[a-f0-9]{64}$","type":"string"},"maxItems":1000,"type":"array"},"repeats":{"description":"Value for repeats.","maximum":1000,"minimum":1,"type":"integer"},"status":{"description":"Current lifecycle or verification status.","enum":["pass","fail","unknown","unsupported","truncated","skipped"],"type":"string"},"verifier_id":{"description":"Value for verifier id.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["verifier_id","contract_sha256","observed_at","status","covered_claim_ids","covered_dimensions","artifact_sha256s","owner_sha256s","normalization_sha256","repeats","evidence_ids"],"type":"object"},"maxItems":100000,"type":"array"},"workspace_id":{"description":"Value for workspace id.","pattern":"^rcw_[a-f0-9]{64}$","type":"string"}},"required":["schema_version","workspace_id","name","revision","previous_revision_sha256","evidence_bundle","artifacts","surfaces","owners","claims","verifier_contracts","verifier_results","residual_unknown_ids","contradictions","package_proofs","boundaries","revision_sha256"],"type":"object"},"workspace_path":{"description":"Approved local path of the persistent investigation workspace.","maxLength":4096,"minLength":1,"type":"string"}},"required":["approved","workspace_path","expected_revision","workspace"],"type":"object"},"kind":"application","name":"commit_reconstruction_coverage","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"bytes":{"description":"Value for bytes.","maximum":9007199254740991,"minimum":0,"type":"integer"},"evidence_records":{"description":"Value for evidence records.","maximum":9007199254740991,"minimum":0,"type":"integer"},"revision":{"description":"Value for revision.","maximum":9007199254740991,"minimum":1,"type":"integer"},"revision_sha256":{"description":"Exact SHA-256 digest of revision.","pattern":"^[a-f0-9]{64}$","type":"string"},"workspace_id":{"description":"Value for workspace id.","pattern":"^rcw_[a-f0-9]{64}$","type":"string"},"workspace_path":{"description":"Approved local path of the persistent investigation workspace.","type":"string"}},"required":["workspace_path","bytes","workspace_id","revision","revision_sha256","evidence_records"],"type":"object"},"requiresSession":false,"title":"Commit Reconstruction Coverage"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Evaluate one named reconstruction boundary from a canonical coverage workspace. Missing ownership or inventory is partial; stale, weak, truncated, skipped, or unresolved proof is unknown; contradictions, failed proof, missing owners, and authority routing fail closed.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"boundary_id":"replacement.cli","workspace_path":"/approved/coverage.json"}],"properties":{"boundary_id":{"description":"Exact reconstruction boundary identifier to evaluate.","maxLength":200,"minLength":1,"type":"string"},"workspace_path":{"description":"Approved local path of the persistent investigation workspace.","maxLength":4096,"minLength":1,"type":"string"}},"required":["workspace_path","boundary_id"],"type":"object"},"kind":"application","name":"query_reconstruction_coverage","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"boundary_id":{"description":"Exact reconstruction boundary identifier to evaluate.","pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100000,"type":"array"},"reasons":{"description":"Value for reasons.","items":{"additionalProperties":false,"properties":{"code":{"enum":["surface-missing","owner-missing","owner-duplicate","owner-path-missing","owner-path-unknown","owner-undistributed","owner-distribution-unknown","authority-routing-detected","authority-routing-unknown","disposition-not-allowed","dependency-surface-missing","claim-missing","verifier-missing","verifier-duplicate","verifier-result-missing","verifier-result-stale","verifier-result-incompatible","verifier-failed","verifier-unknown","active-unknown","active-contradiction","package-proof-missing","package-proof-failed","package-proof-unknown"],"type":"string"},"detail":{"maxLength":4096,"minLength":1,"type":"string"},"subject_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["code","subject_id","detail"],"type":"object"},"maxItems":100000,"type":"array"},"recommended_probes":{"description":"Value for recommended probes.","items":{"additionalProperties":false,"properties":{"operation":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"},"rationale":{"maxLength":4096,"minLength":1,"type":"string"},"subject_id":{"pattern":"^[A-Za-z][A-Za-z0-9._:/-]{0,199}$","type":"string"}},"required":["operation","subject_id","rationale"],"type":"object"},"maxItems":100000,"type":"array"},"status":{"description":"Current lifecycle or verification status.","enum":["partial","failed","unknown","ready"],"type":"string"},"summary":{"additionalProperties":false,"description":"Concise evidence-backed summary of the result.","properties":{"reasons":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"required_claims":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"required_surfaces":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["required_surfaces","required_claims","reasons"],"type":"object"},"workspace_revision_sha256":{"description":"Exact SHA-256 digest of workspace revision.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["boundary_id","status","workspace_revision_sha256","summary","reasons","recommended_probes","evidence_ids"],"type":"object"},"requiresSession":false,"title":"Query Reconstruction Coverage"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false},"description":"Open a local executable, application bundle, archive, JavaScript, source map, plist, or analysis database after validation. provider_id selects one deep provider or deterministic auto selection; the binding remains stable until close or an explicit switch, with no failure fallback. An optional snapshot v2 is imported atomically and must match the binary identity, concrete provider, and canonical analysis profile exactly.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":true,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"path":"/tmp/fixture"}],"properties":{"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"},"provider_id":{"anyOf":[{"const":"auto","type":"string"},{"maxLength":64,"minLength":1,"pattern":"^[a-z][a-z0-9-]*$","type":"string"}],"description":"Exact deep-analysis provider ID, or automatic selection when omitted."},"snapshot_path":{"description":"Local filesystem path for snapshot.","minLength":1,"type":"string"}},"required":["path"],"type":"object"},"kind":"session","name":"open_binary","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map"],"type":"string"},"kind":{"enum":["executable","database","archive","artifact"],"type":"string"},"loaderArgs":{"items":{"type":"string"},"type":"array"},"path":{"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["path","format","kind","loaderArgs","sha256","architecture"],"type":"object"}},"required":["result"],"type":"object"},"requiresSession":true,"title":"Open Binary"},{"analysisOperation":null,"annotations":{"destructiveHint":true,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false},"description":"Optionally write a provider-neutral analysis snapshot atomically, then close the active target and every provider resource started for it. Snapshot files require an operator-approved root and explicit overwrite; a failed save leaves the session open so cached analysis is not lost.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":false,"launchesProcess":false,"mayDiscardData":true,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":true},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"overwrite":false}],"properties":{"overwrite":{"default":false,"description":"Whether an existing destination may be replaced.","type":"boolean"},"snapshot_path":{"description":"Local filesystem path for snapshot.","minLength":1,"type":"string"}},"type":"object"},"kind":"session","name":"close_binary","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"result":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"entries":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"path":{"type":"string"}},"required":["path","bytes","entries"],"type":"object"}],"description":"Primary structured result returned by this operation."}},"required":["result"],"type":"object"},"requiresSession":true,"title":"Close Binary"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true},"description":"Report compact target, provider, and alignment state without starting analysis. The default summary is the routing check agents should use; detail=capabilities returns one family-filtered availability page, while detail=full is reserved for complete provider diagnostics.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":false,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"cursor":0,"detail":"summary","limit":25}],"properties":{"capability_family":{"description":"Optional tool family for detail=capabilities","enum":["official-proxy","enhanced","native-provider","artifact-provider","managed-provider","browser-provider","electron-provider","runtime-provider","application","session"],"type":"string"},"cursor":{"default":0,"description":"Zero-based capability cursor for detail=capabilities","maximum":9007199254740991,"minimum":0,"type":"integer"},"detail":{"default":"summary","description":"summary returns routing state; capabilities returns one filtered tool-availability page; full returns complete diagnostics only when required","enum":["summary","capabilities","full"],"type":"string"},"expected_catalog_digest":{"description":"Expected catalog digest used to reject stale or mismatched input.","pattern":"^[a-f0-9]{64}$","type":"string"},"expected_package_version":{"description":"Expected package version used to reject stale or mismatched input.","minLength":1,"type":"string"},"expected_server_path":{"description":"Expected server path used to reject stale or mismatched input.","minLength":1,"type":"string"},"limit":{"default":25,"description":"Maximum number of results to return in this page.","maximum":100,"minimum":1,"type":"integer"}},"type":"object"},"kind":"session","name":"binary_session","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema1"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"}]},"__schema2":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema2"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema2"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"result":{"anyOf":[{"additionalProperties":false,"properties":{"active_provider":{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},{"type":"null"}]},"alignment":{"additionalProperties":false,"properties":{"reasons":{"items":{"type":"string"},"type":"array"},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]},"state":{"enum":["aligned","mcp_server_restart_required","unknown"],"type":"string"}},"required":["state","reasons","remediation"],"type":"object"},"analysis_activity":{"additionalProperties":false,"properties":{"providers":{"items":{"additionalProperties":false,"properties":{"active":{"anyOf":[{"additionalProperties":false,"properties":{"caller_state":{"enum":["waiting","timed_out","cancelled"],"type":"string"},"elapsed_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"operation":{"minLength":1,"type":"string"},"request_id":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"timeout_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["request_id","operation","elapsed_ms","timeout_ms","caller_state"],"type":"object"},{"type":"null"}]},"provider":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"queued_requests":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["provider","active","queued_requests"],"type":"object"},"type":"array"},"status":{"enum":["not_observed","idle","busy","timed_out_busy"],"type":"string"}},"required":["status","providers"],"type":"object"},"open":{"type":"boolean"},"provider":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"recommended_actions":{"items":{"type":"string"},"type":"array"},"target":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map"],"type":"string"},"kind":{"enum":["executable","database","archive","artifact"],"type":"string"},"path":{"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["path","format","kind","sha256","architecture"],"type":"object"},{"type":"null"}]},"view":{"const":"summary","type":"string"}},"required":["view","open","provider","active_provider","target","alignment","analysis_activity","recommended_actions"],"type":"object"},{"additionalProperties":false,"properties":{"active_provider":{"anyOf":[{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},{"type":"null"}]},"capabilities":{"additionalProperties":false,"properties":{"cursor":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"has_more":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"annotations":{"additionalProperties":false,"properties":{"destructive":{"type":"boolean"},"idempotent":{"type":"boolean"},"open_world":{"type":"boolean"},"read_only":{"type":"boolean"}},"required":["read_only","destructive","idempotent","open_world"],"type":"object"},"available":{"type":"boolean"},"client_requirements":{"additionalProperties":false,"properties":{"missing_optional":{"items":{"enum":["elicitation_form","elicitation_url","roots","sampling"],"type":"string"},"type":"array"},"missing_required":{"items":{"enum":["elicitation_form","elicitation_url","roots","sampling"],"type":"string"},"type":"array"},"optional":{"items":{"enum":["elicitation_form","elicitation_url","roots","sampling"],"type":"string"},"type":"array"},"required":{"items":{"enum":["elicitation_form","elicitation_url","roots","sampling"],"type":"string"},"type":"array"}},"required":["required","optional","missing_required","missing_optional"],"type":"object"},"default_mode_available":{"type":"boolean"},"effects":{"additionalProperties":false,"properties":{"accessesNetwork":{"type":"boolean"},"changesUiState":{"type":"boolean"},"idempotent":{"type":"boolean"},"launchesProcess":{"type":"boolean"},"mayDiscardData":{"type":"boolean"},"mutatesSession":{"type":"boolean"},"mutatesTarget":{"type":"boolean"},"writesFilesystem":{"type":"boolean"}},"required":["mutatesTarget","mutatesSession","writesFilesystem","launchesProcess","accessesNetwork","changesUiState","mayDiscardData","idempotent"],"type":"object"},"modes":{"items":{"additionalProperties":false,"properties":{"available":{"type":"boolean"},"missing_operations":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","available","missing_operations","remediation"],"type":"object"},"type":"array"},"name":{"type":"string"},"reason":{"enum":["available","client_capability_missing","target_required","provider_missing","provider_unavailable","target_unsupported","unsupported_host","policy_disabled"],"type":"string"},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]},"surface":{"type":"string"}},"required":["name","surface","available","reason","remediation","client_requirements","effects","annotations"],"type":"object"},"type":"array"},"limit":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"next_cursor":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","cursor","limit","total","next_cursor","has_more"],"type":"object"},"capability_family":{"anyOf":[{"type":"string"},{"type":"null"}]},"client_features":{"additionalProperties":false,"properties":{"elicitation_form":{"type":"boolean"},"elicitation_url":{"type":"boolean"},"roots":{"type":"boolean"},"sampling":{"type":"boolean"}},"required":["elicitation_form","elicitation_url","roots","sampling"],"type":"object"},"open":{"type":"boolean"},"provider":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"view":{"const":"capabilities","type":"string"}},"required":["view","open","provider","active_provider","capability_family","capabilities","client_features"],"type":"object"},{"anyOf":[{"additionalProperties":false,"properties":{"analysis_activity":{"additionalProperties":false,"properties":{"providers":{"items":{"additionalProperties":false,"properties":{"active":{"anyOf":[{"additionalProperties":false,"properties":{"caller_state":{"enum":["waiting","timed_out","cancelled"],"type":"string"},"elapsed_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"operation":{"minLength":1,"type":"string"},"request_id":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"timeout_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["request_id","operation","elapsed_ms","timeout_ms","caller_state"],"type":"object"},{"type":"null"}]},"provider":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"queued_requests":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["provider","active","queued_requests"],"type":"object"},"type":"array"},"status":{"enum":["not_observed","idle","busy","timed_out_busy"],"type":"string"}},"required":["status","providers"],"type":"object"},"analysis_provider_binding":{"anyOf":[{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"properties":{"digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"provider":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"selection_source":{"enum":["request","environment","auto-single-candidate"],"type":"string"}},"required":["provider","selection_source","analysis_profile"],"type":"object"},{"type":"null"}]},"analysis_provider_candidates":{"items":{"additionalProperties":false,"properties":{"availability":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"type":"null"},"diagnostics":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"},"reason":{"type":"null"},"status":{"const":"available","type":"string"}},"required":["status","code","reason","diagnostics"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"],"type":"string"},"diagnostics":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"},"reason":{"minLength":1,"type":"string"},"status":{"const":"unavailable","type":"string"}},"required":["status","code","reason","diagnostics"],"type":"object"}]},"capabilities":{"items":{"additionalProperties":false,"properties":{"availability_code":{"anyOf":[{"enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"],"type":"string"},{"type":"null"}]},"available":{"type":"boolean"},"effects":{"additionalProperties":false,"properties":{"changes_permissions":{"type":"boolean"},"launches_process":{"type":"boolean"},"may_access_network":{"type":"boolean"},"may_show_ui":{"type":"boolean"},"may_write_filesystem":{"type":"boolean"},"mutates_artifact":{"type":"boolean"},"requires_root":{"type":"boolean"}},"required":["mutates_artifact","launches_process","may_show_ui","may_access_network","may_write_filesystem","changes_permissions","requires_root"],"type":"object"},"exhaustive":{"type":"boolean"},"input_contract_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"limitations":{"items":{"type":"string"},"type":"array"},"limits":{"additionalProperties":false,"properties":{"max_payload_bytes":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"max_results":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"timeout_ms":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["max_results","max_payload_bytes","timeout_ms"],"type":"object"},"operation":{"type":"string"},"output_contract_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"pagination":{"enum":["none","offset","cursor"],"type":"string"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["operation","available","reason","availability_code","input_contract_version","output_contract_version","pagination","exhaustive","effects","limits","limitations"],"type":"object"},"type":"array"},"provider":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"selected":{"type":"boolean"},"target_support":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"type":"null"},"diagnostics":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"},"reason":{"minLength":1,"type":"string"},"status":{"const":"unknown","type":"string"}},"required":["status","code","reason","diagnostics"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"type":"null"},"diagnostics":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"},"reason":{"type":"null"},"status":{"const":"supported","type":"string"}},"required":["status","code","reason","diagnostics"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"enum":["target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported"],"type":"string"},"diagnostics":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"},"reason":{"minLength":1,"type":"string"},"status":{"const":"unsupported","type":"string"}},"required":["status","code","reason","diagnostics"],"type":"object"}]}},"required":["provider","availability","target_support","selected","capabilities"],"type":"object"},"type":"array"},"analysis_run":{"anyOf":[{"additionalProperties":false,"properties":{"process_lineage":{"oneOf":[{"additionalProperties":false,"properties":{"status":{"const":"not_observed","type":"string"}},"required":["status"],"type":"object"},{"additionalProperties":false,"properties":{"snapshots":{"items":{"additionalProperties":false,"properties":{"observation":{"oneOf":[{"additionalProperties":false,"properties":{"launcher_pid":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"observed_at":{"format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"process_group_id":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"reason":{"minLength":1,"type":"string"},"status":{"const":"unavailable","type":"string"}},"required":["status","observed_at","launcher_pid","process_group_id","reason"],"type":"object"},{"additionalProperties":false,"properties":{"descendants":{"items":{"additionalProperties":false,"properties":{"parent_pid":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"pid":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"process_group_id":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["pid","parent_pid","process_group_id"],"type":"object"},"type":"array"},"launcher_parent_pid":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"launcher_pid":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"observed_at":{"format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"process_group_id":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"type":"number"},"status":{"const":"verified","type":"string"}},"required":["status","observed_at","schema_version","launcher_pid","process_group_id","launcher_parent_pid","descendants"],"type":"object"}]},"provider":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"}},"required":["provider","observation"],"type":"object"},"type":"array"},"status":{"const":"snapshots","type":"string"}},"required":["status","snapshots"],"type":"object"}]},"run_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["run_id","process_lineage"],"type":"object"},{"type":"null"}]},"capabilities":{"items":{"additionalProperties":false,"properties":{"availability_code":{"anyOf":[{"enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"],"type":"string"},{"type":"null"}]},"available":{"type":"boolean"},"effects":{"additionalProperties":false,"properties":{"changes_permissions":{"type":"boolean"},"launches_process":{"type":"boolean"},"may_access_network":{"type":"boolean"},"may_show_ui":{"type":"boolean"},"may_write_filesystem":{"type":"boolean"},"mutates_artifact":{"type":"boolean"},"requires_root":{"type":"boolean"}},"required":["mutates_artifact","launches_process","may_show_ui","may_access_network","may_write_filesystem","changes_permissions","requires_root"],"type":"object"},"exhaustive":{"type":"boolean"},"input_contract_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"limitations":{"items":{"type":"string"},"type":"array"},"limits":{"additionalProperties":false,"properties":{"max_payload_bytes":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"max_results":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"timeout_ms":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["max_results","max_payload_bytes","timeout_ms"],"type":"object"},"operation":{"type":"string"},"output_contract_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"pagination":{"enum":["none","offset","cursor"],"type":"string"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["operation","available","reason","availability_code","input_contract_version","output_contract_version","pagination","exhaustive","effects","limits","limitations"],"type":"object"},"type":"array"},"client_features":{"additionalProperties":false,"properties":{"elicitation_form":{"type":"boolean"},"elicitation_url":{"type":"boolean"},"roots":{"type":"boolean"},"sampling":{"type":"boolean"}},"required":["elicitation_form","elicitation_url","roots","sampling"],"type":"object"},"open":{"const":false,"type":"boolean"},"provider":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"providers":{"items":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"type":"array"},"server_identity":{"additionalProperties":false,"properties":{"alignment":{"additionalProperties":false,"properties":{"reasons":{"items":{"type":"string"},"type":"array"},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]},"state":{"enum":["aligned","mcp_server_restart_required","unknown"],"type":"string"}},"required":["state","reasons","remediation"],"type":"object"},"catalog":{"additionalProperties":{"$ref":"#/$defs/__schema2"},"propertyNames":{"type":"string"},"type":"object"},"client":{"anyOf":[{"additionalProperties":false,"properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"type":"object"},{"type":"null"}]},"negotiated_protocol_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"package":{"additionalProperties":false,"properties":{"build_commit":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"root_path":{"type":"string"},"version":{"type":"string"}},"required":["name","version","root_path","build_commit"],"type":"object"},"protocol_features":{"additionalProperties":false,"properties":{"cancellation":{"type":"boolean"},"elicitation":{"type":"boolean"},"evidence_resources":{"type":"boolean"},"progress":{"type":"boolean"}},"required":["progress","cancellation","evidence_resources","elicitation"],"type":"object"},"sdk":{"additionalProperties":false,"properties":{"client_test":{"type":"string"},"core":{"type":"string"},"server":{"type":"string"}},"required":["server","client_test","core"],"type":"object"},"server":{"additionalProperties":false,"properties":{"command_path":{"type":"string"},"name":{"type":"string"},"started_at":{"type":"string"},"version":{"type":"string"}},"required":["name","version","started_at","command_path"],"type":"object"},"skill":{"additionalProperties":false,"properties":{"expected_version":{"type":"string"},"name":{"type":"string"}},"required":["name","expected_version"],"type":"object"}},"required":["package","server","sdk","negotiated_protocol_version","client","skill","catalog","protocol_features","alignment"],"type":"object"},"tool_availability":{"items":{"additionalProperties":false,"properties":{"annotations":{"additionalProperties":false,"properties":{"destructive":{"type":"boolean"},"idempotent":{"type":"boolean"},"open_world":{"type":"boolean"},"read_only":{"type":"boolean"}},"required":["read_only","destructive","idempotent","open_world"],"type":"object"},"available":{"type":"boolean"},"client_requirements":{"additionalProperties":false,"properties":{"missing_optional":{"items":{"enum":["elicitation_form","elicitation_url","roots","sampling"],"type":"string"},"type":"array"},"missing_required":{"items":{"enum":["elicitation_form","elicitation_url","roots","sampling"],"type":"string"},"type":"array"},"optional":{"items":{"enum":["elicitation_form","elicitation_url","roots","sampling"],"type":"string"},"type":"array"},"required":{"items":{"enum":["elicitation_form","elicitation_url","roots","sampling"],"type":"string"},"type":"array"}},"required":["required","optional","missing_required","missing_optional"],"type":"object"},"default_mode_available":{"type":"boolean"},"effects":{"additionalProperties":false,"properties":{"accessesNetwork":{"type":"boolean"},"changesUiState":{"type":"boolean"},"idempotent":{"type":"boolean"},"launchesProcess":{"type":"boolean"},"mayDiscardData":{"type":"boolean"},"mutatesSession":{"type":"boolean"},"mutatesTarget":{"type":"boolean"},"writesFilesystem":{"type":"boolean"}},"required":["mutatesTarget","mutatesSession","writesFilesystem","launchesProcess","accessesNetwork","changesUiState","mayDiscardData","idempotent"],"type":"object"},"modes":{"items":{"additionalProperties":false,"properties":{"available":{"type":"boolean"},"missing_operations":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","available","missing_operations","remediation"],"type":"object"},"type":"array"},"name":{"type":"string"},"reason":{"enum":["available","client_capability_missing","target_required","provider_missing","provider_unavailable","target_unsupported","unsupported_host","policy_disabled"],"type":"string"},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]},"surface":{"type":"string"}},"required":["name","surface","available","reason","remediation","client_requirements","effects","annotations"],"type":"object"},"type":"array"},"view":{"const":"full","type":"string"}},"required":["provider","providers","capabilities","analysis_run","analysis_activity","analysis_provider_binding","analysis_provider_candidates","tool_availability","client_features","server_identity","view","open"],"type":"object"},{"additionalProperties":false,"properties":{"analysis_activity":{"additionalProperties":false,"properties":{"providers":{"items":{"additionalProperties":false,"properties":{"active":{"anyOf":[{"additionalProperties":false,"properties":{"caller_state":{"enum":["waiting","timed_out","cancelled"],"type":"string"},"elapsed_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"operation":{"minLength":1,"type":"string"},"request_id":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"timeout_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["request_id","operation","elapsed_ms","timeout_ms","caller_state"],"type":"object"},{"type":"null"}]},"provider":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"queued_requests":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["provider","active","queued_requests"],"type":"object"},"type":"array"},"status":{"enum":["not_observed","idle","busy","timed_out_busy"],"type":"string"}},"required":["status","providers"],"type":"object"},"analysis_provider_binding":{"anyOf":[{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"properties":{"digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"version":{"minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"provider":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"selection_source":{"enum":["request","environment","auto-single-candidate"],"type":"string"}},"required":["provider","selection_source","analysis_profile"],"type":"object"},{"type":"null"}]},"analysis_provider_candidates":{"items":{"additionalProperties":false,"properties":{"availability":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"type":"null"},"diagnostics":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"},"reason":{"type":"null"},"status":{"const":"available","type":"string"}},"required":["status","code","reason","diagnostics"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"],"type":"string"},"diagnostics":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"},"reason":{"minLength":1,"type":"string"},"status":{"const":"unavailable","type":"string"}},"required":["status","code","reason","diagnostics"],"type":"object"}]},"capabilities":{"items":{"additionalProperties":false,"properties":{"availability_code":{"anyOf":[{"enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"],"type":"string"},{"type":"null"}]},"available":{"type":"boolean"},"effects":{"additionalProperties":false,"properties":{"changes_permissions":{"type":"boolean"},"launches_process":{"type":"boolean"},"may_access_network":{"type":"boolean"},"may_show_ui":{"type":"boolean"},"may_write_filesystem":{"type":"boolean"},"mutates_artifact":{"type":"boolean"},"requires_root":{"type":"boolean"}},"required":["mutates_artifact","launches_process","may_show_ui","may_access_network","may_write_filesystem","changes_permissions","requires_root"],"type":"object"},"exhaustive":{"type":"boolean"},"input_contract_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"limitations":{"items":{"type":"string"},"type":"array"},"limits":{"additionalProperties":false,"properties":{"max_payload_bytes":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"max_results":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"timeout_ms":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["max_results","max_payload_bytes","timeout_ms"],"type":"object"},"operation":{"type":"string"},"output_contract_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"pagination":{"enum":["none","offset","cursor"],"type":"string"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["operation","available","reason","availability_code","input_contract_version","output_contract_version","pagination","exhaustive","effects","limits","limitations"],"type":"object"},"type":"array"},"provider":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"selected":{"type":"boolean"},"target_support":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"type":"null"},"diagnostics":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"},"reason":{"minLength":1,"type":"string"},"status":{"const":"unknown","type":"string"}},"required":["status","code","reason","diagnostics"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"type":"null"},"diagnostics":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"},"reason":{"type":"null"},"status":{"const":"supported","type":"string"}},"required":["status","code","reason","diagnostics"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"enum":["target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported"],"type":"string"},"diagnostics":{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"},"reason":{"minLength":1,"type":"string"},"status":{"const":"unsupported","type":"string"}},"required":["status","code","reason","diagnostics"],"type":"object"}]}},"required":["provider","availability","target_support","selected","capabilities"],"type":"object"},"type":"array"},"analysis_run":{"anyOf":[{"additionalProperties":false,"properties":{"process_lineage":{"oneOf":[{"additionalProperties":false,"properties":{"status":{"const":"not_observed","type":"string"}},"required":["status"],"type":"object"},{"additionalProperties":false,"properties":{"snapshots":{"items":{"additionalProperties":false,"properties":{"observation":{"oneOf":[{"additionalProperties":false,"properties":{"launcher_pid":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"observed_at":{"format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"process_group_id":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"reason":{"minLength":1,"type":"string"},"status":{"const":"unavailable","type":"string"}},"required":["status","observed_at","launcher_pid","process_group_id","reason"],"type":"object"},{"additionalProperties":false,"properties":{"descendants":{"items":{"additionalProperties":false,"properties":{"parent_pid":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"pid":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"process_group_id":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["pid","parent_pid","process_group_id"],"type":"object"},"type":"array"},"launcher_parent_pid":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"launcher_pid":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"observed_at":{"format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"process_group_id":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"type":"number"},"status":{"const":"verified","type":"string"}},"required":["status","observed_at","schema_version","launcher_pid","process_group_id","launcher_parent_pid","descendants"],"type":"object"}]},"provider":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"}},"required":["provider","observation"],"type":"object"},"type":"array"},"status":{"const":"snapshots","type":"string"}},"required":["status","snapshots"],"type":"object"}]},"run_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["run_id","process_lineage"],"type":"object"},{"type":"null"}]},"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}]},"capabilities":{"items":{"additionalProperties":false,"properties":{"availability_code":{"anyOf":[{"enum":["not_configured","executable_missing","runtime_missing","unsupported_host","unsupported_version","target_kind_unsupported","target_format_unsupported","architecture_unsupported","target_role_unsupported","managed_target_unsupported","open_options_invalid","version_unresolved"],"type":"string"},{"type":"null"}]},"available":{"type":"boolean"},"effects":{"additionalProperties":false,"properties":{"changes_permissions":{"type":"boolean"},"launches_process":{"type":"boolean"},"may_access_network":{"type":"boolean"},"may_show_ui":{"type":"boolean"},"may_write_filesystem":{"type":"boolean"},"mutates_artifact":{"type":"boolean"},"requires_root":{"type":"boolean"}},"required":["mutates_artifact","launches_process","may_show_ui","may_access_network","may_write_filesystem","changes_permissions","requires_root"],"type":"object"},"exhaustive":{"type":"boolean"},"input_contract_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"limitations":{"items":{"type":"string"},"type":"array"},"limits":{"additionalProperties":false,"properties":{"max_payload_bytes":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"max_results":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"timeout_ms":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["max_results","max_payload_bytes","timeout_ms"],"type":"object"},"operation":{"type":"string"},"output_contract_version":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"pagination":{"enum":["none","offset","cursor"],"type":"string"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["operation","available","reason","availability_code","input_contract_version","output_contract_version","pagination","exhaustive","effects","limits","limitations"],"type":"object"},"type":"array"},"client_features":{"additionalProperties":false,"properties":{"elicitation_form":{"type":"boolean"},"elicitation_url":{"type":"boolean"},"roots":{"type":"boolean"},"sampling":{"type":"boolean"}},"required":["elicitation_form","elicitation_url","roots","sampling"],"type":"object"},"format":{"enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map"],"type":"string"},"kind":{"enum":["executable","database","archive","artifact"],"type":"string"},"open":{"const":true,"type":"boolean"},"path":{"type":"string"},"provider":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"providers":{"items":{"additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","name","version"],"type":"object"},"type":"array"},"server_identity":{"additionalProperties":false,"properties":{"alignment":{"additionalProperties":false,"properties":{"reasons":{"items":{"type":"string"},"type":"array"},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]},"state":{"enum":["aligned","mcp_server_restart_required","unknown"],"type":"string"}},"required":["state","reasons","remediation"],"type":"object"},"catalog":{"additionalProperties":{"$ref":"#/$defs/__schema2"},"propertyNames":{"type":"string"},"type":"object"},"client":{"anyOf":[{"additionalProperties":false,"properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"type":"object"},{"type":"null"}]},"negotiated_protocol_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"package":{"additionalProperties":false,"properties":{"build_commit":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"root_path":{"type":"string"},"version":{"type":"string"}},"required":["name","version","root_path","build_commit"],"type":"object"},"protocol_features":{"additionalProperties":false,"properties":{"cancellation":{"type":"boolean"},"elicitation":{"type":"boolean"},"evidence_resources":{"type":"boolean"},"progress":{"type":"boolean"}},"required":["progress","cancellation","evidence_resources","elicitation"],"type":"object"},"sdk":{"additionalProperties":false,"properties":{"client_test":{"type":"string"},"core":{"type":"string"},"server":{"type":"string"}},"required":["server","client_test","core"],"type":"object"},"server":{"additionalProperties":false,"properties":{"command_path":{"type":"string"},"name":{"type":"string"},"started_at":{"type":"string"},"version":{"type":"string"}},"required":["name","version","started_at","command_path"],"type":"object"},"skill":{"additionalProperties":false,"properties":{"expected_version":{"type":"string"},"name":{"type":"string"}},"required":["name","expected_version"],"type":"object"}},"required":["package","server","sdk","negotiated_protocol_version","client","skill","catalog","protocol_features","alignment"],"type":"object"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"tool_availability":{"items":{"additionalProperties":false,"properties":{"annotations":{"additionalProperties":false,"properties":{"destructive":{"type":"boolean"},"idempotent":{"type":"boolean"},"open_world":{"type":"boolean"},"read_only":{"type":"boolean"}},"required":["read_only","destructive","idempotent","open_world"],"type":"object"},"available":{"type":"boolean"},"client_requirements":{"additionalProperties":false,"properties":{"missing_optional":{"items":{"enum":["elicitation_form","elicitation_url","roots","sampling"],"type":"string"},"type":"array"},"missing_required":{"items":{"enum":["elicitation_form","elicitation_url","roots","sampling"],"type":"string"},"type":"array"},"optional":{"items":{"enum":["elicitation_form","elicitation_url","roots","sampling"],"type":"string"},"type":"array"},"required":{"items":{"enum":["elicitation_form","elicitation_url","roots","sampling"],"type":"string"},"type":"array"}},"required":["required","optional","missing_required","missing_optional"],"type":"object"},"default_mode_available":{"type":"boolean"},"effects":{"additionalProperties":false,"properties":{"accessesNetwork":{"type":"boolean"},"changesUiState":{"type":"boolean"},"idempotent":{"type":"boolean"},"launchesProcess":{"type":"boolean"},"mayDiscardData":{"type":"boolean"},"mutatesSession":{"type":"boolean"},"mutatesTarget":{"type":"boolean"},"writesFilesystem":{"type":"boolean"}},"required":["mutatesTarget","mutatesSession","writesFilesystem","launchesProcess","accessesNetwork","changesUiState","mayDiscardData","idempotent"],"type":"object"},"modes":{"items":{"additionalProperties":false,"properties":{"available":{"type":"boolean"},"missing_operations":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","available","missing_operations","remediation"],"type":"object"},"type":"array"},"name":{"type":"string"},"reason":{"enum":["available","client_capability_missing","target_required","provider_missing","provider_unavailable","target_unsupported","unsupported_host","policy_disabled"],"type":"string"},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}]},"surface":{"type":"string"}},"required":["name","surface","available","reason","remediation","client_requirements","effects","annotations"],"type":"object"},"type":"array"},"view":{"const":"full","type":"string"}},"required":["provider","providers","capabilities","analysis_run","analysis_activity","analysis_provider_binding","analysis_provider_candidates","tool_availability","client_features","server_identity","view","open","path","format","kind","sha256","architecture"],"type":"object"}]}],"description":"Primary structured result returned by this operation."}},"required":["result"],"type":"object"},"requiresSession":true,"title":"Binary Session"},{"analysisOperation":null,"annotations":{"destructiveHint":true,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Atomically write the session\'s deterministic Evidence v2 bundle beneath an operator-approved root. Existing files require overwrite: true; records and manifests use canonical byte-stable ordering. For an in-session read, use snapshot_evidence_bundle and read its exact resource URI instead.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":true,"mutatesSession":false,"mutatesTarget":false,"writesFilesystem":true},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"overwrite":false,"path":"/tmp/evidence.json"}],"properties":{"overwrite":{"default":false,"description":"Whether an existing destination may be replaced.","type":"boolean"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["path"],"type":"object"},"kind":"session","name":"export_evidence_bundle","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"path":{"type":"string"},"records":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknowns":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["path","bytes","records","unknowns"],"type":"object"}},"required":["result"],"type":"object"},"requiresSession":true,"title":"Export Evidence Bundle"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Read a bounded local JSON bundle beneath an operator-approved root, validate every Evidence v2 ID and canonical manifest, then atomically merge it. Imported content is data only and is never executed.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"path":"evidence.json"}],"properties":{"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["path"],"type":"object"},"kind":"session","name":"import_evidence_bundle","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"imported":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknowns_added":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["imported","unknowns_added","total"],"type":"object"}},"required":["result"],"type":"object"},"requiresSession":true,"title":"Import Evidence Bundle"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false},"description":"Run one bounded process under a PTY using operator-approved executable and working roots. Produces Process Capture v4; legacy v3 captures cannot be upgraded and must be recaptured with this tool. Requires approved: true; unknown_registry_approved: true separately records capture residuals. Captures raw and xterm-rendered terminal frames, scripted interactions, lifecycle filesystem checkpoints, process ownership, declarative command shims, and loopback replay. Disabled unless operator policy enables it; not a security sandbox.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":false,"launchesProcess":true,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":true},"inputSchema":{"$defs":{"__schema0":{"oneOf":[{"additionalProperties":false,"properties":{"cardinality":{"additionalProperties":false,"description":"Value for cardinality.","properties":{"max":{"description":"Value for max.","exclusiveMinimum":0,"maximum":256,"type":"integer"},"min":{"description":"Value for min.","exclusiveMinimum":0,"maximum":256,"type":"integer"}},"required":["min","max"],"type":"object"},"consume":{"description":"Value for consume.","type":"boolean"},"exact":{"$ref":"#/$defs/__schema1","description":"Value for exact."},"ignore_fields":{"description":"Value for ignore fields.","items":{"enum":["sequence","at_ms","scheduled_at_ms","dispatched_at_ms","elapsed_ms"],"type":"string"},"maxItems":5,"type":"array"},"kind":{"const":"event","description":"Value for kind.","type":"string"},"since":{"description":"Value for since.","oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"scenario_start","description":"Value for kind.","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"state_entry","description":"Value for kind.","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"checkpoint","description":"Value for kind.","type":"string"},"name":{"description":"Exact name used by this operation.","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$","type":"string"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"event_id":{"description":"Value for event id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"kind":{"const":"event_id","description":"Value for kind.","type":"string"}},"required":["kind","event_id"],"type":"object"}]},"source":{"description":"Value for source.","enum":["terminal_raw","terminal_rendered","interaction","lifecycle","process","filesystem","http","websocket","shim","replay_transition"],"type":"string"}},"required":["kind","source","exact","ignore_fields","since","consume","cardinality"],"type":"object"},{"additionalProperties":false,"properties":{"case_sensitive":{"const":true,"description":"Whether text matching distinguishes uppercase and lowercase.","type":"boolean"},"consume":{"description":"Value for consume.","type":"boolean"},"control_sequences":{"const":"include","description":"Value for control sequences.","type":"string"},"encoding":{"const":"utf8","description":"Value for encoding.","type":"string"},"kind":{"const":"terminal_text","description":"Value for kind.","type":"string"},"literal":{"description":"Value for literal.","maxLength":10000,"minLength":1,"type":"string"},"occurrence":{"description":"Value for occurrence.","exclusiveMinimum":0,"maximum":1000,"type":"integer"},"since":{"description":"Value for since.","oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"scenario_start","description":"Value for kind.","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"state_entry","description":"Value for kind.","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"checkpoint","description":"Value for kind.","type":"string"},"name":{"description":"Exact name used by this operation.","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$","type":"string"}},"required":["kind","name"],"type":"object"},{"additionalProperties":false,"properties":{"event_id":{"description":"Value for event id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"kind":{"const":"event_id","description":"Value for kind.","type":"string"}},"required":["kind","event_id"],"type":"object"}]},"view":{"const":"decoded","description":"Value for view.","type":"string"}},"required":["kind","view","encoding","literal","case_sensitive","control_sequences","occurrence","since","consume"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"all","description":"Value for kind.","type":"string"},"triggers":{"description":"Value for triggers.","items":{"$ref":"#/$defs/__schema0"},"maxItems":16,"minItems":2,"type":"array"}},"required":["kind","triggers"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"any","description":"Value for kind.","type":"string"},"triggers":{"description":"Value for triggers.","items":{"$ref":"#/$defs/__schema0"},"maxItems":16,"minItems":2,"type":"array"}},"required":["kind","triggers"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"sequence","description":"Value for kind.","type":"string"},"triggers":{"description":"Value for triggers.","items":{"$ref":"#/$defs/__schema0"},"maxItems":16,"minItems":1,"type":"array"}},"required":["kind","triggers"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"repeat","description":"Value for kind.","type":"string"},"max":{"description":"Value for max.","exclusiveMinimum":0,"maximum":64,"type":"integer"},"min":{"description":"Value for min.","exclusiveMinimum":0,"maximum":64,"type":"integer"},"trigger":{"$ref":"#/$defs/__schema0","description":"Value for trigger."}},"required":["kind","trigger","min","max"],"type":"object"}]},"__schema1":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema1"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema1"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"approved":true,"arguments":[],"checkpoints":[],"command_shims":[],"environment":{},"events":[],"executable":"/usr/bin/true","filesystem_roots":[],"idle_timeout_ms":30000,"inherit_environment":[],"limits":{"connections":100,"file_bytes":10000000,"files":10000,"filesystem_depth":16,"frames":10000,"output_bytes":1000000,"processes":1000,"protocol_body_bytes":1000000,"protocol_events":10000},"network_access":"host","normalization":{"paths":true,"patterns":[],"pids":true,"ports":true,"time_bucket_ms":10},"reactive":null,"replay":{"http":[],"machine":null,"websocket_connections":[],"websocket_messages":[]},"secret_aliases":[],"settle_ms":100,"terminal":{"columns":80,"rows":24,"scrollback":1000},"timeout_ms":30000,"working_directory":"/tmp"}],"properties":{"approved":{"const":true,"description":"Explicit per-call acknowledgement that this operation launches the target","type":"boolean"},"arguments":{"default":[],"description":"Value for arguments.","items":{"type":"string"},"maxItems":256,"type":"array"},"checkpoints":{"default":[],"description":"Value for checkpoints.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$","type":"string"},"trigger":{"description":"Value for trigger.","oneOf":[{"additionalProperties":false,"properties":{"at_ms":{"description":"Value for at ms.","maximum":300000,"minimum":0,"type":"integer"},"type":{"const":"time","description":"Value for type.","type":"string"}},"required":["type","at_ms"],"type":"object"},{"additionalProperties":false,"properties":{"occurrence":{"default":1,"description":"Value for occurrence.","exclusiveMinimum":0,"maximum":1000,"type":"integer"},"type":{"const":"terminal_literal","description":"Value for type.","type":"string"},"value":{"description":"Value for value.","maxLength":10000,"minLength":1,"type":"string"}},"required":["type","value"],"type":"object"},{"additionalProperties":false,"properties":{"type":{"const":"root_exit","description":"Value for type.","type":"string"}},"required":["type"],"type":"object"},{"additionalProperties":false,"properties":{"type":{"const":"settled","description":"Value for type.","type":"string"}},"required":["type"],"type":"object"}]}},"required":["name","trigger"],"type":"object"},"maxItems":64,"type":"array"},"command_shims":{"default":[],"description":"Value for command shims.","items":{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","pattern":"^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$","type":"string"},"routes":{"description":"Value for routes.","items":{"additionalProperties":false,"properties":{"arguments":{"description":"Value for arguments.","items":{"type":"string"},"maxItems":256,"type":"array"},"max_calls":{"default":1,"description":"Maximum permitted calls for this operation.","exclusiveMinimum":0,"maximum":100,"type":"integer"},"outputs":{"default":[],"description":"Value for outputs.","items":{"additionalProperties":false,"properties":{"at_ms":{"description":"Value for at ms.","maximum":300000,"minimum":0,"type":"integer"},"data":{"description":"Value for data.","maxLength":1000000,"type":"string"},"stream":{"description":"Value for stream.","enum":["stdout","stderr"],"type":"string"}},"required":["at_ms","stream","data"],"type":"object"},"maxItems":1000,"type":"array"},"termination":{"description":"Value for termination.","oneOf":[{"additionalProperties":false,"properties":{"code":{"description":"Value for code.","maximum":255,"minimum":0,"type":"integer"},"type":{"const":"exit","description":"Value for type.","type":"string"}},"required":["type","code"],"type":"object"},{"additionalProperties":false,"properties":{"signal":{"description":"Value for signal.","enum":["SIGINT","SIGTERM","SIGKILL"],"type":"string"},"type":{"const":"signal","description":"Value for type.","type":"string"}},"required":["type","signal"],"type":"object"}]}},"required":["arguments","termination"],"type":"object"},"maxItems":100,"minItems":1,"type":"array"}},"required":["name","routes"],"type":"object"},"maxItems":32,"type":"array"},"environment":{"additionalProperties":{"type":"string"},"default":{},"description":"Value for environment.","propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_]*$","type":"string"},"type":"object"},"events":{"default":[],"description":"Value for events.","items":{"oneOf":[{"additionalProperties":false,"properties":{"at_ms":{"description":"Value for at ms.","maximum":9007199254740991,"minimum":0,"type":"integer"},"data":{"description":"Value for data.","type":"string"},"sensitive":{"default":false,"description":"Value for sensitive.","type":"boolean"},"type":{"const":"input","description":"Value for type.","type":"string"}},"required":["at_ms","type","data"],"type":"object"},{"additionalProperties":false,"properties":{"at_ms":{"description":"Value for at ms.","maximum":9007199254740991,"minimum":0,"type":"integer"},"columns":{"description":"Value for columns.","maximum":1000,"minimum":1,"type":"integer"},"rows":{"description":"Value for rows.","maximum":1000,"minimum":1,"type":"integer"},"type":{"const":"resize","description":"Value for type.","type":"string"}},"required":["at_ms","type","columns","rows"],"type":"object"},{"additionalProperties":false,"properties":{"at_ms":{"description":"Value for at ms.","maximum":9007199254740991,"minimum":0,"type":"integer"},"signal":{"description":"Value for signal.","enum":["SIGINT","SIGTERM","SIGKILL"],"type":"string"},"type":{"const":"signal","description":"Value for type.","type":"string"}},"required":["at_ms","type","signal"],"type":"object"}]},"maxItems":1000,"type":"array"},"executable":{"description":"Approved absolute path of the executable to run.","pattern":"^\\\\/.*","type":"string"},"filesystem_roots":{"default":[],"description":"Approved canonical filesystem filesystem roots.","items":{"pattern":"^\\\\/.*","type":"string"},"maxItems":16,"type":"array"},"idle_timeout_ms":{"default":30000,"description":"Value for idle timeout ms.","exclusiveMinimum":0,"maximum":300000,"type":"integer"},"inherit_environment":{"default":[],"description":"Value for inherit environment.","items":{"pattern":"^[A-Za-z_][A-Za-z0-9_]*$","type":"string"},"maxItems":64,"type":"array"},"limits":{"additionalProperties":false,"default":{"connections":100,"file_bytes":10000000,"files":10000,"filesystem_depth":16,"frames":10000,"output_bytes":1000000,"processes":1000,"protocol_body_bytes":1000000,"protocol_events":10000},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"connections":{"default":100,"description":"Value for connections.","exclusiveMinimum":0,"maximum":1000,"type":"integer"},"file_bytes":{"default":10000000,"description":"Bounded byte count for file.","exclusiveMinimum":0,"maximum":100000000,"type":"integer"},"files":{"default":10000,"description":"Value for files.","exclusiveMinimum":0,"maximum":100000,"type":"integer"},"filesystem_depth":{"default":16,"description":"Value for filesystem depth.","maximum":64,"minimum":1,"type":"integer"},"frames":{"default":10000,"description":"Value for frames.","exclusiveMinimum":0,"maximum":100000,"type":"integer"},"output_bytes":{"default":1000000,"description":"Bounded byte count for output.","exclusiveMinimum":0,"maximum":10000000,"type":"integer"},"processes":{"default":1000,"description":"Value for processes.","exclusiveMinimum":0,"maximum":10000,"type":"integer"},"protocol_body_bytes":{"default":1000000,"description":"Bounded byte count for protocol body.","exclusiveMinimum":0,"maximum":10000000,"type":"integer"},"protocol_events":{"default":10000,"description":"Value for protocol events.","exclusiveMinimum":0,"maximum":100000,"type":"integer"}},"type":"object"},"network_access":{"const":"host","default":"host","description":"Value for network access.","type":"string"},"normalization":{"additionalProperties":false,"default":{"paths":true,"patterns":[],"pids":true,"ports":true,"time_bucket_ms":10},"description":"Value for normalization.","properties":{"paths":{"default":true,"description":"Value for paths.","type":"boolean"},"patterns":{"default":[],"description":"Value for patterns.","items":{"additionalProperties":false,"properties":{"pattern":{"description":"Text or bounded pattern used to filter matching results.","maxLength":500,"type":"string"},"replacement":{"description":"Value for replacement.","maxLength":100,"type":"string"}},"required":["pattern","replacement"],"type":"object"},"maxItems":32,"type":"array"},"pids":{"default":true,"description":"Value for pids.","type":"boolean"},"ports":{"default":true,"description":"Value for ports.","type":"boolean"},"time_bucket_ms":{"default":10,"description":"Value for time bucket ms.","exclusiveMinimum":0,"maximum":60000,"type":"integer"}},"type":"object"},"reactive":{"anyOf":[{"additionalProperties":false,"properties":{"deadline_ms":{"description":"Value for deadline ms.","exclusiveMinimum":0,"maximum":300000,"type":"integer"},"initial_state":{"description":"Value for initial state.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"states":{"description":"Value for states.","items":{"additionalProperties":false,"properties":{"deadline_ms":{"description":"Value for deadline ms.","exclusiveMinimum":0,"maximum":300000,"type":"integer"},"id":{"description":"Value for id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"max_visits":{"description":"Maximum permitted visits for this operation.","exclusiveMinimum":0,"maximum":256,"type":"integer"},"on":{"description":"Value for on.","items":{"additionalProperties":false,"properties":{"actions":{"description":"Value for actions.","items":{"oneOf":[{"additionalProperties":false,"properties":{"data":{"description":"Value for data.","maxLength":1000000,"type":"string"},"sensitive":{"description":"Value for sensitive.","type":"boolean"},"type":{"const":"send_input","description":"Value for type.","type":"string"}},"required":["type","data","sensitive"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"description":"Value for columns.","maximum":1000,"minimum":1,"type":"integer"},"rows":{"description":"Value for rows.","maximum":1000,"minimum":1,"type":"integer"},"type":{"const":"resize","description":"Value for type.","type":"string"}},"required":["type","columns","rows"],"type":"object"},{"additionalProperties":false,"properties":{"type":{"const":"close_stdin","description":"Value for type.","type":"string"}},"required":["type"],"type":"object"},{"additionalProperties":false,"properties":{"signal":{"description":"Value for signal.","enum":["SIGINT","SIGTERM","SIGKILL"],"type":"string"},"target":{"description":"Value for target.","oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"root","description":"Value for kind.","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"process_group","description":"Value for kind.","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"subject_id","description":"Value for kind.","type":"string"},"subject_id":{"description":"Value for subject id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"}},"required":["kind","subject_id"],"type":"object"}]},"type":{"const":"send_signal","description":"Value for type.","type":"string"}},"required":["type","target","signal"],"type":"object"},{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$","type":"string"},"type":{"const":"checkpoint","description":"Value for type.","type":"string"}},"required":["type","name"],"type":"object"}]},"maxItems":16,"type":"array"},"id":{"description":"Value for id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"max_uses":{"description":"Maximum permitted uses for this operation.","exclusiveMinimum":0,"maximum":256,"type":"integer"},"priority":{"description":"Value for priority.","maximum":1000,"minimum":0,"type":"integer"},"target":{"description":"Value for target.","oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"goto","description":"Value for kind.","type":"string"},"state":{"description":"Value for state.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"}},"required":["kind","state"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"finish","description":"Value for kind.","type":"string"},"outcome":{"const":"passed","description":"Value for outcome.","type":"string"}},"required":["kind","outcome"],"type":"object"}]},"when":{"$ref":"#/$defs/__schema0","description":"Value for when."}},"required":["id","priority","max_uses","when","actions","target"],"type":"object"},"maxItems":128,"minItems":1,"type":"array"}},"required":["id","max_visits","deadline_ms","on"],"type":"object"},"maxItems":32,"minItems":1,"type":"array"},"version":{"const":1,"description":"Value for version.","type":"number"}},"required":["version","initial_state","deadline_ms","states"],"type":"object"},{"type":"null"}],"description":"Value for reactive."},"replay":{"additionalProperties":false,"description":"Value for replay.","properties":{"http":{"default":[],"description":"Value for http.","items":{"additionalProperties":false,"properties":{"body":{"description":"Value for body.","maxLength":1000000,"type":"string"},"delay_ms":{"default":0,"description":"Value for delay ms.","maximum":30000,"minimum":0,"type":"integer"},"disconnect":{"default":false,"description":"Value for disconnect.","type":"boolean"},"max_calls":{"default":1,"description":"Maximum permitted calls for this operation.","maximum":100,"minimum":1,"type":"integer"},"method":{"description":"Value for method.","maxLength":16,"type":"string"},"path":{"description":"Local filesystem path used by this operation.","pattern":"^\\\\/.*","type":"string"},"request_body":{"description":"Value for request body.","maxLength":1000000,"type":"string"},"request_headers":{"additionalProperties":{"type":"string"},"default":{},"description":"Value for request headers.","propertyNames":{"type":"string"},"type":"object"},"response_headers":{"additionalProperties":{"type":"string"},"default":{},"description":"Value for response headers.","propertyNames":{"type":"string"},"type":"object"},"status":{"description":"Current lifecycle or verification status.","maximum":599,"minimum":100,"type":"integer"}},"required":["method","path","status","body"],"type":"object"},"maxItems":100,"type":"array"},"machine":{"anyOf":[{"additionalProperties":false,"properties":{"initial_state":{"description":"Value for initial state.","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"},"limits":{"additionalProperties":false,"default":{"bytes":1000000,"connections":100,"duration_ms":30000,"messages":10000},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"bytes":{"default":1000000,"description":"Value for bytes.","maximum":10000000,"minimum":1,"type":"integer"},"connections":{"default":100,"description":"Value for connections.","maximum":1000,"minimum":1,"type":"integer"},"duration_ms":{"default":30000,"description":"Value for duration ms.","maximum":300000,"minimum":1,"type":"integer"},"messages":{"default":10000,"description":"Value for messages.","maximum":100000,"minimum":1,"type":"integer"}},"type":"object"},"max_transitions":{"description":"Maximum permitted transitions for this operation.","maximum":100000,"minimum":1,"type":"integer"},"states":{"description":"Value for states.","items":{"additionalProperties":false,"properties":{"max_visits":{"default":100000,"description":"Maximum permitted visits for this operation.","maximum":100000,"minimum":1,"type":"integer"},"name":{"description":"Exact name used by this operation.","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"},"terminal":{"default":false,"description":"Value for terminal.","type":"boolean"}},"required":["name"],"type":"object"},"maxItems":256,"minItems":1,"type":"array"},"transitions":{"description":"Value for transitions.","items":{"additionalProperties":false,"properties":{"actions":{"description":"Value for actions.","items":{"oneOf":[{"additionalProperties":false,"properties":{"body":{"description":"Value for body.","maxLength":1000000,"type":"string"},"headers":{"additionalProperties":{"maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$","type":"string"},"default":{},"description":"Value for headers.","propertyNames":{"maxLength":256,"minLength":1,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"type":"object"},"status":{"description":"Current lifecycle or verification status.","maximum":599,"minimum":100,"type":"integer"},"type":{"const":"http_response","description":"Value for type.","type":"string"}},"required":["type","status","body"],"type":"object"},{"additionalProperties":false,"properties":{"data":{"description":"Value for data.","maxLength":1000000,"type":"string"},"type":{"const":"websocket_send","description":"Value for type.","type":"string"}},"required":["type","data"],"type":"object"},{"additionalProperties":false,"properties":{"type":{"const":"disconnect","description":"Value for type.","type":"string"}},"required":["type"],"type":"object"},{"additionalProperties":false,"properties":{"duration_ms":{"description":"Value for duration ms.","maximum":30000,"minimum":0,"type":"integer"},"type":{"const":"delay","description":"Value for type.","type":"string"}},"required":["type","duration_ms"],"type":"object"}]},"maxItems":32,"minItems":1,"type":"array"},"captures":{"description":"Value for captures.","items":{"additionalProperties":false,"properties":{"sensitive":{"default":false,"description":"Value for sensitive.","type":"boolean"},"value":{"description":"Value for value.","oneOf":[{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"source":{"const":"request_header","description":"Value for source.","type":"string"}},"required":["source","name"],"type":"object"},{"additionalProperties":false,"properties":{"path":{"description":"Local filesystem path used by this operation.","items":{"anyOf":[{"maxLength":256,"type":"string"},{"maximum":9007199254740991,"minimum":0,"type":"integer"}]},"maxItems":32,"type":"array"},"source":{"const":"request_json","description":"Value for source.","type":"string"}},"required":["source","path"],"type":"object"},{"additionalProperties":false,"properties":{"path":{"description":"Local filesystem path used by this operation.","items":{"anyOf":[{"maxLength":256,"type":"string"},{"maximum":9007199254740991,"minimum":0,"type":"integer"}]},"maxItems":32,"type":"array"},"source":{"const":"websocket_json","description":"Value for source.","type":"string"}},"required":["source","path"],"type":"object"},{"additionalProperties":false,"properties":{"path":{"description":"Local filesystem path used by this operation.","items":{"anyOf":[{"maxLength":256,"type":"string"},{"maximum":9007199254740991,"minimum":0,"type":"integer"}]},"maxItems":32,"type":"array"},"source":{"const":"action_json","description":"Value for source.","type":"string"}},"required":["source","path"],"type":"object"}]},"variable":{"description":"Value for variable.","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"}},"required":["variable","value"],"type":"object"},"maxItems":32,"type":"array"},"from":{"description":"Value for from.","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"},"guards":{"description":"Value for guards.","items":{"additionalProperties":false,"properties":{"value":{"description":"Value for value.","oneOf":[{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"source":{"const":"request_header","description":"Value for source.","type":"string"}},"required":["source","name"],"type":"object"},{"additionalProperties":false,"properties":{"path":{"description":"Local filesystem path used by this operation.","items":{"anyOf":[{"maxLength":256,"type":"string"},{"maximum":9007199254740991,"minimum":0,"type":"integer"}]},"maxItems":32,"type":"array"},"source":{"const":"request_json","description":"Value for source.","type":"string"}},"required":["source","path"],"type":"object"},{"additionalProperties":false,"properties":{"path":{"description":"Local filesystem path used by this operation.","items":{"anyOf":[{"maxLength":256,"type":"string"},{"maximum":9007199254740991,"minimum":0,"type":"integer"}]},"maxItems":32,"type":"array"},"source":{"const":"websocket_json","description":"Value for source.","type":"string"}},"required":["source","path"],"type":"object"},{"additionalProperties":false,"properties":{"path":{"description":"Local filesystem path used by this operation.","items":{"anyOf":[{"maxLength":256,"type":"string"},{"maximum":9007199254740991,"minimum":0,"type":"integer"}]},"maxItems":32,"type":"array"},"source":{"const":"action_json","description":"Value for source.","type":"string"}},"required":["source","path"],"type":"object"}]},"variable":{"description":"Value for variable.","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"}},"required":["variable","value"],"type":"object"},"maxItems":32,"type":"array"},"id":{"description":"Value for id.","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"},"max_uses":{"description":"Maximum permitted uses for this operation.","maximum":10000,"minimum":1,"type":"integer"},"priority":{"default":100,"description":"Value for priority.","maximum":1000,"minimum":0,"type":"integer"},"to":{"description":"Value for to.","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"},"trigger":{"description":"Value for trigger.","oneOf":[{"additionalProperties":false,"properties":{"body":{"anyOf":[{"maxLength":1000000,"type":"string"},{"type":"null"}],"default":null,"description":"Value for body."},"headers":{"additionalProperties":{"maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$","type":"string"},"description":"Value for headers.","propertyNames":{"maxLength":256,"minLength":1,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"type":"object"},"method":{"description":"Value for method.","maxLength":16,"minLength":1,"type":"string"},"path":{"description":"Local filesystem path used by this operation.","pattern":"^\\\\/.*","type":"string"},"protocol":{"const":"http","description":"Value for protocol.","type":"string"}},"required":["protocol","method","path"],"type":"object"},{"additionalProperties":false,"properties":{"headers":{"additionalProperties":{"maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$","type":"string"},"description":"Value for headers.","propertyNames":{"maxLength":256,"minLength":1,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"type":"object"},"path":{"description":"Local filesystem path used by this operation.","pattern":"^\\\\/.*","type":"string"},"protocol":{"const":"websocket_connect","description":"Value for protocol.","type":"string"}},"required":["protocol","path"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"anyOf":[{"maxLength":1000000,"type":"string"},{"type":"null"}],"default":null,"description":"Value for body."},"path":{"description":"Local filesystem path used by this operation.","pattern":"^\\\\/.*","type":"string"},"protocol":{"const":"websocket_message","description":"Value for protocol.","type":"string"}},"required":["protocol","path"],"type":"object"}]}},"required":["id","from","to","trigger","actions","max_uses"],"type":"object"},"maxItems":2000,"minItems":1,"type":"array"}},"required":["initial_state","states","transitions","max_transitions"],"type":"object"},{"type":"null"}],"description":"Value for machine."},"websocket_connections":{"default":[],"description":"Value for websocket connections.","items":{"additionalProperties":false,"properties":{"disconnect_after":{"default":false,"description":"Value for disconnect after.","type":"boolean"},"messages":{"description":"Value for messages.","items":{"additionalProperties":false,"properties":{"data":{"description":"Value for data.","maxLength":1000000,"type":"string"},"delay_ms":{"default":0,"description":"Value for delay ms.","maximum":30000,"minimum":0,"type":"integer"}},"required":["data"],"type":"object"},"maxItems":100,"type":"array"}},"required":["messages"],"type":"object"},"maxItems":100,"type":"array"},"websocket_messages":{"default":[],"description":"Value for websocket messages.","items":{"maxLength":1000000,"type":"string"},"maxItems":100,"type":"array"}},"type":"object"},"secret_aliases":{"default":[],"description":"Value for secret aliases.","items":{"pattern":"^[A-Za-z_][A-Za-z0-9_]*$","type":"string"},"maxItems":64,"type":"array"},"settle_ms":{"default":100,"description":"Value for settle ms.","maximum":10000,"minimum":0,"type":"integer"},"terminal":{"additionalProperties":false,"default":{"columns":80,"rows":24,"scrollback":1000},"description":"Value for terminal.","properties":{"columns":{"default":80,"description":"Value for columns.","maximum":1000,"minimum":1,"type":"integer"},"rows":{"default":24,"description":"Value for rows.","maximum":1000,"minimum":1,"type":"integer"},"scrollback":{"default":1000,"description":"Value for scrollback.","maximum":10000,"minimum":0,"type":"integer"}},"type":"object"},"timeout_ms":{"default":30000,"description":"Value for timeout ms.","exclusiveMinimum":0,"maximum":300000,"type":"integer"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record capture residuals durably","type":"boolean"},"working_directory":{"description":"Value for working directory.","pattern":"^\\\\/.*","type":"string"}},"required":["approved","executable","working_directory"],"type":"object"},"kind":"session","name":"capture_process_scenario","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"cleanup":{"additionalProperties":false,"properties":{"owned_process_group":{"const":"verified","type":"string"},"temporary_root":{"const":"removed","type":"string"}},"required":["owned_process_group","temporary_root"],"type":"object"},"event_journal":{"default":[],"items":{"additionalProperties":false,"properties":{"capture_order":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"collection":{"enum":["frames","rendered_frames","interaction_events","lifecycle","process_samples","filesystem_checkpoints","shim_events","protocol_events","replay_transitions"],"type":"string"},"index":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["capture_order","collection","index"],"type":"object"},"type":"array"},"exit":{"additionalProperties":false,"properties":{"code":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"reason":{"enum":["exited","timeout","idle_timeout"],"type":"string"},"signal":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]}},"required":["code","signal","reason"],"type":"object"},"files_after":{"items":{"additionalProperties":false,"properties":{"mode":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"path":{"type":"string"},"sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"size":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"enum":["file","directory","symlink","other"],"type":"string"}},"required":["path","type","mode","size","sha256","symlink_target"],"type":"object"},"type":"array"},"files_before":{"items":{"additionalProperties":false,"properties":{"mode":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"path":{"type":"string"},"sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"size":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"enum":["file","directory","symlink","other"],"type":"string"}},"required":["path","type","mode","size","sha256","symlink_target"],"type":"object"},"type":"array"},"filesystem_checkpoints":{"items":{"additionalProperties":false,"properties":{"at_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"effects":{"items":{"additionalProperties":false,"properties":{"after":{"anyOf":[{"additionalProperties":false,"properties":{"mode":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"path":{"type":"string"},"sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"size":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"enum":["file","directory","symlink","other"],"type":"string"}},"required":["path","type","mode","size","sha256","symlink_target"],"type":"object"},{"type":"null"}]},"before":{"anyOf":[{"additionalProperties":false,"properties":{"mode":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"path":{"type":"string"},"sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"size":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"enum":["file","directory","symlink","other"],"type":"string"}},"required":["path","type","mode","size","sha256","symlink_target"],"type":"object"},{"type":"null"}]},"path":{"type":"string"},"status":{"enum":["created","modified","deleted","unchanged"],"type":"string"}},"required":["path","status","before","after"],"type":"object"},"type":"array"},"files":{"items":{"additionalProperties":false,"properties":{"mode":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"path":{"type":"string"},"sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"size":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"enum":["file","directory","symlink","other"],"type":"string"}},"required":["path","type","mode","size","sha256","symlink_target"],"type":"object"},"type":"array"},"name":{"type":"string"},"truncated":{"type":"boolean"}},"required":["name","at_ms","files","effects","truncated"],"type":"object"},"type":"array"},"filesystem_effects":{"items":{"additionalProperties":false,"properties":{"after":{"anyOf":[{"additionalProperties":false,"properties":{"mode":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"path":{"type":"string"},"sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"size":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"enum":["file","directory","symlink","other"],"type":"string"}},"required":["path","type","mode","size","sha256","symlink_target"],"type":"object"},{"type":"null"}]},"before":{"anyOf":[{"additionalProperties":false,"properties":{"mode":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"path":{"type":"string"},"sha256":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"size":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"symlink_target":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"enum":["file","directory","symlink","other"],"type":"string"}},"required":["path","type","mode","size","sha256","symlink_target"],"type":"object"},{"type":"null"}]},"path":{"type":"string"},"status":{"enum":["created","modified","deleted","unchanged"],"type":"string"}},"required":["path","status","before","after"],"type":"object"},"type":"array"},"frames":{"items":{"additionalProperties":false,"properties":{"at_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"data":{"type":"string"},"sequence":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["sequence","at_ms","data"],"type":"object"},"type":"array"},"interaction_events":{"items":{"additionalProperties":false,"properties":{"data":{"type":"string"},"dispatched_at_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"outcome":{"enum":["dispatched","target_exited","failed"],"type":"string"},"scheduled_at_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"sequence":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"type":{"enum":["input","resize","stdin_close","signal"],"type":"string"}},"required":["sequence","scheduled_at_ms","dispatched_at_ms","type","data","outcome"],"type":"object"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"manifest":{"additionalProperties":false,"properties":{"architecture":{"minLength":1,"type":"string"},"comparison_contract":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"comparison_contract_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"completed_at":{"format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"},"executable_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"full_scenario_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"normalization_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"platform":{"minLength":1,"type":"string"},"provider_version":{"minLength":1,"type":"string"},"pty_backend":{"const":"node-pty","type":"string"},"rea_version":{"minLength":1,"type":"string"},"replay_plan":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"replay_plan_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"scenario":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"},"shim_plan":{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},"shim_plan_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"started_at":{"format":"date-time","pattern":"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?(?:Z))$","type":"string"}},"required":["rea_version","provider_version","platform","architecture","pty_backend","started_at","completed_at","scenario","comparison_contract","shim_plan","replay_plan","full_scenario_sha256","comparison_contract_sha256","executable_sha256","normalization_sha256","shim_plan_sha256","replay_plan_sha256"],"type":"object"},"normalization":{"additionalProperties":false,"properties":{"paths":{"type":"boolean"},"patterns":{"items":{"additionalProperties":false,"properties":{"pattern":{"maxLength":500,"type":"string"},"replacement":{"maxLength":100,"type":"string"}},"required":["pattern","replacement"],"type":"object"},"type":"array"},"pids":{"type":"boolean"},"ports":{"type":"boolean"},"time_bucket_ms":{"exclusiveMinimum":0,"maximum":60000,"type":"integer"}},"required":["paths","pids","ports","time_bucket_ms","patterns"],"type":"object"},"process_samples":{"items":{"additionalProperties":false,"properties":{"at_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"command":{"type":"string"},"parent_pid":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"pid":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"process_group_id":{"anyOf":[{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},{"type":"null"}]},"session_id":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["at_ms","pid","parent_pid","command","process_group_id","session_id"],"type":"object"},"type":"array"},"protocol_events":{"items":{"additionalProperties":false,"properties":{"at_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"data":{"type":"string"},"direction":{"enum":["request","response","received","sent"],"type":"string"},"method":{"anyOf":[{"type":"string"},{"type":"null"}]},"outcome":{"enum":["matched","unmatched","script_exhausted","disconnected","invalid_state","guard_failed","transition_exhausted","invalid_capture","unexpected_reconnect","limit_exhausted"],"type":"string"},"path":{"anyOf":[{"type":"string"},{"type":"null"}]},"protocol":{"enum":["http","websocket"],"type":"string"},"sequence":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["sequence","at_ms","protocol","direction","method","path","data","outcome"],"type":"object"},"type":"array"},"reactive_run":{"anyOf":[{"additionalProperties":false,"properties":{"active_state":{"maxLength":64,"minLength":1,"type":"string"},"controls":{"default":[],"items":{"additionalProperties":false,"properties":{"after_capture_order":{"maximum":9007199254740991,"minimum":-1,"type":"integer"},"kind":{"enum":["state_deadline","scenario_deadline","target_lost","cancelled","cleanup_failed"],"type":"string"},"sequence":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["sequence","kind","after_capture_order"],"type":"object"},"type":"array"},"outcome":{"anyOf":[{"enum":["passed","predicate_timeout","scenario_deadline","ambiguous_match","action_rejected","target_lost","capture_incomplete","cancelled","cleanup_failed"],"type":"string"},{"type":"null"}]},"status":{"enum":["running","finished"],"type":"string"},"transitions":{"items":{"additionalProperties":false,"properties":{"action_event_ids":{"items":{"minLength":1,"type":"string"},"maxItems":16,"type":"array"},"action_types":{"items":{"enum":["send_input","resize","close_stdin","send_signal","checkpoint"],"type":"string"},"maxItems":16,"type":"array"},"outcome":{"anyOf":[{"enum":["passed","predicate_timeout","scenario_deadline","ambiguous_match","action_rejected","target_lost","capture_incomplete","cancelled","cleanup_failed"],"type":"string"},{"type":"null"}]},"sequence":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"state_after":{"anyOf":[{"maxLength":64,"minLength":1,"type":"string"},{"type":"null"}]},"state_before":{"maxLength":64,"minLength":1,"type":"string"},"transition_id":{"maxLength":64,"minLength":1,"type":"string"},"trigger_event_ids":{"items":{"minLength":1,"type":"string"},"maxItems":64,"type":"array"}},"required":["sequence","transition_id","state_before","state_after","outcome","trigger_event_ids","action_event_ids","action_types"],"type":"object"},"maxItems":128,"type":"array"}},"required":["status","outcome","active_state","controls","transitions"],"type":"object"},{"type":"null"}],"default":null},"rendered_frames":{"items":{"additionalProperties":false,"properties":{"active_buffer":{"enum":["normal","alternate"],"type":"string"},"at_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"columns":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"cursor_x":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"cursor_y":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"lines":{"items":{"type":"string"},"type":"array"},"rows":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"sequence":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"serialized_state":{"type":"string"}},"required":["sequence","at_ms","columns","rows","cursor_x","cursor_y","active_buffer","lines","serialized_state"],"type":"object"},"type":"array"},"replay_transitions":{"default":[],"items":{"additionalProperties":false,"properties":{"at_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"sensitive_aliases":{"items":{"maxLength":64,"minLength":1,"type":"string"},"maxItems":32,"type":"array"},"sequence":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"state_after":{"maxLength":64,"minLength":1,"type":"string"},"state_before":{"maxLength":64,"minLength":1,"type":"string"},"transition_id":{"maxLength":64,"minLength":1,"type":"string"}},"required":["sequence","at_ms","transition_id","state_before","state_after","sensitive_aliases"],"type":"object"},"type":"array"},"residual_unknowns":{"items":{"additionalProperties":false,"properties":{"reason":{"type":"string"},"scope":{"enum":["terminal","interaction","exit","process","filesystem","protocol","shim","cleanup","network"],"type":"string"}},"required":["scope","reason"],"type":"object"},"type":"array"},"schema_version":{"const":4,"type":"number"},"settlement":{"additionalProperties":false,"properties":{"cleanup_outcome":{"enum":["not_required","cleaned","failed"],"type":"string"},"elapsed_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"state":{"enum":["quiesced","alive_at_deadline","unverifiable"],"type":"string"}},"required":["state","elapsed_ms","cleanup_outcome"],"type":"object"},"shim_events":{"items":{"additionalProperties":false,"properties":{"arguments":{"items":{"type":"string"},"type":"array"},"at_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"command":{"type":"string"},"outcome":{"enum":["matched","unmatched","exhausted"],"type":"string"},"route_index":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"sequence":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"working_directory":{"type":"string"}},"required":["sequence","at_ms","command","route_index","arguments","working_directory","outcome"],"type":"object"},"type":"array"},"truncated":{"type":"boolean"}},"required":["schema_version","manifest","normalization","frames","rendered_frames","interaction_events","exit","settlement","process_samples","filesystem_checkpoints","shim_events","protocol_events","replay_transitions","reactive_run","event_journal","files_before","files_after","filesystem_effects","truncated","limitations","residual_unknowns","cleanup"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":true,"title":"Capture Process Scenario"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Compare two compatible Process Capture v4 observations across terminal, interaction, lifecycle, process, filesystem, command-shim, HTTP, and WebSocket evidence. Optional trace_spec validates exact events against an explicit partial order or finite trace language; concurrency is never inferred from timestamps or broad sorting. Missing, journal-free, or truncated observations are never treated as equivalent.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"left_evidence_id":"ev_0000000000000000000000000000000000000000000000000000000000000000","right_evidence_id":"ev_1111111111111111111111111111111111111111111111111111111111111111"}],"properties":{"left_evidence_id":{"description":"Exact Evidence v2 identifier for the left observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"max_capture_age_ms":{"description":"Maximum permitted capture age ms for this operation.","maximum":9007199254740991,"minimum":0,"type":"integer"},"right_evidence_id":{"description":"Exact Evidence v2 identifier for the right observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"trace_spec":{"additionalProperties":false,"description":"Value for trace spec.","properties":{"events":{"description":"Value for events.","items":{"additionalProperties":false,"properties":{"cardinality":{"default":{"kind":"required"},"description":"Value for cardinality.","oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"required","description":"Value for kind.","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"optional","description":"Value for kind.","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"count":{"description":"Value for count.","maximum":10000,"minimum":0,"type":"integer"},"kind":{"const":"exact","description":"Value for kind.","type":"string"}},"required":["kind","count"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"range","description":"Value for kind.","type":"string"},"max":{"description":"Value for max.","maximum":10000,"minimum":0,"type":"integer"},"min":{"description":"Value for min.","maximum":10000,"minimum":0,"type":"integer"}},"required":["kind","min","max"],"type":"object"}]},"exact":{"$ref":"#/$defs/__schema0","description":"Value for exact."},"id":{"description":"Value for id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"ignore_fields":{"description":"Value for ignore fields.","items":{"enum":["sequence","at_ms","scheduled_at_ms","dispatched_at_ms","elapsed_ms"],"type":"string"},"maxItems":5,"type":"array"},"source":{"description":"Value for source.","enum":["terminal_raw","terminal_rendered","interaction","lifecycle","process","filesystem","http","websocket","shim","replay_transition"],"type":"string"}},"required":["id","source","exact"],"type":"object"},"maxItems":256,"minItems":1,"type":"array"},"language":{"description":"Value for language.","oneOf":[{"additionalProperties":false,"properties":{"happens_before":{"default":[],"description":"Value for happens before.","items":{"additionalProperties":false,"properties":{"after":{"description":"The later or right-hand observation to compare.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"before":{"description":"The earlier or left-hand observation to compare.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"}},"required":["before","after"],"type":"object"},"maxItems":4096,"type":"array"},"kind":{"const":"partial_order","description":"Value for kind.","type":"string"},"not_before":{"default":[],"description":"Value for not before.","items":{"additionalProperties":false,"properties":{"anchor":{"description":"Value for anchor.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"event":{"description":"Value for event.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"}},"required":["event","anchor"],"type":"object"},"maxItems":4096,"type":"array"},"prefix":{"default":[],"description":"Value for prefix.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"maxItems":4096,"type":"array"},"suffix":{"default":[],"description":"Value for suffix.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"maxItems":4096,"type":"array"},"unordered_groups":{"default":[],"description":"Value for unordered groups.","items":{"additionalProperties":false,"properties":{"events":{"description":"Value for events.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"maxItems":256,"minItems":2,"type":"array"}},"required":["events"],"type":"object"},"maxItems":256,"type":"array"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"finite_traces","description":"Value for kind.","type":"string"},"variants":{"description":"Value for variants.","items":{"additionalProperties":false,"properties":{"id":{"description":"Value for id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"trace":{"description":"Value for trace.","items":{"anyOf":[{"pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},{"additionalProperties":false,"properties":{"unordered":{"description":"Value for unordered.","items":{"pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"maxItems":256,"minItems":2,"type":"array"}},"required":["unordered"],"type":"object"}]},"maxItems":4096,"type":"array"}},"required":["id","trace"],"type":"object"},"maxItems":64,"minItems":1,"type":"array"}},"required":["kind","variants"],"type":"object"}]},"version":{"const":1,"description":"Value for version.","type":"number"}},"required":["version","events","language"],"type":"object"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record capture disagreement durably","type":"boolean"}},"required":["left_evidence_id","right_evidence_id"],"type":"object"},"kind":"session","name":"compare_process_captures","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"exit":{"enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"],"type":"string"},"filesystem":{"enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"],"type":"string"},"first_divergence":{"oneOf":[{"additionalProperties":false,"properties":{"status":{"const":"none","type":"string"}},"required":["status"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"type":"string"},"status":{"const":"unknown","type":"string"}},"required":["status","reason"],"type":"object"},{"additionalProperties":false,"properties":{"dimension":{"enum":["terminal","interaction","exit","filesystem","protocol","process","shim"],"type":"string"},"index":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"left":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"left_at_ms":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"right":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}]},"right_at_ms":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"status":{"const":"found","type":"string"}},"required":["status","dimension","index","left_at_ms","right_at_ms","left","right"],"type":"object"}]},"interaction":{"enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"],"type":"string"},"limitations":{"items":{"type":"string"},"type":"array"},"process":{"enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"],"type":"string"},"protocol":{"enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"],"type":"string"},"shim":{"enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"],"type":"string"},"status":{"enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"],"type":"string"},"terminal":{"enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"],"type":"string"},"trace":{"additionalProperties":false,"properties":{"diagnostic":{"anyOf":[{"additionalProperties":false,"properties":{"event_ids":{"items":{"pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"type":"array"},"kind":{"enum":["journal","predicate","cardinality","edge","prefix","suffix","trace"],"type":"string"},"locations":{"items":{"additionalProperties":false,"properties":{"capture_order":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"collection":{"enum":["frames","rendered_frames","interaction_events","lifecycle","process_samples","filesystem_checkpoints","shim_events","protocol_events","replay_transitions"],"type":"string"},"index":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["collection","index","capture_order"],"type":"object"},"type":"array"},"message":{"type":"string"},"side":{"enum":["left","right"],"type":"string"}},"required":["kind","side","message","event_ids","locations"],"type":"object"},{"type":"null"}]},"left":{"additionalProperties":false,"properties":{"matched_variant":{"anyOf":[{"pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},{"type":"null"}]},"raw_trace":{"items":{"additionalProperties":false,"properties":{"event_id":{"pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"location":{"additionalProperties":false,"properties":{"capture_order":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"collection":{"enum":["frames","rendered_frames","interaction_events","lifecycle","process_samples","filesystem_checkpoints","shim_events","protocol_events","replay_transitions"],"type":"string"},"index":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["collection","index","capture_order"],"type":"object"}},"required":["event_id","location"],"type":"object"},"type":"array"},"satisfied_constraints":{"items":{"type":"string"},"type":"array"},"status":{"enum":["pass","fail","unknown"],"type":"string"}},"required":["status","matched_variant","satisfied_constraints","raw_trace"],"type":"object"},"right":{"additionalProperties":false,"properties":{"matched_variant":{"anyOf":[{"pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},{"type":"null"}]},"raw_trace":{"items":{"additionalProperties":false,"properties":{"event_id":{"pattern":"^[A-Za-z][A-Za-z0-9._-]{0,63}$","type":"string"},"location":{"additionalProperties":false,"properties":{"capture_order":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"collection":{"enum":["frames","rendered_frames","interaction_events","lifecycle","process_samples","filesystem_checkpoints","shim_events","protocol_events","replay_transitions"],"type":"string"},"index":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["collection","index","capture_order"],"type":"object"}},"required":["event_id","location"],"type":"object"},"type":"array"},"satisfied_constraints":{"items":{"type":"string"},"type":"array"},"status":{"enum":["pass","fail","unknown"],"type":"string"}},"required":["status","matched_variant","satisfied_constraints","raw_trace"],"type":"object"},"verdict":{"enum":["equivalent","different","nonconforming","unknown"],"type":"string"}},"required":["verdict","left","right","diagnostic"],"type":"object"}},"required":["status","terminal","interaction","exit","filesystem","protocol","process","shim","first_divergence","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":true,"title":"Compare Process Captures"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Compare two bounded sets of inventory_artifact Evidence pages by logical occurrence path, content identity, metadata, and graph relations. Pages must share and satisfy their graph commitment; every delta cites both sets, and gaps yield truncated or unknown, never equivalence.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"left_evidence_ids":["ev_b74d3ff6cdf54af4e4f3dab00965780cb5ef2b375188c75c1980d0998c5a05a4"],"limit":100,"offset":0,"right_evidence_ids":["ev_74ecec364f3987b332db851177d2117a89d49df4ba89ab5d87299940092d7bb4"]}],"properties":{"left_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the left observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":500,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"right_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the right observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record incomplete or differing evidence","type":"boolean"}},"required":["left_evidence_ids","right_evidence_ids"],"type":"object"},"kind":"session","name":"compare_artifacts","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"changes":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"classification":{"enum":["added","removed","changed","unknown","contradiction"],"type":"string"},"dimensions":{"items":{"enum":["content","kind","format","size","executable","relations","metadata","availability","integrity"],"type":"string"},"maxItems":8,"minItems":1,"type":"array"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":200,"minItems":2,"type":"array"},"left_artifact_id":{"anyOf":[{"pattern":"^art_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"left_occurrence_id":{"anyOf":[{"pattern":"^occ_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"logical_path":{"maxLength":4096,"minLength":1,"type":"string"},"right_artifact_id":{"anyOf":[{"pattern":"^art_[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"right_occurrence_id":{"anyOf":[{"pattern":"^occ_[a-f0-9]{64}$","type":"string"},{"type":"null"}]}},"required":["classification","logical_path","dimensions","left_occurrence_id","right_occurrence_id","left_artifact_id","right_artifact_id","evidence_links"],"type":"object"},"maxItems":500,"type":"array"},"limit":{"maximum":500,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset"],"type":"object"},"left_manifest_id":{"pattern":"^agm_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"type":"string"},"type":"array"},"right_manifest_id":{"pattern":"^agm_[a-f0-9]{64}$","type":"string"},"status":{"enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"],"type":"string"},"summary":{"additionalProperties":false,"properties":{"added":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"changed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"contradiction":{"default":0,"maximum":9007199254740991,"minimum":0,"type":"integer"},"removed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unchanged":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknown":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["unchanged","added","removed","changed","unknown","contradiction"],"type":"object"}},"required":["status","left_manifest_id","right_manifest_id","summary","changes","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":true,"title":"Compare Artifacts"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Compare two explicit bounded sets of analyze_function Evidence pages across identity, exact provider text, calls, references, strings, and address-normalized CFG topology. Missing or provider-incompatible facets remain truncated or unknown; every conclusion cites both Evidence sets.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"left_evidence_ids":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e"],"limit":100,"offset":0,"right_evidence_ids":["ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"]}],"properties":{"left_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the left observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":100,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"right_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the right observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry.","type":"boolean"}},"required":["left_evidence_ids","right_evidence_ids"],"type":"object"},"kind":"session","name":"compare_functions","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"changes":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"conclusion_kind":{"enum":["derived_relationship","contradiction","unresolved_branch"],"type":"string"},"dimension":{"enum":["identity","pseudocode","assembly","comments","calls","references","strings_names","cfg"],"type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":200,"minItems":2,"type":"array"},"left_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"left_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"limitations":{"items":{"type":"string"},"type":"array"},"right_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"right_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"status":{"enum":["unchanged","added","removed","changed","truncated","unknown"],"type":"string"},"text_delta":{"anyOf":[{"additionalProperties":false,"properties":{"added_lines":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"hunks":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"removed_lines":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["added_lines","removed_lines","hunks"],"type":"object"},{"type":"null"}]}},"required":["dimension","status","left_digest","right_digest","left_count","right_count","text_delta","conclusion_kind","evidence_links","limitations"],"type":"object"},"maxItems":100,"type":"array"},"limit":{"maximum":100,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset"],"type":"object"},"dimensions":{"items":{"additionalProperties":false,"properties":{"conclusion_kind":{"enum":["derived_relationship","contradiction","unresolved_branch"],"type":"string"},"dimension":{"enum":["identity","pseudocode","assembly","comments","calls","references","strings_names","cfg"],"type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":200,"minItems":2,"type":"array"},"left_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"left_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"limitations":{"items":{"type":"string"},"type":"array"},"right_count":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"right_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"status":{"enum":["unchanged","added","removed","changed","truncated","unknown"],"type":"string"},"text_delta":{"anyOf":[{"additionalProperties":false,"properties":{"added_lines":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"hunks":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"removed_lines":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["added_lines","removed_lines","hunks"],"type":"object"},{"type":"null"}]}},"required":["dimension","status","left_digest","right_digest","left_count","right_count","text_delta","conclusion_kind","evidence_links","limitations"],"type":"object"},"maxItems":8,"minItems":8,"type":"array"},"function_match":{"additionalProperties":false,"properties":{"left_name":{"type":"string"},"method":{"enum":["explicit","symbol"],"type":"string"},"right_name":{"type":"string"},"status":{"enum":["matched","mismatched","ambiguous","unknown"],"type":"string"}},"required":["status","method","left_name","right_name"],"type":"object"},"left_subject_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"type":"string"},"type":"array"},"right_subject_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"status":{"enum":["unchanged","added","removed","changed","truncated","unknown"],"type":"string"},"summary":{"additionalProperties":false,"properties":{"changed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"truncated":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unchanged":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknown":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["unchanged","changed","truncated","unknown"],"type":"object"}},"required":["status","function_match","left_subject_sha256","right_subject_sha256","summary","dimensions","changes","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":true,"title":"Compare Functions"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Compare two canonical Evidence v2 bundles by exact record membership, explicit one-to-one observation pairs, and complete residual-unknown revision histories. Missing bundle members describe omission only, never behavioral equivalence; output is digest-anchored and deterministically paginated.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"left_bundle_path":"/approved/left-evidence.json","limit":100,"offset":0,"record_pairs":[],"right_bundle_path":"/approved/right-evidence.json"}],"properties":{"left_bundle_path":{"description":"Local filesystem path for left bundle.","maxLength":4096,"minLength":1,"type":"string"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":500,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"record_pairs":{"default":[],"description":"Value for record pairs.","items":{"additionalProperties":false,"properties":{"left_evidence_id":{"description":"Exact Evidence v2 identifier for the left observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"right_evidence_id":{"description":"Exact Evidence v2 identifier for the right observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"}},"required":["left_evidence_id","right_evidence_id"],"type":"object"},"maxItems":500,"type":"array"},"right_bundle_path":{"description":"Local filesystem path for right bundle.","maxLength":4096,"minLength":1,"type":"string"}},"required":["left_bundle_path","right_bundle_path"],"type":"object"},"kind":"session","name":"compare_bundles","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"changes":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"classification":{"enum":["added","removed","changed","unknown","history_advanced","history_diverged"],"type":"string"},"conclusion_kind":{"enum":["observed_change","contradiction","unresolved_branch"],"type":"string"},"entity":{"enum":["evidence","residual_unknown"],"type":"string"},"key":{"minLength":1,"type":"string"},"left_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"left_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"right_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"right_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"}},"required":["entity","key","classification","conclusion_kind","left_evidence_ids","right_evidence_ids","left_digest","right_digest","limitations"],"type":"object"},"maxItems":500,"type":"array"},"limit":{"maximum":500,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset"],"type":"object"},"left_bundle_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"type":"string"},"type":"array"},"right_bundle_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"status":{"enum":["unchanged","changed","unknown"],"type":"string"},"summary":{"additionalProperties":false,"properties":{"records_added":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"records_changed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"records_removed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"records_unchanged":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknowns_added":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknowns_advanced":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknowns_diverged":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknowns_removed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unknowns_unchanged":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unresolved":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["records_unchanged","records_added","records_removed","records_changed","unknowns_unchanged","unknowns_added","unknowns_removed","unknowns_advanced","unknowns_diverged","unresolved"],"type":"object"}},"required":["status","left_bundle_sha256","right_bundle_sha256","summary","changes","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":true,"title":"Compare Bundles"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Aggregate validated comparison Evidence, or automatically run and resume a persistent cross-version artifact investigation beneath an approved evidence root. Runtime observations remain distinct from static behavior candidates; missing or incomplete comparisons produce unresolved findings, never causal claims.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"comparisons":[{"authority":"analyst-inference","confidence":"derived","environment":null,"evidence_id":"ev_68c195e7d5d8688f3eb0764a9a868355fcc6f8810fc9ada1a0c8579c21ea2bf8","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":["Artifact identity is unavailable for this observation."],"locations":[],"normalized_result":{"changes":{"items":[{"conclusion_kind":"derived_relationship","dimension":"pseudocode","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":9,"left_digest":"64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554","limitations":[],"right_count":9,"right_digest":"c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1","status":"changed","text_delta":{"added_lines":1,"hunks":2,"removed_lines":1}},{"conclusion_kind":"unresolved_branch","dimension":"assembly","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":0,"left_digest":null,"limitations":["Assembly is opaque provider text; relocation normalization is unavailable."],"right_count":0,"right_digest":null,"status":"unknown","text_delta":null}],"limit":100,"next_offset":null,"offset":0,"total":2},"dimensions":[{"conclusion_kind":"derived_relationship","dimension":"identity","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":null,"left_digest":"dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65","limitations":[],"right_count":null,"right_digest":"dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65","status":"unchanged","text_delta":null},{"conclusion_kind":"derived_relationship","dimension":"pseudocode","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":9,"left_digest":"64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554","limitations":[],"right_count":9,"right_digest":"c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1","status":"changed","text_delta":{"added_lines":1,"hunks":2,"removed_lines":1}},{"conclusion_kind":"unresolved_branch","dimension":"assembly","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":0,"left_digest":null,"limitations":["Assembly is opaque provider text; relocation normalization is unavailable."],"right_count":0,"right_digest":null,"status":"unknown","text_delta":null},{"conclusion_kind":"derived_relationship","dimension":"comments","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":0,"left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","limitations":[],"right_count":0,"right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","status":"unchanged","text_delta":null},{"conclusion_kind":"derived_relationship","dimension":"calls","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":0,"left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","limitations":[],"right_count":0,"right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","status":"unchanged","text_delta":null},{"conclusion_kind":"derived_relationship","dimension":"references","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":0,"left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","limitations":[],"right_count":0,"right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","status":"unchanged","text_delta":null},{"conclusion_kind":"derived_relationship","dimension":"strings_names","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":0,"left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","limitations":[],"right_count":0,"right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","status":"unchanged","text_delta":null},{"conclusion_kind":"derived_relationship","dimension":"cfg","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":1,"left_digest":"e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0","limitations":[],"right_count":1,"right_digest":"e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0","status":"unchanged","text_delta":null}],"function_match":{"left_name":"main","method":"symbol","right_name":"main","status":"matched"},"left_subject_sha256":"0000000000000000000000000000000000000000000000000000000000000000","limitations":[],"right_subject_sha256":"1111111111111111111111111111111111111111111111111111111111111111","status":"unknown","summary":{"changed":1,"truncated":0,"unchanged":6,"unknown":1}},"operation":"compare_functions","parameters":{"left_evidence_ids":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e"],"limit":100,"offset":0,"right_evidence_ids":["ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"]},"predicate_type":"rea.function-comparison/v1","provider":{"id":"rea-function-comparison","name":"REA function comparison","version":"1"},"raw_result":null,"schema_version":2,"subject":null}],"limit":100,"offset":0}],"properties":{"comparisons":{"default":[],"description":"Validated comparison Evidence records to aggregate.","items":{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"maxItems":100,"type":"array"},"investigation_run":{"additionalProperties":false,"description":"Value for investigation run.","properties":{"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"expected_workspace_revision":{"description":"Expected workspace revision used to reject stale or mismatched input.","maximum":9007199254740991,"minimum":1,"type":"integer"},"integrity_continue_approved":{"default":false,"description":"Explicit operator approval for integrity continue.","type":"boolean"},"integrity_policy":{"default":"fail","description":"Value for integrity policy.","enum":["fail","record-and-continue"],"type":"string"},"left_path":{"description":"Local filesystem path for left.","maxLength":4096,"minLength":1,"type":"string"},"max_integrity_mismatches":{"default":10,"description":"Maximum permitted integrity mismatches for this operation.","maximum":100,"minimum":1,"type":"integer"},"options":{"additionalProperties":false,"default":{"change_limit":500,"max_compression_ratio":1000,"max_depth":20,"max_entries":10000,"max_entry_bytes":268435456,"max_path_bytes":4096,"max_total_bytes":1073741824,"page_size":500},"description":"Value for options.","properties":{"change_limit":{"default":500,"description":"Maximum number of change entries to return.","maximum":500,"minimum":1,"type":"integer"},"max_compression_ratio":{"default":1000,"description":"Maximum permitted compression ratio for this operation.","maximum":100000,"minimum":1,"type":"number"},"max_depth":{"default":20,"description":"Maximum permitted depth for this operation.","maximum":100,"minimum":0,"type":"integer"},"max_entries":{"default":10000,"description":"Maximum permitted entries for this operation.","maximum":50000,"minimum":1,"type":"integer"},"max_entry_bytes":{"default":268435456,"description":"Maximum permitted entry bytes for this operation.","maximum":9007199254740991,"minimum":1,"type":"integer"},"max_path_bytes":{"default":4096,"description":"Maximum permitted path bytes for this operation.","maximum":65535,"minimum":1,"type":"integer"},"max_total_bytes":{"default":1073741824,"description":"Maximum permitted total bytes for this operation.","maximum":9007199254740991,"minimum":1,"type":"integer"},"page_size":{"default":500,"description":"Value for page size.","maximum":500,"minimum":1,"type":"integer"}},"type":"object"},"replay_run_id":{"description":"Value for replay run id.","pattern":"^run_[a-f0-9]{64}$","type":"string"},"right_path":{"description":"Local filesystem path for right.","maxLength":4096,"minLength":1,"type":"string"},"workspace_name":{"default":"default","description":"Value for workspace name.","maxLength":200,"minLength":1,"type":"string"},"workspace_path":{"description":"Approved local path of the persistent investigation workspace.","maxLength":4096,"minLength":1,"type":"string"}},"required":["approved","workspace_path","left_path","right_path"],"type":"object"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":100,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry.","type":"boolean"}},"type":"object"},"kind":"session","name":"find_changed_behavior","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"behavior_status":{"enum":["observed_changed","observed_unchanged","unknown","truncated"],"type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":20100,"minItems":3,"type":"array"},"findings":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"classification":{"enum":["observed_change","derived_relationship","contradiction","unresolved_branch"],"type":"string"},"dimension":{"minLength":1,"type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":201,"minItems":3,"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"scope":{"enum":["runtime","protocol","resource","static_candidate"],"type":"string"},"source_comparison_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"status":{"enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"],"type":"string"}},"required":["scope","dimension","classification","status","source_comparison_id","evidence_links","limitations"],"type":"object"},"maxItems":100,"type":"array"},"limit":{"maximum":100,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset"],"type":"object"},"investigation_run":{"additionalProperties":false,"properties":{"comparison_evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"inventory_evidence_count":{"maximum":200,"minimum":2,"type":"integer"},"left_manifest_id":{"pattern":"^agm_[a-f0-9]{64}$","type":"string"},"limitations":{"items":{"maxLength":4096,"type":"string"},"maxItems":100,"type":"array"},"right_manifest_id":{"pattern":"^agm_[a-f0-9]{64}$","type":"string"},"run_id":{"pattern":"^run_[a-f0-9]{64}$","type":"string"},"schema_version":{"const":1,"type":"number"},"workspace_id":{"pattern":"^ws_[a-f0-9]{64}$","type":"string"}},"required":["schema_version","workspace_id","run_id","left_manifest_id","right_manifest_id","inventory_evidence_count","comparison_evidence_id","limitations"],"type":"object"},"limitations":{"items":{"type":"string"},"type":"array"},"summary":{"additionalProperties":false,"properties":{"contradictions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"observed_changes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"static_candidates":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unresolved":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["observed_changes","static_candidates","contradictions","unresolved"],"type":"object"}},"required":["behavior_status","summary","findings","evidence_links","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":true,"title":"Find Changed Behavior"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Build bounded shortest-first direct-callee paths from explicit analyze_function Evidence groups using exact canonical addresses. Missing dossiers, incomplete callee pages, provider mixing, and depth frontiers remain unknown; every node and edge cites source Evidence.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"functions":[{"authority":"shipped-artifact","confidence":"derived","environment":null,"evidence_id":"ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","evidence_links":[],"limitations":[],"locations":[],"normalized_result":{"assembly":{"items":[],"next_offset":null,"returned":0,"total":0,"truncated":false},"basic_blocks":{"items":[{"end":"0x1001","start":"0x1000","successors":[]}],"next_offset":null,"returned":1,"total":1,"truncated":false},"callees":{"items":[],"next_offset":null,"returned":0,"total":0,"truncated":false},"callers":{"items":[],"next_offset":null,"returned":0,"total":0,"truncated":false},"comments":{"items":[],"next_offset":null,"returned":0,"total":0,"truncated":false},"incoming_references":{"items":[],"next_offset":null,"returned":0,"total":0,"truncated":false},"instruction_scan":{"scanned":1,"truncated":false},"outgoing_references":{"items":[],"next_offset":null,"returned":0,"total":0,"truncated":false},"procedure":{"address":"0x1000","locals":[],"name":"main","signature":"int main(void)"},"pseudocode":{"next_offset":null,"returned_chars":9,"text":"return 0;","total_chars":9,"truncated":false},"referenced_names":{"items":[],"next_offset":null,"returned":0,"total":0,"truncated":false},"referenced_strings":{"items":[],"next_offset":null,"returned":0,"total":0,"truncated":false}},"operation":"analyze_function","parameters":{"assembly_offset":0,"collection_offset":{"basic_blocks":0,"callees":0,"callers":0,"comments":0,"incoming_references":0,"outgoing_references":0,"referenced_names":0,"referenced_strings":0},"include_assembly":false,"limit":100,"max_instructions":500,"max_pseudocode_chars":20000,"procedure":"main","pseudocode_offset":0},"predicate_type":"rea.analysis/v2","provider":{"id":"rea-workflow","name":"REA composed investigation workflow","version":"1"},"raw_result":null,"schema_version":2,"subject":{"architecture":null,"digest":{"sha256":"0000000000000000000000000000000000000000000000000000000000000000"},"format":"mach-o","local_path":"/tmp/function-0","name":"function-0"}}],"goal":{"address":"0x1000"},"limit":100,"max_depth":8,"max_paths":10,"offset":0,"start":{"address":"0x1000"}}],"properties":{"functions":{"description":"Value for functions.","items":{"anyOf":[{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},{"items":{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"maxItems":100,"minItems":1,"type":"array"}]},"maxItems":500,"minItems":1,"type":"array"},"goal":{"additionalProperties":false,"description":"Value for goal.","properties":{"address":{"description":"Value for address.","pattern":"^0[xX][0-9a-fA-F]+$","type":"string"}},"required":["address"],"type":"object"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":100,"minimum":1,"type":"integer"},"max_depth":{"default":8,"description":"Maximum permitted depth for this operation.","maximum":32,"minimum":0,"type":"integer"},"max_paths":{"default":10,"description":"Maximum permitted paths for this operation.","maximum":100,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"start":{"additionalProperties":false,"description":"Value for start.","properties":{"address":{"description":"Value for address.","pattern":"^0[xX][0-9a-fA-F]+$","type":"string"}},"required":["address"],"type":"object"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry.","type":"boolean"}},"required":["functions","start","goal"],"type":"object"},"kind":"session","name":"build_call_path","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":50000,"minItems":1,"type":"array"},"explored":{"additionalProperties":false,"properties":{"depth_reached":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"edges":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"nodes":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["nodes","edges","depth_reached"],"type":"object"},"goal":{"pattern":"^0x(?:0|[1-9a-f][0-9a-f]*)$","type":"string"},"limitations":{"items":{"type":"string"},"type":"array"},"paths":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"edges":{"items":{"additionalProperties":false,"properties":{"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"source":{"pattern":"^0x(?:0|[1-9a-f][0-9a-f]*)$","type":"string"},"target":{"pattern":"^0x(?:0|[1-9a-f][0-9a-f]*)$","type":"string"}},"required":["source","target","evidence_links"],"type":"object"},"maxItems":32,"type":"array"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":3300,"minItems":1,"type":"array"},"hops":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"nodes":{"items":{"additionalProperties":false,"properties":{"address":{"pattern":"^0x(?:0|[1-9a-f][0-9a-f]*)$","type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["address","name","evidence_links"],"type":"object"},"maxItems":33,"minItems":1,"type":"array"}},"required":["hops","nodes","edges","evidence_links"],"type":"object"},"maxItems":100,"type":"array"},"limit":{"maximum":100,"minimum":1,"type":"integer"},"lower_bound":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"returned":{"maximum":100,"minimum":0,"type":"integer"},"total":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"truncated":{"type":"boolean"}},"required":["items","offset","limit","total","returned","truncated","lower_bound","next_offset"],"type":"object"},"search_scope":{"additionalProperties":false,"properties":{"exhaustive":{"type":"boolean"},"max_depth":{"maximum":32,"minimum":0,"type":"integer"},"max_paths":{"maximum":100,"minimum":1,"type":"integer"}},"required":["max_depth","max_paths","exhaustive"],"type":"object"},"shortest_hops":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"start":{"pattern":"^0x(?:0|[1-9a-f][0-9a-f]*)$","type":"string"},"status":{"enum":["found","not_found","unknown","truncated"],"type":"string"}},"required":["status","start","goal","shortest_hops","search_scope","explored","paths","evidence_links","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":true,"title":"Build Call Path"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Evaluate explicit caller-declared hypotheses between exact static comparison findings and runtime comparison dimensions. Similar names or paths are never auto-matched, consistent cochange never proves causality, and unknown or truncated inputs remain unresolved.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"limit":100,"mappings":[{"hypothesis":{"expected_pattern":"static_only","statement":"Static implementation changed without terminal change."},"runtime":{"comparison_evidence_id":"ev_2ffc472e561cea4b5e65ddaf7b80bc112b7ed6d0d023f0cf7398bc2068a12e2d","dimension":"terminal"},"side_alignment":"left_to_left","static":{"comparison_evidence_id":"ev_68c195e7d5d8688f3eb0764a9a868355fcc6f8810fc9ada1a0c8579c21ea2bf8","selector":{"dimension":"pseudocode","kind":"function"}}}],"offset":0,"runtime_comparisons":[{"authority":"analyst-inference","confidence":"derived","environment":null,"evidence_id":"ev_2ffc472e561cea4b5e65ddaf7b80bc112b7ed6d0d023f0cf7398bc2068a12e2d","evidence_links":["ev_0014950a3b67b96d5d182a51c5a271959828fe6a91db55fc507dd5a9c2a5ecaf","ev_5d45bc669ea10694f3bdf3b325e2048844da96a621b717ad252d667af53df590"],"limitations":["Artifact identity is unavailable for this observation."],"locations":[],"normalized_result":{"exit":"unchanged","filesystem":"unchanged","first_divergence":{"status":"none"},"interaction":"unchanged","limitations":[],"process":"unchanged","protocol":"unchanged","shim":"unchanged","status":"unchanged","terminal":"unchanged"},"operation":"compare_process_captures","parameters":{"left_evidence_id":"ev_0014950a3b67b96d5d182a51c5a271959828fe6a91db55fc507dd5a9c2a5ecaf","left_normalization":{"paths":true,"patterns":[],"pids":true,"ports":true,"time_bucket_ms":10},"right_evidence_id":"ev_5d45bc669ea10694f3bdf3b325e2048844da96a621b717ad252d667af53df590","right_normalization":{"paths":true,"patterns":[],"pids":true,"ports":true,"time_bucket_ms":10}},"predicate_type":"rea.process-comparison/v3","provider":{"id":"rea-process","name":"REA deterministic process harness","version":"3"},"raw_result":null,"schema_version":2,"subject":null}],"static_comparisons":[{"authority":"analyst-inference","confidence":"derived","environment":null,"evidence_id":"ev_68c195e7d5d8688f3eb0764a9a868355fcc6f8810fc9ada1a0c8579c21ea2bf8","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"limitations":["Artifact identity is unavailable for this observation."],"locations":[],"normalized_result":{"changes":{"items":[{"conclusion_kind":"derived_relationship","dimension":"pseudocode","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":9,"left_digest":"64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554","limitations":[],"right_count":9,"right_digest":"c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1","status":"changed","text_delta":{"added_lines":1,"hunks":2,"removed_lines":1}},{"conclusion_kind":"unresolved_branch","dimension":"assembly","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":0,"left_digest":null,"limitations":["Assembly is opaque provider text; relocation normalization is unavailable."],"right_count":0,"right_digest":null,"status":"unknown","text_delta":null}],"limit":100,"next_offset":null,"offset":0,"total":2},"dimensions":[{"conclusion_kind":"derived_relationship","dimension":"identity","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":null,"left_digest":"dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65","limitations":[],"right_count":null,"right_digest":"dd190a914de1bdf8f4bba97a2e74b439585874c567f28eb0ff41bc5388c66d65","status":"unchanged","text_delta":null},{"conclusion_kind":"derived_relationship","dimension":"pseudocode","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":9,"left_digest":"64abdfe133a114158fa0e185d0edec784e6ccf13a166a0fed8bc18bb0cc72554","limitations":[],"right_count":9,"right_digest":"c8e26d77640903b2d4c765ebcb7f7170b64dd320dd3911abbe8346e07cd593d1","status":"changed","text_delta":{"added_lines":1,"hunks":2,"removed_lines":1}},{"conclusion_kind":"unresolved_branch","dimension":"assembly","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":0,"left_digest":null,"limitations":["Assembly is opaque provider text; relocation normalization is unavailable."],"right_count":0,"right_digest":null,"status":"unknown","text_delta":null},{"conclusion_kind":"derived_relationship","dimension":"comments","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":0,"left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","limitations":[],"right_count":0,"right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","status":"unchanged","text_delta":null},{"conclusion_kind":"derived_relationship","dimension":"calls","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":0,"left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","limitations":[],"right_count":0,"right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","status":"unchanged","text_delta":null},{"conclusion_kind":"derived_relationship","dimension":"references","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":0,"left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","limitations":[],"right_count":0,"right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","status":"unchanged","text_delta":null},{"conclusion_kind":"derived_relationship","dimension":"strings_names","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":0,"left_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","limitations":[],"right_count":0,"right_digest":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","status":"unchanged","text_delta":null},{"conclusion_kind":"derived_relationship","dimension":"cfg","evidence_links":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e","ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"],"left_count":1,"left_digest":"e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0","limitations":[],"right_count":1,"right_digest":"e947121f0d4cb8d2a2468a75a44872a29aa1239e6401712df80cfa36bf7df7a0","status":"unchanged","text_delta":null}],"function_match":{"left_name":"main","method":"symbol","right_name":"main","status":"matched"},"left_subject_sha256":"0000000000000000000000000000000000000000000000000000000000000000","limitations":[],"right_subject_sha256":"1111111111111111111111111111111111111111111111111111111111111111","status":"unknown","summary":{"changed":1,"truncated":0,"unchanged":6,"unknown":1}},"operation":"compare_functions","parameters":{"left_evidence_ids":["ev_ff8eed2e28fd9549add0c20d7573566358ad228b980f538e2e0709155a456e1e"],"limit":100,"offset":0,"right_evidence_ids":["ev_7cee7dd9a31cbb2881b2db1c9042ebb961cef07c9152da5ab533b52a0a3492e0"]},"predicate_type":"rea.function-comparison/v1","provider":{"id":"rea-function-comparison","name":"REA function comparison","version":"1"},"raw_result":null,"schema_version":2,"subject":null}]}],"properties":{"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":100,"minimum":1,"type":"integer"},"mappings":{"description":"Value for mappings.","items":{"additionalProperties":false,"properties":{"hypothesis":{"additionalProperties":false,"description":"Value for hypothesis.","properties":{"expected_pattern":{"description":"Expected pattern used to reject stale or mismatched input.","enum":["cochanged","static_only","runtime_only","both_unchanged"],"type":"string"},"statement":{"description":"Value for statement.","maxLength":500,"minLength":1,"type":"string"}},"required":["statement","expected_pattern"],"type":"object"},"runtime":{"additionalProperties":false,"description":"Value for runtime.","properties":{"comparison_evidence_id":{"description":"Exact Evidence v2 identifier for the comparison observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"dimension":{"description":"Value for dimension.","enum":["terminal","interaction","exit","filesystem","protocol","process","shim"],"type":"string"}},"required":["comparison_evidence_id","dimension"],"type":"object"},"side_alignment":{"description":"Value for side alignment.","enum":["left_to_left","left_to_right"],"type":"string"},"static":{"additionalProperties":false,"description":"Value for static.","properties":{"comparison_evidence_id":{"description":"Exact Evidence v2 identifier for the comparison observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"selector":{"description":"Value for selector.","oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact","description":"Value for kind.","type":"string"},"logical_path":{"description":"Local filesystem path for logical.","maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","logical_path"],"type":"object"},{"additionalProperties":false,"properties":{"dimension":{"description":"Value for dimension.","enum":["identity","pseudocode","assembly","comments","calls","references","strings_names","cfg"],"type":"string"},"kind":{"const":"function","description":"Value for kind.","type":"string"}},"required":["kind","dimension"],"type":"object"}]}},"required":["comparison_evidence_id","selector"],"type":"object"}},"required":["static","runtime","side_alignment","hypothesis"],"type":"object"},"maxItems":500,"minItems":1,"type":"array"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"runtime_comparisons":{"description":"Value for runtime comparisons.","items":{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"maxItems":100,"minItems":1,"type":"array"},"static_comparisons":{"description":"Value for static comparisons.","items":{"additionalProperties":false,"properties":{"analysis_profile":{"additionalProperties":false,"description":"Value for analysis profile.","properties":{"digest":{"description":"Value for digest.","pattern":"^[a-f0-9]{64}$","type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"description":"Value for version.","minLength":1,"type":"string"}},"required":["id","name","version"],"type":"object"},"provider_profile_schema_version":{"description":"Value for provider profile schema version.","maximum":9007199254740991,"minimum":1,"type":"integer"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","provider","provider_profile_schema_version","parameters","digest"],"type":"object"},"authority":{"description":"Value for authority.","enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},"confidence":{"description":"Value for confidence.","enum":["observed","derived","inferred"],"type":"string"},"environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"description":"Value for architecture.","minLength":1,"type":"string"},"id":{"description":"Value for id.","minLength":1,"type":"string"},"isolation":{"description":"Value for isolation.","enum":["none","process","container","virtual-machine"],"type":"string"},"platform":{"description":"Value for platform.","minLength":1,"type":"string"}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for environment."},"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_links":{"description":"Value for evidence links.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"type":"array"},"limitations":{"description":"Value for limitations.","items":{"type":"string"},"type":"array"},"locations":{"description":"Value for locations.","items":{"oneOf":[{"additionalProperties":false,"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"kind":{"const":"address","description":"Value for kind.","type":"string"}},"required":["kind","address"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","minLength":1,"type":"string"},"kind":{"const":"address-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","minLength":1,"type":"string"}},"required":["kind","start","end"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"artifact-path","description":"Value for kind.","type":"string"},"path":{"description":"Local filesystem path used by this operation.","minLength":1,"type":"string"}},"required":["kind","path"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"file-offset","description":"Value for kind.","type":"string"},"offset":{"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","offset"],"type":"object"},{"additionalProperties":false,"properties":{"end":{"description":"Value for end.","maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"file-offset-range","description":"Value for kind.","type":"string"},"start":{"description":"Value for start.","maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["kind","start","end"],"type":"object"}]},"type":"array"},"normalized_result":{"$ref":"#/$defs/__schema0","description":"Value for normalized result."},"operation":{"description":"Value for operation.","minLength":1,"type":"string"},"parameters":{"additionalProperties":{"$ref":"#/$defs/__schema0"},"description":"Value for parameters.","propertyNames":{"type":"string"},"type":"object"},"predicate_type":{"description":"Value for predicate type.","minLength":1,"type":"string"},"provider":{"additionalProperties":false,"description":"Value for provider.","properties":{"id":{"description":"Value for id.","minLength":1,"type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Value for version."}},"required":["id","name","version"],"type":"object"},"raw_result":{"anyOf":[{"$ref":"#/$defs/__schema0"},{"type":"null"}],"description":"Value for raw result."},"schema_version":{"const":2,"description":"Version of this structured result schema.","type":"number"},"subject":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"enum":["x86","x86_64","arm","arm64"],"type":"string"},{"type":"null"}],"description":"Value for architecture."},"digest":{"additionalProperties":false,"description":"Value for digest.","properties":{"sha256":{"description":"Value for sha256.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["sha256"],"type":"object"},"format":{"description":"Declared input artifact format.","enum":["hopper","analysis-database","mach-o","elf","pe","zip","ipa","apk","msix","appx","asar","dmg","pkg","plist","javascript","source-map","directory","file","unknown","mach-o-universal","javascript-bundle","entitlements"],"type":"string"},"local_path":{"description":"Local filesystem path for local.","type":"string"},"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"}},"required":["name","digest","format","architecture","local_path"],"type":"object"},{"type":"null"}],"description":"Value for subject."}},"required":["schema_version","evidence_id","subject","provider","predicate_type","operation","parameters","raw_result","normalized_result","confidence","authority","environment","limitations","locations","evidence_links"],"type":"object"},"maxItems":100,"minItems":1,"type":"array"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry.","type":"boolean"}},"required":["static_comparisons","runtime_comparisons","mappings"],"type":"object"},"kind":"session","name":"correlate_static_and_runtime","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"correlations":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"classification":{"enum":["hypothesis","contradiction","unresolved_branch"],"type":"string"},"correlation_id":{"pattern":"^cor_[a-f0-9]{64}$","type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":20100,"minItems":2,"type":"array"},"hypothesis":{"additionalProperties":false,"properties":{"expected_pattern":{"enum":["cochanged","static_only","runtime_only","both_unchanged"],"type":"string"},"statement":{"maxLength":500,"minLength":1,"type":"string"}},"required":["statement","expected_pattern"],"type":"object"},"limitations":{"items":{"type":"string"},"type":"array"},"observed_pattern":{"enum":["cochanged","static_only","runtime_only","both_unchanged","unknown","truncated"],"type":"string"},"runtime":{"additionalProperties":false,"properties":{"comparison_evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"dimension":{"enum":["terminal","interaction","exit","filesystem","protocol","process","shim"],"type":"string"},"status":{"enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"],"type":"string"}},"required":["comparison_evidence_id","dimension","status"],"type":"object"},"side_alignment":{"enum":["left_to_left","left_to_right"],"type":"string"},"static":{"additionalProperties":false,"properties":{"comparison_evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"conclusion_kind":{"enum":["derived_relationship","contradiction","unresolved_branch"],"type":"string"},"selector":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"artifact","type":"string"},"logical_path":{"maxLength":4096,"minLength":1,"type":"string"}},"required":["kind","logical_path"],"type":"object"},{"additionalProperties":false,"properties":{"dimension":{"enum":["identity","pseudocode","assembly","comments","calls","references","strings_names","cfg"],"type":"string"},"kind":{"const":"function","type":"string"}},"required":["kind","dimension"],"type":"object"}]},"status":{"enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"],"type":"string"}},"required":["comparison_evidence_id","selector","status","conclusion_kind"],"type":"object"}},"required":["correlation_id","static","runtime","side_alignment","hypothesis","observed_pattern","classification","evidence_links","limitations"],"type":"object"},"maxItems":100,"type":"array"},"limit":{"maximum":100,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset"],"type":"object"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":20100,"minItems":2,"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"status":{"enum":["correlated","contradicted","unknown","truncated"],"type":"string"},"summary":{"additionalProperties":false,"properties":{"contradictions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"hypotheses":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"unresolved":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["hypotheses","contradictions","unresolved"],"type":"object"}},"required":["status","summary","correlations","evidence_links","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":true,"title":"Correlate Static And Runtime"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"limit":100,"offset":0,"specification":{"claims":[{"claim_id":"terminal-output","comparison_evidence_id":"ev_2ffc472e561cea4b5e65ddaf7b80bc112b7ed6d0d023f0cf7398bc2068a12e2d","dimension":"terminal","kind":"behavioral","title":"Terminal output remains equivalent"}],"name":"Terminal compatibility","schema_version":1}}],"properties":{"coverage":{"additionalProperties":false,"description":"Exact reconstruction-coverage commitment to verify.","properties":{"boundary_id":{"description":"Exact reconstruction boundary identifier to evaluate.","maxLength":200,"minLength":1,"type":"string"},"revision":{"description":"Value for revision.","maximum":9007199254740991,"minimum":1,"type":"integer"},"revision_sha256":{"description":"Exact SHA-256 digest of revision.","pattern":"^[a-f0-9]{64}$","type":"string"},"workspace_id":{"description":"Value for workspace id.","pattern":"^rcw_[a-f0-9]{64}$","type":"string"}},"required":["workspace_id","revision","revision_sha256","boundary_id"],"type":"object"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":100,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"specification":{"additionalProperties":false,"description":"Value for specification.","properties":{"claims":{"description":"Value for claims.","items":{"oneOf":[{"additionalProperties":false,"properties":{"claim_id":{"description":"Value for claim id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,99}$","type":"string"},"comparison_evidence_id":{"description":"Exact Evidence v2 identifier for the comparison observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"dimension":{"description":"Value for dimension.","enum":["overall","terminal","interaction","exit","filesystem","protocol","process","shim"],"type":"string"},"kind":{"const":"behavioral","description":"Value for kind.","type":"string"},"title":{"description":"Value for title.","maxLength":500,"minLength":1,"type":"string"}},"required":["claim_id","title","comparison_evidence_id","kind","dimension"],"type":"object"},{"additionalProperties":false,"properties":{"claim_id":{"description":"Value for claim id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,99}$","type":"string"},"comparison_evidence_id":{"description":"Exact Evidence v2 identifier for the comparison observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"dimension":{"description":"Value for dimension.","enum":["overall","identity","pseudocode","assembly","comments","calls","references","strings_names","cfg"],"type":"string"},"kind":{"const":"structural-function","description":"Value for kind.","type":"string"},"title":{"description":"Value for title.","maxLength":500,"minLength":1,"type":"string"}},"required":["claim_id","title","comparison_evidence_id","kind","dimension"],"type":"object"},{"additionalProperties":false,"properties":{"claim_id":{"description":"Value for claim id.","pattern":"^[A-Za-z][A-Za-z0-9._-]{0,99}$","type":"string"},"comparison_evidence_id":{"description":"Exact Evidence v2 identifier for the comparison observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"dimension":{"const":"overall","description":"Value for dimension.","type":"string"},"kind":{"const":"structural-artifact","description":"Value for kind.","type":"string"},"title":{"description":"Value for title.","maxLength":500,"minLength":1,"type":"string"}},"required":["claim_id","title","comparison_evidence_id","kind","dimension"],"type":"object"}]},"maxItems":100,"minItems":1,"type":"array"},"name":{"description":"Exact name used by this operation.","maxLength":200,"minLength":1,"type":"string"},"schema_version":{"const":1,"description":"Version of this structured result schema.","type":"number"}},"required":["schema_version","name","claims"],"type":"object"},"unknown_registry_approved":{"const":true,"description":"Explicit approval to record bounded residual uncertainty in the session registry.","type":"boolean"}},"required":["specification"],"type":"object"},"kind":"session","name":"verify_reconstruction","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"evidence_id":{"description":"Stable identifier of the recorded Evidence v2 observation.","pattern":"^ev_[a-f0-9]{64}$","type":"string"},"evidence_uri":{"description":"Session resource URI for the recorded Evidence v2 observation.","pattern":"^rea:\\\\/\\\\/evidence\\\\/ev_[a-f0-9]{64}$","type":"string"},"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"claims":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"claim_id":{"pattern":"^[A-Za-z][A-Za-z0-9._-]{0,99}$","type":"string"},"comparison_evidence_id":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"dimension":{"minLength":1,"type":"string"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":201,"minItems":3,"type":"array"},"kind":{"enum":["behavioral","structural-function","structural-artifact"],"type":"string"},"left_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"observed_status":{"enum":["unchanged","added","removed","changed","truncated","unknown","contradiction"],"type":"string"},"right_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"status":{"enum":["pass","fail","unknown"],"type":"string"},"unknown_ids":{"items":{"pattern":"^unk_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"}},"required":["claim_id","kind","dimension","status","observed_status","comparison_evidence_id","left_evidence_ids","right_evidence_ids","evidence_links","unknown_ids","limitations"],"type":"object"},"maxItems":100,"type":"array"},"limit":{"maximum":100,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":100,"minimum":1,"type":"integer"}},"required":["items","offset","limit","total","next_offset"],"type":"object"},"evidence_links":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":20100,"minItems":3,"type":"array"},"limitations":{"items":{"type":"string"},"type":"array"},"recommended_probes":{"items":{"additionalProperties":false,"properties":{"claim_ids":{"items":{"pattern":"^[A-Za-z][A-Za-z0-9._-]{0,99}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"operation":{"maxLength":200,"minLength":1,"type":"string"},"rationale":{"maxLength":1000,"minLength":1,"type":"string"},"unknown_ids":{"items":{"pattern":"^unk_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"}},"required":["operation","rationale","claim_ids","unknown_ids"],"type":"object"},"maxItems":2000,"type":"array"},"specification_sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"status":{"enum":["pass","fail","unknown"],"type":"string"},"summary":{"additionalProperties":false,"properties":{"behavioral":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"failed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"passed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"structural":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":100,"minimum":1,"type":"integer"},"unknown":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["total","passed","failed","unknown","behavioral","structural"],"type":"object"}},"required":["status","specification_sha256","summary","claims","recommended_probes","evidence_links","limitations"],"type":"object"}},"required":["result","evidence_id","evidence_uri"],"type":"object"},"requiresSession":true,"title":"Verify Reconstruction"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true},"description":"List current residual-unknown heads in deterministic ID order, with optional exact status, severity, and domain filters. Pages default to 100 items; while has_more is true, pass next_offset as offset and continue until false. This is read-only; unresolved, contradicted, and non-truth dispositions remain distinct.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":false,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"limit":100,"offset":0}],"properties":{"domain":{"description":"Value for domain.","maxLength":100,"minLength":1,"type":"string"},"limit":{"default":100,"description":"Maximum number of results to return in this page.","maximum":500,"minimum":1,"type":"integer"},"offset":{"default":0,"description":"Zero-based index of the first result to return.","maximum":9007199254740991,"minimum":0,"type":"integer"},"severity":{"description":"Value for severity.","enum":["low","medium","high","critical"],"type":"string"},"status":{"description":"Current lifecycle or verification status.","enum":["open","investigating","blocked","contradicted","resolved"],"type":"string"}},"type":"object"},"kind":"session","name":"list_unknowns","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"has_more":{"type":"boolean"},"items":{"items":{"additionalProperties":false,"properties":{"unknown":{"additionalProperties":false,"properties":{"contradicting_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"domain":{"maxLength":100,"minLength":1,"type":"string"},"mutation_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"previous_revision_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"question":{"maxLength":1000,"minLength":1,"type":"string"},"recommended_probes":{"items":{"additionalProperties":false,"properties":{"operation":{"maxLength":200,"minLength":1,"type":"string"},"rationale":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["operation","rationale"],"type":"object"},"maxItems":20,"type":"array"},"registry_version":{"const":1,"type":"number"},"relationships":{"items":{"additionalProperties":false,"properties":{"type":{"enum":["depends-on","related-to","contradicts"],"type":"string"},"unknown_id":{"pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["type","unknown_id"],"type":"object"},"maxItems":100,"type":"array"},"required_authority":{"anyOf":[{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},{"type":"null"}]},"required_confidence":{"enum":["observed","derived","inferred"],"type":"string"},"required_environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}]},"id":{"anyOf":[{"maxLength":200,"minLength":1,"type":"string"},{"type":"null"}]},"isolation":{"anyOf":[{"enum":["none","process","container","virtual-machine"],"type":"string"},{"type":"null"}]},"platform":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"resolution":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"disposition":{"const":"verified","type":"string"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"rationale":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"},{"additionalProperties":false,"properties":{"disposition":{"enum":["withdrawn","out-of-scope"],"type":"string"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"rationale":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"}]},{"type":"null"}]},"revision":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"revision_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"scope_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"severity":{"enum":["low","medium","high","critical"],"type":"string"},"status":{"enum":["open","investigating","blocked","contradicted","resolved"],"type":"string"},"supporting_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"unknown_id":{"pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"type":"object"},"uri":{"pattern":"^rea:\\\\/\\\\/unknown\\\\/unk_[a-f0-9]{64}$","type":"string"}},"required":["unknown","uri"],"type":"object"},"type":"array"},"limit":{"maximum":500,"minimum":1,"type":"integer"},"next_offset":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offset":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","offset","limit","total","next_offset","has_more"],"type":"object"}},"required":["result"],"type":"object"},"requiresSession":true,"title":"List Unknowns"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false},"description":"Create one deterministic residual unknown and immutable mutation evidence. Requires approved: true, validates all evidence and relationship references, and rejects duplicate stable identity.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":false,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"approved":true,"contradicting_evidence_ids":[],"domain":"protocol","question":"Does this branch require an unavailable external service?","recommended_probes":[{"operation":"capture_process_scenario","rationale":"Replay branch."}],"relationships":[],"required_authority":"controlled-replay","required_confidence":"observed","required_environment":null,"severity":"medium","supporting_evidence_ids":[]}],"properties":{"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"contradicting_evidence_ids":{"default":[],"description":"Ordered Evidence v2 identifiers for the contradicting observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"domain":{"description":"Value for domain.","maxLength":100,"minLength":1,"type":"string"},"question":{"description":"Concrete unresolved question to retain for later investigation.","maxLength":1000,"minLength":1,"type":"string"},"recommended_probes":{"description":"Value for recommended probes.","items":{"additionalProperties":false,"properties":{"operation":{"description":"Value for operation.","maxLength":200,"minLength":1,"type":"string"},"rationale":{"description":"Value for rationale.","maxLength":1000,"minLength":1,"type":"string"}},"required":["operation","rationale"],"type":"object"},"maxItems":20,"type":"array"},"relationships":{"description":"Value for relationships.","items":{"additionalProperties":false,"properties":{"type":{"description":"Value for type.","enum":["depends-on","related-to","contradicts"],"type":"string"},"unknown_id":{"description":"Exact residual-unknown identifier.","pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["type","unknown_id"],"type":"object"},"maxItems":100,"type":"array"},"required_authority":{"anyOf":[{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},{"type":"null"}],"description":"Value for required authority."},"required_confidence":{"description":"Value for required confidence.","enum":["observed","derived","inferred"],"type":"string"},"required_environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for architecture."},"id":{"anyOf":[{"maxLength":200,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for id."},"isolation":{"anyOf":[{"enum":["none","process","container","virtual-machine"],"type":"string"},{"type":"null"}],"description":"Value for isolation."},"platform":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for platform."}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for required environment."},"severity":{"description":"Value for severity.","enum":["low","medium","high","critical"],"type":"string"},"supporting_evidence_ids":{"default":[],"description":"Ordered Evidence v2 identifiers for the supporting observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"}},"required":["question","severity","domain","required_authority","required_confidence","required_environment","recommended_probes","relationships","approved"],"type":"object"},"kind":"session","name":"record_unknown","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"contradicting_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"domain":{"maxLength":100,"minLength":1,"type":"string"},"mutation_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"previous_revision_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"question":{"maxLength":1000,"minLength":1,"type":"string"},"recommended_probes":{"items":{"additionalProperties":false,"properties":{"operation":{"maxLength":200,"minLength":1,"type":"string"},"rationale":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["operation","rationale"],"type":"object"},"maxItems":20,"type":"array"},"registry_version":{"const":1,"type":"number"},"relationships":{"items":{"additionalProperties":false,"properties":{"type":{"enum":["depends-on","related-to","contradicts"],"type":"string"},"unknown_id":{"pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["type","unknown_id"],"type":"object"},"maxItems":100,"type":"array"},"required_authority":{"anyOf":[{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},{"type":"null"}]},"required_confidence":{"enum":["observed","derived","inferred"],"type":"string"},"required_environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}]},"id":{"anyOf":[{"maxLength":200,"minLength":1,"type":"string"},{"type":"null"}]},"isolation":{"anyOf":[{"enum":["none","process","container","virtual-machine"],"type":"string"},{"type":"null"}]},"platform":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"resolution":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"disposition":{"const":"verified","type":"string"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"rationale":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"},{"additionalProperties":false,"properties":{"disposition":{"enum":["withdrawn","out-of-scope"],"type":"string"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"rationale":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"}]},{"type":"null"}]},"revision":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"revision_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"scope_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"severity":{"enum":["low","medium","high","critical"],"type":"string"},"status":{"enum":["open","investigating","blocked","contradicted","resolved"],"type":"string"},"supporting_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"unknown_id":{"pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"type":"object"}},"required":["result"],"type":"object"},"requiresSession":true,"title":"Record Unknown"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false},"description":"Append one immutable full-state revision and mutation evidence. Requires approved: true and exact expected_revision; stale concurrent writers fail instead of overwriting newer analysis.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":false,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"approved":true,"contradicting_evidence_ids":[],"expected_revision":1,"recommended_probes":[],"relationships":[],"required_authority":"controlled-replay","required_confidence":"observed","required_environment":null,"resolution":null,"severity":"medium","status":"investigating","supporting_evidence_ids":[],"unknown_id":"unk_0000000000000000000000000000000000000000000000000000000000000000"}],"properties":{"approved":{"const":true,"description":"Explicit operator approval to perform this operation.","type":"boolean"},"contradicting_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the contradicting observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"expected_revision":{"description":"Expected revision used to reject stale or mismatched input.","maximum":9007199254740991,"minimum":1,"type":"integer"},"recommended_probes":{"description":"Value for recommended probes.","items":{"additionalProperties":false,"properties":{"operation":{"description":"Value for operation.","maxLength":200,"minLength":1,"type":"string"},"rationale":{"description":"Value for rationale.","maxLength":1000,"minLength":1,"type":"string"}},"required":["operation","rationale"],"type":"object"},"maxItems":20,"type":"array"},"relationships":{"description":"Value for relationships.","items":{"additionalProperties":false,"properties":{"type":{"description":"Value for type.","enum":["depends-on","related-to","contradicts"],"type":"string"},"unknown_id":{"description":"Exact residual-unknown identifier.","pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["type","unknown_id"],"type":"object"},"maxItems":100,"type":"array"},"required_authority":{"anyOf":[{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},{"type":"null"}],"description":"Value for required authority."},"required_confidence":{"description":"Value for required confidence.","enum":["observed","derived","inferred"],"type":"string"},"required_environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for architecture."},"id":{"anyOf":[{"maxLength":200,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for id."},"isolation":{"anyOf":[{"enum":["none","process","container","virtual-machine"],"type":"string"},{"type":"null"}],"description":"Value for isolation."},"platform":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}],"description":"Value for platform."}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}],"description":"Value for required environment."},"resolution":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"disposition":{"const":"verified","description":"Value for disposition.","type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"rationale":{"description":"Value for rationale.","maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"},{"additionalProperties":false,"properties":{"disposition":{"description":"Value for disposition.","enum":["withdrawn","out-of-scope"],"type":"string"},"evidence_ids":{"description":"Value for evidence ids.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"rationale":{"description":"Value for rationale.","maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"}]},{"type":"null"}],"description":"Value for resolution."},"severity":{"description":"Value for severity.","enum":["low","medium","high","critical"],"type":"string"},"status":{"description":"Current lifecycle or verification status.","enum":["open","investigating","blocked","contradicted","resolved"],"type":"string"},"supporting_evidence_ids":{"description":"Ordered Evidence v2 identifiers for the supporting observations.","items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"unknown_id":{"description":"Exact residual-unknown identifier.","pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["unknown_id","expected_revision","approved","status","severity","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution"],"type":"object"},"kind":"session","name":"update_unknown","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"contradicting_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"domain":{"maxLength":100,"minLength":1,"type":"string"},"mutation_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"previous_revision_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"question":{"maxLength":1000,"minLength":1,"type":"string"},"recommended_probes":{"items":{"additionalProperties":false,"properties":{"operation":{"maxLength":200,"minLength":1,"type":"string"},"rationale":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["operation","rationale"],"type":"object"},"maxItems":20,"type":"array"},"registry_version":{"const":1,"type":"number"},"relationships":{"items":{"additionalProperties":false,"properties":{"type":{"enum":["depends-on","related-to","contradicts"],"type":"string"},"unknown_id":{"pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["type","unknown_id"],"type":"object"},"maxItems":100,"type":"array"},"required_authority":{"anyOf":[{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},{"type":"null"}]},"required_confidence":{"enum":["observed","derived","inferred"],"type":"string"},"required_environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}]},"id":{"anyOf":[{"maxLength":200,"minLength":1,"type":"string"},{"type":"null"}]},"isolation":{"anyOf":[{"enum":["none","process","container","virtual-machine"],"type":"string"},{"type":"null"}]},"platform":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"resolution":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"disposition":{"const":"verified","type":"string"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"rationale":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"},{"additionalProperties":false,"properties":{"disposition":{"enum":["withdrawn","out-of-scope"],"type":"string"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"rationale":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"}]},{"type":"null"}]},"revision":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"revision_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"scope_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"severity":{"enum":["low","medium","high","critical"],"type":"string"},"status":{"enum":["open","investigating","blocked","contradicted","resolved"],"type":"string"},"supporting_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"unknown_id":{"pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"type":"object"}},"required":["result"],"type":"object"},"requiresSession":true,"title":"Update Unknown"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true},"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.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":false,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"unknown_id":"unk_0000000000000000000000000000000000000000000000000000000000000000"}],"properties":{"unknown_id":{"description":"Exact residual-unknown identifier.","pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["unknown_id"],"type":"object"},"kind":"session","name":"verify_unknown_resolution","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"truthVerified":{"type":"boolean"},"unknown":{"additionalProperties":false,"properties":{"contradicting_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"domain":{"maxLength":100,"minLength":1,"type":"string"},"mutation_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"previous_revision_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"question":{"maxLength":1000,"minLength":1,"type":"string"},"recommended_probes":{"items":{"additionalProperties":false,"properties":{"operation":{"maxLength":200,"minLength":1,"type":"string"},"rationale":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["operation","rationale"],"type":"object"},"maxItems":20,"type":"array"},"registry_version":{"const":1,"type":"number"},"relationships":{"items":{"additionalProperties":false,"properties":{"type":{"enum":["depends-on","related-to","contradicts"],"type":"string"},"unknown_id":{"pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["type","unknown_id"],"type":"object"},"maxItems":100,"type":"array"},"required_authority":{"anyOf":[{"enum":["shipped-artifact","controlled-replay","historical-reference","external-service","analyst-inference"],"type":"string"},{"type":"null"}]},"required_confidence":{"enum":["observed","derived","inferred"],"type":"string"},"required_environment":{"anyOf":[{"additionalProperties":false,"properties":{"architecture":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}]},"id":{"anyOf":[{"maxLength":200,"minLength":1,"type":"string"},{"type":"null"}]},"isolation":{"anyOf":[{"enum":["none","process","container","virtual-machine"],"type":"string"},{"type":"null"}]},"platform":{"anyOf":[{"maxLength":100,"minLength":1,"type":"string"},{"type":"null"}]}},"required":["id","platform","architecture","isolation"],"type":"object"},{"type":"null"}]},"resolution":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"disposition":{"const":"verified","type":"string"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"rationale":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"},{"additionalProperties":false,"properties":{"disposition":{"enum":["withdrawn","out-of-scope"],"type":"string"},"evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"rationale":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["disposition","rationale","evidence_ids"],"type":"object"}]},{"type":"null"}]},"revision":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"revision_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"scope_digest":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"severity":{"enum":["low","medium","high","critical"],"type":"string"},"status":{"enum":["open","investigating","blocked","contradicted","resolved"],"type":"string"},"supporting_evidence_ids":{"items":{"pattern":"^ev_[a-f0-9]{64}$","type":"string"},"maxItems":100,"type":"array"},"unknown_id":{"pattern":"^unk_[a-f0-9]{64}$","type":"string"}},"required":["registry_version","unknown_id","revision","previous_revision_digest","revision_digest","scope_digest","question","status","severity","domain","supporting_evidence_ids","contradicting_evidence_ids","required_authority","required_confidence","required_environment","recommended_probes","relationships","resolution","mutation_evidence_ids"],"type":"object"},"valid":{"type":"boolean"}},"required":["valid","truthVerified","unknown"],"type":"object"}},"required":["result"],"type":"object"},"requiresSession":true,"title":"Verify Unknown Resolution"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true},"description":"Evaluate ordered HTTP and WebSocket events directly against one validated finite replay machine without opening sockets or launching a target. Returns every decision, a capture-value-free transition journal, one redacted action table entry per used transition, captured aliases, final state, and exact configured and consumed limits.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":false,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"events":[{"at_ms":0,"body":"{\\"token\\":\\"opaque\\"}","connection":"not_applicable","headers":{},"method":"POST","path":"/callback","protocol":"http"}],"machine":{"initial_state":"waiting","limits":{"bytes":1000000,"connections":100,"duration_ms":30000,"messages":10000},"max_transitions":1,"states":[{"max_visits":100000,"name":"waiting","terminal":false},{"max_visits":100000,"name":"complete","terminal":true}],"transitions":[{"actions":[{"body":"","headers":{},"status":204,"type":"http_response"}],"captures":[{"sensitive":true,"value":{"path":["token"],"source":"request_json"},"variable":"token"}],"from":"waiting","guards":[],"id":"accept_callback","max_uses":1,"priority":100,"to":"complete","trigger":{"body":null,"headers":{},"method":"POST","path":"/callback","protocol":"http"}}]}}],"properties":{"events":{"description":"Value for events.","items":{"oneOf":[{"additionalProperties":false,"properties":{"at_ms":{"description":"Value for at ms.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"body":{"description":"Value for body.","maxLength":1000000,"type":"string"},"connection":{"const":"not_applicable","description":"Value for connection.","type":"string"},"headers":{"additionalProperties":{"maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$","type":"string"},"description":"Value for headers.","propertyNames":{"maxLength":256,"minLength":1,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"type":"object"},"method":{"description":"Value for method.","maxLength":16,"minLength":1,"type":"string"},"path":{"description":"Local filesystem path used by this operation.","maxLength":8192,"pattern":"^\\\\/.*","type":"string"},"protocol":{"const":"http","description":"Value for protocol.","type":"string"}},"required":["protocol","connection","method","at_ms","path","headers","body"],"type":"object"},{"additionalProperties":false,"properties":{"at_ms":{"description":"Value for at ms.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"body":{"description":"Value for body.","maxLength":1000000,"type":"string"},"connection":{"description":"Value for connection.","enum":["initial","reconnect"],"type":"string"},"headers":{"additionalProperties":{"maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$","type":"string"},"description":"Value for headers.","propertyNames":{"maxLength":256,"minLength":1,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"type":"object"},"method":{"description":"Value for method.","type":"null"},"path":{"description":"Local filesystem path used by this operation.","maxLength":8192,"pattern":"^\\\\/.*","type":"string"},"protocol":{"const":"websocket_connect","description":"Value for protocol.","type":"string"}},"required":["protocol","connection","method","at_ms","path","headers","body"],"type":"object"},{"additionalProperties":false,"properties":{"at_ms":{"description":"Value for at ms.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"body":{"description":"Value for body.","maxLength":1000000,"type":"string"},"connection":{"description":"Value for connection.","enum":["initial","reconnect"],"type":"string"},"headers":{"additionalProperties":{"maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$","type":"string"},"description":"Value for headers.","propertyNames":{"maxLength":256,"minLength":1,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"type":"object"},"method":{"description":"Value for method.","type":"null"},"path":{"description":"Local filesystem path used by this operation.","maxLength":8192,"pattern":"^\\\\/.*","type":"string"},"protocol":{"const":"websocket_message","description":"Value for protocol.","type":"string"}},"required":["protocol","connection","method","at_ms","path","headers","body"],"type":"object"}]},"maxItems":10000,"type":"array"},"machine":{"additionalProperties":false,"description":"Value for machine.","properties":{"initial_state":{"description":"Value for initial state.","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"},"limits":{"additionalProperties":false,"default":{"bytes":1000000,"connections":100,"duration_ms":30000,"messages":10000},"description":"Bounded resource-consumption and result-size limits for this operation.","properties":{"bytes":{"default":1000000,"description":"Value for bytes.","maximum":10000000,"minimum":1,"type":"integer"},"connections":{"default":100,"description":"Value for connections.","maximum":1000,"minimum":1,"type":"integer"},"duration_ms":{"default":30000,"description":"Value for duration ms.","maximum":300000,"minimum":1,"type":"integer"},"messages":{"default":10000,"description":"Value for messages.","maximum":100000,"minimum":1,"type":"integer"}},"type":"object"},"max_transitions":{"description":"Maximum permitted transitions for this operation.","maximum":100000,"minimum":1,"type":"integer"},"states":{"description":"Value for states.","items":{"additionalProperties":false,"properties":{"max_visits":{"default":100000,"description":"Maximum permitted visits for this operation.","maximum":100000,"minimum":1,"type":"integer"},"name":{"description":"Exact name used by this operation.","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"},"terminal":{"default":false,"description":"Value for terminal.","type":"boolean"}},"required":["name"],"type":"object"},"maxItems":256,"minItems":1,"type":"array"},"transitions":{"description":"Value for transitions.","items":{"additionalProperties":false,"properties":{"actions":{"description":"Value for actions.","items":{"oneOf":[{"additionalProperties":false,"properties":{"body":{"description":"Value for body.","maxLength":1000000,"type":"string"},"headers":{"additionalProperties":{"maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$","type":"string"},"default":{},"description":"Value for headers.","propertyNames":{"maxLength":256,"minLength":1,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"type":"object"},"status":{"description":"Current lifecycle or verification status.","maximum":599,"minimum":100,"type":"integer"},"type":{"const":"http_response","description":"Value for type.","type":"string"}},"required":["type","status","body"],"type":"object"},{"additionalProperties":false,"properties":{"data":{"description":"Value for data.","maxLength":1000000,"type":"string"},"type":{"const":"websocket_send","description":"Value for type.","type":"string"}},"required":["type","data"],"type":"object"},{"additionalProperties":false,"properties":{"type":{"const":"disconnect","description":"Value for type.","type":"string"}},"required":["type"],"type":"object"},{"additionalProperties":false,"properties":{"duration_ms":{"description":"Value for duration ms.","maximum":30000,"minimum":0,"type":"integer"},"type":{"const":"delay","description":"Value for type.","type":"string"}},"required":["type","duration_ms"],"type":"object"}]},"maxItems":32,"minItems":1,"type":"array"},"captures":{"description":"Value for captures.","items":{"additionalProperties":false,"properties":{"sensitive":{"default":false,"description":"Value for sensitive.","type":"boolean"},"value":{"description":"Value for value.","oneOf":[{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"source":{"const":"request_header","description":"Value for source.","type":"string"}},"required":["source","name"],"type":"object"},{"additionalProperties":false,"properties":{"path":{"description":"Local filesystem path used by this operation.","items":{"anyOf":[{"maxLength":256,"type":"string"},{"maximum":9007199254740991,"minimum":0,"type":"integer"}]},"maxItems":32,"type":"array"},"source":{"const":"request_json","description":"Value for source.","type":"string"}},"required":["source","path"],"type":"object"},{"additionalProperties":false,"properties":{"path":{"description":"Local filesystem path used by this operation.","items":{"anyOf":[{"maxLength":256,"type":"string"},{"maximum":9007199254740991,"minimum":0,"type":"integer"}]},"maxItems":32,"type":"array"},"source":{"const":"websocket_json","description":"Value for source.","type":"string"}},"required":["source","path"],"type":"object"},{"additionalProperties":false,"properties":{"path":{"description":"Local filesystem path used by this operation.","items":{"anyOf":[{"maxLength":256,"type":"string"},{"maximum":9007199254740991,"minimum":0,"type":"integer"}]},"maxItems":32,"type":"array"},"source":{"const":"action_json","description":"Value for source.","type":"string"}},"required":["source","path"],"type":"object"}]},"variable":{"description":"Value for variable.","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"}},"required":["variable","value"],"type":"object"},"maxItems":32,"type":"array"},"from":{"description":"Value for from.","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"},"guards":{"description":"Value for guards.","items":{"additionalProperties":false,"properties":{"value":{"description":"Value for value.","oneOf":[{"additionalProperties":false,"properties":{"name":{"description":"Exact name used by this operation.","minLength":1,"type":"string"},"source":{"const":"request_header","description":"Value for source.","type":"string"}},"required":["source","name"],"type":"object"},{"additionalProperties":false,"properties":{"path":{"description":"Local filesystem path used by this operation.","items":{"anyOf":[{"maxLength":256,"type":"string"},{"maximum":9007199254740991,"minimum":0,"type":"integer"}]},"maxItems":32,"type":"array"},"source":{"const":"request_json","description":"Value for source.","type":"string"}},"required":["source","path"],"type":"object"},{"additionalProperties":false,"properties":{"path":{"description":"Local filesystem path used by this operation.","items":{"anyOf":[{"maxLength":256,"type":"string"},{"maximum":9007199254740991,"minimum":0,"type":"integer"}]},"maxItems":32,"type":"array"},"source":{"const":"websocket_json","description":"Value for source.","type":"string"}},"required":["source","path"],"type":"object"},{"additionalProperties":false,"properties":{"path":{"description":"Local filesystem path used by this operation.","items":{"anyOf":[{"maxLength":256,"type":"string"},{"maximum":9007199254740991,"minimum":0,"type":"integer"}]},"maxItems":32,"type":"array"},"source":{"const":"action_json","description":"Value for source.","type":"string"}},"required":["source","path"],"type":"object"}]},"variable":{"description":"Value for variable.","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"}},"required":["variable","value"],"type":"object"},"maxItems":32,"type":"array"},"id":{"description":"Value for id.","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"},"max_uses":{"description":"Maximum permitted uses for this operation.","maximum":10000,"minimum":1,"type":"integer"},"priority":{"default":100,"description":"Value for priority.","maximum":1000,"minimum":0,"type":"integer"},"to":{"description":"Value for to.","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"},"trigger":{"description":"Value for trigger.","oneOf":[{"additionalProperties":false,"properties":{"body":{"anyOf":[{"maxLength":1000000,"type":"string"},{"type":"null"}],"default":null,"description":"Value for body."},"headers":{"additionalProperties":{"maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$","type":"string"},"description":"Value for headers.","propertyNames":{"maxLength":256,"minLength":1,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"type":"object"},"method":{"description":"Value for method.","maxLength":16,"minLength":1,"type":"string"},"path":{"description":"Local filesystem path used by this operation.","pattern":"^\\\\/.*","type":"string"},"protocol":{"const":"http","description":"Value for protocol.","type":"string"}},"required":["protocol","method","path"],"type":"object"},{"additionalProperties":false,"properties":{"headers":{"additionalProperties":{"maxLength":8192,"pattern":"^[\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]*$","type":"string"},"description":"Value for headers.","propertyNames":{"maxLength":256,"minLength":1,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"type":"object"},"path":{"description":"Local filesystem path used by this operation.","pattern":"^\\\\/.*","type":"string"},"protocol":{"const":"websocket_connect","description":"Value for protocol.","type":"string"}},"required":["protocol","path"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"anyOf":[{"maxLength":1000000,"type":"string"},{"type":"null"}],"default":null,"description":"Value for body."},"path":{"description":"Local filesystem path used by this operation.","pattern":"^\\\\/.*","type":"string"},"protocol":{"const":"websocket_message","description":"Value for protocol.","type":"string"}},"required":["protocol","path"],"type":"object"}]}},"required":["id","from","to","trigger","actions","max_uses"],"type":"object"},"maxItems":2000,"minItems":1,"type":"array"}},"required":["initial_state","states","transitions","max_transitions"],"type":"object"}},"required":["machine","events"],"type":"object"},"kind":"session","name":"run_replay_machine","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"decisions":{"items":{"additionalProperties":false,"properties":{"event_sequence":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"outcome":{"anyOf":[{"const":"matched","type":"string"},{"enum":["unmatched","invalid_state","guard_failed","transition_exhausted","invalid_capture","unexpected_reconnect","limit_exhausted"],"type":"string"}]},"transition_sequence":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]}},"required":["event_sequence","outcome","transition_sequence"],"type":"object"},"maxItems":10000,"type":"array"},"final_state":{"pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"},"initial_state":{"pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"},"limits":{"additionalProperties":false,"properties":{"configured":{"additionalProperties":false,"properties":{"bytes":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"connections":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"duration_ms":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"messages":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"transitions":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["transitions","connections","messages","bytes","duration_ms"],"type":"object"},"usage":{"additionalProperties":false,"properties":{"admitted_events":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"connections":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"last_at_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"messages":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"offered_events":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"transitions":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["offered_events","admitted_events","transitions","connections","messages","bytes","last_at_ms"],"type":"object"}},"required":["configured","usage"],"type":"object"},"schema_version":{"const":1,"type":"number"},"terminal":{"type":"boolean"},"transition_actions":{"items":{"additionalProperties":false,"properties":{"actions":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"body":{"maxLength":1000000,"type":"string"},"headers":{"additionalProperties":{"maxLength":8192,"type":"string"},"propertyNames":{"maxLength":256,"minLength":1,"pattern":"^[!#$%&\'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"type":"object"},"status":{"maximum":599,"minimum":100,"type":"integer"},"type":{"const":"http_response","type":"string"}},"required":["type","status","headers","body"],"type":"object"},{"additionalProperties":false,"properties":{"data":{"maxLength":1000000,"type":"string"},"type":{"const":"websocket_send","type":"string"}},"required":["type","data"],"type":"object"},{"additionalProperties":false,"properties":{"type":{"const":"disconnect","type":"string"}},"required":["type"],"type":"object"},{"additionalProperties":false,"properties":{"duration_ms":{"maximum":30000,"minimum":0,"type":"integer"},"type":{"const":"delay","type":"string"}},"required":["type","duration_ms"],"type":"object"}]},"maxItems":32,"type":"array"},"transition_id":{"pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"}},"required":["transition_id","actions"],"type":"object"},"maxItems":2000,"type":"array"},"transition_journal":{"items":{"additionalProperties":false,"properties":{"at_ms":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"captured_aliases":{"items":{"additionalProperties":false,"properties":{"name":{"pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"},"sensitive":{"type":"boolean"}},"required":["name","sensitive"],"type":"object"},"maxItems":32,"type":"array"},"sequence":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"state_after":{"pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"},"state_before":{"pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"},"transition_id":{"pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","type":"string"}},"required":["sequence","at_ms","transition_id","state_before","state_after","captured_aliases"],"type":"object"},"maxItems":10000,"type":"array"}},"required":["schema_version","initial_state","final_state","terminal","decisions","transition_journal","transition_actions","limits"],"type":"object"}},"required":["result"],"type":"object"},"requiresSession":true,"title":"Run Replay Machine"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Retain the current canonical Evidence v2 bundle as an immutable session resource. Returns a compact digest summary and exact opaque URI; copy that URI unchanged and call MCP resources/read (Codex: read_mcp_resource) for the full bundle. Repeating an unchanged snapshot is idempotent.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{},"type":"object"},"kind":"session","name":"snapshot_evidence_bundle","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"bundle_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"bundle_uri":{"pattern":"^rea:\\\\/\\\\/evidence-bundle\\\\/[a-f0-9]{64}$","type":"string"},"bundle_version":{"const":2,"type":"number"},"bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"records":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"scope":{"const":"session","type":"string"},"survives_session":{"const":false,"type":"boolean"},"unknowns":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["bundle_digest","bundle_version","bytes","records","unknowns","scope","survives_session","bundle_uri"],"type":"object"}},"required":["result"],"type":"object"},"requiresSession":true,"title":"Snapshot Evidence Bundle"},{"analysisOperation":null,"annotations":{"destructiveHint":true,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Release one immutable session-retained Evidence v2 bundle by exact digest. This is the recovery operation when bounded bundle retention is exhausted; releasing an unknown digest is idempotent and reports released: false.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":true,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"bundle_digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}],"properties":{"bundle_digest":{"description":"Value for bundle digest.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["bundle_digest"],"type":"object"},"kind":"session","name":"release_evidence_bundle","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"bundle_digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"released":{"type":"boolean"}},"required":["bundle_digest","released"],"type":"object"}},"required":["result"],"type":"object"},"requiresSession":true,"title":"Release Evidence Bundle"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"description":"Compose the selected document, current address, and containing/current procedure into one provider-neutral result. The result reflects sequential provider observations, not an atomic cursor snapshot; a cursor outside any procedure returns procedure: null. Scalar navigation getters remain available for evaluation and compatibility.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{}],"properties":{"document":{"description":"Exact provider document or program identity.","minLength":1,"type":"string"}},"type":"object"},"kind":"session","name":"get_navigation_context","outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"address":{"type":"string"},"document":{"type":"string"},"procedure":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["document","address","procedure"],"type":"object"}},"required":["result"],"type":"object"},"requiresSession":true,"title":"Get Navigation Context"},{"analysisOperation":null,"annotations":{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false},"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; xrefs, assembly, and pseudocode remain separate bounded follow-ups.","effects":{"accessesNetwork":false,"changesUiState":false,"idempotent":true,"launchesProcess":false,"mayDiscardData":false,"mutatesSession":true,"mutatesTarget":false,"writesFilesystem":false},"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"examples":[{"address":"0x1000"}],"properties":{"address":{"description":"Value for address.","minLength":1,"type":"string"},"document":{"description":"Exact provider document or program identity.","minLength":1,"type":"string"}},"required":["address"],"type":"object"},"kind":"session","name":"inspect_address_context","outputSchema":{"$defs":{"__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#/$defs/__schema0"},"type":"array"},{"additionalProperties":{"$ref":"#/$defs/__schema0"},"propertyNames":{"type":"string"},"type":"object"}]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"result":{"additionalProperties":false,"description":"Primary structured result returned by this operation.","properties":{"address":{"type":"string"},"bookmarks":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"available","type":"string"},"value":{"items":{"additionalProperties":false,"properties":{"address":{"type":"string"},"name":{"type":"string"}},"required":["address","name"],"type":"object"},"type":"array"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"type":"string"},"remediation":{"type":"string"},"state":{"const":"unavailable","type":"string"}},"required":["state","reason","remediation"],"type":"object"}]},"comment":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"available","type":"string"},"value":{"$ref":"#/$defs/__schema0"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"type":"string"},"remediation":{"type":"string"},"state":{"const":"unavailable","type":"string"}},"required":["state","reason","remediation"],"type":"object"}]},"document":{"anyOf":[{"type":"string"},{"type":"null"}]},"inline_comment":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"available","type":"string"},"value":{"$ref":"#/$defs/__schema0"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"type":"string"},"remediation":{"type":"string"},"state":{"const":"unavailable","type":"string"}},"required":["state","reason","remediation"],"type":"object"}]},"name":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"available","type":"string"},"value":{"$ref":"#/$defs/__schema0"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"type":"string"},"remediation":{"type":"string"},"state":{"const":"unavailable","type":"string"}},"required":["state","reason","remediation"],"type":"object"}]},"procedure":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"available","type":"string"},"value":{"$ref":"#/$defs/__schema0"}},"required":["state","value"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"type":"string"},"remediation":{"type":"string"},"state":{"const":"unavailable","type":"string"}},"required":["state","reason","remediation"],"type":"object"}]}},"required":["address","document","name","procedure","comment","inline_comment","bookmarks"],"type":"object"}},"required":["result"],"type":"object"},"requiresSession":true,"title":"Inspect Address Context"}]}'; 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/GhidraProvider.ts b/src/ghidra/GhidraProvider.ts index e023337eb..d6a3df3ad 100644 --- a/src/ghidra/GhidraProvider.ts +++ b/src/ghidra/GhidraProvider.ts @@ -15,6 +15,7 @@ import { import type { AppConfig } from "../config.js"; import type { AnalysisProfileCommitment } from "../domain/analysisProfile.js"; import type { BinaryTarget } from "../domain/binaryTarget.js"; +import { jsonObjectSchema } from "../domain/jsonValue.js"; import { AnalysisCancelledError, AnalysisCapabilityUnavailableError, @@ -61,6 +62,11 @@ import { windowsP0Limitations, limitationsFor, } from "./GhidraProviderCapabilities.js"; +import { + WINDOWS_NATIVE_AUTHORITY_UNAVAILABLE_REASON, + hasWindowsNativeAuthority, + windowsNativeCapabilities, +} from "../process/WindowsAuthority.js"; export { GHIDRA_PROVIDER_IDENTITY, GHIDRA_PROVIDER_TOOL_CONTRACTS }; @@ -98,6 +104,22 @@ export class GhidraProvider implements AnalysisProviderCandidate { inspectAvailability(): ProviderAvailability { const installation = this.#inspectInstallation(); const diagnostics = ghidraInstallationDiagnostics(installation); + if ( + installation.available && + installation.platform === "win32" && + !hasWindowsNativeAuthority(installation.platform) + ) + return { + status: "unavailable", + code: "unsupported_host", + reason: WINDOWS_NATIVE_AUTHORITY_UNAVAILABLE_REASON, + diagnostics: { + ...diagnostics, + windows_security: jsonObjectSchema.parse( + windowsNativeCapabilities(installation.platform), + ), + }, + }; return installation.available ? { status: "available", @@ -362,6 +384,17 @@ const ghidraClientPrerequisites = ( diagnostics: ghidraInstallationDiagnostics(installation), }), ); + if ( + installation.platform === "win32" && + !hasWindowsNativeAuthority(installation.platform) + ) + return err( + new AnalysisCapabilityUnavailableError( + "ghidra", + "health", + WINDOWS_NATIVE_AUTHORITY_UNAVAILABLE_REASON, + ), + ); if (profile === undefined || profile.provider.id !== "ghidra") return err(new ProviderAdapterError("ghidra", "health")); return ok({ diff --git a/src/ghidra/GhidraProviderCapabilities.ts b/src/ghidra/GhidraProviderCapabilities.ts index edf85a56e..e41e527e7 100644 --- a/src/ghidra/GhidraProviderCapabilities.ts +++ b/src/ghidra/GhidraProviderCapabilities.ts @@ -2,6 +2,7 @@ import type { CapabilityDescriptor, ProviderIdentity, } from "../application/AnalysisProvider.js"; +import { WINDOWS_NATIVE_AUTHORITY_UNAVAILABLE_REASON } from "../process/WindowsAuthority.js"; import { GENERATED_MCP_TOOL_CATALOG } from "../generatedMcpToolCatalog.js"; import { GHIDRA_DECOMPILE_REQUEST_TIMEOUT_MS, @@ -67,7 +68,7 @@ export const healthLimitations = Object.freeze([ export const windowsP0Limitations = Object.freeze([ "Windows Ghidra P0 accepts approved native x86-64 PE applications only; DLL, managed, hostile, sensitive, and mutable-path targets are unsupported.", "The Windows bridge uses authenticated IPv4 loopback because Node path-based IPC does not expose Java AF_UNIX sockets; the endpoint file contains no bearer token.", - "Windows P0 process-tree cleanup uses bounded taskkill termination and does not claim Job Object ownership, private DACL enforcement, or reparse-point-safe path authority.", + "Windows P0 is not admitted until a native authority proves Job Object ownership, private DACL enforcement, and reparse-safe path admission; bounded taskkill cleanup and chmod(0700) do not prove those controls.", ]); /** Limitation text for one admitted operation, including the common base. */ @@ -207,6 +208,9 @@ export const WINDOWS_P0_CAPABILITIES: readonly CapabilityDescriptor[] = CAPABILITIES.map((capability) => Object.freeze({ ...capability, + available: false, + reason: WINDOWS_NATIVE_AUTHORITY_UNAVAILABLE_REASON, + availabilityCode: "unsupported_host" as const, limitations: Object.freeze([ ...capability.limitations, ...windowsP0Limitations, diff --git a/src/main.ts b/src/main.ts index e9f1a0d40..69b9634eb 100644 --- a/src/main.ts +++ b/src/main.ts @@ -85,17 +85,20 @@ export const run = async ( { CdpBrowserProvider }, { PlaywrightBrowserScenarioProvider }, { CdpElectronProvider }, + { PlaywrightElectronActiveProvider }, { V8InspectorProvider }, ] = await Promise.all([ import("./browser/CdpBrowserProvider.js"), import("./browser/PlaywrightBrowserScenarioProvider.js"), import("./browser/CdpElectronProvider.js"), + import("./browser/PlaywrightElectronActiveProvider.js"), import("./browser/V8InspectorProvider.js"), ]); return { browserObservation: new CdpBrowserProvider(), browserScenarioCapture: new PlaywrightBrowserScenarioProvider(), electronObservation: new CdpElectronProvider(), + electronActiveObservation: new PlaywrightElectronActiveProvider(), javascriptRuntimeObservation: new V8InspectorProvider(), }; }, diff --git a/src/main/transport.ts b/src/main/transport.ts index 55e81424a..e65deffe4 100644 --- a/src/main/transport.ts +++ b/src/main/transport.ts @@ -104,6 +104,10 @@ const runtimeAvailability = (state: RuntimeState) => ({ state.currentConfig.electronObservationEnabled && state.currentConfig.electronCdpEndpoints.length > 0 && state.currentConfig.electronFileRoots.length > 0, + electronAutomationEnabled: + state.currentConfig.electronAutomationPolicy.enabled && + state.currentConfig.electronAutomationPolicy.executableRoots.length > 0 && + state.currentConfig.electronAutomationPolicy.applicationRoots.length > 0, v8InspectorObservationEnabled: state.currentConfig.v8InspectorObservationEnabled && state.currentConfig.v8InspectorEndpoints.length > 0 && diff --git a/src/process/PrivateRuntimeRoot.ts b/src/process/PrivateRuntimeRoot.ts index 552d18c4c..541d38367 100644 --- a/src/process/PrivateRuntimeRoot.ts +++ b/src/process/PrivateRuntimeRoot.ts @@ -2,10 +2,44 @@ import { chmod, mkdtemp, rm } from "node:fs/promises"; import { tmpdir } from "node:os"; import { join } from "node:path"; +import { + windowsNativeCapabilities, + type WindowsNativeCapability, +} from "./WindowsAuthority.js"; + /** Filesystem coordinates for one provider-owned private runtime directory. */ export interface PrivateRuntimeRootOptions { readonly parent?: string; readonly prefix?: string; + /** Platform override used by deterministic boundary tests. */ + readonly platform?: NodeJS.Platform; +} + +/** Provider-neutral security status for one runtime-root implementation. */ +export type PrivateRuntimeRootCapability = + | WindowsNativeCapability + | { + readonly available: true; + readonly reason: null; + readonly proof: "posix-mode-0700"; + }; + +/** Report whether this process can establish a private runtime root. */ +export const privateRuntimeRootCapability = ( + platform: NodeJS.Platform = process.platform, +): PrivateRuntimeRootCapability => + platform === "win32" + ? windowsNativeCapabilities(platform).private_runtime_dacl + : { available: true, reason: null, proof: "posix-mode-0700" }; + +/** Expected failure when a runtime root's privacy boundary is unavailable. */ +export class PrivateRuntimeRootUnavailableError extends Error { + readonly code = "private-runtime-root-authority-unavailable"; + + constructor(message: string) { + super(message); + this.name = "PrivateRuntimeRootUnavailableError"; + } } /** @@ -24,6 +58,10 @@ export class PrivateRuntimeRoot { static async create( options: PrivateRuntimeRootOptions = {}, ): Promise { + const platform = options.platform ?? process.platform; + const capability = privateRuntimeRootCapability(platform); + if (!capability.available) + throw new PrivateRuntimeRootUnavailableError(capability.reason); const path = await mkdtemp( join(options.parent ?? tmpdir(), options.prefix ?? "rea-provider-"), ); diff --git a/src/process/ProcessOwnership.ts b/src/process/ProcessOwnership.ts index 7ec7cefcb..7cd9e938c 100644 --- a/src/process/ProcessOwnership.ts +++ b/src/process/ProcessOwnership.ts @@ -15,6 +15,8 @@ export interface OwnedProcessGroup { readonly expectedCommand?: string; /** Expected launcher parent, checked only while the leader exists. */ readonly expectedParentPid?: number; + /** Scan all live processes for this run token during cleanup. */ + readonly sweepTokenOwnedProcesses?: boolean; } /** One entry from an operating-system process-table snapshot. */ @@ -96,7 +98,8 @@ export type ProcessGroupObservation = * Terminate one Windows process tree through the platform utility. * * This is a bounded P0 cleanup mechanism, not Job Object ownership proof. The - * caller-visible Windows limitations must preserve that distinction. + * caller-visible Windows capability report remains unavailable until a native + * authority verifies Job Object creation, membership, and cleanup semantics. */ export const cleanupWindowsProcessTree = async ( rootPid: number, @@ -250,6 +253,24 @@ export const cleanupOwnedProcessGroup = async ( return { cleaned: true, signaled }; }; +/** Verify that no live process still carries an owned capture run token. */ +export const verifyNoTokenOwnedProcesses = async ( + runId: string, + host: ProcessOwnershipHost = systemHost, +): Promise => { + let processes: readonly ProcessTableEntry[]; + try { + processes = liveProcesses(await host.listProcesses()); + } catch { + return { cleaned: false, reason: "process table could not be inspected" }; + } + const scan = await scanTokenOwnedProcesses(processes, runId, host); + if (scan.failures.length > 0) return cleanupValidationFailure(scan.failures); + return scan.owned.length === 0 + ? { cleaned: true, signaled: false } + : { cleaned: false, reason: "token-owned process remained after cleanup" }; +}; + interface OwnedCleanupPlan { readonly signalOrder: readonly number[]; } @@ -259,11 +280,24 @@ const createOwnedCleanupPlan = async ( processes: readonly ProcessTableEntry[], host: ProcessOwnershipHost, ): Promise => { + const tokenOwned = + ownership.sweepTokenOwnedProcesses === true + ? await scanTokenOwnedProcesses(processes, ownership.runId, host) + : { owned: [], failures: [] }; + if (tokenOwned.failures.length > 0) + return cleanupValidationFailure(tokenOwned.failures); + const tokenOwnedGroupIds = new Set( + tokenOwned.owned.map(({ processGroupId }) => processGroupId), + ); const launcher = processes.find(({ pid }) => pid === ownership.leaderPid); const rootMembers = processes.filter( ({ processGroupId }) => processGroupId === ownership.processGroupId, ); - if (launcher === undefined && rootMembers.length === 0) + if ( + launcher === undefined && + rootMembers.length === 0 && + tokenOwned.owned.length === 0 + ) return { cleaned: true, signaled: false }; let descendants: readonly ProcessTableEntry[] = []; if (launcher !== undefined) { @@ -276,13 +310,18 @@ const createOwnedCleanupPlan = async ( const processGroupIds = new Set([ownership.processGroupId]); for (const descendant of descendants) processGroupIds.add(descendant.processGroupId); + for (const process of tokenOwned.owned) + processGroupIds.add(process.processGroupId); for (const processGroupId of processGroupIds) { if (processGroupId === ownership.processGroupId) continue; const groupLeader = processes.find( ({ pid, processGroupId: observedGroupId }) => pid === processGroupId && observedGroupId === processGroupId, ); - if (groupLeader === undefined || !descendantPids.has(groupLeader.pid)) + if ( + (groupLeader === undefined || !descendantPids.has(groupLeader.pid)) && + !tokenOwnedGroupIds.has(processGroupId) + ) return { cleaned: false, reason: @@ -360,7 +399,8 @@ const revalidateOwnedProcessGroup = async ( if ( processGroupId !== ownership.processGroupId && members.length > 0 && - !members.some(({ pid }) => pid === processGroupId) + !members.some(({ pid }) => pid === processGroupId) && + ownership.sweepTokenOwnedProcesses !== true ) return { cleaned: false, @@ -401,6 +441,33 @@ const processOwnershipFailures = async ( return failures; }; +interface TokenOwnedProcessScan { + readonly owned: readonly ProcessTableEntry[]; + readonly failures: readonly ProcessOwnershipValidationFailure[]; +} + +const scanTokenOwnedProcesses = async ( + processes: readonly ProcessTableEntry[], + runId: string, + host: ProcessOwnershipHost, +): Promise => { + const owned: ProcessTableEntry[] = []; + const failures: ProcessOwnershipValidationFailure[] = []; + for (const process of processes) { + try { + if ((await host.environment(process.pid)).REA_PROCESS_RUN_ID === runId) + owned.push(process); + } catch { + try { + const live = liveProcesses(await host.listProcesses()); + if (!live.some(({ pid }) => pid === process.pid)) continue; + } catch {} + failures.push({ pid: process.pid, reason: "environment-unreadable" }); + } + } + return { owned, failures }; +}; + /** Observe one group without signaling it, failing closed on identity doubt. */ export const observeOwnedProcessGroup = async ( ownership: OwnedProcessGroup, diff --git a/src/process/WindowsAuthority.ts b/src/process/WindowsAuthority.ts new file mode 100644 index 000000000..971c947c8 --- /dev/null +++ b/src/process/WindowsAuthority.ts @@ -0,0 +1,65 @@ +/** + * Provider-neutral security controls that require a verified Windows native + * authority. Runtime probes and POSIX permissions do not satisfy these + * controls. + */ +export type WindowsNativeCapability = + | { + readonly available: true; + readonly reason: null; + readonly proof: "native-authority"; + } + | { + readonly available: false; + readonly reason: string; + readonly proof: "not-proven" | "not-applicable"; + }; + +/** Security controls required before REA may claim Windows isolation. */ +export interface WindowsNativeCapabilitySet { + readonly job_object_process_ownership: WindowsNativeCapability; + readonly private_runtime_dacl: WindowsNativeCapability; + readonly reparse_safe_path_admission: WindowsNativeCapability; +} + +/** Stable explanation used whenever the native Windows authority is absent. */ +export const WINDOWS_NATIVE_AUTHORITY_UNAVAILABLE_REASON = + "Verified Windows native authority is unavailable: Job Object process ownership, private runtime DACL enforcement, and reparse-safe path admission are not implemented; chmod(0700) is insufficient for Windows private DACL proof, and taskkill is not a Job Object security proof"; + +/** + * Describe native Windows controls without inferring them from taskkill, + * chmod, symlink creation, or a numeric POSIX open flag. + */ +export const windowsNativeCapabilities = ( + platform: NodeJS.Platform, +): WindowsNativeCapabilitySet => { + if (platform !== "win32") { + const notApplicable = { + available: false, + reason: "Windows native authority is not applicable on this host", + proof: "not-applicable", + } as const; + return { + job_object_process_ownership: notApplicable, + private_runtime_dacl: notApplicable, + reparse_safe_path_admission: notApplicable, + }; + } + + const notProven = { + available: false, + reason: WINDOWS_NATIVE_AUTHORITY_UNAVAILABLE_REASON, + proof: "not-proven", + } as const; + return { + job_object_process_ownership: notProven, + private_runtime_dacl: notProven, + reparse_safe_path_admission: notProven, + }; +}; + +/** Whether every native control needed for Windows isolation is proven. */ +export const hasWindowsNativeAuthority = (platform: NodeJS.Platform): boolean => + Object.values(windowsNativeCapabilities(platform)).every( + ({ available }) => available, + ); diff --git a/src/server/createServer.ts b/src/server/createServer.ts index 10645f53d..bbc6d4ad0 100644 --- a/src/server/createServer.ts +++ b/src/server/createServer.ts @@ -19,6 +19,7 @@ import type { PermissionAuthority } from "../application/PermissionAuthority.js" import type { BrowserObservationPort } from "../application/BrowserObservationPort.js"; import type { BrowserScenarioCapturePort } from "../application/BrowserScenarioCapturePort.js"; import type { ElectronObservationPort } from "../application/ElectronObservationPort.js"; +import type { ElectronActiveObservationPort } from "../application/ElectronActiveObservationPort.js"; import type { JavaScriptRuntimeObservationPort } from "../application/JavaScriptRuntimeObservationPort.js"; import type { SessionAvailability } from "./sessionAvailabilityPolicy.js"; import { sessionAvailabilityPolicy } from "./sessionAvailabilityPolicy.js"; @@ -29,7 +30,7 @@ import { import { installDynamicToolAvailability } from "./DynamicToolAvailability.js"; const TARGET_FREE_INSTRUCTIONS = - "ASAR/JavaScript -> analyze_javascript_application; archive/package -> open_binary(path), then inspect_artifact/inventory_artifact (active target); managed PE/CLI -> inspect_managed_artifact; passive browser/Electron -> list_browser_targets/list_electron_targets; approved browser interaction -> capture_browser_scenario; Node/Electron Inspector -> list_javascript_runtime_targets; native binary/database -> open_binary, then binary_overview. Start with binary_session; call only tools in tools/list. Hidden routes: binary_session detail=capabilities. Use summaries, cite Evidence IDs. Never repeat identical analysis or read full Evidence."; + "ASAR/JavaScript -> analyze_javascript_application; archive/package -> open_binary(path), then inspect_artifact/inventory_artifact (active target); managed PE/CLI -> inspect_managed_artifact; browser/Electron -> list_browser_targets/list_electron_targets; approved -> capture_browser_scenario/capture_electron_scenario; Node/Electron Inspector -> list_javascript_runtime_targets; native binary/database -> open_binary, then binary_overview. Start with binary_session; use tools/list; capabilities via binary_session. Use summaries, cite Evidence IDs; Never repeat identical analysis or read full Evidence."; const ACTIVE_TARGET_INSTRUCTIONS = "REA analyzes the active reverse-engineering target. Start native analysis with binary_overview, then narrow with analyze_function, literal search, callers, callees, and xrefs. Prefer summary views, never repeat an identical call, and read full Evidence only when the task requires it."; @@ -55,6 +56,7 @@ export interface CreateServerOptions { readonly browserObservation?: BrowserObservationPort; readonly browserScenarioCapture?: BrowserScenarioCapturePort; readonly electronObservation?: ElectronObservationPort; + readonly electronActiveObservation?: ElectronActiveObservationPort; readonly javascriptRuntimeObservation?: JavaScriptRuntimeObservationPort; readonly artifactIntegrityContinueEnabled?: () => boolean; readonly javascriptReplayPolicy?: JavaScriptReplayPolicy; @@ -66,6 +68,7 @@ export interface CreateServerOptions { readonly browserObservation: BrowserObservationPort; readonly browserScenarioCapture: BrowserScenarioCapturePort; readonly electronObservation: ElectronObservationPort; + readonly electronActiveObservation: ElectronActiveObservationPort; readonly javascriptRuntimeObservation: JavaScriptRuntimeObservationPort; }>; } @@ -84,6 +87,9 @@ const installSessionToolAvailability = ( browserObservationEnabled: options.browserObservation !== undefined, browserScenarioEnabled: options.browserScenarioCapture !== undefined, electronObservationEnabled: options.electronObservation !== undefined, + electronAutomationEnabled: + options.electronActiveObservation !== undefined && + options.permissionAuthority !== undefined, v8InspectorObservationEnabled: options.javascriptRuntimeObservation !== undefined, javascriptReplayEnabled: options.javascriptReplayPolicy?.enabled ?? false, diff --git a/src/server/hydrateServerTools.ts b/src/server/hydrateServerTools.ts index 94240fafc..16f0f04d2 100644 --- a/src/server/hydrateServerTools.ts +++ b/src/server/hydrateServerTools.ts @@ -158,6 +158,7 @@ const hydrateObservationFamily = async ( registerElectronTools(context.server, { ...common, electron: context.options.electronObservation, + electronActive: context.options.electronActiveObservation, }); return; } diff --git a/src/server/registerElectronTools.ts b/src/server/registerElectronTools.ts index 7211ac25b..6c38235f6 100644 --- a/src/server/registerElectronTools.ts +++ b/src/server/registerElectronTools.ts @@ -3,6 +3,8 @@ import type { z } from "zod"; import type { BinarySessionPort } from "../application/BinarySession.js"; import type { ElectronObservationPort } from "../application/ElectronObservationPort.js"; +import type { ElectronActiveObservationPort } from "../application/ElectronActiveObservationPort.js"; +import { captureElectronScenario } from "../application/ElectronActiveObservationService.js"; import { analyzeJavaScriptApplicationValidated } from "../application/JavaScriptApplicationService.js"; import { reconcileJavaScriptRuntimeEvidenceValidated } from "../application/JavaScriptRuntimeReconciliationService.js"; import { @@ -18,6 +20,7 @@ import { inspectElectronPageInputSchema, listElectronTargetsInputSchema, } from "../domain/electronObservation.js"; +import { electronActiveObservationInputSchema } from "../domain/electronActiveObservation.js"; import { reconcileJavaScriptRuntimeInputSchema } from "../domain/javascriptRuntimeReconciliationSchemas.js"; import type { Logger } from "../logger.js"; import { logToolExecution } from "./toolLogging.js"; @@ -36,6 +39,7 @@ import { summarizeJavaScriptApplicationEvidence } from "./javascriptApplicationR interface ElectronToolRegistration { readonly logger: Logger; readonly electron: ElectronObservationPort | undefined; + readonly electronActive: ElectronActiveObservationPort | undefined; readonly permissionAuthority: PermissionAuthority | undefined; readonly recordEvidence: BinarySessionPort["recordEvidence"] | undefined; } @@ -66,8 +70,13 @@ export const registerElectronTools = ( server: McpServer, options: ElectronToolRegistration, ): void => { - const [listContract, inspectContract, analyzeContract, reconcileContract] = - ELECTRON_TOOL_CONTRACTS; + const [ + listContract, + inspectContract, + analyzeContract, + reconcileContract, + activeContract, + ] = ELECTRON_TOOL_CONTRACTS; registerElectronTool(server, options, { contract: listContract, @@ -118,6 +127,17 @@ export const registerElectronTools = ( execute: (parsed, _context) => Promise.resolve(reconcileJavaScriptRuntimeEvidenceValidated(parsed)), }); + registerElectronTool(server, options, { + contract: activeContract, + schema: electronActiveObservationInputSchema, + execute: (parsed, { signal, progress }) => + captureElectronScenario( + options.electronActive, + options.permissionAuthority, + parsed, + { signal, progress }, + ), + }); }; const registerElectronTool = ( diff --git a/src/server/sessionAvailabilityPolicy.ts b/src/server/sessionAvailabilityPolicy.ts index c4849c641..4c387846a 100644 --- a/src/server/sessionAvailabilityPolicy.ts +++ b/src/server/sessionAvailabilityPolicy.ts @@ -13,6 +13,7 @@ export interface SessionAvailabilityDefaults { | "browserObservationEnabled" | "browserScenarioEnabled" | "electronObservationEnabled" + | "electronAutomationEnabled" | "v8InspectorObservationEnabled" | "javascriptReplayEnabled" | "managedRuntimeEnabled" @@ -35,6 +36,8 @@ export const sessionAvailabilityPolicy = ( defaults.optionalFeatures?.browserScenarioEnabled ?? false, electronObservationEnabled: defaults.optionalFeatures?.electronObservationEnabled ?? false, + electronAutomationEnabled: + defaults.optionalFeatures?.electronAutomationEnabled ?? false, v8InspectorObservationEnabled: defaults.optionalFeatures?.v8InspectorObservationEnabled ?? false, javascriptReplayEnabled: diff --git a/tests/acceptance/setup/packageInstallWorkflow.test.ts b/tests/acceptance/setup/packageInstallWorkflow.test.ts index 384e6b0f3..81c92eb50 100644 --- a/tests/acceptance/setup/packageInstallWorkflow.test.ts +++ b/tests/acceptance/setup/packageInstallWorkflow.test.ts @@ -80,6 +80,18 @@ describe("package installation workflows", () => { expect(release).not.toContain('npm run verify:published -- "${version}"'); expect(canary).toContain('mkdtemp(join(tmpdir(), "rea-published-canary-")'); expect(canary).toContain("cwd: canaryRoot"); + expect(release).toContain("publish-mcp:"); + expect(release).toContain("needs: [release-please, publish]"); + expect(release).toContain("MCP_PUBLISHER_VERSION: v1.8.0"); + expect(release).toContain("mcp-publisher validate"); + expect(release).toContain("mcp-publisher login github-oidc"); + expect(release).toContain("mcp-publisher publish"); + expect(release).toContain("id-token: write"); + expect(release).toContain("contents: read"); + expect(release).not.toContain("MCP_GITHUB_TOKEN"); + expect(release.indexOf("publish-mcp:")).toBeGreaterThan( + release.indexOf("npm publish --access public"), + ); }); it("uses direct Node ownership on macOS and Windows", () => { diff --git a/tests/boundary/browser/electronActiveActions.test.ts b/tests/boundary/browser/electronActiveActions.test.ts new file mode 100644 index 000000000..4b6becc78 --- /dev/null +++ b/tests/boundary/browser/electronActiveActions.test.ts @@ -0,0 +1,135 @@ +import { expect, it } from "vitest"; + +import { electronActiveObservationInputSchema } from "../../../src/domain/electronActiveObservation.js"; +import { runElectronActions } from "../../../src/browser/PlaywrightElectronActiveActions.js"; + +it("parses bounded window, renderer, and deep-link actions for agents", () => { + const input = electronActiveObservationInputSchema.parse({ + schema_version: 1, + executable_path: "/opt/electron", + application_path: "/opt/app/main.js", + application_root: "/opt/app", + actions: [ + { step_id: "first-window", kind: "click", selector: "#run" }, + { step_id: "second-window", kind: "renderer-reload", window_index: 1 }, + { step_id: "restart", kind: "renderer-crash", window_index: 1 }, + { + step_id: "deep-link", + kind: "deep-link", + delivery: "second-instance", + url: "rea-fixture://open/item", + }, + ], + approved: true, + }); + + expect(input.actions).toEqual([ + { + step_id: "first-window", + kind: "click", + selector: "#run", + window_index: 0, + }, + { step_id: "second-window", kind: "renderer-reload", window_index: 1 }, + { step_id: "restart", kind: "renderer-crash", window_index: 1 }, + { + step_id: "deep-link", + kind: "deep-link", + delivery: "second-instance", + url: "rea-fixture://open/item", + }, + ]); +}); + +it("rejects non-absolute deep-link values", () => { + const result = electronActiveObservationInputSchema.safeParse({ + schema_version: 1, + executable_path: "/opt/electron", + application_path: "/opt/app/main.js", + application_root: "/opt/app", + actions: [ + { + step_id: "bad-link", + kind: "deep-link", + delivery: "open-url", + url: "not a URL", + }, + ], + approved: true, + }); + + expect(result.success).toBe(false); +}); + +it("redacts action inputs from Playwright failures", async () => { + const selector = "#secret-selector"; + const input = electronActiveObservationInputSchema.parse({ + schema_version: 1, + executable_path: "/opt/electron", + application_path: "/opt/app/main.js", + application_root: "/opt/app", + actions: [{ step_id: "click-step", kind: "click", selector }], + approved: true, + }); + const page = { + locator: () => ({ + click: async () => { + throw new Error(`locator ${selector} failed with token=raw-secret`); + }, + }), + }; + const application = { + windows: () => [page], + }; + + const result = await runElectronActions( + application as never, + input, + {}, + Date.now() + 1_000, + ); + + expect(result[0]).toMatchObject({ + status: "failed", + error: "locator failed with token=[REDACTED]", + }); + expect(result[0]?.error).not.toContain(selector); + expect(result[0]?.error).not.toContain("raw-secret"); +}); + +it("runs an untargeted deep-link without requiring a BrowserWindow", async () => { + const input = electronActiveObservationInputSchema.parse({ + schema_version: 1, + executable_path: "/opt/electron", + application_path: "/opt/app/main.js", + application_root: "/opt/app", + actions: [ + { + step_id: "open-deep-link", + kind: "deep-link", + delivery: "second-instance", + url: "rea-fixture://open/item", + }, + ], + approved: true, + }); + const application = { + windows: () => [], + evaluate: async () => true, + }; + + const result = await runElectronActions( + application as never, + input, + {}, + Date.now() + 1_000, + ); + + expect(result).toMatchObject([ + { + step_id: "open-deep-link", + status: "completed", + error: null, + }, + ]); +}); diff --git a/tests/boundary/browser/electronActiveHook.test.ts b/tests/boundary/browser/electronActiveHook.test.ts new file mode 100644 index 000000000..8ab5882ef --- /dev/null +++ b/tests/boundary/browser/electronActiveHook.test.ts @@ -0,0 +1,242 @@ +import { rm, writeFile } from "node:fs/promises"; +import { join } from "node:path"; +import { spawn } from "node:child_process"; + +import { afterEach, expect, it } from "vitest"; + +import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; + +const temporary: string[] = []; + +afterEach(async () => { + await Promise.all( + temporary + .splice(0) + .map(async (path) => rm(path, { force: true, recursive: true })), + ); +}); + +it("keeps active hook lifecycle and IPC evidence bounded at the process boundary", async () => { + const root = await createTestTempDirectory("rea-electron-hook-"); + temporary.push(root); + await writeFile( + join(root, "electron.js"), + `const { EventEmitter } = require("node:events"); +const app = new EventEmitter(); +app.relaunch = () => undefined; +app.setAsDefaultProtocolClient = () => true; +app.setLoginItemSettings = () => undefined; +const ipcMain = new EventEmitter(); +ipcMain.handlers = new Map(); +ipcMain.handle = (channel, listener) => ipcMain.handlers.set(channel, listener); +const ipcRenderer = { + send: () => undefined, + sendSync: () => "ok", + invoke: () => Promise.resolve("ok"), + postMessage: () => undefined, +}; +class WebContents extends EventEmitter { + constructor() { + super(); + this.id = 12; + } + loadFile() { return Promise.resolve(); } + loadURL() { return Promise.resolve(); } + loadDataURL() { return Promise.resolve(); } + send() { return undefined; } + postMessage() { return undefined; } + setWindowOpenHandler(handler) { this.windowOpenHandler = handler; return undefined; } +} +class BrowserWindow extends EventEmitter { + constructor(options) { + super(); + this.id = 3; + this.webContents = new WebContents(); + this.options = options; + } +} +const utilityProcess = { + fork: () => { + const child = new EventEmitter(); + child.pid = 44; + child.postMessage = () => undefined; + return child; + }, +}; +const shell = { openExternal: () => Promise.resolve(), openPath: () => Promise.resolve() }; +const createSession = () => { + const value = new EventEmitter(); + value.setPermissionRequestHandler = () => undefined; + value.setPermissionCheckHandler = () => undefined; + value.setCertificateVerifyProc = () => undefined; + return value; +}; +const session = createSession(); +const customSession = createSession(); +const contextBridge = { + exposeInMainWorld: () => undefined, + exposeInIsolatedWorld: () => undefined, +}; +module.exports = { + app, + BrowserWindow, + contextBridge, + ipcMain, + ipcRenderer, + session: { + defaultSession: session, + fromPartition: () => customSession, + }, + shell, + utilityProcess, +}; +`, + ); + const script = join(root, "exercise.cjs"); + await writeFile( + script, + `(async () => { +const electron = require("electron"); +const window = new electron.BrowserWindow({ webPreferences: { preload: "/approved/preload.js" } }); +const channel = "x".repeat(2048); +electron.ipcMain.handle(channel, async () => ({ ok: true })); +await electron.ipcMain.handlers.get(channel)({ sender: { id: 9 }, senderFrame: { routingId: 7 } }, ...Array.from({ length: 40 }, () => ({ value: true }))); +window.webContents.send("main-to-renderer", { value: true }); +window.webContents.emit("render-process-gone", { reason: "crashed" }); +const utility = electron.utilityProcess.fork("utility.js"); +utility.emit("message", { data: { value: true } }); +utility.postMessage({ value: true }); +electron.session.defaultSession.emit("will-download", window.webContents, { cancel() {} }); +electron.session.fromPartition("persist:custom").emit("will-download", window.webContents, { cancel() {} }); +const defaultPopupDecision = window.webContents.windowOpenHandler({ url: "https://default-popup.invalid" }); +window.webContents.setWindowOpenHandler(() => ({ action: "allow" })); +const popupDecision = window.webContents.windowOpenHandler({ url: "https://popup.invalid" }); +electron.shell.openExternal("https://example.invalid").catch(() => undefined); +electron.app.relaunch(); +electron.contextBridge.exposeInMainWorld("api", { value: true }); +window.webContents.loadURL("https://example.invalid").catch(() => undefined); +try { process.dlopen({}, "/missing/native.node"); } catch {} +process.stdout.write(JSON.stringify({ snapshot: globalThis.__reaElectronActiveSnapshot(), default_popup_decision: defaultPopupDecision, popup_decision: popupDecision }) + "\\n"); +})(); +`, + ); + const hook = join(process.cwd(), "scripts/electron-active-hook.cjs"); + const output = await runNode(hook, script, root, root); + const result = JSON.parse(output.trim().split("\n").at(-1) ?? "null") as { + readonly default_popup_decision: { readonly action: string }; + readonly popup_decision: { readonly action: string }; + readonly snapshot: { + readonly hook_error: boolean; + readonly events: readonly Record[]; + }; + }; + const { snapshot } = result; + + expect(snapshot.hook_error).toBe(false); + expect(snapshot.events).toEqual( + expect.arrayContaining([ + expect.objectContaining({ kind: "window-lifecycle", event: "created" }), + expect.objectContaining({ kind: "preload", event: "configured" }), + expect.objectContaining({ kind: "shell-attempt", phase: "blocked" }), + expect.objectContaining({ kind: "updater", phase: "blocked" }), + expect.objectContaining({ kind: "native-addon" }), + expect.objectContaining({ kind: "popup-attempt", phase: "blocked" }), + ]), + ); + expect(result.default_popup_decision).toEqual({ action: "deny" }); + expect(result.popup_decision).toEqual({ action: "deny" }); + expect( + snapshot.events.filter( + (event) => event.kind === "download" && event.phase === "blocked", + ), + ).toHaveLength(2); + const ipc = snapshot.events.find( + (event) => event.kind === "main-handler-invocation", + ); + expect(ipc).toMatchObject({ + correlation_id: expect.stringMatching(/^capture:\d+:\d+$/u), + channel_truncated: true, + argument_shapes_truncated: true, + direction: "renderer-to-main", + sender: "webContents:9", + frame: "frame:7", + }); + expect(ipc?.channel).toHaveLength(1_024); + expect(ipc?.argument_shapes).toHaveLength(32); +}); + +it("preserves fatal process termination after recording uncaught exceptions", async () => { + const root = await createTestTempDirectory("rea-electron-hook-fatal-"); + temporary.push(root); + const script = join(root, "fatal.cjs"); + await writeFile(script, 'throw new Error("fatal-hook-secret");\n'); + const hook = join(process.cwd(), "scripts/electron-active-hook.cjs"); + const result = await runNodeStatus(hook, script, root, root); + + expect(result.code).not.toBe(0); + expect(result.stderr).toContain("fatal-hook-secret"); +}); + +const runNode = ( + hook: string, + script: string, + moduleRoot: string, + cwd: string, +): Promise => + new Promise((resolve, reject) => { + const child = spawn(process.execPath, ["-r", hook, script], { + cwd, + env: { + ...process.env, + NODE_PATH: moduleRoot, + REA_ELECTRON_ACTIVE_MAX_RUNTIME_EVENTS: "200", + }, + stdio: ["ignore", "pipe", "pipe"], + }); + const stdout: Buffer[] = []; + const stderr: Buffer[] = []; + child.stdout.on("data", (chunk: Buffer) => stdout.push(chunk)); + child.stderr.on("data", (chunk: Buffer) => stderr.push(chunk)); + child.once("error", reject); + child.once("close", (code) => { + if (code === 0) { + const text = Buffer.concat(stdout).toString("utf8"); + if (text.length > 0) resolve(text); + else + reject( + new Error( + `hook fixture produced no output: ${Buffer.concat(stderr).toString("utf8")}`, + ), + ); + } else + reject( + new Error( + `hook fixture exited with ${String(code)}: ${Buffer.concat(stderr).toString("utf8")}`, + ), + ); + }); + }); + +const runNodeStatus = ( + hook: string, + script: string, + moduleRoot: string, + cwd: string, +): Promise<{ readonly code: number | null; readonly stderr: string }> => + new Promise((resolve, reject) => { + const child = spawn(process.execPath, ["-r", hook, script], { + cwd, + env: { + ...process.env, + NODE_PATH: moduleRoot, + REA_ELECTRON_ACTIVE_MAX_RUNTIME_EVENTS: "200", + }, + stdio: ["ignore", "pipe", "pipe"], + }); + const stderr: Buffer[] = []; + child.stderr.on("data", (chunk: Buffer) => stderr.push(chunk)); + child.once("error", reject); + child.once("close", (code) => + resolve({ code, stderr: Buffer.concat(stderr).toString("utf8") }), + ); + }); diff --git a/tests/boundary/browser/javascriptRuntimeObservation.test.ts b/tests/boundary/browser/javascriptRuntimeObservation.test.ts index ae5d4fb60..042adb74e 100644 --- a/tests/boundary/browser/javascriptRuntimeObservation.test.ts +++ b/tests/boundary/browser/javascriptRuntimeObservation.test.ts @@ -93,6 +93,43 @@ describe("passive V8 Inspector provider", () => { } }); + test("excludes an Electron main target that reports only bare file://", async () => { + const fixture = await runtimeFixture(); + const fake = await startFakeV8Inspector({ + targetUrl: "file://", + scriptUrls: [pathToFileURL(fixture.entry).href], + }); + try { + const provider = new V8InspectorProvider(); + const listed = await provider.listTargets({ + inspector_endpoint: fake.endpoint, + allowed_file_roots: [fixture.root], + allowed_origins: [], + approved: true, + offset: 0, + limit: 100, + }); + expect(listed.ok).toBe(true); + if (!listed.ok) return; + expect(listed.value.targets.total).toBe(0); + expect(listed.value.targets.items).toEqual([]); + + const observed = await provider.observe( + observeInput( + fake.endpoint, + fake.targetId, + fixture.root, + "electron-main", + ), + ); + expect(observed.ok).toBe(false); + if (observed.ok) return; + expect(observed.error.message).toMatch(/outside_file_roots|target/u); + } finally { + await fake.close(); + } + }); + test.each([ ["node", "node"], ["electron-main", "node"], diff --git a/tests/boundary/cli/productCatalog.test.ts b/tests/boundary/cli/productCatalog.test.ts index 4a015f260..05cef8a80 100644 --- a/tests/boundary/cli/productCatalog.test.ts +++ b/tests/boundary/cli/productCatalog.test.ts @@ -18,6 +18,7 @@ import { } from "../../../src/application/InvestigationProviders.js"; import { CDP_BROWSER_PROVIDER_IDENTITY } from "../../../src/browser/CdpBrowserProvider.js"; import { CDP_ELECTRON_PROVIDER_IDENTITY } from "../../../src/browser/CdpElectronProvider.js"; +import { PLAYWRIGHT_ELECTRON_ACTIVE_PROVIDER_IDENTITY } from "../../../src/browser/PlaywrightElectronActiveProvider.js"; import { PLAYWRIGHT_BROWSER_SCENARIO_PROVIDER_IDENTITY } from "../../../src/browser/PlaywrightBrowserScenarioProvider.js"; import { V8_INSPECTOR_PROVIDER_IDENTITY } from "../../../src/browser/V8InspectorProvider.js"; import { CLI_COMMAND_NAMES } from "../../../src/cliCommandNames.js"; @@ -81,6 +82,7 @@ describe("canonical product catalog", () => { CDP_BROWSER_PROVIDER_IDENTITY, PLAYWRIGHT_BROWSER_SCENARIO_PROVIDER_IDENTITY, CDP_ELECTRON_PROVIDER_IDENTITY, + PLAYWRIGHT_ELECTRON_ACTIVE_PROVIDER_IDENTITY, V8_INSPECTOR_PROVIDER_IDENTITY, JAVASCRIPT_APPLICATION_PROVIDER, JAVASCRIPT_RUNTIME_RECONCILIATION_PROVIDER, @@ -102,6 +104,11 @@ describe("canonical product catalog", () => { ({ id }) => id === CDP_ELECTRON_PROVIDER_IDENTITY.id, )?.capabilities, ).toEqual(["inspect_electron_page", "list_electron_targets"]); + expect( + catalog.providers.find( + ({ id }) => id === PLAYWRIGHT_ELECTRON_ACTIVE_PROVIDER_IDENTITY.id, + )?.capabilities, + ).toEqual(["capture_electron_scenario"]); expect( catalog.providers.find( ({ id }) => id === JAVASCRIPT_APPLICATION_PROVIDER.id, diff --git a/tests/boundary/mcp/electronMcp.test.ts b/tests/boundary/mcp/electronMcp.test.ts index dc2451e75..37bc27e60 100644 --- a/tests/boundary/mcp/electronMcp.test.ts +++ b/tests/boundary/mcp/electronMcp.test.ts @@ -1,5 +1,5 @@ -import { mkdir, rm, writeFile } from "node:fs/promises"; -import { join } from "node:path"; +import { mkdir, rm, symlink, writeFile } from "node:fs/promises"; +import { dirname, join } from "node:path"; import { pathToFileURL } from "node:url"; import { Client, InMemoryTransport } from "@modelcontextprotocol/client"; @@ -10,6 +10,7 @@ import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { composeBinarySessionFromFactory } from "../../../src/application/BinarySessionComposition.js"; import type { BinarySession } from "../../../src/application/BinarySession.js"; +import type { ElectronActiveObservationPort } from "../../../src/application/ElectronActiveObservationPort.js"; import { loadConfiguredPermissionAuthority } from "../../../src/application/PermissionConfiguration.js"; import { CdpElectronProvider } from "../../../src/browser/CdpElectronProvider.js"; import { parseConfig } from "../../../src/config.js"; @@ -20,6 +21,7 @@ import { type FakeCdpBrowser, } from "../../fixtures/fakeCdpBrowser.js"; import { writeElectronBoundaryFixture } from "../../fixtures/electronBoundaryApplication.js"; +import { createElectronActiveObservationFixtureResult } from "../../fixtures/electronActiveObservationResult.js"; const browsers: FakeCdpBrowser[] = []; const resources: Array<{ close(): Promise }> = []; @@ -183,6 +185,109 @@ it("exposes root-confined Electron discovery and inspection as Evidence v2", asy expect(browser.commands).toHaveLength(commandsBeforeDenial); }, 20_000); +it("exposes active Electron scenarios through the separately granted MCP boundary", async () => { + const root = await createTestTempDirectory("rea-electron-active-mcp-"); + temporary.push(root); + const applicationPath = join(root, "main.js"); + await writeFile(applicationPath, "module.exports = {};\n"); + const aliasedRoot = join(root, "..", `${root.split("/").at(-1)}-alias`); + await symlink(root, aliasedRoot, "dir"); + temporary.push(aliasedRoot); + const capturedInputs: unknown[] = []; + const activeResult = + createElectronActiveObservationFixtureResult(applicationPath); + const provider: ElectronActiveObservationPort = { + identity: () => ({ + id: "test-electron-active", + name: "Test Electron active provider", + version: "1", + }), + capture: async (input) => { + capturedInputs.push(input); + return { ok: true, value: activeResult }; + }, + }; + const config = parseConfig({ + REA_ELECTRON_AUTOMATE_ENABLED: "true", + REA_ELECTRON_AUTOMATE_AUTO_GRANT: "true", + REA_ELECTRON_AUTOMATE_EXECUTABLE_ROOTS_JSON: JSON.stringify([ + dirname(process.execPath), + ]), + REA_ELECTRON_AUTOMATE_APPLICATION_ROOTS_JSON: JSON.stringify([root]), + }); + if (!config.ok) throw config.error; + const authority = await loadConfiguredPermissionAuthority(config.value); + if (!authority.ok) throw authority.error; + const session = composeBinarySessionFromFactory(() => ({ + execute: () => Promise.resolve(observed(null)), + close: () => Promise.resolve(), + })); + const server = createServer(session, session, { + electronActiveObservation: provider, + permissionAuthority: authority.value, + availabilityPolicy: () => ({ + processCaptureEnabled: false, + evidenceFileRoots: 0, + investigationInputRoots: 0, + electronAutomationEnabled: true, + }), + }); + const client = new Client({ name: "electron-active-mcp-test", version: "1" }); + const [clientTransport, serverTransport] = + InMemoryTransport.createLinkedPair(); + resources.push(client, server, session); + await server.connect(serverTransport); + await client.connect(clientTransport); + + const captured = await client.callTool({ + name: "capture_electron_scenario", + arguments: { + schema_version: 1, + executable_path: process.execPath, + application_path: join(aliasedRoot, "main.js"), + application_root: aliasedRoot, + args: ["--token", "super-secret"], + actions: [ + { step_id: "submit", kind: "click", selector: "#submit-secret" }, + ], + approved: true, + }, + }); + expect(captured.isError, JSON.stringify(captured)).not.toBe(true); + expect(captured.structuredContent).toMatchObject({ + result: { + application: { process_ownership: "provider-owned" }, + ipc: { events: [{ channel: "readiness:echo" }] }, + coverage: { + status: "partial_attach", + pre_capture_activity: "unavailable", + }, + }, + }); + expect(capturedInputs).toHaveLength(1); + expect(capturedInputs[0]).toMatchObject({ + application_path: applicationPath, + application_root: root, + }); + expect(JSON.stringify(captured.structuredContent)).not.toContain( + "submit-secret", + ); + expect(JSON.stringify(captured.structuredContent)).not.toContain( + "super-secret", + ); + const evidenceId = Reflect.get( + captured.structuredContent ?? {}, + "evidence_id", + ); + expect(session.evidenceById(String(evidenceId))).toMatchObject({ + predicate_type: "rea.electron-active-scenario/v1", + parameters: { + args: ["--token", ""], + actions: [{ step_id: "submit", kind: "click" }], + }, + }); +}, 20_000); + it("exposes the target-free static JavaScript application workflow", async () => { const root = await createTestTempDirectory("rea-electron-static-mcp-"); temporary.push(root); diff --git a/tests/boundary/mcp/processCaptureElicitationGrants.test.ts b/tests/boundary/mcp/processCaptureElicitationGrants.test.ts index c1997c0ee..4eda1a5ff 100644 --- a/tests/boundary/mcp/processCaptureElicitationGrants.test.ts +++ b/tests/boundary/mcp/processCaptureElicitationGrants.test.ts @@ -1,4 +1,5 @@ import { isInputRequiredResult } from "@modelcontextprotocol/server"; +import { realpathSync } from "node:fs"; import { describe, expect, it } from "vitest"; import { PermissionAuthority } from "../../../src/application/PermissionAuthority.js"; import { createPermissionPolicy } from "../../../src/domain/permissionPolicy.js"; @@ -8,7 +9,7 @@ import { } from "../../../src/server/ProcessCaptureElicitation.js"; const request = { capability: "process_capture" as const, - roots: ["/tmp"], + roots: [realpathSync("/tmp")], executables: [process.execPath], environment_names: ["PATH"], network: "external" as const, diff --git a/tests/boundary/mcp/processCaptureElicitationGrantsPart2.test.ts b/tests/boundary/mcp/processCaptureElicitationGrantsPart2.test.ts index 943314c1d..e22f443e2 100644 --- a/tests/boundary/mcp/processCaptureElicitationGrantsPart2.test.ts +++ b/tests/boundary/mcp/processCaptureElicitationGrantsPart2.test.ts @@ -1,4 +1,5 @@ import { isInputRequiredResult } from "@modelcontextprotocol/server"; +import { realpathSync } from "node:fs"; import { describe, expect, it } from "vitest"; import { PermissionAuthority } from "../../../src/application/PermissionAuthority.js"; import { createPermissionPolicy } from "../../../src/domain/permissionPolicy.js"; @@ -8,7 +9,7 @@ import { } from "../../../src/server/ProcessCaptureElicitation.js"; const request = { capability: "process_capture" as const, - roots: ["/tmp"], + roots: [realpathSync("/tmp")], executables: [process.execPath], environment_names: ["PATH"], network: "external" as const, diff --git a/tests/boundary/mcp/processCaptureElicitationGrantsPart3.test.ts b/tests/boundary/mcp/processCaptureElicitationGrantsPart3.test.ts index e34e51ee5..24866f7be 100644 --- a/tests/boundary/mcp/processCaptureElicitationGrantsPart3.test.ts +++ b/tests/boundary/mcp/processCaptureElicitationGrantsPart3.test.ts @@ -1,5 +1,6 @@ import { isInputRequiredResult } from "@modelcontextprotocol/server"; import { mkdir, rm } from "node:fs/promises"; +import { realpathSync } from "node:fs"; import { describe, expect, it } from "vitest"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { PermissionAuthority } from "../../../src/application/PermissionAuthority.js"; @@ -10,7 +11,7 @@ import { } from "../../../src/server/ProcessCaptureElicitation.js"; const request = { capability: "process_capture" as const, - roots: ["/tmp"], + roots: [realpathSync("/tmp")], executables: [process.execPath], environment_names: ["PATH"], network: "external" as const, diff --git a/tests/boundary/mcp/serverIdentity.test.ts b/tests/boundary/mcp/serverIdentity.test.ts index 1749d039f..2e4c21af5 100644 --- a/tests/boundary/mcp/serverIdentity.test.ts +++ b/tests/boundary/mcp/serverIdentity.test.ts @@ -77,10 +77,10 @@ describe("server and catalog identity", () => { expect(SDK_IDENTITY.server).toBe( packageJson.dependencies["@modelcontextprotocol/server"], ); - expect(CLI_COMMAND_NAMES).toHaveLength(67); - expect(new Set(CLI_COMMAND_NAMES).size).toBe(67); + expect(CLI_COMMAND_NAMES).toHaveLength(68); + expect(new Set(CLI_COMMAND_NAMES).size).toBe(68); expect(CATALOG_IDENTITY.counts).toEqual({ - cli_commands: 67, + cli_commands: 68, mcp_tools: TOOL_CONTRACTS.length, mcp_prompts: 6, mcp_resources: 2, diff --git a/tests/boundary/process/processCaptureMultisource.test.ts b/tests/boundary/process/processCaptureMultisource.test.ts index 057738a34..d78d30c6c 100644 --- a/tests/boundary/process/processCaptureMultisource.test.ts +++ b/tests/boundary/process/processCaptureMultisource.test.ts @@ -59,7 +59,7 @@ function collectionTriggers() { parent_pid: 1, command: "rea-reactive-worker", process_group_id: 1, - session_id: 1, + session_id: process.platform === "darwin" ? null : 1, }, ["at_ms"], ), diff --git a/tests/boundary/process/processOwnershipPart2.test.ts b/tests/boundary/process/processOwnershipPart2.test.ts index bc5b49284..4aef4fb65 100644 --- a/tests/boundary/process/processOwnershipPart2.test.ts +++ b/tests/boundary/process/processOwnershipPart2.test.ts @@ -2,6 +2,7 @@ import { describe, expect, it, vi } from "vitest"; import { cleanupOwnedProcessGroup, observeOwnedProcessLineage, + verifyNoTokenOwnedProcesses, type ProcessOwnershipHost, } from "../../../src/process/ProcessOwnership.js"; const ownership = { @@ -34,6 +35,74 @@ const host = ( signalGroup, }; }; +describe("owned process-group cleanup discovery", () => { + it("signals token-owned groups that were reparented outside the launcher tree", async () => { + const signalGroup = vi.fn(); + const adapter: ProcessOwnershipHost = { + listProcesses: () => + Promise.resolve([ + { + pid: 100, + parentPid: 1, + processGroupId: 100, + state: "S", + command: "fixture", + }, + { + pid: 900, + parentPid: 1, + processGroupId: 900, + state: "S", + command: "detached-helper", + }, + { + pid: 901, + parentPid: 900, + processGroupId: 900, + state: "S", + command: "detached-worker", + }, + ]), + environment: () => Promise.resolve({ REA_PROCESS_RUN_ID: "run-token" }), + signalGroup, + }; + + await expect( + cleanupOwnedProcessGroup( + { ...ownership, sweepTokenOwnedProcesses: true }, + adapter, + ), + ).resolves.toEqual({ cleaned: true, signaled: true }); + expect(signalGroup.mock.calls.map(([groupId]) => groupId)).toEqual([ + 100, 900, + ]); + }); + + it("fails closed when a token-owned process remains after cleanup", async () => { + const adapter: ProcessOwnershipHost = { + listProcesses: () => + Promise.resolve([ + { + pid: 900, + parentPid: 1, + processGroupId: 900, + state: "S", + command: "detached-helper", + }, + ]), + environment: () => Promise.resolve({ REA_PROCESS_RUN_ID: "run-token" }), + signalGroup: vi.fn(), + }; + + await expect( + verifyNoTokenOwnedProcesses("run-token", adapter), + ).resolves.toEqual({ + cleaned: false, + reason: "token-owned process remained after cleanup", + }); + }); +}); + describe("owned process-group cleanup discovery", () => { it("fails before signaling when any descendant-group member is unowned", async () => { const signalGroup = vi.fn(); diff --git a/tests/boundary/process/providerProcess.test.ts b/tests/boundary/process/providerProcess.test.ts index 676ee511b..4953538ee 100644 --- a/tests/boundary/process/providerProcess.test.ts +++ b/tests/boundary/process/providerProcess.test.ts @@ -67,6 +67,15 @@ describe("provider process runtime and wait primitives", () => { }); }); + it("fails closed for a Windows runtime root without native DACL authority", async () => { + await expect( + PrivateRuntimeRoot.create({ platform: "win32" }), + ).rejects.toMatchObject({ + code: "private-runtime-root-authority-unavailable", + message: expect.stringContaining("chmod(0700)"), + }); + }); + it("clears the startup timer and external cancellation listener", async () => { vi.useFakeTimers(); const controller = new AbortController(); @@ -335,6 +344,45 @@ describe("provider process spawning primitives", () => { }, ); + it.skipIf(process.platform === "win32")( + "stops a detached fixture descendant when its launcher receives SIGTERM", + async () => { + const launcher = spawnProviderProcessFixture("detached-child"); + let detachedChildPid: number | undefined; + const cleanup = async (): Promise => { + await stopProviderProcessFixture(launcher); + if (detachedChildPid === undefined) return; + try { + process.kill(detachedChildPid, "SIGKILL"); + } catch (cause: unknown) { + if ( + !( + cause instanceof Error && + "code" in cause && + cause.code === "ESRCH" + ) + ) + throw cause; + } + }; + try { + detachedChildPid = await waitForDetachedProviderChild(launcher); + const launcherPid = launcher.pid; + if (launcherPid === undefined) + throw new Error("Detached fixture launcher did not expose a PID"); + launcher.kill("SIGTERM"); + await Promise.all([ + waitForPidExit(launcherPid), + waitForPidExit(detachedChildPid), + ]); + } catch (cause: unknown) { + await cleanup(); + throw cause; + } + await cleanup(); + }, + ); + it("allows interpreter launchers to rely on parent and run-token identity", async () => { const spawned = await spawnOwnedProviderProcess({ command: process.execPath, diff --git a/tests/boundary/providers/ghidra/ghidraClient.test.ts b/tests/boundary/providers/ghidra/ghidraClient.test.ts index 2d9885e96..42018059e 100644 --- a/tests/boundary/providers/ghidra/ghidraClient.test.ts +++ b/tests/boundary/providers/ghidra/ghidraClient.test.ts @@ -61,21 +61,22 @@ class FixtureLauncher implements GhidraLauncher { this.tokens.push(session.token); const projectRoot = join(session.runtimeRoot, "project"); await mkdir(projectRoot, { recursive: true }); - const process_ = spawn( - process.execPath, - [ - fixturePath, - session.endpointPath, - session.token, - session.runId, - session.providerVersion, - session.profileDigest, - session.targetSha256, - session.transport, - this.mode, - ], - { stdio: ["ignore", "pipe", "pipe"] }, - ); + const process_ = spawn(process.execPath, [fixturePath], { + stdio: ["ignore", "pipe", "pipe"], + env: { + ...process.env, + REA_GHIDRA_FIXTURE_CONFIG: JSON.stringify({ + endpointPath: session.endpointPath, + token: session.token, + runId: session.runId, + providerVersion: session.providerVersion, + profileDigest: session.profileDigest, + targetSha256: session.targetSha256, + transport: session.transport, + mode: this.mode, + }), + }, + }); this.processes.push(process_); return ok({ process: process_, diff --git a/tests/boundary/providers/ghidra/ghidraProvider.test.ts b/tests/boundary/providers/ghidra/ghidraProvider.test.ts index 18a791d13..f7c68aef3 100644 --- a/tests/boundary/providers/ghidra/ghidraProvider.test.ts +++ b/tests/boundary/providers/ghidra/ghidraProvider.test.ts @@ -142,7 +142,7 @@ describe("Ghidra provider", () => { }); describe("Ghidra platform support", () => { - it("admits only native x86-64 PE applications on Windows P0", () => { + it("keeps Windows P0 unavailable until native isolation authority exists", () => { const ghidra = provider({ ...installationHost(), platform: "win32" }); const nativeApplication: BinaryTarget = { ...executableTarget("pe", "x86_64"), @@ -158,12 +158,35 @@ describe("Ghidra platform support", () => { managed: false, }, }); + expect(ghidra.inspectAvailability()).toMatchObject({ + status: "unavailable", + code: "unsupported_host", + reason: expect.stringContaining("native authority is unavailable"), + diagnostics: { + windows_security: { + job_object_process_ownership: expect.objectContaining({ + available: false, + proof: "not-proven", + }), + private_runtime_dacl: expect.objectContaining({ + available: false, + proof: "not-proven", + }), + reparse_safe_path_admission: expect.objectContaining({ + available: false, + proof: "not-proven", + }), + }, + }, + }); expect(ghidra.capabilities()).toEqual( expect.arrayContaining([ expect.objectContaining({ operation: "list_procedures", + available: false, + availabilityCode: "unsupported_host", limitations: expect.arrayContaining([ - expect.stringContaining("bounded taskkill termination"), + expect.stringContaining("bounded taskkill cleanup"), expect.stringContaining("private DACL enforcement"), ]), }), diff --git a/tests/boundary/providers/hopper/linuxPrivateDisplay.test.ts b/tests/boundary/providers/hopper/linuxPrivateDisplay.test.ts index 43a57b1a3..ea56002a1 100644 --- a/tests/boundary/providers/hopper/linuxPrivateDisplay.test.ts +++ b/tests/boundary/providers/hopper/linuxPrivateDisplay.test.ts @@ -182,7 +182,7 @@ describe("Linux private display selection", () => { ); it("reports missing helper dependencies without exposing raw stderr", () => { - for (const [option, reason] of [ + for (const [option] of [ ["--xauth", "missing_xauth"], ["--xvfb", "missing_xvfb"], ] as const) { @@ -198,9 +198,10 @@ describe("Linux private display selection", () => { value: { status: "error", failure_code: "runtime_dependency_unavailable", - reason, }, }); + if (parsed.ok) + expect(parsed.value.reason).toMatch(/^missing_(xauth|xvfb)$/u); expect(result.stderr).not.toContain("Traceback"); } }); diff --git a/tests/composition/analysis-sessions/toolContracts.test.ts b/tests/composition/analysis-sessions/toolContracts.test.ts index 92da500ba..901f173c7 100644 --- a/tests/composition/analysis-sessions/toolContracts.test.ts +++ b/tests/composition/analysis-sessions/toolContracts.test.ts @@ -51,6 +51,7 @@ describe("tool contract inventory", () => { "inspect_electron_page", "analyze_javascript_application", "reconcile_javascript_runtime", + "capture_electron_scenario", ]); expect(APPLICATION_TOOL_CONTRACTS.map(({ name }) => name)).toEqual([ "trace_application_feature", diff --git a/tests/composition/runtime-observation/javascriptRuntimeReconciliation.test.ts b/tests/composition/runtime-observation/javascriptRuntimeReconciliation.test.ts index 0e13a0d65..afc1f1f0c 100644 --- a/tests/composition/runtime-observation/javascriptRuntimeReconciliation.test.ts +++ b/tests/composition/runtime-observation/javascriptRuntimeReconciliation.test.ts @@ -6,11 +6,14 @@ import { afterEach, expect, it } from "vitest"; import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; import { createElectronEvidence } from "../../../src/application/ElectronEvidence.js"; +import { createElectronActiveEvidence } from "../../../src/application/ElectronActiveEvidence.js"; import { analyzeJavaScriptApplication } from "../../../src/application/JavaScriptApplicationService.js"; import { reconcileJavaScriptRuntime } from "../../../src/domain/javascriptRuntimeReconciliation.js"; import { javascriptRuntimeReconciliationResultSchema } from "../../../src/domain/javascriptRuntimeReconciliationSchemas.js"; +import { electronActiveObservationInputSchema } from "../../../src/domain/electronActiveObservation.js"; import { createWebTextArtifact } from "../../../src/domain/webContentArtifact.js"; import { permissionAuthorityForRoot } from "../../fixtures/permissionAuthority.js"; +import { createElectronActiveObservationFixtureResult } from "../../fixtures/electronActiveObservationResult.js"; const SOURCE = `const worker = new Worker("./worker.js");\nexport const observed = worker;\n`; @@ -142,6 +145,87 @@ it("keeps source-map declarations outside primary matching authority", async () }); }); +it("reconciles active Electron as a partial target-only runtime capture", async () => { + const fixture = await applicationFixture(); + temporary.push(fixture); + const staticEvidence = await analyzeFixture(fixture); + const applicationPath = join(fixture, "main.js"); + const input = electronActiveObservationInputSchema.parse({ + schema_version: 1, + executable_path: process.execPath, + application_path: applicationPath, + application_root: fixture, + actions: [], + approved: true, + }); + const runtimeEvidence = createElectronActiveEvidence( + input, + createElectronActiveObservationFixtureResult(applicationPath), + { + id: "rea-playwright-electron-active", + name: "REA Playwright active Electron observation provider", + version: "1", + }, + ); + + const result = reconcileJavaScriptRuntime({ + static_layers: [{ role: "application", analysis: staticEvidence }], + runtime_observations: [runtimeEvidence], + }); + + expect(result.runtime_captures).toMatchObject([ + { + kind: "electron-active", + scripts: 0, + frames: 0, + workers: 0, + scripts_complete_within_scope: false, + }, + ]); + expect(result.coverage.status).toBe("partial"); + expect(result.limitations.join(" ")).toMatch( + /incomplete|not reported as executed/u, + ); +}); + +it("hashes the retained Electron scenario projection, not raw selectors or secrets", async () => { + const fixture = await applicationFixture(); + temporary.push(fixture); + const applicationPath = join(fixture, "main.js"); + const makeInput = (secret: string, selector: string) => + electronActiveObservationInputSchema.parse({ + schema_version: 1, + executable_path: process.execPath, + application_path: applicationPath, + application_root: fixture, + args: ["--token", secret], + actions: [{ step_id: "click", kind: "click", selector }], + approved: true, + }); + const provider = { + id: "rea-playwright-electron-active", + name: "REA Playwright active Electron observation provider", + version: "1", + }; + const first = createElectronActiveEvidence( + makeInput("first-secret", "#first-secret"), + createElectronActiveObservationFixtureResult(applicationPath), + provider, + ); + const second = createElectronActiveEvidence( + makeInput("second-secret", "#second-secret"), + createElectronActiveObservationFixtureResult(applicationPath), + provider, + ); + + expect(first.parameters.scenario_sha256).toBe( + second.parameters.scenario_sha256, + ); + expect(JSON.stringify(first)).not.toContain("first-secret"); + expect(JSON.stringify(first)).not.toContain("#first-secret"); + expect(first.parameters.args).toEqual(["--token", ""]); +}); + it("imports an operator-provided cache layer through an explicit file mapping", async () => { const application = await applicationFixture(); const cache = await createTestTempDirectory("rea-runtime-cache-static-"); diff --git a/tests/composition/setup-lifecycle/config.test.ts b/tests/composition/setup-lifecycle/config.test.ts index 2de544426..028e9b08c 100644 --- a/tests/composition/setup-lifecycle/config.test.ts +++ b/tests/composition/setup-lifecycle/config.test.ts @@ -42,6 +42,11 @@ describe("runtime configuration", () => { expect(result.value.electronObservationEnabled).toBe(false); expect(result.value.electronCdpEndpoints).toEqual([]); expect(result.value.electronFileRoots).toEqual([]); + expect(result.value.electronAutomationPolicy).toEqual({ + enabled: false, + executableRoots: [], + applicationRoots: [], + }); expect(result.value.v8InspectorObservationEnabled).toBe(false); expect(result.value.v8InspectorEndpoints).toEqual([]); expect(result.value.v8InspectorFileRoots).toEqual([]); @@ -144,7 +149,64 @@ describe("runtime permission configuration", () => { mount: false, }); }); +}); +describe("active Electron permission configuration", () => { + it("builds a separately granted, no-network Electron automation ceiling", () => { + const result = parseConfig({ + REA_ELECTRON_AUTOMATE_ENABLED: "true", + REA_ELECTRON_AUTOMATE_AUTO_GRANT: "false", + REA_ELECTRON_AUTOMATE_EXECUTABLE_ROOTS_JSON: '["/opt/electron"]', + REA_ELECTRON_AUTOMATE_APPLICATION_ROOTS_JSON: '["/tmp/apps"]', + }); + if (!result.ok) throw result.error; + expect(result.value.electronAutomationPolicy).toEqual({ + enabled: true, + executableRoots: ["/opt/electron"], + applicationRoots: ["/tmp/apps"], + }); + expect(result.value.permissionCeilings).toContainEqual({ + capability: "electron_automate", + roots: ["/tmp/apps"], + executables: ["/opt/electron"], + environment_names: [], + network: "external", + mount: false, + }); + expect(result.value.administratorPermissionGrants).not.toContainEqual( + expect.objectContaining({ capability: "electron_automate" }), + ); + + const granted = parseConfig({ + REA_ELECTRON_AUTOMATE_ENABLED: "true", + REA_ELECTRON_AUTOMATE_AUTO_GRANT: "true", + REA_ELECTRON_AUTOMATE_EXECUTABLE_ROOTS_JSON: '["/opt/electron"]', + REA_ELECTRON_AUTOMATE_APPLICATION_ROOTS_JSON: '["/tmp/apps"]', + }); + if (!granted.ok) throw granted.error; + expect(granted.value.administratorPermissionGrants).toContainEqual( + expect.objectContaining({ + capability: "electron_automate", + lifetime: "administrator", + }), + ); + }); + + it("rejects relative active Electron roots", () => { + expect( + parseConfig({ + REA_ELECTRON_AUTOMATE_APPLICATION_ROOTS_JSON: '["relative/apps"]', + }).ok, + ).toBe(false); + expect( + parseConfig({ + REA_ELECTRON_AUTOMATE_EXECUTABLE_ROOTS_JSON: '["relative/bin"]', + }).ok, + ).toBe(false); + }); +}); + +describe("runtime permission configuration", () => { it("can configure a process-capture ceiling without an implicit grant", () => { const result = parseConfig({ REA_PROCESS_CAPTURE_ENABLED: "true", diff --git a/tests/conformance/providers/conformanceReplay.test.ts b/tests/conformance/providers/conformanceReplay.test.ts index 201661f9b..30b6ee7a5 100644 --- a/tests/conformance/providers/conformanceReplay.test.ts +++ b/tests/conformance/providers/conformanceReplay.test.ts @@ -5,6 +5,7 @@ import { createConformancePackage, type ConformancePackage, } from "../../../src/domain/conformancePackage.js"; +import { createEvidence } from "../../../src/domain/evidence.js"; import { replayConformancePackage, type ScenarioReplayResult, @@ -115,6 +116,41 @@ describe("conformance CI replay", () => { expect(result.drift_detected).toBe(false); }); + it("retains the observed Evidence ID on the first drift", async () => { + const expected = createEvidence( + undefined, + { id: "fixture-provider", name: "Fixture provider", version: "1" }, + { operation: "run", parameters: {}, result: { exit_code: 0 } }, + ); + const pkg = createConformancePackage({ + ...validPackage, + expected_evidence: [ + { + scenario_id: "s1", + envelopes: [expected], + bundle: null, + required_dimensions: ["exit_code"], + }, + ], + }); + const actualEvidenceId = `ev_${"3".repeat(64)}`; + const result = await replayConformancePackage( + pkg, + { + s1: { + evidence_id: actualEvidenceId, + normalized_result: { exit_code: 1 }, + }, + }, + passingRunner, + ); + expect(result.drift_detected).toBe(true); + expect(result.first_drift).toMatchObject({ + dimension: "exit_code", + evidence_id: actualEvidenceId, + }); + }); + it("throws on invalid package", async () => { await expect(replayConformancePackage({}, {})).rejects.toThrow( /invalid conformance package/u, diff --git a/tests/conformance/providers/conformanceTrustGate.test.ts b/tests/conformance/providers/conformanceTrustGate.test.ts index b9254d0ba..6807cf322 100644 --- a/tests/conformance/providers/conformanceTrustGate.test.ts +++ b/tests/conformance/providers/conformanceTrustGate.test.ts @@ -62,7 +62,78 @@ describe("conformance trust gates", () => { it("handles missing actual", () => { const result = compareDimension("exit_code", 0, undefined); - expect(result.status).toBe("mismatch"); + expect(result.status).toBe("unknown"); + }); + + it("keeps semantic unknown and truncated values out of equivalence", () => { + expect( + compareDimension( + "process_tree", + { processes: [] }, + { status: "unknown" }, + ), + ).toMatchObject({ status: "unknown" }); + expect( + compareDimension("process_tree", { processes: [] }, { truncated: true }), + ).toMatchObject({ status: "truncated" }); + expect( + compareDimension( + "process_tree", + { status: "unknown" }, + { status: "unknown" }, + ), + ).toMatchObject({ status: "unknown" }); + }); + + it("projects Evidence envelopes and links a divergence to the observed ID", () => { + const expectedEvidenceId = `ev_${"1".repeat(64)}`; + const actualEvidenceId = `ev_${"2".repeat(64)}`; + const result = evaluateTrustGate( + contract, + { + evidence_id: expectedEvidenceId, + normalized_result: { exit_code: 0, stdout: "hello" }, + }, + { + evidence_id: actualEvidenceId, + normalized_result: { exit_code: 1, stdout: "hello" }, + }, + ); + expect(result.verdict).toBe("fail"); + expect(result.dimension_results[0]?.evidence_ids).toEqual([ + actualEvidenceId, + expectedEvidenceId, + ]); + expect(result.first_divergence).toMatchObject({ + dimension: "exit_code", + evidence_id: actualEvidenceId, + }); + }); + + it("scopes process residual unknowns without hiding complete dimensions", () => { + const processContract: VerifierContract = { + ...contract, + dimensions: [ + { name: "exit_code", required: true, comparison: "exact" }, + { name: "process_tree", required: true, comparison: "semantic" }, + ], + }; + const result = evaluateTrustGate( + processContract, + { exit_code: 0, process_tree: { processes: [] } }, + { + exit_code: 0, + process_tree: { processes: [] }, + residual_unknowns: [{ scope: "process", reason: "event gap" }], + }, + ); + expect(result.verdict).toBe("unknown"); + expect(result.dimension_results).toEqual( + expect.arrayContaining([ + expect.objectContaining({ name: "exit_code", status: "match" }), + expect.objectContaining({ name: "process_tree", status: "unknown" }), + ]), + ); }); it("passes when all dimensions match", () => { diff --git a/tests/conformance/providers/ghidra/windowsCapabilities.test.ts b/tests/conformance/providers/ghidra/windowsCapabilities.test.ts index 032b93398..ae1292228 100644 --- a/tests/conformance/providers/ghidra/windowsCapabilities.test.ts +++ b/tests/conformance/providers/ghidra/windowsCapabilities.test.ts @@ -5,6 +5,7 @@ import { systemNoFollowOpenCapability, type WindowsCapabilityDependencies, } from "../../../../src/application/WindowsCapabilities.js"; +import { WINDOWS_NATIVE_AUTHORITY_UNAVAILABLE_REASON } from "../../../../src/process/WindowsAuthority.js"; const dependencies = ( overrides: Partial = {}, @@ -67,6 +68,23 @@ describe("Windows host capability report", () => { }, pty: { available: false, reason: "probe unavailable" }, }, + security: { + job_object_process_ownership: { + available: false, + reason: WINDOWS_NATIVE_AUTHORITY_UNAVAILABLE_REASON, + proof: "not-proven", + }, + private_runtime_dacl: { + available: false, + reason: WINDOWS_NATIVE_AUTHORITY_UNAVAILABLE_REASON, + proof: "not-proven", + }, + reparse_safe_path_admission: { + available: false, + reason: WINDOWS_NATIVE_AUTHORITY_UNAVAILABLE_REASON, + proof: "not-proven", + }, + }, }); }); @@ -89,5 +107,26 @@ describe("Windows host capability report", () => { reason: null, }); expect(result.capabilities.private_acl.available).toBe(false); + expect(result.security.private_runtime_dacl).toMatchObject({ + available: false, + proof: "not-proven", + }); + }); + + it("does not promote an ordinary ACL probe into native authority", async () => { + const result = await probeWindowsCapabilities( + dependencies({ + probePrivateAcl: () => ({ available: true, reason: null }), + }), + ); + + expect(result.capabilities.private_acl).toEqual({ + available: true, + reason: null, + }); + expect(result.security.private_runtime_dacl).toMatchObject({ + available: false, + proof: "not-proven", + }); }); }); diff --git a/tests/conformance/readiness/electron/main.js b/tests/conformance/readiness/electron/main.js index 947847115..a06dc65b6 100644 --- a/tests/conformance/readiness/electron/main.js +++ b/tests/conformance/readiness/electron/main.js @@ -5,19 +5,32 @@ const { shell, utilityProcess, } = require("electron"); +const { spawn } = require("node:child_process"); const windows = new Set(); -app.on("open-url", (_event, url) => { +const deliverDeepLink = (url) => { for (const window of windows) window.webContents.send("deep-link", url); +}; +app.on("open-url", (_event, url) => deliverDeepLink(url)); +app.on("second-instance", (_event, commandLine) => { + const url = commandLine.at(-1); + if (typeof url === "string") deliverDeepLink(url); }); app.whenReady().then(() => { - const window = new BrowserWindow({ - webPreferences: { preload: require.resolve("./preload.js") }, - }); - windows.add(window); - window.loadFile("renderer.html"); + for (let index = 0; index < 2; index += 1) { + const window = new BrowserWindow({ + webPreferences: { preload: require.resolve("./preload.js") }, + }); + windows.add(window); + window.loadFile("renderer.html"); + window.webContents.on("render-process-gone", () => window.reload()); + } utilityProcess.fork(require.resolve("./utility.js")); + spawn( + process.env.REA_ELECTRON_NODE_EXECUTABLE ?? "node", + ["-e", "setTimeout(() => {}, 100)"], + { stdio: "ignore" }, + ); ipcMain.handle("readiness:echo", (_event, value) => ({ value })); - window.webContents.on("render-process-gone", () => window.reload()); shell.openExternal("https://blocked.invalid").catch(() => undefined); }); diff --git a/tests/conformance/readmeConsistency.test.ts b/tests/conformance/readmeConsistency.test.ts index 395bf0ef3..a5acb99ea 100644 --- a/tests/conformance/readmeConsistency.test.ts +++ b/tests/conformance/readmeConsistency.test.ts @@ -107,4 +107,12 @@ describe("localized README product facts", () => { "pin persistent MCP registrations to the exact version", ); }); + + it("documents the published MCP Registry installation path", async () => { + const content = await readFile(resolve("docs/installation.md"), "utf8"); + expect(content).toContain("MCP Registry"); + expect(content).toContain("io.github.morluto/rea"); + expect(content).toContain('"command": "npx"'); + expect(content).toContain('"args": ["-y", "rea-agents@latest", "mcp"]'); + }); }); diff --git a/tests/conformance/releaseConfiguration.test.ts b/tests/conformance/releaseConfiguration.test.ts index c5e4b2740..64469a5e2 100644 --- a/tests/conformance/releaseConfiguration.test.ts +++ b/tests/conformance/releaseConfiguration.test.ts @@ -26,6 +26,16 @@ describe("release configuration", () => { type: "generic", path: "src/generatedPackageMetadata.ts", }, + { + type: "json", + path: "server.json", + jsonpath: "$.version", + }, + { + type: "json", + path: "server.json", + jsonpath: "$.packages[0].version", + }, { type: "json", path: "docs/product-catalog.json", @@ -61,6 +71,47 @@ describe("release configuration", () => { expect(generated).toContain("x-release-please-version"); }); + it("keeps the npm package and MCP Registry metadata aligned", async () => { + const packageJson = (await readJson("package.json")) as { + name: string; + version: string; + mcpName: string; + }; + const serverJson = (await readJson("server.json")) as { + name: string; + version: string; + packages: Array<{ + registryType: string; + registryBaseUrl: string; + identifier: string; + version: string; + runtimeHint: string; + transport: { type: string }; + packageArguments: Array<{ type: string; value: string }>; + }>; + }; + + expect(packageJson).toMatchObject({ + name: "rea-agents", + mcpName: "io.github.morluto/rea", + }); + expect(serverJson).toMatchObject({ + name: packageJson.mcpName, + version: packageJson.version, + packages: [ + { + registryType: "npm", + registryBaseUrl: "https://registry.npmjs.org", + identifier: packageJson.name, + version: packageJson.version, + runtimeHint: "npx", + transport: { type: "stdio" }, + packageArguments: [{ type: "positional", value: "mcp" }], + }, + ], + }); + }); + it("keeps TypeDoc unversioned and outside the tracked documentation tree", async () => { await expect(readJson("typedoc.json")).resolves.toMatchObject({ includeVersion: false, diff --git a/tests/fixtures/electronActiveObservationResult.ts b/tests/fixtures/electronActiveObservationResult.ts new file mode 100644 index 000000000..8a6a230ce --- /dev/null +++ b/tests/fixtures/electronActiveObservationResult.ts @@ -0,0 +1,61 @@ +import { electronActiveObservationResultSchema } from "../../src/domain/electronActiveObservation.js"; + +/** Create a bounded active-capture result for MCP contract tests. */ +export const createElectronActiveObservationFixtureResult = ( + applicationPath: string, +) => + electronActiveObservationResultSchema.parse({ + schema_version: 1, + application: { + executable_path: process.execPath, + application_path: applicationPath, + electron_version: "test-electron", + process_ownership: "provider-owned", + cleanup: "terminated-owned-process", + }, + actions: [ + { + step_id: "submit", + kind: "click", + window_index: 0, + target: "window:1", + status: "completed", + elapsed_ms: 3, + error: null, + }, + ], + windows: [ + { + window_id: "window:1", + web_contents_id: "webContents:1", + url: "file:///tmp/app.html", + title: "Fixture", + visible: true, + destroyed: false, + }, + ], + windows_truncated: false, + processes: { + items: [{ pid: 1234, type: "Browser", name: null, service_name: null }], + truncated: false, + }, + ipc: { + events: [ + { + sequence: 1, + kind: "main-handler-invocation", + channel: "readiness:echo", + argument_shapes: ["string"], + result_shape: "object", + process_type: "main", + error: false, + }, + ], + observed: 1, + retained: 1, + truncated: false, + }, + limitations: [ + "IPC payloads are represented only by bounded value shapes; values are never retained.", + ], + }); diff --git a/tests/fixtures/fakeGhidra.mjs b/tests/fixtures/fakeGhidra.mjs index 6cd0ba2d7..98cf22d7d 100644 --- a/tests/fixtures/fakeGhidra.mjs +++ b/tests/fixtures/fakeGhidra.mjs @@ -1,7 +1,10 @@ import { rename, rm, writeFile } from "node:fs/promises"; import { createServer } from "node:net"; -const [ +const configuration = JSON.parse( + process.env.REA_GHIDRA_FIXTURE_CONFIG ?? "null", +); +const { endpointPath, token, runId, @@ -10,7 +13,7 @@ const [ targetSha256, transport, mode = "success", -] = process.argv.slice(2); +} = configuration ?? {}; if ( endpointPath === undefined || diff --git a/tests/fixtures/providerProcess.mjs b/tests/fixtures/providerProcess.mjs index 561f5886e..3be02a7cf 100644 --- a/tests/fixtures/providerProcess.mjs +++ b/tests/fixtures/providerProcess.mjs @@ -1,9 +1,17 @@ import { spawn } from "node:child_process"; const [mode, value = "0"] = process.argv.slice(2); +let keepAliveTimer; +let detachedChild; const keepAlive = () => { - setInterval(() => undefined, 1_000); + keepAliveTimer = setInterval(() => undefined, 1_000); +}; + +const stopDetachedFixture = (signal) => { + if (keepAliveTimer !== undefined) clearInterval(keepAliveTimer); + if (detachedChild?.exitCode === null) detachedChild.kill(signal); + process.exitCode = signal === "SIGINT" ? 130 : 143; }; const write = (stream, data) => @@ -38,7 +46,7 @@ switch (mode) { keepAlive(); break; case "detached-child": { - const child = spawn( + detachedChild = spawn( process.execPath, [ "-e", @@ -47,11 +55,13 @@ switch (mode) { { detached: true, stdio: "ignore" }, ); await new Promise((resolve, reject) => { - child.once("spawn", resolve); - child.once("error", reject); + detachedChild.once("spawn", resolve); + detachedChild.once("error", reject); }); - await write(process.stdout, `ready:${child.pid}\n`); - child.unref(); + process.once("SIGINT", () => stopDetachedFixture("SIGINT")); + process.once("SIGTERM", () => stopDetachedFixture("SIGTERM")); + await write(process.stdout, `ready:${detachedChild.pid}\n`); + detachedChild.unref(); keepAlive(); break; } diff --git a/tests/process-global/vitestConfiguration.test.ts b/tests/process-global/vitestConfiguration.test.ts index ec7a0d4d8..25f66306a 100644 --- a/tests/process-global/vitestConfiguration.test.ts +++ b/tests/process-global/vitestConfiguration.test.ts @@ -37,7 +37,19 @@ describe("Vitest project configuration", () => { expect(vitestConfiguration.test?.coverage?.enabled).toBe(false); expect(vitestConfiguration.test?.reporters).toEqual(["default"]); expect(vitestConfiguration.test?.retry).toBe(0); - expect(MAX_TEST_WORKERS).toBe(Math.min(2, availableParallelism())); + const local = process.env.CI !== "true"; + expect(MAX_TEST_WORKERS).toBe( + local ? 1 : Math.min(2, availableParallelism()), + ); + expect( + TEST_PROJECTS.every( + ({ fileParallelism, maxWorkers, sequence }) => + maxWorkers === MAX_TEST_WORKERS && + (local + ? fileParallelism === false && sequence?.groupOrder !== undefined + : true), + ), + ).toBe(true); expect(TEST_PROJECTS.map(({ name }) => name).sort()).toEqual( EXPECTED_PROJECTS, ); diff --git a/vitest.config.ts b/vitest.config.ts index ddae23b49..42c847e4b 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -11,11 +11,13 @@ const COVERAGE_ENABLED = process.argv.some((argument) => const COVERAGE_SHARD = process.argv.some((argument) => argument.startsWith("--shard="), ); -// Keep every project on one worker budget. Vitest requires projects selected -// by an explicit file list to agree on maxWorkers unless they are assigned -// artificial sequence barriers; a shared cap avoids that trap and limits the -// descriptor pressure from boundary subprocesses. -export const MAX_TEST_WORKERS = Math.min(2, availableParallelism()); +const LOCAL_ONLY = process.env.CI !== "true"; + +// Keep local runs to one worker and one project at a time. CI shards have +// dedicated capacity and retain the existing bounded worker budget. +export const MAX_TEST_WORKERS = LOCAL_ONLY + ? 1 + : Math.min(2, availableParallelism()); export const TEST_PROJECTS = [ { @@ -83,7 +85,11 @@ export const TEST_PROJECTS = [ pool: "threads" as const, maxWorkers: MAX_TEST_WORKERS, }, -]; +].map((project, groupOrder) => ({ + ...project, + maxWorkers: MAX_TEST_WORKERS, + ...(LOCAL_ONLY ? { fileParallelism: false, sequence: { groupOrder } } : {}), +})); const ZERO_COVERAGE_THRESHOLDS = { statements: 0,