@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.
Files changed (223) hide show
  1. package/README.md +2 -2
  2. package/dist/index.js +1 -7
  3. package/dist/packages/telegram-notify/client.js +2 -75
  4. package/dist/src/ambient-cli.js +7 -253
  5. package/dist/src/ambient-deps.js +1 -55
  6. package/dist/src/ambient-hooks.js +5 -278
  7. package/dist/src/ambient-ledger.js +6 -95
  8. package/dist/src/ambient-memory.js +1 -67
  9. package/dist/src/ambient-recall.js +1 -221
  10. package/dist/src/aussetzer.js +1 -225
  11. package/dist/src/auth.js +9 -140
  12. package/dist/src/autor-abzeichen.js +1 -56
  13. package/dist/src/autor.js +1 -136
  14. package/dist/src/bauabdruck.js +1 -93
  15. package/dist/src/bedeutung.js +2 -323
  16. package/dist/src/bench/cachly-bench.js +4 -249
  17. package/dist/src/bench/external-corpus.js +4 -135
  18. package/dist/src/bench/fixtures.js +1 -225
  19. package/dist/src/brain-export.js +16 -119
  20. package/dist/src/brain-watch-hook.js +8 -86
  21. package/dist/src/cachly-url.js +1 -21
  22. package/dist/src/ckg.js +1 -108
  23. package/dist/src/cls-hook.js +8 -94
  24. package/dist/src/confidence.js +1 -50
  25. package/dist/src/credentials.js +1 -85
  26. package/dist/src/deutsch.js +1 -223
  27. package/dist/src/doctor.js +2 -248
  28. package/dist/src/editor.js +1 -63
  29. package/dist/src/eingaenge-nachruesten.js +1 -290
  30. package/dist/src/eingaenge.js +2 -260
  31. package/dist/src/embeddings.js +13 -223
  32. package/dist/src/feldreparatur.js +3 -113
  33. package/dist/src/first-contact.js +4 -108
  34. package/dist/src/first-recall-proof.js +4 -41
  35. package/dist/src/funnel-milestones.js +2 -48
  36. package/dist/src/geliefert.js +1 -114
  37. package/dist/src/handlers/advanced.js +38 -537
  38. package/dist/src/handlers/brain.js +69 -4397
  39. package/dist/src/handlers/cache.js +59 -638
  40. package/dist/src/handlers/context.js +17 -182
  41. package/dist/src/handlers/fedbrain.js +40 -1436
  42. package/dist/src/handlers/instances.js +16 -201
  43. package/dist/src/handlers/roadmap.js +13 -175
  44. package/dist/src/handlers/share.js +19 -530
  45. package/dist/src/handlers/syndicate.js +38 -904
  46. package/dist/src/handlers/team.js +89 -1865
  47. package/dist/src/handlers/viz.js +3 -148
  48. package/dist/src/index.js +321 -4281
  49. package/dist/src/interferenz.js +1 -141
  50. package/dist/src/kostprobe.js +7 -125
  51. package/dist/src/lesson-preview.js +2 -133
  52. package/dist/src/namespace.js +1 -128
  53. package/dist/src/notifier.js +1 -6
  54. package/dist/src/rangfolge-stellschrauben.js +1 -0
  55. package/dist/src/rangfolge.js +1 -249
  56. package/dist/src/raumkorrektur.js +1 -197
  57. package/dist/src/recall-tiefe.js +1 -42
  58. package/dist/src/rerank.js +1 -154
  59. package/dist/src/resonanz.js +1 -140
  60. package/dist/src/search.js +1 -2104
  61. package/dist/src/seltenheitsbestand.js +1 -92
  62. package/dist/src/speicherlage.js +1 -84
  63. package/dist/src/spuren.js +1 -150
  64. package/dist/src/starter-corpus.js +1 -165
  65. package/dist/src/telemetry-types.js +0 -13
  66. package/dist/src/tools.js +10 -2465
  67. package/dist/src/toolspecs.js +1 -121
  68. package/dist/src/upgrade-nudge.js +1 -29
  69. package/dist/src/utils.js +1 -89
  70. package/dist/src/versuch.js +1 -264
  71. package/dist/src/vorspann.js +1 -146
  72. package/dist/src/wartung/vektoren-verdichten.js +1 -200
  73. package/dist/src/werkzeug-nutzung.js +1 -72
  74. package/dist/src/wertbeitrag.js +1 -203
  75. package/dist/src/wirkungsspur.js +1 -0
  76. package/glama.json +1 -1
  77. package/package.json +8 -7
  78. package/server.json +3 -3
  79. package/dist/index.d.ts +0 -1
  80. package/dist/index.js.map +0 -1
  81. package/dist/packages/telegram-notify/client.d.ts +0 -19
  82. package/dist/packages/telegram-notify/client.js.map +0 -1
  83. package/dist/src/ambient-cli.d.ts +0 -101
  84. package/dist/src/ambient-cli.js.map +0 -1
  85. package/dist/src/ambient-deps.d.ts +0 -26
  86. package/dist/src/ambient-deps.js.map +0 -1
  87. package/dist/src/ambient-hooks.d.ts +0 -137
  88. package/dist/src/ambient-hooks.js.map +0 -1
  89. package/dist/src/ambient-ledger.d.ts +0 -19
  90. package/dist/src/ambient-ledger.js.map +0 -1
  91. package/dist/src/ambient-memory.d.ts +0 -12
  92. package/dist/src/ambient-memory.js.map +0 -1
  93. package/dist/src/ambient-recall.d.ts +0 -127
  94. package/dist/src/ambient-recall.js.map +0 -1
  95. package/dist/src/aussetzer.d.ts +0 -156
  96. package/dist/src/aussetzer.js.map +0 -1
  97. package/dist/src/auth.d.ts +0 -43
  98. package/dist/src/auth.js.map +0 -1
  99. package/dist/src/autor-abzeichen.d.ts +0 -41
  100. package/dist/src/autor-abzeichen.js.map +0 -1
  101. package/dist/src/autor.d.ts +0 -101
  102. package/dist/src/autor.js.map +0 -1
  103. package/dist/src/bauabdruck-daten.generiert.json +0 -5
  104. package/dist/src/bauabdruck.d.ts +0 -38
  105. package/dist/src/bauabdruck.js.map +0 -1
  106. package/dist/src/bedeutung.d.ts +0 -168
  107. package/dist/src/bedeutung.js.map +0 -1
  108. package/dist/src/bench/cachly-bench.d.ts +0 -61
  109. package/dist/src/bench/cachly-bench.js.map +0 -1
  110. package/dist/src/bench/external-corpus.d.ts +0 -44
  111. package/dist/src/bench/external-corpus.js.map +0 -1
  112. package/dist/src/bench/fixtures.d.ts +0 -37
  113. package/dist/src/bench/fixtures.js.map +0 -1
  114. package/dist/src/brain-export.d.ts +0 -64
  115. package/dist/src/brain-export.js.map +0 -1
  116. package/dist/src/brain-watch-hook.d.ts +0 -21
  117. package/dist/src/brain-watch-hook.js.map +0 -1
  118. package/dist/src/cachly-url.d.ts +0 -68
  119. package/dist/src/cachly-url.js.map +0 -1
  120. package/dist/src/ckg.d.ts +0 -54
  121. package/dist/src/ckg.js.map +0 -1
  122. package/dist/src/cls-hook.d.ts +0 -15
  123. package/dist/src/cls-hook.js.map +0 -1
  124. package/dist/src/confidence.d.ts +0 -19
  125. package/dist/src/confidence.js.map +0 -1
  126. package/dist/src/credentials.d.ts +0 -37
  127. package/dist/src/credentials.js.map +0 -1
  128. package/dist/src/deutsch.d.ts +0 -98
  129. package/dist/src/deutsch.js.map +0 -1
  130. package/dist/src/doctor.d.ts +0 -47
  131. package/dist/src/doctor.js.map +0 -1
  132. package/dist/src/editor.d.ts +0 -9
  133. package/dist/src/editor.js.map +0 -1
  134. package/dist/src/eingaenge-nachruesten.d.ts +0 -41
  135. package/dist/src/eingaenge-nachruesten.js.map +0 -1
  136. package/dist/src/eingaenge.d.ts +0 -159
  137. package/dist/src/eingaenge.js.map +0 -1
  138. package/dist/src/embeddings.d.ts +0 -48
  139. package/dist/src/embeddings.js.map +0 -1
  140. package/dist/src/feldreparatur.d.ts +0 -58
  141. package/dist/src/feldreparatur.js.map +0 -1
  142. package/dist/src/first-contact.d.ts +0 -56
  143. package/dist/src/first-contact.js.map +0 -1
  144. package/dist/src/first-recall-proof.d.ts +0 -19
  145. package/dist/src/first-recall-proof.js.map +0 -1
  146. package/dist/src/funnel-milestones.d.ts +0 -5
  147. package/dist/src/funnel-milestones.js.map +0 -1
  148. package/dist/src/geliefert.d.ts +0 -63
  149. package/dist/src/geliefert.js.map +0 -1
  150. package/dist/src/handlers/advanced.d.ts +0 -6
  151. package/dist/src/handlers/advanced.js.map +0 -1
  152. package/dist/src/handlers/brain.d.ts +0 -41
  153. package/dist/src/handlers/brain.js.map +0 -1
  154. package/dist/src/handlers/cache.d.ts +0 -6
  155. package/dist/src/handlers/cache.js.map +0 -1
  156. package/dist/src/handlers/context.d.ts +0 -6
  157. package/dist/src/handlers/context.js.map +0 -1
  158. package/dist/src/handlers/fedbrain.d.ts +0 -18
  159. package/dist/src/handlers/fedbrain.js.map +0 -1
  160. package/dist/src/handlers/instances.d.ts +0 -33
  161. package/dist/src/handlers/instances.js.map +0 -1
  162. package/dist/src/handlers/roadmap.d.ts +0 -6
  163. package/dist/src/handlers/roadmap.js.map +0 -1
  164. package/dist/src/handlers/share.d.ts +0 -8
  165. package/dist/src/handlers/share.js.map +0 -1
  166. package/dist/src/handlers/syndicate.d.ts +0 -6
  167. package/dist/src/handlers/syndicate.js.map +0 -1
  168. package/dist/src/handlers/team.d.ts +0 -45
  169. package/dist/src/handlers/team.js.map +0 -1
  170. package/dist/src/handlers/viz.d.ts +0 -6
  171. package/dist/src/handlers/viz.js.map +0 -1
  172. package/dist/src/index.d.ts +0 -93
  173. package/dist/src/index.js.map +0 -1
  174. package/dist/src/interferenz.d.ts +0 -111
  175. package/dist/src/interferenz.js.map +0 -1
  176. package/dist/src/kostprobe.d.ts +0 -25
  177. package/dist/src/kostprobe.js.map +0 -1
  178. package/dist/src/lesson-preview.d.ts +0 -81
  179. package/dist/src/lesson-preview.js.map +0 -1
  180. package/dist/src/namespace.d.ts +0 -20
  181. package/dist/src/namespace.js.map +0 -1
  182. package/dist/src/notifier.d.ts +0 -5
  183. package/dist/src/notifier.js.map +0 -1
  184. package/dist/src/rangfolge.d.ts +0 -205
  185. package/dist/src/rangfolge.js.map +0 -1
  186. package/dist/src/raumkorrektur.d.ts +0 -100
  187. package/dist/src/raumkorrektur.js.map +0 -1
  188. package/dist/src/recall-tiefe.d.ts +0 -48
  189. package/dist/src/recall-tiefe.js.map +0 -1
  190. package/dist/src/rerank.d.ts +0 -48
  191. package/dist/src/rerank.js.map +0 -1
  192. package/dist/src/resonanz.d.ts +0 -85
  193. package/dist/src/resonanz.js.map +0 -1
  194. package/dist/src/search.d.ts +0 -153
  195. package/dist/src/search.js.map +0 -1
  196. package/dist/src/seltenheitsbestand.d.ts +0 -53
  197. package/dist/src/seltenheitsbestand.js.map +0 -1
  198. package/dist/src/speicherlage.d.ts +0 -51
  199. package/dist/src/speicherlage.js.map +0 -1
  200. package/dist/src/spuren.d.ts +0 -97
  201. package/dist/src/spuren.js.map +0 -1
  202. package/dist/src/starter-corpus.d.ts +0 -28
  203. package/dist/src/starter-corpus.js.map +0 -1
  204. package/dist/src/telemetry-types.d.ts +0 -87
  205. package/dist/src/telemetry-types.js.map +0 -1
  206. package/dist/src/tools.d.ts +0 -2933
  207. package/dist/src/tools.js.map +0 -1
  208. package/dist/src/toolspecs.d.ts +0 -43
  209. package/dist/src/toolspecs.js.map +0 -1
  210. package/dist/src/upgrade-nudge.d.ts +0 -15
  211. package/dist/src/upgrade-nudge.js.map +0 -1
  212. package/dist/src/utils.d.ts +0 -34
  213. package/dist/src/utils.js.map +0 -1
  214. package/dist/src/versuch.d.ts +0 -187
  215. package/dist/src/versuch.js.map +0 -1
  216. package/dist/src/vorspann.d.ts +0 -73
  217. package/dist/src/vorspann.js.map +0 -1
  218. package/dist/src/wartung/vektoren-verdichten.d.ts +0 -50
  219. package/dist/src/wartung/vektoren-verdichten.js.map +0 -1
  220. package/dist/src/werkzeug-nutzung.d.ts +0 -62
  221. package/dist/src/werkzeug-nutzung.js.map +0 -1
  222. package/dist/src/wertbeitrag.d.ts +0 -148
  223. package/dist/src/wertbeitrag.js.map +0 -1
@@ -1,140 +1 @@
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 { packe, entpacke, kosinus } from './bedeutung.js';
37
- /** Schluessel-Vorsatz der Resonanzvektoren. */
38
- export 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 function ueberlagere(bisher, frage, anteil = 0.3) {
56
- if (!bisher || bisher.length !== frage.length)
57
- return normiere(frage);
58
- const neu = bisher.map((x, i) => (1 - anteil) * x + anteil * frage[i]);
59
- return normiere(neu);
60
- }
61
- /** Auf Laenge 1. Ein Nullvektor bleibt ein Nullvektor. */
62
- export function normiere(v) {
63
- let q = 0;
64
- for (const x of v)
65
- q += x * x;
66
- const l = Math.sqrt(q);
67
- return l > 0 ? v.map((x) => x / l) : v;
68
- }
69
- /**
70
- * Der Resonanzbestand — dieselbe Mechanik wie Vektorbestand, andere Sicht.
71
- *
72
- * Bewusst eine eigene kleine Klasse statt eines vierten Vektorbestand-Praefix:
73
- * dieser Bestand wird auch GESCHRIEBEN (im Recall-Pfad, nach einem Treffer),
74
- * und Schreiben gehoert nicht in eine Klasse, die sonst nur laedt.
75
- */
76
- export class Resonanzbestand {
77
- frischeMs;
78
- vektoren = new Map();
79
- geladen = 0;
80
- constructor(frischeMs = 60_000) {
81
- this.frischeMs = frischeMs;
82
- }
83
- /** Die Naehe einer Frage zur Resonanz EINER Lektion. -2, wenn keine da ist. */
84
- naehe(frage, topic) {
85
- const v = this.vektoren.get(topic);
86
- return v ? kosinus(frage, v) : -2;
87
- }
88
- get groesse() { return this.vektoren.size; }
89
- /** Nur fuer Messungen: Resonanz ohne Speicher setzen. */
90
- setzeDirekt(topic, v) {
91
- this.vektoren.set(topic, v);
92
- }
93
- /** Laedt fehlende Resonanzvektoren nach. */
94
- async aktualisiere(redis, jetzt = Date.now()) {
95
- if (this.vektoren.size > 0 && jetzt - this.geladen < this.frischeMs)
96
- return;
97
- const schluessel = [];
98
- let cursor = '0';
99
- do {
100
- const [next, gefunden] = await redis.scan(cursor, 'MATCH', `${RESONANZ_PRAEFIX}*`, 'COUNT', 500);
101
- cursor = next;
102
- schluessel.push(...gefunden);
103
- } while (cursor !== '0');
104
- if (schluessel.length === 0) {
105
- this.geladen = jetzt;
106
- return;
107
- }
108
- const werte = await redis.mget(...schluessel);
109
- const frisch = new Map();
110
- for (const [i, s] of schluessel.entries()) {
111
- const roh = werte[i];
112
- if (!roh)
113
- continue;
114
- const v = entpacke(roh);
115
- if (v)
116
- frisch.set(s.slice(RESONANZ_PRAEFIX.length), v);
117
- }
118
- this.vektoren = frisch;
119
- this.geladen = jetzt;
120
- }
121
- /**
122
- * Schreibt die neue Resonanz einer Lektion.
123
- *
124
- * Faengt jeden Fehler ab: eine Suche darf nie daran scheitern, dass sie sich
125
- * nicht merken konnte, was sie gefunden hat. Der Aufrufer bekommt `false`
126
- * und kann es melden.
127
- */
128
- async schreibe(redis, topic, frage, anteil = 0.3) {
129
- try {
130
- const neu = ueberlagere(this.vektoren.get(topic) ?? null, frage, anteil);
131
- this.vektoren.set(topic, neu);
132
- await redis.set(`${RESONANZ_PRAEFIX}${topic}`, packe(neu));
133
- return true;
134
- }
135
- catch {
136
- return false;
137
- }
138
- }
139
- }
140
- //# sourceMappingURL=resonanz.js.map
1
+ import{packe as g,entpacke as k,kosinus as p}from"./bedeutung.js";const a="cachly:lesson:res:";function v(s,e,t=.3){if(!s||s.length!==e.length)return f(e);const n=s.map((r,o)=>(1-t)*r+t*e[o]);return f(n)}function f(s){let e=0;for(const n of s)e+=n*n;const t=Math.sqrt(e);return t>0?s.map(n=>n/t):s}class M{frischeMs;vektoren=new Map;geladen=0;constructor(e=6e4){this.frischeMs=e}naehe(e,t){const n=this.vektoren.get(t);return n?p(e,n):-2}get groesse(){return this.vektoren.size}setzeDirekt(e,t){this.vektoren.set(e,t)}async aktualisiere(e,t=Date.now()){if(this.vektoren.size>0&&t-this.geladen<this.frischeMs)return;const n=[];let r="0";do{const[c,i]=await e.scan(r,"MATCH",`${a}*`,"COUNT",500);r=c,n.push(...i)}while(r!=="0");if(n.length===0){this.geladen=t;return}const o=await e.mget(...n),h=new Map;for(const[c,i]of n.entries()){const u=o[c];if(!u)continue;const l=k(u);l&&h.set(i.slice(a.length),l)}this.vektoren=h,this.geladen=t}async schreibe(e,t,n,r=.3){try{const o=v(this.vektoren.get(t)??null,n,r);return this.vektoren.set(t,o),await e.set(`${a}${t}`,g(o)),!0}catch{return!1}}}export{a as RESONANZ_PRAEFIX,M as Resonanzbestand,f as normiere,v as ueberlagere};