refactor(domain,server): extract analyze_function schema and share observation tool registration

- Move `analyze_function` input parameters schema to
  `src/domain/analyzeFunctionParameters.ts` and reference it from
  `enhancedInputs.ts` and `functionDossierEvidence.ts`.
- Deduplicate browser/electron tool registration into
  `src/server/observationToolRegistration.ts`.
- Regenerate TypeDoc output.
This commit is contained in:
morluto committed 2026-07-22 09:13:09 +00:00
1 parent f8ee1ef16f
commit 33ea37c03c
89 files changed
+739 -363

No files matched your search

@@ -14,7 +14,7 @@
<section class="tsd-panel">
<ul class="tsd-signatures">
<li class="">
<div class="tsd-signature tsd-anchor-link" id="traceapplicationfeature"><span class="tsd-kind-call-signature">traceApplicationFeature</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">input</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/domain_javascriptFeatureTrace.ApplicationFeatureTraceProjectionInput.html" class="tsd-signature-type tsd-kind-interface">ApplicationFeatureTraceProjectionInput</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-kind-property">coverage</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>        <span class="tsd-kind-property">frontier_node_ids</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_edges</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_nodes</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_paths</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_seed_matches</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">scanned_nodes</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">source_graph_status</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;unknown&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;unavailable&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;complete&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;partial&quot;</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">status</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;truncated&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;partial&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;complete-within-source&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;no-match&quot;</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">total_seed_matches</span><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><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">direction</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;incoming&quot;</span><br/>    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;outgoing&quot;</span><br/>    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;both&quot;</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">evidence_links</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">graph</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">coverage</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>                <span class="tsd-kind-property">limits</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>                    <span class="tsd-kind-property">name</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-property"Line truncated
<div class="tsd-signature tsd-anchor-link" id="traceapplicationfeature"><span class="tsd-kind-call-signature">traceApplicationFeature</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">input</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/domain_javascriptFeatureTrace.ApplicationFeatureTraceProjectionInput.html" class="tsd-signature-type tsd-kind-interface">ApplicationFeatureTraceProjectionInput</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-kind-property">coverage</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>        <span class="tsd-kind-property">frontier_node_ids</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_edges</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_nodes</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_paths</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_seed_matches</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">scanned_nodes</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">source_graph_status</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;unknown&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;unavailable&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;complete&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;partial&quot;</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">status</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;truncated&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;partial&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;complete-within-source&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;no-match&quot;</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">total_seed_matches</span><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><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">direction</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;incoming&quot;</span><br/>    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;outgoing&quot;</span><br/>    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;both&quot;</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">evidence_links</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">graph</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">coverage</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>                <span class="tsd-kind-property">limits</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>                    <span class="tsd-kind-property">name</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-property"Line truncated
<div class="tsd-description">
<div class="tsd-comment tsd-typography"><p>Trace a literal feature through a bounded, authority-preserving JAG.</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">input</span>: <a href="../interfaces/domain_javascriptFeatureTrace.ApplicationFeatureTraceProjectionInput.html" class="tsd-signature-type tsd-kind-interface">ApplicationFeatureTraceProjectionInput</a></span></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-kind-property">coverage</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>        <span class="tsd-kind-property">frontier_node_ids</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_edges</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_nodes</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_paths</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_seed_matches</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">scanned_nodes</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">source_graph_status</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;unknown&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;unavailable&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;complete&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;partial&quot;</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">status</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;truncated&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;partial&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;complete-within-source&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;no-match&quot;</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">total_seed_matches</span><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><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">direction</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;incoming&quot;</span><br/>    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;outgoing&quot;</span><br/>    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;both&quot;</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">evidence_links</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">graph</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">coverage</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>                <span class="tsd-kind-property">limits</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>                    <span class="tsd-kind-property">name</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-property">unit</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;other&quot;</span><br/>                    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;items&quot;</span><br/>                    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;bytes&quot;</span><br/>                    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-typLine truncated
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-kind-property">coverage</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>        <span class="tsd-kind-property">frontier_node_ids</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_edges</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_nodes</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_paths</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">omitted_seed_matches</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">scanned_nodes</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">source_graph_status</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;unknown&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;unavailable&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;complete&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;partial&quot;</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">status</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;truncated&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;partial&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;complete-within-source&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;no-match&quot;</span><span class="tsd-signature-symbol">;</span><br/>        <span class="tsd-kind-property">total_seed_matches</span><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><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">direction</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;incoming&quot;</span><br/>    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;outgoing&quot;</span><br/>    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;both&quot;</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">evidence_links</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">graph</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">coverage</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>                <span class="tsd-kind-property">limits</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>                    <span class="tsd-kind-property">name</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-property">unit</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;other&quot;</span><br/>                    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;items&quot;</span><br/>                    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;bytes&quot;</span><br/>                    <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-typLine truncated
<ul>
<li>Defined in <a href="https://github.com/morluto/rea/blob/main/src/domain/javascriptFeatureTrace.ts#L39">src/domain/javascriptFeatureTrace.ts:39</a></li></ul></aside></div></li></ul></section></div>
<div class="col-sidebar">