@cleocode/core 2026.3.69 → 2026.3.71
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/dist/agents/retry.d.ts.map +1 -1
- package/dist/agents/retry.js +23 -42
- package/dist/agents/retry.js.map +1 -1
- package/dist/cleo.d.ts +2 -300
- package/dist/cleo.d.ts.map +1 -1
- package/dist/cleo.js +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +30 -0
- package/dist/config.js.map +1 -1
- package/dist/hooks/handlers/file-hooks.d.ts +5 -2
- package/dist/hooks/handlers/file-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/index.d.ts +2 -0
- package/dist/hooks/handlers/index.d.ts.map +1 -1
- package/dist/hooks/handlers/mcp-hooks.d.ts +11 -7
- package/dist/hooks/handlers/mcp-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/memory-bridge-refresh.d.ts +20 -0
- package/dist/hooks/handlers/memory-bridge-refresh.d.ts.map +1 -0
- package/dist/hooks/handlers/memory-bridge-refresh.js +42 -0
- package/dist/hooks/handlers/memory-bridge-refresh.js.map +1 -0
- package/dist/hooks/handlers/session-hooks.d.ts +10 -0
- package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/session-hooks.js +36 -0
- package/dist/hooks/handlers/session-hooks.js.map +1 -1
- package/dist/hooks/handlers/task-hooks.d.ts +4 -0
- package/dist/hooks/handlers/task-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/task-hooks.js +7 -0
- package/dist/hooks/handlers/task-hooks.js.map +1 -1
- package/dist/hooks/handlers/work-capture-hooks.d.ts +40 -0
- package/dist/hooks/handlers/work-capture-hooks.d.ts.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5069 -4678
- package/dist/index.js.map +4 -4
- package/dist/internal.d.ts +10 -2
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +10 -3
- package/dist/internal.js.map +1 -1
- package/dist/memory/auto-extract.d.ts +13 -0
- package/dist/memory/auto-extract.d.ts.map +1 -1
- package/dist/memory/auto-extract.js +34 -0
- package/dist/memory/auto-extract.js.map +1 -1
- package/dist/memory/brain-embedding.d.ts +13 -0
- package/dist/memory/brain-embedding.d.ts.map +1 -1
- package/dist/memory/brain-embedding.js +17 -0
- package/dist/memory/brain-embedding.js.map +1 -1
- package/dist/memory/brain-maintenance.d.ts +110 -0
- package/dist/memory/brain-maintenance.d.ts.map +1 -0
- package/dist/memory/brain-maintenance.js +98 -0
- package/dist/memory/brain-maintenance.js.map +1 -0
- package/dist/memory/brain-retrieval.d.ts +31 -5
- package/dist/memory/brain-retrieval.d.ts.map +1 -1
- package/dist/memory/brain-retrieval.js +53 -6
- package/dist/memory/brain-retrieval.js.map +1 -1
- package/dist/memory/embedding-local.d.ts +55 -0
- package/dist/memory/embedding-local.d.ts.map +1 -0
- package/dist/memory/embedding-local.js +97 -0
- package/dist/memory/embedding-local.js.map +1 -0
- package/dist/memory/embedding-queue.d.ts +90 -0
- package/dist/memory/embedding-queue.d.ts.map +1 -0
- package/dist/memory/embedding-queue.js +271 -0
- package/dist/memory/embedding-queue.js.map +1 -0
- package/dist/memory/embedding-worker.d.ts +19 -0
- package/dist/memory/embedding-worker.d.ts.map +1 -0
- package/dist/memory/embedding-worker.js +58 -0
- package/dist/memory/embedding-worker.js.map +1 -0
- package/dist/memory/memory-bridge.d.ts +21 -1
- package/dist/memory/memory-bridge.d.ts.map +1 -1
- package/dist/memory/memory-bridge.js +83 -2
- package/dist/memory/memory-bridge.js.map +1 -1
- package/dist/memory/session-memory.d.ts +26 -0
- package/dist/memory/session-memory.d.ts.map +1 -1
- package/dist/memory/session-memory.js +105 -0
- package/dist/memory/session-memory.js.map +1 -1
- package/dist/pagination.js +3 -0
- package/dist/pagination.js.map +1 -1
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +2 -6
- package/dist/sessions/index.js.map +1 -1
- package/dist/store/brain-sqlite.js +13 -62
- package/dist/store/brain-sqlite.js.map +1 -1
- package/dist/store/migration-manager.js +151 -0
- package/dist/store/migration-manager.js.map +1 -0
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +16 -134
- package/dist/store/sqlite.js.map +1 -1
- package/dist/tasks/add.js +27 -22
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +13 -40
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/enforcement.js +12 -15
- package/dist/tasks/enforcement.js.map +1 -1
- package/dist/upgrade.js +246 -3
- package/dist/upgrade.js.map +1 -1
- package/migrations/drizzle-tasks/20260320013731_wave0-schema-hardening/migration.sql +17 -17
- package/package.json +6 -5
- package/src/agents/retry.ts +30 -24
- package/src/cleo.ts +30 -251
- package/src/config.ts +18 -0
- package/src/hooks/handlers/file-hooks.ts +29 -3
- package/src/hooks/handlers/index.ts +2 -0
- package/src/hooks/handlers/mcp-hooks.ts +32 -13
- package/src/hooks/handlers/memory-bridge-refresh.ts +47 -0
- package/src/hooks/handlers/session-hooks.ts +38 -0
- package/src/hooks/handlers/task-hooks.ts +8 -0
- package/src/hooks/handlers/work-capture-hooks.ts +184 -0
- package/src/index.ts +5 -0
- package/src/internal.ts +28 -2
- package/src/memory/__tests__/brain-automation.test.ts +941 -0
- package/src/memory/auto-extract.ts +40 -0
- package/src/memory/brain-embedding.ts +18 -0
- package/src/memory/brain-maintenance.ts +183 -0
- package/src/memory/brain-retrieval.ts +85 -7
- package/src/memory/embedding-local.ts +107 -0
- package/src/memory/embedding-queue.ts +304 -0
- package/src/memory/embedding-worker.ts +79 -0
- package/src/memory/memory-bridge.ts +101 -2
- package/src/memory/session-memory.ts +123 -0
- package/src/sessions/index.ts +2 -6
- package/src/store/__tests__/test-db-helper.js +14 -2
- package/src/store/__tests__/test-db-helper.ts +4 -1
- package/src/store/sqlite.ts +28 -0
- package/src/tasks/__tests__/complete-unblocks.test.ts +4 -1
- package/src/tasks/__tests__/complete.test.ts +18 -6
- package/src/tasks/__tests__/epic-enforcement.test.ts +4 -1
- package/src/tasks/__tests__/update.test.ts +4 -1
- package/src/tasks/complete.ts +8 -8
- package/templates/config.template.json +19 -0
- package/templates/global-config.template.json +19 -0
|
@@ -411,12 +411,47 @@ export async function observeBrain(projectRoot, params) {
|
|
|
411
411
|
/* Memory bridge refresh is best-effort */
|
|
412
412
|
});
|
|
413
413
|
}
|
|
414
|
+
// Auto-link observation to the currently focused task when a session is active. (T141)
|
|
415
|
+
// This is a fire-and-forget side effect — linking failure MUST NOT block the return.
|
|
416
|
+
if (sourceSessionId) {
|
|
417
|
+
autoLinkObservationToTask(projectRoot, row.id, accessor).catch(() => {
|
|
418
|
+
/* Auto-linking is best-effort */
|
|
419
|
+
});
|
|
420
|
+
}
|
|
414
421
|
return {
|
|
415
422
|
id: row.id,
|
|
416
423
|
type: row.type,
|
|
417
424
|
createdAt: row.createdAt,
|
|
418
425
|
};
|
|
419
426
|
}
|
|
427
|
+
/**
|
|
428
|
+
* Auto-link a newly created observation to the currently focused task.
|
|
429
|
+
*
|
|
430
|
+
* Queries the active session via sessionStatus() and reads taskWork.taskId.
|
|
431
|
+
* If a task is focused, inserts a brain_memory_links row linking the
|
|
432
|
+
* observation to that task with linkType 'produced_by'.
|
|
433
|
+
*
|
|
434
|
+
* All failures are silently swallowed — this is a best-effort side effect.
|
|
435
|
+
*
|
|
436
|
+
* @param projectRoot - Project root directory
|
|
437
|
+
* @param observationId - ID of the newly created observation
|
|
438
|
+
* @param accessor - BrainDataAccessor to use for the link insert
|
|
439
|
+
*/
|
|
440
|
+
async function autoLinkObservationToTask(projectRoot, observationId, accessor) {
|
|
441
|
+
const { sessionStatus } = await import('../sessions/index.js');
|
|
442
|
+
const session = await sessionStatus(projectRoot);
|
|
443
|
+
if (!session)
|
|
444
|
+
return;
|
|
445
|
+
const taskId = session.taskWork?.taskId;
|
|
446
|
+
if (!taskId)
|
|
447
|
+
return;
|
|
448
|
+
await accessor.addLink({
|
|
449
|
+
memoryType: 'observation',
|
|
450
|
+
memoryId: observationId,
|
|
451
|
+
taskId,
|
|
452
|
+
linkType: 'produced_by',
|
|
453
|
+
});
|
|
454
|
+
}
|
|
420
455
|
/**
|
|
421
456
|
* Backfill embeddings for existing observations that lack them.
|
|
422
457
|
*
|
|
@@ -424,23 +459,31 @@ export async function observeBrain(projectRoot, params) {
|
|
|
424
459
|
* generates vectors using the registered embedding provider.
|
|
425
460
|
* Processes in batches to avoid memory pressure.
|
|
426
461
|
*
|
|
462
|
+
* An optional {@link PopulateEmbeddingsOptions.onProgress} callback is called
|
|
463
|
+
* after each observation is attempted, enabling callers to report progress.
|
|
464
|
+
*
|
|
427
465
|
* @param projectRoot - Project root directory
|
|
428
|
-
* @param options - Optional batch size
|
|
429
|
-
* @returns Count of processed and
|
|
466
|
+
* @param options - Optional batch size and progress callback
|
|
467
|
+
* @returns Count of processed, skipped, and errored observations
|
|
468
|
+
*
|
|
469
|
+
* @epic T134
|
|
470
|
+
* @task T142
|
|
430
471
|
*/
|
|
431
472
|
export async function populateEmbeddings(projectRoot, options) {
|
|
432
473
|
if (!isEmbeddingAvailable()) {
|
|
433
|
-
return { processed: 0, skipped: 0 };
|
|
474
|
+
return { processed: 0, skipped: 0, errors: 0 };
|
|
434
475
|
}
|
|
435
476
|
const { getBrainDb, getBrainNativeDb } = await import('../store/brain-sqlite.js');
|
|
436
477
|
await getBrainDb(projectRoot);
|
|
437
478
|
const nativeDb = getBrainNativeDb();
|
|
438
479
|
if (!nativeDb) {
|
|
439
|
-
return { processed: 0, skipped: 0 };
|
|
480
|
+
return { processed: 0, skipped: 0, errors: 0 };
|
|
440
481
|
}
|
|
441
482
|
const batchSize = options?.batchSize ?? 50;
|
|
483
|
+
const { onProgress } = options ?? {};
|
|
442
484
|
let processed = 0;
|
|
443
485
|
let skipped = 0;
|
|
486
|
+
let errors = 0;
|
|
444
487
|
// Find observations without embeddings
|
|
445
488
|
const rows = typedAll(nativeDb.prepare(`
|
|
446
489
|
SELECT o.id, o.narrative, o.title
|
|
@@ -449,6 +492,8 @@ export async function populateEmbeddings(projectRoot, options) {
|
|
|
449
492
|
WHERE e.id IS NULL AND o.narrative IS NOT NULL
|
|
450
493
|
ORDER BY o.created_at DESC
|
|
451
494
|
`));
|
|
495
|
+
const total = rows.length;
|
|
496
|
+
let attempted = 0;
|
|
452
497
|
for (let i = 0; i < rows.length; i += batchSize) {
|
|
453
498
|
const batch = rows.slice(i, i + batchSize);
|
|
454
499
|
for (const row of batch) {
|
|
@@ -465,10 +510,12 @@ export async function populateEmbeddings(projectRoot, options) {
|
|
|
465
510
|
}
|
|
466
511
|
}
|
|
467
512
|
catch {
|
|
468
|
-
|
|
513
|
+
errors++;
|
|
469
514
|
}
|
|
515
|
+
attempted++;
|
|
516
|
+
onProgress?.(attempted, total);
|
|
470
517
|
}
|
|
471
518
|
}
|
|
472
|
-
return { processed, skipped };
|
|
519
|
+
return { processed, skipped, errors };
|
|
473
520
|
}
|
|
474
521
|
//# sourceMappingURL=brain-retrieval.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-retrieval.js","sourceRoot":"","sources":["../../src/memory/brain-retrieval.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"brain-retrieval.js","sourceRoot":"","sources":["../../src/memory/brain-retrieval.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local embedding provider using @xenova/transformers.
|
|
3
|
+
*
|
|
4
|
+
* Implements the EmbeddingProvider interface for brain memory vector search.
|
|
5
|
+
* Uses all-MiniLM-L6-v2 (22MB, 384 dimensions) — matches the brain_embeddings
|
|
6
|
+
* vec0 table schema. Model downloads on first call and is cached locally by
|
|
7
|
+
* the transformers library.
|
|
8
|
+
*
|
|
9
|
+
* @epic T134
|
|
10
|
+
* @task T136
|
|
11
|
+
* @why Ship vector search out-of-the-box without external API keys
|
|
12
|
+
* @what Local embedding provider using @xenova/transformers all-MiniLM-L6-v2
|
|
13
|
+
*/
|
|
14
|
+
import type { EmbeddingProvider } from './brain-embedding.js';
|
|
15
|
+
/**
|
|
16
|
+
* Local embedding provider backed by @xenova/transformers.
|
|
17
|
+
*
|
|
18
|
+
* Produces 384-dimension Float32Array vectors compatible with the
|
|
19
|
+
* brain_embeddings vec0 table. The model is downloaded on first use
|
|
20
|
+
* and cached locally by the transformers library.
|
|
21
|
+
*
|
|
22
|
+
* Use {@link initDefaultProvider} (in brain-embedding.ts) to register an
|
|
23
|
+
* instance when brain.embedding.enabled=true and
|
|
24
|
+
* brain.embedding.provider='local'.
|
|
25
|
+
*/
|
|
26
|
+
export declare class LocalEmbeddingProvider implements EmbeddingProvider {
|
|
27
|
+
/** Number of dimensions produced — must match brain_embeddings vec0 table. */
|
|
28
|
+
readonly dimensions = 384;
|
|
29
|
+
/**
|
|
30
|
+
* Whether the pipeline has been successfully initialized and is ready to produce embeddings.
|
|
31
|
+
*/
|
|
32
|
+
isAvailable(): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Convert a single text string into a 384-dimension float vector.
|
|
35
|
+
* Triggers model download on first call if not already cached.
|
|
36
|
+
*
|
|
37
|
+
* @param text - The text to embed.
|
|
38
|
+
* @returns A Float32Array of length 384.
|
|
39
|
+
*/
|
|
40
|
+
embed(text: string): Promise<Float32Array>;
|
|
41
|
+
/**
|
|
42
|
+
* Embed multiple texts in sequence, reusing the cached pipeline.
|
|
43
|
+
*
|
|
44
|
+
* @param texts - Array of text strings to embed.
|
|
45
|
+
* @returns Array of Float32Array vectors, one per input text.
|
|
46
|
+
*/
|
|
47
|
+
embedBatch(texts: string[]): Promise<Float32Array[]>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get or create the shared LocalEmbeddingProvider singleton.
|
|
51
|
+
*
|
|
52
|
+
* @returns The shared LocalEmbeddingProvider instance.
|
|
53
|
+
*/
|
|
54
|
+
export declare function getLocalEmbeddingProvider(): LocalEmbeddingProvider;
|
|
55
|
+
//# sourceMappingURL=embedding-local.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-local.d.ts","sourceRoot":"","sources":["../../src/memory/embedding-local.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAwB9D;;;;;;;;;;GAUG;AACH,qBAAa,sBAAuB,YAAW,iBAAiB;IAC9D,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,OAAwB;IAE3C;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;OAMG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAShD;;;;;OAKG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAS3D;AAKD;;;;GAIG;AACH,wBAAgB,yBAAyB,IAAI,sBAAsB,CAKlE"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local embedding provider using @xenova/transformers.
|
|
3
|
+
*
|
|
4
|
+
* Implements the EmbeddingProvider interface for brain memory vector search.
|
|
5
|
+
* Uses all-MiniLM-L6-v2 (22MB, 384 dimensions) — matches the brain_embeddings
|
|
6
|
+
* vec0 table schema. Model downloads on first call and is cached locally by
|
|
7
|
+
* the transformers library.
|
|
8
|
+
*
|
|
9
|
+
* @epic T134
|
|
10
|
+
* @task T136
|
|
11
|
+
* @why Ship vector search out-of-the-box without external API keys
|
|
12
|
+
* @what Local embedding provider using @xenova/transformers all-MiniLM-L6-v2
|
|
13
|
+
*/
|
|
14
|
+
import { EMBEDDING_DIMENSIONS } from './brain-embedding.js';
|
|
15
|
+
/** Model identifier for all-MiniLM-L6-v2 via Xenova hub. */
|
|
16
|
+
const MODEL_NAME = 'Xenova/all-MiniLM-L6-v2';
|
|
17
|
+
/** Pipeline singleton — initialized lazily on first call. */
|
|
18
|
+
let _pipeline = null;
|
|
19
|
+
/** Whether the pipeline has been successfully initialized. */
|
|
20
|
+
let _ready = false;
|
|
21
|
+
/**
|
|
22
|
+
* Load the transformers feature-extraction pipeline lazily.
|
|
23
|
+
* Dynamic import prevents the heavy model from loading unless embedding is enabled.
|
|
24
|
+
*/
|
|
25
|
+
async function loadPipeline() {
|
|
26
|
+
if (_ready)
|
|
27
|
+
return;
|
|
28
|
+
// Dynamic import — only resolves when embedding is explicitly enabled
|
|
29
|
+
const { pipeline } = await import('@xenova/transformers');
|
|
30
|
+
_pipeline = await pipeline('feature-extraction', MODEL_NAME);
|
|
31
|
+
_ready = true;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Local embedding provider backed by @xenova/transformers.
|
|
35
|
+
*
|
|
36
|
+
* Produces 384-dimension Float32Array vectors compatible with the
|
|
37
|
+
* brain_embeddings vec0 table. The model is downloaded on first use
|
|
38
|
+
* and cached locally by the transformers library.
|
|
39
|
+
*
|
|
40
|
+
* Use {@link initDefaultProvider} (in brain-embedding.ts) to register an
|
|
41
|
+
* instance when brain.embedding.enabled=true and
|
|
42
|
+
* brain.embedding.provider='local'.
|
|
43
|
+
*/
|
|
44
|
+
export class LocalEmbeddingProvider {
|
|
45
|
+
/** Number of dimensions produced — must match brain_embeddings vec0 table. */
|
|
46
|
+
dimensions = EMBEDDING_DIMENSIONS;
|
|
47
|
+
/**
|
|
48
|
+
* Whether the pipeline has been successfully initialized and is ready to produce embeddings.
|
|
49
|
+
*/
|
|
50
|
+
isAvailable() {
|
|
51
|
+
return _ready;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Convert a single text string into a 384-dimension float vector.
|
|
55
|
+
* Triggers model download on first call if not already cached.
|
|
56
|
+
*
|
|
57
|
+
* @param text - The text to embed.
|
|
58
|
+
* @returns A Float32Array of length 384.
|
|
59
|
+
*/
|
|
60
|
+
async embed(text) {
|
|
61
|
+
await loadPipeline();
|
|
62
|
+
const output = await _pipeline(text, { pooling: 'mean', normalize: true });
|
|
63
|
+
// output.data is DataArray (AnyTypedArray | any[]). For feature-extraction
|
|
64
|
+
// with all-MiniLM-L6-v2, the runtime value is always Float32Array. Copy via
|
|
65
|
+
// Float32Array constructor which accepts any iterable of numbers.
|
|
66
|
+
return Float32Array.from(output.data);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Embed multiple texts in sequence, reusing the cached pipeline.
|
|
70
|
+
*
|
|
71
|
+
* @param texts - Array of text strings to embed.
|
|
72
|
+
* @returns Array of Float32Array vectors, one per input text.
|
|
73
|
+
*/
|
|
74
|
+
async embedBatch(texts) {
|
|
75
|
+
await loadPipeline();
|
|
76
|
+
const results = [];
|
|
77
|
+
for (const text of texts) {
|
|
78
|
+
const output = await _pipeline(text, { pooling: 'mean', normalize: true });
|
|
79
|
+
results.push(Float32Array.from(output.data));
|
|
80
|
+
}
|
|
81
|
+
return results;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/** Module-level singleton instance. */
|
|
85
|
+
let _instance = null;
|
|
86
|
+
/**
|
|
87
|
+
* Get or create the shared LocalEmbeddingProvider singleton.
|
|
88
|
+
*
|
|
89
|
+
* @returns The shared LocalEmbeddingProvider instance.
|
|
90
|
+
*/
|
|
91
|
+
export function getLocalEmbeddingProvider() {
|
|
92
|
+
if (!_instance) {
|
|
93
|
+
_instance = new LocalEmbeddingProvider();
|
|
94
|
+
}
|
|
95
|
+
return _instance;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=embedding-local.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-local.js","sourceRoot":"","sources":["../../src/memory/embedding-local.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,4DAA4D;AAC5D,MAAM,UAAU,GAAG,yBAAyB,CAAC;AAE7C,6DAA6D;AAC7D,IAAI,SAAS,GAAoE,IAAI,CAAC;AAEtF,8DAA8D;AAC9D,IAAI,MAAM,GAAG,KAAK,CAAC;AAEnB;;;GAGG;AACH,KAAK,UAAU,YAAY;IACzB,IAAI,MAAM;QAAE,OAAO;IACnB,sEAAsE;IACtE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC1D,SAAS,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,sBAAsB;IACjC,8EAA8E;IACrE,UAAU,GAAG,oBAAoB,CAAC;IAE3C;;OAEG;IACH,WAAW;QACT,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,YAAY,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,SAAU,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,2EAA2E;QAC3E,4EAA4E;QAC5E,kEAAkE;QAClE,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAoB,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,KAAe;QAC9B,MAAM,YAAY,EAAE,CAAC;QACrB,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,SAAU,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAoB,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,uCAAuC;AACvC,IAAI,SAAS,GAAkC,IAAI,CAAC;AAEpD;;;;GAIG;AACH,MAAM,UAAU,yBAAyB;IACvC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding Queue Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages an async queue of embedding requests, processing them in batches
|
|
5
|
+
* via a worker thread to avoid blocking the main Node.js event loop.
|
|
6
|
+
*
|
|
7
|
+
* Architecture:
|
|
8
|
+
* - {@link EmbeddingQueue} is a singleton — one worker thread per process
|
|
9
|
+
* - {@link EmbeddingQueue.enqueue} adds items; the drain loop batches them
|
|
10
|
+
* - Batches up to {@link BATCH_SIZE} items per processing cycle
|
|
11
|
+
* - Falls back to `setImmediate` + direct embedding when worker threads
|
|
12
|
+
* are unavailable or the worker script cannot be resolved
|
|
13
|
+
* - Registers a `process.on('exit')` handler for graceful shutdown
|
|
14
|
+
*
|
|
15
|
+
* @epic T134
|
|
16
|
+
* @task T137
|
|
17
|
+
* @why Non-blocking embedding generation for observeBrain()
|
|
18
|
+
* @what Singleton queue + worker-thread batch processor
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Singleton embedding queue.
|
|
22
|
+
*
|
|
23
|
+
* Batches embedding requests and processes them via a worker thread,
|
|
24
|
+
* keeping heavy model inference off the main event loop.
|
|
25
|
+
*
|
|
26
|
+
* Use {@link getEmbeddingQueue} to obtain the shared instance.
|
|
27
|
+
*/
|
|
28
|
+
export declare class EmbeddingQueue {
|
|
29
|
+
private readonly queue;
|
|
30
|
+
private worker;
|
|
31
|
+
private workerAvailable;
|
|
32
|
+
private draining;
|
|
33
|
+
private shutdownPromise;
|
|
34
|
+
/**
|
|
35
|
+
* Store the observation ID → DB write callback so the worker result
|
|
36
|
+
* can be persisted back to brain_embeddings without coupling to SQLite here.
|
|
37
|
+
*/
|
|
38
|
+
private readonly callbacks;
|
|
39
|
+
/** Initialise the worker thread if possible. Called lazily on first enqueue. */
|
|
40
|
+
private initWorker;
|
|
41
|
+
/**
|
|
42
|
+
* Add an observation to the embedding queue.
|
|
43
|
+
*
|
|
44
|
+
* The observation must already be persisted in brain_observations before
|
|
45
|
+
* calling this method. `onComplete` is called asynchronously with the
|
|
46
|
+
* generated vector once the worker finishes.
|
|
47
|
+
*
|
|
48
|
+
* @param observationId - The brain observation ID (e.g. `O-abc123-0`)
|
|
49
|
+
* @param text - Raw text to embed
|
|
50
|
+
* @param onComplete - Callback to persist the embedding vector
|
|
51
|
+
*/
|
|
52
|
+
enqueue(observationId: string, text: string, onComplete: (observationId: string, embedding: Float32Array) => Promise<void>): void;
|
|
53
|
+
/** Schedule the next drain cycle via setImmediate. */
|
|
54
|
+
private scheduleDrain;
|
|
55
|
+
/**
|
|
56
|
+
* Process up to {@link BATCH_SIZE} items from the queue.
|
|
57
|
+
* Uses the worker thread when available, falls back to inline setImmediate.
|
|
58
|
+
*/
|
|
59
|
+
private drain;
|
|
60
|
+
/**
|
|
61
|
+
* Inline fallback embedding — used when worker thread is unavailable.
|
|
62
|
+
* Runs directly on the main thread (but inside setImmediate to yield first).
|
|
63
|
+
*/
|
|
64
|
+
private fallbackEmbed;
|
|
65
|
+
/**
|
|
66
|
+
* Flush the queue and terminate the worker thread.
|
|
67
|
+
*
|
|
68
|
+
* Waits for in-flight worker messages to drain, then terminates.
|
|
69
|
+
* Safe to call multiple times — subsequent calls return the same promise.
|
|
70
|
+
*/
|
|
71
|
+
shutdown(): Promise<void>;
|
|
72
|
+
private doShutdown;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get or create the shared EmbeddingQueue singleton.
|
|
76
|
+
*
|
|
77
|
+
* Registers a process `exit` handler on first call to flush and
|
|
78
|
+
* terminate the worker thread cleanly.
|
|
79
|
+
*
|
|
80
|
+
* @returns The shared EmbeddingQueue instance.
|
|
81
|
+
*/
|
|
82
|
+
export declare function getEmbeddingQueue(): EmbeddingQueue;
|
|
83
|
+
/**
|
|
84
|
+
* Reset the singleton (for testing only).
|
|
85
|
+
* Shuts down the existing queue before clearing the reference.
|
|
86
|
+
*
|
|
87
|
+
* @internal
|
|
88
|
+
*/
|
|
89
|
+
export declare function resetEmbeddingQueue(): Promise<void>;
|
|
90
|
+
//# sourceMappingURL=embedding-queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-queue.d.ts","sourceRoot":"","sources":["../../src/memory/embedding-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AA4CH;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,MAAM,CAAqD;IACnE,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAA8B;IAErD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAGtB;IAEJ,gFAAgF;YAClE,UAAU;IAgDxB;;;;;;;;;;OAUG;IACH,OAAO,CACL,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,GAC5E,IAAI;IASP,sDAAsD;IACtD,OAAO,CAAC,aAAa;IASrB;;;OAGG;YACW,KAAK;IAmCnB;;;OAGG;YACW,aAAa;IAW3B;;;;;OAKG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAMX,UAAU;CAkBzB;AAKD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAwBlD;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKzD"}
|