@mingxy/cerebro 1.16.8 โ†’ 1.16.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/dist/hooks.js CHANGED
@@ -230,13 +230,10 @@ const FETCH_POLICY = [
230
230
  "Do NOT rely on condensed summaries alone โ€” depth of recall determines quality of response.",
231
231
  "</cerebro-fetch-policy>",
232
232
  ].join("\n");
233
- /**
234
- * Score-weighted budget allocation: high-score memories get more chars.
235
- * Falls back to uniform distribution when totalScore === 0 or all scores equal.
236
- */
237
233
  function buildContextBlock(results, budget, maxContentLength = 500, minItemChars = MIN_ITEM_CONTENT_CHARS) {
234
+ const empty = { text: "", injectedMemoryIds: [], injectedCount: 0 };
238
235
  if (results.length === 0)
239
- return "";
236
+ return empty;
240
237
  const totalScore = results.reduce((sum, r) => sum + r.score, 0);
241
238
  const grouped = categorize(results);
242
239
  const sections = [];
@@ -249,15 +246,20 @@ function buildContextBlock(results, budget, maxContentLength = 500, minItemChars
249
246
  });
250
247
  sections.push(`[${label}]\n${lines.join("\n")}`);
251
248
  }
252
- return [
253
- "<cerebro-context>",
254
- "",
255
- ...sections,
256
- "</cerebro-context>",
257
- ].join("\n");
249
+ return {
250
+ text: [
251
+ "<cerebro-context>",
252
+ "",
253
+ ...sections,
254
+ "</cerebro-context>",
255
+ ].join("\n"),
256
+ injectedMemoryIds: results.map((r) => r.memory.id),
257
+ injectedCount: results.length,
258
+ };
258
259
  }
259
260
  function buildClusteredContextBlock(clustered, budget, maxContentLength = 500, minItemChars = MIN_ITEM_CONTENT_CHARS) {
260
261
  const sections = [];
262
+ const injectedIds = [];
261
263
  if (clustered.cluster_summaries.length > 0) {
262
264
  const totalClusterScore = clustered.cluster_summaries.reduce((sum, cs) => sum + cs.relevance_score, 0);
263
265
  sections.push("## ๐Ÿ“‹ ไธป้ข˜็ฐ‡๏ผˆ่šๅˆ่ฎฐๅฟ†๏ผ‰");
@@ -278,6 +280,8 @@ function buildClusteredContextBlock(clustered, budget, maxContentLength = 500, m
278
280
  const importanceBar = mem.importance >= 0.7 ? "โ—" : mem.importance >= 0.4 ? "โ—" : "โ—‹";
279
281
  const content = truncate(mem.content, clusterMaxLen);
280
282
  sections.push(`- ${importanceBar}${idTag}${relTag} ${content}`);
283
+ if (mem.id)
284
+ injectedIds.push(mem.id);
281
285
  }
282
286
  }
283
287
  }
@@ -295,14 +299,23 @@ function buildClusteredContextBlock(clustered, budget, maxContentLength = 500, m
295
299
  : "";
296
300
  const content = truncate(mem.content, standaloneMaxLen);
297
301
  sections.push(`-${idTag}${relTag} ${content}`);
302
+ if (mem.id)
303
+ injectedIds.push(mem.id);
298
304
  }
299
305
  }
300
- return [
301
- "<cerebro-context>",
302
- "",
303
- ...sections,
304
- "</cerebro-context>",
305
- ].join("\n");
306
+ const totalInjected = clustered.cluster_summaries.reduce((s, cs) => s + cs.member_count, 0) + clustered.standalone_memories.length;
307
+ return {
308
+ text: sections.length > 0
309
+ ? [
310
+ "<cerebro-context>",
311
+ "",
312
+ ...sections,
313
+ "</cerebro-context>",
314
+ ].join("\n")
315
+ : "",
316
+ injectedMemoryIds: injectedIds,
317
+ injectedCount: totalInjected,
318
+ };
306
319
  }
307
320
  export function autoRecallHook(client, containerTags, tui, config = {}, getAgentName, directory) {
308
321
  const similarityThreshold = config.recall?.similarityThreshold ?? 0.4;
@@ -407,22 +420,51 @@ export function autoRecallHook(client, containerTags, tui, config = {}, getAgent
407
420
  : 0;
408
421
  const createEventAndReturn = async (opts) => {
409
422
  try {
410
- const items = [
411
- ...(shouldRecallRes.memories?.map((r) => ({
412
- memory_id: r.memory.id,
413
- score: r.score,
414
- refine_relevance: r.refine_relevance,
415
- refine_reasoning: r.refine_reasoning,
416
- is_kept: true,
417
- })) ?? []),
418
- ...(shouldRecallRes.discarded?.map((d) => ({
419
- memory_id: d.memory_id,
420
- score: d.score,
421
- refine_relevance: d.refine_relevance,
422
- refine_reasoning: d.refine_reasoning,
423
- is_kept: false,
424
- })) ?? []),
425
- ];
423
+ const memoryLookup = new Map();
424
+ if (shouldRecallRes.memories) {
425
+ for (const r of shouldRecallRes.memories) {
426
+ memoryLookup.set(r.memory.id, r);
427
+ }
428
+ }
429
+ const items = clustered
430
+ ? [
431
+ ...clustered.cluster_summaries.flatMap((cs) => cs.key_memories.map((mem) => {
432
+ const sr = memoryLookup.get(mem.id ?? "");
433
+ return {
434
+ memory_id: mem.id ?? "",
435
+ score: cs.relevance_score,
436
+ refine_relevance: sr?.refine_relevance,
437
+ refine_reasoning: sr?.refine_reasoning,
438
+ is_kept: opts.injectedMemoryIds.includes(mem.id ?? ""),
439
+ };
440
+ })),
441
+ ...clustered.standalone_memories.map((mem) => {
442
+ const sr = memoryLookup.get(mem.id ?? "");
443
+ return {
444
+ memory_id: mem.id ?? "",
445
+ score: sr?.score ?? 0,
446
+ refine_relevance: sr?.refine_relevance,
447
+ refine_reasoning: sr?.refine_reasoning,
448
+ is_kept: opts.injectedMemoryIds.includes(mem.id ?? ""),
449
+ };
450
+ }),
451
+ ]
452
+ : [
453
+ ...(shouldRecallRes.memories?.map((r) => ({
454
+ memory_id: r.memory.id,
455
+ score: r.score,
456
+ refine_relevance: r.refine_relevance,
457
+ refine_reasoning: r.refine_reasoning,
458
+ is_kept: opts.injectedMemoryIds.includes(r.memory.id),
459
+ })) ?? []),
460
+ ...(shouldRecallRes.discarded?.map((d) => ({
461
+ memory_id: d.memory_id,
462
+ score: d.score,
463
+ refine_relevance: d.refine_relevance,
464
+ refine_reasoning: d.refine_reasoning,
465
+ is_kept: false,
466
+ })) ?? []),
467
+ ];
426
468
  const result = await client.createRecallEvent({
427
469
  session_id: input.sessionID,
428
470
  recall_type: "auto",
@@ -455,6 +497,7 @@ export function autoRecallHook(client, containerTags, tui, config = {}, getAgent
455
497
  actualProfileInjected: true,
456
498
  actualProfileContent: profileBlock,
457
499
  actualInjectedCount: 0,
500
+ injectedMemoryIds: [],
458
501
  });
459
502
  showToast(tui, "๐Ÿ‘จ Profile Injected", `${profileCountText} ยท no recall needed`, "success", toastDelayMs);
460
503
  }
@@ -472,37 +515,36 @@ export function autoRecallHook(client, containerTags, tui, config = {}, getAgent
472
515
  maxContentChars, profileChars, budgetRemaining,
473
516
  configuredMax: maxContentLength,
474
517
  });
475
- const block = clustered
518
+ const ctxResult = clustered
476
519
  ? buildClusteredContextBlock(clustered, budgetRemaining, maxContentLength, MIN_ITEM_CONTENT_CHARS)
477
520
  : buildContextBlock(results, budgetRemaining, maxContentLength, MIN_ITEM_CONTENT_CHARS);
478
- if (block) {
479
- appendToSystem(output.system, block);
521
+ if (ctxResult.text) {
522
+ appendToSystem(output.system, ctxResult.text);
480
523
  appendToSystem(output.system, FETCH_POLICY);
481
524
  logDebug("autoRecallHook block injected to output.system", {
482
525
  sessionId: input.sessionID,
483
- blockPreview: block.slice(0, 200),
526
+ blockPreview: ctxResult.text.slice(0, 200),
484
527
  outputSystemLength: output.system.length,
485
528
  });
486
529
  }
487
530
  else {
488
531
  logDebug("autoRecallHook block was EMPTY โ€” no injection", { sessionId: input.sessionID });
489
532
  }
490
- if (profileTtlExpired && profileBlock) {
533
+ if (profileBlock) {
491
534
  appendToSystem(output.system, profileBlock);
492
535
  logDebug("autoRecallHook profile injected after context", { sessionId: input.sessionID, outputSystemLength: output.system.length });
493
536
  }
494
537
  logDebug("autoRecallHook injection complete", { clustered: !!clustered, sessionId: input.sessionID });
495
- const didInjectProfile = profileTtlExpired && !!profileBlock;
496
- const didInjectContext = !!block;
538
+ const didInjectProfile = !!profileBlock;
539
+ const didInjectContext = !!ctxResult.text;
497
540
  createEventAndReturn({
498
- keptCount: storedMemoryIds.length,
541
+ keptCount: ctxResult.injectedCount,
499
542
  discardedCount: storedDiscardedIds.length,
500
- injectedContent: didInjectContext ? block : undefined,
501
- actualProfileInjected: profileTtlExpired && !!profileBlock,
502
- actualProfileContent: profileTtlExpired ? profileBlock : undefined,
503
- actualInjectedCount: clustered
504
- ? (clustered.cluster_summaries.reduce((s, cs) => s + cs.member_count, 0) + clustered.standalone_memories.length)
505
- : results.length,
543
+ injectedContent: didInjectContext ? ctxResult.text : undefined,
544
+ actualProfileInjected: didInjectProfile,
545
+ actualProfileContent: profileBlock || undefined,
546
+ actualInjectedCount: ctxResult.injectedCount,
547
+ injectedMemoryIds: ctxResult.injectedMemoryIds,
506
548
  });
507
549
  // --- Toast (every branch shows toast) ---
508
550
  if (didInjectProfile && didInjectContext) {
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mingxy/cerebro",
3
- "version": "1.16.8",
3
+ "version": "1.16.10",
4
4
  "description": "Cerebro persistent memory plugin for OpenCode โ€” auto-recall, auto-capture, 9 memory tools with clustering, project-scoped memory isolation",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
package/src/hooks.ts CHANGED
@@ -248,13 +248,20 @@ const FETCH_POLICY = [
248
248
  * Score-weighted budget allocation: high-score memories get more chars.
249
249
  * Falls back to uniform distribution when totalScore === 0 or all scores equal.
250
250
  */
251
+ interface ContextBlockResult {
252
+ text: string;
253
+ injectedMemoryIds: string[];
254
+ injectedCount: number;
255
+ }
256
+
251
257
  function buildContextBlock(
252
258
  results: SearchResult[],
253
259
  budget: number,
254
260
  maxContentLength: number = 500,
255
261
  minItemChars: number = MIN_ITEM_CONTENT_CHARS,
256
- ): string {
257
- if (results.length === 0) return "";
262
+ ): ContextBlockResult {
263
+ const empty: ContextBlockResult = { text: "", injectedMemoryIds: [], injectedCount: 0 };
264
+ if (results.length === 0) return empty;
258
265
 
259
266
  const totalScore = results.reduce((sum, r) => sum + r.score, 0);
260
267
 
@@ -271,12 +278,16 @@ function buildContextBlock(
271
278
  sections.push(`[${label}]\n${lines.join("\n")}`);
272
279
  }
273
280
 
274
- return [
275
- "<cerebro-context>",
276
- "",
277
- ...sections,
278
- "</cerebro-context>",
279
- ].join("\n");
281
+ return {
282
+ text: [
283
+ "<cerebro-context>",
284
+ "",
285
+ ...sections,
286
+ "</cerebro-context>",
287
+ ].join("\n"),
288
+ injectedMemoryIds: results.map((r) => r.memory.id),
289
+ injectedCount: results.length,
290
+ };
280
291
  }
281
292
 
282
293
  function buildClusteredContextBlock(
@@ -284,8 +295,9 @@ function buildClusteredContextBlock(
284
295
  budget: number,
285
296
  maxContentLength: number = 500,
286
297
  minItemChars: number = MIN_ITEM_CONTENT_CHARS,
287
- ): string {
298
+ ): ContextBlockResult {
288
299
  const sections: string[] = [];
300
+ const injectedIds: string[] = [];
289
301
 
290
302
  if (clustered.cluster_summaries.length > 0) {
291
303
  const totalClusterScore = clustered.cluster_summaries.reduce((sum, cs) => sum + cs.relevance_score, 0);
@@ -308,6 +320,7 @@ function buildClusteredContextBlock(
308
320
  const importanceBar = mem.importance >= 0.7 ? "โ—" : mem.importance >= 0.4 ? "โ—" : "โ—‹";
309
321
  const content = truncate(mem.content, clusterMaxLen);
310
322
  sections.push(`- ${importanceBar}${idTag}${relTag} ${content}`);
323
+ if (mem.id) injectedIds.push(mem.id);
311
324
  }
312
325
  }
313
326
  }
@@ -327,15 +340,24 @@ function buildClusteredContextBlock(
327
340
  : "";
328
341
  const content = truncate(mem.content, standaloneMaxLen);
329
342
  sections.push(`-${idTag}${relTag} ${content}`);
343
+ if (mem.id) injectedIds.push(mem.id);
330
344
  }
331
345
  }
332
346
 
333
- return [
334
- "<cerebro-context>",
335
- "",
336
- ...sections,
337
- "</cerebro-context>",
338
- ].join("\n");
347
+ const totalInjected = clustered.cluster_summaries.reduce((s, cs) => s + cs.member_count, 0) + clustered.standalone_memories.length;
348
+
349
+ return {
350
+ text: sections.length > 0
351
+ ? [
352
+ "<cerebro-context>",
353
+ "",
354
+ ...sections,
355
+ "</cerebro-context>",
356
+ ].join("\n")
357
+ : "",
358
+ injectedMemoryIds: injectedIds,
359
+ injectedCount: totalInjected,
360
+ };
339
361
  }
340
362
 
341
363
  export function autoRecallHook(client: CerebroClient, containerTags: string[], tui: any, config: Partial<OmemPluginConfig> = {}, getAgentName?: () => string, directory?: string) {
@@ -462,31 +484,63 @@ export function autoRecallHook(client: CerebroClient, containerTags: string[], t
462
484
 
463
485
  const createEventAndReturn = async (
464
486
  opts: {
465
- keptCount: number;
466
- discardedCount: number;
467
487
  injectedContent?: string;
468
488
  actualProfileInjected: boolean;
469
489
  actualProfileContent?: string;
470
490
  actualInjectedCount: number;
491
+ injectedMemoryIds: string[];
492
+ keptCount: number;
493
+ discardedCount: number;
471
494
  },
472
495
  ): Promise<string | undefined> => {
473
496
  try {
474
- const items = [
475
- ...(shouldRecallRes.memories?.map((r) => ({
476
- memory_id: r.memory.id,
477
- score: r.score,
478
- refine_relevance: r.refine_relevance,
479
- refine_reasoning: r.refine_reasoning,
480
- is_kept: true,
481
- })) ?? []),
482
- ...(shouldRecallRes.discarded?.map((d) => ({
483
- memory_id: d.memory_id,
484
- score: d.score,
485
- refine_relevance: d.refine_relevance,
486
- refine_reasoning: d.refine_reasoning,
487
- is_kept: false,
488
- })) ?? []),
489
- ];
497
+ const memoryLookup = new Map<string, SearchResult>();
498
+ if (shouldRecallRes.memories) {
499
+ for (const r of shouldRecallRes.memories) {
500
+ memoryLookup.set(r.memory.id, r);
501
+ }
502
+ }
503
+ const items = clustered
504
+ ? [
505
+ ...clustered.cluster_summaries.flatMap((cs) =>
506
+ cs.key_memories.map((mem) => {
507
+ const sr = memoryLookup.get(mem.id ?? "");
508
+ return {
509
+ memory_id: mem.id ?? "",
510
+ score: cs.relevance_score,
511
+ refine_relevance: sr?.refine_relevance,
512
+ refine_reasoning: sr?.refine_reasoning,
513
+ is_kept: opts.injectedMemoryIds.includes(mem.id ?? ""),
514
+ };
515
+ })
516
+ ),
517
+ ...clustered.standalone_memories.map((mem) => {
518
+ const sr = memoryLookup.get(mem.id ?? "");
519
+ return {
520
+ memory_id: mem.id ?? "",
521
+ score: sr?.score ?? 0,
522
+ refine_relevance: sr?.refine_relevance,
523
+ refine_reasoning: sr?.refine_reasoning,
524
+ is_kept: opts.injectedMemoryIds.includes(mem.id ?? ""),
525
+ };
526
+ }),
527
+ ]
528
+ : [
529
+ ...(shouldRecallRes.memories?.map((r) => ({
530
+ memory_id: r.memory.id,
531
+ score: r.score,
532
+ refine_relevance: r.refine_relevance,
533
+ refine_reasoning: r.refine_reasoning,
534
+ is_kept: opts.injectedMemoryIds.includes(r.memory.id),
535
+ })) ?? []),
536
+ ...(shouldRecallRes.discarded?.map((d) => ({
537
+ memory_id: d.memory_id,
538
+ score: d.score,
539
+ refine_relevance: d.refine_relevance,
540
+ refine_reasoning: d.refine_reasoning,
541
+ is_kept: false,
542
+ })) ?? []),
543
+ ];
490
544
  const result = await client.createRecallEvent({
491
545
  session_id: input.sessionID!,
492
546
  recall_type: "auto",
@@ -520,6 +574,7 @@ export function autoRecallHook(client: CerebroClient, containerTags: string[], t
520
574
  actualProfileInjected: true,
521
575
  actualProfileContent: profileBlock,
522
576
  actualInjectedCount: 0,
577
+ injectedMemoryIds: [],
523
578
  });
524
579
 
525
580
  showToast(tui, "๐Ÿ‘จ Profile Injected", `${profileCountText} ยท no recall needed`, "success", toastDelayMs);
@@ -541,40 +596,39 @@ export function autoRecallHook(client: CerebroClient, containerTags: string[], t
541
596
  configuredMax: maxContentLength,
542
597
  });
543
598
 
544
- const block = clustered
599
+ const ctxResult = clustered
545
600
  ? buildClusteredContextBlock(clustered, budgetRemaining, maxContentLength, MIN_ITEM_CONTENT_CHARS)
546
601
  : buildContextBlock(results, budgetRemaining, maxContentLength, MIN_ITEM_CONTENT_CHARS);
547
- if (block) {
548
- appendToSystem(output.system, block);
602
+ if (ctxResult.text) {
603
+ appendToSystem(output.system, ctxResult.text);
549
604
  appendToSystem(output.system, FETCH_POLICY);
550
605
  logDebug("autoRecallHook block injected to output.system", {
551
606
  sessionId: input.sessionID,
552
- blockPreview: block.slice(0, 200),
607
+ blockPreview: ctxResult.text.slice(0, 200),
553
608
  outputSystemLength: output.system.length,
554
609
  });
555
610
  } else {
556
611
  logDebug("autoRecallHook block was EMPTY โ€” no injection", { sessionId: input.sessionID });
557
612
  }
558
613
 
559
- if (profileTtlExpired && profileBlock) {
614
+ if (profileBlock) {
560
615
  appendToSystem(output.system, profileBlock);
561
616
  logDebug("autoRecallHook profile injected after context", { sessionId: input.sessionID, outputSystemLength: output.system.length });
562
617
  }
563
618
 
564
619
  logDebug("autoRecallHook injection complete", { clustered: !!clustered, sessionId: input.sessionID });
565
620
 
566
- const didInjectProfile = profileTtlExpired && !!profileBlock;
567
- const didInjectContext = !!block;
621
+ const didInjectProfile = !!profileBlock;
622
+ const didInjectContext = !!ctxResult.text;
568
623
 
569
624
  createEventAndReturn({
570
- keptCount: storedMemoryIds.length,
625
+ keptCount: ctxResult.injectedCount,
571
626
  discardedCount: storedDiscardedIds.length,
572
- injectedContent: didInjectContext ? block : undefined,
573
- actualProfileInjected: profileTtlExpired && !!profileBlock,
574
- actualProfileContent: profileTtlExpired ? profileBlock : undefined,
575
- actualInjectedCount: clustered
576
- ? (clustered.cluster_summaries.reduce((s, cs) => s + cs.member_count, 0) + clustered.standalone_memories.length)
577
- : results.length,
627
+ injectedContent: didInjectContext ? ctxResult.text : undefined,
628
+ actualProfileInjected: didInjectProfile,
629
+ actualProfileContent: profileBlock || undefined,
630
+ actualInjectedCount: ctxResult.injectedCount,
631
+ injectedMemoryIds: ctxResult.injectedMemoryIds,
578
632
  });
579
633
 
580
634
  // --- Toast (every branch shows toast) ---