Merge pull request #297 from morluto/agent/fix-dotnet-truncated-cil-identity
fix(dotnet): downgrade truncated CIL identity and coverage
This commit is contained in:
commit
736a4e1480
|
|
@ -1 +1 @@
|
|||
window.hierarchyData = "eJytml1vnTgQhv8L1y5rjG1w7too22ZVbaKkVS9WUeSAc2KVY1jjk+5R1f9e2ScfJphgyN4kQHhnHsbjr3F+JrptTZ8c/ZMzjAFmBSkAZiWkoMAlKgDGDBNAGKUQUIpZDjDBrARFASEGiOKsBJhCSECOCoyvQKLFbSMqI1vVJ0c/E2vX/lZ8K5Kj5L3izb6X/YnWrU5A8l2qOjnKUAmSnW6So6RqeN+L/o+63XKproV9r08HsvTObJsEHF5NjhLT1++snXeHByCp7mRTa6HcZxEKckZLkLMSgpwxBjDMEMAQUYBhbn9QCDAs7BXLAM4gBtgS4YxQgDNqr0r7B4YBRgUEGJUIYMQgwHlGAM7zHJQQQnT1CyTWo/fBn9quE3rh53qiJR+LESQAI4uEUA4wsl+HiAWm2YGNloHGONetaau2WdkoA/kMr4MoYQDiVHU7s5LgWRvjnrGA+7OdWe/fE88D2PQLABzzjt/IRpr9V8XvuWz4TSNW8kzbisFDNIinKtE0ol6N5OtjMPIQxhe5Fe3qdvLVMQjUT9Rz3d7LWuhL8TC+LYQI62MwChrAeF/zziweWULqGASWeQgfdPujF/rsphf6nq8IxYSBCJAMDmYTbeQtr8xZJ/QajrA+BgP54+iJDamqxKkyYqOl2S/ECOsXjfwZhlcODMMA2IW4FdperAQb6mPiM5gDH818llu5tOuOtTHuaah5/pSLB9SRNMZ56feVU3UveiM3Lr2+tfp73/HF7fCKkRgg5veZr+q7an+oC7GRvdFLUzWkjkBAkIzWROuG8rE2xn02dr92QgupYxBQPkJYue4KiGMA8vGy9EJsW7M0GUfSGOcEhr6+Ev3SncBYG+OeZiP3l4brdcn3rIxxXfhfftyqW7nZrZqsxtoY96W/1vy7/SAV1/uzTiz1PpLGOGf+tx/0X7jeiKVxH0kjnOeDPn8u9Fb2vWzVhfh3J/Xibj9hIAYk93v+hegavj9vuLo0fPF8FFLPI7htejAYl1XbiSf3iNBH91IZoW959UzQPYnO20ZW+/SFlUmMJ1PDJQuiGFFbQcjp1YFxsO8Yxlv05s2UD3YiOA84eRjno+bq7TDOShyKK6x4KN/EjV0PKNPq/YXo2522K8duFwn1w5Onk7aWtmaOClJcHWhJ4dFeGrv3/CZuHs2voBzZiAscxiwvB9sWWW/EZ75T1d0MxZ0b6K99hdCpfxuNgMkEgtBvhhDTnX+inTBmhF0dyAgbTYrvu66RlZthRpCBwSlMOGkqYrAksCxDKwW3aY1AGQrSF7cR/nHpR+Xjnaw1j0qZjXv12lcInfq3kSlj66sTCLMpMw+xImUIydwQ7S5GZJ8ErxvR9zH58hreSzsxjUUIGfHEJMuA4yk7XtzO+7d170Bl5mFxGpU13eHd6xfaNGhrRWfPS+By2rUfzai/FDmuu4dCTEzMbg6vXo9VaeDRfPBKSoshzImti+lWLaR5KUtDz+Z52HDeeirtPpaGzls9N8Py5yHv2iuOHwiCBhe3KCtoDghFhavnu9tQsbaRYnaREkV7sBQ5ctlzo/DxwrA938Az26ATgaM5QsiebJGHwJUkewX1mKta1tzMrVYWMT8ZXTECEwLc3GjhCcrLfLSxuhRuYflap/FpB6J0eDfbWVwCThEs7CgjbTp+sjBeLkAuUvbc8tXC9VLYoIFAPXtV57bjs8V2yTqoGmy7tpdGxIyMPu5ImI6fzDa2O/b1y6kPY+v6KE5YSKeeL42jnVpcHBlG/gR9qnqjd1uhjKj/4vf8stKyM4c99afW22LOhHXOTjr7wmzQ3em7P0D15qTeRO3zfNJn549HHR817+6OW2XEfyb1rS6NckEgc9nqLgZRfjws+P+Bx7bjpib37woe46utv4TyuSCjpNqkixp7aqqyWWsD6/6lYLi+tGvBY96ZnZ6vHPnAAWkaejaTl79+/QYDJ7KD"
|
||||
window.hierarchyData = "eJytml1P3DgUhv9Lrt2s49hOzF2L2JZVtSBo1YsVQmZiBqsZJ+t46I6q/vfKnmFwiEOcsDeQhLznPDk+/jrmZ6KbxnTJyT85wxhgVhAGMCthCQpcIgYwZrgAhFGKAKWYEYAJgRAUBYQUIIoRBJhCWIAcFZjegESL+1qsjGxUl5z8TKxd+1vxjUhOkveK17tOdmdaNzoByXepquQkQyVItrpOTpJVzbtOdH9UzYZLdSvse13ak6UPZlMnYP9qcpKYrnpn7bzbPwDJ6kHWlRbKfRahIGe0BDkrIcgZYwDDDAEMEQUY5vYHhQDDwl6xDOAMYoAtEc4IBTij9qq0f2AYYFRAgFGJAEYMApxnBOA8z0EJIcQ3v0BiPXof/KlpW6Fnfq4nmvOxGEECMLJICOUAI/t1iFhgmu3ZaBlojEvdmGbV1AsbpSef4HUQJQxAnKt2axYSPGtj3DMWcH+xNcv9e+JpAJt+AYBT3vI7WUuz+6r4I5c1v6vFQp5xWzF4iAbx1ErUtagWI/n6GIw8hPFFbkSzuJ18dQwC9RP1UjePshL6WhzGt5kQYX0MRkEDGO8r3prZI0tIHYPAMg/hg25+dEJf3HVCP/IFoRgxEAGSwd5soo285ytz0Qq9hCOsj8FA/jh6ZkOqVuJcGbHW0uxmYoT1s0b+DMMbB4ZhAOxK3AttLxaC9fUx8enNgU9mPsuNnNt1h9oY9zTUPH/K2QPqQBrjvPT7yrl6FJ2Ra5de3xr9vWv57HZ4xUgMEPP7zFf1XTU/1JVYy87ouakaUkcgIEgGa6JlQ/lQG+M+G7pfOqGF1DEIKB8gLFx3BcQxAPlwWXolNo2Zm4wDaYxzAkNfvxLd3J3AUBvjnmYD99eG62XJ96yMcV34X37aqHu53i6arIbaGPelv9b8u/kgFde7i1bM9T6Qxjhn/rfv9V+4Xou5cR9II5znvT5/KfRGdp1s1JX4dyv17G4/YiAGJPd7/pVoa767rLm6Nnz2fBRSTyO4bXowGNerphVH94jQJ/dSGaHv+eqZoD2KLptarnbpCyujGEdT/SWLhSptBSEvbw6M5WiDic68mfJgJ4Jzj5OHcT5qrt4O46zEobjCiofyTdzZ9YAyjd5dia7ZartybLeRUD88eTpqa25r5qgg7GZPS/z99bWxe89v4u7J/ALKgY24wNnaVW8A0rJai898q1YPExQPbqC/9RVCp/5tPEIxgiD0myHEeOcfaSeM2b4U5C4Gk+L7tq3lys0wA8jA4BQmHDUVMVgSyIIrBbdpjUDpC9IXtxH+cW+n+/FBVppHpczavXrrK4RO/dvIlLH11RGEyZSZhliQMoRkboh2FwOyT4JXtei6mHx5De+lnZjGIqQY8MQkS4/jmB0vbqf927p3oDJzWJxGZU27f/f2hTYN2lrQ2TEELqdd+9GM+mui06o9FGJiYna3f/V2qEoDj6aDV1LK+jBnti6mGzWT5qUsDT2b5mH9eetY2n0qDV02emqG5c9D3q1XHN8TBA3OblFWUAIIRUV+s4futeix2FpLMblIiaLdW4ocuey5Ufh4od+eb+CZbNCRwNEcIXu+VZJD4EqSv4J6ylUlK26mViuzmI9GF4zApABubrTwBOUlGWysroVbWL7WaXzanijt3012FpeAYwQzO8pAmw6fzIyXC5CLlD23fLVwPRc2aCBQz17Uue34bLFdsvaqBpu26aQRMSOjjzsQpsMnk43tjn39cuphbF0exREL6djzuXG0U4uLI8PIn6DPVWf0diOUEdVf/JFfr7RszX5P/anxtpgTYZ2yk06+MBl0d/ruD1CdOavWUfs8n/TZ+dNRx0fN24fTRhnxn0l9q3OjXBDIXLa6i16Unw4L/n/goe24qcn9u4LH+Grrz6F8LsgoqdbprMYem6ps1trAun8p6K8v7VrwlLdmq6crRz5wQJqGnk3k5a9fvwErSrJ9"
|
||||
|
|
@ -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="79796">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="79798">
|
||||
<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="80002">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="80004">
|
||||
<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="81581">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="81583">
|
||||
<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>Safe diagnostics for a browser process that did not publish a CDP port.</p>
|
||||
</div></section>
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="46130">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="46132">
|
||||
<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="26460">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="26462">
|
||||
<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="45505">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="45507">
|
||||
<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="45691">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="45693">
|
||||
<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="45796">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="45798">
|
||||
<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
File diff suppressed because one or more lines are too long
|
|
@ -42,60 +42,60 @@
|
|||
<li data-refl="4290" 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="4315" 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="4333" 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="80002" 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="80004" 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="49757" 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="49759" 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="49763" 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="56271" 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="49765" 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="56273" 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="52383" 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="52385" 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="49806" 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="49808" 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="63222" 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="49851" 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="63224" 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="49853" 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="45555" 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="45088" 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="45557" 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="45090" 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="74827" 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="74829" 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="75093" 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="75095" 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="44945" 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="44947" 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="44959" 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="44961" 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="59660" 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="59662" 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="46163" 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="46165" 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="66493" 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="66495" 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="48667" 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="48669" 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="45498" 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="45500" 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="45516" 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="45518" 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="77004" id="application/JavaScriptReplayPlanning.JavaScriptReplayHost"><a href="interfaces/application_JavaScriptReplayPlanning.JavaScriptReplayHost.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>JavaScriptReplayHost</a>
|
||||
<li data-refl="77006" id="application/JavaScriptReplayPlanning.JavaScriptReplayHost"><a href="interfaces/application_JavaScriptReplayPlanning.JavaScriptReplayHost.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Interface"><use href="assets/icons.svg#icon-256"></use></svg>JavaScriptReplayHost</a>
|
||||
<ul>
|
||||
<li data-refl="69425" id="application/InstrumentedJavaScriptReplayHost.InstrumentedJavaScriptReplayHost"><a href="classes/application_InstrumentedJavaScriptReplayHost.InstrumentedJavaScriptReplayHost.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>InstrumentedJavaScriptReplayHost</a></li></ul></li></ul>
|
||||
<li data-refl="69427" id="application/InstrumentedJavaScriptReplayHost.InstrumentedJavaScriptReplayHost"><a href="classes/application_InstrumentedJavaScriptReplayHost.InstrumentedJavaScriptReplayHost.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>InstrumentedJavaScriptReplayHost</a></li></ul></li></ul>
|
||||
<ul class="tsd-full-hierarchy">
|
||||
<li data-refl="26418" 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="26420" 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="26426" 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="26436" 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="26428" 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="26438" 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="46005" 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="46007" 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="44938" 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="45489" 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="44940" 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="45491" 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="32744" 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="32746" 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="32757" 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="32759" 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">
|
||||
|
|
|
|||
|
|
@ -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="49763">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="49765">
|
||||
<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="49757">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="49759">
|
||||
<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
|
|
@ -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="26436">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="26438">
|
||||
<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="26426">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="26428">
|
||||
<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="26418">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="26420">
|
||||
<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="32757">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="32759">
|
||||
<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="32744">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="32746">
|
||||
<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="45489">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="45491">
|
||||
<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="45688">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="45690">
|
||||
<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="44938">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="44940">
|
||||
<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="46005">
|
||||
<section class="tsd-panel tsd-hierarchy" data-refl="46007">
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<h1>Type Alias ManagedRuntimeCorrelationInput</h1></div>
|
||||
<div class="tsd-signature"><span class="tsd-kind-type-alias">ManagedRuntimeCorrelationInput</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_managedRuntimeCorrelation.managedRuntimeCorrelationInputSchema.html" class="tsd-signature-type tsd-kind-variable">managedRuntimeCorrelationInputSchema</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/managedRuntimeCorrelation.ts#L111">src/domain/managedRuntimeCorrelation.ts:111</a></li></ul></aside></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/domain/managedRuntimeCorrelation.ts#L117">src/domain/managedRuntimeCorrelation.ts:117</a></li></ul></aside></div>
|
||||
<div class="col-sidebar">
|
||||
<div class="page-menu">
|
||||
<div class="tsd-navigation settings">
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<h1>Type Alias ManagedRuntimeCorrelationResult</h1></div>
|
||||
<div class="tsd-signature"><span class="tsd-kind-type-alias">ManagedRuntimeCorrelationResult</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_managedRuntimeCorrelation.managedRuntimeCorrelationResultSchema.html" class="tsd-signature-type tsd-kind-variable">managedRuntimeCorrelationResultSchema</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/managedRuntimeCorrelation.ts#L114">src/domain/managedRuntimeCorrelation.ts:114</a></li></ul></aside></div>
|
||||
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/domain/managedRuntimeCorrelation.ts#L120">src/domain/managedRuntimeCorrelation.ts:120</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
|
|
@ -566,10 +566,10 @@
|
|||
"mcp_resource_templates": 8
|
||||
},
|
||||
"digests": {
|
||||
"tools_sha256": "3c503c53210ae6700e8afdf7cadd206ad3ee11ddf9524647cea3bda2e311ba77",
|
||||
"tools_sha256": "b9cea5c401d28e7f2bbd32a058dab8cf5c1b044a60fb5b2ec90584dcd2c781bb",
|
||||
"prompts_sha256": "f6da3ad38a1000c11364d1710f122ac4990551f04efd8c53ffb2e819b5cf5707",
|
||||
"resources_sha256": "5dca0fcdad3e78d71a1b6ef7b4f0c12bdcd8e3ec11fcbdd9ccd3a68edadf5c80",
|
||||
"combined_sha256": "b3db06bedadc1ad21a6cfe76f58a9c6cebbf9bce4f9663733b6bab07a57203c3"
|
||||
"combined_sha256": "d0e2eae4dbc245ff58042a075276a501872a5bf7405a18d1b4e0163cbdf138f9"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ description: Reverse engineer native, Electron/JavaScript, and web applications
|
|||
metadata:
|
||||
version: "21"
|
||||
tool_count: 95
|
||||
catalog_digest: "b3db06bedadc1ad21a6cfe76f58a9c6cebbf9bce4f9663733b6bab07a57203c3"
|
||||
catalog_digest: "d0e2eae4dbc245ff58042a075276a501872a5bf7405a18d1b4e0163cbdf138f9"
|
||||
---
|
||||
|
||||
# REA
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ const managedInstructionAnchorSchema = z.object({
|
|||
});
|
||||
|
||||
const managedMethodBodySchema = z.object({
|
||||
status: z.enum(["present", "absent", "malformed", "too-large"]),
|
||||
status: z.enum(["present", "partial", "absent", "malformed", "too-large"]),
|
||||
header_format: z.enum(["tiny", "fat", "none", "unknown"]),
|
||||
rva: z.number().int().min(0).max(0xffff_ffff),
|
||||
file_offset: offsetSchema.nullable(),
|
||||
|
|
|
|||
|
|
@ -190,7 +190,7 @@ export interface ManagedMemberComparisonSide {
|
|||
interface Keyed<Item> {
|
||||
readonly item: Item;
|
||||
readonly exactKey: string | null;
|
||||
readonly structuralKey: string;
|
||||
readonly structuralKey: string | null;
|
||||
}
|
||||
|
||||
interface MatchedPair<Item> {
|
||||
|
|
@ -335,6 +335,7 @@ const keyMethod = (item: Method): Keyed<Method> => ({
|
|||
item,
|
||||
exactKey:
|
||||
item.signature.parse_status === "decoded" &&
|
||||
item.body.status === "present" &&
|
||||
item.body.normalized_il_sha256 !== null
|
||||
? stableKey([
|
||||
"method-exact",
|
||||
|
|
@ -342,7 +343,9 @@ const keyMethod = (item: Method): Keyed<Method> => ({
|
|||
item.body.normalized_il_sha256,
|
||||
])
|
||||
: null,
|
||||
structuralKey: stableKey([
|
||||
structuralKey:
|
||||
item.body.status === "present"
|
||||
? stableKey([
|
||||
"method-structural",
|
||||
item.signature.kind,
|
||||
item.signature.calling_convention,
|
||||
|
|
@ -356,7 +359,10 @@ const keyMethod = (item: Method): Keyed<Method> => ({
|
|||
item.body.max_stack,
|
||||
item.body.init_locals,
|
||||
item.body.opcode_counts,
|
||||
item.body.anchors.map(({ opcode, operand_kind }) => [opcode, operand_kind]),
|
||||
item.body.anchors.map(({ opcode, operand_kind }) => [
|
||||
opcode,
|
||||
operand_kind,
|
||||
]),
|
||||
item.body.exception_regions.map((region) => [
|
||||
region.flags,
|
||||
region.try_length,
|
||||
|
|
@ -364,7 +370,8 @@ const keyMethod = (item: Method): Keyed<Method> => ({
|
|||
region.class_token === null ? null : "type-token",
|
||||
region.filter_offset === null ? null : "filter",
|
||||
]),
|
||||
]),
|
||||
])
|
||||
: null,
|
||||
});
|
||||
|
||||
const keyField = (item: Field): Keyed<Field> => ({
|
||||
|
|
|
|||
|
|
@ -136,6 +136,9 @@ export const importManagedReconstruction = (
|
|||
(item) =>
|
||||
item.token === candidate.token &&
|
||||
item.signature.raw_sha256 === candidate.signature_sha256 &&
|
||||
item.body.status === "present" &&
|
||||
item.body.normalized_il_sha256 !== null &&
|
||||
candidate.normalized_il_sha256 !== null &&
|
||||
item.body.normalized_il_sha256 === candidate.normalized_il_sha256,
|
||||
);
|
||||
if (observed === undefined)
|
||||
|
|
|
|||
|
|
@ -84,7 +84,13 @@ export const managedRuntimeCorrelationResultSchema = z.strictObject({
|
|||
normalized_il_sha256: digestSchema.nullable(),
|
||||
body_sha256: digestSchema.nullable(),
|
||||
il_size: z.number().int().min(0),
|
||||
body_status: z.enum(["present", "absent", "malformed", "too-large"]),
|
||||
body_status: z.enum([
|
||||
"present",
|
||||
"partial",
|
||||
"absent",
|
||||
"malformed",
|
||||
"too-large",
|
||||
]),
|
||||
exact_build_required: z.literal(true),
|
||||
}),
|
||||
requested_runtime: z.strictObject({
|
||||
|
|
@ -138,6 +144,9 @@ export const planManagedRuntimeCorrelation = (
|
|||
(item) =>
|
||||
item.token === input.method.token &&
|
||||
item.signature.raw_sha256 === input.method.signature_sha256 &&
|
||||
item.body.status === "present" &&
|
||||
item.body.normalized_il_sha256 !== null &&
|
||||
input.method.normalized_il_sha256 !== null &&
|
||||
item.body.normalized_il_sha256 === input.method.normalized_il_sha256,
|
||||
);
|
||||
if (method === undefined)
|
||||
|
|
|
|||
|
|
@ -1080,8 +1080,14 @@ const methodBody = (
|
|||
);
|
||||
const methodEnd = ilOffset + header.ilSize;
|
||||
const sectionOffset = (methodEnd + 3) & ~3;
|
||||
const status =
|
||||
decoded.issue !== null
|
||||
? "malformed"
|
||||
: decoded.truncated > 0
|
||||
? "partial"
|
||||
: "present";
|
||||
return {
|
||||
status: decoded.issue === null ? "present" : "malformed",
|
||||
status,
|
||||
header_format: header.format,
|
||||
rva,
|
||||
file_offset: offset,
|
||||
|
|
@ -1093,7 +1099,8 @@ const methodBody = (
|
|||
: `0x${header.localSig.toString(16).padStart(8, "0")}`,
|
||||
il_size: header.ilSize,
|
||||
il_sha256: sha256Bytes(il),
|
||||
normalized_il_sha256: sha256Bytes(normalized),
|
||||
normalized_il_sha256:
|
||||
status === "present" ? sha256Bytes(normalized) : null,
|
||||
instruction_count: decoded.count,
|
||||
decoded_instruction_count: decoded.parsed.length,
|
||||
truncated_instructions: decoded.truncated,
|
||||
|
|
@ -1103,7 +1110,11 @@ const methodBody = (
|
|||
header.format === "fat" && (header.flags & 8) !== 0
|
||||
? parseExceptionRegions(bytes, sectionOffset, bytes.length)
|
||||
: [],
|
||||
issue: decoded.issue,
|
||||
issue:
|
||||
decoded.issue ??
|
||||
(decoded.truncated > 0
|
||||
? `Instruction decode reached max_method_instructions ${String(limits.maxMethodInstructions)} before the end of the method body`
|
||||
: null),
|
||||
};
|
||||
} catch (cause: unknown) {
|
||||
return {
|
||||
|
|
@ -1436,6 +1447,22 @@ export const inspectManagedMembersBytes = (
|
|||
limits.maxHeapItemBytes,
|
||||
limits,
|
||||
);
|
||||
const methodBodyIssues: ManagedParseIssue[] = methods.methods.flatMap(
|
||||
(method) =>
|
||||
method.body.status === "partial"
|
||||
? [
|
||||
{
|
||||
code: "limit-exceeded" as const,
|
||||
scope: `method.${method.token}.body.instructions`,
|
||||
offset: method.body.file_offset,
|
||||
detail:
|
||||
method.body.issue ??
|
||||
`Instruction decode reached max_method_instructions ${String(limits.maxMethodInstructions)}`,
|
||||
},
|
||||
]
|
||||
: [],
|
||||
);
|
||||
const coverageIssues = [...issues, ...methodBodyIssues];
|
||||
const related = edges(
|
||||
methods.methods,
|
||||
methods.core,
|
||||
|
|
@ -1476,13 +1503,18 @@ export const inspectManagedMembersBytes = (
|
|||
limits.edgeLimit,
|
||||
),
|
||||
coverage: {
|
||||
state: issues.length === 0 ? "complete" : "partial",
|
||||
issues,
|
||||
state: coverageIssues.length === 0 ? "complete" : "partial",
|
||||
issues: coverageIssues,
|
||||
},
|
||||
limitations: [
|
||||
"Metadata tokens are build-local coordinates and are only meaningful with the reported artifact SHA-256 and MVID.",
|
||||
"CIL instruction anchors are decoded from file-backed method bodies only; no target assembly is loaded or executed.",
|
||||
"Signatures are decoded for common ECMA-335 primitive, class, valuetype, pointer, byref, array, and generic variable forms; unsupported forms retain raw signature hashes.",
|
||||
...(methodBodyIssues.length > 0
|
||||
? [
|
||||
"At least one CIL method body reached max_method_instructions; its decoded prefix is partial and has no normalized CIL identity.",
|
||||
]
|
||||
: []),
|
||||
],
|
||||
});
|
||||
} catch (cause: unknown) {
|
||||
|
|
|
|||
|
|
@ -226,11 +226,49 @@ describe("managed PE/CLI static provider", () => {
|
|||
expect(result.methods.items[0]?.body).toMatchObject({
|
||||
status: "malformed",
|
||||
il_size: 2,
|
||||
normalized_il_sha256: null,
|
||||
decoded_instruction_count: 0,
|
||||
issue: "Unsupported CIL opcode 0x24 at IL offset 0",
|
||||
});
|
||||
});
|
||||
|
||||
it("marks instruction-limited CIL as partial without assigning normalized identity", () => {
|
||||
const bytes = buildManagedPeFixture();
|
||||
const result = inspectManagedMembersBytes(bytes, target(bytes), {
|
||||
...memberLimits,
|
||||
maxMethodInstructions: 1,
|
||||
});
|
||||
const il = bytes.subarray(0x0a01, 0x0a0d);
|
||||
|
||||
expect(result.metadata.status).toBe("complete");
|
||||
expect(result.methods.items[0]?.body).toMatchObject({
|
||||
status: "partial",
|
||||
il_size: 12,
|
||||
il_sha256: createHash("sha256").update(il).digest("hex"),
|
||||
normalized_il_sha256: null,
|
||||
instruction_count: 1,
|
||||
decoded_instruction_count: 1,
|
||||
truncated_instructions: 1,
|
||||
issue:
|
||||
"Instruction decode reached max_method_instructions 1 before the end of the method body",
|
||||
});
|
||||
expect(result.coverage).toEqual({
|
||||
state: "partial",
|
||||
issues: [
|
||||
{
|
||||
code: "limit-exceeded",
|
||||
scope: "method.0x06000001.body.instructions",
|
||||
offset: 0x0a00,
|
||||
detail:
|
||||
"Instruction decode reached max_method_instructions 1 before the end of the method body",
|
||||
},
|
||||
],
|
||||
});
|
||||
expect(result.limitations.join(" ")).toContain(
|
||||
"has no normalized CIL identity",
|
||||
);
|
||||
});
|
||||
|
||||
it("inspects metadata members, signatures, CIL hashes, call edges, and field anchors", () => {
|
||||
const bytes = buildManagedPeFixture();
|
||||
const result = inspectManagedMembersBytes(
|
||||
|
|
|
|||
|
|
@ -111,6 +111,33 @@ describe("managed member comparison", () => {
|
|||
});
|
||||
});
|
||||
|
||||
it("does not match identical instruction-limited method prefixes", () => {
|
||||
const limited = { ...memberLimits, maxMethodInstructions: 1 };
|
||||
const left = inspect(
|
||||
buildManagedPeFixture(),
|
||||
"/tmp/left-partial.dll",
|
||||
limited,
|
||||
);
|
||||
const right = inspect(
|
||||
buildManagedPeFixture(),
|
||||
"/tmp/right-partial.dll",
|
||||
limited,
|
||||
);
|
||||
const result = compareManagedMembers(
|
||||
{ evidenceId: left.evidence.evidence_id, result: left.result },
|
||||
{ evidenceId: right.evidence.evidence_id, result: right.result },
|
||||
comparisonLimits,
|
||||
);
|
||||
|
||||
expect(result.matching.exact_il_signature).toBe(0);
|
||||
expect(result.matching.structural_method_shape).toBe(0);
|
||||
expect(result.coverage).toMatchObject({
|
||||
status: "partial",
|
||||
left_status: "partial",
|
||||
right_status: "partial",
|
||||
});
|
||||
});
|
||||
|
||||
it("does not guess ambiguous field signature matches", () => {
|
||||
const left = inspect(buildManagedPeFixture(), "/tmp/left.dll");
|
||||
const leftField = left.result.fields.items[0];
|
||||
|
|
@ -201,7 +228,11 @@ describe("managed member comparison", () => {
|
|||
});
|
||||
});
|
||||
|
||||
const inspect = (bytes: Buffer, path: string) => {
|
||||
const inspect = (
|
||||
bytes: Buffer,
|
||||
path: string,
|
||||
limits: typeof memberLimits = memberLimits,
|
||||
) => {
|
||||
const target: BinaryTarget = {
|
||||
path,
|
||||
sha256: hash(bytes),
|
||||
|
|
@ -209,7 +240,7 @@ const inspect = (bytes: Buffer, path: string) => {
|
|||
format: "pe",
|
||||
architecture: "x86",
|
||||
};
|
||||
const result = inspectManagedMembersBytes(bytes, target, memberLimits);
|
||||
const result = inspectManagedMembersBytes(bytes, target, limits);
|
||||
return {
|
||||
result,
|
||||
evidence: createEvidence(target, MANAGED_STATIC_PROVIDER, {
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ import {
|
|||
importManagedReconstruction,
|
||||
managedReconstructionImportInputSchema,
|
||||
} from "../src/domain/managedReconstruction.js";
|
||||
import { managedMemberInspectionSchema } from "../src/domain/managedArtifact.js";
|
||||
import { createEvidence } from "../src/domain/evidence.js";
|
||||
|
||||
const exampleInput = () =>
|
||||
managedReconstructionImportInputSchema.parse(
|
||||
|
|
@ -97,6 +99,58 @@ describe("managed decompiler reconstruction import", () => {
|
|||
).toThrow(/does not match/u);
|
||||
});
|
||||
|
||||
it("rejects reconstruction locks for partial CIL without normalized identity", () => {
|
||||
const input = exampleInput();
|
||||
const observed = managedMemberInspectionSchema.parse(
|
||||
input.static_members.normalized_result,
|
||||
);
|
||||
const method = observed.methods.items[0];
|
||||
if (method === undefined) throw new Error("missing observed method");
|
||||
const partial = {
|
||||
...observed,
|
||||
methods: {
|
||||
...observed.methods,
|
||||
items: [
|
||||
{
|
||||
...method,
|
||||
body: {
|
||||
...method.body,
|
||||
status: "partial" as const,
|
||||
normalized_il_sha256: null,
|
||||
truncated_instructions: 1,
|
||||
issue: "instruction limit reached",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
coverage: { state: "partial" as const, issues: [] },
|
||||
};
|
||||
const partialEvidence = createEvidence(
|
||||
undefined,
|
||||
input.static_members.provider,
|
||||
{
|
||||
operation: "inspect_managed_members",
|
||||
parameters: {},
|
||||
result: partial,
|
||||
rawResult: null,
|
||||
limitations: partial.limitations,
|
||||
},
|
||||
);
|
||||
|
||||
expect(() =>
|
||||
importManagedReconstruction({
|
||||
...input,
|
||||
static_members: partialEvidence,
|
||||
methods: [
|
||||
{
|
||||
...exampleMethod(),
|
||||
normalized_il_sha256: null,
|
||||
},
|
||||
],
|
||||
}),
|
||||
).toThrow(/does not match/u);
|
||||
});
|
||||
|
||||
it("wraps imported reconstruction in Evidence v2", () => {
|
||||
const evidence = importManagedReconstructionEvidence(exampleInput());
|
||||
|
||||
|
|
|
|||
|
|
@ -146,6 +146,35 @@ describe("managed runtime correlation planning", () => {
|
|||
if (result.ok) return;
|
||||
expect(result.error._tag).toBe("AnalysisInputError");
|
||||
});
|
||||
|
||||
it("rejects a runtime lock for instruction-limited CIL", async () => {
|
||||
const directory = await mkdtemp(join(tmpdir(), "rea-managed-runtime-"));
|
||||
const artifactPath = join(directory, "fixture.dll");
|
||||
const executablePath = join(directory, "dotnet");
|
||||
const bytes = buildManagedPeFixture();
|
||||
await writeFile(artifactPath, bytes);
|
||||
await writeFile(executablePath, "#!/bin/sh\n");
|
||||
const fixture = inspect(bytes, artifactPath, {
|
||||
...memberLimits,
|
||||
maxMethodInstructions: 1,
|
||||
});
|
||||
const authority = await authorityFor(directory, executablePath, true);
|
||||
const result = await planManagedRuntimeCorrelationEvidence(
|
||||
{
|
||||
policy: { enabled: true, roots: [directory], executablePath },
|
||||
authority,
|
||||
},
|
||||
inputFor(fixture.evidence, fixture.method),
|
||||
);
|
||||
|
||||
expect(fixture.method.body).toMatchObject({
|
||||
status: "partial",
|
||||
normalized_il_sha256: null,
|
||||
});
|
||||
expect(result.ok).toBe(false);
|
||||
if (result.ok) return;
|
||||
expect(result.error._tag).toBe("AnalysisInputError");
|
||||
});
|
||||
});
|
||||
|
||||
const disabledPolicy: ManagedRuntimePolicy = {
|
||||
|
|
@ -210,7 +239,11 @@ const inputFor = (
|
|||
},
|
||||
});
|
||||
|
||||
const inspect = (bytes: Buffer, path: string) => {
|
||||
const inspect = (
|
||||
bytes: Buffer,
|
||||
path: string,
|
||||
limits: typeof memberLimits = memberLimits,
|
||||
) => {
|
||||
const target: BinaryTarget = {
|
||||
path,
|
||||
sha256: hash(bytes),
|
||||
|
|
@ -218,7 +251,7 @@ const inspect = (bytes: Buffer, path: string) => {
|
|||
format: "pe",
|
||||
architecture: "x86",
|
||||
};
|
||||
const result = inspectManagedMembersBytes(bytes, target, memberLimits);
|
||||
const result = inspectManagedMembersBytes(bytes, target, limits);
|
||||
const method = result.methods.items[0];
|
||||
if (method === undefined) throw new Error("fixture has no method");
|
||||
return {
|
||||
|
|
|
|||
Loading…
Reference in New Issue