agent-working-memory 0.17.0 → 0.19.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 +8 -5
- package/dist/adapters/common.d.ts +34 -0
- package/dist/adapters/common.d.ts.map +1 -1
- package/dist/adapters/common.js +528 -446
- package/dist/adapters/common.js.map +1 -1
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +19 -0
- package/dist/api/routes.js.map +1 -1
- package/dist/cli/migrate.d.ts.map +1 -1
- package/dist/cli/migrate.js +31 -29
- package/dist/cli/migrate.js.map +1 -1
- package/dist/core/asked-value.d.ts +37 -0
- package/dist/core/asked-value.d.ts.map +1 -0
- package/dist/core/asked-value.js +77 -0
- package/dist/core/asked-value.js.map +1 -0
- package/dist/core/conflicts.d.ts +89 -0
- package/dist/core/conflicts.d.ts.map +1 -0
- package/dist/core/conflicts.js +267 -0
- package/dist/core/conflicts.js.map +1 -0
- package/dist/core/embeddings.d.ts +14 -2
- package/dist/core/embeddings.d.ts.map +1 -1
- package/dist/core/embeddings.js +32 -10
- package/dist/core/embeddings.js.map +1 -1
- package/dist/core/format-recall.d.ts +21 -1
- package/dist/core/format-recall.d.ts.map +1 -1
- package/dist/core/format-recall.js +60 -5
- package/dist/core/format-recall.js.map +1 -1
- package/dist/core/ml-worker.d.ts +24 -1
- package/dist/core/ml-worker.d.ts.map +1 -1
- package/dist/core/ml-worker.js +165 -4
- package/dist/core/ml-worker.js.map +1 -1
- package/dist/core/model-daemon-client.d.ts +77 -0
- package/dist/core/model-daemon-client.d.ts.map +1 -0
- package/dist/core/model-daemon-client.js +383 -0
- package/dist/core/model-daemon-client.js.map +1 -0
- package/dist/core/model-daemon-server.d.ts +71 -0
- package/dist/core/model-daemon-server.d.ts.map +1 -0
- package/dist/core/model-daemon-server.js +363 -0
- package/dist/core/model-daemon-server.js.map +1 -0
- package/dist/core/model-daemon.d.ts +137 -0
- package/dist/core/model-daemon.d.ts.map +1 -0
- package/dist/core/model-daemon.js +231 -0
- package/dist/core/model-daemon.js.map +1 -0
- package/dist/core/query-expander.d.ts +5 -0
- package/dist/core/query-expander.d.ts.map +1 -1
- package/dist/core/query-expander.js +3 -2
- package/dist/core/query-expander.js.map +1 -1
- package/dist/core/recall-config.d.ts +1 -1
- package/dist/core/recall-config.d.ts.map +1 -1
- package/dist/core/recall-config.js +5 -0
- package/dist/core/recall-config.js.map +1 -1
- package/dist/core/rerank-window.d.ts +7 -2
- package/dist/core/rerank-window.d.ts.map +1 -1
- package/dist/core/rerank-window.js +9 -4
- package/dist/core/rerank-window.js.map +1 -1
- package/dist/core/rerank2.d.ts +52 -2
- package/dist/core/rerank2.d.ts.map +1 -1
- package/dist/core/rerank2.js +60 -3
- package/dist/core/rerank2.js.map +1 -1
- package/dist/core/reranker.d.ts +19 -0
- package/dist/core/reranker.d.ts.map +1 -1
- package/dist/core/reranker.js +90 -13
- package/dist/core/reranker.js.map +1 -1
- package/dist/core/trust.d.ts +32 -0
- package/dist/core/trust.d.ts.map +1 -0
- package/dist/core/trust.js +66 -0
- package/dist/core/trust.js.map +1 -0
- package/dist/core/validity.d.ts +21 -0
- package/dist/core/validity.d.ts.map +1 -0
- package/dist/core/validity.js +41 -0
- package/dist/core/validity.js.map +1 -0
- package/dist/core/whoami.d.ts +3 -0
- package/dist/core/whoami.d.ts.map +1 -1
- package/dist/core/whoami.js +14 -0
- package/dist/core/whoami.js.map +1 -1
- package/dist/core/write-pipeline.d.ts +48 -0
- package/dist/core/write-pipeline.d.ts.map +1 -1
- package/dist/core/write-pipeline.js +80 -3
- package/dist/core/write-pipeline.js.map +1 -1
- package/dist/engine/activation.d.ts.map +1 -1
- package/dist/engine/activation.js +27 -4
- package/dist/engine/activation.js.map +1 -1
- package/dist/engine/consolidation.d.ts.map +1 -1
- package/dist/engine/consolidation.js +53 -4
- package/dist/engine/consolidation.js.map +1 -1
- package/dist/hooks/prime-query.d.ts +57 -0
- package/dist/hooks/prime-query.d.ts.map +1 -0
- package/dist/hooks/prime-query.js +388 -0
- package/dist/hooks/prime-query.js.map +1 -0
- package/dist/hooks/prime.d.ts +8 -0
- package/dist/hooks/prime.d.ts.map +1 -1
- package/dist/hooks/prime.js +21 -2
- package/dist/hooks/prime.js.map +1 -1
- package/dist/hooks/sidecar.d.ts +18 -0
- package/dist/hooks/sidecar.d.ts.map +1 -1
- package/dist/hooks/sidecar.js +58 -2
- package/dist/hooks/sidecar.js.map +1 -1
- package/dist/index.js +15 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +157 -104
- package/dist/mcp.js.map +1 -1
- package/dist/model-daemon.d.ts +8 -0
- package/dist/model-daemon.d.ts.map +1 -0
- package/dist/model-daemon.js +45 -0
- package/dist/model-daemon.js.map +1 -0
- package/dist/storage/factory.d.ts.map +1 -1
- package/dist/storage/factory.js +5 -0
- package/dist/storage/factory.js.map +1 -1
- package/dist/storage/pglite-schema.d.ts.map +1 -1
- package/dist/storage/pglite-schema.js +176 -170
- package/dist/storage/pglite-schema.js.map +1 -1
- package/dist/storage/pglite.d.ts +5 -0
- package/dist/storage/pglite.d.ts.map +1 -1
- package/dist/storage/pglite.js +165 -153
- package/dist/storage/pglite.js.map +1 -1
- package/dist/storage/postgres.d.ts +5 -0
- package/dist/storage/postgres.d.ts.map +1 -1
- package/dist/storage/postgres.js +165 -153
- package/dist/storage/postgres.js.map +1 -1
- package/dist/storage/sqlite.d.ts +22 -0
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +415 -363
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/types/engram.d.ts +33 -0
- package/dist/types/engram.d.ts.map +1 -1
- package/dist/types/engram.js.map +1 -1
- package/package.json +1 -1
- 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 +11 -2
- package/src/adapters/common.ts +881 -802
- package/src/api/routes.ts +20 -0
- package/src/cli/migrate.ts +309 -307
- package/src/core/asked-value.ts +74 -0
- package/src/core/conflicts.ts +280 -0
- package/src/core/embeddings.ts +35 -10
- package/src/core/format-recall.ts +83 -25
- package/src/core/ml-worker.ts +458 -281
- package/src/core/model-daemon-client.ts +374 -0
- package/src/core/model-daemon-server.ts +344 -0
- package/src/core/model-daemon.ts +243 -0
- package/src/core/query-expander.ts +127 -126
- package/src/core/recall-config.ts +5 -0
- package/src/core/rerank-window.ts +164 -159
- package/src/core/rerank2.ts +143 -82
- package/src/core/reranker.ts +92 -12
- package/src/core/trust.ts +65 -0
- package/src/core/validity.ts +47 -0
- package/src/core/whoami.ts +136 -120
- package/src/core/write-pipeline.ts +119 -3
- package/src/engine/activation.ts +27 -4
- package/src/engine/consolidation.ts +950 -899
- package/src/hooks/prime-query.ts +375 -0
- package/src/hooks/prime.ts +25 -2
- package/src/hooks/sidecar.ts +57 -3
- package/src/index.ts +258 -248
- package/src/mcp.ts +1529 -1475
- package/src/model-daemon.ts +48 -0
- package/src/storage/factory.ts +25 -19
- package/src/storage/pglite-schema.ts +199 -193
- package/src/storage/pglite.ts +1513 -1498
- package/src/storage/postgres.ts +1613 -1598
- package/src/storage/sqlite.ts +2069 -2019
- package/src/types/engram.ts +30 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-recall.js","sourceRoot":"","sources":["../../src/core/format-recall.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"format-recall.js","sourceRoot":"","sources":["../../src/core/format-recall.ts"],"names":[],"mappings":"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"}
|
package/dist/core/ml-worker.d.ts
CHANGED
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
* Test / dev mode: AWM_ML_INPROCESS=1 is honored but is now the default.
|
|
21
21
|
* The env var remains as a no-op for backwards compatibility.
|
|
22
22
|
*/
|
|
23
|
+
import { type InferenceConfig, type Lane } from './model-daemon.js';
|
|
23
24
|
declare let inProcessEmbed: ((args: any) => Promise<number[][]>) | null;
|
|
24
25
|
declare let inProcessRerank: ((args: any) => Promise<Array<{
|
|
25
26
|
index: number;
|
|
@@ -36,11 +37,33 @@ export declare function registerInProcessHandlers(handlers: {
|
|
|
36
37
|
}): void;
|
|
37
38
|
/** True if the pool is operating in in-process mode (no workers). */
|
|
38
39
|
export declare function isInProcessMode(): boolean;
|
|
40
|
+
export declare function registerInferenceConfig(part: InferenceConfig): void;
|
|
41
|
+
export declare function registeredInferenceConfig(): InferenceConfig;
|
|
42
|
+
/**
|
|
43
|
+
* Eager warm through the daemon: it loads its models; this process loads none. On
|
|
44
|
+
* failure this process enters the fallback window (so the first recall does not pay
|
|
45
|
+
* the start timeout again) but loads nothing now: the first real request does that, if
|
|
46
|
+
* the daemon is still down by then.
|
|
47
|
+
*/
|
|
48
|
+
export declare function warmModelDaemon(): Promise<void>;
|
|
49
|
+
export declare function modelDaemonStatus(): {
|
|
50
|
+
enabled: boolean;
|
|
51
|
+
mode: 'off' | 'daemon' | 'in-process-fallback' | 'not-connected';
|
|
52
|
+
fingerprint: string | null;
|
|
53
|
+
daemonPid: number | null;
|
|
54
|
+
requests: number;
|
|
55
|
+
queueTimeouts: number;
|
|
56
|
+
fallbacks: number;
|
|
57
|
+
lastFallbackReason: string | null;
|
|
58
|
+
lastFallbackAt: string | null;
|
|
59
|
+
};
|
|
60
|
+
/** Test-only: forget the client, the fallback window and the counters. */
|
|
61
|
+
export declare function __resetModelDaemonClient(): Promise<void>;
|
|
39
62
|
export declare function dispatchEmbed(args: {
|
|
40
63
|
texts: string[];
|
|
41
64
|
pooling: 'cls' | 'mean';
|
|
42
65
|
dimensions: number;
|
|
43
|
-
}): Promise<number[][]>;
|
|
66
|
+
}, lane?: Lane): Promise<number[][]>;
|
|
44
67
|
export declare function dispatchRerank(args: {
|
|
45
68
|
query: string;
|
|
46
69
|
passages: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ml-worker.d.ts","sourceRoot":"","sources":["../../src/core/ml-worker.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"ml-worker.d.ts","sourceRoot":"","sources":["../../src/core/ml-worker.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,OAAO,EAEL,KAAK,eAAe,EAAE,KAAK,IAAI,EAChC,MAAM,mBAAmB,CAAC;AA4B3B,QAAA,IAAI,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,IAAW,CAAC;AACvE,QAAA,IAAI,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAAC,GAAG,IAAW,CAAC;AACrG,QAAA,IAAI,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,IAAW,CAAC;AAkHpE,qEAAqE;AACrE,wBAAgB,UAAU,IAAI,IAAI,CAWjC;AAED,kFAAkF;AAClF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE;IAClD,KAAK,CAAC,EAAE,OAAO,cAAc,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,eAAe,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,eAAe,CAAC;CACjC,GAAG,IAAI,CAIP;AAED,qEAAqE;AACrE,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AA0DD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAEnE;AACD,wBAAgB,yBAAyB,IAAI,eAAe,CAE3D;AAuGD;;;;;GAKG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAYrD;AAED,wBAAgB,iBAAiB,IAAI;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,qBAAqB,GAAG,eAAe,CAAC;IACjE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CASA;AAED,0EAA0E;AAC1E,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAW9D;AAID,wBAAsB,aAAa,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,GAAE,IAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAE3J;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAElI;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAE/H;AAED,0EAA0E;AAC1E,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBpD"}
|
package/dist/core/ml-worker.js
CHANGED
|
@@ -26,6 +26,8 @@ import { Worker } from 'node:worker_threads';
|
|
|
26
26
|
import { fileURLToPath } from 'node:url';
|
|
27
27
|
import { dirname, join } from 'node:path';
|
|
28
28
|
import { existsSync } from 'node:fs';
|
|
29
|
+
import { configEnv, envInt, isModelDaemonEnabled, modelDaemonFingerprint, REQUEST_TIMEOUT_MS as DAEMON_STEP_TIMEOUT_MS, WARM_TIMEOUT_MS, } from './model-daemon.js';
|
|
30
|
+
import { DaemonRemoteError, DaemonUnavailableError, ModelDaemonClient } from './model-daemon-client.js';
|
|
29
31
|
let inProcessMode = false;
|
|
30
32
|
let workers = null;
|
|
31
33
|
let nextId = 1;
|
|
@@ -219,15 +221,174 @@ async function dispatchInProcess(role, args) {
|
|
|
219
221
|
return inProcessExpand(args);
|
|
220
222
|
}
|
|
221
223
|
}
|
|
224
|
+
// --- Shared model daemon (AWM_MODEL_DAEMON=1, see model-daemon.ts) ---
|
|
225
|
+
/**
|
|
226
|
+
* The config each model module captured at import, registered by the module itself.
|
|
227
|
+
* The daemon's fingerprint is built from these values, not from the env strings, and a
|
|
228
|
+
* spawned daemon is given them as env: a .env file applied after the modules loaded
|
|
229
|
+
* would otherwise make the daemon run a different model than the fallback here.
|
|
230
|
+
*/
|
|
231
|
+
const inferenceConfig = {};
|
|
232
|
+
export function registerInferenceConfig(part) {
|
|
233
|
+
Object.assign(inferenceConfig, part);
|
|
234
|
+
}
|
|
235
|
+
export function registeredInferenceConfig() {
|
|
236
|
+
return { ...inferenceConfig };
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* When the daemon fails, inference runs in-process and the daemon is probed again in
|
|
240
|
+
* the background, after 60 s, then 2, 4, 8 and at most 15 min. Requests never wait on a
|
|
241
|
+
* probe. In-process is the pre-daemon behaviour, bounded by the same shape caps, so a
|
|
242
|
+
* daemon outage costs memory, never recall. A BUSY daemon is not a failure: only an
|
|
243
|
+
* unreachable one, one that will not start, or one that stops making progress.
|
|
244
|
+
*/
|
|
245
|
+
const RETRY_FIRST_MS = 60_000;
|
|
246
|
+
const RETRY_MAX_MS = 15 * 60_000;
|
|
247
|
+
let daemon = null;
|
|
248
|
+
let fallbackActive = false;
|
|
249
|
+
let retryMs = RETRY_FIRST_MS;
|
|
250
|
+
let retryAt = 0;
|
|
251
|
+
let probing = false;
|
|
252
|
+
let connectedPid = null;
|
|
253
|
+
let clientFingerprint = null;
|
|
254
|
+
const daemonState = {
|
|
255
|
+
requests: 0,
|
|
256
|
+
queueTimeouts: 0,
|
|
257
|
+
fallbacks: 0,
|
|
258
|
+
lastFallbackReason: null,
|
|
259
|
+
lastFallbackAt: null,
|
|
260
|
+
};
|
|
261
|
+
function daemonClient() {
|
|
262
|
+
return (daemon ??= (async () => {
|
|
263
|
+
// All three modules register their config on import. Load any not loaded yet, so
|
|
264
|
+
// the fingerprint is the daemon's (which loads all three).
|
|
265
|
+
await Promise.all([import('./embeddings.js'), import('./reranker.js'), import('./query-expander.js')]);
|
|
266
|
+
const config = registeredInferenceConfig();
|
|
267
|
+
clientFingerprint = modelDaemonFingerprint(config);
|
|
268
|
+
return new ModelDaemonClient({ fingerprint: clientFingerprint, spawnEnv: configEnv(config) });
|
|
269
|
+
})());
|
|
270
|
+
}
|
|
271
|
+
function reasonOf(err) {
|
|
272
|
+
return err instanceof DaemonUnavailableError ? err.reason : 'error';
|
|
273
|
+
}
|
|
274
|
+
function noteFallback(reason, err) {
|
|
275
|
+
daemonState.fallbacks++;
|
|
276
|
+
daemonState.lastFallbackReason = reason;
|
|
277
|
+
daemonState.lastFallbackAt = new Date().toISOString();
|
|
278
|
+
retryAt = Date.now() + retryMs;
|
|
279
|
+
console.error(`[awm] model daemon unavailable (${reason}): ${err?.message ?? err} — running inference in this process; next try in ${Math.round(retryMs / 1000)}s`);
|
|
280
|
+
retryMs = Math.min(retryMs * 2, RETRY_MAX_MS);
|
|
281
|
+
fallbackActive = true;
|
|
282
|
+
}
|
|
283
|
+
function noteConnected(client) {
|
|
284
|
+
connectedPid = client.daemonPid;
|
|
285
|
+
if (fallbackActive)
|
|
286
|
+
console.error(`[awm] model daemon back (pid ${client.daemonPid}); inference leaves this process`);
|
|
287
|
+
fallbackActive = false;
|
|
288
|
+
retryMs = RETRY_FIRST_MS;
|
|
289
|
+
}
|
|
290
|
+
function probeInBackground() {
|
|
291
|
+
if (probing || Date.now() < retryAt)
|
|
292
|
+
return;
|
|
293
|
+
probing = true;
|
|
294
|
+
void daemonClient()
|
|
295
|
+
.then(async (c) => {
|
|
296
|
+
const st = await c.request('stats');
|
|
297
|
+
// Answering stats is not health: a daemon stuck on a step answers it too.
|
|
298
|
+
const limit = st.current?.op === 'warm' ? WARM_TIMEOUT_MS : envInt('AWM_MODEL_DAEMON_TIMEOUT_MS', DAEMON_STEP_TIMEOUT_MS);
|
|
299
|
+
if (st.current && st.current.runningMs > limit) {
|
|
300
|
+
throw new DaemonUnavailableError(`daemon has been running ${st.current.op} for ${st.current.runningMs} ms`, 'wedged');
|
|
301
|
+
}
|
|
302
|
+
noteConnected(c);
|
|
303
|
+
})
|
|
304
|
+
.catch(err => noteFallback(reasonOf(err), err))
|
|
305
|
+
.finally(() => { probing = false; });
|
|
306
|
+
}
|
|
307
|
+
async function dispatch(role, args, lane = 'interactive') {
|
|
308
|
+
if (!isModelDaemonEnabled())
|
|
309
|
+
return dispatchToWorker(role, args);
|
|
310
|
+
if (fallbackActive) {
|
|
311
|
+
probeInBackground();
|
|
312
|
+
return dispatchToWorker(role, args);
|
|
313
|
+
}
|
|
314
|
+
// One retry on a dropped connection: the daemon may have exited on its idle lease
|
|
315
|
+
// just as this request went out, and the retry starts a new one.
|
|
316
|
+
for (let attempt = 0;; attempt++) {
|
|
317
|
+
try {
|
|
318
|
+
const client = await daemonClient();
|
|
319
|
+
const result = await client.request(role, args, lane);
|
|
320
|
+
daemonState.requests++;
|
|
321
|
+
connectedPid = client.daemonPid;
|
|
322
|
+
return result;
|
|
323
|
+
}
|
|
324
|
+
catch (err) {
|
|
325
|
+
if (err instanceof DaemonRemoteError)
|
|
326
|
+
throw err;
|
|
327
|
+
if (attempt === 0 && reasonOf(err) === 'disconnected')
|
|
328
|
+
continue;
|
|
329
|
+
// Queued too long is busy, not down: this one request runs here, and the next one
|
|
330
|
+
// goes to the daemon again.
|
|
331
|
+
if (reasonOf(err) === 'queue-timeout') {
|
|
332
|
+
daemonState.queueTimeouts++;
|
|
333
|
+
return dispatchToWorker(role, args);
|
|
334
|
+
}
|
|
335
|
+
noteFallback(reasonOf(err), err);
|
|
336
|
+
return dispatchToWorker(role, args);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Eager warm through the daemon: it loads its models; this process loads none. On
|
|
342
|
+
* failure this process enters the fallback window (so the first recall does not pay
|
|
343
|
+
* the start timeout again) but loads nothing now: the first real request does that, if
|
|
344
|
+
* the daemon is still down by then.
|
|
345
|
+
*/
|
|
346
|
+
export async function warmModelDaemon() {
|
|
347
|
+
try {
|
|
348
|
+
const client = await daemonClient();
|
|
349
|
+
await client.request('warm');
|
|
350
|
+
noteConnected(client);
|
|
351
|
+
}
|
|
352
|
+
catch (err) {
|
|
353
|
+
if (err instanceof DaemonRemoteError) {
|
|
354
|
+
console.error(`[awm] model daemon could not load its models: ${err.message}`);
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
noteFallback(reasonOf(err), err);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
export function modelDaemonStatus() {
|
|
361
|
+
const enabled = isModelDaemonEnabled();
|
|
362
|
+
const mode = !enabled ? 'off' : fallbackActive ? 'in-process-fallback' : connectedPid ? 'daemon' : 'not-connected';
|
|
363
|
+
return {
|
|
364
|
+
enabled, mode,
|
|
365
|
+
fingerprint: enabled ? clientFingerprint : null,
|
|
366
|
+
daemonPid: enabled ? connectedPid : null,
|
|
367
|
+
...daemonState,
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
/** Test-only: forget the client, the fallback window and the counters. */
|
|
371
|
+
export async function __resetModelDaemonClient() {
|
|
372
|
+
const c = daemon;
|
|
373
|
+
daemon = null;
|
|
374
|
+
(await c?.catch(() => null))?.close();
|
|
375
|
+
fallbackActive = false;
|
|
376
|
+
retryMs = RETRY_FIRST_MS;
|
|
377
|
+
retryAt = 0;
|
|
378
|
+
probing = false;
|
|
379
|
+
connectedPid = null;
|
|
380
|
+
clientFingerprint = null;
|
|
381
|
+
Object.assign(daemonState, { requests: 0, queueTimeouts: 0, fallbacks: 0, lastFallbackReason: null, lastFallbackAt: null });
|
|
382
|
+
}
|
|
222
383
|
// --- Public API used by the consumer modules ---
|
|
223
|
-
export async function dispatchEmbed(args) {
|
|
224
|
-
return
|
|
384
|
+
export async function dispatchEmbed(args, lane = 'interactive') {
|
|
385
|
+
return dispatch('embed', args, lane);
|
|
225
386
|
}
|
|
226
387
|
export async function dispatchRerank(args) {
|
|
227
|
-
return
|
|
388
|
+
return dispatch('rerank', args);
|
|
228
389
|
}
|
|
229
390
|
export async function dispatchExpand(args) {
|
|
230
|
-
return
|
|
391
|
+
return dispatch('expand', args);
|
|
231
392
|
}
|
|
232
393
|
/** Graceful shutdown. Waits up to 2s for queue drain, then terminates. */
|
|
233
394
|
export async function shutdownMLPool() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ml-worker.js","sourceRoot":"","sources":["../../src/core/ml-worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ml-worker.js","sourceRoot":"","sources":["../../src/core/ml-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client side of the shared model daemon (see model-daemon.ts).
|
|
3
|
+
*
|
|
4
|
+
* Connecting: try the daemon's address. If nothing answers, take the lockfile (O_EXCL,
|
|
5
|
+
* holding this pid) and spawn the daemon detached, through a launcher so that it is not
|
|
6
|
+
* this process's child (see LAUNCHER); every other process starting at the
|
|
7
|
+
* same moment finds the lock taken and just keeps trying to connect. A lock whose pid is
|
|
8
|
+
* dead, or that is older than the start timeout, is stale and is taken over, so a
|
|
9
|
+
* spawner that crashed mid-start blocks nobody. A daemon this client spawned that exits
|
|
10
|
+
* with an error ends the wait at once instead of at the start timeout.
|
|
11
|
+
*
|
|
12
|
+
* Timeouts: a request waits in the daemon's queue for up to AWM_MODEL_DAEMON_QUEUE_MS
|
|
13
|
+
* (10 min) without failing, because a busy daemon is not a broken one; when it gives up
|
|
14
|
+
* it tells the daemon to drop the job. While the daemon reports a step `started` (and
|
|
15
|
+
* until it reports the job `requeued` between chunks), the step must finish within
|
|
16
|
+
* AWM_MODEL_DAEMON_TIMEOUT_MS (2 min); a daemon that does not is stuck, and the
|
|
17
|
+
* connection is dropped.
|
|
18
|
+
*
|
|
19
|
+
* The client never falls back to in-process inference itself; ml-worker.ts decides that.
|
|
20
|
+
*/
|
|
21
|
+
import { type DaemonPaths, type Lane, type ModelOp } from './model-daemon.js';
|
|
22
|
+
/** The daemon ran the request and it failed there. In-process would fail the same way. */
|
|
23
|
+
export declare class DaemonRemoteError extends Error {
|
|
24
|
+
}
|
|
25
|
+
/** The daemon could not be reached or stopped answering. */
|
|
26
|
+
export declare class DaemonUnavailableError extends Error {
|
|
27
|
+
readonly reason: string;
|
|
28
|
+
constructor(message: string, reason: string);
|
|
29
|
+
}
|
|
30
|
+
export interface DaemonEntry {
|
|
31
|
+
command: string;
|
|
32
|
+
args: string[];
|
|
33
|
+
}
|
|
34
|
+
export interface ClientOptions {
|
|
35
|
+
fingerprint: string;
|
|
36
|
+
runDir?: string;
|
|
37
|
+
/** How to start the daemon. Defaults to this package's model-daemon entry. */
|
|
38
|
+
entry?: DaemonEntry;
|
|
39
|
+
/** Extra env for a spawned daemon: the client's captured inference config. */
|
|
40
|
+
spawnEnv?: Record<string, string>;
|
|
41
|
+
startTimeoutMs?: number;
|
|
42
|
+
requestTimeoutMs?: number;
|
|
43
|
+
queueTimeoutMs?: number;
|
|
44
|
+
}
|
|
45
|
+
export declare function defaultDaemonEntry(): DaemonEntry;
|
|
46
|
+
export declare class ModelDaemonClient {
|
|
47
|
+
readonly fingerprint: string;
|
|
48
|
+
readonly paths: DaemonPaths;
|
|
49
|
+
private readonly entry;
|
|
50
|
+
private readonly spawnEnv;
|
|
51
|
+
private readonly startTimeoutMs;
|
|
52
|
+
private readonly requestTimeoutMs;
|
|
53
|
+
private readonly queueTimeoutMs;
|
|
54
|
+
private socket;
|
|
55
|
+
private connecting;
|
|
56
|
+
private pending;
|
|
57
|
+
private nextId;
|
|
58
|
+
daemonPid: number | null;
|
|
59
|
+
spawned: number;
|
|
60
|
+
constructor(opts: ClientOptions);
|
|
61
|
+
get connected(): boolean;
|
|
62
|
+
request<T>(op: ModelOp, args?: unknown, lane?: Lane): Promise<T>;
|
|
63
|
+
close(): void;
|
|
64
|
+
/** Waiting in the queue: fail this request only, the daemon is busy, not gone. */
|
|
65
|
+
private queueTimer;
|
|
66
|
+
/** Running: no answer and no progress in time means the daemon is stuck. */
|
|
67
|
+
private runTimer;
|
|
68
|
+
private ensureConnected;
|
|
69
|
+
private connectOrSpawn;
|
|
70
|
+
private tryConnect;
|
|
71
|
+
private attach;
|
|
72
|
+
private onResponse;
|
|
73
|
+
private takeLock;
|
|
74
|
+
private releaseLock;
|
|
75
|
+
private spawnDaemon;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=model-daemon-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-daemon-client.d.ts","sourceRoot":"","sources":["../../src/core/model-daemon-client.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAQH,OAAO,EAGL,KAAK,WAAW,EAAE,KAAK,IAAI,EAAE,KAAK,OAAO,EAC1C,MAAM,mBAAmB,CAAC;AAE3B,0FAA0F;AAC1F,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAE/C,4DAA4D;AAC5D,qBAAa,sBAAuB,SAAQ,KAAK;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAxC,OAAO,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CACrD;AAED,MAAM,WAAW,WAAW;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE;AAEhE,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA6BD,wBAAgB,kBAAkB,IAAI,WAAW,CAOhD;AASD,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,MAAM,CAAK;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,OAAO,SAAK;gBAEA,IAAI,EAAE,aAAa;IAU/B,IAAI,SAAS,IAAI,OAAO,CAAoD;IAEtE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,GAAE,IAAoB,GAAG,OAAO,CAAC,CAAC,CAAC;IAUrF,KAAK,IAAI,IAAI;IAKb,kFAAkF;IAClF,OAAO,CAAC,UAAU;IAUlB,4EAA4E;IAC5E,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,eAAe;YAMT,cAAc;IAyC5B,OAAO,CAAC,UAAU;IAiElB,OAAO,CAAC,MAAM;IAiBd,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,QAAQ;IAsBhB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,WAAW;CA2BpB"}
|