hippo-memory 1.24.1 → 1.26.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/bin/hippo.js +2 -2
- package/dist/api.d.ts +12 -17
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +46 -61
- package/dist/api.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +109 -15
- package/dist/cli.js.map +1 -1
- package/dist/compare.d.ts +78 -0
- package/dist/compare.d.ts.map +1 -0
- package/dist/compare.js +92 -0
- package/dist/compare.js.map +1 -0
- package/dist/connectors/github/backfill.js +4 -4
- package/dist/connectors/github/cli-impl.js +6 -6
- package/dist/connectors/github/dlq.js +14 -14
- package/dist/connectors/slack/backfill.js +1 -1
- package/dist/connectors/slack/dlq.js +10 -10
- package/dist/connectors/slack/workspaces.js +4 -4
- package/dist/dag.js +6 -6
- package/dist/dashboard.js +7 -7
- package/dist/embedding-provider.d.ts +7 -3
- package/dist/embedding-provider.d.ts.map +1 -1
- package/dist/embedding-provider.js +7 -3
- package/dist/embedding-provider.js.map +1 -1
- package/dist/embeddings.d.ts +58 -0
- package/dist/embeddings.d.ts.map +1 -1
- package/dist/embeddings.js +66 -8
- package/dist/embeddings.js.map +1 -1
- package/dist/goals.d.ts.map +1 -1
- package/dist/goals.js +4 -0
- package/dist/goals.js.map +1 -1
- package/dist/graph-recall.d.ts.map +1 -1
- package/dist/graph-recall.js +15 -1
- package/dist/graph-recall.js.map +1 -1
- package/dist/graph.d.ts.map +1 -1
- package/dist/graph.js +3 -0
- package/dist/graph.js.map +1 -1
- package/dist/hooks.js +24 -24
- package/dist/multihop.d.ts.map +1 -1
- package/dist/multihop.js +3 -0
- package/dist/multihop.js.map +1 -1
- package/dist/physics.d.ts +6 -1
- package/dist/physics.d.ts.map +1 -1
- package/dist/physics.js +15 -5
- package/dist/physics.js.map +1 -1
- package/dist/predictions.js +67 -67
- package/dist/recall-scope.d.ts +60 -0
- package/dist/recall-scope.d.ts.map +1 -0
- package/dist/recall-scope.js +84 -0
- package/dist/recall-scope.js.map +1 -0
- package/dist/refine-llm.js +13 -13
- package/dist/rerankers/cross-encoder.d.ts.map +1 -1
- package/dist/rerankers/cross-encoder.js +6 -0
- package/dist/rerankers/cross-encoder.js.map +1 -1
- package/dist/search.d.ts +5 -0
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +30 -11
- package/dist/search.js.map +1 -1
- package/dist/shared.d.ts +30 -0
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +48 -11
- package/dist/shared.js.map +1 -1
- package/dist/sleep-redact.d.ts +3 -0
- package/dist/sleep-redact.d.ts.map +1 -1
- package/dist/sleep-redact.js +3 -0
- package/dist/sleep-redact.js.map +1 -1
- package/dist/src/api.js +46 -61
- package/dist/src/api.js.map +1 -1
- package/dist/src/cli.js +109 -15
- package/dist/src/cli.js.map +1 -1
- package/dist/src/compare.js +92 -0
- package/dist/src/compare.js.map +1 -0
- package/dist/src/connectors/github/backfill.js +4 -4
- package/dist/src/connectors/github/cli-impl.js +6 -6
- package/dist/src/connectors/github/dlq.js +14 -14
- package/dist/src/connectors/slack/backfill.js +1 -1
- package/dist/src/connectors/slack/dlq.js +10 -10
- package/dist/src/connectors/slack/workspaces.js +4 -4
- package/dist/src/dag.js +6 -6
- package/dist/src/dashboard.js +7 -7
- package/dist/src/embedding-provider.js +7 -3
- package/dist/src/embedding-provider.js.map +1 -1
- package/dist/src/embeddings.js +66 -8
- package/dist/src/embeddings.js.map +1 -1
- package/dist/src/goals.js +4 -0
- package/dist/src/goals.js.map +1 -1
- package/dist/src/graph-recall.js +15 -1
- package/dist/src/graph-recall.js.map +1 -1
- package/dist/src/graph.js +3 -0
- package/dist/src/graph.js.map +1 -1
- package/dist/src/hooks.js +24 -24
- package/dist/src/multihop.js +3 -0
- package/dist/src/multihop.js.map +1 -1
- package/dist/src/physics.js +15 -5
- package/dist/src/physics.js.map +1 -1
- package/dist/src/predictions.js +67 -67
- package/dist/src/recall-scope.js +84 -0
- package/dist/src/recall-scope.js.map +1 -0
- package/dist/src/refine-llm.js +13 -13
- package/dist/src/rerankers/cross-encoder.js +6 -0
- package/dist/src/rerankers/cross-encoder.js.map +1 -1
- package/dist/src/search.js +30 -11
- package/dist/src/search.js.map +1 -1
- package/dist/src/shared.js +48 -11
- package/dist/src/shared.js.map +1 -1
- package/dist/src/sleep-redact.js +3 -0
- package/dist/src/sleep-redact.js.map +1 -1
- package/dist/src/store.js +70 -22
- package/dist/src/store.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/working-memory.js +19 -19
- package/dist/store.d.ts +30 -9
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +70 -22
- package/dist/store.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/working-memory.js +19 -19
- package/dist-ui/index.html +12 -12
- package/extensions/openclaw-plugin/index.ts +650 -650
- package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
- package/extensions/openclaw-plugin/package.json +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/dist/benchmarks/e1.3/scenarios.json +0 -2587
package/dist/physics.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physics.d.ts","sourceRoot":"","sources":["../src/physics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"physics.d.ts","sourceRoot":"","sources":["../src/physics.ts"],"names":[],"mappings":"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"}
|
package/dist/physics.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* amplify each other via constructive interference.
|
|
11
11
|
*/
|
|
12
12
|
import { isRecallBoostAblated } from './ablation.js';
|
|
13
|
+
import { comparePhysicsResultsBy } from './compare.js';
|
|
13
14
|
// ---------------------------------------------------------------------------
|
|
14
15
|
// Vector math (hot path — kept inline for performance)
|
|
15
16
|
// ---------------------------------------------------------------------------
|
|
@@ -293,7 +294,12 @@ export function computeSystemEnergy(particles, G_memory) {
|
|
|
293
294
|
* Score all particles against a query embedding using physics-based ranking.
|
|
294
295
|
* Does NOT modify particle positions (virtual force computation).
|
|
295
296
|
*/
|
|
296
|
-
export function physicsScore(particles, queryEmbedding, config
|
|
297
|
+
export function physicsScore(particles, queryEmbedding, config,
|
|
298
|
+
/** Cross-ingest-stable tie key per memoryId (typically the memory's
|
|
299
|
+
* content, supplied by the caller which has entries in scope). Without
|
|
300
|
+
* it ties fall to memoryId -- per-instance only, which lets the
|
|
301
|
+
* cluster_top_k amplification set vary across fresh ingests. */
|
|
302
|
+
tieKeyOf) {
|
|
297
303
|
if (particles.length === 0 || queryEmbedding.length === 0)
|
|
298
304
|
return [];
|
|
299
305
|
// Pass 1: compute base scores
|
|
@@ -307,12 +313,16 @@ export function physicsScore(particles, queryEmbedding, config) {
|
|
|
307
313
|
finalScore: gravity + momentum,
|
|
308
314
|
};
|
|
309
315
|
});
|
|
310
|
-
// Sort by base score for top-K selection
|
|
311
|
-
|
|
316
|
+
// Sort by base score for top-K selection: score desc -> tie key asc.
|
|
317
|
+
// The tie order here picks the cluster_top_k amplification SET (which
|
|
318
|
+
// mutates scores), so it must be cross-ingest-stable when the caller
|
|
319
|
+
// supplies a content tie key. See compare.ts comparePhysicsResultsBy.
|
|
320
|
+
const tie = tieKeyOf ? (r) => tieKeyOf(r.memoryId) : undefined;
|
|
321
|
+
results.sort(comparePhysicsResultsBy((r) => r.baseScore, tie));
|
|
312
322
|
// Pass 2: cluster amplification on top K
|
|
313
323
|
applyClusterAmplification(results, particles, config);
|
|
314
|
-
// Re-sort by final score
|
|
315
|
-
results.sort((
|
|
324
|
+
// Re-sort by final score, same tiebreak rule.
|
|
325
|
+
results.sort(comparePhysicsResultsBy((r) => r.finalScore, tie));
|
|
316
326
|
return results;
|
|
317
327
|
}
|
|
318
328
|
/**
|
package/dist/physics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physics.js","sourceRoot":"","sources":["../src/physics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"physics.js","sourceRoot":"","sources":["../src/physics.ts"],"names":[],"mappings":"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"}
|
package/dist/predictions.js
CHANGED
|
@@ -86,20 +86,20 @@ export function savePrediction(hippoRoot, tenantId, opts, actor = 'cli') {
|
|
|
86
86
|
writeEntry(hippoRoot, mem, {
|
|
87
87
|
actor,
|
|
88
88
|
afterWrite: (db, memoryId) => {
|
|
89
|
-
const result = db.prepare(`
|
|
90
|
-
INSERT INTO predictions(
|
|
91
|
-
memory_id, tenant_id, class_tag, claim_text,
|
|
92
|
-
estimate_value, estimate_unit, target_date,
|
|
93
|
-
actual_value, closure_state, closed_at, closure_note, created_at
|
|
94
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'open', NULL, NULL, ?)
|
|
89
|
+
const result = db.prepare(`
|
|
90
|
+
INSERT INTO predictions(
|
|
91
|
+
memory_id, tenant_id, class_tag, claim_text,
|
|
92
|
+
estimate_value, estimate_unit, target_date,
|
|
93
|
+
actual_value, closure_state, closed_at, closure_note, created_at
|
|
94
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'open', NULL, NULL, ?)
|
|
95
95
|
`).run(memoryId, tenantId, opts.classTag, opts.claimText, opts.estimateValue ?? null, opts.estimateUnit ?? null, opts.targetDate ?? null, null, // actual_value — null until close
|
|
96
96
|
now);
|
|
97
97
|
const predictionId = Number(result.lastInsertRowid ?? 0);
|
|
98
|
-
const row = db.prepare(`
|
|
99
|
-
SELECT id, memory_id, tenant_id, class_tag, claim_text,
|
|
100
|
-
estimate_value, estimate_unit, target_date,
|
|
101
|
-
actual_value, closure_state, closed_at, closure_note, created_at
|
|
102
|
-
FROM predictions WHERE id = ?
|
|
98
|
+
const row = db.prepare(`
|
|
99
|
+
SELECT id, memory_id, tenant_id, class_tag, claim_text,
|
|
100
|
+
estimate_value, estimate_unit, target_date,
|
|
101
|
+
actual_value, closure_state, closed_at, closure_note, created_at
|
|
102
|
+
FROM predictions WHERE id = ?
|
|
103
103
|
`).get(predictionId);
|
|
104
104
|
if (!row) {
|
|
105
105
|
throw new Error('Failed to reload saved prediction row');
|
|
@@ -150,16 +150,16 @@ export function closePrediction(hippoRoot, tenantId, id, opts, actor = 'cli') {
|
|
|
150
150
|
// predict_close audit row. Zero changed rows → caller decides
|
|
151
151
|
// whether it's a "not found" or "already closed" case based on the
|
|
152
152
|
// load-then-close pattern.
|
|
153
|
-
const updateResult = db.prepare(`
|
|
154
|
-
UPDATE predictions
|
|
155
|
-
SET actual_value = ?, closure_state = ?, closed_at = ?, closure_note = ?
|
|
156
|
-
WHERE id = ? AND tenant_id = ? AND closure_state = 'open'
|
|
153
|
+
const updateResult = db.prepare(`
|
|
154
|
+
UPDATE predictions
|
|
155
|
+
SET actual_value = ?, closure_state = ?, closed_at = ?, closure_note = ?
|
|
156
|
+
WHERE id = ? AND tenant_id = ? AND closure_state = 'open'
|
|
157
157
|
`).run(opts.actualValue ?? null, opts.closureState, now, opts.closureNote ?? null, id, tenantId);
|
|
158
158
|
if (updateResult.changes === 0) {
|
|
159
159
|
// Distinguish "not found" from "already closed" so callers (CLI, HTTP)
|
|
160
160
|
// can surface the right error to the user.
|
|
161
|
-
const existing = db.prepare(`
|
|
162
|
-
SELECT closure_state FROM predictions WHERE id = ? AND tenant_id = ?
|
|
161
|
+
const existing = db.prepare(`
|
|
162
|
+
SELECT closure_state FROM predictions WHERE id = ? AND tenant_id = ?
|
|
163
163
|
`).get(id, tenantId);
|
|
164
164
|
if (!existing) {
|
|
165
165
|
throw new Error(`closePrediction: prediction ${id} not found for tenant ${tenantId}`);
|
|
@@ -167,11 +167,11 @@ export function closePrediction(hippoRoot, tenantId, id, opts, actor = 'cli') {
|
|
|
167
167
|
throw new Error(`closePrediction: prediction ${id} is already closed (state='${existing.closure_state}'); ` +
|
|
168
168
|
`cannot re-close. Open predictions only.`);
|
|
169
169
|
}
|
|
170
|
-
const row = db.prepare(`
|
|
171
|
-
SELECT id, memory_id, tenant_id, class_tag, claim_text,
|
|
172
|
-
estimate_value, estimate_unit, target_date,
|
|
173
|
-
actual_value, closure_state, closed_at, closure_note, created_at
|
|
174
|
-
FROM predictions WHERE id = ? AND tenant_id = ?
|
|
170
|
+
const row = db.prepare(`
|
|
171
|
+
SELECT id, memory_id, tenant_id, class_tag, claim_text,
|
|
172
|
+
estimate_value, estimate_unit, target_date,
|
|
173
|
+
actual_value, closure_state, closed_at, closure_note, created_at
|
|
174
|
+
FROM predictions WHERE id = ? AND tenant_id = ?
|
|
175
175
|
`).get(id, tenantId);
|
|
176
176
|
if (!row) {
|
|
177
177
|
throw new Error(`closePrediction: prediction ${id} not found after UPDATE`);
|
|
@@ -208,11 +208,11 @@ export function loadPredictionById(hippoRoot, tenantId, id) {
|
|
|
208
208
|
assertTenantId('loadPredictionById', tenantId);
|
|
209
209
|
const db = openHippoDb(hippoRoot);
|
|
210
210
|
try {
|
|
211
|
-
const row = db.prepare(`
|
|
212
|
-
SELECT id, memory_id, tenant_id, class_tag, claim_text,
|
|
213
|
-
estimate_value, estimate_unit, target_date,
|
|
214
|
-
actual_value, closure_state, closed_at, closure_note, created_at
|
|
215
|
-
FROM predictions WHERE id = ? AND tenant_id = ?
|
|
211
|
+
const row = db.prepare(`
|
|
212
|
+
SELECT id, memory_id, tenant_id, class_tag, claim_text,
|
|
213
|
+
estimate_value, estimate_unit, target_date,
|
|
214
|
+
actual_value, closure_state, closed_at, closure_note, created_at
|
|
215
|
+
FROM predictions WHERE id = ? AND tenant_id = ?
|
|
216
216
|
`).get(id, tenantId);
|
|
217
217
|
return row ? rowToPrediction(row) : null;
|
|
218
218
|
}
|
|
@@ -230,25 +230,25 @@ export function loadPredictionsByClass(hippoRoot, tenantId, classTag, opts = {})
|
|
|
230
230
|
if (!VALID_CLOSURE_STATES.has(opts.closureState)) {
|
|
231
231
|
throw new Error(`loadPredictionsByClass: closureState must be one of ${Array.from(VALID_CLOSURE_STATES).join('|')}; got ${opts.closureState}`);
|
|
232
232
|
}
|
|
233
|
-
rows = db.prepare(`
|
|
234
|
-
SELECT id, memory_id, tenant_id, class_tag, claim_text,
|
|
235
|
-
estimate_value, estimate_unit, target_date,
|
|
236
|
-
actual_value, closure_state, closed_at, closure_note, created_at
|
|
237
|
-
FROM predictions
|
|
238
|
-
WHERE tenant_id = ? AND class_tag = ? AND closure_state = ?
|
|
239
|
-
ORDER BY created_at DESC, id DESC
|
|
240
|
-
LIMIT ?
|
|
233
|
+
rows = db.prepare(`
|
|
234
|
+
SELECT id, memory_id, tenant_id, class_tag, claim_text,
|
|
235
|
+
estimate_value, estimate_unit, target_date,
|
|
236
|
+
actual_value, closure_state, closed_at, closure_note, created_at
|
|
237
|
+
FROM predictions
|
|
238
|
+
WHERE tenant_id = ? AND class_tag = ? AND closure_state = ?
|
|
239
|
+
ORDER BY created_at DESC, id DESC
|
|
240
|
+
LIMIT ?
|
|
241
241
|
`).all(tenantId, classTag, opts.closureState, limit);
|
|
242
242
|
}
|
|
243
243
|
else {
|
|
244
|
-
rows = db.prepare(`
|
|
245
|
-
SELECT id, memory_id, tenant_id, class_tag, claim_text,
|
|
246
|
-
estimate_value, estimate_unit, target_date,
|
|
247
|
-
actual_value, closure_state, closed_at, closure_note, created_at
|
|
248
|
-
FROM predictions
|
|
249
|
-
WHERE tenant_id = ? AND class_tag = ?
|
|
250
|
-
ORDER BY created_at DESC, id DESC
|
|
251
|
-
LIMIT ?
|
|
244
|
+
rows = db.prepare(`
|
|
245
|
+
SELECT id, memory_id, tenant_id, class_tag, claim_text,
|
|
246
|
+
estimate_value, estimate_unit, target_date,
|
|
247
|
+
actual_value, closure_state, closed_at, closure_note, created_at
|
|
248
|
+
FROM predictions
|
|
249
|
+
WHERE tenant_id = ? AND class_tag = ?
|
|
250
|
+
ORDER BY created_at DESC, id DESC
|
|
251
|
+
LIMIT ?
|
|
252
252
|
`).all(tenantId, classTag, limit);
|
|
253
253
|
}
|
|
254
254
|
return rows.map(rowToPrediction);
|
|
@@ -286,14 +286,14 @@ emitAudit = true) {
|
|
|
286
286
|
throw new Error('computePredictionBaserate: classTag is required');
|
|
287
287
|
const db = openHippoDb(hippoRoot);
|
|
288
288
|
try {
|
|
289
|
-
const rows = db.prepare(`
|
|
290
|
-
SELECT estimate_value, actual_value
|
|
291
|
-
FROM predictions
|
|
292
|
-
WHERE tenant_id = ?
|
|
293
|
-
AND class_tag = ?
|
|
294
|
-
AND closure_state = 'closed'
|
|
295
|
-
AND estimate_value IS NOT NULL
|
|
296
|
-
AND actual_value IS NOT NULL
|
|
289
|
+
const rows = db.prepare(`
|
|
290
|
+
SELECT estimate_value, actual_value
|
|
291
|
+
FROM predictions
|
|
292
|
+
WHERE tenant_id = ?
|
|
293
|
+
AND class_tag = ?
|
|
294
|
+
AND closure_state = 'closed'
|
|
295
|
+
AND estimate_value IS NOT NULL
|
|
296
|
+
AND actual_value IS NOT NULL
|
|
297
297
|
`).all(tenantId, classTag);
|
|
298
298
|
const nClosed = rows.length;
|
|
299
299
|
if (nClosed === 0) {
|
|
@@ -373,25 +373,25 @@ export function loadOpenPredictions(hippoRoot, tenantId, opts = {}) {
|
|
|
373
373
|
try {
|
|
374
374
|
let rows;
|
|
375
375
|
if (opts.classTag) {
|
|
376
|
-
rows = db.prepare(`
|
|
377
|
-
SELECT id, memory_id, tenant_id, class_tag, claim_text,
|
|
378
|
-
estimate_value, estimate_unit, target_date,
|
|
379
|
-
actual_value, closure_state, closed_at, closure_note, created_at
|
|
380
|
-
FROM predictions
|
|
381
|
-
WHERE tenant_id = ? AND class_tag = ? AND closure_state = 'open'
|
|
382
|
-
ORDER BY created_at DESC, id DESC
|
|
383
|
-
LIMIT ?
|
|
376
|
+
rows = db.prepare(`
|
|
377
|
+
SELECT id, memory_id, tenant_id, class_tag, claim_text,
|
|
378
|
+
estimate_value, estimate_unit, target_date,
|
|
379
|
+
actual_value, closure_state, closed_at, closure_note, created_at
|
|
380
|
+
FROM predictions
|
|
381
|
+
WHERE tenant_id = ? AND class_tag = ? AND closure_state = 'open'
|
|
382
|
+
ORDER BY created_at DESC, id DESC
|
|
383
|
+
LIMIT ?
|
|
384
384
|
`).all(tenantId, opts.classTag, limit);
|
|
385
385
|
}
|
|
386
386
|
else {
|
|
387
|
-
rows = db.prepare(`
|
|
388
|
-
SELECT id, memory_id, tenant_id, class_tag, claim_text,
|
|
389
|
-
estimate_value, estimate_unit, target_date,
|
|
390
|
-
actual_value, closure_state, closed_at, closure_note, created_at
|
|
391
|
-
FROM predictions
|
|
392
|
-
WHERE tenant_id = ? AND closure_state = 'open'
|
|
393
|
-
ORDER BY created_at DESC, id DESC
|
|
394
|
-
LIMIT ?
|
|
387
|
+
rows = db.prepare(`
|
|
388
|
+
SELECT id, memory_id, tenant_id, class_tag, claim_text,
|
|
389
|
+
estimate_value, estimate_unit, target_date,
|
|
390
|
+
actual_value, closure_state, closed_at, closure_note, created_at
|
|
391
|
+
FROM predictions
|
|
392
|
+
WHERE tenant_id = ? AND closure_state = 'open'
|
|
393
|
+
ORDER BY created_at DESC, id DESC
|
|
394
|
+
LIMIT ?
|
|
395
395
|
`).all(tenantId, limit);
|
|
396
396
|
}
|
|
397
397
|
return rows.map(rowToPrediction);
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.25.0 — recall-side scope predicates, extracted from api.ts into a leaf
|
|
3
|
+
* module so shared.ts (which api.ts imports) can apply the same default-deny
|
|
4
|
+
* rule to searchBothHybrid's internal candidate loads without an import
|
|
5
|
+
* cycle. Mirrors the v39 `project-identity.ts` precedent. api.ts imports
|
|
6
|
+
* these for its own call sites AND re-exports them for back-compat
|
|
7
|
+
* (`api.isPrivateScope`, test imports of `passesScopeFilterForRecall`).
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* v1.2.1: source-agnostic private-scope detector. A scope string is treated
|
|
11
|
+
* as private when it has the shape `<lowercase-source>:private:<rest>`.
|
|
12
|
+
*
|
|
13
|
+
* Examples that match:
|
|
14
|
+
* slack:private:Cabc, github:private:owner/repo, jira:private:PROJ-1
|
|
15
|
+
* Examples that DO NOT match:
|
|
16
|
+
* slack:public:Cgeneral, acme:public:my-private-channel, null, '',
|
|
17
|
+
* 'unknown:legacy', 'private' (alone), 'private:foo' (no source prefix).
|
|
18
|
+
*
|
|
19
|
+
* Used by api.recall, mcp/server.ts (hippo_recall + hippo_context),
|
|
20
|
+
* cli.ts (cmdRecall + cmdExplain + continuity), shared.ts (searchBothHybrid
|
|
21
|
+
* recall mode). Keep these in sync — the export is the single source of
|
|
22
|
+
* truth so connector work cannot drift.
|
|
23
|
+
*/
|
|
24
|
+
export declare const PRIVATE_SCOPE_RE: RegExp;
|
|
25
|
+
/** True when `scope` matches the `<source>:private:*` shape. */
|
|
26
|
+
export declare function isPrivateScope(scope: string | null | undefined): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Recall-side scope filter — the canonical JS half of the recall default-deny
|
|
29
|
+
* rule (the SQL half lives in `loadSearchRows` via `loadRecallSearchEntries`).
|
|
30
|
+
*
|
|
31
|
+
* - When `requested` is set and non-empty: exact match required.
|
|
32
|
+
* - When `requested` is undefined/empty: default-deny on any
|
|
33
|
+
* `<source>:private:*` scope and on the `RECALL_DEFAULT_DENY_SCOPES`
|
|
34
|
+
* quarantine buckets. `null` and public scopes pass.
|
|
35
|
+
*
|
|
36
|
+
* @internal v1.7.2 — exported for test parity with
|
|
37
|
+
* `RECALL_DEFAULT_DENY_SCOPES` (single-source-of-truth verification). NOT part
|
|
38
|
+
* of the public API surface; not re-exported from `src/index.ts`. Subject to
|
|
39
|
+
* change without semver bump.
|
|
40
|
+
*/
|
|
41
|
+
export declare function passesScopeFilterForRecall(scope: string | null, requested: string | undefined): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* v1.25.0 — the CLI `--scope` variant of the recall filter (JS half of the
|
|
44
|
+
* SQL 'default-deny-or-exact' mode in loadSearchRows).
|
|
45
|
+
*
|
|
46
|
+
* The CLI flag predates the envelope column as a TAG-boost ranking hint
|
|
47
|
+
* (`scope:<v>` tags, HIPPO_SCOPE, detectScope()), so an explicit `--scope X`
|
|
48
|
+
* UNLOCKS envelope scope X in addition to the default-admitted set — it does
|
|
49
|
+
* NOT narrow the result to X (that would return zero rows for every
|
|
50
|
+
* tag-scoped workflow, whose envelope scope is NULL). api.recall keeps the
|
|
51
|
+
* narrowing 'exact' semantics via `passesScopeFilterForRecall`.
|
|
52
|
+
*
|
|
53
|
+
* Note the unlock applies to whatever scope was explicitly named — including
|
|
54
|
+
* a private scope or a quarantine bucket (`--scope unknown:legacy`). That is
|
|
55
|
+
* deliberate owner access, identical in reach to api.recall's exact-match
|
|
56
|
+
* for the same input; only NON-requested private/quarantine scopes stay
|
|
57
|
+
* denied.
|
|
58
|
+
*/
|
|
59
|
+
export declare function passesCliRecallScopeFilter(scope: string | null, requested: string | undefined): boolean;
|
|
60
|
+
//# sourceMappingURL=recall-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recall-scope.d.ts","sourceRoot":"","sources":["../src/recall-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,QAA+B,CAAC;AAE7D,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAExE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAaT;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAKT"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.25.0 — recall-side scope predicates, extracted from api.ts into a leaf
|
|
3
|
+
* module so shared.ts (which api.ts imports) can apply the same default-deny
|
|
4
|
+
* rule to searchBothHybrid's internal candidate loads without an import
|
|
5
|
+
* cycle. Mirrors the v39 `project-identity.ts` precedent. api.ts imports
|
|
6
|
+
* these for its own call sites AND re-exports them for back-compat
|
|
7
|
+
* (`api.isPrivateScope`, test imports of `passesScopeFilterForRecall`).
|
|
8
|
+
*/
|
|
9
|
+
import { RECALL_DEFAULT_DENY_SCOPES } from './store.js';
|
|
10
|
+
/**
|
|
11
|
+
* v1.2.1: source-agnostic private-scope detector. A scope string is treated
|
|
12
|
+
* as private when it has the shape `<lowercase-source>:private:<rest>`.
|
|
13
|
+
*
|
|
14
|
+
* Examples that match:
|
|
15
|
+
* slack:private:Cabc, github:private:owner/repo, jira:private:PROJ-1
|
|
16
|
+
* Examples that DO NOT match:
|
|
17
|
+
* slack:public:Cgeneral, acme:public:my-private-channel, null, '',
|
|
18
|
+
* 'unknown:legacy', 'private' (alone), 'private:foo' (no source prefix).
|
|
19
|
+
*
|
|
20
|
+
* Used by api.recall, mcp/server.ts (hippo_recall + hippo_context),
|
|
21
|
+
* cli.ts (cmdRecall + cmdExplain + continuity), shared.ts (searchBothHybrid
|
|
22
|
+
* recall mode). Keep these in sync — the export is the single source of
|
|
23
|
+
* truth so connector work cannot drift.
|
|
24
|
+
*/
|
|
25
|
+
export const PRIVATE_SCOPE_RE = /^[a-z][a-z0-9_-]*:private:/;
|
|
26
|
+
/** True when `scope` matches the `<source>:private:*` shape. */
|
|
27
|
+
export function isPrivateScope(scope) {
|
|
28
|
+
return typeof scope === 'string' && PRIVATE_SCOPE_RE.test(scope);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Recall-side scope filter — the canonical JS half of the recall default-deny
|
|
32
|
+
* rule (the SQL half lives in `loadSearchRows` via `loadRecallSearchEntries`).
|
|
33
|
+
*
|
|
34
|
+
* - When `requested` is set and non-empty: exact match required.
|
|
35
|
+
* - When `requested` is undefined/empty: default-deny on any
|
|
36
|
+
* `<source>:private:*` scope and on the `RECALL_DEFAULT_DENY_SCOPES`
|
|
37
|
+
* quarantine buckets. `null` and public scopes pass.
|
|
38
|
+
*
|
|
39
|
+
* @internal v1.7.2 — exported for test parity with
|
|
40
|
+
* `RECALL_DEFAULT_DENY_SCOPES` (single-source-of-truth verification). NOT part
|
|
41
|
+
* of the public API surface; not re-exported from `src/index.ts`. Subject to
|
|
42
|
+
* change without semver bump.
|
|
43
|
+
*/
|
|
44
|
+
export function passesScopeFilterForRecall(scope, requested) {
|
|
45
|
+
if (requested !== undefined && requested !== '') {
|
|
46
|
+
return scope === requested;
|
|
47
|
+
}
|
|
48
|
+
if (scope === null)
|
|
49
|
+
return true;
|
|
50
|
+
if (isPrivateScope(scope))
|
|
51
|
+
return false;
|
|
52
|
+
// v1.7.2 — read from RECALL_DEFAULT_DENY_SCOPES (single source of truth
|
|
53
|
+
// shared with the SQL clause in loadSearchRows). Cast the array to
|
|
54
|
+
// readonly string[] so .includes() accepts arbitrary string scopes
|
|
55
|
+
// without a cast on the input (codex P0-2: casting `scope` would defeat
|
|
56
|
+
// the constant's safety).
|
|
57
|
+
if (RECALL_DEFAULT_DENY_SCOPES.includes(scope))
|
|
58
|
+
return false;
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* v1.25.0 — the CLI `--scope` variant of the recall filter (JS half of the
|
|
63
|
+
* SQL 'default-deny-or-exact' mode in loadSearchRows).
|
|
64
|
+
*
|
|
65
|
+
* The CLI flag predates the envelope column as a TAG-boost ranking hint
|
|
66
|
+
* (`scope:<v>` tags, HIPPO_SCOPE, detectScope()), so an explicit `--scope X`
|
|
67
|
+
* UNLOCKS envelope scope X in addition to the default-admitted set — it does
|
|
68
|
+
* NOT narrow the result to X (that would return zero rows for every
|
|
69
|
+
* tag-scoped workflow, whose envelope scope is NULL). api.recall keeps the
|
|
70
|
+
* narrowing 'exact' semantics via `passesScopeFilterForRecall`.
|
|
71
|
+
*
|
|
72
|
+
* Note the unlock applies to whatever scope was explicitly named — including
|
|
73
|
+
* a private scope or a quarantine bucket (`--scope unknown:legacy`). That is
|
|
74
|
+
* deliberate owner access, identical in reach to api.recall's exact-match
|
|
75
|
+
* for the same input; only NON-requested private/quarantine scopes stay
|
|
76
|
+
* denied.
|
|
77
|
+
*/
|
|
78
|
+
export function passesCliRecallScopeFilter(scope, requested) {
|
|
79
|
+
if (requested !== undefined && requested !== '' && scope === requested) {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
return passesScopeFilterForRecall(scope, undefined);
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=recall-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recall-scope.js","sourceRoot":"","sources":["../src/recall-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AAE7D,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAAC,KAAgC;IAC7D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAoB,EACpB,SAA6B;IAE7B,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QAChD,OAAO,KAAK,KAAK,SAAS,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,wEAAwE;IACxE,mEAAmE;IACnE,mEAAmE;IACnE,wEAAwE;IACxE,0BAA0B;IAC1B,IAAK,0BAAgD,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAoB,EACpB,SAA6B;IAE7B,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,0BAA0B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACtD,CAAC"}
|
package/dist/refine-llm.js
CHANGED
|
@@ -31,19 +31,19 @@ export async function refineSemanticMemory(merged, sources, opts) {
|
|
|
31
31
|
.slice(0, 8)
|
|
32
32
|
.map((s, i) => `[source ${i + 1}] ${s.content.slice(0, 400)}`)
|
|
33
33
|
.join('\n\n');
|
|
34
|
-
const prompt = `You are refining a semantic memory in an agent's memory store. The rule-based consolidator merged several related episodic memories into one, but the output is clumsy. Produce a single coherent semantic memory that captures the underlying principle.
|
|
35
|
-
|
|
36
|
-
Rules:
|
|
37
|
-
- Output ONLY the refined content — no preamble, no quote marks, no "Here is...".
|
|
38
|
-
- Keep it concise: one paragraph, no headers, no bullet lists unless the sources are inherently a list.
|
|
39
|
-
- Preserve specific facts (names, numbers, paths, IDs) from the sources.
|
|
40
|
-
- Generalize: state the pattern, not each instance.
|
|
41
|
-
- Do NOT include the "[Consolidated from N ...]" marker.
|
|
42
|
-
|
|
43
|
-
Current merged content:
|
|
44
|
-
${merged}
|
|
45
|
-
|
|
46
|
-
Source memories (up to 8 shown):
|
|
34
|
+
const prompt = `You are refining a semantic memory in an agent's memory store. The rule-based consolidator merged several related episodic memories into one, but the output is clumsy. Produce a single coherent semantic memory that captures the underlying principle.
|
|
35
|
+
|
|
36
|
+
Rules:
|
|
37
|
+
- Output ONLY the refined content — no preamble, no quote marks, no "Here is...".
|
|
38
|
+
- Keep it concise: one paragraph, no headers, no bullet lists unless the sources are inherently a list.
|
|
39
|
+
- Preserve specific facts (names, numbers, paths, IDs) from the sources.
|
|
40
|
+
- Generalize: state the pattern, not each instance.
|
|
41
|
+
- Do NOT include the "[Consolidated from N ...]" marker.
|
|
42
|
+
|
|
43
|
+
Current merged content:
|
|
44
|
+
${merged}
|
|
45
|
+
|
|
46
|
+
Source memories (up to 8 shown):
|
|
47
47
|
${sourceBlock}`;
|
|
48
48
|
let res;
|
|
49
49
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-encoder.d.ts","sourceRoot":"","sources":["../../src/rerankers/cross-encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiC,MAAM,YAAY,CAAC;AAe5E;;;;;GAKG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC,CAOhE;AAuBD;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"cross-encoder.d.ts","sourceRoot":"","sources":["../../src/rerankers/cross-encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiC,MAAM,YAAY,CAAC;AAe5E;;;;;GAKG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC,CAOhE;AAuBD;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAE,UA0DlC,CAAC"}
|
|
@@ -83,6 +83,12 @@ export const crossEncoderReranker = async (query, results, options) => {
|
|
|
83
83
|
postRerankRank: 0,
|
|
84
84
|
};
|
|
85
85
|
}));
|
|
86
|
+
// T2 note: PLAIN stable score sort on purpose. The input `head` is already
|
|
87
|
+
// deterministically ordered (upstream content tail), so stability inherits
|
|
88
|
+
// that -- and when the cross-encoder produces tied scores (degenerate or
|
|
89
|
+
// no-signal cases), ties MUST fall back to the prior relevance order, not
|
|
90
|
+
// an arbitrary content order (the reranker-cross-encoder micro fixture
|
|
91
|
+
// fails otherwise: an all-tie rerank pass reordered its input).
|
|
86
92
|
scored.sort((a, b) => b.rerankScore - a.rerankScore);
|
|
87
93
|
scored.forEach((r, i) => (r.postRerankRank = i + 1));
|
|
88
94
|
return scored;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-encoder.js","sourceRoot":"","sources":["../../src/rerankers/cross-encoder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cross-encoder.js","sourceRoot":"","sources":["../../src/rerankers/cross-encoder.ts"],"names":[],"mappings":"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"}
|
package/dist/search.d.ts
CHANGED
|
@@ -227,6 +227,11 @@ export declare function hybridSearch(query: string, entries: MemoryEntry[], opti
|
|
|
227
227
|
* Inputs must already be sorted by relevance descending. When `explain` is
|
|
228
228
|
* true, attaches `preMmrRank` / `postMmrRank` to each result's breakdown.
|
|
229
229
|
* Exported for unit tests; production callers go through hybridSearch.
|
|
230
|
+
*
|
|
231
|
+
* Determinism note (T2): the picking loop below uses strict `mmr > bestMmr`
|
|
232
|
+
* (first-wins on ties), so it is already deterministic GIVEN a
|
|
233
|
+
* deterministic `scored` input order — no comparator change needed here;
|
|
234
|
+
* the tiebreak lives upstream, in how `scored` was sorted before this runs.
|
|
230
235
|
*/
|
|
231
236
|
export declare function mmrRerank(scored: SearchResult[], embeddingIndex: Record<string, number[]>, lambda: number, explain: boolean): SearchResult[];
|
|
232
237
|
/**
|
package/dist/search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAY7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"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"}
|