@cachly-dev/mcp-server 0.10.129 → 0.10.131
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/README.md +2 -2
- package/dist/index.js +1 -7
- package/dist/packages/telegram-notify/client.js +2 -75
- package/dist/src/ambient-cli.js +7 -253
- package/dist/src/ambient-deps.js +1 -55
- package/dist/src/ambient-hooks.js +5 -278
- package/dist/src/ambient-ledger.js +6 -95
- package/dist/src/ambient-memory.js +1 -67
- package/dist/src/ambient-recall.js +1 -221
- package/dist/src/aussetzer.js +1 -225
- package/dist/src/auth.js +9 -140
- package/dist/src/autor-abzeichen.js +1 -56
- package/dist/src/autor.js +1 -136
- package/dist/src/bauabdruck.js +1 -93
- package/dist/src/bedeutung.js +2 -323
- package/dist/src/bench/cachly-bench.js +4 -249
- package/dist/src/bench/external-corpus.js +4 -135
- package/dist/src/bench/fixtures.js +1 -225
- package/dist/src/brain-export.js +16 -119
- package/dist/src/brain-watch-hook.js +8 -86
- package/dist/src/cachly-url.js +1 -21
- package/dist/src/ckg.js +1 -108
- package/dist/src/cls-hook.js +8 -94
- package/dist/src/confidence.js +1 -50
- package/dist/src/credentials.js +1 -85
- package/dist/src/deutsch.js +1 -223
- package/dist/src/doctor.js +2 -248
- package/dist/src/editor.js +1 -63
- package/dist/src/eingaenge-nachruesten.js +1 -290
- package/dist/src/eingaenge.js +2 -260
- package/dist/src/embeddings.js +13 -223
- package/dist/src/feldreparatur.js +3 -113
- package/dist/src/first-contact.js +4 -108
- package/dist/src/first-recall-proof.js +4 -41
- package/dist/src/funnel-milestones.js +2 -48
- package/dist/src/geliefert.js +1 -114
- package/dist/src/handlers/advanced.js +38 -537
- package/dist/src/handlers/brain.js +69 -4397
- package/dist/src/handlers/cache.js +59 -638
- package/dist/src/handlers/context.js +17 -182
- package/dist/src/handlers/fedbrain.js +40 -1436
- package/dist/src/handlers/instances.js +16 -201
- package/dist/src/handlers/roadmap.js +13 -175
- package/dist/src/handlers/share.js +19 -530
- package/dist/src/handlers/syndicate.js +38 -904
- package/dist/src/handlers/team.js +89 -1865
- package/dist/src/handlers/viz.js +3 -148
- package/dist/src/index.js +321 -4281
- package/dist/src/interferenz.js +1 -141
- package/dist/src/kostprobe.js +7 -125
- package/dist/src/lesson-preview.js +2 -133
- package/dist/src/namespace.js +1 -128
- package/dist/src/notifier.js +1 -6
- package/dist/src/rangfolge-stellschrauben.js +1 -0
- package/dist/src/rangfolge.js +1 -249
- package/dist/src/raumkorrektur.js +1 -197
- package/dist/src/recall-tiefe.js +1 -42
- package/dist/src/rerank.js +1 -154
- package/dist/src/resonanz.js +1 -140
- package/dist/src/search.js +1 -2104
- package/dist/src/seltenheitsbestand.js +1 -92
- package/dist/src/speicherlage.js +1 -84
- package/dist/src/spuren.js +1 -150
- package/dist/src/starter-corpus.js +1 -165
- package/dist/src/telemetry-types.js +0 -13
- package/dist/src/tools.js +10 -2465
- package/dist/src/toolspecs.js +1 -121
- package/dist/src/upgrade-nudge.js +1 -29
- package/dist/src/utils.js +1 -89
- package/dist/src/versuch.js +1 -264
- package/dist/src/vorspann.js +1 -146
- package/dist/src/wartung/vektoren-verdichten.js +1 -200
- package/dist/src/werkzeug-nutzung.js +1 -72
- package/dist/src/wertbeitrag.js +1 -203
- package/dist/src/wirkungsspur.js +1 -0
- package/glama.json +1 -1
- package/package.json +8 -7
- package/server.json +3 -3
- package/dist/index.d.ts +0 -1
- package/dist/index.js.map +0 -1
- package/dist/packages/telegram-notify/client.d.ts +0 -19
- package/dist/packages/telegram-notify/client.js.map +0 -1
- package/dist/src/ambient-cli.d.ts +0 -101
- package/dist/src/ambient-cli.js.map +0 -1
- package/dist/src/ambient-deps.d.ts +0 -26
- package/dist/src/ambient-deps.js.map +0 -1
- package/dist/src/ambient-hooks.d.ts +0 -137
- package/dist/src/ambient-hooks.js.map +0 -1
- package/dist/src/ambient-ledger.d.ts +0 -19
- package/dist/src/ambient-ledger.js.map +0 -1
- package/dist/src/ambient-memory.d.ts +0 -12
- package/dist/src/ambient-memory.js.map +0 -1
- package/dist/src/ambient-recall.d.ts +0 -127
- package/dist/src/ambient-recall.js.map +0 -1
- package/dist/src/aussetzer.d.ts +0 -156
- package/dist/src/aussetzer.js.map +0 -1
- package/dist/src/auth.d.ts +0 -43
- package/dist/src/auth.js.map +0 -1
- package/dist/src/autor-abzeichen.d.ts +0 -41
- package/dist/src/autor-abzeichen.js.map +0 -1
- package/dist/src/autor.d.ts +0 -101
- package/dist/src/autor.js.map +0 -1
- package/dist/src/bauabdruck-daten.generiert.json +0 -5
- package/dist/src/bauabdruck.d.ts +0 -38
- package/dist/src/bauabdruck.js.map +0 -1
- package/dist/src/bedeutung.d.ts +0 -168
- package/dist/src/bedeutung.js.map +0 -1
- package/dist/src/bench/cachly-bench.d.ts +0 -61
- package/dist/src/bench/cachly-bench.js.map +0 -1
- package/dist/src/bench/external-corpus.d.ts +0 -44
- package/dist/src/bench/external-corpus.js.map +0 -1
- package/dist/src/bench/fixtures.d.ts +0 -37
- package/dist/src/bench/fixtures.js.map +0 -1
- package/dist/src/brain-export.d.ts +0 -64
- package/dist/src/brain-export.js.map +0 -1
- package/dist/src/brain-watch-hook.d.ts +0 -21
- package/dist/src/brain-watch-hook.js.map +0 -1
- package/dist/src/cachly-url.d.ts +0 -68
- package/dist/src/cachly-url.js.map +0 -1
- package/dist/src/ckg.d.ts +0 -54
- package/dist/src/ckg.js.map +0 -1
- package/dist/src/cls-hook.d.ts +0 -15
- package/dist/src/cls-hook.js.map +0 -1
- package/dist/src/confidence.d.ts +0 -19
- package/dist/src/confidence.js.map +0 -1
- package/dist/src/credentials.d.ts +0 -37
- package/dist/src/credentials.js.map +0 -1
- package/dist/src/deutsch.d.ts +0 -98
- package/dist/src/deutsch.js.map +0 -1
- package/dist/src/doctor.d.ts +0 -47
- package/dist/src/doctor.js.map +0 -1
- package/dist/src/editor.d.ts +0 -9
- package/dist/src/editor.js.map +0 -1
- package/dist/src/eingaenge-nachruesten.d.ts +0 -41
- package/dist/src/eingaenge-nachruesten.js.map +0 -1
- package/dist/src/eingaenge.d.ts +0 -159
- package/dist/src/eingaenge.js.map +0 -1
- package/dist/src/embeddings.d.ts +0 -48
- package/dist/src/embeddings.js.map +0 -1
- package/dist/src/feldreparatur.d.ts +0 -58
- package/dist/src/feldreparatur.js.map +0 -1
- package/dist/src/first-contact.d.ts +0 -56
- package/dist/src/first-contact.js.map +0 -1
- package/dist/src/first-recall-proof.d.ts +0 -19
- package/dist/src/first-recall-proof.js.map +0 -1
- package/dist/src/funnel-milestones.d.ts +0 -5
- package/dist/src/funnel-milestones.js.map +0 -1
- package/dist/src/geliefert.d.ts +0 -63
- package/dist/src/geliefert.js.map +0 -1
- package/dist/src/handlers/advanced.d.ts +0 -6
- package/dist/src/handlers/advanced.js.map +0 -1
- package/dist/src/handlers/brain.d.ts +0 -41
- package/dist/src/handlers/brain.js.map +0 -1
- package/dist/src/handlers/cache.d.ts +0 -6
- package/dist/src/handlers/cache.js.map +0 -1
- package/dist/src/handlers/context.d.ts +0 -6
- package/dist/src/handlers/context.js.map +0 -1
- package/dist/src/handlers/fedbrain.d.ts +0 -18
- package/dist/src/handlers/fedbrain.js.map +0 -1
- package/dist/src/handlers/instances.d.ts +0 -33
- package/dist/src/handlers/instances.js.map +0 -1
- package/dist/src/handlers/roadmap.d.ts +0 -6
- package/dist/src/handlers/roadmap.js.map +0 -1
- package/dist/src/handlers/share.d.ts +0 -8
- package/dist/src/handlers/share.js.map +0 -1
- package/dist/src/handlers/syndicate.d.ts +0 -6
- package/dist/src/handlers/syndicate.js.map +0 -1
- package/dist/src/handlers/team.d.ts +0 -45
- package/dist/src/handlers/team.js.map +0 -1
- package/dist/src/handlers/viz.d.ts +0 -6
- package/dist/src/handlers/viz.js.map +0 -1
- package/dist/src/index.d.ts +0 -93
- package/dist/src/index.js.map +0 -1
- package/dist/src/interferenz.d.ts +0 -111
- package/dist/src/interferenz.js.map +0 -1
- package/dist/src/kostprobe.d.ts +0 -25
- package/dist/src/kostprobe.js.map +0 -1
- package/dist/src/lesson-preview.d.ts +0 -81
- package/dist/src/lesson-preview.js.map +0 -1
- package/dist/src/namespace.d.ts +0 -20
- package/dist/src/namespace.js.map +0 -1
- package/dist/src/notifier.d.ts +0 -5
- package/dist/src/notifier.js.map +0 -1
- package/dist/src/rangfolge.d.ts +0 -205
- package/dist/src/rangfolge.js.map +0 -1
- package/dist/src/raumkorrektur.d.ts +0 -100
- package/dist/src/raumkorrektur.js.map +0 -1
- package/dist/src/recall-tiefe.d.ts +0 -48
- package/dist/src/recall-tiefe.js.map +0 -1
- package/dist/src/rerank.d.ts +0 -48
- package/dist/src/rerank.js.map +0 -1
- package/dist/src/resonanz.d.ts +0 -85
- package/dist/src/resonanz.js.map +0 -1
- package/dist/src/search.d.ts +0 -153
- package/dist/src/search.js.map +0 -1
- package/dist/src/seltenheitsbestand.d.ts +0 -53
- package/dist/src/seltenheitsbestand.js.map +0 -1
- package/dist/src/speicherlage.d.ts +0 -51
- package/dist/src/speicherlage.js.map +0 -1
- package/dist/src/spuren.d.ts +0 -97
- package/dist/src/spuren.js.map +0 -1
- package/dist/src/starter-corpus.d.ts +0 -28
- package/dist/src/starter-corpus.js.map +0 -1
- package/dist/src/telemetry-types.d.ts +0 -87
- package/dist/src/telemetry-types.js.map +0 -1
- package/dist/src/tools.d.ts +0 -2933
- package/dist/src/tools.js.map +0 -1
- package/dist/src/toolspecs.d.ts +0 -43
- package/dist/src/toolspecs.js.map +0 -1
- package/dist/src/upgrade-nudge.d.ts +0 -15
- package/dist/src/upgrade-nudge.js.map +0 -1
- package/dist/src/utils.d.ts +0 -34
- package/dist/src/utils.js.map +0 -1
- package/dist/src/versuch.d.ts +0 -187
- package/dist/src/versuch.js.map +0 -1
- package/dist/src/vorspann.d.ts +0 -73
- package/dist/src/vorspann.js.map +0 -1
- package/dist/src/wartung/vektoren-verdichten.d.ts +0 -50
- package/dist/src/wartung/vektoren-verdichten.js.map +0 -1
- package/dist/src/werkzeug-nutzung.d.ts +0 -62
- package/dist/src/werkzeug-nutzung.js.map +0 -1
- package/dist/src/wertbeitrag.d.ts +0 -148
- package/dist/src/wertbeitrag.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lesson-preview.js","sourceRoot":"","sources":["../../src/lesson-preview.ts"],"names":[],"mappings":"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"}
|
package/dist/src/namespace.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Namespace Auto-Detection
|
|
3
|
-
*
|
|
4
|
-
* Classify a prompt into one of 5 semantic namespaces using text heuristics.
|
|
5
|
-
* Overhead: <0.1 ms. No embedding required.
|
|
6
|
-
*
|
|
7
|
-
* Covers: EN · DE · FR · ES · IT · PT · NL
|
|
8
|
-
* Source of truth for keyword lists: sdk/shared/filler-words.ts
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* Classify a prompt into one of 5 semantic namespaces.
|
|
12
|
-
* Returns one of: `cachly:sem:code` | `:translation` | `:summary` | `:qa` | `:creative`
|
|
13
|
-
*/
|
|
14
|
-
export declare function detectNamespace(prompt: string): string;
|
|
15
|
-
/**
|
|
16
|
-
* Filler words used by prompt normalisation in MCP context.
|
|
17
|
-
* Source of truth: sdk/shared/filler-words.ts
|
|
18
|
-
* Covers: EN · DE · FR · ES · IT · PT
|
|
19
|
-
*/
|
|
20
|
-
export declare const FILLER_WORDS: string[];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/namespace.ts"],"names":[],"mappings":"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"}
|
package/dist/src/notifier.d.ts
DELETED
package/dist/src/notifier.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"notifier.js","sourceRoot":"","sources":["../../src/notifier.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC"}
|
package/dist/src/rangfolge.d.ts
DELETED
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Der zusammengesetzte Sortierer.
|
|
3
|
-
*
|
|
4
|
-
* ── Was hier drinsteckt, und was NICHT ──────────────────────────────────────
|
|
5
|
-
*
|
|
6
|
-
* Am 19.08.2026 wurden an 499 echten Lektionen mit 100 Fragen ein Dutzend
|
|
7
|
-
* Verfahren durchgemessen. Die meisten haben nichts gebracht. Sie stehen hier,
|
|
8
|
-
* damit sie niemand ein zweites Mal baut:
|
|
9
|
-
*
|
|
10
|
-
* Symptom-Sicht (what_failed als eigener Vektor) 17 % statt 40 % — das Feld
|
|
11
|
-
* beschreibt bei uns nicht das Symptom, sondern was vergeblich versucht wurde
|
|
12
|
-
* Schwerpunkt abziehen 41 % — im Rauschen
|
|
13
|
-
* Hauptrichtungen entfernen (1, 3, 6 Stueck) 37–41 % — im Rauschen
|
|
14
|
-
* Nabenabzug (CSLS-artig) 41 % — im Rauschen
|
|
15
|
-
* Text in Stuecke schneiden nicht gebaut: gemessen deckt
|
|
16
|
-
* das beste Stueck genauso viel ab wie der ganze Text (Verhaeltnis 1,00),
|
|
17
|
-
* und es liegt bei 86 von 96 Fragen ohnehin am Anfang
|
|
18
|
-
*
|
|
19
|
-
* Was BLEIBT, sind vier Bestandteile — kreuzweise geprueft, also auf der einen
|
|
20
|
-
* Haelfte der Fragen eingestellt und auf der anderen gemessen, in beide
|
|
21
|
-
* Richtungen:
|
|
22
|
-
*
|
|
23
|
-
* P@1 MRR
|
|
24
|
-
* nur Bedeutung 40 % 51,3 %
|
|
25
|
-
* zusammengesetzt 51 % 57,0 %
|
|
26
|
-
*
|
|
27
|
-
* ── Die vier Bestandteile ───────────────────────────────────────────────────
|
|
28
|
-
*
|
|
29
|
-
* 1. NAEHE ZUM GANZEN TEXT (Sicht A). Der Grundstock.
|
|
30
|
-
*
|
|
31
|
-
* 2. NAEHE ZUM THEMENNAMEN (Sicht C). Der Name ist kurz wie eine Frage — der
|
|
32
|
-
* Vergleich ist damit symmetrisch, waehrend eine 60-Zeichen-Frage gegen
|
|
33
|
-
* 1376 Zeichen Text es nicht ist. Allein liefert diese Sicht nur 26 %, im
|
|
34
|
-
* Verbund traegt sie verlaesslich (Gewicht 0,6 in beiden Richtungen).
|
|
35
|
-
*
|
|
36
|
-
* 3. RUECKKOPPLUNG. Die ersten drei Treffer sind meistens ungefaehr richtig.
|
|
37
|
-
* Ihre Vektoren werden zu einem Viertel unter die Frage gemischt, dann wird
|
|
38
|
-
* erneut verglichen. Kostet nichts — keine neue Einbettung, nur eine
|
|
39
|
-
* Mittelung vorhandener Zahlen.
|
|
40
|
-
*
|
|
41
|
-
* 4. SELTENHEITS-UEBERLAPPUNG. Welcher Anteil der SELTENEN Fragewoerter kommt
|
|
42
|
-
* im Text vor. Ohne Laengennormierung, ohne unscharfe Treffer, ohne
|
|
43
|
-
* Bigramme.
|
|
44
|
-
*
|
|
45
|
-
* Das ist der unbequeme Befund: dieses eine Verhaeltnis bekam beim Einstellen
|
|
46
|
-
* das Gewicht 1,0 bis 1,6 — unser ausgefeiltes BM25 mit Laengennormierung,
|
|
47
|
-
* Bigramm-Naehe, unscharfen Treffern und Frischebonus bekam NULL. Nicht weil
|
|
48
|
-
* Woerter nichts taugen, sondern weil das ganze Beiwerk beim Sortieren
|
|
49
|
-
* daneben misst.
|
|
50
|
-
*
|
|
51
|
-
* ── Warum innerhalb des Topfes normiert wird ────────────────────────────────
|
|
52
|
-
*
|
|
53
|
-
* Ueber den ganzen Bestand liegen alle Aehnlichkeiten zwischen 0,42 und 0,61 —
|
|
54
|
-
* ein sehr schmales Band, weil alle Vektoren eine gemeinsame Grundrichtung
|
|
55
|
-
* teilen (gemessen: 69,8 Prozent). Unter fuenfzig Kandidaten spreizt eine
|
|
56
|
-
* Normierung auf 0 bis 1 genau die Unterschiede auf, um die es geht. Das ist
|
|
57
|
-
* dasselbe Ziel wie beim Schwerpunkt-Abziehen — nur dort, wo es wirkt.
|
|
58
|
-
*/
|
|
59
|
-
/** Wörter eines Textes, umlautfrei, ohne Kurzwörter. */
|
|
60
|
-
export declare function inhaltsWoerter(text: string): Set<string>;
|
|
61
|
-
/**
|
|
62
|
-
* Es gibt hier KEINE Stammbildung — und das ist gemessen, nicht vergessen.
|
|
63
|
-
*
|
|
64
|
-
* Naheliegend wäre, `Abhaengigkeiten` und `Abhaengigkeit` auf einen Nenner zu
|
|
65
|
-
* bringen. Drei Varianten wurden am 19.08.2026 an 499 Lektionen mit 100 Fragen
|
|
66
|
-
* kreuzweise durchgemessen:
|
|
67
|
-
*
|
|
68
|
-
* ohne Stammbildung P@1 50 % MRR 56,4 %
|
|
69
|
-
* erste 6 Zeichen P@1 47 % MRR 54,7 %
|
|
70
|
-
* erste 8 Zeichen P@1 47 % MRR 54,7 %
|
|
71
|
-
*
|
|
72
|
-
* Jede Form von Kürzen kostet drei Punkte. Der Grund liegt daran, was diese
|
|
73
|
-
* Suche trägt: seltene Fachwörter. `fail2ban`, `stampede`, `timestamptz`,
|
|
74
|
-
* `keycloak` entscheiden eine Frage praktisch allein — und jede Verschmelzung
|
|
75
|
-
* verwischt genau sie. `container` und `contains` werden zu demselben Wort,
|
|
76
|
-
* und aus zwei seltenen wird ein häufiges.
|
|
77
|
-
*
|
|
78
|
-
* Beugung einzufangen lohnt sich also nur, wo die häufigen Wörter zählen. Hier
|
|
79
|
-
* zählen die seltenen.
|
|
80
|
-
*
|
|
81
|
-
* (Die Wortform-Behandlung in deutsch.ts bleibt davon unberührt — sie wirkt im
|
|
82
|
-
* Wortabgleich, der die Vorauswahl macht, nicht in dieser Bewertung.)
|
|
83
|
-
*/
|
|
84
|
-
export declare function grobStamm(w: string): string;
|
|
85
|
-
/**
|
|
86
|
-
* Die Seltenheit jedes Wortes im Bestand — einmal berechnet, oft benutzt.
|
|
87
|
-
*
|
|
88
|
-
* Trifft eine Frage das Wort "nicht", sagt das nichts. Trifft sie "fail2ban",
|
|
89
|
-
* ist die Sache praktisch entschieden. Ohne diese Gewichtung sind beide gleich
|
|
90
|
-
* viel wert.
|
|
91
|
-
*/
|
|
92
|
-
export declare class Seltenheit {
|
|
93
|
-
private df;
|
|
94
|
-
private anzahl;
|
|
95
|
-
/** @param texte je ein Text pro Datensatz */
|
|
96
|
-
constructor(texte: string[]);
|
|
97
|
-
wert(wort: string): number;
|
|
98
|
-
/**
|
|
99
|
-
* Welcher Anteil der seltenen Fragewörter kommt im Text vor.
|
|
100
|
-
*
|
|
101
|
-
* Der Nenner ist die Summe über ALLE Fragewörter — ein fehlendes seltenes
|
|
102
|
-
* Wort zieht damit den Wert herunter. Fehlende Belege zählen also mit, nicht
|
|
103
|
-
* nur vorhandene.
|
|
104
|
-
*/
|
|
105
|
-
deckung(frageWoerter: Set<string>, textWoerter: Set<string>): number;
|
|
106
|
-
}
|
|
107
|
-
/** Auf 0 bis 1 spreizen — innerhalb des Topfes, nicht über den Bestand. */
|
|
108
|
-
export declare function spreizeImTopf(werte: number[]): number[];
|
|
109
|
-
/**
|
|
110
|
-
* Die Frage mit ihren besten Treffern anreichern.
|
|
111
|
-
*
|
|
112
|
-
* Die Frage benutzt Alltagsworte, die Lektionen Fachworte. Die ersten Treffer
|
|
113
|
-
* schlagen diese Brücke: ihre Vektoren zeigen dorthin, wo die Antwort liegt.
|
|
114
|
-
*
|
|
115
|
-
* Das Risiko ist bekannt und begrenzt: sind die ersten Treffer falsch, zieht
|
|
116
|
-
* die Anreicherung in die falsche Richtung. Deshalb bleibt die ursprüngliche
|
|
117
|
-
* Frage mit drei Vierteln stehen — gemessen war das besser als jede stärkere
|
|
118
|
-
* Beimischung.
|
|
119
|
-
*/
|
|
120
|
-
export declare function reichereAn(frage: number[], besteTreffer: number[][], anteil?: number): number[];
|
|
121
|
-
/**
|
|
122
|
-
* Die Gewichte.
|
|
123
|
-
*
|
|
124
|
-
* Kreuzweise ermittelt: auf der einen Hälfte der Fragen eingestellt, auf der
|
|
125
|
-
* anderen gemessen, in beide Richtungen. Die drei Werte hier waren in BEIDEN
|
|
126
|
-
* Richtungen stabil. Zwei weitere Merkmale — Überlappung mit dem Themennamen
|
|
127
|
-
* und Qualitätsmerkmale — schwankten zwischen den Richtungen und sind deshalb
|
|
128
|
-
* NICHT dabei: was nur in einer Hälfte hilft, ist eine Eigenschaft dieser
|
|
129
|
-
* Hälfte, keine des Verfahrens.
|
|
130
|
-
*/
|
|
131
|
-
export declare const GEWICHTE: {
|
|
132
|
-
/** Nähe zum ganzen Text. Der Grundstock, deshalb 1. */
|
|
133
|
-
readonly text: 1;
|
|
134
|
-
/** Nähe zum Themennamen. In beiden Richtungen 0,6. */
|
|
135
|
-
readonly thema: 0.6;
|
|
136
|
-
/** Angereicherte Frage gegen den ganzen Text. In beiden Richtungen 0,3. */
|
|
137
|
-
readonly rueckkopplung: 0.3;
|
|
138
|
-
/** Anteil der seltenen Fragewörter im Text. 1,0 bis 1,6 — Mitte genommen. */
|
|
139
|
-
readonly seltenheit: 1.3;
|
|
140
|
-
};
|
|
141
|
-
export interface Bewertbar {
|
|
142
|
-
/** Kosinus zur Sicht über den ganzen Text, oder -2 wenn kein Vektor da ist. */
|
|
143
|
-
naeheText: number;
|
|
144
|
-
/** Kosinus zur Sicht über den Themennamen. */
|
|
145
|
-
naeheThema: number;
|
|
146
|
-
/** Kosinus der angereicherten Frage zum ganzen Text. */
|
|
147
|
-
naeheRueckkopplung: number;
|
|
148
|
-
/** Anteil der seltenen Fragewörter, die im Text vorkommen. */
|
|
149
|
-
seltenheitsDeckung: number;
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Punktzahl je Kandidat. Höher ist besser.
|
|
153
|
-
*
|
|
154
|
-
* Erwartet den GANZEN Topf auf einmal, weil die Normierung ihn braucht — eine
|
|
155
|
-
* Punktzahl für einen einzelnen Kandidaten gibt es nicht und kann es nicht
|
|
156
|
-
* geben.
|
|
157
|
-
*/
|
|
158
|
-
export declare function bewerteTopf(topf: Bewertbar[], gewichte?: {
|
|
159
|
-
/** Nähe zum ganzen Text. Der Grundstock, deshalb 1. */
|
|
160
|
-
readonly text: 1;
|
|
161
|
-
/** Nähe zum Themennamen. In beiden Richtungen 0,6. */
|
|
162
|
-
readonly thema: 0.6;
|
|
163
|
-
/** Angereicherte Frage gegen den ganzen Text. In beiden Richtungen 0,3. */
|
|
164
|
-
readonly rueckkopplung: 0.3;
|
|
165
|
-
/** Anteil der seltenen Fragewörter im Text. 1,0 bis 1,6 — Mitte genommen. */
|
|
166
|
-
readonly seltenheit: 1.3;
|
|
167
|
-
}): number[];
|
|
168
|
-
/**
|
|
169
|
-
* Punktzahl je Kandidat — STRENGE Fassung: Merkmale multiplizieren statt addieren.
|
|
170
|
-
*
|
|
171
|
-
* ── Das Vorbild ─────────────────────────────────────────────────────────────
|
|
172
|
-
*
|
|
173
|
-
* Kinetisches Korrekturlesen (Hopfield 1974, T-Zell-Rezeptoren): Biochemie
|
|
174
|
-
* erreicht Fehlerraten weit unter dem, was ein einzelner Bindungsschritt
|
|
175
|
-
* hergibt, indem sie Kandidaten durch eine KETTE von Pruefschritten schickt.
|
|
176
|
-
* Bei jedem Schritt kann der Kandidat abfallen; die Trennschaerfe der Schritte
|
|
177
|
-
* MULTIPLIZIERT sich, statt sich zu mitteln.
|
|
178
|
-
*
|
|
179
|
-
* ── Der Unterschied zur Addition ────────────────────────────────────────────
|
|
180
|
-
*
|
|
181
|
-
* In der Summe (bewerteTopf) kann ein Kandidat totale Schwaeche in einem
|
|
182
|
-
* Merkmal mit Staerke in einem anderen voll ausgleichen. Im Produkt nicht:
|
|
183
|
-
* eine Null in einem Merkmal drueckt die Gesamtnote, egal wie gut der Rest
|
|
184
|
-
* ist. Das Produkt verlangt STIMMIGKEIT ueber alle Merkmale — die Summe
|
|
185
|
-
* verlangt nur Masse.
|
|
186
|
-
*
|
|
187
|
-
* `basis` stellt die Strenge ein: grosse Basis naehert sich der Summe an,
|
|
188
|
-
* kleine Basis macht eine Null toedlich. Rechnerisch ist das eine gewichtete
|
|
189
|
-
* Summe im Logarithmus — der Unterschied zur Addition ist die begrenzte
|
|
190
|
-
* Ausgleichbarkeit, nicht die Buchhaltung.
|
|
191
|
-
*
|
|
192
|
-
* Ergebnis der Messung vom 21.08.2026 steht in src/bench/fusion-vergleich.ts.
|
|
193
|
-
*/
|
|
194
|
-
export declare function bewerteTopfStreng(topf: Bewertbar[], gewichte?: {
|
|
195
|
-
/** Nähe zum ganzen Text. Der Grundstock, deshalb 1. */
|
|
196
|
-
readonly text: 1;
|
|
197
|
-
/** Nähe zum Themennamen. In beiden Richtungen 0,6. */
|
|
198
|
-
readonly thema: 0.6;
|
|
199
|
-
/** Angereicherte Frage gegen den ganzen Text. In beiden Richtungen 0,3. */
|
|
200
|
-
readonly rueckkopplung: 0.3;
|
|
201
|
-
/** Anteil der seltenen Fragewörter im Text. 1,0 bis 1,6 — Mitte genommen. */
|
|
202
|
-
readonly seltenheit: 1.3;
|
|
203
|
-
}, basis?: number): number[];
|
|
204
|
-
/** Bequemlichkeit: Kosinus mit Lücken-Behandlung. */
|
|
205
|
-
export declare function naeheOderLuecke(frage: number[] | null, vektor: number[] | null | undefined): number;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rangfolge.js","sourceRoot":"","sources":["../../src/rangfolge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Raumkorrektur: den Einbettungsraum brauchbar machen, bevor man darin sucht.
|
|
3
|
-
*
|
|
4
|
-
* ── Drei Übel, drei Gegenmittel ─────────────────────────────────────────────
|
|
5
|
-
*
|
|
6
|
-
* Ein Einbettungsraum ist nicht neutral. Er hat Eigenschaften, die das Sortieren
|
|
7
|
-
* verderben — alle drei am 19.08.2026 an 499 echten Lektionen gemessen:
|
|
8
|
-
*
|
|
9
|
-
* 1. GEMEINSAME GRUNDRICHTUNG (Anisotropie). Ein durchschnittlicher Vektor
|
|
10
|
-
* zeigt zu 69,8 Prozent in Richtung des Schwerpunkts aller Vektoren. Dieser
|
|
11
|
-
* Anteil ist in JEDEM Vergleich derselbe und sagt daher nichts — er hebt nur
|
|
12
|
-
* alle Werte an und drückt die Unterschiede zusammen. Gemessen liegen alle
|
|
13
|
-
* Ähnlichkeiten zwischen 0,42 und 0,61.
|
|
14
|
-
*
|
|
15
|
-
* 2. RICHTUNGEN, DIE NUR SCHREIBSTIL SIND. Nach dem Schwerpunkt bleiben ein
|
|
16
|
-
* paar Hauptrichtungen übrig, die keine Bedeutung tragen, sondern Textsorte:
|
|
17
|
-
* "ist eine Fehlermeldung", "enthält Codeschnipsel", "ist auf Deutsch".
|
|
18
|
-
* Sie sind stark und lenken die Rangfolge.
|
|
19
|
-
*
|
|
20
|
-
* 3. NABEN. Manche Vektoren liegen einfach nahe an vielem. Sie erscheinen als
|
|
21
|
-
* Treffer für Fragen, mit denen sie nichts zu tun haben. Belegt: die Lektion
|
|
22
|
-
* `forge:arbeitskopie-nach-dem-merge-sofort-abraeumen` stand bei "Ich beende
|
|
23
|
-
* den Prozess, kurz darauf ist er neu da" UND bei "Wenn der Zwischenspeicher
|
|
24
|
-
* abläuft, schlagen alle Anfragen durch" auf Platz 1. Zwei Fragen ohne
|
|
25
|
-
* Berührungspunkt, dieselbe falsche Antwort.
|
|
26
|
-
*
|
|
27
|
-
* ── Die Gegenmittel ─────────────────────────────────────────────────────────
|
|
28
|
-
*
|
|
29
|
-
* Zu 1 und 2: Schwerpunkt abziehen und die stärksten verbleibenden
|
|
30
|
-
* Hauptrichtungen entfernen. Was danach übrig bleibt, ist das, worin sich die
|
|
31
|
-
* Texte inhaltlich unterscheiden.
|
|
32
|
-
*
|
|
33
|
-
* Zu 3: jedem Vektor seine eigene "Geselligkeit" ausrechnen — wie nah liegt er
|
|
34
|
-
* im Mittel an seinen nächsten Nachbarn. Wer überall nah dran ist, bekommt
|
|
35
|
-
* einen Abzug. Das ist die Idee hinter CSLS aus der Wortübersetzung, hier auf
|
|
36
|
-
* den Fall übertragen, dass zur Bauzeit keine Fragen vorliegen: die Nachbarn
|
|
37
|
-
* sind die anderen Lektionen.
|
|
38
|
-
*
|
|
39
|
-
* Entscheidend für den Betrieb: ALLES DAVON WIRD EINMAL AUSGERECHNET. Zur
|
|
40
|
-
* Fragezeit bleibt ein Skalarprodukt und eine Subtraktion. Die Rangfolge wird
|
|
41
|
-
* besser, ohne dass jemand länger wartet.
|
|
42
|
-
*/
|
|
43
|
-
/** Skalarprodukt. */
|
|
44
|
-
export declare function punktprodukt(a: number[], b: number[]): number;
|
|
45
|
-
export declare function laenge(v: number[]): number;
|
|
46
|
-
/** Auf Länge 1 bringen. Ein Nullvektor bleibt, was er ist. */
|
|
47
|
-
export declare function normiere(v: number[]): number[];
|
|
48
|
-
/** Der Schwerpunkt — die gemeinsame Grundrichtung aller Vektoren. */
|
|
49
|
-
export declare function schwerpunkt(vs: number[][]): number[];
|
|
50
|
-
/**
|
|
51
|
-
* Die stärksten Hauptrichtungen, über Potenziteration mit Deflation.
|
|
52
|
-
*
|
|
53
|
-
* Warum von Hand statt einer Bibliothek: es sind rund zwanzig Zeilen, läuft
|
|
54
|
-
* einmal, und eine Abhängigkeit für zwanzig Zeilen ist eine Abhängigkeit, die
|
|
55
|
-
* jemand pflegen muss.
|
|
56
|
-
*
|
|
57
|
-
* Die Vektoren müssen bereits zentriert sein — sonst ist die erste
|
|
58
|
-
* Hauptrichtung nur der Schwerpunkt, den wir gerade abgezogen haben.
|
|
59
|
-
*/
|
|
60
|
-
export declare function hauptrichtungen(zentriert: number[][], anzahl: number, schritte?: number): number[][];
|
|
61
|
-
/** Was von einem Vektor bleibt, wenn Schwerpunkt und Hauptrichtungen weg sind. */
|
|
62
|
-
export declare function bereinige(v: number[], mitte: number[], richtungen: number[][]): number[];
|
|
63
|
-
/**
|
|
64
|
-
* Die "Geselligkeit" jedes Vektors: mittlere Ähnlichkeit zu seinen k nächsten
|
|
65
|
-
* Nachbarn im selben Bestand.
|
|
66
|
-
*
|
|
67
|
-
* Ein hoher Wert heißt: dieser Vektor liegt in einer dichten Gegend und ist
|
|
68
|
-
* vielem nah. Solche Naben erscheinen als Treffer für Fragen, mit denen sie
|
|
69
|
-
* nichts zu tun haben — nicht weil sie passen, sondern weil sie überall
|
|
70
|
-
* passen.
|
|
71
|
-
*
|
|
72
|
-
* Der Wert wird EINMAL berechnet und beim Suchen abgezogen. Kosten zur
|
|
73
|
-
* Fragezeit: eine Subtraktion.
|
|
74
|
-
*/
|
|
75
|
-
export declare function geselligkeit(normierte: number[][], k?: number): number[];
|
|
76
|
-
/**
|
|
77
|
-
* Ein fertig vorbereiteter Raum: bereinigte Vektoren plus Nabenabzug.
|
|
78
|
-
*
|
|
79
|
-
* Alles hier ist Bauzeit. Zur Fragezeit ruft man `bewerte` — ein Skalarprodukt
|
|
80
|
-
* je Lektion und eine Subtraktion.
|
|
81
|
-
*/
|
|
82
|
-
export interface Raum {
|
|
83
|
-
mitte: number[];
|
|
84
|
-
richtungen: number[][];
|
|
85
|
-
vektoren: number[][];
|
|
86
|
-
abzug: number[];
|
|
87
|
-
beta: number;
|
|
88
|
-
}
|
|
89
|
-
export declare function baueRaum(roh: Array<number[] | null>, optionen?: {
|
|
90
|
-
richtungen?: number;
|
|
91
|
-
nachbarn?: number;
|
|
92
|
-
beta?: number;
|
|
93
|
-
}): Raum;
|
|
94
|
-
/**
|
|
95
|
-
* Bewertet eine Frage gegen alle Lektionen des Raums.
|
|
96
|
-
*
|
|
97
|
-
* `2 * cos - abzug` ist die Form aus CSLS. Der Faktor 2 sorgt dafür, dass der
|
|
98
|
-
* Abzug die Ähnlichkeit dämpft und nicht überstimmt.
|
|
99
|
-
*/
|
|
100
|
-
export declare function bewerteImRaum(raum: Raum, frage: number[]): number[];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"raumkorrektur.js","sourceRoot":"","sources":["../../src/raumkorrektur.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wie viele Treffer zeigt `smart_recall` — und wie viele haelt es zurueck?
|
|
3
|
-
*
|
|
4
|
-
* Eigenes Modul, weil hier ein Versprechen eingeloest wird, das vorher nur im
|
|
5
|
-
* Kommentar stand. Der Kommentar am Teaser-Gate sagte seit jeher:
|
|
6
|
-
*
|
|
7
|
-
* "the magic moment is sacred ... never an access wall: the #1 result is
|
|
8
|
-
* always returned"
|
|
9
|
-
*
|
|
10
|
-
* Der Code sagte `visibleCount = gateActive ? 0 : 8` — also NULL Treffer,
|
|
11
|
-
* sobald ein Frei-Konto sein Monatskontingent ueberschritten hat. Der Nutzer
|
|
12
|
-
* las die Ueberschrift "Results (23 — hybrid)", darunter keine einzige Zeile
|
|
13
|
-
* und dann eine Kaufaufforderung. Das sieht nicht aus wie eine Rechnung,
|
|
14
|
-
* sondern wie ein kaputtes Werkzeug — besonders bei Ambient Recall, das bei
|
|
15
|
-
* jedem Prompt feuert und das Kontingent in Tagen aufbraucht.
|
|
16
|
-
*
|
|
17
|
-
* Fehlerklasse: eine Zusage an zwei Orten gepflegt (Kommentar und Zweig).
|
|
18
|
-
* Deshalb ist die Regel jetzt eine Funktion mit Tests, nicht ein Satz Prosa.
|
|
19
|
-
*/
|
|
20
|
-
/** Der eine Treffer, den auch ein ueberzogenes Frei-Konto immer sieht. */
|
|
21
|
-
export declare const TIEFE_UEBER_LIMIT = 1;
|
|
22
|
-
/** Volle Tiefe bei einer einzelnen Frage. */
|
|
23
|
-
export declare const TIEFE_VOLL = 8;
|
|
24
|
-
/** Volle Tiefe, wenn die Frage in Unterfragen zerfaellt (mehr Themen, mehr Platz). */
|
|
25
|
-
export declare const TIEFE_VOLL_MEHRTHEMIG = 12;
|
|
26
|
-
export interface RecallTiefeEingabe {
|
|
27
|
-
/** Frei-Konto ueber seinem Monatskontingent? */
|
|
28
|
-
ueberLimit: boolean;
|
|
29
|
-
/** Wie viele Treffer stehen ueberhaupt zur Verfuegung. */
|
|
30
|
-
gesamt: number;
|
|
31
|
-
/** Tiefe ohne Limit — TIEFE_VOLL oder TIEFE_VOLL_MEHRTHEMIG. */
|
|
32
|
-
volleTiefe?: number;
|
|
33
|
-
}
|
|
34
|
-
export interface RecallTiefe {
|
|
35
|
-
/** So viele Treffer werden ausgegeben. */
|
|
36
|
-
sichtbar: number;
|
|
37
|
-
/** So viele bleiben hinter dem Kontingent — 0, solange niemand ueber dem Limit ist. */
|
|
38
|
-
zurueckgehalten: number;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Nie eine Mauer, immer eine Bremse: ueber dem Limit bleibt genau der beste
|
|
42
|
-
* Treffer sichtbar, der Rest wird gezaehlt und benannt.
|
|
43
|
-
*
|
|
44
|
-
* Bei null Treffern gibt es nichts zu zeigen und nichts zurueckzuhalten — ein
|
|
45
|
-
* leeres Ergebnis darf nie als "hinter der Bezahlschranke" erscheinen, sonst
|
|
46
|
-
* verkauft die Meldung etwas, das gar nicht existiert.
|
|
47
|
-
*/
|
|
48
|
-
export declare function recallTiefe({ ueberLimit, gesamt, volleTiefe }: RecallTiefeEingabe): RecallTiefe;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recall-tiefe.js","sourceRoot":"","sources":["../../src/recall-tiefe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAC5B,sFAAsF;AACtF,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAkBxC;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,EAAsB;IAC7F,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;IAEhE,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACjD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9E,CAAC"}
|
package/dist/src/rerank.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Quality-aware reranking for Brain recall.
|
|
3
|
-
*
|
|
4
|
-
* The raw BM25+ keyword search (src/search.ts) ranks purely by *textual* relevance.
|
|
5
|
-
* That is necessary but not sufficient: when an agent asks "how do I fix the flaky
|
|
6
|
-
* deploy?", a *failed* attempt with similar words can out-rank the *proven success*
|
|
7
|
-
* lesson that actually solves it. Anthropic's flat-file memory has exactly this
|
|
8
|
-
* problem — it reads files in order, with no notion of which lesson is trustworthy.
|
|
9
|
-
*
|
|
10
|
-
* This module is Cachly's structural advantage made concrete: we re-rank text
|
|
11
|
-
* matches by the *quality* of the underlying lesson — outcome, confidence,
|
|
12
|
-
* proven-ness (recall_count), severity and human review (endorsements) — so the
|
|
13
|
-
* lesson most likely to help surfaces first. A flat-file memory has none of these
|
|
14
|
-
* signals; a senior-confirmed, ten-times-recalled success reads identically to a
|
|
15
|
-
* one-off failed attempt.
|
|
16
|
-
*
|
|
17
|
-
* It is intentionally pure (no I/O): the lesson JSON already travels inside each
|
|
18
|
-
* KeywordMatch.content for `cachly:lesson:best:*` keys, so reranking needs no extra
|
|
19
|
-
* Redis round-trips. This keeps it fast and trivially benchmarkable (see
|
|
20
|
-
* src/bench/cachly-bench.ts).
|
|
21
|
-
*/
|
|
22
|
-
import type { KeywordMatch } from './search.js';
|
|
23
|
-
/** Subset of a stored lesson that influences ranking. */
|
|
24
|
-
export interface LessonQuality {
|
|
25
|
-
outcome?: string;
|
|
26
|
-
confidence?: number;
|
|
27
|
-
recall_count?: number;
|
|
28
|
-
severity?: string;
|
|
29
|
-
ts?: string;
|
|
30
|
-
verified_at?: string;
|
|
31
|
-
reviewed_by?: string;
|
|
32
|
-
review_level?: string;
|
|
33
|
-
endorsements?: number;
|
|
34
|
-
}
|
|
35
|
-
export interface RerankedMatch extends KeywordMatch {
|
|
36
|
-
/** Final score after applying the quality multiplier. */
|
|
37
|
-
finalScore: number;
|
|
38
|
-
/** The multiplier that was applied to the BM25 score (1.0 = neutral). */
|
|
39
|
-
qualityBoost: number;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Compute the quality multiplier for a single lesson.
|
|
43
|
-
* Returns 1.0 (neutral) for documents that carry no quality signal (e.g. context).
|
|
44
|
-
*/
|
|
45
|
-
export declare function qualityMultiplier(lesson: LessonQuality | null): number;
|
|
46
|
-
/** Extract the quality signal from a match, if its content is a stored lesson. */
|
|
47
|
-
export declare function extractLessonQuality(match: Pick<KeywordMatch, 'key' | 'content'>): LessonQuality | null;
|
|
48
|
-
export declare function rerankByQuality(matches: KeywordMatch[]): RerankedMatch[];
|
package/dist/src/rerank.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rerank.js","sourceRoot":"","sources":["../../src/rerank.ts"],"names":[],"mappings":"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"}
|
package/dist/src/resonanz.d.ts
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resonanz — eine Lektion wird durch die Fragen adressiert, die zu ihr fuehrten.
|
|
3
|
-
*
|
|
4
|
-
* ── Das Vorbild ─────────────────────────────────────────────────────────────
|
|
5
|
-
*
|
|
6
|
-
* Das Hologramm speichert nicht das Bild, sondern das Interferenzmuster des
|
|
7
|
-
* Lichts, das es beleuchtet hat. Beleuchtet man es spaeter wieder, entsteht
|
|
8
|
-
* das Bild aus dem Muster — und jeder Splitter traegt das Ganze, nur unschaerfer.
|
|
9
|
-
*
|
|
10
|
-
* ── Das Problem, gegen das es antritt ───────────────────────────────────────
|
|
11
|
-
*
|
|
12
|
-
* Jeder Index in diesem Haus beschreibt, was eine Lektion SAGT: ihr Volltext,
|
|
13
|
-
* ihr Themenname. Gesucht wird aber mit dem, was jemand FRAGT — und die beiden
|
|
14
|
-
* Sprachen fallen auseinander. Gemessen am 21.08.2026: von 100 Fragen liegen
|
|
15
|
-
* 11 auf Platz 100+ der Bedeutungsrangfolge. Fuer die ist die richtige Lektion
|
|
16
|
-
* semantisch nicht "in der Naehe" — keine Vektorrechnung ueber ihren Text holt
|
|
17
|
-
* sie naeher heran.
|
|
18
|
-
*
|
|
19
|
-
* Diese Datei fuehrt deshalb eine dritte Sicht: je Lektion die laufende
|
|
20
|
-
* Ueberlagerung aller Fragevektoren, die nachweislich zu ihr gefuehrt haben.
|
|
21
|
-
* Der Vergleich laeuft dann Frage-gegen-Frage statt Frage-gegen-Text.
|
|
22
|
-
*
|
|
23
|
-
* ── Warum wir das koennen und andere nicht ──────────────────────────────────
|
|
24
|
-
*
|
|
25
|
-
* Es braucht die geschlossene Schleife: von der Frage ueber den Treffer bis zu
|
|
26
|
-
* der Bestaetigung, dass der Treffer richtig war. Ein Suchindex, der nur
|
|
27
|
-
* Dokumente kennt, hat diese Daten nicht.
|
|
28
|
-
*
|
|
29
|
-
* ── Die ehrliche Grenze ─────────────────────────────────────────────────────
|
|
30
|
-
*
|
|
31
|
-
* Der Index ist am Anfang leer. Eine Lektion, die noch nie gefunden wurde, hat
|
|
32
|
-
* keine Resonanz — und ausgerechnet die braeuchte sie am dringendsten. Das ist
|
|
33
|
-
* kein Fehler der Idee, sondern ihre Bauart: sie wird mit der Zeit besser und
|
|
34
|
-
* am ersten Tag gar nicht. Deshalb ist sie ein ZUSATZ und ersetzt keine Sicht.
|
|
35
|
-
*/
|
|
36
|
-
import type { Redis } from 'ioredis';
|
|
37
|
-
/** Schluessel-Vorsatz der Resonanzvektoren. */
|
|
38
|
-
export declare const RESONANZ_PRAEFIX = "cachly:lesson:res:";
|
|
39
|
-
/**
|
|
40
|
-
* Fuegt einen Fragevektor zur Resonanz einer Lektion.
|
|
41
|
-
*
|
|
42
|
-
* Die Ueberlagerung ist eine gleitende Summe mit Normierung: der neue Vektor
|
|
43
|
-
* zieht die Resonanz um `anteil` in seine Richtung. Ohne Normierung waeren
|
|
44
|
-
* haeufig gefundene Lektionen einfach laenger und wuerden jeden Kosinus
|
|
45
|
-
* gewinnen — die Naehe misst dann Beliebtheit statt Passung.
|
|
46
|
-
*
|
|
47
|
-
* `anteil` bewusst klein: eine einzelne Frage darf die Adresse einer Lektion
|
|
48
|
-
* nicht umschreiben. Zehn aehnliche Fragen sollen sie praegen, eine schraege
|
|
49
|
-
* nicht.
|
|
50
|
-
*
|
|
51
|
-
* @param bisher die bisherige Resonanz oder null
|
|
52
|
-
* @param frage der Fragevektor, der zu einem bestaetigten Treffer fuehrte
|
|
53
|
-
* @param anteil wie stark die neue Frage zieht
|
|
54
|
-
*/
|
|
55
|
-
export declare function ueberlagere(bisher: number[] | null, frage: number[], anteil?: number): number[];
|
|
56
|
-
/** Auf Laenge 1. Ein Nullvektor bleibt ein Nullvektor. */
|
|
57
|
-
export declare function normiere(v: number[]): number[];
|
|
58
|
-
/**
|
|
59
|
-
* Der Resonanzbestand — dieselbe Mechanik wie Vektorbestand, andere Sicht.
|
|
60
|
-
*
|
|
61
|
-
* Bewusst eine eigene kleine Klasse statt eines vierten Vektorbestand-Praefix:
|
|
62
|
-
* dieser Bestand wird auch GESCHRIEBEN (im Recall-Pfad, nach einem Treffer),
|
|
63
|
-
* und Schreiben gehoert nicht in eine Klasse, die sonst nur laedt.
|
|
64
|
-
*/
|
|
65
|
-
export declare class Resonanzbestand {
|
|
66
|
-
private readonly frischeMs;
|
|
67
|
-
private vektoren;
|
|
68
|
-
private geladen;
|
|
69
|
-
constructor(frischeMs?: number);
|
|
70
|
-
/** Die Naehe einer Frage zur Resonanz EINER Lektion. -2, wenn keine da ist. */
|
|
71
|
-
naehe(frage: number[], topic: string): number;
|
|
72
|
-
get groesse(): number;
|
|
73
|
-
/** Nur fuer Messungen: Resonanz ohne Speicher setzen. */
|
|
74
|
-
setzeDirekt(topic: string, v: number[]): void;
|
|
75
|
-
/** Laedt fehlende Resonanzvektoren nach. */
|
|
76
|
-
aktualisiere(redis: Redis, jetzt?: number): Promise<void>;
|
|
77
|
-
/**
|
|
78
|
-
* Schreibt die neue Resonanz einer Lektion.
|
|
79
|
-
*
|
|
80
|
-
* Faengt jeden Fehler ab: eine Suche darf nie daran scheitern, dass sie sich
|
|
81
|
-
* nicht merken konnte, was sie gefunden hat. Der Aufrufer bekommt `false`
|
|
82
|
-
* und kann es melden.
|
|
83
|
-
*/
|
|
84
|
-
schreibe(redis: Redis, topic: string, frage: number[], anteil?: number): Promise<boolean>;
|
|
85
|
-
}
|
package/dist/src/resonanz.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resonanz.js","sourceRoot":"","sources":["../../src/resonanz.ts"],"names":[],"mappings":"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"}
|