chore: merge main and resolve MCP contract conflicts
This commit is contained in:
commit
0aef572a26
22
README.md
22
README.md
|
|
@ -322,17 +322,17 @@ REA handles the app analysis in steps 1–5. The agent performs step 6 with its
|
|||
|
||||
## Tool catalog for investigation
|
||||
|
||||
| Tool family | Count | Examples |
|
||||
| ------------------------- | ----: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| Native inspection | 33 | procedures, pseudocode, assembly, strings, names, segments, callers, callees, xrefs, annotations |
|
||||
| Investigation workflows | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `trace_feature`, call graphs, Swift and Objective-C discovery |
|
||||
| Native macOS utilities | 5 | Mach-O metadata, code signatures, plists, architectures, Swift demangling; Hopper-free and provenance-bearing |
|
||||
| Artifact graph | 2 | deterministic directory, ZIP/APK/IPA, and ASAR inventory; explicitly selected extraction into an absent owned tree |
|
||||
| Managed PE/CLI | 6 | PE/CLI identity, metadata members, CIL hashes, P/Invoke/native-boundary declarations, decompiler reconstruction import, token remapping, runtime-correlation plans, and version comparison |
|
||||
| Browser observation | 8 | exact-origin CDP capture, bundle and source-map analysis, WebMCP discovery, session timelines, capture diff, and visual evidence |
|
||||
| Electron analysis | 4 | passive root-confined observation, bounded static application mapping, and evidence-backed static/runtime reconciliation |
|
||||
| Application workflows | 3 | bounded cross-layer traces, unique-only version matching, and approved Linux-isolated extracted-module replay |
|
||||
| Workspace and observation | 18 | target lifecycle, Evidence v2 bundles, process/artifact/function comparison, evidence-linked residual-unknown lifecycle |
|
||||
| Tool family | Count | Examples |
|
||||
| ------------------------- | ----: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Native inspection | 33 | procedures, pseudocode, assembly, strings, names, segments, callers, callees, xrefs, annotations |
|
||||
| Investigation workflows | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `trace_feature`, call graphs, Swift and Objective-C discovery |
|
||||
| Native macOS utilities | 5 | Mach-O metadata, code signatures, plists, architectures, Swift demangling; Hopper-free and provenance-bearing |
|
||||
| Artifact graph | 2 | deterministic directory, ZIP/APK/IPA, and ASAR inventory; explicitly selected extraction into an absent owned tree |
|
||||
| Managed PE/CLI | 7 | PE/CLI identity, metadata members, CIL hashes, P/Invoke/native-boundary declarations and verification, decompiler reconstruction import, token remapping, runtime-correlation plans, and version comparison |
|
||||
| Browser observation | 8 | exact-origin CDP capture, bundle and source-map analysis, WebMCP discovery, session timelines, capture diff, and visual evidence |
|
||||
| Electron analysis | 4 | passive root-confined observation, bounded static application mapping, and evidence-backed static/runtime reconciliation |
|
||||
| Application workflows | 3 | bounded cross-layer traces, unique-only version matching, and approved Linux-isolated extracted-module replay |
|
||||
| Workspace and observation | 18 | target lifecycle, Evidence v2 bundles, process/artifact/function comparison, evidence-linked residual-unknown lifecycle |
|
||||
|
||||
The public interface describes what the agent is trying to learn. Providers decide how to answer. macOS utilities handle common semantic inspection without launching Hopper; Hopper handles deeper native analysis; the process harness implements controlled behavioral capture.
|
||||
|
||||
|
|
|
|||
22
README_ar.md
22
README_ar.md
|
|
@ -159,17 +159,17 @@ rea uninstall --purge-data
|
|||
|
||||
## منصة أدوات التحقيق
|
||||
|
||||
| عائلة الأدوات | العدد | أمثلة |
|
||||
| --------------------- | ----: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| فحص الملفات التنفيذية | 33 | الدوال، والشيفرة شبه المصدرية، والتعليمات، والسلاسل، والأسماء، والمراجع، والتعليقات |
|
||||
| التحليل المركب | 10 | النظرة العامة، وفك الترجمة الدفعي، ومخططات الاستدعاء، والمراجع، واكتشاف الأنواع |
|
||||
| أدوات macOS الأصلية | 5 | بيانات Mach-O والتوقيعات وملفات plist والمعماريات وفك رموز Swift دون تشغيل Hopper |
|
||||
| رسم القطع الأثرية | 2 | جرد حتمي للدلائل وZIP/APK/IPA وASAR واستخراج معاملاتي محدد صراحة |
|
||||
| Managed PE/CLI | 6 | هوية PE/CLI، أعضاء البيانات الوصفية، بصمات CIL، تصريحات P/Invoke/الحدود الأصلية، استيراد إعادة البناء من فك الترجمة، إعادة ربط الرموز، خطط ترابط وقت التشغيل ومقارنة الإصدارات |
|
||||
| مراقبة المتصفح | 8 | التقاط CDP محدود الأصل وتحليل الحزم وخرائط المصدر واكتشاف WebMCP والفروق والأدلة المرئية |
|
||||
| تحليل Electron | 4 | مراقبة سلبية ضمن جذور canonical، ورسم ثابت ومحدود للتطبيق، ومطابقة ثابتة/وقت تشغيل قائمة على Evidence |
|
||||
| سير عمل التطبيقات | 3 | تتبع محدود ومقارنة إصدارات فريدة وإعادة تشغيل وحدات معزولة ومعتمدة على Linux |
|
||||
| جلسة الملف التنفيذي | 18 | فتح الأهداف وحزم الأدلة ومقارنة العمليات والقطع والدوال وسجل المجهولات المتبقية |
|
||||
| عائلة الأدوات | العدد | أمثلة |
|
||||
| --------------------- | ----: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| فحص الملفات التنفيذية | 33 | الدوال، والشيفرة شبه المصدرية، والتعليمات، والسلاسل، والأسماء، والمراجع، والتعليقات |
|
||||
| التحليل المركب | 10 | النظرة العامة، وفك الترجمة الدفعي، ومخططات الاستدعاء، والمراجع، واكتشاف الأنواع |
|
||||
| أدوات macOS الأصلية | 5 | بيانات Mach-O والتوقيعات وملفات plist والمعماريات وفك رموز Swift دون تشغيل Hopper |
|
||||
| رسم القطع الأثرية | 2 | جرد حتمي للدلائل وZIP/APK/IPA وASAR واستخراج معاملاتي محدد صراحة |
|
||||
| Managed PE/CLI | 7 | هوية PE/CLI، أعضاء البيانات الوصفية، بصمات CIL، تصريحات P/Invoke/الحدود الأصلية والتحقق منها، استيراد إعادة البناء من فك الترجمة، إعادة ربط الرموز، خطط ترابط وقت التشغيل ومقارنة الإصدارات |
|
||||
| مراقبة المتصفح | 8 | التقاط CDP محدود الأصل وتحليل الحزم وخرائط المصدر واكتشاف WebMCP والفروق والأدلة المرئية |
|
||||
| تحليل Electron | 4 | مراقبة سلبية ضمن جذور canonical، ورسم ثابت ومحدود للتطبيق، ومطابقة ثابتة/وقت تشغيل قائمة على Evidence |
|
||||
| سير عمل التطبيقات | 3 | تتبع محدود ومقارنة إصدارات فريدة وإعادة تشغيل وحدات معزولة ومعتمدة على Linux |
|
||||
| جلسة الملف التنفيذي | 18 | فتح الأهداف وحزم الأدلة ومقارنة العمليات والقطع والدوال وسجل المجهولات المتبقية |
|
||||
|
||||
## استخدام REA مع وكلاء برمجة آخرين
|
||||
|
||||
|
|
|
|||
22
README_ja.md
22
README_ja.md
|
|
@ -149,17 +149,17 @@ REA は手順 1〜5 のバイナリ解析を処理し、手順 6 はエージェ
|
|||
|
||||
## 調査ツールカタログ
|
||||
|
||||
| ツール群 | 数 | 例 |
|
||||
| ---------------------- | --: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| バイナリ調査 | 33 | プロシージャ、疑似コード、アセンブリ、文字列、名前、セグメント、callers、callees、xrefs、注釈 |
|
||||
| 合成解析 | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `get_call_graph`, `find_xrefs_to_name`, Swift / ObjC 検出 |
|
||||
| macOS ネイティブ | 5 | Mach-O メタデータ、署名、plist、アーキテクチャ、Swift デマングル。Hopper 起動不要 |
|
||||
| アーティファクトグラフ | 2 | ディレクトリ、ZIP/APK/IPA、ASAR の決定的一覧と明示選択されたトランザクション抽出 |
|
||||
| Managed PE/CLI | 6 | PE/CLI 識別、メタデータメンバー、CIL ハッシュ、P/Invoke/ネイティブ境界宣言、逆コンパイル再構成インポート、構造的 token 再マッピング、ランタイム相関計画、バージョン比較 |
|
||||
| ブラウザ観察 | 8 | origin 限定 CDP 取得、bundle/source map 解析、WebMCP 検出、セッション、capture diff、視覚証拠 |
|
||||
| Electron 解析 | 4 | canonical ファイルルート内の受動観察、有界な静的アプリマッピング、Evidence に基づく静的/実行時の照合 |
|
||||
| アプリケーション | 3 | 有界なクロスレイヤー追跡、一意限定のバージョン比較、承認済み Linux 隔離 extracted-module replay |
|
||||
| バイナリセッション | 18 | `open_binary`、`binary_session`、証拠バンドル、プロセス/成果物/関数比較、残余未知レジストリ |
|
||||
| ツール群 | 数 | 例 |
|
||||
| ---------------------- | --: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| バイナリ調査 | 33 | プロシージャ、疑似コード、アセンブリ、文字列、名前、セグメント、callers、callees、xrefs、注釈 |
|
||||
| 合成解析 | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `get_call_graph`, `find_xrefs_to_name`, Swift / ObjC 検出 |
|
||||
| macOS ネイティブ | 5 | Mach-O メタデータ、署名、plist、アーキテクチャ、Swift デマングル。Hopper 起動不要 |
|
||||
| アーティファクトグラフ | 2 | ディレクトリ、ZIP/APK/IPA、ASAR の決定的一覧と明示選択されたトランザクション抽出 |
|
||||
| Managed PE/CLI | 7 | PE/CLI 識別、メタデータメンバー、CIL ハッシュ、P/Invoke/ネイティブ境界宣言と検証、逆コンパイル再構成インポート、構造的 token 再マッピング、ランタイム相関計画、バージョン比較 |
|
||||
| ブラウザ観察 | 8 | origin 限定 CDP 取得、bundle/source map 解析、WebMCP 検出、セッション、capture diff、視覚証拠 |
|
||||
| Electron 解析 | 4 | canonical ファイルルート内の受動観察、有界な静的アプリマッピング、Evidence に基づく静的/実行時の照合 |
|
||||
| アプリケーション | 3 | 有界なクロスレイヤー追跡、一意限定のバージョン比較、承認済み Linux 隔離 extracted-module replay |
|
||||
| バイナリセッション | 18 | `open_binary`、`binary_session`、証拠バンドル、プロセス/成果物/関数比較、残余未知レジストリ |
|
||||
|
||||
## 他のコーディングエージェントで使う
|
||||
|
||||
|
|
|
|||
22
README_ko.md
22
README_ko.md
|
|
@ -149,17 +149,17 @@ REA는 1–5단계의 바이너리 분석을 처리합니다. 6단계는 에이
|
|||
|
||||
## 조사 도구 카탈로그
|
||||
|
||||
| 도구 그룹 | 수 | 예시 |
|
||||
| ------------------- | --: | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 바이너리 검사 | 33 | 프로시저, 의사 코드, 어셈블리, 문자열, 이름, 세그먼트, callers, callees, xrefs, 주석 |
|
||||
| 합성 분석 | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `get_call_graph`, `find_xrefs_to_name`, Swift 및 ObjC 탐색 |
|
||||
| macOS 네이티브 도구 | 5 | Mach-O 메타데이터, 코드 서명, plist, 아키텍처, Swift 디맹글링. Hopper 실행 불필요 |
|
||||
| 아티팩트 그래프 | 2 | 디렉터리, ZIP/APK/IPA, ASAR 결정적 인벤토리와 명시적으로 선택한 트랜잭션 추출 |
|
||||
| Managed PE/CLI | 6 | PE/CLI ID, 메타데이터 멤버, CIL 해시, P/Invoke/네이티브 경계 선언, 디컴파일 재구성 가져오기, 구조적 token 재매핑, 런타임 상관 계획, 버전 비교 |
|
||||
| 브라우저 관찰 | 8 | origin 제한 CDP 캡처, bundle/source map 분석, WebMCP 검색, 세션 타임라인, capture diff 및 시각 증거 |
|
||||
| Electron 분석 | 4 | canonical 파일 루트 내 수동 관찰, 제한된 정적 앱 매핑, Evidence 기반 정적/런타임 조정 |
|
||||
| 애플리케이션 | 3 | 제한된 교차 계층 추적, 고유 일치 버전 비교, 승인된 Linux 격리 extracted-module replay |
|
||||
| 바이너리 세션 | 18 | `open_binary`, `binary_session`, 증거 번들, 프로세스·아티팩트·함수 비교, 잔여 미지수 레지스트리 |
|
||||
| 도구 그룹 | 수 | 예시 |
|
||||
| ------------------- | --: | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 바이너리 검사 | 33 | 프로시저, 의사 코드, 어셈블리, 문자열, 이름, 세그먼트, callers, callees, xrefs, 주석 |
|
||||
| 합성 분석 | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `get_call_graph`, `find_xrefs_to_name`, Swift 및 ObjC 탐색 |
|
||||
| macOS 네이티브 도구 | 5 | Mach-O 메타데이터, 코드 서명, plist, 아키텍처, Swift 디맹글링. Hopper 실행 불필요 |
|
||||
| 아티팩트 그래프 | 2 | 디렉터리, ZIP/APK/IPA, ASAR 결정적 인벤토리와 명시적으로 선택한 트랜잭션 추출 |
|
||||
| Managed PE/CLI | 7 | PE/CLI ID, 메타데이터 멤버, CIL 해시, P/Invoke/네이티브 경계 선언 및 검증, 디컴파일 재구성 가져오기, 구조적 token 재매핑, 런타임 상관 계획, 버전 비교 |
|
||||
| 브라우저 관찰 | 8 | origin 제한 CDP 캡처, bundle/source map 분석, WebMCP 검색, 세션 타임라인, capture diff 및 시각 증거 |
|
||||
| Electron 분석 | 4 | canonical 파일 루트 내 수동 관찰, 제한된 정적 앱 매핑, Evidence 기반 정적/런타임 조정 |
|
||||
| 애플리케이션 | 3 | 제한된 교차 계층 추적, 고유 일치 버전 비교, 승인된 Linux 격리 extracted-module replay |
|
||||
| 바이너리 세션 | 18 | `open_binary`, `binary_session`, 증거 번들, 프로세스·아티팩트·함수 비교, 잔여 미지수 레지스트리 |
|
||||
|
||||
## 다른 코딩 에이전트에서 사용하기
|
||||
|
||||
|
|
|
|||
22
README_zh.md
22
README_zh.md
|
|
@ -149,17 +149,17 @@ REA 负责第 1–5 步中的二进制分析。第 6 步由智能体使用其常
|
|||
|
||||
## 调查工具目录
|
||||
|
||||
| 工具类别 | 数量 | 示例 |
|
||||
| -------------- | ---: | ------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 二进制检查 | 33 | 过程、伪代码、汇编、字符串、名称、段、调用者、被调用者、交叉引用、注释 |
|
||||
| 组合分析 | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `get_call_graph`, `find_xrefs_to_name`、Swift 与 ObjC 发现 |
|
||||
| macOS 原生工具 | 5 | Mach-O 元数据、代码签名、plist、架构与 Swift 符号还原,无需启动 Hopper |
|
||||
| 制品图谱 | 2 | 确定性目录、ZIP/APK/IPA 与 ASAR 清单,以及显式选择的事务式提取 |
|
||||
| Managed PE/CLI | 6 | PE/CLI 身份、元数据成员、CIL 哈希、P/Invoke/原生边界声明、反编译重建导入、结构化 token 重映射、运行时关联计划与跨版本比较 |
|
||||
| 浏览器观察 | 8 | 精确来源 CDP 抓取、bundle/source map 分析、WebMCP 发现、会话时间线、capture diff 与视觉证据 |
|
||||
| Electron 分析 | 4 | 限定 canonical 文件根的被动观察、有界静态应用映射,以及基于 Evidence 的静态/运行时对账 |
|
||||
| 应用工作流 | 3 | 有界跨层追踪、唯一匹配跨版本图比较,以及经批准的 Linux 隔离 extracted-module replay |
|
||||
| 二进制会话 | 18 | `open_binary`、`binary_session`、证据包、进程、制品与函数比较、残余未知项注册表 |
|
||||
| 工具类别 | 数量 | 示例 |
|
||||
| -------------- | ---: | ------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 二进制检查 | 33 | 过程、伪代码、汇编、字符串、名称、段、调用者、被调用者、交叉引用、注释 |
|
||||
| 组合分析 | 10 | `binary_overview`, `analyze_function`, `batch_decompile`, `get_call_graph`, `find_xrefs_to_name`、Swift 与 ObjC 发现 |
|
||||
| macOS 原生工具 | 5 | Mach-O 元数据、代码签名、plist、架构与 Swift 符号还原,无需启动 Hopper |
|
||||
| 制品图谱 | 2 | 确定性目录、ZIP/APK/IPA 与 ASAR 清单,以及显式选择的事务式提取 |
|
||||
| Managed PE/CLI | 7 | PE/CLI 身份、元数据成员、CIL 哈希、P/Invoke/原生边界声明与验证、反编译重建导入、结构化 token 重映射、运行时关联计划与跨版本比较 |
|
||||
| 浏览器观察 | 8 | 精确来源 CDP 抓取、bundle/source map 分析、WebMCP 发现、会话时间线、capture diff 与视觉证据 |
|
||||
| Electron 分析 | 4 | 限定 canonical 文件根的被动观察、有界静态应用映射,以及基于 Evidence 的静态/运行时对账 |
|
||||
| 应用工作流 | 3 | 有界跨层追踪、唯一匹配跨版本图比较,以及经批准的 Linux 隔离 extracted-module replay |
|
||||
| 二进制会话 | 18 | `open_binary`、`binary_session`、证据包、进程、制品与函数比较、残余未知项注册表 |
|
||||
|
||||
## 与其他编程智能体一起使用
|
||||
|
||||
|
|
|
|||
|
|
@ -11,15 +11,19 @@
|
|||
`rea compare-managed-members`. Declaration-only managed/native boundary
|
||||
inventory for ModuleRef, ImplMap/PInvoke, ReadyToRun indicators, and non-IL
|
||||
method flags is shipped through `inspect_managed_native_boundaries` /
|
||||
`rea inspect-managed-native-boundaries`. Decompiler reconstruction import is
|
||||
`rea inspect-managed-native-boundaries`. Managed/native export or function
|
||||
Evidence matching is shipped through `verify_managed_native_boundaries` /
|
||||
`rea verify-managed-native-boundaries`; it verifies only supplied P/Invoke
|
||||
export/function observations and does not map managed tokens to native
|
||||
addresses. Decompiler reconstruction import is
|
||||
shipped through `import_managed_reconstruction` /
|
||||
`rea import-managed-reconstruction`; it records user-supplied C#/IL/pseudocode
|
||||
as analyst inference only after exact static member locks match. Default-disabled
|
||||
runtime-correlation admission planning is shipped through
|
||||
`plan_managed_runtime_correlation` / `rea plan-managed-runtime-correlation`;
|
||||
it does not attach, load, debug, reflect, instrument, invoke, or execute
|
||||
target code. Verified native export/function matching and an actual runtime
|
||||
executor remain future contracts.
|
||||
target code. Native-body bridge mapping and an actual runtime executor remain
|
||||
future contracts.
|
||||
|
||||
## Context
|
||||
|
||||
|
|
@ -395,7 +399,8 @@ or development-only oracles.
|
|||
2. Add metadata, signatures, method bodies, normalized CIL, and exact Evidence. Shipped.
|
||||
3. Add obfuscation-resistant slices and cross-build match states. Shipped.
|
||||
4. Compose explicit managed/native boundaries with Hopper/Ghidra. Declaration
|
||||
inventory shipped; native-provider matching remains planned.
|
||||
inventory and native export/function Evidence matching shipped; native-body
|
||||
bridge mapping remains planned.
|
||||
5. Add source-built, pinned real-tool, package, CLI, and MCP conformance.
|
||||
Source-owned conformance is shipped; pinned external real-tool checks remain
|
||||
planned.
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
window.hierarchyData = "eJytmVFv3CgQx7+Ln6nPBmzsvLWrXJtTdYmyrfJwiiJikw2KF3yYTW9V9btXeDcJjnEMzr1sbMf/mZ9hgGH4GSkpdRed/INKnAIMYZaY37IEeQZJDhDJYAGyJC0zkJEEJgAVCUkBRChLASoylAJYwJRcg0ixu4ZVmkvRRSc/I2PR/BV0y6KT6KOgzb7j3alSUkUgeuCijk5SWIBop5roJKoa2nWs+6OWW8rFDTPvdfFAFt/rbROBw6vRSaS7+oOx8+HwAETVPW9qxUT/QRkCqMwzgEpCACrLHOAkKQFOIAI4QeYnIwAnxFwVBcBpkgKcwgzgNEMAp7m5IuYfpWmbnAAMSQkwLAjAKIUAI5QAksA0uf4FIuPR+uAvsm2ZCvxcSxTysRgmEGBokCA0PWi+DmIDnBUHtjxzdMaFklpWslnYKQP5DG8PQYgD4ky0O72Q4EXr477MHe7Pd3q5f0s8D2DCzwGwoi295Q3X+++CPlLe0NuGLeSZtuWDB5ETT1SsaVi9GMnW+2AgF8Y3vmVycT/Zah+EzA7UCyUfec3Umh3nt0AIt94HgyAHxseatjp4ZnGpfRCKwkL4pOSPjqnz246pR7qgKSYMeICkyWA1UZrf0Uqft0wt4XDrfTCgPY+emiYVFTsTmm0U1/tADLc+aOZPEbnuwRBxgF2yO6bMxUKwod6nfQZr4JOZr3zLQ4fuWOvjPnd1z588eEIdSX2cE3usnIlH1mm+6cPrSqqHrqXB/fCGER+g0h4z38WDkD/EJdvwTqvQUHWpPRBgAkc50bKpfKz1cZ+O3S9d0FxqHwSYjBAW5l0OsQ8AGqell2wrdWgwjqQ+zjFxfX3FutCdwFjr4z4rRu7Xmqplwfei9HGd21++kuKOb3aLFqux1sc9sXPNv+UnLqjan7cs1PtI6uO8sL/9oP9G1YaFtvtI6uEcDcb8BVNb3nVcikv2746r4GE/YcAHBNkj/5K1Dd1fNFSsNQ1ej1zqeYR+m+5sjHUlW/bsHmb5k3suNFN3tHohaJ9FF7Lh1T5+ZWUS49nUMGUxUKWpIOTl9ZGxnOww1ul3Ux7teHAecHI3zmdFxftheiueKKawYqFcsVuTDwgt1f6SdXKnTObY7jyhfljyeNJWcG8WEPXlj/7Col1rs/e8YrdP5hdQjmz4NZypWqWDbQuvN+wr3Ynqfobivp/ob2wFU7F9649QTCAw9W4INj34J/oJkQzD6wMZHidFH9u24VW/wowgHZOTm3DSlEdxhuQkdWUK/abVA2UoiF/dzvsvktxulc/3vFbUK2Q2/as3toKp2L71DBlTWZ1AmA2ZeYgFIVMkRb+57C9GZF8YrRvWdT7x8hbeazs+nZWm2YjHJ1gGHM/R8erWw3+GBsvqUXlMTr2ipj28e/NKGzttLRjs0JTnk/ww5Is8s0ufq7o9FmJ82uz28OrNWBU7HnnsStM8GcKcmrqYkiKQ5rUsdj3z2aBlNs9zafepNHQh1dwKS1+mvBurOH4gcBoM7VFDmQNMcpxfH6FdxexVw9lskuJFe7DkN3P1J0bu44Vhf76DZ7ZDJxouQ8Sc8kCE8aHhEMZvoK6oqHlN9Vy2EsT8bDR8Bk7TDPRrYw+PC5KPNlZr1ieWbw0am3Ygiod384PFBOAUQeBAGWnj8ZPQUWIayLRUf2L5ZuE6FNZpwFHPXoLdz889tgnWQdVg28qOa+YzM9q4I2E8fjLb2f2Br11OPc6ty1txwkI89Ty0+83SYtqxP7y2R3mnT+uN12bJxv2LPtJ1pXirn84LPiva3q+k0Ow/HdtWQ1Hz7JiO9xeDsvFTxf3/Bx7b9pvf+yPuYb5jcpMVbfVOzVcybEKHNHY9mwnOX79+A8E8LfY="
|
||||
window.hierarchyData = "eJytmV1vnDgUhv8L1y6LP8CQuzbKtllVmyjTKherKHLAmVhhbNZ40h1V/e+VYSYxwWQM2ZsJEN5zHuxj+/j4Z6SVMm108g8uCAQEw4Ta3zQDWQYxBjjHeQpSmKQIpDSnFOC8QDlAuIAY4ALnOUA5pcUNiDS/r3lphJJtdPIzshbtX8k2PDqJPkpW71rRnmmtdASiRyGr6ASiHERbXUcnUVmztuXtH5XaMCFvuX2vjQey+MFs6gj0r0YnkWmrD9bOh/4BiMoHUVeay+6DUguYpQAXFrsoMkCSpAAkQRiQBNuflAKSUHuV54DABAICUQoITDEgMLNX1P6jgICgjAKCaAEIyrtGQoBgnAAKYY5ufoHIenQ++ItqGq5nfq4jmvOxBCUIEGSREEoAQfbrELHAad6zZamnMy61MqpU9cJOGciP8HYQlHogzmWzNQsJXrQh7ovM4/5ia5b7d8THAWz4eQBOWcPuRC3M7rtkT0zU7K7mC3mmbYXgIezFkyWva14tRnL1IRjYh/FNbLha3E+uOgQhdQP1UqsnUXG94vv5bSaEXx+CQbEH42PFGjN7ZvGpQxDy3EH4pNWPluuLu5brJ7agKSYMBIDAZLCaaCPuWWkuGq6XcPj1IRjInUfPbJPKkp9Lw9damN1MDL9+1swPMb3pwDD1gF3xe67txUKwoT6kfQZr4MHMV7ERc4fuWBviPvN1z59i9oQ6koY4p+5YOZdPvDVi3YXXtdKPbcNm98MbRkKACnfMfJePUv2QV3wtWqPnhqpPHYCAEjTKiZZN5WNtiHs4dr90QfOpQxBQMkJYmHd5xCEAeJyWXvGNMnODcSQNcU6o7+tL3s7dCYy1Ie7TfOR+ZZheFnwvyhDXmfvlp0rei/V20WI11oa4p26u+bf6JCTTu4uGz/U+koY4z91v7/XfmF7zue0+kgY4x4Mxf8n1RrStUPKK/7sVevawnzAQAoLdkX/Fm5rtLmsmV4bNXo986uMI3Tbd2xirUjX82T1Ks4N7IQ3X96x8IWieRZeqFuUufmVlEuPZ1DBlQbhA0FYQMLzpGRGc7DDemndT7u0EcPY42I/zWTP5fpjOSiCKLaw4KNf8zuYD0ii9u+Kt2mqbOTbbQKgfjjyetDW7N3NadOWP7sKhXRm797zmdwfzCyhHNsIaDueYDrctolrzr2wry4cjFA/dRH/rKriO3dtghDydQOD63RB8evBP9BPOcVHc9GRFMVoUPzZNLcpuhRlBeiYnP+GkqYDiTJ6i8VJ92LQGoAwF8avbAP8FdFvl84OoNAsKmXX36q2r4Dp2b0NDphg0wdDguyGWhExBSB8yBSEjsi+cVTVv25B4eQvvtZ2gzqJoxBMSLAOO5+h4dRtQScSDsshBuU9Og6Km6d+9faWNvbYWDHaagy6m95XpQRpwWjX7QkxIm931r96OVbHnUciWENIhzJmti2klZ9K8lsW+ZyH5YuIrSz+Xhi6VPrbCspcp79YpjvcEXoNze5RgCDEgeZrgmx4aeou1teBHk5Qg2t5S2MzVnRj5jxeG/fkOnqMdOtFwKckgAQSjBPYNhxLfsdTB/CmTlaiYOZatzGJ+NrpgBqYIdGtjB5/SwV6+3x2teJdYvjVoXNqBKB7eHR8sNgCnCGYOlJE2Hj+ZO0psA9mW6k4s3yxcz4X1GvDUs5dgd/Nzh22DdVA12DSqFYaHzIwu7kgYj58c7ezuwNctp+7n1uWtOGEhnno+t/vt0mLbsTu8dkd5a86qddBmycX9iz2xValFYw7nBZ81ax5OlTT8PxO7VueiZtk+He8uBmXjQ8X9/wce2w6b37sj7mG+Y3OTU9aYrT5eyXAJPdLY9+xIcP769RuhMS6I"
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -14,7 +14,7 @@
|
|||
<section class="tsd-panel tsd-comment">
|
||||
<div class="tsd-comment tsd-typography"><p>Failure to establish a filesystem object's canonical authorization identity.</p>
|
||||
</div></section>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="70004">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="70976">
|
||||
<h4>Hierarchy</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><span class="tsd-signature-type">Error</span>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<section class="tsd-panel tsd-comment">
|
||||
<div class="tsd-comment tsd-typography"><p>Typed application failure produced by controlled process capture.</p>
|
||||
</div></section>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="70210">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="71182">
|
||||
<h4>Hierarchy (<a href="../hierarchy.html#application/ProcessCaptureError.ProcessCaptureError">View Summary</a>)</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><a href="domain_errors.AnalysisError.html" class="tsd-signature-type tsd-kind-class">AnalysisError</a>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<section class="tsd-panel tsd-comment">
|
||||
<div class="tsd-comment tsd-typography"><p>Owner-only project policy persistence failure.</p>
|
||||
</div></section>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="71789">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="72761">
|
||||
<h4>Hierarchy</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><span class="tsd-signature-type">Error</span>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<section class="tsd-panel tsd-comment">
|
||||
<div class="tsd-comment tsd-typography"><p>A proposed grant exceeds the administrator-owned maximum authority.</p>
|
||||
</div></section>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="23393">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="23955">
|
||||
<h4>Hierarchy</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><span class="tsd-signature-type">Error</span>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<section class="tsd-panel tsd-comment">
|
||||
<div class="tsd-comment tsd-typography"><p>Local launch failure retained as the cause of a provider-neutral error.</p>
|
||||
</div></section>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="38078">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="38935">
|
||||
<h4>Hierarchy</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><span class="tsd-signature-type">Error</span>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<section class="tsd-panel tsd-comment">
|
||||
<div class="tsd-comment tsd-typography"><p>Provider-owned failure with bounded, token-redacted local diagnostics.</p>
|
||||
</div></section>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="38251">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="39108">
|
||||
<h4>Hierarchy</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><span class="tsd-signature-type">Error</span>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<section class="tsd-panel tsd-comment">
|
||||
<div class="tsd-comment tsd-typography"><p>Expected operation failure returned by the authenticated Java bridge.</p>
|
||||
</div></section>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="38331">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="39188">
|
||||
<h4>Hierarchy</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><span class="tsd-signature-type">Error</span>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -14,7 +14,7 @@
|
|||
<section class="tsd-panel">
|
||||
<ul class="tsd-signatures">
|
||||
<li class="">
|
||||
<div class="tsd-signature tsd-anchor-link" id="runprovideranalysis"><span class="tsd-kind-call-signature">runProviderAnalysis</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">tool</span><span class="tsd-signature-symbol">:</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inventory_artifact"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"extract_artifact"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_managed_members"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_macho"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_signature"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_plist"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"list_architectures"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"demangle_swift"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_managed_artifact"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_managed_native_boundaries"</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">arguments_</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <a href="../types/domain_jsonValue.JsonValue.html" class="tsd-signature-type tsd-kind-type-alias">JsonValue</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">logger</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Logger</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">signal</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">AbortSignal</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">JSONType</span><span class="tsd-signature-symbol">></span><a href="#runprovideranalysis" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
|
||||
<div class="tsd-signature tsd-anchor-link" id="runprovideranalysis"><span class="tsd-kind-call-signature">runProviderAnalysis</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">tool</span><span class="tsd-signature-symbol">:</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inventory_artifact"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"extract_artifact"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_managed_members"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_managed_native_boundaries"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_macho"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_signature"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_plist"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"list_architectures"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"demangle_swift"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_managed_artifact"</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">arguments_</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <a href="../types/domain_jsonValue.JsonValue.html" class="tsd-signature-type tsd-kind-type-alias">JsonValue</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">logger</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Logger</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">signal</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">AbortSignal</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">JSONType</span><span class="tsd-signature-symbol">></span><a href="#runprovideranalysis" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
|
||||
<div class="tsd-description">
|
||||
<div class="tsd-comment tsd-typography"><p>Execute one provider-native semantic operation with atomic provenance.</p>
|
||||
</div>
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameter-list">
|
||||
<li><span><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></span></li>
|
||||
<li><span><span class="tsd-kind-parameter">tool</span>: <br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inventory_artifact"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"extract_artifact"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_managed_members"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_macho"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_signature"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_plist"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"list_architectures"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"demangle_swift"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_managed_artifact"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_managed_native_boundaries"</span></span></li>
|
||||
<li><span><span class="tsd-kind-parameter">tool</span>: <br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inventory_artifact"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"extract_artifact"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_managed_members"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_managed_native_boundaries"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_macho"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_signature"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_plist"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"list_architectures"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"demangle_swift"</span><br/> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"inspect_managed_artifact"</span></span></li>
|
||||
<li><span><span class="tsd-kind-parameter">arguments_</span>: <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <a href="../types/domain_jsonValue.JsonValue.html" class="tsd-signature-type tsd-kind-type-alias">JsonValue</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span></span></li>
|
||||
<li><span><span class="tsd-kind-parameter">logger</span>: <span class="tsd-signature-type">Logger</span><span class="tsd-signature-symbol"> = silentLogger</span></span></li>
|
||||
<li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">signal</span>: <span class="tsd-signature-type">AbortSignal</span></span></li></ul></div>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -22,7 +22,7 @@ Analysis commands acquire and close their own sessions; bare <code>mcp</code> an
|
|||
</div>
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Cli</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/cli.ts#L54">src/cli.ts:54</a></li></ul></aside></div></li></ul></section></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/cli.ts#L55">src/cli.ts:55</a></li></ul></aside></div></li></ul></section></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
<li><span><span class="tsd-kind-parameter">value</span>: <a href="../interfaces/contracts_toolEffects.ToolEffects.html" class="tsd-signature-type tsd-kind-interface">ToolEffects</a></span></li></ul></div>
|
||||
<h4 class="tsd-returns-title">Returns <a href="../interfaces/contracts_toolEffects.DerivedToolAnnotations.html" class="tsd-signature-type tsd-kind-interface">DerivedToolAnnotations</a></h4><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolEffects.ts#L156">src/contracts/toolEffects.ts:156</a></li></ul></aside></div></li></ul></section></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolEffects.ts#L157">src/contracts/toolEffects.ts:157</a></li></ul></aside></div></li></ul></section></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
<li><span><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></span></li></ul></div>
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">annotations</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/contracts_toolEffects.DerivedToolAnnotations.html" class="tsd-signature-type tsd-kind-interface">DerivedToolAnnotations</a><span class="tsd-signature-symbol">;</span> <span class="tsd-kind-property">effects</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/contracts_toolEffects.ToolEffects.html" class="tsd-signature-type tsd-kind-interface">ToolEffects</a><span class="tsd-signature-symbol">;</span> <span class="tsd-kind-property">title</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">}</span></h4><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolEffects.ts#L174">src/contracts/toolEffects.ts:174</a></li></ul></aside></div></li></ul></section></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolEffects.ts#L175">src/contracts/toolEffects.ts:175</a></li></ul></aside></div></li></ul></section></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
<li><span><span class="tsd-kind-parameter">schema</span>: <span class="tsd-signature-type">ZodType</span></span></li></ul></div>
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ZodObject</span><span class="tsd-signature-symbol"><</span><br/> <span class="tsd-signature-symbol">{</span><br/> <span class="tsd-kind-property">evidence_id</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ZodString</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">evidence_uri</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ZodString</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">result</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ZodType</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">$ZodTypeInternals</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-type">$strict</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L49">src/contracts/toolOutputSchemas.ts:49</a></li></ul></aside></div></li></ul></section></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L50">src/contracts/toolOutputSchemas.ts:50</a></li></ul></aside></div></li></ul></section></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
<li><span><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></span></li></ul></div>
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ZodObject</span></h4><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L59">src/contracts/toolOutputSchemas.ts:59</a></li></ul></aside></div></li></ul></section></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L60">src/contracts/toolOutputSchemas.ts:60</a></li></ul></aside></div></li></ul></section></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -25,7 +25,7 @@
|
|||
<li><span><span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-type">ManagedWorkflowToolRegistration</span></span></li></ul></div>
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/server/registerManagedWorkflowTools.ts#L38">src/server/registerManagedWorkflowTools.ts:38</a></li></ul></aside></div></li></ul></section></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/server/registerManagedWorkflowTools.ts#L41">src/server/registerManagedWorkflowTools.ts:41</a></li></ul></aside></div></li></ul></section></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
<li><span><span class="tsd-kind-parameter">value</span>: <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span></span></li></ul></div>
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/server/toolRegistrationOptions.ts#L71">src/server/toolRegistrationOptions.ts:71</a></li></ul></aside></div></li></ul></section></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/server/toolRegistrationOptions.ts#L62">src/server/toolRegistrationOptions.ts:62</a></li></ul></aside></div></li></ul></section></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
|
|
@ -42,56 +42,56 @@
|
|||
<li data-refl="4287" id="domain/errors.BinaryTargetError"><a href="classes/domain_errors.BinaryTargetError.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>BinaryTargetError</a></li>
|
||||
<li data-refl="4312" id="domain/errors.PermissionRequiredError"><a href="classes/domain_errors.PermissionRequiredError.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>PermissionRequiredError</a></li>
|
||||
<li data-refl="4330" id="domain/errors.ReplayPlanStaleError"><a href="classes/domain_errors.ReplayPlanStaleError.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>ReplayPlanStaleError</a></li>
|
||||
<li data-refl="70210" id="application/ProcessCaptureError.ProcessCaptureError"><a href="classes/application_ProcessCaptureError.ProcessCaptureError.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>ProcessCaptureError</a></li></ul></li></ul>
|
||||
<li data-refl="71182" id="application/ProcessCaptureError.ProcessCaptureError"><a href="classes/application_ProcessCaptureError.ProcessCaptureError.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>ProcessCaptureError</a></li></ul></li></ul>
|
||||
<ul class="tsd-full-hierarchy">
|
||||
<li data-refl="42250" id="application/AnalysisProvider.AnalysisOperationPort"><a href="interfaces/application_AnalysisProvider.AnalysisOperationPort.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>AnalysisOperationPort</a>
|
||||
<li data-refl="43107" id="application/AnalysisProvider.AnalysisOperationPort"><a href="interfaces/application_AnalysisProvider.AnalysisOperationPort.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>AnalysisOperationPort</a>
|
||||
<ul>
|
||||
<li data-refl="42256" id="application/AnalysisProvider.AnalysisClient"><a href="interfaces/application_AnalysisProvider.AnalysisClient.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>AnalysisClient</a></li>
|
||||
<li data-refl="47646" id="application/BinarySessionPort.BinarySessionPort"><a href="interfaces/application_BinarySessionPort.BinarySessionPort.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>BinarySessionPort</a>
|
||||
<li data-refl="43113" id="application/AnalysisProvider.AnalysisClient"><a href="interfaces/application_AnalysisProvider.AnalysisClient.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>AnalysisClient</a></li>
|
||||
<li data-refl="48503" id="application/BinarySessionPort.BinarySessionPort"><a href="interfaces/application_BinarySessionPort.BinarySessionPort.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>BinarySessionPort</a>
|
||||
<ul>
|
||||
<li data-refl="44876" id="application/BinarySession.BinarySession"><a href="classes/application_BinarySession.BinarySession.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>BinarySession</a></li></ul></li></ul></li></ul>
|
||||
<li data-refl="45733" id="application/BinarySession.BinarySession"><a href="classes/application_BinarySession.BinarySession.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>BinarySession</a></li></ul></li></ul></li></ul>
|
||||
<ul class="tsd-full-hierarchy">
|
||||
<li data-refl="42299" id="application/AnalysisProvider.AnalysisProvider"><a href="interfaces/application_AnalysisProvider.AnalysisProvider.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>AnalysisProvider</a>
|
||||
<li data-refl="43156" id="application/AnalysisProvider.AnalysisProvider"><a href="interfaces/application_AnalysisProvider.AnalysisProvider.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>AnalysisProvider</a>
|
||||
<ul>
|
||||
<li data-refl="53757" id="application/CompositeProvider.CompositeProvider"><a href="classes/application_CompositeProvider.CompositeProvider.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>CompositeProvider</a></li>
|
||||
<li data-refl="42344" id="application/AnalysisProvider.AnalysisProviderCandidate"><a href="interfaces/application_AnalysisProvider.AnalysisProviderCandidate.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>AnalysisProviderCandidate</a>
|
||||
<li data-refl="54614" id="application/CompositeProvider.CompositeProvider"><a href="classes/application_CompositeProvider.CompositeProvider.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>CompositeProvider</a></li>
|
||||
<li data-refl="43201" id="application/AnalysisProvider.AnalysisProviderCandidate"><a href="interfaces/application_AnalysisProvider.AnalysisProviderCandidate.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>AnalysisProviderCandidate</a>
|
||||
<ul>
|
||||
<li data-refl="38115" id="ghidra/GhidraProvider.GhidraProvider"><a href="classes/ghidra_GhidraProvider.GhidraProvider.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>GhidraProvider</a></li>
|
||||
<li data-refl="37671" id="hopper/HopperProvider.HopperProvider"><a href="classes/hopper_HopperProvider.HopperProvider.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>HopperProvider</a></li></ul></li></ul></li></ul>
|
||||
<li data-refl="38972" id="ghidra/GhidraProvider.GhidraProvider"><a href="classes/ghidra_GhidraProvider.GhidraProvider.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>GhidraProvider</a></li>
|
||||
<li data-refl="38528" id="hopper/HopperProvider.HopperProvider"><a href="classes/hopper_HopperProvider.HopperProvider.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>HopperProvider</a></li></ul></li></ul></li></ul>
|
||||
<ul class="tsd-full-hierarchy">
|
||||
<li data-refl="65276" id="application/JavaScriptArtifactGraphContext.AstEdgeInput"><a href="interfaces/application_JavaScriptArtifactGraphContext.AstEdgeInput.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>AstEdgeInput</a>
|
||||
<li data-refl="66133" id="application/JavaScriptArtifactGraphContext.AstEdgeInput"><a href="interfaces/application_JavaScriptArtifactGraphContext.AstEdgeInput.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>AstEdgeInput</a>
|
||||
<ul>
|
||||
<li data-refl="65542" id="application/JavaScriptArtifactGraphContext.InferenceEdgeInput"><a href="interfaces/application_JavaScriptArtifactGraphContext.InferenceEdgeInput.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>InferenceEdgeInput</a></li></ul></li></ul>
|
||||
<li data-refl="66399" id="application/JavaScriptArtifactGraphContext.InferenceEdgeInput"><a href="interfaces/application_JavaScriptArtifactGraphContext.InferenceEdgeInput.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>InferenceEdgeInput</a></li></ul></li></ul>
|
||||
<ul class="tsd-full-hierarchy">
|
||||
<li data-refl="37528" id="hopper/BridgeLauncher.BridgeLauncher"><a href="interfaces/hopper_BridgeLauncher.BridgeLauncher.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>BridgeLauncher</a>
|
||||
<li data-refl="38385" id="hopper/BridgeLauncher.BridgeLauncher"><a href="interfaces/hopper_BridgeLauncher.BridgeLauncher.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>BridgeLauncher</a>
|
||||
<ul>
|
||||
<li data-refl="37542" id="hopper/BridgeLauncher.HopperApplicationLauncher"><a href="classes/hopper_BridgeLauncher.HopperApplicationLauncher.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>HopperApplicationLauncher</a></li></ul></li></ul>
|
||||
<li data-refl="38399" id="hopper/BridgeLauncher.HopperApplicationLauncher"><a href="classes/hopper_BridgeLauncher.HopperApplicationLauncher.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>HopperApplicationLauncher</a></li></ul></li></ul>
|
||||
<ul class="tsd-full-hierarchy">
|
||||
<li data-refl="50195" id="application/BrowserObservationPort.BrowserObservationPort"><a href="interfaces/application_BrowserObservationPort.BrowserObservationPort.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>BrowserObservationPort</a>
|
||||
<li data-refl="51052" id="application/BrowserObservationPort.BrowserObservationPort"><a href="interfaces/application_BrowserObservationPort.BrowserObservationPort.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>BrowserObservationPort</a>
|
||||
<ul>
|
||||
<li data-refl="38656" id="browser/CdpBrowserProvider.CdpBrowserProvider"><a href="classes/browser_CdpBrowserProvider.CdpBrowserProvider.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>CdpBrowserProvider</a></li></ul></li></ul>
|
||||
<li data-refl="39513" id="browser/CdpBrowserProvider.CdpBrowserProvider"><a href="classes/browser_CdpBrowserProvider.CdpBrowserProvider.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>CdpBrowserProvider</a></li></ul></li></ul>
|
||||
<ul class="tsd-full-hierarchy">
|
||||
<li data-refl="57020" id="application/ElectronObservationPort.ElectronObservationPort"><a href="interfaces/application_ElectronObservationPort.ElectronObservationPort.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>ElectronObservationPort</a>
|
||||
<li data-refl="57877" id="application/ElectronObservationPort.ElectronObservationPort"><a href="interfaces/application_ElectronObservationPort.ElectronObservationPort.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>ElectronObservationPort</a>
|
||||
<ul>
|
||||
<li data-refl="41160" id="browser/CdpElectronProvider.CdpElectronProvider"><a href="classes/browser_CdpElectronProvider.CdpElectronProvider.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>CdpElectronProvider</a></li></ul></li></ul>
|
||||
<li data-refl="42017" id="browser/CdpElectronProvider.CdpElectronProvider"><a href="classes/browser_CdpElectronProvider.CdpElectronProvider.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>CdpElectronProvider</a></li></ul></li></ul>
|
||||
<ul class="tsd-full-hierarchy">
|
||||
<li data-refl="38071" id="ghidra/GhidraLauncher.GhidraLauncher"><a href="interfaces/ghidra_GhidraLauncher.GhidraLauncher.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>GhidraLauncher</a>
|
||||
<li data-refl="38928" id="ghidra/GhidraLauncher.GhidraLauncher"><a href="interfaces/ghidra_GhidraLauncher.GhidraLauncher.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>GhidraLauncher</a>
|
||||
<ul>
|
||||
<li data-refl="38087" id="ghidra/GhidraLauncher.GhidraHeadlessLauncher"><a href="classes/ghidra_GhidraLauncher.GhidraHeadlessLauncher.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>GhidraHeadlessLauncher</a></li></ul></li></ul>
|
||||
<li data-refl="38944" id="ghidra/GhidraLauncher.GhidraHeadlessLauncher"><a href="classes/ghidra_GhidraLauncher.GhidraHeadlessLauncher.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>GhidraHeadlessLauncher</a></li></ul></li></ul>
|
||||
<ul class="tsd-full-hierarchy">
|
||||
<li data-refl="23351" id="domain/permissionPolicy.PermissionScope"><a href="interfaces/domain_permissionPolicy.PermissionScope.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>PermissionScope</a>
|
||||
<li data-refl="23913" id="domain/permissionPolicy.PermissionScope"><a href="interfaces/domain_permissionPolicy.PermissionScope.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>PermissionScope</a>
|
||||
<ul>
|
||||
<li data-refl="23359" id="domain/permissionPolicy.PermissionRequest"><a href="interfaces/domain_permissionPolicy.PermissionRequest.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>PermissionRequest</a></li>
|
||||
<li data-refl="23369" id="domain/permissionPolicy.PermissionGrant"><a href="interfaces/domain_permissionPolicy.PermissionGrant.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>PermissionGrant</a></li></ul></li></ul>
|
||||
<li data-refl="23921" id="domain/permissionPolicy.PermissionRequest"><a href="interfaces/domain_permissionPolicy.PermissionRequest.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>PermissionRequest</a></li>
|
||||
<li data-refl="23931" id="domain/permissionPolicy.PermissionGrant"><a href="interfaces/domain_permissionPolicy.PermissionGrant.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>PermissionGrant</a></li></ul></li></ul>
|
||||
<ul class="tsd-full-hierarchy">
|
||||
<li data-refl="38531" id="process/ProviderProcess.ProviderProcessLaunch"><a href="interfaces/process_ProviderProcess.ProviderProcessLaunch.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>ProviderProcessLaunch</a>
|
||||
<li data-refl="39388" id="process/ProviderProcess.ProviderProcessLaunch"><a href="interfaces/process_ProviderProcess.ProviderProcessLaunch.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>ProviderProcessLaunch</a>
|
||||
<ul>
|
||||
<li data-refl="37521" id="hopper/BridgeLauncher.BridgeLaunch"><a href="interfaces/hopper_BridgeLauncher.BridgeLaunch.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>BridgeLaunch</a></li>
|
||||
<li data-refl="38062" id="ghidra/GhidraLauncher.GhidraLaunch"><a href="interfaces/ghidra_GhidraLauncher.GhidraLaunch.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>GhidraLaunch</a></li></ul></li></ul>
|
||||
<li data-refl="38378" id="hopper/BridgeLauncher.BridgeLaunch"><a href="interfaces/hopper_BridgeLauncher.BridgeLaunch.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>BridgeLaunch</a></li>
|
||||
<li data-refl="38919" id="ghidra/GhidraLauncher.GhidraLaunch"><a href="interfaces/ghidra_GhidraLauncher.GhidraLaunch.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>GhidraLaunch</a></li></ul></li></ul>
|
||||
<ul class="tsd-full-hierarchy">
|
||||
<li data-refl="28217" id="domain/webInventory.WebInventoryResourceInput"><a href="interfaces/domain_webInventory.WebInventoryResourceInput.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>WebInventoryResourceInput</a>
|
||||
<li data-refl="28779" id="domain/webInventory.WebInventoryResourceInput"><a href="interfaces/domain_webInventory.WebInventoryResourceInput.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>WebInventoryResourceInput</a>
|
||||
<ul>
|
||||
<li data-refl="28230" id="domain/webInventory.StableWebResource"><a href="interfaces/domain_webInventory.StableWebResource.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>StableWebResource</a></li></ul></li></ul></div>
|
||||
<li data-refl="28792" id="domain/webInventory.StableWebResource"><a href="interfaces/domain_webInventory.StableWebResource.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>StableWebResource</a></li></ul></li></ul></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>Provider session bound to exactly one parsed artifact.</p>
|
||||
</div></section>
|
||||
<div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">AnalysisClient</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-call-signature" href="#close-1">close</a><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-call-signature" href="#execute-1">execute</a><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">operation</span><span class="tsd-signature-symbol">:</span> <a href="../types/application_AnalysisProvider.AnalysisOperation.html" class="tsd-signature-type tsd-kind-type-alias">AnalysisOperation</a><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">parameters</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <a href="../types/domain_jsonValue.JsonValue.html" class="tsd-signature-type tsd-kind-type-alias">JsonValue</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <a href="application_AnalysisProvider.ExecutionOptions.html" class="tsd-signature-type tsd-kind-interface">ExecutionOptions</a><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../types/domain_result.Result.html" class="tsd-signature-type tsd-kind-type-alias">Result</a><span class="tsd-signature-symbol"><</span><a href="application_AnalysisProvider.AnalysisExecution.html" class="tsd-signature-type tsd-kind-interface">AnalysisExecution</a><span class="tsd-signature-symbol">,</span> <a href="../classes/domain_errors.AnalysisError.html" class="tsd-signature-type tsd-kind-class">AnalysisError</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="42256">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="43113">
|
||||
<h4>Hierarchy (<a href="../hierarchy.html#application/AnalysisProvider.AnalysisClient">View Summary</a>)</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><a href="application_AnalysisProvider.AnalysisOperationPort.html" class="tsd-signature-type tsd-kind-interface">AnalysisOperationPort</a>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>Provider-neutral application capability for one analysis operation.</p>
|
||||
</div></section>
|
||||
<div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">AnalysisOperationPort</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-call-signature" href="#execute-1">execute</a><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">operation</span><span class="tsd-signature-symbol">:</span> <a href="../types/application_AnalysisProvider.AnalysisOperation.html" class="tsd-signature-type tsd-kind-type-alias">AnalysisOperation</a><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">parameters</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <a href="../types/domain_jsonValue.JsonValue.html" class="tsd-signature-type tsd-kind-type-alias">JsonValue</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <a href="application_AnalysisProvider.ExecutionOptions.html" class="tsd-signature-type tsd-kind-interface">ExecutionOptions</a><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../types/domain_result.Result.html" class="tsd-signature-type tsd-kind-type-alias">Result</a><span class="tsd-signature-symbol"><</span><a href="application_AnalysisProvider.AnalysisExecution.html" class="tsd-signature-type tsd-kind-interface">AnalysisExecution</a><span class="tsd-signature-symbol">,</span> <a href="../classes/domain_errors.AnalysisError.html" class="tsd-signature-type tsd-kind-class">AnalysisError</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="42250">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="43107">
|
||||
<h4>Hierarchy (<a href="../hierarchy.html#application/AnalysisProvider.AnalysisOperationPort">View Summary</a>)</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">AnalysisOperationPort</span>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>Authority issued beneath the administrator ceiling.</p>
|
||||
</div></section>
|
||||
<div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">PermissionGrant</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="#capability">capability</a><span class="tsd-signature-symbol">:</span> <a href="../types/domain_permissionPolicy.PermissionCapability.html" class="tsd-signature-type tsd-kind-type-alias">PermissionCapability</a><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#environment_names">environment_names</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#executables">executables</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#expires_at">expires_at</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#grant_id">grant_id</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#lifetime">lifetime</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"once"</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"session"</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"project"</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">"administrator"</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#mount">mount</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#network">network</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">PermissionNetwork</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#operation_identity">operation_identity</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#origins">origins</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#roots">roots</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="23369">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="23931">
|
||||
<h4>Hierarchy (<a href="../hierarchy.html#domain/permissionPolicy.PermissionGrant">View Summary</a>)</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><a href="domain_permissionPolicy.PermissionScope.html" class="tsd-signature-type tsd-kind-interface">PermissionScope</a>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>A request identity associates one-shot grants with exactly one operation.</p>
|
||||
</div></section>
|
||||
<div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">PermissionRequest</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="#capability">capability</a><span class="tsd-signature-symbol">:</span> <a href="../types/domain_permissionPolicy.PermissionCapability.html" class="tsd-signature-type tsd-kind-type-alias">PermissionCapability</a><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#environment_names">environment_names</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#executables">executables</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#mount">mount</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#network">network</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">PermissionNetwork</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#operation_identity">operation_identity</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#origins">origins</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#roots">roots</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="23359">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="23921">
|
||||
<h4>Hierarchy (<a href="../hierarchy.html#domain/permissionPolicy.PermissionRequest">View Summary</a>)</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><a href="domain_permissionPolicy.PermissionScope.html" class="tsd-signature-type tsd-kind-interface">PermissionScope</a>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>Exact normalized scope requested by one local operation.</p>
|
||||
</div></section>
|
||||
<div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">PermissionScope</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="#capability">capability</a><span class="tsd-signature-symbol">:</span> <a href="../types/domain_permissionPolicy.PermissionCapability.html" class="tsd-signature-type tsd-kind-type-alias">PermissionCapability</a><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#environment_names">environment_names</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#executables">executables</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#mount">mount</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#network">network</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">PermissionNetwork</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#origins">origins</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#roots">roots</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="23351">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="23913">
|
||||
<h4>Hierarchy (<a href="../hierarchy.html#domain/permissionPolicy.PermissionScope">View Summary</a>)</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">PermissionScope</span>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<li><a href="" aria-current="page">StableWebResource</a></li></ul>
|
||||
<h1>Interface StableWebResource</h1></div>
|
||||
<div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">StableWebResource</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="#content_size">content_size</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#mime_type">mime_type</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#origin">origin</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#resource_key">resource_key</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#type">type</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#url">url</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="28230">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="28792">
|
||||
<h4>Hierarchy (<a href="../hierarchy.html#domain/webInventory.StableWebResource">View Summary</a>)</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><a href="domain_webInventory.WebInventoryResourceInput.html" class="tsd-signature-type tsd-kind-interface">WebInventoryResourceInput</a>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<li><a href="" aria-current="page">WebInventoryResourceInput</a></li></ul>
|
||||
<h1>Interface WebInventoryResourceInput</h1></div>
|
||||
<div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">WebInventoryResourceInput</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="#content_size">content_size</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#mime_type">mime_type</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#origin">origin</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#type">type</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#url">url</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="28217">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="28779">
|
||||
<h4>Hierarchy (<a href="../hierarchy.html#domain/webInventory.WebInventoryResourceInput">View Summary</a>)</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">WebInventoryResourceInput</span>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>Process plus private log coordinates returned by a Ghidra launcher.</p>
|
||||
</div></section>
|
||||
<div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">GhidraLaunch</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="#cleanup">cleanup</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../types/process_ProcessOwnership.ProcessCleanupResult.html" class="tsd-signature-type tsd-kind-type-alias">ProcessCleanupResult</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#ghidralogpath">ghidraLogPath</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#ownsprocesslifetime">ownsProcessLifetime</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#process">process</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ChildProcess</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#projectroot">projectRoot</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#scriptlogpath">scriptLogPath</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="38062">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="38919">
|
||||
<h4>Hierarchy (<a href="../hierarchy.html#ghidra/GhidraLauncher.GhidraLaunch">View Summary</a>)</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><a href="process_ProviderProcess.ProviderProcessLaunch.html" class="tsd-signature-type tsd-kind-interface">ProviderProcessLaunch</a>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>Additional structured context for a Ghidra session failure.</p>
|
||||
</div></section>
|
||||
<div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">GhidraSessionErrorOptions</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="#remotecode">remoteCode</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#timeoutms">timeoutMs</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="38248">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="39105">
|
||||
<h4>Hierarchy</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><span class="tsd-signature-type">ErrorOptions</span>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>Process handle returned by a bridge launcher.</p>
|
||||
</div></section>
|
||||
<div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">BridgeLaunch</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="#cleanup">cleanup</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../types/process_ProcessOwnership.ProcessCleanupResult.html" class="tsd-signature-type tsd-kind-type-alias">ProcessCleanupResult</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#ownsprocesslifetime">ownsProcessLifetime</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#process">process</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ChildProcess</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#shutdownbycleanup">shutdownByCleanup</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="37521">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="38378">
|
||||
<h4>Hierarchy (<a href="../hierarchy.html#hopper/BridgeLauncher.BridgeLaunch">View Summary</a>)</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><a href="process_ProviderProcess.ProviderProcessLaunch.html" class="tsd-signature-type tsd-kind-interface">ProviderProcessLaunch</a>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>Process handle returned by a provider-specific launcher.</p>
|
||||
</div></section>
|
||||
<div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">ProviderProcessLaunch</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="#cleanup">cleanup</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../types/process_ProcessOwnership.ProcessCleanupResult.html" class="tsd-signature-type tsd-kind-type-alias">ProcessCleanupResult</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#ownsprocesslifetime">ownsProcessLifetime</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#process">process</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ChildProcess</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="38531">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="39388">
|
||||
<h4>Hierarchy (<a href="../hierarchy.html#process/ProviderProcess.ProviderProcessLaunch">View Summary</a>)</h4>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">ProviderProcessLaunch</span>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,36 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>application/ManagedNativeVerificationService | rea-agents - v1.7.0</title><meta name="description" content="Documentation for rea-agents"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar">
|
||||
<div class="tsd-toolbar-contents container"><a href="../index.html" class="title">rea-agents - v1.7.0</a>
|
||||
<div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/>
|
||||
<ul role="listbox" id="tsd-search-results"></ul>
|
||||
<div id="tsd-search-status" aria-live="polite" aria-atomic="true">
|
||||
<div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header>
|
||||
<div class="container container-main">
|
||||
<div class="col-content">
|
||||
<div class="tsd-page-title">
|
||||
<ul class="tsd-breadcrumb" aria-label="Breadcrumb">
|
||||
<li><a href="" aria-current="page">application/ManagedNativeVerificationService</a></li></ul>
|
||||
<h1>Module application/ManagedNativeVerificationService</h1></div>
|
||||
<details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Functions"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h2 class="tsd-anchor-link" id="functions">Functions<a href="#functions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="verifymanagednativeboundariesevidence"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="../assets/icons.svg#icon-64"></use></svg><a href="../functions/application_ManagedNativeVerificationService.verifyManagedNativeBoundariesEvidence.html">verifyManagedNativeBoundariesEvidence</a><a href="#verifymanagednativeboundariesevidence" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
<details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h3>Settings</h3></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span>
|
||||
<ul id="tsd-filter-options">
|
||||
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
|
||||
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div>
|
||||
<div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
|
||||
<details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h3>On This Page</h3></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Functions"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Functions</summary>
|
||||
<div><a href="#verifymanagednativeboundariesevidence"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="../assets/icons.svg#icon-64"></use></svg><span>verify<wbr/>Managed<wbr/>Native<wbr/>Boundaries<wbr/>Evidence</span></a></div></details></div></details></div>
|
||||
<div class="site-menu">
|
||||
<nav class="tsd-navigation"><a href="../index.html">rea-agents - v1.7.0</a>
|
||||
<ul class="tsd-small-nested-navigation" id="tsd-nav-container">
|
||||
<li>Loading...</li></ul></nav></div></div></div><footer>
|
||||
<p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer>
|
||||
<div class="overlay"></div></body></html>
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
<li><a href="" aria-current="page">contracts/managedWorkflowExamples</a></li></ul>
|
||||
<h1>Module contracts/managedWorkflowExamples</h1></div>
|
||||
<details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Variables"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h2 class="tsd-anchor-link" id="variables">Variables<a href="#variables" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="managed_member_comparison_example"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowExamples.MANAGED_MEMBER_COMPARISON_EXAMPLE.html">MANAGED_MEMBER_COMPARISON_EXAMPLE</a><a href="#managed_member_comparison_example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="managed_reconstruction_import_example"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowExamples.MANAGED_RECONSTRUCTION_IMPORT_EXAMPLE.html">MANAGED_RECONSTRUCTION_IMPORT_EXAMPLE</a><a href="#managed_reconstruction_import_example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="managed_runtime_correlation_example"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowExamples.MANAGED_RUNTIME_CORRELATION_EXAMPLE.html">MANAGED_RUNTIME_CORRELATION_EXAMPLE</a><a href="#managed_runtime_correlation_example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details></div>
|
||||
<h2 class="tsd-anchor-link" id="variables">Variables<a href="#variables" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="managed_member_comparison_example"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowExamples.MANAGED_MEMBER_COMPARISON_EXAMPLE.html">MANAGED_MEMBER_COMPARISON_EXAMPLE</a><a href="#managed_member_comparison_example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="managed_native_verification_example"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowExamples.MANAGED_NATIVE_VERIFICATION_EXAMPLE.html">MANAGED_NATIVE_VERIFICATION_EXAMPLE</a><a href="#managed_native_verification_example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="managed_reconstruction_import_example"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowExamples.MANAGED_RECONSTRUCTION_IMPORT_EXAMPLE.html">MANAGED_RECONSTRUCTION_IMPORT_EXAMPLE</a><a href="#managed_reconstruction_import_example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="managed_runtime_correlation_example"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowExamples.MANAGED_RUNTIME_CORRELATION_EXAMPLE.html">MANAGED_RUNTIME_CORRELATION_EXAMPLE</a><a href="#managed_runtime_correlation_example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
<h3>On This Page</h3></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Variables"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Variables</summary>
|
||||
<div><a href="#managed_member_comparison_example"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>MANAGED_<wbr/>MEMBER_<wbr/>COMPARISON_<wbr/>EXAMPLE</span></a><a href="#managed_reconstruction_import_example"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>MANAGED_<wbr/>RECONSTRUCTION_<wbr/>IMPORT_<wbr/>EXAMPLE</span></a><a href="#managed_runtime_correlation_example"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>MANAGED_<wbr/>RUNTIME_<wbr/>CORRELATION_<wbr/>EXAMPLE</span></a></div></details></div></details></div>
|
||||
<div><a href="#managed_member_comparison_example"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>MANAGED_<wbr/>MEMBER_<wbr/>COMPARISON_<wbr/>EXAMPLE</span></a><a href="#managed_native_verification_example"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>MANAGED_<wbr/>NATIVE_<wbr/>VERIFICATION_<wbr/>EXAMPLE</span></a><a href="#managed_reconstruction_import_example"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>MANAGED_<wbr/>RECONSTRUCTION_<wbr/>IMPORT_<wbr/>EXAMPLE</span></a><a href="#managed_runtime_correlation_example"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>MANAGED_<wbr/>RUNTIME_<wbr/>CORRELATION_<wbr/>EXAMPLE</span></a></div></details></div></details></div>
|
||||
<div class="site-menu">
|
||||
<nav class="tsd-navigation"><a href="../index.html">rea-agents - v1.7.0</a>
|
||||
<ul class="tsd-small-nested-navigation" id="tsd-nav-container">
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
<li><a href="" aria-current="page">contracts/managedWorkflowToolContracts</a></li></ul>
|
||||
<h1>Module contracts/managedWorkflowToolContracts</h1></div>
|
||||
<details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Variables"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h2 class="tsd-anchor-link" id="variables">Variables<a href="#variables" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="comparemanagedmembersreferenceinputschema"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowToolContracts.compareManagedMembersReferenceInputSchema.html">compareManagedMembersReferenceInputSchema</a><a href="#comparemanagedmembersreferenceinputschema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="managed_workflow_tool_contracts"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowToolContracts.MANAGED_WORKFLOW_TOOL_CONTRACTS.html">MANAGED_WORKFLOW_TOOL_CONTRACTS</a><a href="#managed_workflow_tool_contracts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="managedreconstructionreferenceinputschema"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowToolContracts.managedReconstructionReferenceInputSchema.html">managedReconstructionReferenceInputSchema</a><a href="#managedreconstructionreferenceinputschema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="managedruntimecorrelationreferenceinputschema"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowToolContracts.managedRuntimeCorrelationReferenceInputSchema.html">managedRuntimeCorrelationReferenceInputSchema</a><a href="#managedruntimecorrelationreferenceinputschema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details></div>
|
||||
<h2 class="tsd-anchor-link" id="variables">Variables<a href="#variables" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="comparemanagedmembersreferenceinputschema"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowToolContracts.compareManagedMembersReferenceInputSchema.html">compareManagedMembersReferenceInputSchema</a><a href="#comparemanagedmembersreferenceinputschema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="managed_workflow_tool_contracts"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowToolContracts.MANAGED_WORKFLOW_TOOL_CONTRACTS.html">MANAGED_WORKFLOW_TOOL_CONTRACTS</a><a href="#managed_workflow_tool_contracts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="managednativeverificationreferenceinputschema"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowToolContracts.managedNativeVerificationReferenceInputSchema.html">managedNativeVerificationReferenceInputSchema</a><a href="#managednativeverificationreferenceinputschema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="managedreconstructionreferenceinputschema"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowToolContracts.managedReconstructionReferenceInputSchema.html">managedReconstructionReferenceInputSchema</a><a href="#managedreconstructionreferenceinputschema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="managedruntimecorrelationreferenceinputschema"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/contracts_managedWorkflowToolContracts.managedRuntimeCorrelationReferenceInputSchema.html">managedRuntimeCorrelationReferenceInputSchema</a><a href="#managedruntimecorrelationreferenceinputschema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
<h3>On This Page</h3></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Variables"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Variables</summary>
|
||||
<div><a href="#comparemanagedmembersreferenceinputschema"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>compare<wbr/>Managed<wbr/>Members<wbr/>Reference<wbr/>Input<wbr/>Schema</span></a><a href="#managed_workflow_tool_contracts"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>MANAGED_<wbr/>WORKFLOW_<wbr/>TOOL_<wbr/>CONTRACTS</span></a><a href="#managedreconstructionreferenceinputschema"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>managed<wbr/>Reconstruction<wbr/>Reference<wbr/>Input<wbr/>Schema</span></a><a href="#managedruntimecorrelationreferenceinputschema"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>managed<wbr/>Runtime<wbr/>Correlation<wbr/>Reference<wbr/>Input<wbr/>Schema</span></a></div></details></div></details></div>
|
||||
<div><a href="#comparemanagedmembersreferenceinputschema"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>compare<wbr/>Managed<wbr/>Members<wbr/>Reference<wbr/>Input<wbr/>Schema</span></a><a href="#managed_workflow_tool_contracts"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>MANAGED_<wbr/>WORKFLOW_<wbr/>TOOL_<wbr/>CONTRACTS</span></a><a href="#managednativeverificationreferenceinputschema"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>managed<wbr/>Native<wbr/>Verification<wbr/>Reference<wbr/>Input<wbr/>Schema</span></a><a href="#managedreconstructionreferenceinputschema"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>managed<wbr/>Reconstruction<wbr/>Reference<wbr/>Input<wbr/>Schema</span></a><a href="#managedruntimecorrelationreferenceinputschema"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>managed<wbr/>Runtime<wbr/>Correlation<wbr/>Reference<wbr/>Input<wbr/>Schema</span></a></div></details></div></details></div>
|
||||
<div class="site-menu">
|
||||
<nav class="tsd-navigation"><a href="../index.html">rea-agents - v1.7.0</a>
|
||||
<ul class="tsd-small-nested-navigation" id="tsd-nav-container">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,44 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>domain/managedNativeVerification | rea-agents - v1.7.0</title><meta name="description" content="Documentation for rea-agents"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar">
|
||||
<div class="tsd-toolbar-contents container"><a href="../index.html" class="title">rea-agents - v1.7.0</a>
|
||||
<div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/>
|
||||
<ul role="listbox" id="tsd-search-results"></ul>
|
||||
<div id="tsd-search-status" aria-live="polite" aria-atomic="true">
|
||||
<div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header>
|
||||
<div class="container container-main">
|
||||
<div class="col-content">
|
||||
<div class="tsd-page-title">
|
||||
<ul class="tsd-breadcrumb" aria-label="Breadcrumb">
|
||||
<li><a href="" aria-current="page">domain/managedNativeVerification</a></li></ul>
|
||||
<h1>Module domain/managedNativeVerification</h1></div>
|
||||
<details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Type Aliases"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h2 class="tsd-anchor-link" id="type-aliases">Type Aliases<a href="#type-aliases" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="managednativeverificationinput"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Type Alias"><use href="../assets/icons.svg#icon-2097152"></use></svg><a href="../types/domain_managedNativeVerification.ManagedNativeVerificationInput.html">ManagedNativeVerificationInput</a><a href="#managednativeverificationinput" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="managednativeverificationresult"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Type Alias"><use href="../assets/icons.svg#icon-2097152"></use></svg><a href="../types/domain_managedNativeVerification.ManagedNativeVerificationResult.html">ManagedNativeVerificationResult</a><a href="#managednativeverificationresult" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details>
|
||||
<details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Variables"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h2 class="tsd-anchor-link" id="variables">Variables<a href="#variables" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="managednativeverificationinputschema"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/domain_managedNativeVerification.managedNativeVerificationInputSchema.html">managedNativeVerificationInputSchema</a><a href="#managednativeverificationinputschema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="managednativeverificationresultschema"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/domain_managedNativeVerification.managedNativeVerificationResultSchema.html">managedNativeVerificationResultSchema</a><a href="#managednativeverificationresultschema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details>
|
||||
<details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Functions"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h2 class="tsd-anchor-link" id="functions">Functions<a href="#functions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="verifymanagednativeboundaries"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="../assets/icons.svg#icon-64"></use></svg><a href="../functions/domain_managedNativeVerification.verifyManagedNativeBoundaries.html">verifyManagedNativeBoundaries</a><a href="#verifymanagednativeboundaries" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
<details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h3>Settings</h3></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span>
|
||||
<ul id="tsd-filter-options">
|
||||
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
|
||||
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div>
|
||||
<div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
|
||||
<details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h3>On This Page</h3></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Type Aliases"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Type Aliases</summary>
|
||||
<div><a href="#managednativeverificationinput"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Type Alias"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Managed<wbr/>Native<wbr/>Verification<wbr/>Input</span></a><a href="#managednativeverificationresult"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Type Alias"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Managed<wbr/>Native<wbr/>Verification<wbr/>Result</span></a></div></details>
|
||||
<details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Variables"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Variables</summary>
|
||||
<div><a href="#managednativeverificationinputschema"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>managed<wbr/>Native<wbr/>Verification<wbr/>Input<wbr/>Schema</span></a><a href="#managednativeverificationresultschema"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>managed<wbr/>Native<wbr/>Verification<wbr/>Result<wbr/>Schema</span></a></div></details>
|
||||
<details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Functions"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Functions</summary>
|
||||
<div><a href="#verifymanagednativeboundaries"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Function"><use href="../assets/icons.svg#icon-64"></use></svg><span>verify<wbr/>Managed<wbr/>Native<wbr/>Boundaries</span></a></div></details></div></details></div>
|
||||
<div class="site-menu">
|
||||
<nav class="tsd-navigation"><a href="../index.html">rea-agents - v1.7.0</a>
|
||||
<ul class="tsd-small-nested-navigation" id="tsd-nav-container">
|
||||
<li>Loading...</li></ul></nav></div></div></div><footer>
|
||||
<p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer>
|
||||
<div class="overlay"></div></body></html>
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
<li><a href="" aria-current="page">domain/nativeInspection</a></li></ul>
|
||||
<h1>Module domain/nativeInspection</h1></div>
|
||||
<details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Type Aliases"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h2 class="tsd-anchor-link" id="type-aliases">Type Aliases<a href="#type-aliases" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="inspectsignature"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Type Alias"><use href="../assets/icons.svg#icon-2097152"></use></svg><a href="../types/domain_nativeInspection.InspectSignature.html">InspectSignature</a><a href="#inspectsignature" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="nativecommandinvocation"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Type Alias"><use href="../assets/icons.svg#icon-2097152"></use></svg><a href="../types/domain_nativeInspection.NativeCommandInvocation.html">NativeCommandInvocation</a><a href="#nativecommandinvocation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details>
|
||||
<h2 class="tsd-anchor-link" id="type-aliases">Type Aliases<a href="#type-aliases" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="inspectmacho"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Type Alias"><use href="../assets/icons.svg#icon-2097152"></use></svg><a href="../types/domain_nativeInspection.InspectMacho.html">InspectMacho</a><a href="#inspectmacho" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="inspectsignature"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Type Alias"><use href="../assets/icons.svg#icon-2097152"></use></svg><a href="../types/domain_nativeInspection.InspectSignature.html">InspectSignature</a><a href="#inspectsignature" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="nativecommandinvocation"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Type Alias"><use href="../assets/icons.svg#icon-2097152"></use></svg><a href="../types/domain_nativeInspection.NativeCommandInvocation.html">NativeCommandInvocation</a><a href="#nativecommandinvocation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details>
|
||||
<details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Variables"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h2 class="tsd-anchor-link" id="variables">Variables<a href="#variables" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary><dl class="tsd-member-summaries"><dt class="tsd-member-summary" id="demangleswiftschema"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/domain_nativeInspection.demangleSwiftSchema.html">demangleSwiftSchema</a><a href="#demangleswiftschema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="inspectmachoschema"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/domain_nativeInspection.inspectMachoSchema.html">inspectMachoSchema</a><a href="#inspectmachoschema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="inspectplistschema"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/domain_nativeInspection.inspectPlistSchema.html">inspectPlistSchema</a><a href="#inspectplistschema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="inspectsignatureschema"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/domain_nativeInspection.inspectSignatureSchema.html">inspectSignatureSchema</a><a href="#inspectsignatureschema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd><dt class="tsd-member-summary" id="listarchitecturesschema"><span class="tsd-member-summary-name"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><a href="../variables/domain_nativeInspection.listArchitecturesSchema.html">listArchitecturesSchema</a><a href="#listarchitecturesschema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></span></dt><dd class="tsd-member-summary"></dd></dl></details></div>
|
||||
<div class="col-sidebar">
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
<h3>On This Page</h3></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Type Aliases"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Type Aliases</summary>
|
||||
<div><a href="#inspectsignature"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Type Alias"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Inspect<wbr/>Signature</span></a><a href="#nativecommandinvocation"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Type Alias"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Native<wbr/>Command<wbr/>Invocation</span></a></div></details>
|
||||
<div><a href="#inspectmacho"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Type Alias"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Inspect<wbr/>Macho</span></a><a href="#inspectsignature"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Type Alias"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Inspect<wbr/>Signature</span></a><a href="#nativecommandinvocation"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Type Alias"><use href="../assets/icons.svg#icon-2097152"></use></svg><span>Native<wbr/>Command<wbr/>Invocation</span></a></div></details>
|
||||
<details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Variables"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Variables</summary>
|
||||
<div><a href="#demangleswiftschema"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>demangle<wbr/>Swift<wbr/>Schema</span></a><a href="#inspectmachoschema"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>inspect<wbr/>Macho<wbr/>Schema</span></a><a href="#inspectplistschema"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>inspect<wbr/>Plist<wbr/>Schema</span></a><a href="#inspectsignatureschema"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>inspect<wbr/>Signature<wbr/>Schema</span></a><a href="#listarchitecturesschema"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Variable"><use href="../assets/icons.svg#icon-32"></use></svg><span>list<wbr/>Architectures<wbr/>Schema</span></a></div></details></div></details></div>
|
||||
<div class="site-menu">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ManagedNativeVerificationInput | rea-agents - v1.7.0</title><meta name="description" content="Documentation for rea-agents"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar">
|
||||
<div class="tsd-toolbar-contents container"><a href="../index.html" class="title">rea-agents - v1.7.0</a>
|
||||
<div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/>
|
||||
<ul role="listbox" id="tsd-search-results"></ul>
|
||||
<div id="tsd-search-status" aria-live="polite" aria-atomic="true">
|
||||
<div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header>
|
||||
<div class="container container-main">
|
||||
<div class="col-content">
|
||||
<div class="tsd-page-title">
|
||||
<ul class="tsd-breadcrumb" aria-label="Breadcrumb">
|
||||
<li><a href="../modules/domain_managedNativeVerification.html">domain/managedNativeVerification</a></li>
|
||||
<li><a href="" aria-current="page">ManagedNativeVerificationInput</a></li></ul>
|
||||
<h1>Type Alias ManagedNativeVerificationInput</h1></div>
|
||||
<div class="tsd-signature"><span class="tsd-kind-type-alias">ManagedNativeVerificationInput</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">z.infer</span><span class="tsd-signature-symbol"><</span><br/> <span class="tsd-signature-keyword">typeof</span> <a href="../variables/domain_managedNativeVerification.managedNativeVerificationInputSchema.html" class="tsd-signature-type tsd-kind-variable">managedNativeVerificationInputSchema</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/domain/managedNativeVerification.ts#L163">src/domain/managedNativeVerification.ts:163</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
<details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h3>Settings</h3></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span>
|
||||
<ul id="tsd-filter-options">
|
||||
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
|
||||
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div>
|
||||
<div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div>
|
||||
<div class="site-menu">
|
||||
<nav class="tsd-navigation"><a href="../index.html">rea-agents - v1.7.0</a>
|
||||
<ul class="tsd-small-nested-navigation" id="tsd-nav-container">
|
||||
<li>Loading...</li></ul></nav></div></div></div><footer>
|
||||
<p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer>
|
||||
<div class="overlay"></div></body></html>
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ManagedNativeVerificationResult | rea-agents - v1.7.0</title><meta name="description" content="Documentation for rea-agents"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar">
|
||||
<div class="tsd-toolbar-contents container"><a href="../index.html" class="title">rea-agents - v1.7.0</a>
|
||||
<div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/>
|
||||
<ul role="listbox" id="tsd-search-results"></ul>
|
||||
<div id="tsd-search-status" aria-live="polite" aria-atomic="true">
|
||||
<div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header>
|
||||
<div class="container container-main">
|
||||
<div class="col-content">
|
||||
<div class="tsd-page-title">
|
||||
<ul class="tsd-breadcrumb" aria-label="Breadcrumb">
|
||||
<li><a href="../modules/domain_managedNativeVerification.html">domain/managedNativeVerification</a></li>
|
||||
<li><a href="" aria-current="page">ManagedNativeVerificationResult</a></li></ul>
|
||||
<h1>Type Alias ManagedNativeVerificationResult</h1></div>
|
||||
<div class="tsd-signature"><span class="tsd-kind-type-alias">ManagedNativeVerificationResult</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">z.infer</span><span class="tsd-signature-symbol"><</span><br/> <span class="tsd-signature-keyword">typeof</span> <a href="../variables/domain_managedNativeVerification.managedNativeVerificationResultSchema.html" class="tsd-signature-type tsd-kind-variable">managedNativeVerificationResultSchema</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/domain/managedNativeVerification.ts#L166">src/domain/managedNativeVerification.ts:166</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
<details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h3>Settings</h3></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span>
|
||||
<ul id="tsd-filter-options">
|
||||
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
|
||||
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div>
|
||||
<div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div>
|
||||
<div class="site-menu">
|
||||
<nav class="tsd-navigation"><a href="../index.html">rea-agents - v1.7.0</a>
|
||||
<ul class="tsd-small-nested-navigation" id="tsd-nav-container">
|
||||
<li>Loading...</li></ul></nav></div></div></div><footer>
|
||||
<p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer>
|
||||
<div class="overlay"></div></body></html>
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>InspectMacho | rea-agents - v1.7.0</title><meta name="description" content="Documentation for rea-agents"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar">
|
||||
<div class="tsd-toolbar-contents container"><a href="../index.html" class="title">rea-agents - v1.7.0</a>
|
||||
<div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/>
|
||||
<ul role="listbox" id="tsd-search-results"></ul>
|
||||
<div id="tsd-search-status" aria-live="polite" aria-atomic="true">
|
||||
<div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header>
|
||||
<div class="container container-main">
|
||||
<div class="col-content">
|
||||
<div class="tsd-page-title">
|
||||
<ul class="tsd-breadcrumb" aria-label="Breadcrumb">
|
||||
<li><a href="../modules/domain_nativeInspection.html">domain/nativeInspection</a></li>
|
||||
<li><a href="" aria-current="page">InspectMacho</a></li></ul>
|
||||
<h1>Type Alias InspectMacho</h1></div>
|
||||
<div class="tsd-signature"><span class="tsd-kind-type-alias">InspectMacho</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">z.infer</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-keyword">typeof</span> <a href="../variables/domain_nativeInspection.inspectMachoSchema.html" class="tsd-signature-type tsd-kind-variable">inspectMachoSchema</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/domain/nativeInspection.ts#L159">src/domain/nativeInspection.ts:159</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
<details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h3>Settings</h3></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span>
|
||||
<ul id="tsd-filter-options">
|
||||
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
|
||||
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div>
|
||||
<div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div>
|
||||
<div class="site-menu">
|
||||
<nav class="tsd-navigation"><a href="../index.html">rea-agents - v1.7.0</a>
|
||||
<ul class="tsd-small-nested-navigation" id="tsd-nav-container">
|
||||
<li>Loading...</li></ul></nav></div></div></div><footer>
|
||||
<p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer>
|
||||
<div class="overlay"></div></body></html>
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
<h1>Type Alias InspectSignature</h1></div>
|
||||
<div class="tsd-signature"><span class="tsd-kind-type-alias">InspectSignature</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">z.infer</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-keyword">typeof</span> <a href="../variables/domain_nativeInspection.inspectSignatureSchema.html" class="tsd-signature-type tsd-kind-variable">inspectSignatureSchema</a><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/domain/nativeInspection.ts#L159">src/domain/nativeInspection.ts:159</a></li></ul></aside></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/domain/nativeInspection.ts#L160">src/domain/nativeInspection.ts:160</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>MCP references for comparing two session-owned managed observations.</p>
|
||||
</div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/managedWorkflowToolContracts.ts#L19">src/contracts/managedWorkflowToolContracts.ts:19</a></li></ul></aside></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/managedWorkflowToolContracts.ts#L29">src/contracts/managedWorkflowToolContracts.ts:29</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>managedNativeVerificationReferenceInputSchema | rea-agents - v1.7.0</title><meta name="description" content="Documentation for rea-agents"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar">
|
||||
<div class="tsd-toolbar-contents container"><a href="../index.html" class="title">rea-agents - v1.7.0</a>
|
||||
<div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/>
|
||||
<ul role="listbox" id="tsd-search-results"></ul>
|
||||
<div id="tsd-search-status" aria-live="polite" aria-atomic="true">
|
||||
<div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header>
|
||||
<div class="container container-main">
|
||||
<div class="col-content">
|
||||
<div class="tsd-page-title">
|
||||
<ul class="tsd-breadcrumb" aria-label="Breadcrumb">
|
||||
<li><a href="../modules/contracts_managedWorkflowToolContracts.html">contracts/managedWorkflowToolContracts</a></li>
|
||||
<li><a href="" aria-current="page">managedNativeVerificationReferenceInputSchema</a></li></ul>
|
||||
<h1>Variable managedNativeVerificationReferenceInputSchema<code class="tsd-tag">Const</code></h1></div>
|
||||
<div class="tsd-signature"><span class="tsd-kind-variable">managedNativeVerificationReferenceInputSchema</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ZodObject</span><span class="tsd-signature-symbol"><</span><br/> <span class="tsd-signature-symbol">{</span><br/> <span class="tsd-kind-property">limits</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ZodDefault</span><span class="tsd-signature-symbol"><</span><br/> <span class="tsd-signature-type">ZodObject</span><span class="tsd-signature-symbol"><</span><br/> <span class="tsd-signature-symbol">{</span><br/> <span class="tsd-kind-property">max_candidates_per_import</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ZodDefault</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">ZodNumber</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">max_native_observations</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ZodDefault</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">ZodNumber</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-type">$strict</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">managed_boundaries_evidence_id</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ZodString</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">native_observation_evidence_ids</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ZodArray</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">ZodString</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">unknown_registry_approved</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ZodOptional</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">ZodLiteral</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-signature-type">$strict</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> = ...</span></div>
|
||||
<div class="tsd-comment tsd-typography"><p>MCP references for managed/native verification from session Evidence.</p>
|
||||
</div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/managedWorkflowToolContracts.ts#L59">src/contracts/managedWorkflowToolContracts.ts:59</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
<details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
|
||||
<h3>Settings</h3></summary>
|
||||
<div class="tsd-accordion-details">
|
||||
<div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span>
|
||||
<ul id="tsd-filter-options">
|
||||
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
|
||||
<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div>
|
||||
<div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div>
|
||||
<div class="site-menu">
|
||||
<nav class="tsd-navigation"><a href="../index.html">rea-agents - v1.7.0</a>
|
||||
<ul class="tsd-small-nested-navigation" id="tsd-nav-container">
|
||||
<li>Loading...</li></ul></nav></div></div></div><footer>
|
||||
<p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer>
|
||||
<div class="overlay"></div></body></html>
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>MCP reference for importing reconstruction against session Evidence.</p>
|
||||
</div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/managedWorkflowToolContracts.ts#L43">src/contracts/managedWorkflowToolContracts.ts:43</a></li></ul></aside></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/managedWorkflowToolContracts.ts#L53">src/contracts/managedWorkflowToolContracts.ts:53</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>MCP reference for planning from one session-owned managed observation.</p>
|
||||
</div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/managedWorkflowToolContracts.ts#L37">src/contracts/managedWorkflowToolContracts.ts:37</a></li></ul></aside></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/managedWorkflowToolContracts.ts#L47">src/contracts/managedWorkflowToolContracts.ts:47</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>Exact Evidence v2 schemas for provider-neutral artifact graph operations.</p>
|
||||
</div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L548">src/contracts/toolOutputSchemas.ts:548</a></li></ul></aside></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L549">src/contracts/toolOutputSchemas.ts:549</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>Exact structured-content schemas for composed analysis workflows.</p>
|
||||
</div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L441">src/contracts/toolOutputSchemas.ts:441</a></li></ul></aside></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L442">src/contracts/toolOutputSchemas.ts:442</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>Exact Evidence v2 schema for execution-free managed static analysis.</p>
|
||||
</div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L554">src/contracts/toolOutputSchemas.ts:554</a></li></ul></aside></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L555">src/contracts/toolOutputSchemas.ts:555</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>Exact Evidence v2 schema for provider-neutral managed workflows.</p>
|
||||
</div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L563">src/contracts/toolOutputSchemas.ts:563</a></li></ul></aside></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L564">src/contracts/toolOutputSchemas.ts:564</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>Exact Evidence v2 schemas for provider-neutral native inspection.</p>
|
||||
</div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L539">src/contracts/toolOutputSchemas.ts:539</a></li></ul></aside></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L540">src/contracts/toolOutputSchemas.ts:540</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>Exact structured-content schemas shared by direct analysis providers.</p>
|
||||
</div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L388">src/contracts/toolOutputSchemas.ts:388</a></li></ul></aside></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L389">src/contracts/toolOutputSchemas.ts:389</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<div class="tsd-comment tsd-typography"><p>Exact structured-content schemas for target lifecycle operations.</p>
|
||||
</div><aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L576">src/contracts/toolOutputSchemas.ts:576</a></li></ul></aside></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/contracts/toolOutputSchemas.ts#L580">src/contracts/toolOutputSchemas.ts:580</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -11,11 +11,13 @@ declared ModuleRef/ImplMap/PInvoke and native implementation boundary inventory
|
|||
through `inspect_managed_native_boundaries` and
|
||||
`rea inspect-managed-native-boundaries`, plus obfuscation-resistant member
|
||||
comparison through `compare_managed_members` and `rea compare-managed-members`,
|
||||
managed/native export or function Evidence matching through
|
||||
`verify_managed_native_boundaries` and `rea verify-managed-native-boundaries`,
|
||||
decompiler reconstruction import through `import_managed_reconstruction` and
|
||||
`rea import-managed-reconstruction`, and default-disabled runtime-correlation
|
||||
admission planning through `plan_managed_runtime_correlation` and
|
||||
`rea plan-managed-runtime-correlation`. Verified native export/function
|
||||
matching and runtime execution remain planned behavior. The current product inventory remains the one in
|
||||
`rea plan-managed-runtime-correlation`. Native-body bridge mapping and runtime
|
||||
execution remain planned behavior. The current product inventory remains the one in
|
||||
[`product-catalog.json`](product-catalog.json).
|
||||
|
||||
## Analysis objective
|
||||
|
|
@ -133,8 +135,9 @@ that implement them. The underlying capability slices are:
|
|||
6. **Managed/native composition**: P/Invoke, unmanaged exports, COM/mixed-mode
|
||||
declarations, ReadyToRun/native bodies, single-file hosts, and authenticated
|
||||
IL2CPP pairs linked to selected Hopper/Ghidra evidence. The shipped
|
||||
boundary inventory is declaration-only until native-provider evidence
|
||||
verifies exports, thunks, or functions.
|
||||
verification workflow checks P/Invoke declarations against supplied native
|
||||
export or function Evidence; native-body, thunk, and token-to-address bridge
|
||||
mapping remain unavailable without explicit provider-supported evidence.
|
||||
|
||||
Every list has a deterministic order and hard limits. Search exposes scanned,
|
||||
matched, returned, and dropped counts. An unresolved indirect call or a failed
|
||||
|
|
@ -310,7 +313,8 @@ The managed-code track advances as reviewable pull requests:
|
|||
5. decompiler reconstruction import (shipped as analyst inference; REA does
|
||||
not run ILSpy/dnSpy, and metadata/CIL remain canonical);
|
||||
6. managed/native composition and truthful deployment degradation (declaration
|
||||
inventory shipped; verified native-provider matching remains planned);
|
||||
inventory and native export/function Evidence matching shipped; native-body
|
||||
bridge mapping remains planned);
|
||||
7. source-built managed conformance and package/CLI verification (source-owned
|
||||
PE/CLI corpus shipped through `npm run verify:managed`; pinned external
|
||||
ILSpy/dnSpy/Windows checks remain planned); and
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
"skill_version": "20"
|
||||
},
|
||||
"tools": {
|
||||
"total": 89,
|
||||
"total": 90,
|
||||
"families": [
|
||||
{
|
||||
"id": "direct",
|
||||
|
|
@ -91,14 +91,15 @@
|
|||
{
|
||||
"id": "managed",
|
||||
"surface": "managed",
|
||||
"count": 6,
|
||||
"count": 7,
|
||||
"tools": [
|
||||
"compare_managed_members",
|
||||
"import_managed_reconstruction",
|
||||
"inspect_managed_artifact",
|
||||
"inspect_managed_members",
|
||||
"inspect_managed_native_boundaries",
|
||||
"plan_managed_runtime_correlation"
|
||||
"plan_managed_runtime_correlation",
|
||||
"verify_managed_native_boundaries"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -287,7 +288,8 @@
|
|||
"capabilities": [
|
||||
"compare_managed_members",
|
||||
"import_managed_reconstruction",
|
||||
"plan_managed_runtime_correlation"
|
||||
"plan_managed_runtime_correlation",
|
||||
"verify_managed_native_boundaries"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -434,6 +436,10 @@
|
|||
"id": "managed_native_boundary_inspection",
|
||||
"version": 1
|
||||
},
|
||||
{
|
||||
"id": "managed_native_verification",
|
||||
"version": 1
|
||||
},
|
||||
{
|
||||
"id": "process_capture",
|
||||
"version": 4
|
||||
|
|
@ -476,7 +482,7 @@
|
|||
}
|
||||
],
|
||||
"cli": {
|
||||
"primary_count": 49,
|
||||
"primary_count": 50,
|
||||
"commands": [
|
||||
"analyze",
|
||||
"analyze-javascript-application",
|
||||
|
|
@ -526,6 +532,7 @@
|
|||
"trace-application-feature",
|
||||
"uninstall",
|
||||
"upgrade",
|
||||
"verify-managed-native-boundaries",
|
||||
"xrefs"
|
||||
],
|
||||
"aliases": [
|
||||
|
|
@ -537,17 +544,17 @@
|
|||
},
|
||||
"runtime_catalog": {
|
||||
"counts": {
|
||||
"cli_commands": 49,
|
||||
"mcp_tools": 89,
|
||||
"cli_commands": 50,
|
||||
"mcp_tools": 90,
|
||||
"mcp_prompts": 6,
|
||||
"mcp_resources": 2,
|
||||
"mcp_resource_templates": 7
|
||||
},
|
||||
"digests": {
|
||||
"tools_sha256": "7ff199b832297a3a484eae3876eaa47ebf128a5f07319f10fa91d9aa10581629",
|
||||
"tools_sha256": "2ff312c581301105674478b2a75991b67940b274e28d90a6fbf5fe01a76b2970",
|
||||
"prompts_sha256": "f6da3ad38a1000c11364d1710f122ac4990551f04efd8c53ffb2e819b5cf5707",
|
||||
"resources_sha256": "e603aad57a79479004fbdc267644092e8365dd64d94ad772b9da4425a49abd73",
|
||||
"combined_sha256": "cbd96b5f4bcfdf8d630125bc2fc4db3e145fedf8d54e8cba1e1889b2b3552187"
|
||||
"combined_sha256": "d72ee2d2095854cc885036dacf27ddfb9d2f1c598eced3b0dc7aa7a013d45e39"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -122,6 +122,7 @@ const SOURCE_PATHS = {
|
|||
webCaptureDiff: "dist/domain/webCaptureDiff.js",
|
||||
managedArtifact: "dist/domain/managedArtifact.js",
|
||||
managedComparison: "dist/domain/managedMemberComparison.js",
|
||||
managedNativeVerification: "dist/domain/managedNativeVerification.js",
|
||||
webMcpDiscovery: "dist/domain/webMcpDiscovery.js",
|
||||
webScreenshot: "dist/domain/webScreenshot.js",
|
||||
javascriptApplicationGraph: "dist/domain/javascriptApplicationGraph.js",
|
||||
|
|
@ -382,6 +383,11 @@ const observationSchemaDefinitions = (sources) => [
|
|||
sources.managedComparison.managedMemberComparisonResultSchema,
|
||||
["schema_version"],
|
||||
],
|
||||
[
|
||||
"managed_native_verification",
|
||||
sources.managedNativeVerification.managedNativeVerificationResultSchema,
|
||||
["schema_version"],
|
||||
],
|
||||
[
|
||||
"browser_target_list",
|
||||
sources.browserObservation.browserTargetListSchema,
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import { inspectManagedArtifactBytes } from "../dist/dotnet/ManagedArtifactInspe
|
|||
import { inspectManagedMembersBytes } from "../dist/dotnet/ManagedMemberInspector.js";
|
||||
import { inspectManagedNativeBoundariesBytes } from "../dist/dotnet/ManagedNativeBoundaryInspector.js";
|
||||
import { compareManagedMemberPaths } from "../dist/application/ManagedMemberComparisonService.js";
|
||||
import { verifyManagedNativeBoundariesEvidence } from "../dist/application/ManagedNativeVerificationService.js";
|
||||
import { importManagedReconstructionEvidence } from "../dist/application/ManagedReconstructionService.js";
|
||||
import { planManagedRuntimeCorrelationEvidence } from "../dist/application/ManagedRuntimeCorrelationService.js";
|
||||
import { createPermissionAuthority } from "../dist/application/PermissionAuthority.js";
|
||||
|
|
@ -133,6 +134,49 @@ try {
|
|||
frameworkBoundaries.pinvoke_imports.items[0]?.call_convention,
|
||||
"stdcall",
|
||||
);
|
||||
const frameworkBoundaryEvidence = createEvidence(
|
||||
framework.target,
|
||||
MANAGED_STATIC_PROVIDER,
|
||||
{
|
||||
operation: "inspect_managed_native_boundaries",
|
||||
parameters: nativeBoundaryLimits,
|
||||
result: frameworkBoundaries,
|
||||
rawResult: null,
|
||||
limitations: frameworkBoundaries.limitations,
|
||||
locations: [{ kind: "artifact-path", path: framework.target.path }],
|
||||
},
|
||||
);
|
||||
const nativeFunctionEvidence = createEvidence(
|
||||
{
|
||||
path: "/system/user32.dll",
|
||||
sha256: "9".repeat(64),
|
||||
format: "pe",
|
||||
architecture: "x86",
|
||||
},
|
||||
{
|
||||
id: "ghidra",
|
||||
name: "Ghidra",
|
||||
version: "12.1.2",
|
||||
},
|
||||
{
|
||||
operation: "analyze_function",
|
||||
parameters: { procedure: "MessageBoxW" },
|
||||
result: functionDossier("MessageBoxW"),
|
||||
rawResult: null,
|
||||
limitations: [],
|
||||
locations: [{ kind: "address", address: "0x401000" }],
|
||||
},
|
||||
);
|
||||
const nativeVerification = verifyManagedNativeBoundariesEvidence({
|
||||
managed_boundaries: frameworkBoundaryEvidence,
|
||||
native_observations: [nativeFunctionEvidence],
|
||||
limits: {
|
||||
max_native_observations: 20,
|
||||
max_candidates_per_import: 25,
|
||||
},
|
||||
});
|
||||
assert.equal(nativeVerification.ok, true);
|
||||
assert.equal(nativeVerification.value.normalized_result.summary.verified, 1);
|
||||
|
||||
const readyToRun = await fixture("r2r-x64.exe", {
|
||||
machine: 0x8664,
|
||||
|
|
@ -347,12 +391,13 @@ try {
|
|||
|
||||
process.stdout.write(
|
||||
`${JSON.stringify({
|
||||
verified: 9,
|
||||
verified: 10,
|
||||
managedSurfaces: [
|
||||
"inspect_managed_artifact",
|
||||
"inspect_managed_members",
|
||||
"inspect_managed_native_boundaries",
|
||||
"compare_managed_members",
|
||||
"verify_managed_native_boundaries",
|
||||
"import_managed_reconstruction",
|
||||
"plan_managed_runtime_correlation",
|
||||
],
|
||||
|
|
@ -360,6 +405,7 @@ try {
|
|||
"modern-dotnet-anycpu",
|
||||
"dotnet-framework-x86-pinvoke",
|
||||
"x64-ready-to-run-native-body",
|
||||
"managed-native-verification",
|
||||
"unicode-obfuscated-identifiers",
|
||||
"decompiler-reconstruction-import",
|
||||
"runtime-correlation-admission-plan",
|
||||
|
|
@ -388,3 +434,45 @@ async function fixtureBytes(name, bytes) {
|
|||
function sha256(bytes) {
|
||||
return createHash("sha256").update(bytes).digest("hex");
|
||||
}
|
||||
|
||||
function functionDossier(name) {
|
||||
const emptyPage = {
|
||||
items: [],
|
||||
total: 0,
|
||||
returned: 0,
|
||||
truncated: false,
|
||||
next_offset: null,
|
||||
};
|
||||
return {
|
||||
procedure: {
|
||||
address: "0x401000",
|
||||
name,
|
||||
classification: {
|
||||
external: false,
|
||||
thunk: false,
|
||||
thunk_target: null,
|
||||
provenance: "synthetic-provider",
|
||||
},
|
||||
signature: null,
|
||||
locals: [],
|
||||
},
|
||||
pseudocode: {
|
||||
text: "",
|
||||
total_chars: 0,
|
||||
returned_chars: 0,
|
||||
truncated: false,
|
||||
next_offset: null,
|
||||
},
|
||||
assembly: emptyPage,
|
||||
comments: emptyPage,
|
||||
callers: emptyPage,
|
||||
callees: emptyPage,
|
||||
incoming_references: emptyPage,
|
||||
outgoing_references: emptyPage,
|
||||
referenced_strings: emptyPage,
|
||||
referenced_names: emptyPage,
|
||||
basic_blocks: emptyPage,
|
||||
instruction_scan: { scanned: 0, truncated: false },
|
||||
limitations: [],
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import { Client } from "@modelcontextprotocol/client";
|
|||
import { StdioClientTransport } from "@modelcontextprotocol/client/stdio";
|
||||
import { TextReader, Uint8ArrayWriter, ZipWriter } from "@zip.js/zip.js";
|
||||
import { TOOL_CONTRACTS } from "../dist/contracts/toolContracts.js";
|
||||
import { createEvidence } from "../dist/domain/evidence.js";
|
||||
import * as prompts from "./verify-package-prompts.mjs";
|
||||
import { verifyPackagedInvestigation } from "./verify-package-investigation.mjs";
|
||||
import { verifyPackedBridge } from "./verify-packed-bridge.mjs";
|
||||
|
|
@ -371,6 +372,56 @@ try {
|
|||
?.verification !== "managed-declaration-only"
|
||||
)
|
||||
throw new Error("packaged managed native-boundary CLI failed");
|
||||
const managedNativeVerificationInput = {
|
||||
managed_boundaries: managedBoundaries,
|
||||
native_observations: [
|
||||
createEvidence(
|
||||
{
|
||||
path: "/system/user32.dll",
|
||||
sha256: "9".repeat(64),
|
||||
format: "pe",
|
||||
architecture: "x86",
|
||||
},
|
||||
{
|
||||
id: "ghidra",
|
||||
name: "Ghidra",
|
||||
version: "12.1.2",
|
||||
},
|
||||
{
|
||||
operation: "analyze_function",
|
||||
parameters: { procedure: "MessageBoxW" },
|
||||
result: functionDossier("MessageBoxW"),
|
||||
rawResult: null,
|
||||
limitations: [],
|
||||
locations: [{ kind: "address", address: "0x401000" }],
|
||||
},
|
||||
),
|
||||
],
|
||||
limits: {
|
||||
max_native_observations: 20,
|
||||
max_candidates_per_import: 25,
|
||||
},
|
||||
};
|
||||
const managedNativeVerification = json(
|
||||
await run(
|
||||
cli,
|
||||
[
|
||||
"verify-managed-native-boundaries",
|
||||
JSON.stringify(managedNativeVerificationInput),
|
||||
"--json",
|
||||
],
|
||||
environment,
|
||||
),
|
||||
);
|
||||
if (
|
||||
managedNativeVerification.operation !==
|
||||
"verify_managed_native_boundaries" ||
|
||||
managedNativeVerification.provider?.id !== "rea-dotnet-workflows" ||
|
||||
managedNativeVerification.normalized_result?.summary?.verified !== 1 ||
|
||||
managedNativeVerification.normalized_result?.algorithm
|
||||
?.token_to_address_mapping !== "not-inferred"
|
||||
)
|
||||
throw new Error("packaged managed/native verification CLI failed");
|
||||
const managedComparison = json(
|
||||
await run(
|
||||
cli,
|
||||
|
|
@ -528,9 +579,6 @@ try {
|
|||
JSON.stringify(referenceImport).includes("PACKAGE_SECRET_SENTINEL")
|
||||
)
|
||||
throw new Error("packaged historical reference import CLI failed");
|
||||
const { createEvidence } = await import(
|
||||
new URL("../dist/domain/evidence.js", import.meta.url)
|
||||
);
|
||||
const { createEvidenceBundle, serializeEvidenceBundle } = await import(
|
||||
new URL("../dist/domain/evidenceBundle.js", import.meta.url)
|
||||
);
|
||||
|
|
@ -953,7 +1001,7 @@ try {
|
|||
}
|
||||
|
||||
process.stdout.write(
|
||||
`${JSON.stringify({ cli: true, analysisCli: true, artifactCli: true, managedCli: true, managedReconstructionCli: true, managedRuntimePlanCli: true, evidenceCli: true, incurMcpCommand: "npx -y rea-agents mcp", doctor: "platform-appropriate", setup: supportedSetupHost ? "planned-then-idempotent" : "unsupported-host-rejected", setupPlanReadOnly: supportedSetupHost, existingHopperPreserved: supportedSetupHost, clients: supportedSetupHost ? 3 : 0, backupReadback: supportedSetupHost, failureRecovery: supportedSetupHost, configSymlinkLifecycle: supportedSetupHost, skill: supportedSetupHost, mcpTools: TOOL_CONTRACTS.length, mcpPrompts: prompts.names.length, promptCompletion: true, promptCompletionLifecycle: true, evidenceMcp: true, targetFree: true, targetLifecycle: true, boundedRegexBridge: true })}\n`,
|
||||
`${JSON.stringify({ cli: true, analysisCli: true, artifactCli: true, managedCli: true, managedReconstructionCli: true, managedNativeVerificationCli: true, managedRuntimePlanCli: true, evidenceCli: true, incurMcpCommand: "npx -y rea-agents mcp", doctor: "platform-appropriate", setup: supportedSetupHost ? "planned-then-idempotent" : "unsupported-host-rejected", setupPlanReadOnly: supportedSetupHost, existingHopperPreserved: supportedSetupHost, clients: supportedSetupHost ? 3 : 0, backupReadback: supportedSetupHost, failureRecovery: supportedSetupHost, configSymlinkLifecycle: supportedSetupHost, skill: supportedSetupHost, mcpTools: TOOL_CONTRACTS.length, mcpPrompts: prompts.names.length, promptCompletion: true, promptCompletionLifecycle: true, evidenceMcp: true, targetFree: true, targetLifecycle: true, boundedRegexBridge: true })}\n`,
|
||||
);
|
||||
} finally {
|
||||
if (tarball) await rm(join(root, tarball), { force: true });
|
||||
|
|
@ -980,6 +1028,47 @@ async function runWithStatus(command, args, env) {
|
|||
function json(text) {
|
||||
return JSON.parse(text);
|
||||
}
|
||||
function functionDossier(name) {
|
||||
const emptyPage = {
|
||||
items: [],
|
||||
total: 0,
|
||||
returned: 0,
|
||||
truncated: false,
|
||||
next_offset: null,
|
||||
};
|
||||
return {
|
||||
procedure: {
|
||||
address: "0x401000",
|
||||
name,
|
||||
classification: {
|
||||
external: false,
|
||||
thunk: false,
|
||||
thunk_target: null,
|
||||
provenance: "synthetic-provider",
|
||||
},
|
||||
signature: null,
|
||||
locals: [],
|
||||
},
|
||||
pseudocode: {
|
||||
text: "",
|
||||
total_chars: 0,
|
||||
returned_chars: 0,
|
||||
truncated: false,
|
||||
next_offset: null,
|
||||
},
|
||||
assembly: emptyPage,
|
||||
comments: emptyPage,
|
||||
callers: emptyPage,
|
||||
callees: emptyPage,
|
||||
incoming_references: emptyPage,
|
||||
outgoing_references: emptyPage,
|
||||
referenced_strings: emptyPage,
|
||||
referenced_names: emptyPage,
|
||||
basic_blocks: emptyPage,
|
||||
instruction_scan: { scanned: 0, truncated: false },
|
||||
limitations: [],
|
||||
};
|
||||
}
|
||||
async function pathExists(path) {
|
||||
try {
|
||||
await lstat(path);
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ name: rea-analysis
|
|||
description: Reverse engineer native, Electron/JavaScript, and web applications with REA. Connect static artifacts to passive runtime evidence, explain how features work, and build a version tailored to the user's project.
|
||||
metadata:
|
||||
version: "20"
|
||||
tool_count: 89
|
||||
catalog_digest: "cbd96b5f4bcfdf8d630125bc2fc4db3e145fedf8d54e8cba1e1889b2b3552187"
|
||||
tool_count: 90
|
||||
catalog_digest: "d72ee2d2095854cc885036dacf27ddfb9d2f1c598eced3b0dc7aa7a013d45e39"
|
||||
---
|
||||
|
||||
# REA
|
||||
|
|
|
|||
|
|
@ -0,0 +1,64 @@
|
|||
import { z } from "zod";
|
||||
|
||||
import {
|
||||
AnalysisInputError,
|
||||
AnalysisProtocolError,
|
||||
type AnalysisError,
|
||||
} from "../domain/errors.js";
|
||||
import { createEvidence, type Evidence } from "../domain/evidence.js";
|
||||
import { jsonValueSchema } from "../domain/jsonValue.js";
|
||||
import {
|
||||
managedNativeVerificationInputSchema,
|
||||
verifyManagedNativeBoundaries,
|
||||
type ManagedNativeVerificationInput,
|
||||
type ManagedNativeVerificationResult,
|
||||
} from "../domain/managedNativeVerification.js";
|
||||
import { err, ok, type Result } from "../domain/result.js";
|
||||
import { MANAGED_WORKFLOW_PROVIDER } from "./InvestigationProviders.js";
|
||||
|
||||
const OPERATION = "verify_managed_native_boundaries" as const;
|
||||
|
||||
/** Verify managed/native boundary declarations against native Evidence. */
|
||||
export const verifyManagedNativeBoundariesEvidence = (
|
||||
rawInput: unknown,
|
||||
): Result<Evidence, AnalysisError> => {
|
||||
const parsed = managedNativeVerificationInputSchema.safeParse(rawInput);
|
||||
if (!parsed.success)
|
||||
return err(new AnalysisInputError(OPERATION, { cause: parsed.error }));
|
||||
try {
|
||||
const result = verifyManagedNativeBoundaries(parsed.data);
|
||||
return ok(createManagedNativeVerificationEvidence(parsed.data, result));
|
||||
} catch (cause: unknown) {
|
||||
return err(
|
||||
cause instanceof TypeError || cause instanceof z.ZodError
|
||||
? new AnalysisInputError(OPERATION, { cause })
|
||||
: new AnalysisProtocolError(
|
||||
"Managed/native verification produced an invalid result",
|
||||
{ cause },
|
||||
),
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
const createManagedNativeVerificationEvidence = (
|
||||
input: ManagedNativeVerificationInput,
|
||||
result: ManagedNativeVerificationResult,
|
||||
): Evidence =>
|
||||
createEvidence(undefined, MANAGED_WORKFLOW_PROVIDER, {
|
||||
predicateType: "rea.managed-native-verification/v1",
|
||||
operation: OPERATION,
|
||||
parameters: {
|
||||
managed_boundaries_evidence_id: input.managed_boundaries.evidence_id,
|
||||
native_evidence_ids: jsonValueSchema.parse(
|
||||
input.native_observations.map(({ evidence_id: id }) => id),
|
||||
),
|
||||
limits: jsonValueSchema.parse(input.limits),
|
||||
},
|
||||
result: jsonValueSchema.parse(result),
|
||||
rawResult: null,
|
||||
confidence: "inferred",
|
||||
authority: "analyst-inference",
|
||||
environment: null,
|
||||
limitations: result.limitations,
|
||||
evidenceLinks: result.evidence_links,
|
||||
});
|
||||
20
src/cli.ts
20
src/cli.ts
|
|
@ -9,6 +9,7 @@ import {
|
|||
runSessionStatus,
|
||||
} from "./application/DirectAnalysis.js";
|
||||
import { compareManagedMemberPaths } from "./application/ManagedMemberComparisonService.js";
|
||||
import { verifyManagedNativeBoundariesEvidence } from "./application/ManagedNativeVerificationService.js";
|
||||
import { importManagedReconstructionEvidence } from "./application/ManagedReconstructionService.js";
|
||||
import { planManagedRuntimeCorrelationEvidence } from "./application/ManagedRuntimeCorrelationService.js";
|
||||
import {
|
||||
|
|
@ -913,6 +914,25 @@ const registerManagedCommands = (
|
|||
return result.ok ? result.value : projectAnalysisError(result.error);
|
||||
}),
|
||||
});
|
||||
cli.command(CLI_COMMANDS.verifyManagedNativeBoundaries, {
|
||||
description:
|
||||
"Verify managed P/Invoke declarations against authenticated native Evidence",
|
||||
args: z.object({
|
||||
inputJson: z
|
||||
.string()
|
||||
.describe("Inline managed/native verification JSON or JSON file path"),
|
||||
}),
|
||||
run: ({ args }) =>
|
||||
logCliCommand(logger, "verify-managed-native-boundaries", async () => {
|
||||
const input = await parseCliJsonInput(
|
||||
args.inputJson,
|
||||
"verify-managed-native-boundaries",
|
||||
);
|
||||
if (!input.ok) return input.error;
|
||||
const result = verifyManagedNativeBoundariesEvidence(input.value);
|
||||
return result.ok ? result.value : projectAnalysisError(result.error);
|
||||
}),
|
||||
});
|
||||
cli.command(CLI_COMMANDS.planManagedRuntimeCorrelation, {
|
||||
description:
|
||||
"Plan a separately authorized managed runtime-correlation experiment without executing target code",
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ export const CLI_COMMANDS = Object.freeze({
|
|||
inspectManagedMembers: "inspect-managed-members",
|
||||
inspectManagedNativeBoundaries: "inspect-managed-native-boundaries",
|
||||
compareManagedMembers: "compare-managed-members",
|
||||
verifyManagedNativeBoundaries: "verify-managed-native-boundaries",
|
||||
importManagedReconstruction: "import-managed-reconstruction",
|
||||
planManagedRuntimeCorrelation: "plan-managed-runtime-correlation",
|
||||
inspectMacho: "inspect-macho",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
import { createEvidence } from "../domain/evidence.js";
|
||||
import type { ManagedMemberInspection } from "../domain/managedArtifact.js";
|
||||
import type {
|
||||
ManagedMemberInspection,
|
||||
ManagedNativeBoundaryInspection,
|
||||
} from "../domain/managedArtifact.js";
|
||||
import type { InspectMacho } from "../domain/nativeInspection.js";
|
||||
|
||||
const MANAGED_STATIC_EXAMPLE_PROVIDER = {
|
||||
id: "rea-dotnet-static",
|
||||
|
|
@ -7,6 +11,12 @@ const MANAGED_STATIC_EXAMPLE_PROVIDER = {
|
|||
version: "1",
|
||||
} as const;
|
||||
|
||||
const NATIVE_EXAMPLE_PROVIDER = {
|
||||
id: "native-macos",
|
||||
name: "REA native macOS provider",
|
||||
version: "1",
|
||||
} as const;
|
||||
|
||||
const emptyManagedMembers = (
|
||||
sha256: string,
|
||||
mvid: string,
|
||||
|
|
@ -142,6 +152,159 @@ export const MANAGED_MEMBER_COMPARISON_EXAMPLE = {
|
|||
|
||||
const runtimeExampleEvidence = evidence(runtimeMembers());
|
||||
|
||||
const boundaryEvidence = () => {
|
||||
const result: ManagedNativeBoundaryInspection = {
|
||||
schema_version: 1,
|
||||
artifact: {
|
||||
path: "/examples/ManagedInterop.exe",
|
||||
sha256: "6".repeat(64),
|
||||
byte_length: 8192,
|
||||
format: "pe",
|
||||
},
|
||||
module: {
|
||||
name: "ManagedInterop.exe",
|
||||
generation: 0,
|
||||
mvid: "00112233-4455-4677-8899-aabbccddeeff",
|
||||
enc_id: null,
|
||||
enc_base_id: null,
|
||||
token: "0x00000001",
|
||||
row_offset: 0,
|
||||
},
|
||||
metadata: {
|
||||
status: "complete",
|
||||
version: "v4.0.30319",
|
||||
table_row_counts: {},
|
||||
},
|
||||
identity_scope: {
|
||||
token_identity: "build-local",
|
||||
requires_artifact_sha256: "6".repeat(64),
|
||||
requires_mvid: "00112233-4455-4677-8899-aabbccddeeff",
|
||||
},
|
||||
cli_native: {
|
||||
il_only: true,
|
||||
requires_32bit: false,
|
||||
strong_name_signed: false,
|
||||
native_entry_point: false,
|
||||
ready_to_run_signature: false,
|
||||
managed_native_header_rva: 0,
|
||||
managed_native_header_size: 0,
|
||||
},
|
||||
module_refs: {
|
||||
items: [
|
||||
{
|
||||
token: "0x1a000001",
|
||||
row_offset: 256,
|
||||
name: "nativehelper.dll",
|
||||
},
|
||||
],
|
||||
offset: 0,
|
||||
limit: 100,
|
||||
total: 1,
|
||||
returned: 1,
|
||||
dropped: 0,
|
||||
complete: true,
|
||||
},
|
||||
pinvoke_imports: {
|
||||
items: [
|
||||
{
|
||||
token: "0x1c000001",
|
||||
row_offset: 288,
|
||||
mapping_flags: 0,
|
||||
mapping_flags_hex: "0x0000",
|
||||
member_token: "0x06000001",
|
||||
member_kind: "method",
|
||||
member_name: "OpenNative",
|
||||
import_name: "open_native",
|
||||
import_scope_token: "0x1a000001",
|
||||
import_scope_name: "nativehelper.dll",
|
||||
no_mangle: true,
|
||||
char_set: "not-specified",
|
||||
call_convention: "cdecl",
|
||||
supports_last_error: false,
|
||||
best_fit: "assembly-default",
|
||||
throw_on_unmappable_char: "assembly-default",
|
||||
verification: "managed-declaration-only",
|
||||
},
|
||||
],
|
||||
offset: 0,
|
||||
limit: 100,
|
||||
total: 1,
|
||||
returned: 1,
|
||||
dropped: 0,
|
||||
complete: true,
|
||||
},
|
||||
native_implementations: emptyPage(100),
|
||||
summary: {
|
||||
module_ref_count: 1,
|
||||
pinvoke_import_count: 1,
|
||||
native_implementation_count: 0,
|
||||
ready_to_run: false,
|
||||
mixed_mode_or_native_header: false,
|
||||
},
|
||||
coverage: { state: "complete", issues: [] },
|
||||
limitations: [],
|
||||
};
|
||||
return createEvidence(undefined, MANAGED_STATIC_EXAMPLE_PROVIDER, {
|
||||
operation: "inspect_managed_native_boundaries",
|
||||
parameters: {},
|
||||
result,
|
||||
rawResult: null,
|
||||
limitations: result.limitations,
|
||||
});
|
||||
};
|
||||
|
||||
const nativeExportEvidence = () => {
|
||||
const result: InspectMacho = {
|
||||
format: "mach-o",
|
||||
endian: "little",
|
||||
word_size: 64,
|
||||
file_type: "dylib",
|
||||
flags: [],
|
||||
uuid: null,
|
||||
entrypoints: coverage([]),
|
||||
architectures: coverage([]),
|
||||
build_metadata: coverage([]),
|
||||
load_commands: coverage([]),
|
||||
dependencies: coverage([]),
|
||||
imports: coverage([]),
|
||||
exports: coverage([
|
||||
{
|
||||
name: "open_native",
|
||||
address: "0x1000",
|
||||
weak: false,
|
||||
reexport: false,
|
||||
source: "nm",
|
||||
},
|
||||
]),
|
||||
segments: coverage([]),
|
||||
provenance: [],
|
||||
limitations: [],
|
||||
};
|
||||
return createEvidence(
|
||||
{
|
||||
path: "/examples/nativehelper.dll",
|
||||
sha256: "7".repeat(64),
|
||||
format: "mach-o",
|
||||
architecture: "x86_64",
|
||||
},
|
||||
NATIVE_EXAMPLE_PROVIDER,
|
||||
{
|
||||
operation: "inspect_macho",
|
||||
parameters: {},
|
||||
result,
|
||||
rawResult: null,
|
||||
limitations: result.limitations,
|
||||
},
|
||||
);
|
||||
};
|
||||
|
||||
const coverage = <Item>(items: readonly Item[]) => ({
|
||||
items: [...items],
|
||||
total: items.length,
|
||||
exhaustive: true,
|
||||
limitations: [],
|
||||
});
|
||||
|
||||
/** Minimal valid managed decompiler reconstruction import request. */
|
||||
export const MANAGED_RECONSTRUCTION_IMPORT_EXAMPLE = {
|
||||
static_members: runtimeExampleEvidence,
|
||||
|
|
@ -172,6 +335,16 @@ export const MANAGED_RECONSTRUCTION_IMPORT_EXAMPLE = {
|
|||
],
|
||||
};
|
||||
|
||||
/** Minimal valid managed/native verification request. */
|
||||
export const MANAGED_NATIVE_VERIFICATION_EXAMPLE = {
|
||||
managed_boundaries: boundaryEvidence(),
|
||||
native_observations: [nativeExportEvidence()],
|
||||
limits: {
|
||||
max_native_observations: 20,
|
||||
max_candidates_per_import: 25,
|
||||
},
|
||||
};
|
||||
|
||||
/** Minimal valid managed runtime-correlation planning request. */
|
||||
export const MANAGED_RUNTIME_CORRELATION_EXAMPLE = {
|
||||
static_members: runtimeExampleEvidence,
|
||||
|
|
|
|||
|
|
@ -1,19 +1,29 @@
|
|||
import { z } from "zod";
|
||||
|
||||
import { compareManagedMembersInputSchema } from "../domain/managedMemberComparison.js";
|
||||
import { managedNativeVerificationInputSchema } from "../domain/managedNativeVerification.js";
|
||||
import { managedReconstructionImportInputSchema } from "../domain/managedReconstruction.js";
|
||||
import { managedRuntimeCorrelationInputSchema } from "../domain/managedRuntimeCorrelation.js";
|
||||
import type { ToolContract } from "./toolContracts.js";
|
||||
import { managedWorkflowOutputSchemas } from "./toolOutputSchemas.js";
|
||||
import {
|
||||
MANAGED_MEMBER_COMPARISON_EXAMPLE,
|
||||
MANAGED_NATIVE_VERIFICATION_EXAMPLE,
|
||||
MANAGED_RECONSTRUCTION_IMPORT_EXAMPLE,
|
||||
MANAGED_RUNTIME_CORRELATION_EXAMPLE,
|
||||
} from "./managedWorkflowExamples.js";
|
||||
import { toolContractMetadata } from "./toolEffects.js";
|
||||
|
||||
const managedEvidenceIdSchema = z
|
||||
.string()
|
||||
.regex(/^ev_[a-f0-9]{64}$/u)
|
||||
.describe("Session-owned inspect_managed_members Evidence ID");
|
||||
const evidenceIdSchema = z.string().regex(/^ev_[a-f0-9]{64}$/u);
|
||||
const managedEvidenceIdSchema = evidenceIdSchema.describe(
|
||||
"Session-owned inspect_managed_members Evidence ID",
|
||||
);
|
||||
const managedBoundaryEvidenceIdSchema = evidenceIdSchema.describe(
|
||||
"Session-owned inspect_managed_native_boundaries Evidence ID",
|
||||
);
|
||||
const nativeObservationEvidenceIdSchema = evidenceIdSchema.describe(
|
||||
"Session-owned inspect_macho or analyze_function Evidence ID",
|
||||
);
|
||||
|
||||
/** MCP references for comparing two session-owned managed observations. */
|
||||
export const compareManagedMembersReferenceInputSchema = z
|
||||
|
|
@ -45,6 +55,42 @@ export const managedReconstructionReferenceInputSchema =
|
|||
.omit({ static_members: true })
|
||||
.extend({ static_members_evidence_id: managedEvidenceIdSchema });
|
||||
|
||||
/** MCP references for managed/native verification from session Evidence. */
|
||||
export const managedNativeVerificationReferenceInputSchema = z
|
||||
.strictObject({
|
||||
managed_boundaries_evidence_id: managedBoundaryEvidenceIdSchema,
|
||||
native_observation_evidence_ids: z
|
||||
.array(nativeObservationEvidenceIdSchema)
|
||||
.min(1)
|
||||
.max(50)
|
||||
.describe("Unique session-owned native observation Evidence IDs"),
|
||||
limits: managedNativeVerificationInputSchema.shape.limits,
|
||||
unknown_registry_approved:
|
||||
managedNativeVerificationInputSchema.shape.unknown_registry_approved,
|
||||
})
|
||||
.superRefine((input, context) => {
|
||||
const ids = new Set<string>();
|
||||
for (const [
|
||||
index,
|
||||
evidenceId,
|
||||
] of input.native_observation_evidence_ids.entries()) {
|
||||
if (evidenceId === input.managed_boundaries_evidence_id)
|
||||
context.addIssue({
|
||||
code: "custom",
|
||||
path: ["native_observation_evidence_ids", index],
|
||||
message:
|
||||
"Native observation Evidence must be distinct from managed boundary Evidence",
|
||||
});
|
||||
if (ids.has(evidenceId))
|
||||
context.addIssue({
|
||||
code: "custom",
|
||||
path: ["native_observation_evidence_ids", index],
|
||||
message: "Native observation Evidence IDs must be unique",
|
||||
});
|
||||
ids.add(evidenceId);
|
||||
}
|
||||
});
|
||||
|
||||
const comparisonOutputSchema =
|
||||
managedWorkflowOutputSchemas.compare_managed_members;
|
||||
if (comparisonOutputSchema === undefined)
|
||||
|
|
@ -63,6 +109,12 @@ if (reconstructionOutputSchema === undefined)
|
|||
throw new Error(
|
||||
"Missing managed workflow output schema for import_managed_reconstruction",
|
||||
);
|
||||
const nativeVerificationOutputSchema =
|
||||
managedWorkflowOutputSchemas.verify_managed_native_boundaries;
|
||||
if (nativeVerificationOutputSchema === undefined)
|
||||
throw new Error(
|
||||
"Missing managed workflow output schema for verify_managed_native_boundaries",
|
||||
);
|
||||
|
||||
/** Provider-neutral managed-code workflow contracts. */
|
||||
export const MANAGED_WORKFLOW_TOOL_CONTRACTS = [
|
||||
|
|
@ -86,6 +138,29 @@ export const MANAGED_WORKFLOW_TOOL_CONTRACTS = [
|
|||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "verify_managed_native_boundaries",
|
||||
...toolContractMetadata("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",
|
||||
inputSchema: managedNativeVerificationReferenceInputSchema,
|
||||
outputSchema: nativeVerificationOutputSchema,
|
||||
examples: [
|
||||
{
|
||||
title: "Verify a managed P/Invoke declaration against native Evidence",
|
||||
input: {
|
||||
managed_boundaries_evidence_id:
|
||||
MANAGED_NATIVE_VERIFICATION_EXAMPLE.managed_boundaries.evidence_id,
|
||||
native_observation_evidence_ids:
|
||||
MANAGED_NATIVE_VERIFICATION_EXAMPLE.native_observations.map(
|
||||
({ evidence_id: evidenceId }) => evidenceId,
|
||||
),
|
||||
limits: MANAGED_NATIVE_VERIFICATION_EXAMPLE.limits,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "import_managed_reconstruction",
|
||||
...toolContractMetadata("import_managed_reconstruction"),
|
||||
|
|
@ -131,4 +206,3 @@ export const MANAGED_WORKFLOW_TOOL_CONTRACTS = [
|
|||
],
|
||||
},
|
||||
] as const satisfies readonly ToolContract[];
|
||||
import { z } from "zod";
|
||||
|
|
|
|||
|
|
@ -98,6 +98,7 @@ export const TOOL_EFFECTS: Readonly<Record<string, ToolEffects>> = {
|
|||
inspect_managed_members: evidence,
|
||||
inspect_managed_native_boundaries: evidence,
|
||||
compare_managed_members: sessionEvidence,
|
||||
verify_managed_native_boundaries: sessionEvidence,
|
||||
import_managed_reconstruction: sessionEvidence,
|
||||
plan_managed_runtime_correlation: sessionEvidence,
|
||||
list_browser_targets: browserEvidence,
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ import {
|
|||
managedNativeBoundaryInspectionSchema,
|
||||
} from "../domain/managedArtifact.js";
|
||||
import { managedMemberComparisonResultSchema } from "../domain/managedMemberComparison.js";
|
||||
import { managedNativeVerificationResultSchema } from "../domain/managedNativeVerification.js";
|
||||
import { managedReconstructionImportResultSchema } from "../domain/managedReconstruction.js";
|
||||
import { managedRuntimeCorrelationResultSchema } from "../domain/managedRuntimeCorrelation.js";
|
||||
import { artifactComparisonResultSchema } from "../domain/artifactComparison.js";
|
||||
|
|
@ -564,6 +565,9 @@ export const managedWorkflowOutputSchemas: Readonly<
|
|||
Record<string, z.ZodObject>
|
||||
> = {
|
||||
compare_managed_members: resultOf(managedMemberComparisonResultSchema),
|
||||
verify_managed_native_boundaries: resultOf(
|
||||
managedNativeVerificationResultSchema,
|
||||
),
|
||||
import_managed_reconstruction: resultOf(
|
||||
managedReconstructionImportResultSchema,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,528 @@
|
|||
import { createHash } from "node:crypto";
|
||||
import { basename } from "node:path";
|
||||
|
||||
import canonicalize from "canonicalize";
|
||||
import { z } from "zod";
|
||||
|
||||
import { evidenceSchema, parseEvidence } from "./evidence.js";
|
||||
import { functionDossierSchema } from "./hopperValues.js";
|
||||
import {
|
||||
managedNativeBoundaryInspectionSchema,
|
||||
type ManagedNativeBoundaryInspection,
|
||||
} from "./managedArtifact.js";
|
||||
import { inspectMachoSchema } from "./nativeInspection.js";
|
||||
import type { JsonValue } from "./jsonValue.js";
|
||||
|
||||
const digestSchema = z.string().regex(/^[a-f0-9]{64}$/u);
|
||||
const evidenceIdSchema = z.string().regex(/^ev_[a-f0-9]{64}$/u);
|
||||
const tokenSchema = z.string().regex(/^0x[0-9a-f]{8}$/u);
|
||||
const boundedTextSchema = z.string().min(1).max(4_096);
|
||||
|
||||
const nativeVerificationLimitsSchema = z.strictObject({
|
||||
max_native_observations: z.number().int().min(1).max(50).default(20),
|
||||
max_candidates_per_import: z.number().int().min(1).max(100).default(25),
|
||||
});
|
||||
|
||||
/** Authenticated managed boundary Evidence plus native observations. */
|
||||
export const managedNativeVerificationInputSchema = z
|
||||
.strictObject({
|
||||
managed_boundaries: evidenceSchema,
|
||||
native_observations: z.array(evidenceSchema).min(1).max(50),
|
||||
limits: nativeVerificationLimitsSchema.default({
|
||||
max_native_observations: 20,
|
||||
max_candidates_per_import: 25,
|
||||
}),
|
||||
unknown_registry_approved: z.literal(true).optional(),
|
||||
})
|
||||
.superRefine((input, context) => {
|
||||
const ids = new Set<string>();
|
||||
for (const [index, evidence] of input.native_observations.entries()) {
|
||||
if (evidence.evidence_id === input.managed_boundaries.evidence_id) {
|
||||
context.addIssue({
|
||||
code: "custom",
|
||||
path: ["native_observations", index],
|
||||
message:
|
||||
"Native observation Evidence must be distinct from managed boundary Evidence",
|
||||
});
|
||||
}
|
||||
if (ids.has(evidence.evidence_id)) {
|
||||
context.addIssue({
|
||||
code: "custom",
|
||||
path: ["native_observations", index],
|
||||
message: "Native observation Evidence IDs must be unique",
|
||||
});
|
||||
}
|
||||
ids.add(evidence.evidence_id);
|
||||
}
|
||||
});
|
||||
|
||||
const nativeSymbolSchema = z.strictObject({
|
||||
evidence_id: evidenceIdSchema,
|
||||
operation: z.string().min(1),
|
||||
name: z.string().min(1),
|
||||
address: z.string().nullable(),
|
||||
module_name: z.string().nullable(),
|
||||
module_path: z.string().nullable(),
|
||||
source: z.enum(["macho-export", "function-dossier"]),
|
||||
});
|
||||
|
||||
const matchStatusSchema = z.enum([
|
||||
"verified",
|
||||
"inferred",
|
||||
"unresolved",
|
||||
"contradicted",
|
||||
]);
|
||||
|
||||
const matchBasisSchema = z.enum([
|
||||
"exact-export-name",
|
||||
"exact-function-name",
|
||||
"decorated-name-candidate",
|
||||
"module-mismatch",
|
||||
"no-native-candidate",
|
||||
"unsupported-native-evidence",
|
||||
]);
|
||||
|
||||
const pinvokeVerificationSchema = z.strictObject({
|
||||
item_id: z.string().regex(/^mnv_pinvoke_[a-f0-9]{64}$/u),
|
||||
managed: z.strictObject({
|
||||
token: tokenSchema,
|
||||
member_token: tokenSchema.nullable(),
|
||||
member_name: z.string().nullable(),
|
||||
import_name: z.string().min(1),
|
||||
import_scope_name: z.string().nullable(),
|
||||
no_mangle: z.boolean(),
|
||||
char_set: z.enum(["not-specified", "ansi", "unicode", "auto", "unknown"]),
|
||||
call_convention: z.enum([
|
||||
"not-specified",
|
||||
"winapi",
|
||||
"cdecl",
|
||||
"stdcall",
|
||||
"thiscall",
|
||||
"fastcall",
|
||||
"unknown",
|
||||
]),
|
||||
declaration_verification: z.literal("managed-declaration-only"),
|
||||
}),
|
||||
status: matchStatusSchema,
|
||||
basis: matchBasisSchema,
|
||||
confidence: z.enum(["observed", "inferred", "unknown"]),
|
||||
matched_native: nativeSymbolSchema.nullable(),
|
||||
candidates: z.array(nativeSymbolSchema).max(100),
|
||||
evidence_links: z.array(evidenceIdSchema).min(1).max(51),
|
||||
limitations: z.array(boundedTextSchema).max(100),
|
||||
});
|
||||
|
||||
/** Provider-neutral managed/native verification result. */
|
||||
export const managedNativeVerificationResultSchema = z.strictObject({
|
||||
schema_version: z.literal(1),
|
||||
verification_id: z.string().regex(/^mnv_[a-f0-9]{64}$/u),
|
||||
algorithm: z.strictObject({
|
||||
name: z.literal("rea-managed-native-verification"),
|
||||
version: z.literal(1),
|
||||
token_identity: z.literal("build-local"),
|
||||
token_to_address_mapping: z.literal("not-inferred"),
|
||||
}),
|
||||
managed_boundary: z.strictObject({
|
||||
evidence_id: evidenceIdSchema,
|
||||
artifact_sha256: digestSchema,
|
||||
artifact_path: z.string().min(1),
|
||||
mvid: z.string().uuid().nullable(),
|
||||
metadata_status: z.enum(["absent", "complete", "partial", "malformed"]),
|
||||
pinvoke_imports_total: z.number().int().min(0),
|
||||
native_implementations_total: z.number().int().min(0),
|
||||
coverage_state: z.enum(["complete", "partial", "unavailable"]),
|
||||
}),
|
||||
native_observations: z.strictObject({
|
||||
total: z.number().int().min(1),
|
||||
accepted: z.number().int().min(0),
|
||||
unsupported: z.number().int().min(0),
|
||||
symbols: z.number().int().min(0),
|
||||
truncated: z.boolean(),
|
||||
}),
|
||||
summary: z.strictObject({
|
||||
verified: z.number().int().min(0),
|
||||
inferred: z.number().int().min(0),
|
||||
unresolved: z.number().int().min(0),
|
||||
contradicted: z.number().int().min(0),
|
||||
native_body_unresolved: z.number().int().min(0),
|
||||
}),
|
||||
pinvoke_imports: z.array(pinvokeVerificationSchema).max(50_000),
|
||||
native_implementations: z.strictObject({
|
||||
unresolved: z.number().int().min(0),
|
||||
reason: boundedTextSchema,
|
||||
}),
|
||||
coverage: z.strictObject({
|
||||
status: z.enum(["complete-within-inputs", "partial", "truncated"]),
|
||||
omitted_native_observations: z.number().int().min(0),
|
||||
omitted_candidates: z.number().int().min(0),
|
||||
}),
|
||||
evidence_links: z.array(evidenceIdSchema).min(2).max(51),
|
||||
limitations: z.array(boundedTextSchema).max(1_000),
|
||||
});
|
||||
|
||||
export type ManagedNativeVerificationInput = z.infer<
|
||||
typeof managedNativeVerificationInputSchema
|
||||
>;
|
||||
export type ManagedNativeVerificationResult = z.infer<
|
||||
typeof managedNativeVerificationResultSchema
|
||||
>;
|
||||
|
||||
type NativeSymbol = z.infer<typeof nativeSymbolSchema>;
|
||||
type PinvokeImport =
|
||||
ManagedNativeBoundaryInspection["pinvoke_imports"]["items"][number];
|
||||
type PinvokeVerification = z.infer<typeof pinvokeVerificationSchema>;
|
||||
type VerifiedPinvoke = {
|
||||
readonly verification: PinvokeVerification;
|
||||
readonly omittedCandidates: number;
|
||||
};
|
||||
|
||||
const sha256 = (value: JsonValue): string => {
|
||||
const serialized = canonicalize(value);
|
||||
if (serialized === undefined)
|
||||
throw new TypeError("Managed/native verification canonicalization failed");
|
||||
return createHash("sha256").update(serialized).digest("hex");
|
||||
};
|
||||
|
||||
/** Verify managed P/Invoke declarations against authenticated native Evidence. */
|
||||
export const verifyManagedNativeBoundaries = (
|
||||
input: ManagedNativeVerificationInput,
|
||||
): ManagedNativeVerificationResult => {
|
||||
const managedEvidence = parseEvidence(input.managed_boundaries);
|
||||
if (managedEvidence.operation !== "inspect_managed_native_boundaries")
|
||||
throw new TypeError(
|
||||
"Evidence operation is not inspect_managed_native_boundaries",
|
||||
);
|
||||
const managed = managedNativeBoundaryInspectionSchema.parse(
|
||||
managedEvidence.normalized_result,
|
||||
);
|
||||
const native = collectNativeSymbols(
|
||||
input.native_observations.slice(0, input.limits.max_native_observations),
|
||||
);
|
||||
const verifiedPinvokes = managed.pinvoke_imports.items.map((item) =>
|
||||
verifyPinvoke(
|
||||
item,
|
||||
managedEvidence.evidence_id,
|
||||
native.symbols,
|
||||
native.accepted > 0,
|
||||
input,
|
||||
),
|
||||
);
|
||||
const pinvokeImports = verifiedPinvokes.map(
|
||||
({ verification }) => verification,
|
||||
);
|
||||
const counts = countStatuses(pinvokeImports);
|
||||
const omittedNativeObservations = Math.max(
|
||||
0,
|
||||
input.native_observations.length - input.limits.max_native_observations,
|
||||
);
|
||||
const omittedCandidates = verifiedPinvokes.reduce(
|
||||
(sum, item) => sum + item.omittedCandidates,
|
||||
0,
|
||||
);
|
||||
const coverageStatus =
|
||||
omittedNativeObservations > 0 || omittedCandidates > 0
|
||||
? "truncated"
|
||||
: managed.coverage.state === "complete" && native.unsupported === 0
|
||||
? "complete-within-inputs"
|
||||
: "partial";
|
||||
const withoutId = {
|
||||
schema_version: 1 as const,
|
||||
algorithm: {
|
||||
name: "rea-managed-native-verification" as const,
|
||||
version: 1 as const,
|
||||
token_identity: "build-local" as const,
|
||||
token_to_address_mapping: "not-inferred" as const,
|
||||
},
|
||||
managed_boundary: {
|
||||
evidence_id: managedEvidence.evidence_id,
|
||||
artifact_sha256: managed.artifact.sha256,
|
||||
artifact_path: managed.artifact.path,
|
||||
mvid: managed.module?.mvid ?? null,
|
||||
metadata_status: managed.metadata.status,
|
||||
pinvoke_imports_total: managed.pinvoke_imports.total,
|
||||
native_implementations_total: managed.native_implementations.total,
|
||||
coverage_state: managed.coverage.state,
|
||||
},
|
||||
native_observations: {
|
||||
total: input.native_observations.length,
|
||||
accepted: native.accepted,
|
||||
unsupported: native.unsupported,
|
||||
symbols: native.symbols.length,
|
||||
truncated: omittedNativeObservations > 0,
|
||||
},
|
||||
summary: {
|
||||
...counts,
|
||||
native_body_unresolved: managed.native_implementations.items.filter(
|
||||
({ boundary_kind: kind }) => kind !== "pinvoke",
|
||||
).length,
|
||||
},
|
||||
pinvoke_imports: pinvokeImports,
|
||||
native_implementations: {
|
||||
unresolved: managed.native_implementations.items.filter(
|
||||
({ boundary_kind: kind }) => kind !== "pinvoke",
|
||||
).length,
|
||||
reason:
|
||||
"Managed metadata tokens and RVAs are not translated to native provider addresses by this workflow; C++/CLI, ReadyToRun, and native-body mappings require explicit provider-supported bridge evidence.",
|
||||
},
|
||||
coverage: {
|
||||
status: coverageStatus,
|
||||
omitted_native_observations: omittedNativeObservations,
|
||||
omitted_candidates: omittedCandidates,
|
||||
},
|
||||
evidence_links: [
|
||||
managedEvidence.evidence_id,
|
||||
...input.native_observations
|
||||
.slice(0, input.limits.max_native_observations)
|
||||
.map(({ evidence_id: id }) => id),
|
||||
],
|
||||
limitations: [
|
||||
"P/Invoke verification checks declared import names against supplied native export or function-name Evidence only.",
|
||||
"A matching native symbol verifies that a candidate export/function was observed; it does not prove CLR binding, marshaling behavior, call reachability, or runtime loading.",
|
||||
"Missing supplied native symbols are reported as unresolved, not proof that a dependency cannot exist.",
|
||||
"Managed metadata tokens and method RVAs are not interpreted as native addresses.",
|
||||
...(managed.coverage.state === "complete"
|
||||
? []
|
||||
: ["Managed boundary input is partial or unavailable."]),
|
||||
...(native.unsupported === 0
|
||||
? []
|
||||
: [
|
||||
"Some native Evidence operations were unsupported by this workflow.",
|
||||
]),
|
||||
],
|
||||
};
|
||||
return managedNativeVerificationResultSchema.parse({
|
||||
...withoutId,
|
||||
verification_id: `mnv_${sha256(withoutId)}`,
|
||||
});
|
||||
};
|
||||
|
||||
const collectNativeSymbols = (
|
||||
observations: readonly ManagedNativeVerificationInput["native_observations"][number][],
|
||||
): {
|
||||
readonly symbols: readonly NativeSymbol[];
|
||||
readonly accepted: number;
|
||||
readonly unsupported: number;
|
||||
} => {
|
||||
const symbols: NativeSymbol[] = [];
|
||||
let accepted = 0;
|
||||
let unsupported = 0;
|
||||
for (const raw of observations) {
|
||||
const evidence = parseEvidence(raw);
|
||||
const extracted = symbolsForEvidence(evidence);
|
||||
if (!extracted.supported) {
|
||||
unsupported += 1;
|
||||
} else {
|
||||
accepted += 1;
|
||||
symbols.push(...extracted.symbols);
|
||||
}
|
||||
}
|
||||
return { symbols, accepted, unsupported };
|
||||
};
|
||||
|
||||
const symbolsForEvidence = (
|
||||
evidence: ReturnType<typeof parseEvidence>,
|
||||
): {
|
||||
readonly supported: boolean;
|
||||
readonly symbols: readonly NativeSymbol[];
|
||||
} => {
|
||||
if (evidence.operation === "inspect_macho") {
|
||||
const result = inspectMachoSchema.parse(evidence.normalized_result);
|
||||
return {
|
||||
supported: true,
|
||||
symbols: result.exports.items.map((symbol) => ({
|
||||
evidence_id: evidence.evidence_id,
|
||||
operation: evidence.operation,
|
||||
name: symbol.name,
|
||||
address: symbol.address,
|
||||
module_name: moduleName(evidence),
|
||||
module_path: modulePath(evidence),
|
||||
source: "macho-export" as const,
|
||||
})),
|
||||
};
|
||||
}
|
||||
if (evidence.operation === "analyze_function") {
|
||||
const dossier = functionDossierSchema.parse(evidence.normalized_result);
|
||||
return {
|
||||
supported: true,
|
||||
symbols: [
|
||||
{
|
||||
evidence_id: evidence.evidence_id,
|
||||
operation: evidence.operation,
|
||||
name: dossier.procedure.name,
|
||||
address: dossier.procedure.address,
|
||||
module_name: moduleName(evidence),
|
||||
module_path: modulePath(evidence),
|
||||
source: "function-dossier" as const,
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
return { supported: false, symbols: [] };
|
||||
};
|
||||
|
||||
const verifyPinvoke = (
|
||||
item: PinvokeImport,
|
||||
managedEvidenceId: string,
|
||||
symbols: readonly NativeSymbol[],
|
||||
hasSupportedNativeEvidence: boolean,
|
||||
input: ManagedNativeVerificationInput,
|
||||
): VerifiedPinvoke => {
|
||||
const managed = {
|
||||
token: item.token,
|
||||
member_token: item.member_token,
|
||||
member_name: item.member_name,
|
||||
import_name: item.import_name,
|
||||
import_scope_name: item.import_scope_name,
|
||||
no_mangle: item.no_mangle,
|
||||
char_set: item.char_set,
|
||||
call_convention: item.call_convention,
|
||||
declaration_verification: item.verification,
|
||||
};
|
||||
const names = candidateNames(managed);
|
||||
const allCandidates = symbols.filter((symbol) =>
|
||||
names.some((name) => sameSymbolName(name, symbol.name)),
|
||||
);
|
||||
const candidates = allCandidates.slice(
|
||||
0,
|
||||
input.limits.max_candidates_per_import,
|
||||
);
|
||||
const exact = candidates.find(
|
||||
(symbol) =>
|
||||
sameSymbolName(item.import_name, symbol.name) &&
|
||||
moduleCompatible(item.import_scope_name, symbol),
|
||||
);
|
||||
const decorated = candidates.find((symbol) =>
|
||||
moduleCompatible(item.import_scope_name, symbol),
|
||||
);
|
||||
const selected = exact ?? decorated ?? candidates[0] ?? null;
|
||||
const basis =
|
||||
selected === null
|
||||
? hasSupportedNativeEvidence
|
||||
? "no-native-candidate"
|
||||
: "unsupported-native-evidence"
|
||||
: !moduleCompatible(item.import_scope_name, selected)
|
||||
? "module-mismatch"
|
||||
: exact !== undefined
|
||||
? selected.source === "macho-export"
|
||||
? "exact-export-name"
|
||||
: "exact-function-name"
|
||||
: "decorated-name-candidate";
|
||||
const status =
|
||||
selected === null
|
||||
? "unresolved"
|
||||
: basis === "module-mismatch"
|
||||
? "contradicted"
|
||||
: basis === "decorated-name-candidate"
|
||||
? "inferred"
|
||||
: "verified";
|
||||
const limitations = [
|
||||
...(item.import_scope_name === null
|
||||
? ["Managed declaration does not name an import scope/module."]
|
||||
: []),
|
||||
...(status === "inferred"
|
||||
? [
|
||||
"Native symbol matched a decorated candidate rather than the exact declared import name.",
|
||||
]
|
||||
: []),
|
||||
...(status === "contradicted"
|
||||
? [
|
||||
"A symbol name candidate exists, but the supplied native Evidence module identity does not match the managed import scope.",
|
||||
]
|
||||
: []),
|
||||
...(status === "unresolved"
|
||||
? [
|
||||
"No supplied native export/function Evidence matched this declared import.",
|
||||
]
|
||||
: []),
|
||||
];
|
||||
return {
|
||||
verification: pinvokeVerificationSchema.parse({
|
||||
item_id: `mnv_pinvoke_${sha256({
|
||||
managedEvidenceId,
|
||||
token: item.token,
|
||||
importName: item.import_name,
|
||||
importScope: item.import_scope_name,
|
||||
candidates,
|
||||
})}`,
|
||||
managed,
|
||||
status,
|
||||
basis,
|
||||
confidence:
|
||||
status === "verified"
|
||||
? "observed"
|
||||
: status === "inferred"
|
||||
? "inferred"
|
||||
: "unknown",
|
||||
matched_native: selected,
|
||||
candidates,
|
||||
evidence_links: [
|
||||
managedEvidenceId,
|
||||
...new Set(candidates.map(({ evidence_id: id }) => id)),
|
||||
],
|
||||
limitations,
|
||||
}),
|
||||
omittedCandidates: Math.max(0, allCandidates.length - candidates.length),
|
||||
};
|
||||
};
|
||||
|
||||
const candidateNames = (
|
||||
managed: Pick<
|
||||
PinvokeImport,
|
||||
"import_name" | "char_set" | "call_convention" | "no_mangle"
|
||||
>,
|
||||
): readonly string[] => {
|
||||
const names = new Set<string>([managed.import_name]);
|
||||
if (!managed.no_mangle) {
|
||||
if (managed.char_set === "unicode") names.add(`${managed.import_name}W`);
|
||||
if (managed.char_set === "ansi") names.add(`${managed.import_name}A`);
|
||||
if (managed.call_convention === "stdcall") {
|
||||
names.add(`_${managed.import_name}`);
|
||||
names.add(`_${managed.import_name}@0`);
|
||||
}
|
||||
}
|
||||
return [...names];
|
||||
};
|
||||
|
||||
const sameSymbolName = (left: string, right: string): boolean =>
|
||||
normalizeSymbol(left) === normalizeSymbol(right);
|
||||
|
||||
const normalizeSymbol = (value: string): string =>
|
||||
value.replace(/^_+/u, "").replace(/@\d+$/u, "").toLowerCase();
|
||||
|
||||
const moduleCompatible = (
|
||||
scope: string | null,
|
||||
symbol: NativeSymbol,
|
||||
): boolean => {
|
||||
if (scope === null) return true;
|
||||
const expected = normalizeModule(scope);
|
||||
return [symbol.module_name, symbol.module_path]
|
||||
.filter((value): value is string => value !== null)
|
||||
.map(normalizeModule)
|
||||
.some((value) => value === expected);
|
||||
};
|
||||
|
||||
const normalizeModule = (value: string): string =>
|
||||
basename(value)
|
||||
.toLowerCase()
|
||||
.replace(/^lib/u, "")
|
||||
.replace(/\.(dll|dylib|so|node|exe)$/u, "");
|
||||
|
||||
const moduleName = (
|
||||
evidence: ReturnType<typeof parseEvidence>,
|
||||
): string | null => evidence.subject?.name ?? null;
|
||||
|
||||
const modulePath = (
|
||||
evidence: ReturnType<typeof parseEvidence>,
|
||||
): string | null => evidence.subject?.local_path ?? null;
|
||||
|
||||
const countStatuses = (
|
||||
items: readonly z.infer<typeof pinvokeVerificationSchema>[],
|
||||
): Pick<
|
||||
ManagedNativeVerificationResult["summary"],
|
||||
"verified" | "inferred" | "unresolved" | "contradicted"
|
||||
> => ({
|
||||
verified: items.filter(({ status }) => status === "verified").length,
|
||||
inferred: items.filter(({ status }) => status === "inferred").length,
|
||||
unresolved: items.filter(({ status }) => status === "unresolved").length,
|
||||
contradicted: items.filter(({ status }) => status === "contradicted").length,
|
||||
});
|
||||
|
|
@ -156,4 +156,5 @@ export const demangleSwiftSchema = z.object({
|
|||
export type NativeCommandInvocation = z.infer<
|
||||
typeof nativeCommandInvocationSchema
|
||||
>;
|
||||
export type InspectMacho = z.infer<typeof inspectMachoSchema>;
|
||||
export type InspectSignature = z.infer<typeof inspectSignatureSchema>;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import type { McpServer } from "@modelcontextprotocol/server";
|
|||
|
||||
import type { BinarySessionPort } from "../application/BinarySession.js";
|
||||
import { compareManagedMembersEvidenceValidated } from "../application/ManagedMemberComparisonService.js";
|
||||
import { verifyManagedNativeBoundariesEvidence } from "../application/ManagedNativeVerificationService.js";
|
||||
import { importManagedReconstructionEvidenceValidated } from "../application/ManagedReconstructionService.js";
|
||||
import {
|
||||
planManagedRuntimeCorrelationEvidenceValidated,
|
||||
|
|
@ -9,11 +10,13 @@ import {
|
|||
} from "../application/ManagedRuntimeCorrelationService.js";
|
||||
import {
|
||||
compareManagedMembersReferenceInputSchema,
|
||||
managedNativeVerificationReferenceInputSchema,
|
||||
managedReconstructionReferenceInputSchema,
|
||||
managedRuntimeCorrelationReferenceInputSchema,
|
||||
MANAGED_WORKFLOW_TOOL_CONTRACTS,
|
||||
} from "../contracts/managedWorkflowToolContracts.js";
|
||||
import { managedMemberComparisonResultSchema } from "../domain/managedMemberComparison.js";
|
||||
import { managedNativeVerificationResultSchema } from "../domain/managedNativeVerification.js";
|
||||
import type { Evidence } from "../domain/evidence.js";
|
||||
import type { EvidenceIntegrityError } from "../domain/errors.js";
|
||||
import type { Result } from "../domain/result.js";
|
||||
|
|
@ -40,6 +43,9 @@ export const registerManagedWorkflowTools = (
|
|||
options: ManagedWorkflowToolRegistration,
|
||||
): void => {
|
||||
const compareContract = contract("compare_managed_members");
|
||||
const nativeVerificationContract = contract(
|
||||
"verify_managed_native_boundaries",
|
||||
);
|
||||
const reconstructionContract = contract("import_managed_reconstruction");
|
||||
const runtimeContract = contract("plan_managed_runtime_correlation");
|
||||
server.registerTool(
|
||||
|
|
@ -116,6 +122,97 @@ export const registerManagedWorkflowTools = (
|
|||
);
|
||||
},
|
||||
);
|
||||
server.registerTool(
|
||||
nativeVerificationContract.name,
|
||||
toolRegistrationOptions(nativeVerificationContract),
|
||||
async (input) => {
|
||||
const parsedInput = safeParseToolInput(
|
||||
managedNativeVerificationReferenceInputSchema,
|
||||
input,
|
||||
nativeVerificationContract.name,
|
||||
);
|
||||
if (!parsedInput.ok)
|
||||
return toCallToolResult(parsedInput, nativeVerificationContract);
|
||||
const managedBoundaries = resolveManagedBoundaryEvidence(
|
||||
options.session,
|
||||
parsedInput.value.managed_boundaries_evidence_id,
|
||||
);
|
||||
if (!managedBoundaries.ok)
|
||||
return toCallToolResult(managedBoundaries, nativeVerificationContract);
|
||||
const nativeObservations = resolveNativeEvidence(
|
||||
options.session,
|
||||
parsedInput.value.native_observation_evidence_ids,
|
||||
);
|
||||
if (!nativeObservations.ok)
|
||||
return toCallToolResult(nativeObservations, nativeVerificationContract);
|
||||
const managedBoundary = managedBoundaries.value[0];
|
||||
if (managedBoundary === undefined)
|
||||
throw new TypeError("Managed boundary Evidence resolution failed");
|
||||
const {
|
||||
managed_boundaries_evidence_id: _managedBoundariesEvidenceId,
|
||||
native_observation_evidence_ids: _nativeObservationEvidenceIds,
|
||||
...referencedInput
|
||||
} = parsedInput.value;
|
||||
const parsed = {
|
||||
...referencedInput,
|
||||
managed_boundaries: managedBoundary,
|
||||
native_observations: nativeObservations.value,
|
||||
};
|
||||
const result = await logToolExecution(
|
||||
options.logger,
|
||||
nativeVerificationContract.name,
|
||||
() => Promise.resolve(verifyManagedNativeBoundariesEvidence(parsed)),
|
||||
);
|
||||
if (!result.ok)
|
||||
return toCallToolResult(result, nativeVerificationContract);
|
||||
const recordedSources = recordSources(options.recordEvidence, [
|
||||
parsed.managed_boundaries,
|
||||
...parsed.native_observations,
|
||||
]);
|
||||
if (!recordedSources.ok)
|
||||
return toCallToolResult(recordedSources, nativeVerificationContract);
|
||||
const verification = managedNativeVerificationResultSchema.parse(
|
||||
result.value.normalized_result,
|
||||
);
|
||||
const unknown =
|
||||
verification.summary.unresolved > 0 ||
|
||||
verification.summary.contradicted > 0 ||
|
||||
verification.summary.native_body_unresolved > 0;
|
||||
const output =
|
||||
parsed.unknown_registry_approved === true && unknown
|
||||
? options.recordEvidenceWithUnknown?.(result.value, {
|
||||
approved: true,
|
||||
question:
|
||||
"Which managed/native boundaries remain unresolved or contradicted by the supplied native Evidence?",
|
||||
severity: "medium",
|
||||
domain: "managed-native-verification",
|
||||
supporting_evidence_ids: [result.value.evidence_id],
|
||||
contradicting_evidence_ids: [],
|
||||
required_authority: "shipped-artifact",
|
||||
required_confidence: "observed",
|
||||
required_environment: null,
|
||||
recommended_probes: [
|
||||
{
|
||||
operation: "inspect_managed_native_boundaries",
|
||||
rationale:
|
||||
"Repeat managed boundary inspection with complete ModuleRef, ImplMap, and native implementation pages.",
|
||||
},
|
||||
{
|
||||
operation: "analyze_function",
|
||||
rationale:
|
||||
"Analyze the provider-resolved native function candidate for the declared export.",
|
||||
},
|
||||
],
|
||||
relationships: [],
|
||||
})
|
||||
: options.recordEvidence?.(result.value);
|
||||
if (output !== undefined && !output.ok)
|
||||
return toCallToolResult(output, nativeVerificationContract);
|
||||
return toCallToolResult(result, nativeVerificationContract, {
|
||||
evidenceResourcesAvailable: output !== undefined,
|
||||
});
|
||||
},
|
||||
);
|
||||
server.registerTool(
|
||||
reconstructionContract.name,
|
||||
toolRegistrationOptions(reconstructionContract),
|
||||
|
|
@ -225,6 +322,36 @@ const resolveManagedEvidence = (
|
|||
predicate: "rea.analysis/v2",
|
||||
});
|
||||
|
||||
const resolveManagedBoundaryEvidence = (
|
||||
session: BinarySessionPort,
|
||||
evidenceId: string,
|
||||
): Result<Evidence[], EvidenceIntegrityError> =>
|
||||
resolveSessionEvidenceIds(session, [evidenceId], {
|
||||
operation: "inspect_managed_native_boundaries",
|
||||
predicate: "rea.analysis/v2",
|
||||
});
|
||||
|
||||
const resolveNativeEvidence = (
|
||||
session: BinarySessionPort,
|
||||
evidenceIds: readonly string[],
|
||||
): Result<Evidence[], EvidenceIntegrityError> => {
|
||||
const records: Evidence[] = [];
|
||||
for (const evidenceId of evidenceIds) {
|
||||
const operation = session.evidenceById(evidenceId)?.operation;
|
||||
const expectedOperation =
|
||||
operation === "inspect_macho" || operation === "analyze_function"
|
||||
? operation
|
||||
: "inspect_macho or analyze_function";
|
||||
const resolved = resolveSessionEvidenceIds(session, [evidenceId], {
|
||||
operation: expectedOperation,
|
||||
predicate: "rea.analysis/v2",
|
||||
});
|
||||
if (!resolved.ok) return resolved;
|
||||
records.push(...resolved.value);
|
||||
}
|
||||
return { ok: true, value: records };
|
||||
};
|
||||
|
||||
const recordSources = (
|
||||
recordEvidence: ManagedWorkflowToolRegistration["recordEvidence"],
|
||||
sources: readonly Evidence[],
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import { loadConfiguredPermissionAuthority } from "../src/application/Permission
|
|||
import { CdpBrowserProvider } from "../src/browser/CdpBrowserProvider.js";
|
||||
import { parseConfig } from "../src/config.js";
|
||||
import { JAVASCRIPT_RUNTIME_RECONCILIATION_EXAMPLE } from "../src/contracts/javascriptRuntimeReconciliationExample.js";
|
||||
import { TOOL_CONTRACTS } from "../src/contracts/toolContracts.js";
|
||||
import { createServer } from "../src/server/createServer.js";
|
||||
import { observed } from "./fixtures/analysisExecution.js";
|
||||
import {
|
||||
|
|
@ -37,7 +38,7 @@ describe("browser MCP tools", () => {
|
|||
const connected = await connectBrowser(browser);
|
||||
|
||||
const tools = await connected.client.listTools();
|
||||
expect(tools.tools).toHaveLength(89);
|
||||
expect(tools.tools).toHaveLength(TOOL_CONTRACTS.length);
|
||||
expect(tools.tools.map(({ name }) => name)).toEqual(
|
||||
expect.arrayContaining([
|
||||
"list_browser_targets",
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import {
|
|||
ENHANCED_TOOL_CONTRACTS,
|
||||
OFFICIAL_TOOL_CONTRACTS,
|
||||
SESSION_TOOL_CONTRACTS,
|
||||
TOOL_CONTRACTS,
|
||||
} from "../src/contracts/toolContracts.js";
|
||||
import { NATIVE_TOOL_CONTRACTS } from "../src/contracts/nativeToolContracts.js";
|
||||
import { ARTIFACT_TOOL_CONTRACTS } from "../src/contracts/artifactToolContracts.js";
|
||||
|
|
@ -70,7 +71,7 @@ describe("tool contract surface", () => {
|
|||
...ELECTRON_TOOL_CONTRACTS,
|
||||
...APPLICATION_TOOL_CONTRACTS,
|
||||
];
|
||||
expect(contracts).toHaveLength(71);
|
||||
expect(contracts).toHaveLength(72);
|
||||
for (const contract of contracts) {
|
||||
const inputSchema = contractJsonSchema(contract.inputSchema);
|
||||
const outputSchema = contractJsonSchema(contract.outputSchema);
|
||||
|
|
@ -188,7 +189,7 @@ describe("tool contract surface", () => {
|
|||
}
|
||||
});
|
||||
|
||||
it("publishes no unconstrained output-schema holes across all 89 tools", () => {
|
||||
it("publishes no unconstrained output-schema holes across all tools", () => {
|
||||
const contracts = [
|
||||
...OFFICIAL_TOOL_CONTRACTS,
|
||||
...ENHANCED_TOOL_CONTRACTS,
|
||||
|
|
@ -201,7 +202,7 @@ describe("tool contract surface", () => {
|
|||
...APPLICATION_TOOL_CONTRACTS,
|
||||
...SESSION_TOOL_CONTRACTS,
|
||||
];
|
||||
expect(contracts).toHaveLength(89);
|
||||
expect(contracts).toHaveLength(TOOL_CONTRACTS.length);
|
||||
for (const contract of contracts) {
|
||||
const schema = contractJsonSchema(contract.outputSchema);
|
||||
expect(emptySchemaPaths(schema), contract.name).toEqual([]);
|
||||
|
|
|
|||
|
|
@ -179,7 +179,7 @@ describe("full MCP integration with multi-tool sequences", () => {
|
|||
});
|
||||
});
|
||||
|
||||
it("preserves the complete 89-tool inventory with a session", async () => {
|
||||
it("preserves the complete canonical inventory with a session", async () => {
|
||||
const session = new BinarySession(
|
||||
(_path) =>
|
||||
({
|
||||
|
|
@ -202,7 +202,7 @@ describe("full MCP integration with multi-tool sequences", () => {
|
|||
await client.connect(clientTransport);
|
||||
|
||||
const listed = await client.listTools();
|
||||
expect(listed.tools).toHaveLength(89);
|
||||
expect(listed.tools).toHaveLength(TOOL_CONTRACTS.length);
|
||||
const names = listed.tools.map((t) => t.name);
|
||||
expect(names).toContain("open_binary");
|
||||
expect(names).toContain("close_binary");
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import { AnalysisProviderRegistry } from "../src/application/AnalysisProviderReg
|
|||
import { BinarySession } from "../src/application/BinarySession.js";
|
||||
import { createPermissionAuthority } from "../src/application/PermissionAuthority.js";
|
||||
import { SessionProviderRouter } from "../src/application/SessionProviderRouter.js";
|
||||
import { MANAGED_NATIVE_VERIFICATION_EXAMPLE } from "../src/contracts/managedWorkflowExamples.js";
|
||||
import type { PermissionCeiling } from "../src/domain/permissionPolicy.js";
|
||||
import { ManagedStaticProvider } from "../src/dotnet/ManagedStaticProvider.js";
|
||||
import { createServer } from "../src/server/createServer.js";
|
||||
|
|
@ -92,9 +93,66 @@ describe("managed artifact MCP tools", () => {
|
|||
expect(tools.tools.map(({ name }) => name)).toContain(
|
||||
"import_managed_reconstruction",
|
||||
);
|
||||
expect(tools.tools.map(({ name }) => name)).toContain(
|
||||
"verify_managed_native_boundaries",
|
||||
);
|
||||
expect(tools.tools.map(({ name }) => name)).toContain(
|
||||
"plan_managed_runtime_correlation",
|
||||
);
|
||||
for (const evidence of [
|
||||
MANAGED_NATIVE_VERIFICATION_EXAMPLE.managed_boundaries,
|
||||
...MANAGED_NATIVE_VERIFICATION_EXAMPLE.native_observations,
|
||||
])
|
||||
expect(session.recordEvidence(evidence)).toMatchObject({ ok: true });
|
||||
const verifiedNative = structured(
|
||||
await client.callTool({
|
||||
name: "verify_managed_native_boundaries",
|
||||
arguments: {
|
||||
managed_boundaries_evidence_id:
|
||||
MANAGED_NATIVE_VERIFICATION_EXAMPLE.managed_boundaries
|
||||
.evidence_id,
|
||||
native_observation_evidence_ids:
|
||||
MANAGED_NATIVE_VERIFICATION_EXAMPLE.native_observations.map(
|
||||
({ evidence_id: evidenceId }) => evidenceId,
|
||||
),
|
||||
limits: MANAGED_NATIVE_VERIFICATION_EXAMPLE.limits,
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
expect(verifiedNative).toMatchObject({
|
||||
evidence_id: expect.stringMatching(/^ev_[a-f0-9]{64}$/u),
|
||||
evidence_uri: expect.stringMatching(/^rea:\/\/evidence\/ev_/u),
|
||||
result: {
|
||||
summary: { verified: 1 },
|
||||
algorithm: { token_to_address_mapping: "not-inferred" },
|
||||
},
|
||||
});
|
||||
const nativeEvidence =
|
||||
MANAGED_NATIVE_VERIFICATION_EXAMPLE.native_observations[0];
|
||||
if (nativeEvidence === undefined)
|
||||
throw new Error("missing native Evidence");
|
||||
const wrongManagedReference = await client.callTool({
|
||||
name: "verify_managed_native_boundaries",
|
||||
arguments: {
|
||||
managed_boundaries_evidence_id: nativeEvidence.evidence_id,
|
||||
native_observation_evidence_ids: [
|
||||
MANAGED_NATIVE_VERIFICATION_EXAMPLE.managed_boundaries.evidence_id,
|
||||
],
|
||||
},
|
||||
});
|
||||
expect(wrongManagedReference).toMatchObject({
|
||||
isError: true,
|
||||
structuredContent: {
|
||||
error: {
|
||||
code: "evidence_integrity_mismatch",
|
||||
details: {
|
||||
reason: "wrong_operation",
|
||||
actual: "inspect_macho",
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
await client.callTool({
|
||||
name: "open_binary",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,208 @@
|
|||
import { describe, expect, it } from "vitest";
|
||||
|
||||
import { verifyManagedNativeBoundariesEvidence } from "../src/application/ManagedNativeVerificationService.js";
|
||||
import { MANAGED_NATIVE_VERIFICATION_EXAMPLE } from "../src/contracts/managedWorkflowExamples.js";
|
||||
import { createEvidence } from "../src/domain/evidence.js";
|
||||
import {
|
||||
managedNativeVerificationInputSchema,
|
||||
verifyManagedNativeBoundaries,
|
||||
} from "../src/domain/managedNativeVerification.js";
|
||||
import { inspectMachoSchema } from "../src/domain/nativeInspection.js";
|
||||
|
||||
const exampleInput = () =>
|
||||
managedNativeVerificationInputSchema.parse(
|
||||
MANAGED_NATIVE_VERIFICATION_EXAMPLE,
|
||||
);
|
||||
|
||||
const nativeEvidenceWithExports = (names: readonly string[]) => {
|
||||
const input = exampleInput();
|
||||
const native = input.native_observations[0];
|
||||
if (native === undefined || native.subject === null)
|
||||
throw new Error("missing native example");
|
||||
const macho = inspectMachoSchema.parse(native.normalized_result);
|
||||
return createEvidence(
|
||||
{
|
||||
path: native.subject.local_path,
|
||||
sha256: native.subject.digest.sha256,
|
||||
format: native.subject.format,
|
||||
...(native.subject.architecture === null
|
||||
? {}
|
||||
: { architecture: native.subject.architecture }),
|
||||
},
|
||||
native.provider,
|
||||
{
|
||||
operation: native.operation,
|
||||
parameters: native.parameters,
|
||||
result: {
|
||||
...macho,
|
||||
exports: {
|
||||
...macho.exports,
|
||||
items: names.map((name, index) => ({
|
||||
name,
|
||||
address: `0x${(0x1000 + index).toString(16)}`,
|
||||
weak: false,
|
||||
reexport: false,
|
||||
source: "nm",
|
||||
})),
|
||||
total: names.length,
|
||||
},
|
||||
},
|
||||
rawResult: native.raw_result,
|
||||
confidence: native.confidence,
|
||||
authority: native.authority,
|
||||
environment: native.environment,
|
||||
limitations: native.limitations,
|
||||
locations: native.locations,
|
||||
evidenceLinks: native.evidence_links,
|
||||
},
|
||||
);
|
||||
};
|
||||
|
||||
describe("managed/native boundary verification", () => {
|
||||
it("verifies a P/Invoke declaration against native export Evidence", () => {
|
||||
const result = verifyManagedNativeBoundaries(exampleInput());
|
||||
|
||||
expect(result).toMatchObject({
|
||||
schema_version: 1,
|
||||
algorithm: {
|
||||
name: "rea-managed-native-verification",
|
||||
token_to_address_mapping: "not-inferred",
|
||||
},
|
||||
managed_boundary: {
|
||||
artifact_sha256: "6".repeat(64),
|
||||
mvid: "00112233-4455-4677-8899-aabbccddeeff",
|
||||
pinvoke_imports_total: 1,
|
||||
},
|
||||
native_observations: {
|
||||
total: 1,
|
||||
accepted: 1,
|
||||
unsupported: 0,
|
||||
symbols: 1,
|
||||
},
|
||||
summary: {
|
||||
verified: 1,
|
||||
inferred: 0,
|
||||
unresolved: 0,
|
||||
contradicted: 0,
|
||||
},
|
||||
pinvoke_imports: [
|
||||
{
|
||||
managed: {
|
||||
import_name: "open_native",
|
||||
import_scope_name: "nativehelper.dll",
|
||||
declaration_verification: "managed-declaration-only",
|
||||
},
|
||||
status: "verified",
|
||||
basis: "exact-export-name",
|
||||
confidence: "observed",
|
||||
matched_native: {
|
||||
name: "open_native",
|
||||
source: "macho-export",
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
expect(result.verification_id).toMatch(/^mnv_[a-f0-9]{64}$/u);
|
||||
expect(result.limitations.join(" ")).toContain(
|
||||
"does not prove CLR binding",
|
||||
);
|
||||
});
|
||||
|
||||
it("reports module mismatch as a contradiction within supplied Evidence", () => {
|
||||
const input = exampleInput();
|
||||
const native = input.native_observations[0];
|
||||
if (native === undefined || native.subject === null)
|
||||
throw new Error("missing native example");
|
||||
const mismatched = createEvidence(
|
||||
{
|
||||
path: "/examples/other.dll",
|
||||
sha256: native.subject.digest.sha256,
|
||||
format: "pe",
|
||||
...(native.subject.architecture === null
|
||||
? {}
|
||||
: { architecture: native.subject.architecture }),
|
||||
},
|
||||
native.provider,
|
||||
{
|
||||
operation: native.operation,
|
||||
parameters: native.parameters,
|
||||
result: native.normalized_result,
|
||||
rawResult: native.raw_result,
|
||||
confidence: native.confidence,
|
||||
authority: native.authority,
|
||||
environment: native.environment,
|
||||
limitations: native.limitations,
|
||||
locations: native.locations,
|
||||
evidenceLinks: native.evidence_links,
|
||||
},
|
||||
);
|
||||
|
||||
const result = verifyManagedNativeBoundaries({
|
||||
...input,
|
||||
native_observations: [mismatched],
|
||||
});
|
||||
|
||||
expect(result.summary).toMatchObject({
|
||||
verified: 0,
|
||||
contradicted: 1,
|
||||
});
|
||||
expect(result.pinvoke_imports[0]).toMatchObject({
|
||||
status: "contradicted",
|
||||
basis: "module-mismatch",
|
||||
});
|
||||
});
|
||||
|
||||
it("treats supported native Evidence with no symbols as unresolved", () => {
|
||||
const result = verifyManagedNativeBoundaries({
|
||||
...exampleInput(),
|
||||
native_observations: [nativeEvidenceWithExports([])],
|
||||
});
|
||||
|
||||
expect(result.native_observations).toMatchObject({
|
||||
accepted: 1,
|
||||
unsupported: 0,
|
||||
symbols: 0,
|
||||
});
|
||||
expect(result.summary).toMatchObject({
|
||||
verified: 0,
|
||||
unresolved: 1,
|
||||
});
|
||||
expect(result.pinvoke_imports[0]).toMatchObject({
|
||||
status: "unresolved",
|
||||
basis: "no-native-candidate",
|
||||
});
|
||||
});
|
||||
|
||||
it("reports omitted native candidates when candidate limits truncate matches", () => {
|
||||
const result = verifyManagedNativeBoundaries({
|
||||
...exampleInput(),
|
||||
native_observations: [
|
||||
nativeEvidenceWithExports(["open_native", "_open_native"]),
|
||||
],
|
||||
limits: { max_native_observations: 20, max_candidates_per_import: 1 },
|
||||
});
|
||||
|
||||
expect(result.coverage).toMatchObject({
|
||||
status: "truncated",
|
||||
omitted_candidates: 1,
|
||||
});
|
||||
expect(result.pinvoke_imports[0]?.candidates).toHaveLength(1);
|
||||
});
|
||||
|
||||
it("wraps verification in derived workflow Evidence", () => {
|
||||
const evidence = verifyManagedNativeBoundariesEvidence(exampleInput());
|
||||
|
||||
expect(evidence.ok).toBe(true);
|
||||
if (!evidence.ok) return;
|
||||
expect(evidence.value).toMatchObject({
|
||||
operation: "verify_managed_native_boundaries",
|
||||
provider: { id: "rea-dotnet-workflows" },
|
||||
confidence: "inferred",
|
||||
authority: "analyst-inference",
|
||||
normalized_result: {
|
||||
summary: { verified: 1 },
|
||||
},
|
||||
});
|
||||
expect(evidence.value.evidence_links).toHaveLength(2);
|
||||
});
|
||||
});
|
||||
|
|
@ -121,6 +121,7 @@ describe("canonical product catalog", () => {
|
|||
"compare_managed_members",
|
||||
"import_managed_reconstruction",
|
||||
"plan_managed_runtime_correlation",
|
||||
"verify_managed_native_boundaries",
|
||||
]);
|
||||
expect(
|
||||
z.toJSONSchema(analysisSnapshotSchema).properties?.snapshot_version,
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import { afterEach, describe, expect, it } from "vitest";
|
|||
import type { AnalysisClient } from "../src/application/AnalysisProvider.js";
|
||||
import { BinarySession } from "../src/application/BinarySession.js";
|
||||
import { PROMPT_CONTRACTS } from "../src/contracts/promptContracts.js";
|
||||
import { TOOL_CONTRACTS } from "../src/contracts/toolContracts.js";
|
||||
import { createEvidence } from "../src/domain/evidence.js";
|
||||
import { createServer } from "../src/server/createServer.js";
|
||||
import { registerGuidedPrompts } from "../src/server/registerPrompts.js";
|
||||
|
|
@ -54,7 +55,9 @@ describe("guided prompts over MCP", () => {
|
|||
),
|
||||
);
|
||||
}
|
||||
expect((await client.listTools()).tools).toHaveLength(89);
|
||||
expect((await client.listTools()).tools).toHaveLength(
|
||||
TOOL_CONTRACTS.length,
|
||||
);
|
||||
const result = await client.getPrompt({
|
||||
name: "investigate_feature",
|
||||
arguments: {
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue