agent-working-memory 0.16.0 → 0.17.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/README.md +6 -4
- package/dist/adapters/common.d.ts.map +1 -1
- package/dist/adapters/common.js +5 -3
- package/dist/adapters/common.js.map +1 -1
- package/dist/core/reranker.d.ts.map +1 -1
- package/dist/core/reranker.js +10 -2
- package/dist/core/reranker.js.map +1 -1
- package/dist/core/salience.d.ts +2 -0
- package/dist/core/salience.d.ts.map +1 -1
- package/dist/core/salience.js +45 -18
- package/dist/core/salience.js.map +1 -1
- package/dist/core/write-pipeline.d.ts.map +1 -1
- package/dist/core/write-pipeline.js +25 -2
- package/dist/core/write-pipeline.js.map +1 -1
- package/dist/engine/consolidation.d.ts.map +1 -1
- package/dist/engine/consolidation.js +14 -1
- package/dist/engine/consolidation.js.map +1 -1
- package/package.json +5 -5
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/README.md +1 -1
- package/plugin/bin/awm-mcp-launcher.cjs +2 -2
- package/plugin/skills/awm-memory/SKILL.md +6 -4
- package/src/adapters/common.ts +5 -3
- package/src/core/reranker.ts +150 -142
- package/src/core/salience.ts +45 -18
- package/src/core/write-pipeline.ts +25 -2
- package/src/engine/consolidation.ts +13 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consolidation.js","sourceRoot":"","sources":["../../src/engine/consolidation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"consolidation.js","sourceRoot":"","sources":["../../src/engine/consolidation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-working-memory",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"mcpName": "io.github.CompleteIdeas/agent-working-memory",
|
|
5
5
|
"description": "Persistent, local-first memory for AI agents. Selective by design: filters what's worth keeping, links what's related, and says nothing when it doesn't know. SQLite + ONNX, no cloud, no API keys.",
|
|
6
6
|
"keywords": [
|
|
@@ -77,13 +77,13 @@
|
|
|
77
77
|
"LICENSE"
|
|
78
78
|
],
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@electric-sql/pglite": "
|
|
80
|
+
"@electric-sql/pglite": "0.5.6",
|
|
81
81
|
"@electric-sql/pglite-pgvector": "^0.0.7",
|
|
82
|
-
"@huggingface/transformers": "^3.
|
|
83
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
82
|
+
"@huggingface/transformers": "^4.3.1",
|
|
83
|
+
"@modelcontextprotocol/sdk": "^1.32.1",
|
|
84
84
|
"@toon-format/toon": "^2.3.0",
|
|
85
85
|
"better-sqlite3": "^12.6.2",
|
|
86
|
-
"fastify": "^5.
|
|
86
|
+
"fastify": "^5.12.5",
|
|
87
87
|
"pg": "^8.13.1",
|
|
88
88
|
"zod": "^4.3.6"
|
|
89
89
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "awm",
|
|
3
3
|
"displayName": "Agent Working Memory",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.17.0",
|
|
5
5
|
"description": "Persistent, local-first memory for AI agents. Selective by design: filters what's worth keeping, links what's related, and says nothing when it doesn't know. SQLite + ONNX, no cloud, no API keys.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Robert Winter"
|
package/plugin/README.md
CHANGED
|
@@ -22,7 +22,7 @@ The launcher defaults `AWM_DB_PATH` to `~/.awm/memory.db` — **the same file
|
|
|
22
22
|
than quietly starting an empty one. Set `AWM_DB_PATH` yourself to override.
|
|
23
23
|
|
|
24
24
|
It prefers an installed copy of the package (global, or a local `node_modules`) and falls
|
|
25
|
-
back to `npx -p agent-working-memory@0.
|
|
25
|
+
back to `npx -p agent-working-memory@0.17.0`. The npx path rebuilds
|
|
26
26
|
`better-sqlite3` on a cold cache, which is slow enough to look like a hang, so a real
|
|
27
27
|
install is worth having:
|
|
28
28
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
//
|
|
7
7
|
// This is a REAL source file, not a string inside the generator, because it is real code:
|
|
8
8
|
// it gets syntax-checked, linted and tested like everything else. `npm run build:plugin`
|
|
9
|
-
// copies it to plugin/bin/ and substitutes 0.
|
|
9
|
+
// copies it to plugin/bin/ and substitutes 0.17.0.
|
|
10
10
|
//
|
|
11
11
|
// Two jobs a bare `mcpServers` entry in plugin.json cannot do:
|
|
12
12
|
//
|
|
@@ -95,7 +95,7 @@ if (found) {
|
|
|
95
95
|
const isWin = process.platform === 'win32';
|
|
96
96
|
const child = spawn(
|
|
97
97
|
isWin ? 'npx.cmd' : 'npx',
|
|
98
|
-
['-y', '-p', 'agent-working-memory@0.
|
|
98
|
+
['-y', '-p', 'agent-working-memory@0.17.0', 'awm', 'mcp'],
|
|
99
99
|
{ stdio: 'inherit', env: process.env, shell: isWin }
|
|
100
100
|
);
|
|
101
101
|
child.on('error', (e) => {
|
|
@@ -10,7 +10,7 @@ description: >-
|
|
|
10
10
|
|
|
11
11
|
# Agent Working Memory
|
|
12
12
|
|
|
13
|
-
Generated from `src/adapters/common.ts` (AWM v0.
|
|
13
|
+
Generated from `src/adapters/common.ts` (AWM v0.17.0) — the same guidance
|
|
14
14
|
`awm setup` writes into CLAUDE.md. Do not edit here; edit the source and re-run
|
|
15
15
|
`npm run build:plugin`.
|
|
16
16
|
|
|
@@ -174,9 +174,11 @@ don't need them.
|
|
|
174
174
|
### Salience auto-promotion (defense in depth)
|
|
175
175
|
The salience filter automatically promotes certain content patterns even if you forget
|
|
176
176
|
to set `memory_class` explicitly:
|
|
177
|
-
- **User feedback** — content starting with
|
|
178
|
-
"
|
|
179
|
-
|
|
177
|
+
- **User feedback** — content starting with a configured stakeholder name plus a feedback
|
|
178
|
+
verb ("<name> said…", "<name> directed…", "<name> decided…") auto-promotes to canonical,
|
|
179
|
+
so quoting the user verbatim preserves the decision. **This is OFF unless an operator
|
|
180
|
+
sets `AWM_FEEDBACK_NAMES`** (it ships empty); when in doubt, pass
|
|
181
|
+
`memory_class: 'canonical'` explicitly rather than relying on it.
|
|
180
182
|
- **Verified operational records** — content with an action verb (Submitted, Finalized,
|
|
181
183
|
Completed, Reconciled, Triaged, Posted, Resolved, Stamped, Pushed, Deployed, Migrated,
|
|
182
184
|
Imported, Exported, Backfilled) plus 2+ concrete identifiers (ISO date `YYYY-MM-DD`,
|
package/src/adapters/common.ts
CHANGED
|
@@ -515,9 +515,11 @@ don't need them.
|
|
|
515
515
|
### Salience auto-promotion (defense in depth)
|
|
516
516
|
The salience filter automatically promotes certain content patterns even if you forget
|
|
517
517
|
to set \`memory_class\` explicitly:
|
|
518
|
-
- **User feedback** — content starting with
|
|
519
|
-
"
|
|
520
|
-
|
|
518
|
+
- **User feedback** — content starting with a configured stakeholder name plus a feedback
|
|
519
|
+
verb ("<name> said…", "<name> directed…", "<name> decided…") auto-promotes to canonical,
|
|
520
|
+
so quoting the user verbatim preserves the decision. **This is OFF unless an operator
|
|
521
|
+
sets \`AWM_FEEDBACK_NAMES\`** (it ships empty); when in doubt, pass
|
|
522
|
+
\`memory_class: 'canonical'\` explicitly rather than relying on it.
|
|
521
523
|
- **Verified operational records** — content with an action verb (Submitted, Finalized,
|
|
522
524
|
Completed, Reconciled, Triaged, Posted, Resolved, Stamped, Pushed, Deployed, Migrated,
|
|
523
525
|
Imported, Exported, Backfilled) plus 2+ concrete identifiers (ISO date \`YYYY-MM-DD\`,
|
package/src/core/reranker.ts
CHANGED
|
@@ -1,142 +1,150 @@
|
|
|
1
|
-
// Copyright 2026 Robert Winter / Complete Ideas
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
/**
|
|
4
|
-
* Cross-Encoder Re-Ranker - scores (query, passage) pairs for relevance.
|
|
5
|
-
*
|
|
6
|
-
* Uses Xenova/ms-marco-MiniLM-L-6-v2 (91MB ONNX at the fp32 default; the 23MB
|
|
7
|
-
* quantized file is what AWM_RERANKER_DTYPE=q8 loads) trained on MS-MARCO
|
|
8
|
-
* passage ranking. Unlike bi-encoders, cross-encoders see both query and
|
|
9
|
-
* passage together via full attention - much better at judging if a
|
|
10
|
-
* passage actually answers a question.
|
|
11
|
-
*
|
|
12
|
-
* AWM 0.8.x: inference dispatches through ml-worker.ts (currently in-process
|
|
13
|
-
* — see ml-worker.ts for the worker_threads → in-process revert rationale).
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
import {
|
|
17
|
-
AutoTokenizer,
|
|
18
|
-
AutoModelForSequenceClassification,
|
|
19
|
-
type PreTrainedTokenizer,
|
|
20
|
-
type PreTrainedModel,
|
|
21
|
-
} from '@huggingface/transformers';
|
|
22
|
-
import { dispatchRerank, registerInProcessHandlers } from './ml-worker.js';
|
|
23
|
-
import { ensureModelCacheDir } from './model-cache.js';
|
|
24
|
-
|
|
25
|
-
const DEFAULT_MODEL = 'Xenova/ms-marco-MiniLM-L-6-v2';
|
|
26
|
-
const MODEL_ID = process.env.AWM_RERANKER_MODEL || DEFAULT_MODEL;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Weight precision for the cross-encoder. fp32 is the shipped default and the
|
|
30
|
-
* only value any published number was measured at.
|
|
31
|
-
*
|
|
32
|
-
* It is exposed because the cross-encoder is 83% of warm recall latency
|
|
33
|
-
* (measured, `npm run profile:recall`), which makes precision the largest
|
|
34
|
-
* single latency lever in the system — and an unmeasurable one while it was a
|
|
35
|
-
* literal. RE-MEASURED 2026-10-09 on the pipeline that ships: 'q8' cuts total
|
|
36
|
-
* recall latency 26-33% across three suites, for ONE QUERY in 450 — identifier
|
|
37
|
-
* success@1 unchanged at 93.0%, topic 92.2% -> 92.0%. Correct abstention is
|
|
38
|
-
* unmoved on all three suites; success@5 is unmoved on both private suites and
|
|
39
|
-
* moves +0.5pp on the public corpus, inside its 4pp seed-noise floor. It is deterministic (two runs agree
|
|
40
|
-
* on all 450 queries to 1e-6), and because no model is bundled it SHRINKS the
|
|
41
|
-
* first-run fetch: the ONNX file it loads is 23MB against fp32's 91MB. 'q4' is dominated: equal
|
|
42
|
-
* accuracy, only -3% latency, 6.1s cold start against fp32's 1.6s. The default
|
|
43
|
-
* is untouched because it is a product decision, not because the cost is
|
|
44
|
-
* unknown; see docs/recall-latency.md.
|
|
45
|
-
*/
|
|
46
|
-
const DTYPE = (process.env.AWM_RERANKER_DTYPE || 'fp32') as 'fp32' | 'fp16' | 'q8' | 'int8' | 'uint8' | 'q4';
|
|
47
|
-
|
|
48
|
-
// --- In-process fallback ---
|
|
49
|
-
|
|
50
|
-
let tokenizer: PreTrainedTokenizer | null = null;
|
|
51
|
-
let model: PreTrainedModel | null = null;
|
|
52
|
-
let initPromise: Promise<void> | null = null;
|
|
53
|
-
|
|
54
|
-
async function ensureLoaded(): Promise<void> {
|
|
55
|
-
if (tokenizer && model) return;
|
|
56
|
-
if (initPromise) return initPromise;
|
|
57
|
-
initPromise = (async () => {
|
|
58
|
-
ensureModelCacheDir();
|
|
59
|
-
tokenizer = await AutoTokenizer.from_pretrained(MODEL_ID);
|
|
60
|
-
model = await AutoModelForSequenceClassification.from_pretrained(MODEL_ID, { dtype: DTYPE });
|
|
61
|
-
console.error(`Re-ranker model loaded in-process: ${MODEL_ID} (${DTYPE})`);
|
|
62
|
-
})();
|
|
63
|
-
return initPromise;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
function sigmoid(x: number): number {
|
|
67
|
-
return 1 / (1 + Math.exp(-x));
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
async function inProcessRerank(args: { query: string; passages: string[] }): Promise<Array<{ index: number; score: number }>> {
|
|
71
|
-
const { query, passages } = args;
|
|
72
|
-
if (passages.length === 0) return [];
|
|
73
|
-
await ensureLoaded();
|
|
74
|
-
|
|
75
|
-
// Batch path
|
|
76
|
-
try {
|
|
77
|
-
const queries = passages.map(() => query);
|
|
78
|
-
const inputs = tokenizer!(queries, {
|
|
79
|
-
text_pair: passages,
|
|
80
|
-
padding: true,
|
|
81
|
-
truncation: true,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
1
|
+
// Copyright 2026 Robert Winter / Complete Ideas
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
/**
|
|
4
|
+
* Cross-Encoder Re-Ranker - scores (query, passage) pairs for relevance.
|
|
5
|
+
*
|
|
6
|
+
* Uses Xenova/ms-marco-MiniLM-L-6-v2 (91MB ONNX at the fp32 default; the 23MB
|
|
7
|
+
* quantized file is what AWM_RERANKER_DTYPE=q8 loads) trained on MS-MARCO
|
|
8
|
+
* passage ranking. Unlike bi-encoders, cross-encoders see both query and
|
|
9
|
+
* passage together via full attention - much better at judging if a
|
|
10
|
+
* passage actually answers a question.
|
|
11
|
+
*
|
|
12
|
+
* AWM 0.8.x: inference dispatches through ml-worker.ts (currently in-process
|
|
13
|
+
* — see ml-worker.ts for the worker_threads → in-process revert rationale).
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import {
|
|
17
|
+
AutoTokenizer,
|
|
18
|
+
AutoModelForSequenceClassification,
|
|
19
|
+
type PreTrainedTokenizer,
|
|
20
|
+
type PreTrainedModel,
|
|
21
|
+
} from '@huggingface/transformers';
|
|
22
|
+
import { dispatchRerank, registerInProcessHandlers } from './ml-worker.js';
|
|
23
|
+
import { ensureModelCacheDir } from './model-cache.js';
|
|
24
|
+
|
|
25
|
+
const DEFAULT_MODEL = 'Xenova/ms-marco-MiniLM-L-6-v2';
|
|
26
|
+
const MODEL_ID = process.env.AWM_RERANKER_MODEL || DEFAULT_MODEL;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Weight precision for the cross-encoder. fp32 is the shipped default and the
|
|
30
|
+
* only value any published number was measured at.
|
|
31
|
+
*
|
|
32
|
+
* It is exposed because the cross-encoder is 83% of warm recall latency
|
|
33
|
+
* (measured, `npm run profile:recall`), which makes precision the largest
|
|
34
|
+
* single latency lever in the system — and an unmeasurable one while it was a
|
|
35
|
+
* literal. RE-MEASURED 2026-10-09 on the pipeline that ships: 'q8' cuts total
|
|
36
|
+
* recall latency 26-33% across three suites, for ONE QUERY in 450 — identifier
|
|
37
|
+
* success@1 unchanged at 93.0%, topic 92.2% -> 92.0%. Correct abstention is
|
|
38
|
+
* unmoved on all three suites; success@5 is unmoved on both private suites and
|
|
39
|
+
* moves +0.5pp on the public corpus, inside its 4pp seed-noise floor. It is deterministic (two runs agree
|
|
40
|
+
* on all 450 queries to 1e-6), and because no model is bundled it SHRINKS the
|
|
41
|
+
* first-run fetch: the ONNX file it loads is 23MB against fp32's 91MB. 'q4' is dominated: equal
|
|
42
|
+
* accuracy, only -3% latency, 6.1s cold start against fp32's 1.6s. The default
|
|
43
|
+
* is untouched because it is a product decision, not because the cost is
|
|
44
|
+
* unknown; see docs/recall-latency.md.
|
|
45
|
+
*/
|
|
46
|
+
const DTYPE = (process.env.AWM_RERANKER_DTYPE || 'fp32') as 'fp32' | 'fp16' | 'q8' | 'int8' | 'uint8' | 'q4';
|
|
47
|
+
|
|
48
|
+
// --- In-process fallback ---
|
|
49
|
+
|
|
50
|
+
let tokenizer: PreTrainedTokenizer | null = null;
|
|
51
|
+
let model: PreTrainedModel | null = null;
|
|
52
|
+
let initPromise: Promise<void> | null = null;
|
|
53
|
+
|
|
54
|
+
async function ensureLoaded(): Promise<void> {
|
|
55
|
+
if (tokenizer && model) return;
|
|
56
|
+
if (initPromise) return initPromise;
|
|
57
|
+
initPromise = (async () => {
|
|
58
|
+
ensureModelCacheDir();
|
|
59
|
+
tokenizer = await AutoTokenizer.from_pretrained(MODEL_ID);
|
|
60
|
+
model = await AutoModelForSequenceClassification.from_pretrained(MODEL_ID, { dtype: DTYPE });
|
|
61
|
+
console.error(`Re-ranker model loaded in-process: ${MODEL_ID} (${DTYPE})`);
|
|
62
|
+
})();
|
|
63
|
+
return initPromise;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function sigmoid(x: number): number {
|
|
67
|
+
return 1 / (1 + Math.exp(-x));
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
async function inProcessRerank(args: { query: string; passages: string[] }): Promise<Array<{ index: number; score: number }>> {
|
|
71
|
+
const { query, passages } = args;
|
|
72
|
+
if (passages.length === 0) return [];
|
|
73
|
+
await ensureLoaded();
|
|
74
|
+
|
|
75
|
+
// Batch path
|
|
76
|
+
try {
|
|
77
|
+
const queries = passages.map(() => query);
|
|
78
|
+
const inputs = tokenizer!(queries, {
|
|
79
|
+
text_pair: passages,
|
|
80
|
+
padding: true,
|
|
81
|
+
truncation: true,
|
|
82
|
+
// NOT 'return_tensors'. That key never existed in transformers.js -- it is the
|
|
83
|
+
// PyTorch Python spelling -- so from 0.5.2 (commit 1ccbf95, 2026-03-21) until
|
|
84
|
+
// 2026-10-09 it was silently ignored and the library default
|
|
85
|
+
// (return_tensor=true, i.e. Tensors) applied.
|
|
86
|
+
// Stating it explicitly preserves exactly the behaviour that was already
|
|
87
|
+
// running, and survives a future change of default. transformers 4.x turned
|
|
88
|
+
// the typo into a type error, which is the only reason it was ever noticed.
|
|
89
|
+
return_tensor: true,
|
|
90
|
+
});
|
|
91
|
+
const output = await model!(inputs);
|
|
92
|
+
const logits = output.logits ?? output.last_hidden_state;
|
|
93
|
+
const data = logits.data as Float32Array | number[];
|
|
94
|
+
const results: Array<{ index: number; score: number }> = [];
|
|
95
|
+
for (let i = 0; i < passages.length; i++) {
|
|
96
|
+
const rawLogit = Number(data[i] ?? 0);
|
|
97
|
+
results.push({ index: i, score: sigmoid(rawLogit) });
|
|
98
|
+
}
|
|
99
|
+
results.sort((a, b) => b.score - a.score);
|
|
100
|
+
return results;
|
|
101
|
+
} catch {
|
|
102
|
+
// Per-passage fallback (the original 0.7.13 path)
|
|
103
|
+
const results: Array<{ index: number; score: number }> = [];
|
|
104
|
+
for (let i = 0; i < passages.length; i++) {
|
|
105
|
+
try {
|
|
106
|
+
const inputs = tokenizer!(query, {
|
|
107
|
+
text_pair: passages[i],
|
|
108
|
+
padding: true,
|
|
109
|
+
truncation: true,
|
|
110
|
+
// Same ignored-key story as the batch path above.
|
|
111
|
+
return_tensor: true,
|
|
112
|
+
});
|
|
113
|
+
const output = await model!(inputs);
|
|
114
|
+
const logits = output.logits ?? output.last_hidden_state;
|
|
115
|
+
const rawLogit = logits.data[0] as number;
|
|
116
|
+
results.push({ index: i, score: sigmoid(rawLogit) });
|
|
117
|
+
} catch {
|
|
118
|
+
results.push({ index: i, score: 0 });
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
results.sort((a, b) => b.score - a.score);
|
|
122
|
+
return results;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// Register the in-process handler with the pool
|
|
127
|
+
registerInProcessHandlers({ rerank: inProcessRerank });
|
|
128
|
+
|
|
129
|
+
// --- Public API ---
|
|
130
|
+
|
|
131
|
+
/** Kept for backwards compat. */
|
|
132
|
+
export async function getReranker(): Promise<any> {
|
|
133
|
+
await ensureLoaded();
|
|
134
|
+
return model;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export interface RerankResult {
|
|
138
|
+
index: number;
|
|
139
|
+
score: number; // sigmoid-normalized relevance (0-1)
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Re-rank candidate passages against a query using the cross-encoder.
|
|
144
|
+
* Returns results sorted by relevance score (descending).
|
|
145
|
+
* Dispatches to the worker pool (or in-process fallback).
|
|
146
|
+
*/
|
|
147
|
+
export async function rerank(query: string, passages: string[]): Promise<RerankResult[]> {
|
|
148
|
+
if (passages.length === 0) return [];
|
|
149
|
+
return dispatchRerank({ query, passages });
|
|
150
|
+
}
|