@cleocode/core 2026.3.69 → 2026.3.70

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.
Files changed (126) hide show
  1. package/dist/agents/retry.d.ts.map +1 -1
  2. package/dist/agents/retry.js +23 -42
  3. package/dist/agents/retry.js.map +1 -1
  4. package/dist/cleo.js +2 -2
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +30 -0
  7. package/dist/config.js.map +1 -1
  8. package/dist/hooks/handlers/file-hooks.d.ts +5 -2
  9. package/dist/hooks/handlers/file-hooks.d.ts.map +1 -1
  10. package/dist/hooks/handlers/index.d.ts +2 -0
  11. package/dist/hooks/handlers/index.d.ts.map +1 -1
  12. package/dist/hooks/handlers/mcp-hooks.d.ts +11 -7
  13. package/dist/hooks/handlers/mcp-hooks.d.ts.map +1 -1
  14. package/dist/hooks/handlers/memory-bridge-refresh.d.ts +20 -0
  15. package/dist/hooks/handlers/memory-bridge-refresh.d.ts.map +1 -0
  16. package/dist/hooks/handlers/memory-bridge-refresh.js +42 -0
  17. package/dist/hooks/handlers/memory-bridge-refresh.js.map +1 -0
  18. package/dist/hooks/handlers/session-hooks.d.ts +10 -0
  19. package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
  20. package/dist/hooks/handlers/session-hooks.js +36 -0
  21. package/dist/hooks/handlers/session-hooks.js.map +1 -1
  22. package/dist/hooks/handlers/task-hooks.d.ts +4 -0
  23. package/dist/hooks/handlers/task-hooks.d.ts.map +1 -1
  24. package/dist/hooks/handlers/task-hooks.js +7 -0
  25. package/dist/hooks/handlers/task-hooks.js.map +1 -1
  26. package/dist/hooks/handlers/work-capture-hooks.d.ts +40 -0
  27. package/dist/hooks/handlers/work-capture-hooks.d.ts.map +1 -0
  28. package/dist/index.d.ts +2 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +5016 -4662
  31. package/dist/index.js.map +4 -4
  32. package/dist/internal.d.ts +10 -2
  33. package/dist/internal.d.ts.map +1 -1
  34. package/dist/internal.js +10 -3
  35. package/dist/internal.js.map +1 -1
  36. package/dist/memory/auto-extract.d.ts +13 -0
  37. package/dist/memory/auto-extract.d.ts.map +1 -1
  38. package/dist/memory/auto-extract.js +34 -0
  39. package/dist/memory/auto-extract.js.map +1 -1
  40. package/dist/memory/brain-embedding.d.ts +13 -0
  41. package/dist/memory/brain-embedding.d.ts.map +1 -1
  42. package/dist/memory/brain-embedding.js +17 -0
  43. package/dist/memory/brain-embedding.js.map +1 -1
  44. package/dist/memory/brain-maintenance.d.ts +110 -0
  45. package/dist/memory/brain-maintenance.d.ts.map +1 -0
  46. package/dist/memory/brain-maintenance.js +98 -0
  47. package/dist/memory/brain-maintenance.js.map +1 -0
  48. package/dist/memory/brain-retrieval.d.ts +31 -5
  49. package/dist/memory/brain-retrieval.d.ts.map +1 -1
  50. package/dist/memory/brain-retrieval.js +53 -6
  51. package/dist/memory/brain-retrieval.js.map +1 -1
  52. package/dist/memory/embedding-local.d.ts +55 -0
  53. package/dist/memory/embedding-local.d.ts.map +1 -0
  54. package/dist/memory/embedding-local.js +97 -0
  55. package/dist/memory/embedding-local.js.map +1 -0
  56. package/dist/memory/embedding-queue.d.ts +90 -0
  57. package/dist/memory/embedding-queue.d.ts.map +1 -0
  58. package/dist/memory/embedding-queue.js +271 -0
  59. package/dist/memory/embedding-queue.js.map +1 -0
  60. package/dist/memory/embedding-worker.d.ts +19 -0
  61. package/dist/memory/embedding-worker.d.ts.map +1 -0
  62. package/dist/memory/embedding-worker.js +58 -0
  63. package/dist/memory/embedding-worker.js.map +1 -0
  64. package/dist/memory/memory-bridge.d.ts +21 -1
  65. package/dist/memory/memory-bridge.d.ts.map +1 -1
  66. package/dist/memory/memory-bridge.js +83 -2
  67. package/dist/memory/memory-bridge.js.map +1 -1
  68. package/dist/memory/session-memory.d.ts +26 -0
  69. package/dist/memory/session-memory.d.ts.map +1 -1
  70. package/dist/memory/session-memory.js +105 -0
  71. package/dist/memory/session-memory.js.map +1 -1
  72. package/dist/pagination.js +3 -0
  73. package/dist/pagination.js.map +1 -1
  74. package/dist/sessions/index.d.ts.map +1 -1
  75. package/dist/sessions/index.js +2 -6
  76. package/dist/sessions/index.js.map +1 -1
  77. package/dist/store/brain-sqlite.js +13 -62
  78. package/dist/store/brain-sqlite.js.map +1 -1
  79. package/dist/store/migration-manager.js +151 -0
  80. package/dist/store/migration-manager.js.map +1 -0
  81. package/dist/store/sqlite.d.ts.map +1 -1
  82. package/dist/store/sqlite.js +16 -134
  83. package/dist/store/sqlite.js.map +1 -1
  84. package/dist/tasks/add.js +27 -22
  85. package/dist/tasks/add.js.map +1 -1
  86. package/dist/tasks/complete.d.ts.map +1 -1
  87. package/dist/tasks/complete.js +13 -40
  88. package/dist/tasks/complete.js.map +1 -1
  89. package/dist/tasks/enforcement.js +12 -15
  90. package/dist/tasks/enforcement.js.map +1 -1
  91. package/dist/upgrade.js +246 -3
  92. package/dist/upgrade.js.map +1 -1
  93. package/migrations/drizzle-tasks/20260320013731_wave0-schema-hardening/migration.sql +17 -17
  94. package/package.json +6 -5
  95. package/src/agents/retry.ts +30 -24
  96. package/src/config.ts +18 -0
  97. package/src/hooks/handlers/file-hooks.ts +29 -3
  98. package/src/hooks/handlers/index.ts +2 -0
  99. package/src/hooks/handlers/mcp-hooks.ts +32 -13
  100. package/src/hooks/handlers/memory-bridge-refresh.ts +47 -0
  101. package/src/hooks/handlers/session-hooks.ts +38 -0
  102. package/src/hooks/handlers/task-hooks.ts +8 -0
  103. package/src/hooks/handlers/work-capture-hooks.ts +184 -0
  104. package/src/index.ts +5 -0
  105. package/src/internal.ts +28 -2
  106. package/src/memory/__tests__/brain-automation.test.ts +941 -0
  107. package/src/memory/auto-extract.ts +40 -0
  108. package/src/memory/brain-embedding.ts +18 -0
  109. package/src/memory/brain-maintenance.ts +183 -0
  110. package/src/memory/brain-retrieval.ts +85 -7
  111. package/src/memory/embedding-local.ts +107 -0
  112. package/src/memory/embedding-queue.ts +304 -0
  113. package/src/memory/embedding-worker.ts +79 -0
  114. package/src/memory/memory-bridge.ts +101 -2
  115. package/src/memory/session-memory.ts +123 -0
  116. package/src/sessions/index.ts +2 -6
  117. package/src/store/__tests__/test-db-helper.js +14 -2
  118. package/src/store/__tests__/test-db-helper.ts +4 -1
  119. package/src/store/sqlite.ts +28 -0
  120. package/src/tasks/__tests__/complete-unblocks.test.ts +4 -1
  121. package/src/tasks/__tests__/complete.test.ts +18 -6
  122. package/src/tasks/__tests__/epic-enforcement.test.ts +4 -1
  123. package/src/tasks/__tests__/update.test.ts +4 -1
  124. package/src/tasks/complete.ts +8 -8
  125. package/templates/config.template.json +19 -0
  126. package/templates/global-config.template.json +19 -0
@@ -0,0 +1,271 @@
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
+ import { existsSync } from 'node:fs';
21
+ import { dirname, join } from 'node:path';
22
+ import { fileURLToPath } from 'node:url';
23
+ /** Maximum items processed per worker message cycle. */
24
+ const BATCH_SIZE = 10;
25
+ /** How long to wait between drain cycles when the queue is non-empty (ms). */
26
+ const DRAIN_INTERVAL_MS = 50;
27
+ /**
28
+ * Resolve the absolute path to the compiled embedding-worker script.
29
+ *
30
+ * Strategy (cheap-first):
31
+ * 1. Adjacent to this file (tsc dev: `dist/memory/embedding-worker.js`)
32
+ * 2. Falls back to null when the file cannot be found (esbuild bundle context)
33
+ */
34
+ function resolveWorkerPath() {
35
+ try {
36
+ // In ESM, __dirname is not available — use import.meta.url
37
+ const currentDir = dirname(fileURLToPath(import.meta.url));
38
+ const candidate = join(currentDir, 'embedding-worker.js');
39
+ if (existsSync(candidate)) {
40
+ return candidate;
41
+ }
42
+ // Also try ../ for cases where the queue is loaded from a subdirectory
43
+ const parentCandidate = join(currentDir, '..', 'memory', 'embedding-worker.js');
44
+ if (existsSync(parentCandidate)) {
45
+ return parentCandidate;
46
+ }
47
+ return null;
48
+ }
49
+ catch {
50
+ return null;
51
+ }
52
+ }
53
+ /**
54
+ * Singleton embedding queue.
55
+ *
56
+ * Batches embedding requests and processes them via a worker thread,
57
+ * keeping heavy model inference off the main event loop.
58
+ *
59
+ * Use {@link getEmbeddingQueue} to obtain the shared instance.
60
+ */
61
+ export class EmbeddingQueue {
62
+ queue = [];
63
+ worker = null;
64
+ workerAvailable = false;
65
+ draining = false;
66
+ shutdownPromise = null;
67
+ /**
68
+ * Store the observation ID → DB write callback so the worker result
69
+ * can be persisted back to brain_embeddings without coupling to SQLite here.
70
+ */
71
+ callbacks = new Map();
72
+ /** Initialise the worker thread if possible. Called lazily on first enqueue. */
73
+ async initWorker() {
74
+ if (this.workerAvailable || this.worker !== null)
75
+ return;
76
+ const workerPath = resolveWorkerPath();
77
+ if (!workerPath) {
78
+ // esbuild bundle context — worker file not available, use fallback
79
+ this.workerAvailable = false;
80
+ return;
81
+ }
82
+ try {
83
+ const { Worker } = await import('node:worker_threads');
84
+ const worker = new Worker(workerPath);
85
+ worker.on('message', (msg) => {
86
+ const cb = this.callbacks.get(msg.id);
87
+ if (!cb)
88
+ return;
89
+ this.callbacks.delete(msg.id);
90
+ if (msg.embedding) {
91
+ const vector = Float32Array.from(msg.embedding);
92
+ cb(msg.id, vector).catch(() => {
93
+ // Persistence is best-effort; observation already saved without vector
94
+ });
95
+ }
96
+ // On error, skip silently — observation exists without embedding
97
+ });
98
+ worker.on('error', () => {
99
+ // Worker crashed — disable worker path, drain remaining via fallback
100
+ this.worker = null;
101
+ this.workerAvailable = false;
102
+ this.callbacks.clear();
103
+ });
104
+ worker.on('exit', () => {
105
+ this.worker = null;
106
+ this.workerAvailable = false;
107
+ });
108
+ this.worker = worker;
109
+ this.workerAvailable = true;
110
+ }
111
+ catch {
112
+ // worker_threads unavailable (rare)
113
+ this.workerAvailable = false;
114
+ }
115
+ }
116
+ /**
117
+ * Add an observation to the embedding queue.
118
+ *
119
+ * The observation must already be persisted in brain_observations before
120
+ * calling this method. `onComplete` is called asynchronously with the
121
+ * generated vector once the worker finishes.
122
+ *
123
+ * @param observationId - The brain observation ID (e.g. `O-abc123-0`)
124
+ * @param text - Raw text to embed
125
+ * @param onComplete - Callback to persist the embedding vector
126
+ */
127
+ enqueue(observationId, text, onComplete) {
128
+ if (this.shutdownPromise)
129
+ return; // queue is shutting down
130
+ this.callbacks.set(observationId, onComplete);
131
+ this.queue.push({ observationId, text });
132
+ if (!this.draining) {
133
+ this.scheduleDrain();
134
+ }
135
+ }
136
+ /** Schedule the next drain cycle via setImmediate. */
137
+ scheduleDrain() {
138
+ setImmediate(() => {
139
+ this.drain().catch(() => {
140
+ // Drain errors are non-fatal
141
+ this.draining = false;
142
+ });
143
+ });
144
+ }
145
+ /**
146
+ * Process up to {@link BATCH_SIZE} items from the queue.
147
+ * Uses the worker thread when available, falls back to inline setImmediate.
148
+ */
149
+ async drain() {
150
+ this.draining = true;
151
+ // Ensure worker is initialised (no-op after first call)
152
+ await this.initWorker();
153
+ while (this.queue.length > 0) {
154
+ const batch = this.queue.splice(0, BATCH_SIZE);
155
+ if (this.workerAvailable && this.worker) {
156
+ // Dispatch to worker thread — results arrive via 'message' event
157
+ for (const item of batch) {
158
+ this.worker.postMessage({ id: item.observationId, text: item.text });
159
+ }
160
+ }
161
+ else {
162
+ // Fallback: process inline via setImmediate to yield to event loop
163
+ for (const item of batch) {
164
+ setImmediate(() => {
165
+ this.fallbackEmbed(item).catch(() => {
166
+ // Silently skip — observation already persisted without embedding
167
+ this.callbacks.delete(item.observationId);
168
+ });
169
+ });
170
+ }
171
+ }
172
+ if (this.queue.length > 0) {
173
+ // Yield to event loop between batches
174
+ await new Promise((resolve) => setTimeout(resolve, DRAIN_INTERVAL_MS));
175
+ }
176
+ }
177
+ this.draining = false;
178
+ }
179
+ /**
180
+ * Inline fallback embedding — used when worker thread is unavailable.
181
+ * Runs directly on the main thread (but inside setImmediate to yield first).
182
+ */
183
+ async fallbackEmbed(item) {
184
+ const cb = this.callbacks.get(item.observationId);
185
+ if (!cb)
186
+ return;
187
+ this.callbacks.delete(item.observationId);
188
+ const { getLocalEmbeddingProvider } = await import('./embedding-local.js');
189
+ const provider = getLocalEmbeddingProvider();
190
+ const vector = await provider.embed(item.text);
191
+ await cb(item.observationId, vector);
192
+ }
193
+ /**
194
+ * Flush the queue and terminate the worker thread.
195
+ *
196
+ * Waits for in-flight worker messages to drain, then terminates.
197
+ * Safe to call multiple times — subsequent calls return the same promise.
198
+ */
199
+ shutdown() {
200
+ if (this.shutdownPromise)
201
+ return this.shutdownPromise;
202
+ this.shutdownPromise = this.doShutdown();
203
+ return this.shutdownPromise;
204
+ }
205
+ async doShutdown() {
206
+ // Drain remaining queue items
207
+ if (this.queue.length > 0) {
208
+ await this.drain();
209
+ }
210
+ // Terminate the worker
211
+ if (this.worker) {
212
+ try {
213
+ await this.worker.terminate();
214
+ }
215
+ catch {
216
+ // Worker may already be gone
217
+ }
218
+ this.worker = null;
219
+ }
220
+ this.callbacks.clear();
221
+ }
222
+ }
223
+ /** Module-level singleton. */
224
+ let _instance = null;
225
+ /**
226
+ * Get or create the shared EmbeddingQueue singleton.
227
+ *
228
+ * Registers a process `exit` handler on first call to flush and
229
+ * terminate the worker thread cleanly.
230
+ *
231
+ * @returns The shared EmbeddingQueue instance.
232
+ */
233
+ export function getEmbeddingQueue() {
234
+ if (!_instance) {
235
+ _instance = new EmbeddingQueue();
236
+ // Best-effort flush on process exit (synchronous handlers only get ~50ms)
237
+ process.on('exit', () => {
238
+ _instance?.shutdown().catch(() => {
239
+ // exit handler — cannot await
240
+ });
241
+ });
242
+ // For SIGTERM/SIGINT give the queue time to flush
243
+ const gracefulShutdown = () => {
244
+ if (_instance) {
245
+ _instance
246
+ .shutdown()
247
+ .catch(() => { })
248
+ .finally(() => process.exit(0));
249
+ }
250
+ else {
251
+ process.exit(0);
252
+ }
253
+ };
254
+ process.once('SIGTERM', gracefulShutdown);
255
+ process.once('SIGINT', gracefulShutdown);
256
+ }
257
+ return _instance;
258
+ }
259
+ /**
260
+ * Reset the singleton (for testing only).
261
+ * Shuts down the existing queue before clearing the reference.
262
+ *
263
+ * @internal
264
+ */
265
+ export async function resetEmbeddingQueue() {
266
+ if (_instance) {
267
+ await _instance.shutdown();
268
+ _instance = null;
269
+ }
270
+ }
271
+ //# sourceMappingURL=embedding-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-queue.js","sourceRoot":"","sources":["../../src/memory/embedding-queue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Embedding Worker Thread Script
3
+ *
4
+ * Runs inside a `worker_threads.Worker` to perform embedding generation
5
+ * off the main thread. Receives messages with text to embed, calls
6
+ * LocalEmbeddingProvider, and sends results back via parentPort.
7
+ *
8
+ * Message protocol:
9
+ * Inbound: { id: string; text: string }
10
+ * Outbound: { id: string; embedding: number[] } on success
11
+ * { id: string; error: string } on failure
12
+ *
13
+ * @epic T134
14
+ * @task T137
15
+ * @why Prevent @xenova/transformers model inference from blocking the main thread
16
+ * @what Worker thread script for async embedding generation
17
+ */
18
+ export {};
19
+ //# sourceMappingURL=embedding-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-worker.d.ts","sourceRoot":"","sources":["../../src/memory/embedding-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Embedding Worker Thread Script
3
+ *
4
+ * Runs inside a `worker_threads.Worker` to perform embedding generation
5
+ * off the main thread. Receives messages with text to embed, calls
6
+ * LocalEmbeddingProvider, and sends results back via parentPort.
7
+ *
8
+ * Message protocol:
9
+ * Inbound: { id: string; text: string }
10
+ * Outbound: { id: string; embedding: number[] } on success
11
+ * { id: string; error: string } on failure
12
+ *
13
+ * @epic T134
14
+ * @task T137
15
+ * @why Prevent @xenova/transformers model inference from blocking the main thread
16
+ * @what Worker thread script for async embedding generation
17
+ */
18
+ import { parentPort } from 'node:worker_threads';
19
+ if (!parentPort) {
20
+ throw new Error('embedding-worker.ts must be run as a worker thread');
21
+ }
22
+ const port = parentPort;
23
+ /**
24
+ * Handle a single embedding request from the queue manager.
25
+ * Imports LocalEmbeddingProvider lazily so the model loads once
26
+ * per worker lifetime.
27
+ */
28
+ async function handleRequest(req) {
29
+ try {
30
+ const { getLocalEmbeddingProvider } = await import('./embedding-local.js');
31
+ const provider = getLocalEmbeddingProvider();
32
+ const vector = await provider.embed(req.text);
33
+ // Transfer as plain number[] — structured clone handles Float32Array
34
+ const response = {
35
+ id: req.id,
36
+ embedding: Array.from(vector),
37
+ };
38
+ port.postMessage(response);
39
+ }
40
+ catch (err) {
41
+ const response = {
42
+ id: req.id,
43
+ error: err instanceof Error ? err.message : String(err),
44
+ };
45
+ port.postMessage(response);
46
+ }
47
+ }
48
+ port.on('message', (req) => {
49
+ handleRequest(req).catch((err) => {
50
+ // Catch any unhandled rejection in handleRequest itself
51
+ const response = {
52
+ id: req.id,
53
+ error: err instanceof Error ? err.message : String(err),
54
+ };
55
+ port.postMessage(response);
56
+ });
57
+ });
58
+ //# sourceMappingURL=embedding-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-worker.js","sourceRoot":"","sources":["../../src/memory/embedding-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAoBjD,IAAI,CAAC,UAAU,EAAE,CAAC;IAChB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,IAAI,GAAG,UAAU,CAAC;AAExB;;;;GAIG;AACH,KAAK,UAAU,aAAa,CAAC,GAAkB;IAC7C,IAAI,CAAC;QACH,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,yBAAyB,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9C,qEAAqE;QACrE,MAAM,QAAQ,GAAkB;YAC9B,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;SAC9B,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,QAAQ,GAAgB;YAC5B,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAkB,EAAE,EAAE;IACxC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/B,wDAAwD;QACxD,MAAM,QAAQ,GAAgB;YAC5B,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -45,6 +45,26 @@ export declare function writeMemoryBridge(projectRoot: string, config?: Partial<
45
45
  /**
46
46
  * Best-effort refresh: call from session.end, tasks.complete, or memory.observe.
47
47
  * Never throws.
48
+ *
49
+ * @param projectRoot - Absolute path to the project root.
50
+ * @param scope - Optional session scope for context-aware generation (T139).
51
+ * @param currentTaskId - Optional current task ID for scoped context (T139).
52
+ */
53
+ export declare function refreshMemoryBridge(projectRoot: string, scope?: string, currentTaskId?: string): Promise<void>;
54
+ /**
55
+ * Generate context-aware memory bridge content and write to disk.
56
+ *
57
+ * When `brain.memoryBridge.contextAware` is true and a scope is available,
58
+ * uses hybridSearch() to surface memories relevant to the current scope,
59
+ * then enforces the `brain.memoryBridge.maxTokens` budget.
60
+ *
61
+ * Falls back to standard generation if hybrid search is unavailable.
62
+ * Never throws.
63
+ *
64
+ * @param projectRoot - Absolute path to the project root.
65
+ * @param scope - Session scope string (e.g. 'global', 'epic:T###').
66
+ * @param currentTaskId - Optional current task ID for narrower scoping.
67
+ * @task T139 @epic T134
48
68
  */
49
- export declare function refreshMemoryBridge(projectRoot: string): Promise<void>;
69
+ export declare function generateContextAwareContent(projectRoot: string, scope: string, currentTaskId?: string): Promise<void>;
50
70
  //# sourceMappingURL=memory-bridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-bridge.d.ts","sourceRoot":"","sources":["../../src/memory/memory-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,0DAA0D;AAC1D,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAmED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACnC,OAAO,CAAC,MAAM,CAAC,CA2GjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACnC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA8B7C;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS5E"}
1
+ {"version":3,"file":"memory-bridge.d.ts","sourceRoot":"","sources":["../../src/memory/memory-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,0DAA0D;AAC1D,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAmED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACnC,OAAO,CAAC,MAAM,CAAC,CA2GjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACnC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA8B7C;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CA+Df"}
@@ -188,15 +188,96 @@ export async function writeMemoryBridge(projectRoot, config) {
188
188
  /**
189
189
  * Best-effort refresh: call from session.end, tasks.complete, or memory.observe.
190
190
  * Never throws.
191
+ *
192
+ * @param projectRoot - Absolute path to the project root.
193
+ * @param scope - Optional session scope for context-aware generation (T139).
194
+ * @param currentTaskId - Optional current task ID for scoped context (T139).
191
195
  */
192
- export async function refreshMemoryBridge(projectRoot) {
196
+ export async function refreshMemoryBridge(projectRoot, scope, currentTaskId) {
193
197
  try {
194
- await writeMemoryBridge(projectRoot);
198
+ const { loadConfig } = await import('../config.js');
199
+ const config = await loadConfig(projectRoot);
200
+ if (config.brain?.memoryBridge?.contextAware && scope) {
201
+ await generateContextAwareContent(projectRoot, scope, currentTaskId);
202
+ }
203
+ else {
204
+ await writeMemoryBridge(projectRoot);
205
+ }
195
206
  }
196
207
  catch (err) {
197
208
  console.error('[CLEO] Memory bridge refresh failed:', err instanceof Error ? err.message : String(err));
198
209
  }
199
210
  }
211
+ /**
212
+ * Generate context-aware memory bridge content and write to disk.
213
+ *
214
+ * When `brain.memoryBridge.contextAware` is true and a scope is available,
215
+ * uses hybridSearch() to surface memories relevant to the current scope,
216
+ * then enforces the `brain.memoryBridge.maxTokens` budget.
217
+ *
218
+ * Falls back to standard generation if hybrid search is unavailable.
219
+ * Never throws.
220
+ *
221
+ * @param projectRoot - Absolute path to the project root.
222
+ * @param scope - Session scope string (e.g. 'global', 'epic:T###').
223
+ * @param currentTaskId - Optional current task ID for narrower scoping.
224
+ * @task T139 @epic T134
225
+ */
226
+ export async function generateContextAwareContent(projectRoot, scope, currentTaskId) {
227
+ try {
228
+ const { loadConfig } = await import('../config.js');
229
+ const config = await loadConfig(projectRoot);
230
+ const maxTokens = config.brain?.memoryBridge?.maxTokens ?? 2000;
231
+ // Build a search query from scope + currentTaskId
232
+ const query = currentTaskId ? `${scope} ${currentTaskId}` : scope;
233
+ let contextSections = [];
234
+ try {
235
+ const { hybridSearch } = await import('./brain-search.js');
236
+ const hits = await hybridSearch(query, projectRoot, { limit: 10 });
237
+ if (hits && hits.length > 0) {
238
+ contextSections = hits
239
+ .slice(0, 5)
240
+ .map((h) => `- [${h.id}] ${h.title ?? h.text?.slice(0, 120) ?? ''}`);
241
+ }
242
+ }
243
+ catch {
244
+ // Hybrid search unavailable — fall back to standard generation
245
+ await writeMemoryBridge(projectRoot);
246
+ return;
247
+ }
248
+ // Build content with token budget enforcement (rough estimate: 4 chars/token)
249
+ const charsPerToken = 4;
250
+ const budgetChars = maxTokens * charsPerToken;
251
+ const cleoDir = join(projectRoot, '.cleo');
252
+ const bridgePath = join(cleoDir, 'memory-bridge.md');
253
+ const headerLines = [
254
+ '# CLEO Memory Bridge',
255
+ '',
256
+ `> Auto-generated at ${new Date().toISOString().slice(0, 19)} (context-aware: ${scope})`,
257
+ '> Do not edit manually. Regenerate with `cleo refresh-memory`.',
258
+ '',
259
+ ];
260
+ const contextBlock = contextSections.length > 0 ? ['## Relevant Context', '', ...contextSections, ''] : [];
261
+ // Append standard content but enforce token budget
262
+ const standardContent = await generateMemoryBridgeContent(projectRoot);
263
+ const combined = [...headerLines, ...contextBlock].join('\n');
264
+ const remainingChars = budgetChars - combined.length;
265
+ const finalContent = remainingChars > 200 ? combined + '\n' + standardContent.slice(0, remainingChars) : combined;
266
+ if (!existsSync(cleoDir)) {
267
+ mkdirSync(cleoDir, { recursive: true });
268
+ }
269
+ writeFileSync(bridgePath, finalContent, 'utf-8');
270
+ }
271
+ catch {
272
+ // Best-effort — fall through to standard generation
273
+ try {
274
+ await writeMemoryBridge(projectRoot);
275
+ }
276
+ catch {
277
+ // Ignore
278
+ }
279
+ }
280
+ }
200
281
  // ============================================================================
201
282
  // Query helpers
202
283
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"memory-bridge.js","sourceRoot":"","sources":["../../src/memory/memory-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAYxD,6BAA6B;AAC7B,MAAM,cAAc,GAAuB;IACzC,eAAe,EAAE,EAAE;IACnB,YAAY,EAAE,CAAC;IACf,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,IAAI;IACpB,mBAAmB,EAAE,IAAI;CAC1B,CAAC;AAEF,+EAA+E;AAC/E,oCAAoC;AACpC,+EAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAE3C,iDAAiD;AACjD,SAAS,QAAQ,CAAI,EAAgB,EAAE,GAAW,EAAE,GAAG,MAAkC;IACvF,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAQ,CAAC;AAC/C,CAAC;AAgCD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,WAAmB,EACnB,MAAoC;IAEpC,MAAM,GAAG,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7C,iCAAiC;IACjC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAClF,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,GAAa;QACtB,sBAAsB;QACtB,EAAE;QACF,uBAAuB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC9D,gEAAgE;QAChE,EAAE;KACH,CAAC;IAEF,+BAA+B;IAC/B,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACX,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACnE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,oBAAoB;IACpB,MAAM,SAAS,GAAG,4BAA4B,CAAC,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IAC3E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;QACrF,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,4BAA4B;IAC5B,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3E,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QACnE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,gCAAgC;IAChC,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;QAC5B,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;IAC5E,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAAmB,EACnB,MAAoC;IAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAErD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAEvE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,8DAA8D;QAC9D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACnD,qCAAqC;YACrC,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;YAChF,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,uCAAuC,EACvC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAAmB;IAC3D,IAAI,CAAC;QACH,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,sCAAsC,EACtC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,uDAAuD;AACvD,KAAK,UAAU,kBAAkB,CAC/B,WAAmB;IAEnB,IAAI,CAAC;QACH,OAAO,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAgB,EAAE,KAAa;IAC3D,IAAI,CAAC;QACH,OAAO,QAAQ,CACb,EAAE,EACF,uFAAuF,EACvF,KAAK,CACN,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,EAAgB,EAAE,KAAa;IACnE,IAAI,CAAC;QACH,sEAAsE;QACtE,0EAA0E;QAC1E,MAAM,UAAU,GAAG,QAAQ,CACzB,EAAE,EACF;;;iBAGW,EACX,KAAK,GAAG,CAAC,CACV,CAAC;QAEF,8CAA8C;QAC9C,mEAAmE;QACnE,sCAAsC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,UAAU,CAAC;QAE9B,OAAO,UAAU;aACd,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC;YACvD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;YACpF,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,mBAAmB,GAAG,aAAa,GAAG,UAAU,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,CAAC;YAC3F,OAAO,EAAE,GAAG,GAAG,EAAE,mBAAmB,EAAE,CAAC;QACzC,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,mBAAmB,IAAI,8BAA8B,CAAC;aAC1E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;aAC7D,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;aACf,GAAG,CAAC,CAAC,EAAE,mBAAmB,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;YACzC,GAAG,GAAG;YACN,sEAAsE;YACtE,UAAU,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;SAC3C,CAAC,CAAC,CAAC;IACR,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,EAAgB,EAAE,IAAY,EAAE,KAAa;IAClE,IAAI,CAAC;QACH,OAAO,QAAQ,CACb,EAAE,EACF,sHAAsH,EACtH,IAAI,EACJ,KAAK,CACN,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,EAAgB,EAAE,KAAa;IAC9D,IAAI,CAAC;QACH,OAAO,QAAQ,CACb,EAAE,EACF;;;;;;0CAMoC,EACpC,KAAK,CACN,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,SAAS,gBAAgB;IACvB,OAAO;QACL,sBAAsB;QACtB,EAAE;QACF,uBAAuB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC9D,EAAE;QACF,4EAA4E;QAC5E,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"memory-bridge.js","sourceRoot":"","sources":["../../src/memory/memory-bridge.ts"],"names":[],"mappings":"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"}
@@ -67,6 +67,32 @@ export declare function extractMemoryItems(sessionId: string, debrief: DebriefDa
67
67
  * @returns Summary of what was persisted
68
68
  */
69
69
  export declare function persistSessionMemory(projectRoot: string, sessionId: string, debrief: DebriefData | null | undefined): Promise<SessionMemoryResult>;
70
+ /**
71
+ * Build a summarization prompt from debrief data.
72
+ *
73
+ * Returns a formatted prompt string that guides an LLM to produce a structured
74
+ * session summary (key learnings, decisions, patterns, next actions). The result
75
+ * can be passed to an LLM or stored directly as a `memoryPrompt` in the session
76
+ * end result.
77
+ *
78
+ * Returns null when debrief contains no meaningful content to summarize.
79
+ *
80
+ * @param sessionId - The session ID to summarize.
81
+ * @param debrief - Rich debrief data from sessionComputeDebrief().
82
+ * @task T140 @epic T134
83
+ */
84
+ export declare function buildSummarizationPrompt(sessionId: string, debrief: DebriefData | null | undefined): string | null;
85
+ /**
86
+ * Ingest a structured session summary directly into brain.db.
87
+ *
88
+ * Stores each field as a typed brain observation. Best-effort — never throws.
89
+ *
90
+ * @param projectRoot - Absolute path to project root.
91
+ * @param sessionId - The session ID the summary belongs to.
92
+ * @param summary - Structured summary with key learnings, decisions, patterns, next actions.
93
+ * @task T140 @epic T134
94
+ */
95
+ export declare function ingestStructuredSummary(projectRoot: string, sessionId: string, summary: import('@cleocode/contracts').SessionSummaryInput): Promise<void>;
70
96
  /**
71
97
  * Retrieve session memory for a given scope.
72
98
  * Used by briefing/handoff to enrich response with brain context.
@@ -1 +1 @@
1
- {"version":3,"file":"session-memory.d.ts","sourceRoot":"","sources":["../../src/memory/session-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EAGrB,MAAM,sBAAsB,CAAC;AAM9B,uDAAuD;AACvD,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mFAAmF;IACnF,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,iDAAiD;AACjD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,oBAAoB,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,sCAAsC;IACtC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,8CAA8C;IAC9C,kBAAkB,EAAE,eAAe,EAAE,CAAC;IACtC,8CAA8C;IAC9C,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,4CAA4C;IAC5C,eAAe,EAAE,MAAM,CAAC;CACzB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACtC,UAAU,EAAE,CAuDd;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACtC,OAAO,CAAC,mBAAmB,CAAC,CAsE9B;AAMD;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9D,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GAClF,OAAO,CAAC,oBAAoB,CAAC,CA2E/B"}
1
+ {"version":3,"file":"session-memory.d.ts","sourceRoot":"","sources":["../../src/memory/session-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EAGrB,MAAM,sBAAsB,CAAC;AAM9B,uDAAuD;AACvD,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mFAAmF;IACnF,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,iDAAiD;AACjD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,oBAAoB,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,sCAAsC;IACtC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,8CAA8C;IAC9C,kBAAkB,EAAE,eAAe,EAAE,CAAC;IACtC,8CAA8C;IAC9C,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,4CAA4C;IAC5C,eAAe,EAAE,MAAM,CAAC;CACzB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACtC,UAAU,EAAE,CAuDd;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACtC,OAAO,CAAC,mBAAmB,CAAC,CAsE9B;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACtC,MAAM,GAAG,IAAI,CA0Cf;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,qBAAqB,EAAE,mBAAmB,GACzD,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAMD;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9D,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GAClF,OAAO,CAAC,oBAAoB,CAAC,CA2E/B"}