@framers/agentos 0.1.181 → 0.1.182

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 (58) hide show
  1. package/README.md +101 -0
  2. package/dist/api/agent.d.ts +24 -0
  3. package/dist/api/agent.d.ts.map +1 -1
  4. package/dist/api/agent.js.map +1 -1
  5. package/dist/core/validation/ValidatedLlmInvoker.d.ts +80 -0
  6. package/dist/core/validation/ValidatedLlmInvoker.d.ts.map +1 -0
  7. package/dist/core/validation/ValidatedLlmInvoker.js +176 -0
  8. package/dist/core/validation/ValidatedLlmInvoker.js.map +1 -0
  9. package/dist/core/validation/errors.d.ts +53 -0
  10. package/dist/core/validation/errors.d.ts.map +1 -0
  11. package/dist/core/validation/errors.js +42 -0
  12. package/dist/core/validation/errors.js.map +1 -0
  13. package/dist/core/validation/extractJson.d.ts +35 -0
  14. package/dist/core/validation/extractJson.d.ts.map +1 -0
  15. package/dist/core/validation/extractJson.js +179 -0
  16. package/dist/core/validation/extractJson.js.map +1 -0
  17. package/dist/core/validation/index.d.ts +14 -0
  18. package/dist/core/validation/index.d.ts.map +1 -0
  19. package/dist/core/validation/index.js +14 -0
  20. package/dist/core/validation/index.js.map +1 -0
  21. package/dist/core/validation/schema-primitives.d.ts +132 -0
  22. package/dist/core/validation/schema-primitives.d.ts.map +1 -0
  23. package/dist/core/validation/schema-primitives.js +141 -0
  24. package/dist/core/validation/schema-primitives.js.map +1 -0
  25. package/dist/memory/AgentMemory.d.ts +118 -1
  26. package/dist/memory/AgentMemory.d.ts.map +1 -1
  27. package/dist/memory/AgentMemory.js +388 -0
  28. package/dist/memory/AgentMemory.js.map +1 -1
  29. package/dist/memory/CognitiveMemoryManager.d.ts +44 -0
  30. package/dist/memory/CognitiveMemoryManager.d.ts.map +1 -1
  31. package/dist/memory/CognitiveMemoryManager.js +131 -5
  32. package/dist/memory/CognitiveMemoryManager.js.map +1 -1
  33. package/dist/memory/core/config.d.ts +49 -9
  34. package/dist/memory/core/config.d.ts.map +1 -1
  35. package/dist/memory/core/config.js +13 -0
  36. package/dist/memory/core/config.js.map +1 -1
  37. package/dist/memory/core/prompt/MemoryPromptAssembler.d.ts.map +1 -1
  38. package/dist/memory/core/prompt/MemoryPromptAssembler.js +59 -5
  39. package/dist/memory/core/prompt/MemoryPromptAssembler.js.map +1 -1
  40. package/dist/memory/core/types.d.ts +97 -0
  41. package/dist/memory/core/types.d.ts.map +1 -1
  42. package/dist/memory/pipeline/observation/MemoryReflector.d.ts +28 -1
  43. package/dist/memory/pipeline/observation/MemoryReflector.d.ts.map +1 -1
  44. package/dist/memory/pipeline/observation/MemoryReflector.js +80 -8
  45. package/dist/memory/pipeline/observation/MemoryReflector.js.map +1 -1
  46. package/dist/memory/retrieval/hyde/MemoryHydeRetriever.d.ts +69 -0
  47. package/dist/memory/retrieval/hyde/MemoryHydeRetriever.d.ts.map +1 -0
  48. package/dist/memory/retrieval/hyde/MemoryHydeRetriever.js +97 -0
  49. package/dist/memory/retrieval/hyde/MemoryHydeRetriever.js.map +1 -0
  50. package/dist/memory/retrieval/store/MemoryStore.d.ts +15 -0
  51. package/dist/memory/retrieval/store/MemoryStore.d.ts.map +1 -1
  52. package/dist/memory/retrieval/store/MemoryStore.js +67 -0
  53. package/dist/memory/retrieval/store/MemoryStore.js.map +1 -1
  54. package/dist/memory/retrieval/store/SqliteBrain.d.ts +7 -0
  55. package/dist/memory/retrieval/store/SqliteBrain.d.ts.map +1 -1
  56. package/dist/memory/retrieval/store/SqliteBrain.js +39 -0
  57. package/dist/memory/retrieval/store/SqliteBrain.js.map +1 -1
  58. package/package.json +1 -1
@@ -10,7 +10,7 @@
10
10
  * @module agentos/memory/CognitiveMemoryManager
11
11
  */
12
12
  import { uuid } from './core/util/crossPlatformCrypto.js';
13
- import { DEFAULT_ENCODING_CONFIG, DEFAULT_DECAY_CONFIG, } from './core/config.js';
13
+ import { DEFAULT_ENCODING_CONFIG, DEFAULT_DECAY_CONFIG, DEFAULT_GRAPH_CONFIG, } from './core/config.js';
14
14
  import { computeEncodingStrength, buildEmotionalContext } from './core/encoding/EncodingModel.js';
15
15
  import { createFeatureDetector, } from './core/encoding/ContentFeatureDetector.js';
16
16
  import { computeCurrentStrength } from './core/decay/DecayModel.js';
@@ -66,7 +66,8 @@ export class CognitiveMemoryManager {
66
66
  const { CognitiveMechanismsEngine } = await import('./mechanisms/CognitiveMechanismsEngine.js');
67
67
  this.mechanismsEngine = new CognitiveMechanismsEngine(config.cognitiveMechanisms, config.traits);
68
68
  }
69
- // Memory store
69
+ // Memory store — in-memory vector index for fast reads, with optional
70
+ // SqliteBrain write-through for durable persistence across restarts.
70
71
  this.store = new MemoryStore({
71
72
  vectorStore: config.vectorStore,
72
73
  embeddingManager: config.embeddingManager,
@@ -76,6 +77,11 @@ export class CognitiveMemoryManager {
76
77
  mechanismsEngine: this.mechanismsEngine ?? undefined,
77
78
  moodProvider: config.moodProvider,
78
79
  });
80
+ // Attach SqliteBrain for durable write-through when configured.
81
+ // All store/softDelete/recordAccess operations mirror to SQL.
82
+ if (config.brain) {
83
+ this.store.setBrain(config.brain);
84
+ }
79
85
  // Cognitive working memory (wraps the existing IWorkingMemory)
80
86
  this.workingMemory = new CognitiveWorkingMemory(config.workingMemory, {
81
87
  baseCapacity: config.workingMemoryCapacity ?? 7,
@@ -91,9 +97,13 @@ export class CognitiveMemoryManager {
91
97
  });
92
98
  // Feature detector
93
99
  this.featureDetector = createFeatureDetector(config.featureDetectionStrategy, config.featureDetectionLlmInvoker);
94
- // --- Batch 2: Memory Graph ---
95
- if (config.graph) {
96
- const backend = config.graph.backend ?? 'knowledge-graph';
100
+ // --- Memory Graph (enabled by default, opt-out via disabled: true) ---
101
+ // The knowledge graph powers spreading activation (Collins & Quillian model),
102
+ // Hebbian co-activation learning ("neurons that fire together wire together"),
103
+ // and graph-boosted retrieval scoring. It is fundamental to associative memory.
104
+ if (config.graph?.disabled !== true) {
105
+ const graphConfig = { ...DEFAULT_GRAPH_CONFIG, ...config.graph };
106
+ const backend = graphConfig.backend;
97
107
  if (backend === 'graphology') {
98
108
  this.graph = new GraphologyMemoryGraph();
99
109
  }
@@ -159,6 +169,18 @@ export class CognitiveMemoryManager {
159
169
  });
160
170
  }
161
171
  }
172
+ // --- HyDE Retriever (auto-attached when any LLM invoker is available) ---
173
+ // Generates hypothetical memory traces for improved recall on vague queries.
174
+ // Opt-in per query via retrieve({ hyde: true }). Based on the "generation
175
+ // effect" — generating what a memory WOULD look like activates retrieval
176
+ // pathways more effectively than raw query embedding.
177
+ const anyLlmInvoker = config.reflector?.llmInvoker
178
+ ?? config.observer?.llmInvoker
179
+ ?? config.featureDetectionLlmInvoker;
180
+ if (anyLlmInvoker && !this.hydeRetriever) {
181
+ const { MemoryHydeRetriever } = await import('./retrieval/hyde/MemoryHydeRetriever.js');
182
+ this.hydeRetriever = new MemoryHydeRetriever(anyLlmInvoker);
183
+ }
162
184
  this.initialized = true;
163
185
  }
164
186
  // =========================================================================
@@ -368,9 +390,60 @@ export class CognitiveMemoryManager {
368
390
  };
369
391
  return assembleMemoryContext(input);
370
392
  }
393
+ /**
394
+ * Infer the prospective trigger type from an observation note's content.
395
+ * Uses regex heuristics — no LLM call needed.
396
+ *
397
+ * Priority: temporal patterns (most specific) → event patterns → context-based fallback.
398
+ *
399
+ * @param note - The observation note to classify
400
+ * @returns The most likely trigger type for ProspectiveMemoryManager
401
+ */
402
+ inferTriggerType(note) {
403
+ for (const pattern of CognitiveMemoryManager.TEMPORAL_PATTERNS) {
404
+ if (pattern.test(note.content))
405
+ return 'time_based';
406
+ }
407
+ for (const pattern of CognitiveMemoryManager.EVENT_PATTERNS) {
408
+ if (pattern.test(note.content))
409
+ return 'event_based';
410
+ }
411
+ // Default: context-based — fires when topic becomes relevant via embedding similarity
412
+ return 'context_based';
413
+ }
414
+ /**
415
+ * Extract an event cue string from "when X" / "after X" patterns.
416
+ * Returns undefined if no event language is detected.
417
+ *
418
+ * @param note - The observation note to extract from
419
+ * @returns Event cue string, or undefined
420
+ */
421
+ extractEventCue(note) {
422
+ for (const pattern of CognitiveMemoryManager.EVENT_PATTERNS) {
423
+ const match = note.content.match(pattern);
424
+ if (match)
425
+ return match[1] ?? match[2];
426
+ }
427
+ return undefined;
428
+ }
371
429
  // =========================================================================
372
430
  // Batch 2: Observer
373
431
  // =========================================================================
432
+ /**
433
+ * Feed a conversation message to the observation pipeline.
434
+ *
435
+ * Pipeline flow:
436
+ * 1. Observer extracts typed observation notes from buffered messages
437
+ * 2. Notes are fed to the Reflector for consolidation into long-term traces
438
+ * 3. Reflected traces are encoded via `encode()` (typed as semantic/episodic/etc.)
439
+ * 4. Superseded traces are soft-deleted
440
+ * 5. Commitment and intention notes are auto-registered with ProspectiveMemoryManager
441
+ *
442
+ * @param role - Message role (user, assistant, system, tool)
443
+ * @param content - Message text content
444
+ * @param mood - Optional PAD emotional state at observation time
445
+ * @returns Observation notes if threshold was reached, null otherwise
446
+ */
374
447
  async observe(role, content, mood) {
375
448
  if (!this.observer)
376
449
  return null;
@@ -396,6 +469,35 @@ export class CognitiveMemoryManager {
396
469
  }
397
470
  }
398
471
  }
472
+ // Auto-register commitment and intention notes as prospective memory items.
473
+ // Commitment notes above 0.5 importance represent real intentions, not hedging
474
+ // ("maybe I'll..." vs "I will..."). Preference notes expressing future desire
475
+ // also register as low-priority context-based items so they surface naturally
476
+ // when the topic comes up again.
477
+ if (notes && notes.length > 0 && this.prospective) {
478
+ for (const note of notes) {
479
+ const isCommitment = note.type === 'commitment' && note.importance >= 0.5;
480
+ const isFuturePreference = note.type === 'preference' && note.importance >= 0.6
481
+ && /\b(love to|want to|been meaning to|plan to|going to|hope to)\b/i.test(note.content);
482
+ if (isCommitment || isFuturePreference) {
483
+ const triggerType = this.inferTriggerType(note);
484
+ try {
485
+ await this.prospective.register({
486
+ content: note.content,
487
+ triggerType,
488
+ triggerEvent: triggerType === 'event_based' ? this.extractEventCue(note) : undefined,
489
+ cueText: note.content,
490
+ // Future preferences get a lower importance than explicit commitments
491
+ importance: isFuturePreference ? note.importance * 0.7 : note.importance,
492
+ recurring: false,
493
+ });
494
+ }
495
+ catch {
496
+ // Prospective registration is non-critical — don't fail the observe() call
497
+ }
498
+ }
499
+ }
500
+ }
399
501
  return notes;
400
502
  }
401
503
  // =========================================================================
@@ -594,4 +696,28 @@ export class CognitiveMemoryManager {
594
696
  }
595
697
  }
596
698
  }
699
+ // =========================================================================
700
+ // Prospective auto-registration helpers
701
+ // =========================================================================
702
+ /**
703
+ * Temporal patterns for extracting time-based triggers from observation notes.
704
+ * Matches relative expressions ("tomorrow", "next Friday", "in 2 hours")
705
+ * and absolute expressions ("on March 5th", "at 3pm").
706
+ */
707
+ CognitiveMemoryManager.TEMPORAL_PATTERNS = [
708
+ /\b(tomorrow|tonight|next\s+(week|month|monday|tuesday|wednesday|thursday|friday|saturday|sunday))\b/i,
709
+ /\b(in\s+\d+\s+(hours?|days?|weeks?|minutes?))\b/i,
710
+ /\b(on\s+(january|february|march|april|may|june|july|august|september|october|november|december)\s+\d+)/i,
711
+ /\b(at\s+\d{1,2}(:\d{2})?\s*(am|pm)?)\b/i,
712
+ /\b(\d{4}-\d{2}-\d{2})\b/,
713
+ ];
714
+ /**
715
+ * Event-based patterns for extracting event triggers from observation notes.
716
+ * Matches conditional language ("when X happens", "after the meeting").
717
+ */
718
+ CognitiveMemoryManager.EVENT_PATTERNS = [
719
+ /\bwhen\s+(.{3,40}?)\s*(happens?|occurs?|starts?|ends?|finishes?|completes?)\b/i,
720
+ /\bafter\s+(the\s+)?(.{3,30})\b/i,
721
+ /\bonce\s+(.{3,30})\s+(is|are|has|have)\b/i,
722
+ ];
597
723
  //# sourceMappingURL=CognitiveMemoryManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CognitiveMemoryManager.js","sourceRoot":"","sources":["../../src/memory/CognitiveMemoryManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAa1D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GAErB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAClG,OAAO,EACL,qBAAqB,GAEtB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EACL,qBAAqB,GAEtB,MAAM,wCAAwC,CAAC;AAIhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAwB,MAAM,0CAA0C,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EACL,wBAAwB,GAEzB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EACL,qBAAqB,GAEtB,MAAM,mDAAmD,CAAC;AAE3D,4BAA4B;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAoHlF,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,eAAe;IACtB,OAAO,MAAM,IAAI,EAAE,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,OAAO,sBAAsB;IAAnC;QAKU,gBAAW,GAAG,KAAK,CAAC;QAE5B,6BAA6B;QACrB,UAAK,GAAwB,IAAI,CAAC;QAClC,aAAQ,GAA0B,IAAI,CAAC;QACvC,cAAS,GAA2B,IAAI,CAAC;QACzC,gBAAW,GAAoC,IAAI,CAAC;QACpD,kBAAa,GAAiC,IAAI,CAAC;QAE3D,uCAAuC;QAC/B,kBAAa,GAAgC,IAAI,CAAC;QAE1D,kCAAkC;QAC1B,qBAAgB,GAAyF,IAAI,CAAC;QAEtH;;;;;;;WAOG;QACK,kBAAa,GAAyB,IAAI,CAAC;IAorBrD,CAAC;IAlrBC,KAAK,CAAC,UAAU,CAAC,MAA6B;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,gFAAgF;QAChF,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC/B,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,2CAA2C,CAAC,CAAC;YAChG,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAyB,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACnG,CAAC;QAED,eAAe;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC;YAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,QAAQ;YACrD,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,oBAAoB,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;YACpF,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,SAAS;YACpD,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC,CAAC;QAEH,+DAA+D;QAC/D,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,aAAa,EAAE;YACpE,YAAY,EAAE,MAAM,CAAC,qBAAqB,IAAI,CAAC;YAC/C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,mBAAmB,EAAE,GAAG;YACxB,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAC7B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACxB,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,mBAAmB;QACnB,IAAI,CAAC,eAAe,GAAG,qBAAqB,CAC1C,MAAM,CAAC,wBAAwB,EAC/B,MAAM,CAAC,0BAA0B,CAClC,CAAC;QAEF,gCAAgC;QAChC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,iBAAiB,CAAC;YAC1D,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAqB,EAAE,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,GAAG,IAAI,yBAAyB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACpE,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAChC,CAAC;QAED,4BAA4B;QAC5B,IAAI,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrE,CAAC;QAED,6BAA6B;QAC7B,IAAI,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACxE,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,wBAAwB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEzE,0CAA0C;QAC1C,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,aAAa,GAAG,IAAI,qBAAqB,CAAC;gBAC7C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;gBAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,IAAI,MAAM,CAAC,0BAA0B;gBAC7E,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,SAAS;aACrD,CAAC,CAAC;YACH,oCAAoC;YACpC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;QAED,2CAA2C;QAC3C,IAAI,MAAM,CAAC,eAAe,EAAE,OAAO,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU;mBAC/C,MAAM,CAAC,SAAS,EAAE,UAAU;mBAC5B,MAAM,CAAC,QAAQ,EAAE,UAAU;mBAC3B,MAAM,CAAC,0BAA0B,CAAC;YAEvC,IAAI,UAAU,EAAE,CAAC;gBACf,gEAAgE;gBAChE,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE,CAC7C,UAAU,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;gBAE3D,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAoB,CAAC;oBAC5C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;oBACzC,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,UAAU,EAAE,mBAAmB;oBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS;oBACpC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,SAAS;oBACtC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;wBAChC,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;4BAC7B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gCACpB,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;gCACnC,MAAM,IAAI,CAAC,MAAM,CACf,OAAO,CAAC,OAAO,EACf,IAAI,EACJ,SAAS,EACT;oCACE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,UAAU;oCAChC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,MAAM;oCAC9B,UAAU,EAAE,YAAY;oCACxB,IAAI,EAAE,OAAO,CAAC,IAAI;oCAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;iCAC3B,CACF,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,4EAA4E;IAC5E,SAAS;IACT,4EAA4E;IAE5E,KAAK,CAAC,MAAM,CACV,KAAa,EACb,IAAc,EACd,OAAe,EACf,UAQI,EAAE;QAEN,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,cAAc,GAAG,EAAE,GAAG,uBAAuB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE/E,0BAA0B;QAC1B,MAAM,QAAQ,GAAoB,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE3E,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,uBAAuB,CACtC,IAAI,EACJ,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,QAAQ,EACR,OAAO,CAAC,gBAAgB,IAAI,CAAC,EAC7B,cAAc,CACf,CAAC;QAEF,0BAA0B;QAC1B,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAExF,eAAe;QACf,MAAM,KAAK,GAAgB;YACzB,EAAE,EAAE,eAAe,EAAE;YACrB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,UAAU;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,MAAM;YAC9B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YAC/C,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;YACxB,UAAU,EAAE;gBACV,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,gBAAgB;gBAClD,eAAe,EAAE,GAAG;gBACpB,UAAU,EAAE,GAAG;gBACf,iBAAiB,EAAE,CAAC;aACrB;YACD,gBAAgB;YAChB,gBAAgB,EAAE,QAAQ,CAAC,eAAe;YAC1C,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,GAAG;YACnB,WAAW,EAAE,CAAC;YACd,qBAAqB,EAAE,OAAS;YAChC,kBAAkB,EAAE,EAAE;YACtB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,QAAQ,EAAE,IAAI;SACf,CAAC;QAEF,sFAAsF;QACtF,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxF,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;YAAC,MAAM,CAAC;gBACP,gDAAgD;YAClD,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE9B,wBAAwB;QACxB,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;QAEnE,4CAA4C;QAC5C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE;gBACjC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,gBAAgB;gBAChC,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4EAA4E;IAC5E,WAAW;IACX,4EAA4E;IAE5E,KAAK,CAAC,QAAQ,CACZ,KAAa,EACb,IAAc,EACd,UAAqC,EAAE;QAEvC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,gEAAgE;QAChE,gEAAgE;QAChE,uEAAuE;QACvE,qEAAqE;QACrE,oCAAoC;QACpC,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAC5D,0BAA0B,KAAK,EAAE,CAClC,CAAC;gBACF,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;oBAC1B,cAAc,GAAG,UAAU,CAAC,UAAU,CAAC;gBACzC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,+DAA+D;YACjE,CAAC;QACH,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAElF,wCAAwC;QACxC,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE;oBAC9D,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ;oBACrC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW;oBAC3C,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,mBAAmB;iBAC5D,CAAC,CAAC;gBAEH,kDAAkD;gBAClD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzD,IAAI,KAAK,EAAE,CAAC;wBACV,KAAK,CAAC,cAAc,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC;wBAC5D,mDAAmD;wBACnD,MAAM,CAAC,GAAG;4BACR,QAAQ,EAAE,IAAI;4BACd,UAAU,EAAE,IAAI;4BAChB,OAAO,EAAE,GAAG;4BACZ,mBAAmB,EAAE,IAAI;4BACzB,eAAe,EAAE,GAAG;4BACpB,UAAU,EAAE,IAAI;yBACjB,CAAC;wBACF,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,CAAC,EACD,IAAI,CAAC,GAAG,CACN,CAAC,EACD,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,aAAa;4BAC7C,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,eAAe;4BACnD,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,YAAY;4BAC7C,CAAC,CAAC,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,wBAAwB;4BACrE,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU;4BACnC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,eAAe,CACtD,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,4CAA4C;gBAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC;gBAE3D,4CAA4C;gBAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CACjC,YAAY,EACZ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,mBAAmB,IAAI,GAAG,CAC9C,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;YACtC,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QACjE,CAAC;QAED,6CAA6C;QAC7C,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QAE5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAEzC,OAAO;YACL,SAAS,EAAE,MAAM;YACjB,kBAAkB,EAAE,OAAO;YAC3B,WAAW,EAAE;gBACX,iBAAiB,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;gBACjD,kBAAkB,EAAE,SAAS;gBAC7B,aAAa,EAAE,CAAC;gBAChB,WAAW,EAAE,SAAS;aACvB;SACF,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,sBAAsB;IACtB,4EAA4E;IAE5E,KAAK,CAAC,iBAAiB,CACrB,KAAa,EACb,WAAmB,EACnB,IAAc,EACd,UAAqC,EAAE;QAEvC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,6BAA6B;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEzD,2BAA2B;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;QAEpD,4CAA4C;QAC5C,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,cAAoC,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrF,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,kBAAkB;YACpB,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBAC7C,SAAS,EAAE,KAAK;gBAChB,cAAc;aACf,CAAC,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACjD,IAAI,KAAK,EAAE,CAAC;wBACV,YAAY,CAAC,IAAI,CACf,2BAA2B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC5F,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,kBAAkB;YACpB,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAyB;YAClC,gBAAgB,EAAE,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,iBAAiB,EAAE,MAAM;YACzB,eAAe,EAAE,MAAM,CAAC,SAAS;YACjC,iBAAiB;YACjB,YAAY;YACZ,gBAAgB,EAAE,EAAE,EAAE,yCAAyC;SAChE,CAAC;QAEF,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E,KAAK,CAAC,OAAO,CACX,IAA8C,EAC9C,OAAe,EACf,IAAe;QAEf,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEhC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAE/D,qDAAqD;QACrD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAChD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE9D,6CAA6C;YAC7C,IAAI,gBAAgB,EAAE,CAAC;gBACrB,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;oBAChD,MAAM,IAAI,CAAC,MAAM,CACf,SAAS,CAAC,OAAO,EACjB,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAChD,EAAE,EACF;wBACE,IAAI,EAAE,SAAS,CAAC,IAAI;wBACpB,KAAK,EAAE,SAAS,CAAC,KAAK;wBACtB,OAAO,EAAE,SAAS,CAAC,OAAO;wBAC1B,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,UAAU;wBAC3C,IAAI,EAAE,SAAS,CAAC,IAAI;wBACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;qBAC7B,CACF,CAAC;gBACJ,CAAC;gBAED,gCAAgC;gBAChC,KAAK,MAAM,EAAE,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;oBACrD,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4EAA4E;IAC5E,8BAA8B;IAC9B,4EAA4E;IAE5E,KAAK,CAAC,gBAAgB,CAAC,OAKtB;QACC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,KAEC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAU;QAChC,OAAO,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;IAC/C,CAAC;IAED,4EAA4E;IAC5E,yBAAyB;IACzB,4EAA4E;IAE5E,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;gBACL,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,iBAAiB,EAAE,CAAC;gBACpB,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE,CAAC;gBACjB,UAAU,EAAE,CAAC;aACd,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;IAClC,CAAC;IAED,4EAA4E;IAC5E,SAAS;IACT,4EAA4E;IAE5E,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAEtD,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,aAAa,GAA2B;YAC5C,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;SACf,CAAC;QACF,MAAM,cAAc,GAA2B;YAC7C,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,YAAY,EAAE,CAAC;SAChB,CAAC;QACF,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,CAAU,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAAE,SAAS;gBAC9B,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACpD,aAAa,IAAI,QAAQ,CAAC;gBAC1B,KAAK,EAAE,CAAC;gBACR,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACjE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACrE,IAAI,QAAQ,GAAG,eAAe;oBAAE,eAAe,GAAG,QAAQ,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,OAAO;YACL,WAAW;YACX,YAAY;YACZ,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAClD,oBAAoB,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACrD,wBAAwB,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;YAC7D,mBAAmB,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE;YACvD,aAAa,EAAE,aAA2C;YAC1D,cAAc,EAAE,cAA6C;SAC9D,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,mCAAmC;IACnC,4EAA4E;IAE5E;;;OAGG;IACH,YAAY,CAAC,IAA8C,EAAE,OAAe;QAC1E,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CACnB,kBAA0B,EAC1B,kBAA0B;QAE1B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO;YAAE,OAAO,IAAI,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,gBAAgB,GAAG,qBAAqB,CAC5C,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAC3E,SAAS,CACV,CAAC;QACF,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAClC,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,iBAAiB;QACf,OAAO,IAAI,CAAC,aAAa,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,6CAA6C;IAC7C,qBAAqB;QACnB,OAAO,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC;IAChD,CAAC;IAED,sEAAsE;IACtE,4BAA4B;QAC1B,OAAO,IAAI,CAAC,aAAa,EAAE,wBAAwB,EAAE,IAAI,IAAI,CAAC;IAChE,CAAC;IAED,2CAA2C;IAC3C,oBAAoB;QAClB,OAAO,IAAI,CAAC,aAAa,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,+CAA+C;IAC/C,uBAAuB,CAAC,OAAe;QACrC,OAAO,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,2DAA2D;IAC3D,uBAAuB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,4EAA4E;IAC5E,YAAY;IACZ,4EAA4E;IAE5E,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,4EAA4E;IAC5E,YAAY;IACZ,4EAA4E;IAE5E,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CAAC,SAA+B;QAC9C,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;IACjC,CAAC;IAED,uDAAuD;IACvD,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,4EAA4E;IAC5E,WAAW;IACX,4EAA4E;IAEpE,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"CognitiveMemoryManager.js","sourceRoot":"","sources":["../../src/memory/CognitiveMemoryManager.ts"],"names":[],"mappings":"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"}
@@ -58,18 +58,43 @@ export interface ReflectorConfig {
58
58
  /** LLM invoker function. */
59
59
  llmInvoker?: (systemPrompt: string, userPrompt: string) => Promise<string>;
60
60
  }
61
+ /**
62
+ * Configuration for the memory graph subsystem.
63
+ *
64
+ * The memory graph powers spreading activation (Collins & Quillian model),
65
+ * Hebbian co-activation learning ("neurons that fire together wire together"),
66
+ * conflict detection, clustering, and graph-boosted retrieval scoring.
67
+ *
68
+ * Enabled by default when CognitiveMemoryManager is initialized.
69
+ * Set `disabled: true` to opt out entirely.
70
+ */
61
71
  export interface MemoryGraphConfig {
62
- /** Which backend to use. @default 'knowledge-graph' */
63
- backend: 'graphology' | 'knowledge-graph';
72
+ /**
73
+ * Set to true to disable the memory graph entirely.
74
+ * When disabled, spreading activation, Hebbian co-activation,
75
+ * and graph-based retrieval boosting are all skipped.
76
+ * @default false
77
+ */
78
+ disabled?: boolean;
79
+ /** Which graph backend to use. @default 'knowledge-graph' */
80
+ backend?: 'graphology' | 'knowledge-graph';
64
81
  /** Max hops for spreading activation. @default 3 */
65
- maxDepth: number;
66
- /** Activation decay per hop. @default 0.5 */
67
- decayPerHop: number;
68
- /** Minimum activation to continue spreading. @default 0.1 */
69
- activationThreshold: number;
70
- /** Hebbian learning rate for co-activation edge strengthening. @default 0.1 */
71
- hebbianLearningRate: number;
82
+ maxDepth?: number;
83
+ /** Activation decay per hop (0-1). @default 0.5 */
84
+ decayPerHop?: number;
85
+ /** Minimum activation to continue spreading (0-1). @default 0.1 */
86
+ activationThreshold?: number;
87
+ /** Hebbian learning rate for co-activation edge strengthening (0-1). @default 0.1 */
88
+ hebbianLearningRate?: number;
72
89
  }
90
+ /**
91
+ * Default memory graph configuration.
92
+ * Graph is enabled by default with the KnowledgeGraph backend,
93
+ * providing spreading activation and Hebbian learning out of the box.
94
+ */
95
+ export declare const DEFAULT_GRAPH_CONFIG: Required<Omit<MemoryGraphConfig, 'disabled'>> & {
96
+ disabled: false;
97
+ };
73
98
  export interface ConsolidationConfig {
74
99
  /** How often to run consolidation (ms). @default 3_600_000 (1 hour) */
75
100
  intervalMs: number;
@@ -169,6 +194,21 @@ export interface CognitiveMemoryConfig {
169
194
  maxContextTokens?: number;
170
195
  /** @default 'cogmem' */
171
196
  collectionPrefix?: string;
197
+ /**
198
+ * Optional SqliteBrain instance for durable persistence.
199
+ *
200
+ * When provided, memory traces, knowledge graph nodes/edges,
201
+ * prospective items, and observation pipeline state are persisted
202
+ * to the brain's SQL tables via sql-storage-adapter. The in-memory
203
+ * vector index remains the hot read path; SqliteBrain is the durable
204
+ * backing store that survives process restarts.
205
+ *
206
+ * Falls back to in-memory-only storage when omitted.
207
+ *
208
+ * @default undefined (in-memory only)
209
+ * @see {@link SqliteBrain} — the cross-platform persistence layer
210
+ */
211
+ brain?: import('../retrieval/store/SqliteBrain.js').SqliteBrain;
172
212
  }
173
213
  export declare const DEFAULT_ENCODING_CONFIG: EncodingConfig;
174
214
  export declare const DEFAULT_DECAY_CONFIG: DecayConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/memory/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/memory/core/config.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,19 @@
2
2
  * @fileoverview Configuration types for the Cognitive Memory System.
3
3
  * @module agentos/memory/config
4
4
  */
5
+ /**
6
+ * Default memory graph configuration.
7
+ * Graph is enabled by default with the KnowledgeGraph backend,
8
+ * providing spreading activation and Hebbian learning out of the box.
9
+ */
10
+ export const DEFAULT_GRAPH_CONFIG = {
11
+ disabled: false,
12
+ backend: 'knowledge-graph',
13
+ maxDepth: 3,
14
+ decayPerHop: 0.5,
15
+ activationThreshold: 0.1,
16
+ hebbianLearningRate: 0.1,
17
+ };
5
18
  // ---------------------------------------------------------------------------
6
19
  // Defaults
7
20
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/memory/core/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgOH,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,YAAY,EAAE,GAAG;IACjB,kBAAkB,EAAE,GAAG;IACvB,2BAA2B,EAAE,GAAG;IAChC,4BAA4B,EAAE,GAAG;IACjC,eAAe,EAAE,OAAS;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,QAAU;IAC7B,qBAAqB,EAAE,GAAG;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAA2B;IAC/D,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;CACvB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/memory/core/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2GH;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwE;IACvG,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,CAAC;IACX,WAAW,EAAE,GAAG;IAChB,mBAAmB,EAAE,GAAG;IACxB,mBAAmB,EAAE,GAAG;CACzB,CAAC;AAyJF,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,YAAY,EAAE,GAAG;IACjB,kBAAkB,EAAE,GAAG;IACvB,2BAA2B,EAAE,GAAG;IAChC,4BAA4B,EAAE,GAAG;IACjC,eAAe,EAAE,OAAS;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,QAAU;IAC7B,qBAAqB,EAAE,GAAG;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAA2B;IAC/D,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;CACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryPromptAssembler.d.ts","sourceRoot":"","sources":["../../../../src/memory/core/prompt/MemoryPromptAssembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAmCjD,MAAM,WAAW,oBAAoB;IACnC,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC7C,oDAAoD;IACpD,MAAM,EAAE,YAAY,CAAC;IAGrB,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,eAAe,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACtC,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,uDAAuD;IACvD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,OAAO,+CAA+C,EAAE,yBAAyB,CAAC;IACrG,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,aAAa,EAAE,WAAW,EAAE,CAAC;CACjD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,GAAG,sBAAsB,CAsKzF"}
1
+ {"version":3,"file":"MemoryPromptAssembler.d.ts","sourceRoot":"","sources":["../../../../src/memory/core/prompt/MemoryPromptAssembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAkFjD,MAAM,WAAW,oBAAoB;IACnC,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC7C,oDAAoD;IACpD,MAAM,EAAE,YAAY,CAAC;IAGrB,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,eAAe,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACtC,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,uDAAuD;IACvD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,OAAO,+CAA+C,EAAE,yBAAyB,CAAC;IACrG,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,aAAa,EAAE,WAAW,EAAE,CAAC;CACjD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,GAAG,sBAAsB,CAiLzF"}
@@ -25,6 +25,14 @@ function estimateTokens(text) {
25
25
  // Personality → formatting style
26
26
  // ---------------------------------------------------------------------------
27
27
  const clamp01 = (v) => v == null ? 0.5 : Math.max(0, Math.min(1, v));
28
+ /**
29
+ * Select the memory formatting style based on HEXACO personality traits.
30
+ * Highest trait wins: conscientiousness → structured, openness → narrative,
31
+ * emotionality → emotional. Ties favor structured > narrative > emotional.
32
+ *
33
+ * @param traits - HEXACO personality traits
34
+ * @returns Formatting style for memory trace presentation
35
+ */
28
36
  function selectFormattingStyle(traits) {
29
37
  const c = clamp01(traits.conscientiousness);
30
38
  const o = clamp01(traits.openness);
@@ -36,6 +44,42 @@ function selectFormattingStyle(traits) {
36
44
  return 'narrative';
37
45
  return 'emotional';
38
46
  }
47
+ /**
48
+ * Build the memory usage preamble that teaches the LLM how to use
49
+ * each memory type differently in its response.
50
+ *
51
+ * This preamble is critical for memory-aware behavior. Without it,
52
+ * LLMs treat all memory sections as flat context and may announce
53
+ * facts, list memories, or state relationships explicitly — all of
54
+ * which feel unnatural.
55
+ *
56
+ * Personality variants add style-specific guidance:
57
+ * - Structured (high conscientiousness): logical, organized references
58
+ * - Narrative (high openness): flowing, associative references
59
+ * - Emotional (high emotionality): empathetic, mood-aware references
60
+ *
61
+ * @param traits - HEXACO traits for personality-aware variant selection
62
+ * @returns Formatted preamble string (~200 tokens)
63
+ */
64
+ function buildMemoryPreamble(traits) {
65
+ const style = selectFormattingStyle(traits);
66
+ // Personality-specific guidance on how to reference memories in conversation
67
+ const styleGuidance = style === 'structured'
68
+ ? '\nOrganize your references to past knowledge logically. Connect facts to the current discussion with clear reasoning.'
69
+ : style === 'narrative'
70
+ ? '\nLet memories flow into your responses as stories and associations. Draw creative connections between past and present.'
71
+ : '\nLet emotional memories influence your mood and empathy. If you recall a time the user was struggling, let that inform your warmth now.';
72
+ return `## How To Use Your Memories
73
+
74
+ - **Working Memory**: Reference directly — this is your active context.
75
+ - **Semantic Recall** (facts): Background truth. Don't announce — let it shape responses naturally.
76
+ - **Episodic Memories** (experiences): Weave in naturally. Never list.
77
+ - **Prospective Alerts** (reminders): Act on these. Bring up naturally.
78
+ - **Relational Signals** (trust/bonds): Modulate TONE, not words. Never state explicitly.
79
+ - **Graph Associations** (connected memories): Use for richer context and connection depth.
80
+ - **Partial Memories** (feeling-of-knowing): Express uncertainty naturally — "I feel like we talked about..."
81
+ ${styleGuidance}`;
82
+ }
39
83
  /**
40
84
  * Assemble memory context into a single formatted string within
41
85
  * the given token budget, with overflow redistribution.
@@ -58,6 +102,16 @@ export function assembleMemoryContext(input) {
58
102
  const sections = [];
59
103
  const includedIds = [];
60
104
  let totalTokens = 0;
105
+ // --- Memory Usage Preamble ---
106
+ // Teaches the LLM how to use each memory type differently (~200 tokens).
107
+ // Deducted from total budget before section allocation. Skipped when
108
+ // budget is too small to fit the preamble meaningfully.
109
+ const preamble = buildMemoryPreamble(input.traits);
110
+ const preambleTokens = estimateTokens(preamble);
111
+ if (budget >= preambleTokens + 100) {
112
+ sections.push(preamble);
113
+ totalTokens += preambleTokens;
114
+ }
61
115
  // --- Persistent Memory (MEMORY.md) ---
62
116
  if (input.persistentMemoryText && pmBudget > 0) {
63
117
  let pmText = input.persistentMemoryText;
@@ -73,7 +127,7 @@ export function assembleMemoryContext(input) {
73
127
  const wmTokens = estimateTokens(wmText);
74
128
  let wmUsed = 0;
75
129
  if (wmText && wmTokens <= wmBudget) {
76
- sections.push(`## Active Context\n${wmText}`);
130
+ sections.push(`## Active Context (in focus — reference directly)\n${wmText}`);
77
131
  wmUsed = wmTokens;
78
132
  totalTokens += wmUsed;
79
133
  }
@@ -111,7 +165,7 @@ export function assembleMemoryContext(input) {
111
165
  includedIds.push(trace.id);
112
166
  }
113
167
  if (semanticLines.length > 0) {
114
- sections.push(`## Relevant Memories\n${semanticLines.join('\n')}`);
168
+ sections.push(`## Relevant Memories (facts — use as background truth, don't announce)\n${semanticLines.join('\n')}`);
115
169
  totalTokens += semanticUsed;
116
170
  }
117
171
  }
@@ -129,7 +183,7 @@ export function assembleMemoryContext(input) {
129
183
  includedIds.push(trace.id);
130
184
  }
131
185
  if (episodicLines.length > 0) {
132
- sections.push(`## Recent Experiences\n${episodicLines.join('\n')}`);
186
+ sections.push(`## Recent Experiences (events — weave in naturally, never list)\n${episodicLines.join('\n')}`);
133
187
  totalTokens += episodicUsed;
134
188
  }
135
189
  }
@@ -145,7 +199,7 @@ export function assembleMemoryContext(input) {
145
199
  prospectiveUsed += tokens;
146
200
  }
147
201
  if (prospectiveLines.length > 0) {
148
- sections.push(`## Reminders\n${prospectiveLines.join('\n')}`);
202
+ sections.push(`## Reminders (act on these — bring up naturally)\n${prospectiveLines.join('\n')}`);
149
203
  totalTokens += prospectiveUsed;
150
204
  }
151
205
  }
@@ -161,7 +215,7 @@ export function assembleMemoryContext(input) {
161
215
  graphUsed += tokens;
162
216
  }
163
217
  if (graphLines.length > 0) {
164
- sections.push(`## Related Context\n${graphLines.join('\n')}`);
218
+ sections.push(`## Related Context (connected memories — use for depth)\n${graphLines.join('\n')}`);
165
219
  totalTokens += graphUsed;
166
220
  }
167
221
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryPromptAssembler.js","sourceRoot":"","sources":["../../../../src/memory/core/prompt/MemoryPromptAssembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAwB,MAAM,uBAAuB,CAAC;AAEhF,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,iEAAiE;AACjE,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E,MAAM,OAAO,GAAG,CAAC,CAAqB,EAAU,EAAE,CAChD,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEhD,SAAS,qBAAqB,CAAC,MAAoB;IACjD,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAEvC,qBAAqB;IACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,WAAW,CAAC;IACzC,OAAO,WAAW,CAAC;AACrB,CAAC;AAmCD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAA2B;IAC/D,MAAM,KAAK,GAA2B;QACpC,GAAG,yBAAyB;QAC5B,GAAG,KAAK,CAAC,UAAU;KACpB,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACtC,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAElD,8BAA8B;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1D,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACjE,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACjE,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAEtE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,wCAAwC;IACxC,IAAI,KAAK,CAAC,oBAAoB,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,MAAM,GAAG,KAAK,CAAC,oBAAoB,CAAC;QACxC,MAAM,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC;QAC9B,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,sBAAsB,CAAC;QAC9D,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;QACnD,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,CAAC;IAChF,CAAC;IAED,yBAAyB;IACzB,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;QAC9C,MAAM,GAAG,QAAQ,CAAC;QAClB,WAAW,IAAI,MAAM,CAAC;IACxB,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;IAErC,gDAAgD;IAChD,MAAM,cAAc,GAAwB,EAAE,CAAC;IAC/C,MAAM,cAAc,GAAwB,EAAE,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,cAAc,IAAI,UAAU,CAAC;IAC7B,gEAAgE;IAChE,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM;QAAE,cAAc,IAAI,iBAAiB,CAAC;IAC1E,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM;QAAE,cAAc,IAAI,WAAW,CAAC;IAC/D,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM;QAAE,cAAc,IAAI,iBAAiB,CAAC;IAEzE,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,YAAY,GAAG,MAAM,GAAG,cAAc;gBAAE,MAAM;YAClD,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,YAAY,IAAI,MAAM,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,yBAAyB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnE,WAAW,IAAI,YAAY,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,YAAY,GAAG,MAAM,GAAG,cAAc;gBAAE,MAAM;YAClD,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,YAAY,IAAI,MAAM,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,0BAA0B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpE,WAAW,IAAI,YAAY,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,KAAK,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;QACpC,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,eAAe,GAAG,MAAM,GAAG,iBAAiB;gBAAE,MAAM;YACxD,gBAAgB,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;YACpC,eAAe,IAAI,MAAM,CAAC;QAC5B,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9D,WAAW,IAAI,eAAe,CAAC;QACjC,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QAC/B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,SAAS,GAAG,MAAM,GAAG,WAAW;gBAAE,MAAM;YAC5C,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YAC5B,SAAS,IAAI,MAAM,CAAC;QACtB,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,uBAAuB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9D,WAAW,IAAI,SAAS,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,KAAK,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;QACnC,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,eAAe,GAAG,MAAM,GAAG,iBAAiB;gBAAE,MAAM;YACxD,gBAAgB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACnC,eAAe,IAAI,MAAM,CAAC;QAC5B,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjE,WAAW,IAAI,eAAe,CAAC;QACjC,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACrG,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,wBAAwB,iBAAiB,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;YACxF,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,WAAW,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC,oCAAoC,SAAS,EAAE,CAAC,CAAC;gBAC/D,WAAW,IAAI,MAAM,CAAC;gBACtB,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE,KAAK;QACjB,iBAAiB,EAAE,WAAW;KAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"MemoryPromptAssembler.js","sourceRoot":"","sources":["../../../../src/memory/core/prompt/MemoryPromptAssembler.ts"],"names":[],"mappings":"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"}