/** * influence-core — the ONE embedding-based scoring engine * (RFC-002/003 block D6). * * Extracted from the Visible Reasoning paper's FDL influence pipeline * (Eq. 1–6: four signals + adaptive weighted composite) so that three * consumers share one engine and one embedding cache: * * a) RFC-002 — tool-catalog lint (C1 ← `pairwiseSimilarity`) and the * margin recorder (C4/C5 ← `scoreMargin`), * b) RFC-003 Part B — the LLM-edge weigher (D7 ← `scoreInfluence` / * the signal scorers), * c) the FDL paper pipeline itself (stages 4–6 ← `EmbeddingCache` + * `scoreInfluence`). * * Leaf module: zero agent/runtime imports — the only dependency is the * `Embedder` interface (re-exported from memory/embedding, the one * existing contract) and the shared `cosineSimilarity`. * * Plug-and-play: the frame and formulas are the library's; the * embedder, weights, and thresholds are consumer-injected. * * Honest claim (RFC-002 §2): every score here is a deterministic * embedding-geometry PROXY — semantic alignment, never model internals * and never causal attribution. */ export type { CandidateScore, AttributionUnit, ChoiceAttribution, ConfidenceStrategy, EmbedArgs, EmbedBatchArgs, Embedder, EvidenceInput, InfluenceScore, InfluenceWeights, MarginCandidate, MarginResult, PairwiseSimilarityResult, RankingConfidence, SignalScores, SimilarityItem, SimilarityPair, UnitScore, } from './types.js'; export { DEFAULT_CLEAR_WINNER_MARGIN, DEFAULT_CLEAR_WINNER_RATIO, DEFAULT_INFLUENCE_WEIGHTS, DEFAULT_MARGIN_THRESHOLD, DEFAULT_PERSISTENCE_THRESHOLD, DEFAULT_SHORTLIST_BAND, } from './types.js'; export { marginStrategy, rankingConfidence, ratioStrategy, type RankingConfidenceOptions, } from './attributability.js'; export { scoreContrastiveInfluence, type ScoreContrastiveInfluenceArgs } from './contrastive.js'; export { contentHash, EmbeddingCache, embeddingCache, type EmbeddingCacheOptions, type EmbeddingCacheStats, } from './cache.js'; export { adaptWeights, averageRelevancy, compositeScore, finalAnswerSimilarity, persistence, scoreInfluence, structuralProximity, type InfluenceScorer, type ScoreInfluenceArgs, } from './signals.js'; export { scoreLexicalInfluence, type ScoreLexicalInfluenceArgs } from './lexical.js'; export { lexicalOverlapStrategy, listInfluenceStrategies, semanticAlignmentStrategy, type InfluenceStrategy, type InfluenceStrategyRequirement, } from './strategies.js'; export { pairwiseSimilarity, type PairwiseSimilarityArgs } from './similarity.js'; export { scoreMargin, type ScoreMarginArgs } from './margin.js'; export { attributeChoice, type AttributeChoiceArgs } from './attribute.js'; export { explainChoice, type ChannelVerdict, type ChoiceExplanation, type ExplainChoiceArgs, } from './explain.js'; export { snippetUnits, type SnippetUnitsOptions } from './snippets.js';