@untangle-code/search 0.0.0-stage → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/NOTICE +90 -0
- package/README.md +433 -2
- package/THIRD_PARTY_LICENSES.md +29 -0
- package/dist/benchmark-integrity.d.ts +12 -0
- package/dist/benchmark-integrity.d.ts.map +1 -0
- package/dist/benchmark-integrity.js +10 -0
- package/dist/benchmark-integrity.js.map +1 -0
- package/dist/bm25.d.ts +46 -0
- package/dist/bm25.d.ts.map +1 -0
- package/dist/bm25.js +105 -0
- package/dist/bm25.js.map +1 -0
- package/dist/deadline.d.ts +4 -0
- package/dist/deadline.d.ts.map +1 -0
- package/dist/deadline.js +54 -0
- package/dist/deadline.js.map +1 -0
- package/dist/dedupe.d.ts +48 -0
- package/dist/dedupe.d.ts.map +1 -0
- package/dist/dedupe.js +58 -0
- package/dist/dedupe.js.map +1 -0
- package/dist/diversify.d.ts +45 -0
- package/dist/diversify.d.ts.map +1 -0
- package/dist/diversify.js +30 -0
- package/dist/diversify.js.map +1 -0
- package/dist/engine.d.ts +157 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +1498 -0
- package/dist/engine.js.map +1 -0
- package/dist/enrichment.d.ts +16 -0
- package/dist/enrichment.d.ts.map +1 -0
- package/dist/enrichment.js +92 -0
- package/dist/enrichment.js.map +1 -0
- package/dist/filter.d.ts +86 -0
- package/dist/filter.d.ts.map +1 -0
- package/dist/filter.js +166 -0
- package/dist/filter.js.map +1 -0
- package/dist/findability.d.ts +144 -0
- package/dist/findability.d.ts.map +1 -0
- package/dist/findability.js +393 -0
- package/dist/findability.js.map +1 -0
- package/dist/format.d.ts +28 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +172 -0
- package/dist/format.js.map +1 -0
- package/dist/fusion.d.ts +47 -0
- package/dist/fusion.d.ts.map +1 -0
- package/dist/fusion.js +84 -0
- package/dist/fusion.js.map +1 -0
- package/dist/glob.d.ts +50 -0
- package/dist/glob.d.ts.map +1 -0
- package/dist/glob.js +144 -0
- package/dist/glob.js.map +1 -0
- package/dist/grep.d.ts +76 -0
- package/dist/grep.d.ts.map +1 -0
- package/dist/grep.js +475 -0
- package/dist/grep.js.map +1 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +63 -0
- package/dist/index.js.map +1 -0
- package/dist/ledger.d.ts +45 -0
- package/dist/ledger.d.ts.map +1 -0
- package/dist/ledger.js +39 -0
- package/dist/ledger.js.map +1 -0
- package/dist/payload.d.ts +108 -0
- package/dist/payload.d.ts.map +1 -0
- package/dist/payload.js +263 -0
- package/dist/payload.js.map +1 -0
- package/dist/port.d.ts +112 -0
- package/dist/port.d.ts.map +1 -0
- package/dist/port.js +2 -0
- package/dist/port.js.map +1 -0
- package/dist/product-complexity.d.ts +89 -0
- package/dist/product-complexity.d.ts.map +1 -0
- package/dist/product-complexity.js +1367 -0
- package/dist/product-complexity.js.map +1 -0
- package/dist/regex-safety.d.ts +75 -0
- package/dist/regex-safety.d.ts.map +1 -0
- package/dist/regex-safety.js +902 -0
- package/dist/regex-safety.js.map +1 -0
- package/dist/relevance-prerequisites.d.ts +21 -0
- package/dist/relevance-prerequisites.d.ts.map +1 -0
- package/dist/relevance-prerequisites.js +47 -0
- package/dist/relevance-prerequisites.js.map +1 -0
- package/dist/relevance.d.ts +107 -0
- package/dist/relevance.d.ts.map +1 -0
- package/dist/relevance.js +199 -0
- package/dist/relevance.js.map +1 -0
- package/dist/retrieval.d.ts +46 -0
- package/dist/retrieval.d.ts.map +1 -0
- package/dist/retrieval.js +182 -0
- package/dist/retrieval.js.map +1 -0
- package/dist/scoring.d.ts +102 -0
- package/dist/scoring.d.ts.map +1 -0
- package/dist/scoring.js +175 -0
- package/dist/scoring.js.map +1 -0
- package/dist/sort.d.ts +21 -0
- package/dist/sort.d.ts.map +1 -0
- package/dist/sort.js +53 -0
- package/dist/sort.js.map +1 -0
- package/dist/symbol-match.d.ts +21 -0
- package/dist/symbol-match.d.ts.map +1 -0
- package/dist/symbol-match.js +72 -0
- package/dist/symbol-match.js.map +1 -0
- package/dist/tokenize.d.ts +41 -0
- package/dist/tokenize.d.ts.map +1 -0
- package/dist/tokenize.js +202 -0
- package/dist/tokenize.js.map +1 -0
- package/dist/types.d.ts +173 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +42 -0
- package/dist/types.js.map +1 -0
- package/package.json +61 -3
- package/src/benchmark-integrity.ts +25 -0
- package/src/bm25.ts +135 -0
- package/src/deadline.ts +59 -0
- package/src/dedupe.ts +99 -0
- package/src/diversify.ts +71 -0
- package/src/engine.ts +1957 -0
- package/src/enrichment.ts +115 -0
- package/src/filter.ts +267 -0
- package/src/findability.ts +580 -0
- package/src/format.ts +228 -0
- package/src/fusion.ts +121 -0
- package/src/glob.ts +151 -0
- package/src/grep.ts +618 -0
- package/src/index.ts +83 -0
- package/src/ledger.ts +72 -0
- package/src/payload.ts +382 -0
- package/src/port.ts +133 -0
- package/src/product-complexity.ts +2168 -0
- package/src/regex-safety.ts +1002 -0
- package/src/relevance-prerequisites.ts +83 -0
- package/src/relevance.ts +328 -0
- package/src/retrieval.ts +299 -0
- package/src/scoring.ts +321 -0
- package/src/sort.ts +86 -0
- package/src/symbol-match.ts +87 -0
- package/src/tokenize.ts +213 -0
- package/src/types.ts +206 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regex-safety.js","sourceRoot":"","sources":["../src/regex-safety.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SearchAbstention, SearchRelevanceVerdictV1, ToolWarningV1 } from "@untangle-code/domain";
|
|
2
|
+
import { type RelevancePolicyBindingV1 } from "./relevance.js";
|
|
3
|
+
import type { RetrievalBranch } from "./retrieval.js";
|
|
4
|
+
interface RelevancePrerequisiteInput {
|
|
5
|
+
binding: RelevancePolicyBindingV1;
|
|
6
|
+
embeddingProfileId: string;
|
|
7
|
+
workspaceId: string;
|
|
8
|
+
collection: string;
|
|
9
|
+
completedBranches: ReadonlySet<RetrievalBranch>;
|
|
10
|
+
exactSymbolEvidenceAvailable: boolean;
|
|
11
|
+
abstention: SearchAbstention;
|
|
12
|
+
}
|
|
13
|
+
interface RelevancePrerequisiteFailure {
|
|
14
|
+
detail: string;
|
|
15
|
+
warning: ToolWarningV1;
|
|
16
|
+
verdict: SearchRelevanceVerdictV1;
|
|
17
|
+
}
|
|
18
|
+
/** A policy may judge only its calibrated scope and evidence; exact symbols are direct evidence. */
|
|
19
|
+
export declare function relevancePrerequisiteFailure(input: RelevancePrerequisiteInput): RelevancePrerequisiteFailure | undefined;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=relevance-prerequisites.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relevance-prerequisites.d.ts","sourceRoot":"","sources":["../src/relevance-prerequisites.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,UAAU,0BAA0B;IAClC,OAAO,EAAE,wBAAwB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAChD,4BAA4B,EAAE,OAAO,CAAC;IACtC,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,UAAU,4BAA4B;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,wBAAwB,CAAC;CACnC;AA6BD,oGAAoG;AACpG,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,0BAA0B,GAChC,4BAA4B,GAAG,SAAS,CAwB1C"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { RELEVANCE_POLICY_NOT_EVALUATED_WARNING_CODE, } from "./relevance.js";
|
|
2
|
+
function notEvaluated(input, basis, detail, details) {
|
|
3
|
+
return {
|
|
4
|
+
detail,
|
|
5
|
+
warning: {
|
|
6
|
+
code: RELEVANCE_POLICY_NOT_EVALUATED_WARNING_CODE,
|
|
7
|
+
message: detail,
|
|
8
|
+
details: {
|
|
9
|
+
status: "not_evaluated",
|
|
10
|
+
basis,
|
|
11
|
+
embeddingProfileId: input.embeddingProfileId,
|
|
12
|
+
...details,
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
verdict: {
|
|
16
|
+
abstention: input.abstention,
|
|
17
|
+
status: "not_evaluated",
|
|
18
|
+
basis,
|
|
19
|
+
calibrationId: input.binding.policy.calibrationId,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/** A policy may judge only its calibrated scope and evidence; exact symbols are direct evidence. */
|
|
24
|
+
export function relevancePrerequisiteFailure(input) {
|
|
25
|
+
const { binding } = input;
|
|
26
|
+
if (binding.workspaceId !== input.workspaceId || binding.collection !== input.collection) {
|
|
27
|
+
const detail = `relevance policy "${binding.policy.calibrationId}" was not evaluated because its calibrated scope workspace="${binding.workspaceId}", collection="${binding.collection}" does not match the active scope workspace="${input.workspaceId}", collection="${input.collection}"; results were left unchanged`;
|
|
28
|
+
return notEvaluated(input, "policy_scope_mismatch", detail, {
|
|
29
|
+
expectedWorkspaceId: binding.workspaceId,
|
|
30
|
+
actualWorkspaceId: input.workspaceId,
|
|
31
|
+
expectedCollection: binding.collection,
|
|
32
|
+
actualCollection: input.collection,
|
|
33
|
+
policy: binding.policy,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
const unavailableEvidenceBranches = ["dense", "sparse"].filter((branch) => !input.completedBranches.has(branch));
|
|
37
|
+
if (unavailableEvidenceBranches.length === 0 || input.exactSymbolEvidenceAvailable)
|
|
38
|
+
return undefined;
|
|
39
|
+
const detail = `relevance policy "${binding.policy.calibrationId}" was not evaluated because its calibrated evidence requires both dense and sparse retrieval, but the following branches did not run successfully: ${unavailableEvidenceBranches.join(", ")}; results were left unchanged`;
|
|
40
|
+
return notEvaluated(input, "calibrated_evidence_branch_unavailable", detail, {
|
|
41
|
+
collection: input.collection,
|
|
42
|
+
requiredEvidenceBranches: ["dense", "sparse"],
|
|
43
|
+
unavailableEvidenceBranches,
|
|
44
|
+
policy: binding.policy,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=relevance-prerequisites.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relevance-prerequisites.js","sourceRoot":"","sources":["../src/relevance-prerequisites.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,2CAA2C,GAE5C,MAAM,gBAAgB,CAAC;AAmBxB,SAAS,YAAY,CACnB,KAAiC,EACjC,KAAa,EACb,MAAc,EACd,OAAgC;IAEhC,OAAO;QACL,MAAM;QACN,OAAO,EAAE;YACP,IAAI,EAAE,2CAA2C;YACjD,OAAO,EAAE,MAAM;YACf,OAAO,EAAE;gBACP,MAAM,EAAE,eAAe;gBACvB,KAAK;gBACL,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,GAAG,OAAO;aACX;SACF;QACD,OAAO,EAAE;YACP,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,EAAE,eAAe;YACvB,KAAK;YACL,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa;SAClD;KACF,CAAC;AACJ,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,4BAA4B,CAC1C,KAAiC;IAEjC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;QACzF,MAAM,MAAM,GAAG,qBAAqB,OAAO,CAAC,MAAM,CAAC,aAAa,+DAA+D,OAAO,CAAC,WAAW,kBAAkB,OAAO,CAAC,UAAU,gDAAgD,KAAK,CAAC,WAAW,kBAAkB,KAAK,CAAC,UAAU,gCAAgC,CAAC;QAC1T,OAAO,YAAY,CAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE;YAC1D,mBAAmB,EAAE,OAAO,CAAC,WAAW;YACxC,iBAAiB,EAAE,KAAK,CAAC,WAAW;YACpC,kBAAkB,EAAE,OAAO,CAAC,UAAU;YACtC,gBAAgB,EAAE,KAAK,CAAC,UAAU;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,2BAA2B,GAAI,CAAC,OAAO,EAAE,QAAQ,CAAW,CAAC,MAAM,CACvE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CACjD,CAAC;IACF,IAAI,2BAA2B,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,4BAA4B;QAChF,OAAO,SAAS,CAAC;IACnB,MAAM,MAAM,GAAG,qBAAqB,OAAO,CAAC,MAAM,CAAC,aAAa,sJAAsJ,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC;IAC5R,OAAO,YAAY,CAAC,KAAK,EAAE,wCAAwC,EAAE,MAAM,EAAE;QAC3E,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,wBAAwB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC7C,2BAA2B;QAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
export declare const NO_SUFFICIENT_MATCH_WARNING_CODE = "NO_SUFFICIENT_MATCH";
|
|
2
|
+
export declare const RELEVANCE_POLICY_NOT_EVALUATED_WARNING_CODE = "RELEVANCE_POLICY_NOT_EVALUATED";
|
|
3
|
+
export interface RelevancePolicyV1 {
|
|
4
|
+
/** Menschen- und maschinenlesbare Herkunft der Kalibrierung. */
|
|
5
|
+
calibrationId: string;
|
|
6
|
+
/** Absoluter Mindestwert des besten dichten Kandidaten. */
|
|
7
|
+
minimumDenseScore: number;
|
|
8
|
+
/** Mindestabstand zwischen bestem dichten Wert und `denseReferenceRank`. */
|
|
9
|
+
minimumDenseSpread: number;
|
|
10
|
+
/** 1-basierter fester Vergleichsrang; fehlt er, wird NICHT entschieden. */
|
|
11
|
+
denseReferenceRank: number;
|
|
12
|
+
/**
|
|
13
|
+
* IDF-gewichteter Mindestanteil aller normalisierten Query-Terme im festen
|
|
14
|
+
* Evidenzpool aus Dense- und Sparse-Praefix.
|
|
15
|
+
*/
|
|
16
|
+
minimumCandidateIdfCoverage: number;
|
|
17
|
+
}
|
|
18
|
+
/** Bindet eine Modellkalibrierung an genau das vermessene Korpus. */
|
|
19
|
+
export interface RelevancePolicyBindingV1 {
|
|
20
|
+
workspaceId: string;
|
|
21
|
+
collection: string;
|
|
22
|
+
policy: RelevancePolicyV1;
|
|
23
|
+
}
|
|
24
|
+
export declare const QWEN3_EMBEDDING_06B_RELEVANCE_POLICY: Readonly<RelevancePolicyV1>;
|
|
25
|
+
export type RelevancePolicyConfig = false | RelevancePolicyV1;
|
|
26
|
+
export interface RelevanceCandidateEvidence {
|
|
27
|
+
denseScore?: number;
|
|
28
|
+
lexicalText: string;
|
|
29
|
+
exactSymbolMatch: boolean;
|
|
30
|
+
}
|
|
31
|
+
export type RelevanceDecisionStatus = "accepted" | "rejected" | "not_evaluated";
|
|
32
|
+
export type RelevanceDecisionBasis = "exact_symbol" | "dense_absolute_relative_and_candidate_idf_coverage" | "insufficient_evidence" | "dense_reference_unavailable";
|
|
33
|
+
/** Vollstaendige, maschinenlesbare Begruendung fuer Treffer, Enthaltung oder Nichtentscheidung. */
|
|
34
|
+
export interface RelevanceDecisionV1 {
|
|
35
|
+
status: RelevanceDecisionStatus;
|
|
36
|
+
basis: RelevanceDecisionBasis;
|
|
37
|
+
exactSymbolMatches: number;
|
|
38
|
+
topDenseScore?: number;
|
|
39
|
+
/** Nur gesetzt, wenn der kalibrierte feste Referenzrang wirklich beobachtet wurde. */
|
|
40
|
+
denseReferenceScore?: number;
|
|
41
|
+
/** Nur aus Topwert und dem wirklich beobachteten festen Referenzrang berechnet. */
|
|
42
|
+
denseSpread?: number;
|
|
43
|
+
denseScoresObserved: number;
|
|
44
|
+
/** Tiefster tatsaechlich beobachteter dichter Rang; 0 bedeutet keine dichte Evidenz. */
|
|
45
|
+
deepestDenseRankObserved: number;
|
|
46
|
+
/** Nur gesetzt, wenn genau der kalibrierte Referenzrang beobachtet wurde. */
|
|
47
|
+
denseReferenceRankObserved?: number;
|
|
48
|
+
/** Zahl der Kandidaten in der festen, residual gueltigen Evidenzunion. */
|
|
49
|
+
candidateEvidenceCount: number;
|
|
50
|
+
candidateIdfCoverage: number;
|
|
51
|
+
queryTerms: string[];
|
|
52
|
+
policy: RelevancePolicyV1;
|
|
53
|
+
}
|
|
54
|
+
export interface CandidateIdfCoverageV1 {
|
|
55
|
+
coverage: number;
|
|
56
|
+
queryTerms: string[];
|
|
57
|
+
}
|
|
58
|
+
export interface CompleteRelevanceMeasurementsV1 {
|
|
59
|
+
topDenseScore: number;
|
|
60
|
+
denseSpread: number;
|
|
61
|
+
candidateIdfCoverage: number;
|
|
62
|
+
}
|
|
63
|
+
/** Die qwen-Kalibrierung misst die feste Union aus dichtem und spaerlichem Abruf. */
|
|
64
|
+
export type RelevanceEvidenceBranch = "dense" | "sparse";
|
|
65
|
+
export interface RelevanceEvidenceBranchV1 {
|
|
66
|
+
branch: RelevanceEvidenceBranch;
|
|
67
|
+
candidateIds: readonly string[];
|
|
68
|
+
}
|
|
69
|
+
export interface FixedRelevanceEvidencePoolV1 {
|
|
70
|
+
/** Deterministische Union der kalibrierten Praefixe in Zweigreihenfolge. */
|
|
71
|
+
candidateIds: string[];
|
|
72
|
+
/** Gueltige Kandidaten im festen dichten Praefix; nur sie tragen Dense-Scores. */
|
|
73
|
+
denseCandidateIds: string[];
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Baut einen von einem groesseren Abruflimit unabhaengigen Evidenzpool.
|
|
77
|
+
*
|
|
78
|
+
* Pro Abrufzweig zaehlt ausschliesslich das feste rohe Praefix der
|
|
79
|
+
* Kalibrierung. Erst danach werden residual ungueltige Kandidaten entfernt;
|
|
80
|
+
* ein tieferer Kandidat darf einen ausgeschlossenen Praefix-Kandidaten nicht
|
|
81
|
+
* ersetzen, nur weil der Aufrufer statt 50 nun 200 Treffer abruft. Fehlt
|
|
82
|
+
* dadurch ein dichter Referenzrang, trifft `decideResultRelevance` die
|
|
83
|
+
* sichtbare konservative Nichtentscheidung.
|
|
84
|
+
*/
|
|
85
|
+
export declare function selectFixedRelevanceEvidencePool(branches: readonly RelevanceEvidenceBranchV1[], eligibleCandidateIds: ReadonlySet<string>, branchDepth: number): FixedRelevanceEvidencePoolV1;
|
|
86
|
+
/** Validiert eine explizit profilgebundene Policy; ohne Vorgabe bleibt Legacy-Verhalten. */
|
|
87
|
+
export declare function resolveRelevancePolicy(config: RelevancePolicyConfig | undefined): RelevancePolicyV1 | false;
|
|
88
|
+
/** Validiert und kopiert die Korpusbindung einer Policy. */
|
|
89
|
+
export declare function resolveRelevancePolicyBinding(binding: RelevancePolicyBindingV1): RelevancePolicyBindingV1;
|
|
90
|
+
/**
|
|
91
|
+
* Entscheidet rein aus Kandidatenevidenz; keine Liste wird am eigenen
|
|
92
|
+
* Maximum normalisiert. Fehlt der feste Referenzrang, ist eine kalibrierte
|
|
93
|
+
* Negativentscheidung unzulaessig. Ein exakter Symbolname darf weiterhin
|
|
94
|
+
* direkt akzeptieren.
|
|
95
|
+
*/
|
|
96
|
+
export declare function decideResultRelevance(queryText: string, candidates: readonly RelevanceCandidateEvidence[], policy: RelevancePolicyV1): RelevanceDecisionV1;
|
|
97
|
+
/** Die drei Nicht-Symbol-Signale sind bewusst eine Konjunktion. */
|
|
98
|
+
export declare function satisfiesNonSymbolRelevancePolicy(measurements: CompleteRelevanceMeasurementsV1, policy: RelevancePolicyV1): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Groesster IDF-gewichteter Anteil ALLER normalisierten Query-Terme, den EIN
|
|
101
|
+
* Kandidat gemeinsam belegt. IDF wird ausschliesslich im tatsaechlichen
|
|
102
|
+
* Kandidatenpool berechnet; auch dort unbelegte Query-Terme bleiben mit ihrem
|
|
103
|
+
* hohen Gewicht im Nenner. Ein ueber mehrere Treffer verteilter Wortsalat
|
|
104
|
+
* gilt damit nicht als Antwort.
|
|
105
|
+
*/
|
|
106
|
+
export declare function maximumCandidateIdfCoverage(queryText: string, documents: readonly string[]): CandidateIdfCoverageV1;
|
|
107
|
+
//# sourceMappingURL=relevance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relevance.d.ts","sourceRoot":"","sources":["../src/relevance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ergebnis-Relevanz und Abwesenheitsaussage (WP-231).
|
|
3
|
+
*
|
|
4
|
+
* Ein Listenmaximum allein ist kein Relevanzbeleg: irgendein Kandidat ist
|
|
5
|
+
* immer der beste, auch wenn die gesuchte Sache im Repository nicht
|
|
6
|
+
* existiert. Die kalibrierte Entscheidung hat deshalb genau zwei Wege:
|
|
7
|
+
*
|
|
8
|
+
* 1. ein exakter Symbolname ist direkte Evidenz;
|
|
9
|
+
* 2. sonst muessen ALLE drei gemessenen Signale tragen: absoluter dichter
|
|
10
|
+
* Topwert, relativer Abstand zu einem festen dichten Referenzrang und die
|
|
11
|
+
* IDF-gewichtete Abdeckung der normalisierten Query-Terme in einem
|
|
12
|
+
* einzelnen Kandidaten der festen Dense-/Sparse-Evidenzunion.
|
|
13
|
+
*
|
|
14
|
+
* Die exportierte qwen-Policy ist am stehenden, in
|
|
15
|
+
* `benchmark/signals.mjs` vermessenen Untangle-Selbstindex kalibriert. Die
|
|
16
|
+
* Konjunktion behaelt dort alle 22 beantwortbaren Hauptfragen sowie sieben
|
|
17
|
+
* getrennte deutsche Prosa-Proben und verwirft 11 von 14 klaren bzw.
|
|
18
|
+
* adversarialen Negativfragen. Die beiden nachgemessenen Grenzwerte liegen
|
|
19
|
+
* bewusst zwischen dem jeweils schwaechsten positiven und staerksten klar
|
|
20
|
+
* negativen Signal; kein einzelnes Signal darf allein entscheiden. Andere
|
|
21
|
+
* Modelle oder Korpora koennen voellig andere Wertebereiche haben. Deshalb
|
|
22
|
+
* hat die Engine keinen universellen Default, und jede Policy muss zusaetzlich
|
|
23
|
+
* an Workspace und Collection gebunden werden. Auch nach einer wesentlichen
|
|
24
|
+
* Revision desselben Korpus ist neu zu messen und zu kalibrieren.
|
|
25
|
+
*/
|
|
26
|
+
import { termFrequencies, tokenizeIdentifiers } from "./tokenize.js";
|
|
27
|
+
export const NO_SUFFICIENT_MATCH_WARNING_CODE = "NO_SUFFICIENT_MATCH";
|
|
28
|
+
export const RELEVANCE_POLICY_NOT_EVALUATED_WARNING_CODE = "RELEVANCE_POLICY_NOT_EVALUATED";
|
|
29
|
+
export const QWEN3_EMBEDDING_06B_RELEVANCE_POLICY = {
|
|
30
|
+
calibrationId: "qwen3-embedding:0.6b/untangle-self-index-2026-09-05",
|
|
31
|
+
minimumDenseScore: 0.45,
|
|
32
|
+
minimumDenseSpread: 0.061,
|
|
33
|
+
denseReferenceRank: 50,
|
|
34
|
+
minimumCandidateIdfCoverage: 0.291,
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Baut einen von einem groesseren Abruflimit unabhaengigen Evidenzpool.
|
|
38
|
+
*
|
|
39
|
+
* Pro Abrufzweig zaehlt ausschliesslich das feste rohe Praefix der
|
|
40
|
+
* Kalibrierung. Erst danach werden residual ungueltige Kandidaten entfernt;
|
|
41
|
+
* ein tieferer Kandidat darf einen ausgeschlossenen Praefix-Kandidaten nicht
|
|
42
|
+
* ersetzen, nur weil der Aufrufer statt 50 nun 200 Treffer abruft. Fehlt
|
|
43
|
+
* dadurch ein dichter Referenzrang, trifft `decideResultRelevance` die
|
|
44
|
+
* sichtbare konservative Nichtentscheidung.
|
|
45
|
+
*/
|
|
46
|
+
export function selectFixedRelevanceEvidencePool(branches, eligibleCandidateIds, branchDepth) {
|
|
47
|
+
if (!Number.isInteger(branchDepth) || branchDepth < 1) {
|
|
48
|
+
throw new Error(`relevance evidence branchDepth must be an integer >= 1, got ${branchDepth}`);
|
|
49
|
+
}
|
|
50
|
+
const candidateIds = [];
|
|
51
|
+
const denseCandidateIds = [];
|
|
52
|
+
const seen = new Set();
|
|
53
|
+
const denseSeen = new Set();
|
|
54
|
+
for (const branch of branches) {
|
|
55
|
+
for (const candidateId of branch.candidateIds.slice(0, branchDepth)) {
|
|
56
|
+
if (!eligibleCandidateIds.has(candidateId)) {
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (branch.branch === "dense" && !denseSeen.has(candidateId)) {
|
|
60
|
+
denseSeen.add(candidateId);
|
|
61
|
+
denseCandidateIds.push(candidateId);
|
|
62
|
+
}
|
|
63
|
+
if (!seen.has(candidateId)) {
|
|
64
|
+
seen.add(candidateId);
|
|
65
|
+
candidateIds.push(candidateId);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return { candidateIds, denseCandidateIds };
|
|
70
|
+
}
|
|
71
|
+
/** Validiert eine explizit profilgebundene Policy; ohne Vorgabe bleibt Legacy-Verhalten. */
|
|
72
|
+
export function resolveRelevancePolicy(config) {
|
|
73
|
+
if (config === false || config === undefined) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
const policy = { ...config };
|
|
77
|
+
if (policy.calibrationId.trim() === "") {
|
|
78
|
+
throw new Error("relevancePolicy.calibrationId must not be empty");
|
|
79
|
+
}
|
|
80
|
+
assertFiniteRange("minimumDenseScore", policy.minimumDenseScore, -1, 1);
|
|
81
|
+
assertFiniteRange("minimumDenseSpread", policy.minimumDenseSpread, 0, 2);
|
|
82
|
+
if (!Number.isInteger(policy.denseReferenceRank) || policy.denseReferenceRank < 2) {
|
|
83
|
+
throw new Error(`relevancePolicy.denseReferenceRank must be an integer >= 2, got ${String(policy.denseReferenceRank)}`);
|
|
84
|
+
}
|
|
85
|
+
assertFiniteRange("minimumCandidateIdfCoverage", policy.minimumCandidateIdfCoverage, 0, 1);
|
|
86
|
+
return policy;
|
|
87
|
+
}
|
|
88
|
+
/** Validiert und kopiert die Korpusbindung einer Policy. */
|
|
89
|
+
export function resolveRelevancePolicyBinding(binding) {
|
|
90
|
+
const workspaceId = binding.workspaceId.trim();
|
|
91
|
+
const collection = binding.collection.trim();
|
|
92
|
+
if (workspaceId === "") {
|
|
93
|
+
throw new Error("relevancePolicy binding workspaceId must not be empty");
|
|
94
|
+
}
|
|
95
|
+
if (collection === "") {
|
|
96
|
+
throw new Error("relevancePolicy binding collection must not be empty");
|
|
97
|
+
}
|
|
98
|
+
const policy = resolveRelevancePolicy(binding.policy);
|
|
99
|
+
if (policy === false) {
|
|
100
|
+
throw new Error("relevancePolicy binding must contain an enabled policy");
|
|
101
|
+
}
|
|
102
|
+
return { workspaceId, collection, policy };
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Entscheidet rein aus Kandidatenevidenz; keine Liste wird am eigenen
|
|
106
|
+
* Maximum normalisiert. Fehlt der feste Referenzrang, ist eine kalibrierte
|
|
107
|
+
* Negativentscheidung unzulaessig. Ein exakter Symbolname darf weiterhin
|
|
108
|
+
* direkt akzeptieren.
|
|
109
|
+
*/
|
|
110
|
+
export function decideResultRelevance(queryText, candidates, policy) {
|
|
111
|
+
const exactSymbolMatches = candidates.filter((candidate) => candidate.exactSymbolMatch).length;
|
|
112
|
+
const denseScores = candidates
|
|
113
|
+
.map((candidate) => candidate.denseScore)
|
|
114
|
+
.filter((score) => score !== undefined && Number.isFinite(score))
|
|
115
|
+
.sort((left, right) => right - left);
|
|
116
|
+
const topDenseScore = denseScores[0];
|
|
117
|
+
const coverage = maximumCandidateIdfCoverage(queryText, candidates.map((candidate) => candidate.lexicalText));
|
|
118
|
+
const shared = {
|
|
119
|
+
exactSymbolMatches,
|
|
120
|
+
...(topDenseScore === undefined ? {} : { topDenseScore }),
|
|
121
|
+
denseScoresObserved: denseScores.length,
|
|
122
|
+
deepestDenseRankObserved: denseScores.length,
|
|
123
|
+
candidateEvidenceCount: candidates.length,
|
|
124
|
+
candidateIdfCoverage: coverage.coverage,
|
|
125
|
+
queryTerms: coverage.queryTerms,
|
|
126
|
+
policy: { ...policy },
|
|
127
|
+
};
|
|
128
|
+
if (exactSymbolMatches > 0) {
|
|
129
|
+
return { status: "accepted", basis: "exact_symbol", ...shared };
|
|
130
|
+
}
|
|
131
|
+
if (denseScores.length < policy.denseReferenceRank) {
|
|
132
|
+
return {
|
|
133
|
+
status: "not_evaluated",
|
|
134
|
+
basis: "dense_reference_unavailable",
|
|
135
|
+
...shared,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
const denseReferenceScore = denseScores[policy.denseReferenceRank - 1];
|
|
139
|
+
const denseSpread = topDenseScore - denseReferenceScore;
|
|
140
|
+
const sufficient = satisfiesNonSymbolRelevancePolicy({
|
|
141
|
+
topDenseScore: topDenseScore,
|
|
142
|
+
denseSpread,
|
|
143
|
+
candidateIdfCoverage: coverage.coverage,
|
|
144
|
+
}, policy);
|
|
145
|
+
return {
|
|
146
|
+
status: sufficient ? "accepted" : "rejected",
|
|
147
|
+
basis: sufficient
|
|
148
|
+
? "dense_absolute_relative_and_candidate_idf_coverage"
|
|
149
|
+
: "insufficient_evidence",
|
|
150
|
+
...shared,
|
|
151
|
+
denseReferenceScore,
|
|
152
|
+
denseSpread,
|
|
153
|
+
denseReferenceRankObserved: policy.denseReferenceRank,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/** Die drei Nicht-Symbol-Signale sind bewusst eine Konjunktion. */
|
|
157
|
+
export function satisfiesNonSymbolRelevancePolicy(measurements, policy) {
|
|
158
|
+
return (measurements.topDenseScore >= policy.minimumDenseScore &&
|
|
159
|
+
measurements.denseSpread >= policy.minimumDenseSpread &&
|
|
160
|
+
measurements.candidateIdfCoverage >= policy.minimumCandidateIdfCoverage);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Groesster IDF-gewichteter Anteil ALLER normalisierten Query-Terme, den EIN
|
|
164
|
+
* Kandidat gemeinsam belegt. IDF wird ausschliesslich im tatsaechlichen
|
|
165
|
+
* Kandidatenpool berechnet; auch dort unbelegte Query-Terme bleiben mit ihrem
|
|
166
|
+
* hohen Gewicht im Nenner. Ein ueber mehrere Treffer verteilter Wortsalat
|
|
167
|
+
* gilt damit nicht als Antwort.
|
|
168
|
+
*/
|
|
169
|
+
export function maximumCandidateIdfCoverage(queryText, documents) {
|
|
170
|
+
const queryTerms = [...termFrequencies(tokenizeIdentifiers(queryText)).keys()];
|
|
171
|
+
if (queryTerms.length === 0 || documents.length === 0) {
|
|
172
|
+
return { coverage: 0, queryTerms };
|
|
173
|
+
}
|
|
174
|
+
const documentTerms = documents.map((document) => new Set(tokenizeIdentifiers(document)));
|
|
175
|
+
const poolSize = documentTerms.length;
|
|
176
|
+
const weightedTerms = queryTerms.map((term) => {
|
|
177
|
+
const documentFrequency = documentTerms.filter((terms) => terms.has(term)).length;
|
|
178
|
+
const idf = Math.log(1 + (poolSize - documentFrequency + 0.5) / (documentFrequency + 0.5));
|
|
179
|
+
return { term, idf };
|
|
180
|
+
});
|
|
181
|
+
const totalIdf = weightedTerms.reduce((sum, entry) => sum + entry.idf, 0);
|
|
182
|
+
if (totalIdf === 0) {
|
|
183
|
+
return { coverage: 0, queryTerms };
|
|
184
|
+
}
|
|
185
|
+
let maximum = 0;
|
|
186
|
+
for (const terms of documentTerms) {
|
|
187
|
+
const matchedIdf = weightedTerms
|
|
188
|
+
.filter((entry) => terms.has(entry.term))
|
|
189
|
+
.reduce((sum, entry) => sum + entry.idf, 0);
|
|
190
|
+
maximum = Math.max(maximum, matchedIdf / totalIdf);
|
|
191
|
+
}
|
|
192
|
+
return { coverage: maximum, queryTerms };
|
|
193
|
+
}
|
|
194
|
+
function assertFiniteRange(name, value, minimum, maximum) {
|
|
195
|
+
if (!Number.isFinite(value) || value < minimum || value > maximum) {
|
|
196
|
+
throw new Error(`relevancePolicy.${name} must be finite and in [${minimum}, ${maximum}], got ${String(value)}`);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=relevance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relevance.js","sourceRoot":"","sources":["../src/relevance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/** Independent recall branches, bounded provider calls and deterministic failure diagnostics. */
|
|
2
|
+
import { type PayloadFilter, type PortCallOptions, type ScoredPointV1, type ScrollPageV1, type ToolWarningV1, type VectorStore } from "@untangle-code/domain";
|
|
3
|
+
import type { SearchSkipInput } from "./ledger.js";
|
|
4
|
+
import type { ProfileTargetV1, SparseVectorizer } from "./port.js";
|
|
5
|
+
import type { SearchMode } from "./types.js";
|
|
6
|
+
export type RetrievalBranch = "dense" | "sparse" | "symbol";
|
|
7
|
+
type RetrievalTarget = Pick<ProfileTargetV1, "collection" | "embeddingProfileId" | "embedder">;
|
|
8
|
+
export interface IndependentRetrievalRequest {
|
|
9
|
+
vectorStore: Pick<VectorStore, "hybridQuery" | "scroll" | "backend">;
|
|
10
|
+
target: RetrievalTarget;
|
|
11
|
+
text: string;
|
|
12
|
+
filter: PayloadFilter;
|
|
13
|
+
candidateLimit: number;
|
|
14
|
+
mode: SearchMode;
|
|
15
|
+
sparseVectorizer?: SparseVectorizer;
|
|
16
|
+
branchTimeoutMs: number;
|
|
17
|
+
}
|
|
18
|
+
interface FailedBranch {
|
|
19
|
+
branch: RetrievalBranch;
|
|
20
|
+
status: "failed";
|
|
21
|
+
error: unknown;
|
|
22
|
+
}
|
|
23
|
+
export interface IndependentRetrievalResult {
|
|
24
|
+
densePoints: readonly ScoredPointV1[];
|
|
25
|
+
sparsePoints: readonly ScoredPointV1[];
|
|
26
|
+
symbolPage?: ScrollPageV1;
|
|
27
|
+
completedBranches: ReadonlySet<RetrievalBranch>;
|
|
28
|
+
failures: readonly FailedBranch[];
|
|
29
|
+
warnings: ToolWarningV1[];
|
|
30
|
+
caveats: string[];
|
|
31
|
+
skipped: SearchSkipInput[];
|
|
32
|
+
}
|
|
33
|
+
/** The mode controls both recall and ranking, so it has one shared definition. */
|
|
34
|
+
export declare function branchesOfMode(mode: SearchMode): {
|
|
35
|
+
dense: boolean;
|
|
36
|
+
lexical: boolean;
|
|
37
|
+
symbol: boolean;
|
|
38
|
+
};
|
|
39
|
+
/** Cancellation is control flow, never a degraded retrieval result. */
|
|
40
|
+
export declare function rethrowCancellation(error: unknown, options?: PortCallOptions): void;
|
|
41
|
+
/** Return all requested branch outcomes in fixed dense/sparse/symbol order. */
|
|
42
|
+
export declare function retrieveIndependentBranches(request: IndependentRetrievalRequest, options?: PortCallOptions): Promise<IndependentRetrievalResult>;
|
|
43
|
+
/** The caller first records diagnostics, then distinguishes total failure from empty success. */
|
|
44
|
+
export declare function assertCompletedRetrieval(result: IndependentRetrievalResult, target: RetrievalTarget): void;
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=retrieval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../src/retrieval.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC5D,KAAK,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,oBAAoB,GAAG,UAAU,CAAC,CAAC;AAE/F,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;IACrE,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,YAAY;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB;AAOD,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,SAAS,aAAa,EAAE,CAAC;IACtC,YAAY,EAAE,SAAS,aAAa,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,iBAAiB,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAChD,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAClC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG;IAChD,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB,CAWA;AAED,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAQnF;AA2JD,+EAA+E;AAC/E,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,2BAA2B,EACpC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,0BAA0B,CAAC,CAiCrC;AAED,iGAAiG;AACjG,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,0BAA0B,EAClC,MAAM,EAAE,eAAe,GACtB,IAAI,CAgBN"}
|