omena-resolver 0.1.14

Omena resolver boundary over CME source-resolution producer contracts
Documentation
use super::*;

pub fn summarize_omena_resolver_boundary(input: &EngineInputV2) -> OmenaResolverBoundarySummaryV0 {
    let canonical_signal = summarize_omena_resolver_canonical_producer_signal(input);
    let module_graph = summarize_omena_resolver_module_graph_index(input);
    let runtime_query = summarize_omena_resolver_runtime_query_boundary(&module_graph);
    let source_resolution_runtime = summarize_omena_resolver_source_resolution_runtime(input);

    OmenaResolverBoundarySummaryV0 {
        schema_version: "0",
        product: "omena-resolver.boundary",
        resolver_name: "omena-resolver",
        input_version: input.version.clone(),
        delegated_source_resolution_products: vec![
            "engine-input-producers.source-resolution-query-fragments",
            "engine-input-producers.source-resolution-canonical-producer",
        ],
        resolver_owned_products: vec![
            "omena-resolver.module-graph-index",
            "omena-resolver.runtime-query-boundary",
            "omena-resolver.source-resolution-runtime-index",
            "omena-resolver.style-module-resolution",
            "omena-resolver.specifier-resolution-runtime",
        ],
        source_resolution_query_count: canonical_signal.canonical_bundle.query_fragments.len(),
        source_resolution_candidate_count: canonical_signal.canonical_bundle.candidates.len(),
        source_resolution_evaluator_candidate_count: canonical_signal
            .evaluator_candidates
            .results
            .len(),
        module_graph_module_count: module_graph.module_count,
        module_graph_source_expression_edge_count: module_graph.source_expression_edge_count,
        runtime_query_module_count: runtime_query.module_query_count,
        runtime_query_ready_module_count: runtime_query.fully_resolvable_module_count,
        source_resolution_runtime_expression_count: source_resolution_runtime.expression_count,
        source_resolution_runtime_resolved_expression_count: source_resolution_runtime
            .resolved_expression_count,
        ready_surfaces: vec![
            "resolverBoundarySummary",
            "resolverModuleGraphIndex",
            "resolverRuntimeQueryBoundary",
            "resolverSourceResolutionRuntimeIndex",
            "resolverStyleModuleResolution",
            "resolverSpecifierResolutionRuntime",
            "resolverBundlerPathAliasMapping",
            "resolverTsconfigPathMapping",
            "sourceResolutionQueryFragments",
            "sourceResolutionCanonicalProducerSignal",
        ],
        cme_coupled_surfaces: vec!["EngineInputV2", "producerSourceResolutionRows"],
        next_decoupling_targets: Vec::new(),
    }
}