audrey 0.16.1 → 0.20.0
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 +21 -21
- package/README.md +146 -724
- package/dist/mcp-server/config.d.ts +20 -0
- package/dist/mcp-server/config.d.ts.map +1 -0
- package/dist/mcp-server/config.js +125 -0
- package/dist/mcp-server/config.js.map +1 -0
- package/dist/mcp-server/index.d.ts +100 -0
- package/dist/mcp-server/index.d.ts.map +1 -0
- package/dist/mcp-server/index.js +1113 -0
- package/dist/mcp-server/index.js.map +1 -0
- package/dist/src/adaptive.d.ts +7 -0
- package/dist/src/adaptive.d.ts.map +1 -0
- package/dist/src/adaptive.js +49 -0
- package/dist/src/adaptive.js.map +1 -0
- package/dist/src/affect.d.ts +19 -0
- package/dist/src/affect.d.ts.map +1 -0
- package/dist/src/affect.js +72 -0
- package/dist/src/affect.js.map +1 -0
- package/dist/src/audrey.d.ts +140 -0
- package/dist/src/audrey.d.ts.map +1 -0
- package/dist/src/audrey.js +564 -0
- package/dist/src/audrey.js.map +1 -0
- package/dist/src/capsule.d.ts +68 -0
- package/dist/src/capsule.d.ts.map +1 -0
- package/dist/src/capsule.js +311 -0
- package/dist/src/capsule.js.map +1 -0
- package/dist/src/causal.d.ts +28 -0
- package/dist/src/causal.d.ts.map +1 -0
- package/dist/src/causal.js +65 -0
- package/dist/src/causal.js.map +1 -0
- package/dist/src/confidence.d.ts +12 -0
- package/dist/src/confidence.d.ts.map +1 -0
- package/dist/src/confidence.js +63 -0
- package/dist/src/confidence.js.map +1 -0
- package/dist/src/consolidate.d.ts +8 -0
- package/dist/src/consolidate.d.ts.map +1 -0
- package/dist/src/consolidate.js +218 -0
- package/dist/src/consolidate.js.map +1 -0
- package/dist/src/context.d.ts +3 -0
- package/dist/src/context.d.ts.map +1 -0
- package/dist/src/context.js +19 -0
- package/dist/src/context.js.map +1 -0
- package/dist/src/db.d.ts +12 -0
- package/dist/src/db.d.ts.map +1 -0
- package/dist/src/db.js +380 -0
- package/dist/src/db.js.map +1 -0
- package/dist/src/decay.d.ts +7 -0
- package/dist/src/decay.d.ts.map +1 -0
- package/dist/src/decay.js +68 -0
- package/dist/src/decay.js.map +1 -0
- package/dist/src/embedding.d.ts +57 -0
- package/dist/src/embedding.d.ts.map +1 -0
- package/dist/src/embedding.js +254 -0
- package/dist/src/embedding.js.map +1 -0
- package/dist/src/encode.d.ts +15 -0
- package/dist/src/encode.d.ts.map +1 -0
- package/dist/src/encode.js +36 -0
- package/dist/src/encode.js.map +1 -0
- package/dist/src/events.d.ts +69 -0
- package/dist/src/events.d.ts.map +1 -0
- package/dist/src/events.js +149 -0
- package/dist/src/events.js.map +1 -0
- package/dist/src/export.d.ts +3 -0
- package/dist/src/export.d.ts.map +1 -0
- package/dist/src/export.js +46 -0
- package/dist/src/export.js.map +1 -0
- package/dist/src/forget.d.ts +11 -0
- package/dist/src/forget.d.ts.map +1 -0
- package/dist/src/forget.js +105 -0
- package/dist/src/forget.js.map +1 -0
- package/dist/src/fts.d.ts +34 -0
- package/dist/src/fts.d.ts.map +1 -0
- package/dist/src/fts.js +117 -0
- package/dist/src/fts.js.map +1 -0
- package/dist/src/hybrid-recall.d.ts +37 -0
- package/dist/src/hybrid-recall.d.ts.map +1 -0
- package/dist/src/hybrid-recall.js +213 -0
- package/dist/src/hybrid-recall.js.map +1 -0
- package/dist/src/import.d.ts +4 -0
- package/dist/src/import.d.ts.map +1 -0
- package/dist/src/import.js +127 -0
- package/dist/src/import.js.map +1 -0
- package/dist/src/index.d.ts +22 -0
- package/dist/src/index.d.ts.map +1 -0
- package/{src → dist/src}/index.js +5 -13
- package/dist/src/index.js.map +1 -0
- package/dist/src/interference.d.ts +13 -0
- package/dist/src/interference.d.ts.map +1 -0
- package/dist/src/interference.js +45 -0
- package/dist/src/interference.js.map +1 -0
- package/dist/src/introspect.d.ts +4 -0
- package/dist/src/introspect.d.ts.map +1 -0
- package/dist/src/introspect.js +40 -0
- package/dist/src/introspect.js.map +1 -0
- package/dist/src/llm.d.ts +38 -0
- package/dist/src/llm.d.ts.map +1 -0
- package/dist/src/llm.js +167 -0
- package/dist/src/llm.js.map +1 -0
- package/dist/src/migrate.d.ts +6 -0
- package/dist/src/migrate.d.ts.map +1 -0
- package/dist/src/migrate.js +51 -0
- package/dist/src/migrate.js.map +1 -0
- package/dist/src/promote.d.ts +40 -0
- package/dist/src/promote.d.ts.map +1 -0
- package/dist/src/promote.js +200 -0
- package/dist/src/promote.js.map +1 -0
- package/dist/src/prompts.d.ts +16 -0
- package/dist/src/prompts.d.ts.map +1 -0
- package/{src → dist/src}/prompts.js +172 -203
- package/dist/src/prompts.js.map +1 -0
- package/dist/src/recall.d.ts +9 -0
- package/dist/src/recall.d.ts.map +1 -0
- package/dist/src/recall.js +432 -0
- package/dist/src/recall.js.map +1 -0
- package/dist/src/redact.d.ts +27 -0
- package/dist/src/redact.d.ts.map +1 -0
- package/dist/src/redact.js +228 -0
- package/dist/src/redact.js.map +1 -0
- package/dist/src/rollback.d.ts +8 -0
- package/dist/src/rollback.d.ts.map +1 -0
- package/dist/src/rollback.js +33 -0
- package/dist/src/rollback.js.map +1 -0
- package/dist/src/routes.d.ts +7 -0
- package/dist/src/routes.d.ts.map +1 -0
- package/dist/src/routes.js +226 -0
- package/dist/src/routes.js.map +1 -0
- package/dist/src/rules-compiler.d.ts +20 -0
- package/dist/src/rules-compiler.d.ts.map +1 -0
- package/dist/src/rules-compiler.js +143 -0
- package/dist/src/rules-compiler.js.map +1 -0
- package/dist/src/server.d.ts +12 -0
- package/dist/src/server.d.ts.map +1 -0
- package/dist/src/server.js +22 -0
- package/dist/src/server.js.map +1 -0
- package/dist/src/tool-trace.d.ts +37 -0
- package/dist/src/tool-trace.d.ts.map +1 -0
- package/dist/src/tool-trace.js +142 -0
- package/dist/src/tool-trace.js.map +1 -0
- package/dist/src/types.d.ts +446 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +6 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/ulid.d.ts +3 -0
- package/dist/src/ulid.d.ts.map +1 -0
- package/dist/src/ulid.js +11 -0
- package/dist/src/ulid.js.map +1 -0
- package/dist/src/utils.d.ts +10 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +41 -0
- package/dist/src/utils.js.map +1 -0
- package/dist/src/validate.d.ts +22 -0
- package/dist/src/validate.d.ts.map +1 -0
- package/dist/src/validate.js +109 -0
- package/dist/src/validate.js.map +1 -0
- package/docs/assets/benchmarks/local-benchmark.svg +45 -0
- package/docs/assets/benchmarks/operations-benchmark.svg +45 -0
- package/docs/assets/benchmarks/published-memory-standards.svg +50 -0
- package/docs/benchmarking.md +151 -0
- package/docs/production-readiness.md +124 -0
- package/examples/fintech-ops-demo.js +67 -0
- package/examples/healthcare-ops-demo.js +67 -0
- package/examples/stripe-demo.js +105 -0
- package/package.json +53 -13
- package/mcp-server/config.js +0 -80
- package/mcp-server/index.js +0 -729
- package/src/adaptive.js +0 -53
- package/src/affect.js +0 -64
- package/src/audrey.js +0 -604
- package/src/causal.js +0 -95
- package/src/confidence.js +0 -120
- package/src/consolidate.js +0 -265
- package/src/context.js +0 -15
- package/src/db.js +0 -370
- package/src/decay.js +0 -84
- package/src/embedding.js +0 -256
- package/src/encode.js +0 -63
- package/src/export.js +0 -67
- package/src/forget.js +0 -111
- package/src/import.js +0 -245
- package/src/interference.js +0 -51
- package/src/introspect.js +0 -48
- package/src/llm.js +0 -246
- package/src/migrate.js +0 -58
- package/src/recall.js +0 -352
- package/src/rollback.js +0 -42
- package/src/ulid.js +0 -18
- package/src/utils.js +0 -38
- package/src/validate.js +0 -172
package/src/adaptive.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
export function suggestConsolidationParams(db) {
|
|
2
|
-
const runs = db.prepare(`
|
|
3
|
-
SELECT min_cluster_size, similarity_threshold, clusters_found, principles_extracted, episodes_evaluated
|
|
4
|
-
FROM consolidation_metrics
|
|
5
|
-
ORDER BY created_at DESC
|
|
6
|
-
LIMIT 20
|
|
7
|
-
`).all();
|
|
8
|
-
|
|
9
|
-
if (runs.length === 0) {
|
|
10
|
-
return {
|
|
11
|
-
minClusterSize: 3,
|
|
12
|
-
similarityThreshold: 0.85,
|
|
13
|
-
confidence: 'no_data',
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const paramScores = new Map();
|
|
18
|
-
for (const run of runs) {
|
|
19
|
-
if (run.episodes_evaluated === 0) continue;
|
|
20
|
-
const key = `${run.min_cluster_size}:${run.similarity_threshold}`;
|
|
21
|
-
if (!paramScores.has(key)) {
|
|
22
|
-
paramScores.set(key, {
|
|
23
|
-
minClusterSize: run.min_cluster_size,
|
|
24
|
-
similarityThreshold: run.similarity_threshold,
|
|
25
|
-
yields: [],
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
paramScores.get(key).yields.push(run.principles_extracted / run.episodes_evaluated);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
let bestKey = null;
|
|
32
|
-
let bestAvgYield = -1;
|
|
33
|
-
for (const [key, data] of paramScores) {
|
|
34
|
-
const avg = data.yields.reduce((a, b) => a + b, 0) / data.yields.length;
|
|
35
|
-
if (avg > bestAvgYield) {
|
|
36
|
-
bestAvgYield = avg;
|
|
37
|
-
bestKey = key;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
if (!bestKey) {
|
|
42
|
-
return { minClusterSize: 3, similarityThreshold: 0.85, confidence: 'no_data' };
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const best = paramScores.get(bestKey);
|
|
46
|
-
const confidence = runs.length >= 5 ? 'high' : runs.length >= 2 ? 'medium' : 'low';
|
|
47
|
-
|
|
48
|
-
return {
|
|
49
|
-
minClusterSize: best.minClusterSize,
|
|
50
|
-
similarityThreshold: best.similarityThreshold,
|
|
51
|
-
confidence,
|
|
52
|
-
};
|
|
53
|
-
}
|
package/src/affect.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
export function arousalSalienceBoost(arousal) {
|
|
2
|
-
if (arousal === undefined || arousal === null) return 0;
|
|
3
|
-
// Inverted-U (Yerkes-Dodson): peaks at 0.7, Gaussian sigma=0.3
|
|
4
|
-
return Math.exp(-Math.pow(arousal - 0.7, 2) / (2 * 0.3 * 0.3));
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export function affectSimilarity(a, b) {
|
|
8
|
-
if (!a || !b) return 0;
|
|
9
|
-
if (a.valence === undefined || b.valence === undefined) return 0;
|
|
10
|
-
const valenceDist = Math.abs(a.valence - b.valence);
|
|
11
|
-
const valenceSim = 1.0 - (valenceDist / 2.0);
|
|
12
|
-
if (a.arousal === undefined || b.arousal === undefined) return valenceSim;
|
|
13
|
-
const arousalSim = 1.0 - Math.abs(a.arousal - b.arousal);
|
|
14
|
-
// Valence is primary (70%), arousal secondary (30%) per Bower 1981
|
|
15
|
-
return 0.7 * valenceSim + 0.3 * arousalSim;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export function moodCongruenceModifier(encodingAffect, retrievalMood, weight = 0.2) {
|
|
19
|
-
if (!encodingAffect || !retrievalMood) return 1.0;
|
|
20
|
-
const similarity = affectSimilarity(encodingAffect, retrievalMood);
|
|
21
|
-
if (similarity === 0) return 1.0;
|
|
22
|
-
return 1.0 + (weight * similarity);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export async function detectResonance(db, embeddingProvider, episodeId, { content, affect }, config = {}) {
|
|
26
|
-
const { enabled = true, k = 5, threshold = 0.5, affectThreshold = 0.6 } = config;
|
|
27
|
-
if (!enabled || !affect || affect.valence === undefined) return [];
|
|
28
|
-
|
|
29
|
-
const vector = await embeddingProvider.embed(content);
|
|
30
|
-
const buffer = embeddingProvider.vectorToBuffer(vector);
|
|
31
|
-
|
|
32
|
-
const matches = db.prepare(`
|
|
33
|
-
SELECT e.*, (1.0 - v.distance) AS similarity
|
|
34
|
-
FROM vec_episodes v
|
|
35
|
-
JOIN episodes e ON e.id = v.id
|
|
36
|
-
WHERE v.embedding MATCH ?
|
|
37
|
-
AND k = ?
|
|
38
|
-
AND e.id != ?
|
|
39
|
-
AND e.superseded_by IS NULL
|
|
40
|
-
`).all(buffer, k, episodeId);
|
|
41
|
-
|
|
42
|
-
const resonances = [];
|
|
43
|
-
for (const match of matches) {
|
|
44
|
-
if (match.similarity < threshold) continue;
|
|
45
|
-
let priorAffect;
|
|
46
|
-
try { priorAffect = JSON.parse(match.affect || '{}'); } catch { continue; }
|
|
47
|
-
if (priorAffect.valence === undefined) continue;
|
|
48
|
-
|
|
49
|
-
const emotionalSimilarity = affectSimilarity(affect, priorAffect);
|
|
50
|
-
if (emotionalSimilarity < affectThreshold) continue;
|
|
51
|
-
|
|
52
|
-
resonances.push({
|
|
53
|
-
priorEpisodeId: match.id,
|
|
54
|
-
priorContent: match.content,
|
|
55
|
-
priorAffect,
|
|
56
|
-
semanticSimilarity: match.similarity,
|
|
57
|
-
emotionalSimilarity,
|
|
58
|
-
timeDeltaDays: Math.floor((Date.now() - new Date(match.created_at).getTime()) / 86400000),
|
|
59
|
-
priorCreatedAt: match.created_at,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return resonances;
|
|
64
|
-
}
|