memo-grafter 0.2.4 → 0.2.6

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 (66) hide show
  1. package/README.md +5 -0
  2. package/USER_GUIDE.md +169 -10
  3. package/dist/MemoGrafter.d.ts +11 -5
  4. package/dist/MemoGrafter.d.ts.map +1 -1
  5. package/dist/MemoGrafter.js +36 -10
  6. package/dist/MemoGrafter.js.map +1 -1
  7. package/dist/MemoGrafterAgent.d.ts +7 -2
  8. package/dist/MemoGrafterAgent.d.ts.map +1 -1
  9. package/dist/MemoGrafterAgent.js +37 -4
  10. package/dist/MemoGrafterAgent.js.map +1 -1
  11. package/dist/crawler/VersioningPass.d.ts.map +1 -1
  12. package/dist/crawler/VersioningPass.js +7 -10
  13. package/dist/crawler/VersioningPass.js.map +1 -1
  14. package/dist/crawler/memoryMaintenance.d.ts +8 -0
  15. package/dist/crawler/memoryMaintenance.d.ts.map +1 -1
  16. package/dist/crawler/memoryMaintenance.js +111 -11
  17. package/dist/crawler/memoryMaintenance.js.map +1 -1
  18. package/dist/crawler/types.d.ts +1 -0
  19. package/dist/crawler/types.d.ts.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/pipeline/IngestPipeline.d.ts +8 -3
  23. package/dist/pipeline/IngestPipeline.d.ts.map +1 -1
  24. package/dist/pipeline/IngestPipeline.js +49 -14
  25. package/dist/pipeline/IngestPipeline.js.map +1 -1
  26. package/dist/pipeline/RetrieverPipeline.d.ts +3 -0
  27. package/dist/pipeline/RetrieverPipeline.d.ts.map +1 -1
  28. package/dist/pipeline/RetrieverPipeline.js +56 -13
  29. package/dist/pipeline/RetrieverPipeline.js.map +1 -1
  30. package/dist/pipeline/SegmentProcessor.d.ts +2 -2
  31. package/dist/pipeline/SegmentProcessor.d.ts.map +1 -1
  32. package/dist/pipeline/SegmentProcessor.js +15 -9
  33. package/dist/pipeline/SegmentProcessor.js.map +1 -1
  34. package/dist/prompts/segmentExtractionPrompt.d.ts +1 -1
  35. package/dist/prompts/segmentExtractionPrompt.d.ts.map +1 -1
  36. package/dist/prompts/segmentExtractionPrompt.js +7 -1
  37. package/dist/prompts/segmentExtractionPrompt.js.map +1 -1
  38. package/dist/queue/IngestQueue.d.ts +3 -2
  39. package/dist/queue/IngestQueue.d.ts.map +1 -1
  40. package/dist/queue/IngestQueue.js +22 -2
  41. package/dist/queue/IngestQueue.js.map +1 -1
  42. package/dist/store/GraphStore.d.ts +4 -3
  43. package/dist/store/GraphStore.d.ts.map +1 -1
  44. package/dist/store/postgres-pgvector/GraphStore.d.ts +6 -3
  45. package/dist/store/postgres-pgvector/GraphStore.d.ts.map +1 -1
  46. package/dist/store/postgres-pgvector/GraphStore.js +84 -6
  47. package/dist/store/postgres-pgvector/GraphStore.js.map +1 -1
  48. package/dist/types.d.ts +46 -0
  49. package/dist/types.d.ts.map +1 -1
  50. package/dist/utils/drift/adaptiveDriftSensitivity.d.ts +20 -0
  51. package/dist/utils/drift/adaptiveDriftSensitivity.d.ts.map +1 -0
  52. package/dist/utils/drift/adaptiveDriftSensitivity.js +67 -0
  53. package/dist/utils/drift/adaptiveDriftSensitivity.js.map +1 -0
  54. package/dist/utils/tags.d.ts +2 -0
  55. package/dist/utils/tags.d.ts.map +1 -0
  56. package/dist/utils/tags.js +13 -0
  57. package/dist/utils/tags.js.map +1 -0
  58. package/dist/utils/text/splitTextForIngestion.d.ts +2 -0
  59. package/dist/utils/text/splitTextForIngestion.d.ts.map +1 -0
  60. package/dist/utils/text/splitTextForIngestion.js +37 -0
  61. package/dist/utils/text/splitTextForIngestion.js.map +1 -0
  62. package/dist/utils/text/splitTextForIngestion.test.d.ts +2 -0
  63. package/dist/utils/text/splitTextForIngestion.test.d.ts.map +1 -0
  64. package/dist/utils/text/splitTextForIngestion.test.js +19 -0
  65. package/dist/utils/text/splitTextForIngestion.test.js.map +1 -0
  66. package/package.json +1 -1
@@ -1,6 +1,9 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { buildFactRetrievalPrompt, formatFactBlock, } from "../prompts/factRetrievalPrompt.js";
3
3
  import { countApproxTokens } from "../utils/text/tokenCount.js";
4
+ import { normalizeTags } from "../utils/tags.js";
5
+ const DEFAULT_SIMILARITY_WEIGHT = 0.7;
6
+ const DEFAULT_CONFIDENCE_WEIGHT = 0.3;
4
7
  export class RetrieverPipeline {
5
8
  store;
6
9
  embedder;
@@ -22,9 +25,21 @@ export class RetrieverPipeline {
22
25
  const limit = this.config.limit ?? 10;
23
26
  const minSimilarity = this.config.minSimilarity ?? 0.6;
24
27
  const tokenBudget = this.config.tokenBudget ?? 1200;
28
+ const tags = normalizeTags(this.config.tags);
29
+ const tagMode = this.config.tagMode ?? "all";
30
+ const scope = this.config.scope === "tagged" && tags.length > 0
31
+ ? "tagged"
32
+ : this.config.scope ?? (tags.length > 0 ? "session-and-tags" : "session");
25
33
  const embedding = await this.embedder.embed(query);
26
- const searchedFacts = await this.searchMemories(embedding, sessionId, limit, minSimilarity);
27
- const activeFacts = searchedFacts.filter((fact) => fact.decayed === false && fact.supersededBy == null);
34
+ const searchedFacts = await this.searchMemories(embedding, sessionId, limit, minSimilarity, {
35
+ tags,
36
+ tagMode,
37
+ scope,
38
+ });
39
+ const activeFacts = searchedFacts
40
+ .filter((fact) => fact.decayed === false && fact.supersededBy == null)
41
+ .map((fact) => this.rankFact(fact))
42
+ .sort((a, b) => b.retrievalScore - a.retrievalScore);
28
43
  if (activeFacts.length === 0) {
29
44
  return {
30
45
  facts: [],
@@ -33,7 +48,7 @@ export class RetrieverPipeline {
33
48
  tokenCount: 0,
34
49
  };
35
50
  }
36
- const rankedBlocks = (await this.buildBlocks(activeFacts, sessionId))
51
+ const rankedBlocks = (await this.buildBlocks(activeFacts, sessionId, scope))
37
52
  .sort((a, b) => b.score - a.score);
38
53
  const includedBlocks = [];
39
54
  const facts = [];
@@ -46,7 +61,7 @@ export class RetrieverPipeline {
46
61
  break;
47
62
  }
48
63
  includedBlocks.push(formattedBlock);
49
- facts.push(...block.facts);
64
+ facts.push(...block.facts.map(({ retrievalScore: _retrievalScore, ...fact }) => fact));
50
65
  nodes.push(block.parentNode);
51
66
  tokenCount += blockTokenCount;
52
67
  }
@@ -57,31 +72,40 @@ export class RetrieverPipeline {
57
72
  tokenCount,
58
73
  };
59
74
  }
60
- async searchMemories(embedding, sessionId, limit, minSimilarity) {
75
+ async searchMemories(embedding, sessionId, limit, minSimilarity, options) {
61
76
  if (!this.config.cache || !this.cacheRedis) {
62
- return this.store.searchMemories(embedding, sessionId, limit, minSimilarity);
77
+ return this.store.searchMemories(embedding, sessionId, limit, minSimilarity, options);
63
78
  }
64
79
  const ttl = Math.min(Math.max(this.config.cache.ttlSeconds ?? 90, 60), 120);
65
- const cacheKey = `mg:recall:${sessionId}:${limit}:${minSimilarity}:${this.hashEmbedding(embedding)}`;
80
+ const cacheKey = [
81
+ "mg:recall",
82
+ sessionId,
83
+ limit,
84
+ minSimilarity,
85
+ options.scope ?? "session",
86
+ options.tagMode ?? "all",
87
+ (options.tags ?? []).join(","),
88
+ this.hashEmbedding(embedding),
89
+ ].join(":");
66
90
  try {
67
91
  const hit = await this.cacheRedis.get(cacheKey);
68
92
  if (hit) {
69
93
  return JSON.parse(hit);
70
94
  }
71
- const searchedFacts = await this.store.searchMemories(embedding, sessionId, limit, minSimilarity);
95
+ const searchedFacts = await this.store.searchMemories(embedding, sessionId, limit, minSimilarity, options);
72
96
  await this.cacheRedis.setex(cacheKey, ttl, JSON.stringify(searchedFacts));
73
97
  return searchedFacts;
74
98
  }
75
99
  catch (error) {
76
100
  console.warn("MemoGrafter recall cache warning:", error);
77
- return this.store.searchMemories(embedding, sessionId, limit, minSimilarity);
101
+ return this.store.searchMemories(embedding, sessionId, limit, minSimilarity, options);
78
102
  }
79
103
  }
80
104
  hashEmbedding(embedding) {
81
105
  const str = embedding.map((value) => value.toFixed(6)).join(",");
82
106
  return createHash("sha1").update(str).digest("hex").slice(0, 16);
83
107
  }
84
- async buildBlocks(facts, sessionId) {
108
+ async buildBlocks(facts, sessionId, scope) {
85
109
  const factsByTopic = new Map();
86
110
  for (const fact of facts) {
87
111
  const topicFacts = factsByTopic.get(fact.topicNodeId) ?? [];
@@ -90,17 +114,36 @@ export class RetrieverPipeline {
90
114
  }
91
115
  const blocks = [];
92
116
  for (const [topicNodeId, topicFacts] of factsByTopic) {
93
- const parentNode = await this.store.getTopicNode(topicNodeId, sessionId);
117
+ const parentSessionId = scope === "tagged" ? topicFacts[0]?.sessionId : sessionId;
118
+ const parentNode = await this.store.getTopicNode(topicNodeId, parentSessionId);
94
119
  if (!parentNode) {
95
120
  continue;
96
121
  }
97
122
  blocks.push({
98
- facts: topicFacts,
123
+ facts: topicFacts.sort((a, b) => b.retrievalScore - a.retrievalScore),
99
124
  parentNode,
100
- score: Math.max(...topicFacts.map((fact) => fact.similarity)),
125
+ score: Math.max(...topicFacts.map((fact) => fact.retrievalScore)),
101
126
  });
102
127
  }
103
128
  return blocks;
104
129
  }
130
+ rankFact(fact) {
131
+ return {
132
+ ...fact,
133
+ retrievalScore: this.scoreFact(fact),
134
+ };
135
+ }
136
+ scoreFact(fact) {
137
+ const similarityWeight = this.config.scoring?.similarityWeight ?? DEFAULT_SIMILARITY_WEIGHT;
138
+ const confidenceWeight = this.config.scoring?.confidenceWeight ?? DEFAULT_CONFIDENCE_WEIGHT;
139
+ const similarity = this.clampScore(fact.similarity);
140
+ const confidence = this.clampScore(fact.confidence);
141
+ return similarity * similarityWeight + confidence * confidenceWeight;
142
+ }
143
+ clampScore(value) {
144
+ if (!Number.isFinite(value))
145
+ return 0;
146
+ return Math.min(Math.max(value, 0), 1);
147
+ }
105
148
  }
106
149
  //# sourceMappingURL=RetrieverPipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RetrieverPipeline.js","sourceRoot":"","sources":["../../src/pipeline/RetrieverPipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RetrieverPipeline.js","sourceRoot":"","sources":["../../src/pipeline/RetrieverPipeline.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { GraphStore } from "../store/index.js";
2
- import type { EmbedAdapter, LLMAdapter, Message, TopicNode } from "../types.js";
2
+ import type { EmbedAdapter, IngestPipelineOptions, LLMAdapter, Message, TopicNode } from "../types.js";
3
3
  import type { DriftSegment } from "./TopicDriftDetector.js";
4
4
  export declare class SegmentProcessor {
5
5
  private readonly store;
@@ -11,7 +11,7 @@ export declare class SegmentProcessor {
11
11
  topK: number;
12
12
  semanticThreshold: number;
13
13
  });
14
- process(segment: DriftSegment, messages: Message[], sessionId: string): Promise<TopicNode>;
14
+ process(segment: DriftSegment, messages: Message[], sessionId: string, options?: IngestPipelineOptions): Promise<TopicNode>;
15
15
  private createSegment;
16
16
  private nodeRunner;
17
17
  private nodeProcessor;
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentProcessor.d.ts","sourceRoot":"","sources":["../../src/pipeline/SegmentProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EACV,YAAY,EAEZ,UAAU,EAEV,OAAO,EAEP,SAAS,EAEV,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,qBAAa,gBAAgB;IAUzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB,OAAO,CAAC,cAAc,CAMpB;gBAGiB,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,iBAAiB,EAAE,MAAM,CAAC;KAC3B;IAGG,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;YAOlF,aAAa;YAYb,UAAU;YAMV,aAAa;YA0Bb,eAAe;CAwC9B"}
1
+ {"version":3,"file":"SegmentProcessor.d.ts","sourceRoot":"","sources":["../../src/pipeline/SegmentProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EACV,YAAY,EAEZ,qBAAqB,EACrB,UAAU,EAEV,OAAO,EAEP,SAAS,EAEV,MAAM,aAAa,CAAC;AAOrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,qBAAa,gBAAgB;IAUzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB,OAAO,CAAC,cAAc,CAMpB;gBAGiB,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,iBAAiB,EAAE,MAAM,CAAC;KAC3B;IAGG,OAAO,CACX,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,SAAS,CAAC;YAQP,aAAa;YAYb,UAAU;YAWV,aAAa;YAiCb,eAAe;CA2C9B"}
@@ -1,5 +1,6 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { buildSegmentExtractionPrompt } from "../prompts/segmentExtractionPrompt.js";
3
+ import { normalizeTags } from "../utils/tags.js";
3
4
  import { buildSegmentSummary, formatMemoryEmbeddingText, parseSegmentExtraction, } from "../utils/extraction/segmentExtraction.js";
4
5
  export class SegmentProcessor {
5
6
  store;
@@ -19,10 +20,11 @@ export class SegmentProcessor {
19
20
  this.embedder = embedder;
20
21
  this.config = config;
21
22
  }
22
- async process(segment, messages, sessionId) {
23
+ async process(segment, messages, sessionId, options = {}) {
23
24
  const savedSegment = await this.createSegment(segment, sessionId);
24
- const topicNode = await this.nodeRunner(savedSegment, messages);
25
- await this.processMemories(this.lastExtraction.memories, savedSegment, topicNode);
25
+ const tags = normalizeTags(options.tags);
26
+ const topicNode = await this.nodeRunner(savedSegment, messages, tags, options);
27
+ await this.processMemories(this.lastExtraction.memories, savedSegment, topicNode, options);
26
28
  return topicNode;
27
29
  }
28
30
  async createSegment(segment, sessionId) {
@@ -36,14 +38,14 @@ export class SegmentProcessor {
36
38
  createdAt: new Date(),
37
39
  });
38
40
  }
39
- async nodeRunner(segment, messages) {
40
- const node = await this.nodeProcessor(messages, segment);
41
+ async nodeRunner(segment, messages, tags, options) {
42
+ const node = await this.nodeProcessor(messages, segment, tags, options);
41
43
  await this.store.saveNode(node);
42
44
  return node;
43
45
  }
44
- async nodeProcessor(messages, segment) {
46
+ async nodeProcessor(messages, segment, tags, options) {
45
47
  const segmentMessages = messages.slice(segment.startIndex, segment.endIndex + 1);
46
- const extractionPrompt = buildSegmentExtractionPrompt(segmentMessages);
48
+ const extractionPrompt = buildSegmentExtractionPrompt(segmentMessages, options.label);
47
49
  const raw = await this.llm.complete([{ role: "user", content: extractionPrompt }]);
48
50
  const extracted = parseSegmentExtraction(raw);
49
51
  this.lastExtraction = extracted;
@@ -56,6 +58,8 @@ export class SegmentProcessor {
56
58
  label: extracted.label,
57
59
  summary,
58
60
  embedding,
61
+ tags,
62
+ ...(options.source ? { source: options.source } : {}),
59
63
  messageRange: [segment.startIndex, segment.endIndex],
60
64
  topicOrder: segment.topicOrder,
61
65
  driftScore: segment.driftScore,
@@ -65,7 +69,7 @@ export class SegmentProcessor {
65
69
  createdAt: new Date(),
66
70
  };
67
71
  }
68
- async processMemories(memories, segment, topicNode) {
72
+ async processMemories(memories, segment, topicNode, options) {
69
73
  if (memories.length === 0)
70
74
  return;
71
75
  try {
@@ -81,12 +85,14 @@ export class SegmentProcessor {
81
85
  agentColor: topicNode.agentColor,
82
86
  fleetId: topicNode.fleetId,
83
87
  memoryType: memory.memoryType,
84
- sourceType: "conversation",
88
+ sourceType: options.sourceType ?? "conversation",
85
89
  subject: memory.subject,
86
90
  predicate: memory.predicate,
87
91
  value: memory.value,
88
92
  confidence: memory.confidence,
89
93
  embedding,
94
+ tags: topicNode.tags ?? [],
95
+ ...(options.source ? { source: options.source } : {}),
90
96
  sourceUrl: null,
91
97
  sourceTitle: null,
92
98
  supersededBy: null,
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentProcessor.js","sourceRoot":"","sources":["../../src/pipeline/SegmentProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SegmentProcessor.js","sourceRoot":"","sources":["../../src/pipeline/SegmentProcessor.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { Message } from "../types.js";
2
- export declare function buildSegmentExtractionPrompt(messages: Message[]): string;
2
+ export declare function buildSegmentExtractionPrompt(messages: Message[], labelHint?: string): string;
3
3
  //# sourceMappingURL=segmentExtractionPrompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"segmentExtractionPrompt.d.ts","sourceRoot":"","sources":["../../src/prompts/segmentExtractionPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CA+ExE"}
1
+ {"version":3,"file":"segmentExtractionPrompt.d.ts","sourceRoot":"","sources":["../../src/prompts/segmentExtractionPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAqF5F"}
@@ -1,5 +1,5 @@
1
1
  import { normalizeText } from "../utils/text/normalizeText.js";
2
- export function buildSegmentExtractionPrompt(messages) {
2
+ export function buildSegmentExtractionPrompt(messages, labelHint) {
3
3
  const messageContent = messages
4
4
  .map((message, index) => `Message ${index + 1}:\n[${message.role}] ${normalizeText(message.content) ?? message.content}`)
5
5
  .join("\n\n");
@@ -40,8 +40,14 @@ export function buildSegmentExtractionPrompt(messages) {
40
40
  "Rules:",
41
41
  "- The value field must be one sentence maximum.",
42
42
  "- The value field must be self-contained and meaningful without surrounding context.",
43
+ "- When a statement explicitly corrects, replaces, or updates an earlier fact, preserve that update cue in the value, such as actually, now, changed to, or instead.",
43
44
  "- If no memories are extractable from the segment, return an empty memories array.",
44
45
  "- Use null for open when there is no unresolved question or follow-up.",
46
+ ...(labelHint
47
+ ? [
48
+ `- Use "${labelHint}" as a hint when choosing the topic label. Keep the label accurate to the content.`,
49
+ ]
50
+ : []),
45
51
  "",
46
52
  "Example segment:",
47
53
  "Message 1:",
@@ -1 +1 @@
1
- {"version":3,"file":"segmentExtractionPrompt.js","sourceRoot":"","sources":["../../src/prompts/segmentExtractionPrompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,UAAU,4BAA4B,CAAC,QAAmB;IAC9D,MAAM,cAAc,GAAG,QAAQ;SAC5B,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,KAAK,GAAG,CAAC,OAAO,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;SACxH,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO;QACL,uFAAuF;QACvF,EAAE;QACF,wIAAwI;QACxI,EAAE;QACF,+CAA+C;QAC/C,GAAG;QACH,oCAAoC;QACpC,wFAAwF;QACxF,uFAAuF;QACvF,uEAAuE;QACvE,iBAAiB;QACjB,OAAO;QACP,sEAAsE;QACtE,yFAAyF;QACzF,8DAA8D;QAC9D,mGAAmG;QACnG,0BAA0B;QAC1B,OAAO;QACP,KAAK;QACL,GAAG;QACH,EAAE;QACF,0BAA0B;QAC1B,iFAAiF;QACjF,sEAAsE;QACtE,oEAAoE;QACpE,qDAAqD;QACrD,8EAA8E;QAC9E,EAAE;QACF,qBAAqB;QACrB,sCAAsC;QACtC,gCAAgC;QAChC,uCAAuC;QACvC,EAAE;QACF,QAAQ;QACR,iDAAiD;QACjD,sFAAsF;QACtF,oFAAoF;QACpF,wEAAwE;QACxE,EAAE;QACF,kBAAkB;QAClB,YAAY;QACZ,kKAAkK;QAClK,EAAE;QACF,YAAY;QACZ,kKAAkK;QAClK,EAAE;QACF,uBAAuB;QACvB,GAAG;QACH,uCAAuC;QACvC,uMAAuM;QACvM,2JAA2J;QAC3J,2GAA2G;QAC3G,iBAAiB;QACjB,OAAO;QACP,8BAA8B;QAC9B,0BAA0B;QAC1B,wCAAwC;QACxC,0GAA0G;QAC1G,0BAA0B;QAC1B,QAAQ;QACR,OAAO;QACP,kCAAkC;QAClC,0BAA0B;QAC1B,oCAAoC;QACpC,qFAAqF;QACrF,yBAAyB;QACzB,OAAO;QACP,KAAK;QACL,GAAG;QACH,EAAE;QACF,uBAAuB;QACvB,cAAc;KACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"segmentExtractionPrompt.js","sourceRoot":"","sources":["../../src/prompts/segmentExtractionPrompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,UAAU,4BAA4B,CAAC,QAAmB,EAAE,SAAkB;IAClF,MAAM,cAAc,GAAG,QAAQ;SAC5B,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,KAAK,GAAG,CAAC,OAAO,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;SACxH,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO;QACL,uFAAuF;QACvF,EAAE;QACF,wIAAwI;QACxI,EAAE;QACF,+CAA+C;QAC/C,GAAG;QACH,oCAAoC;QACpC,wFAAwF;QACxF,uFAAuF;QACvF,uEAAuE;QACvE,iBAAiB;QACjB,OAAO;QACP,sEAAsE;QACtE,yFAAyF;QACzF,8DAA8D;QAC9D,mGAAmG;QACnG,0BAA0B;QAC1B,OAAO;QACP,KAAK;QACL,GAAG;QACH,EAAE;QACF,0BAA0B;QAC1B,iFAAiF;QACjF,sEAAsE;QACtE,oEAAoE;QACpE,qDAAqD;QACrD,8EAA8E;QAC9E,EAAE;QACF,qBAAqB;QACrB,sCAAsC;QACtC,gCAAgC;QAChC,uCAAuC;QACvC,EAAE;QACF,QAAQ;QACR,iDAAiD;QACjD,sFAAsF;QACtF,qKAAqK;QACrK,oFAAoF;QACpF,wEAAwE;QACxE,GAAG,CAAC,SAAS;YACX,CAAC,CAAC;gBACA,UAAU,SAAS,oFAAoF;aACxG;YACD,CAAC,CAAC,EAAE,CAAC;QACP,EAAE;QACF,kBAAkB;QAClB,YAAY;QACZ,kKAAkK;QAClK,EAAE;QACF,YAAY;QACZ,kKAAkK;QAClK,EAAE;QACF,uBAAuB;QACvB,GAAG;QACH,uCAAuC;QACvC,uMAAuM;QACvM,2JAA2J;QAC3J,2GAA2G;QAC3G,iBAAiB;QACjB,OAAO;QACP,8BAA8B;QAC9B,0BAA0B;QAC1B,wCAAwC;QACxC,0GAA0G;QAC1G,0BAA0B;QAC1B,QAAQ;QACR,OAAO;QACP,kCAAkC;QAClC,0BAA0B;QAC1B,oCAAoC;QACpC,qFAAqF;QACrF,yBAAyB;QACzB,OAAO;QACP,KAAK;QACL,GAAG;QACH,EAAE;QACF,uBAAuB;QACvB,cAAc;KACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { IngestPipeline } from "../pipeline/IngestPipeline.js";
2
- import type { MemoGrafterQueueConfig, Message } from "../types.js";
2
+ import type { IngestPipelineOptions, MemoGrafterQueueConfig, Message } from "../types.js";
3
3
  export declare class IngestQueue {
4
4
  private readonly pipeline;
5
5
  private readonly connection;
@@ -8,7 +8,8 @@ export declare class IngestQueue {
8
8
  private readonly defaultJobOptions;
9
9
  private readonly queueName;
10
10
  constructor(pipeline: IngestPipeline, config: MemoGrafterQueueConfig);
11
- enqueue(messages: Message[], sessionId: string): Promise<void>;
11
+ enqueue(messages: Message[], sessionId: string, options?: IngestPipelineOptions): Promise<void>;
12
+ enqueueText(text: string, sessionId: string, options?: IngestPipelineOptions): Promise<void>;
12
13
  close(): Promise<void>;
13
14
  private ensureWorker;
14
15
  private withTimeout;
@@ -1 +1 @@
1
- {"version":3,"file":"IngestQueue.d.ts","sourceRoot":"","sources":["../../src/queue/IngestQueue.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAOnE,qBAAa,WAAW;IAQpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAP3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAc;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAGhB,QAAQ,EAAE,cAAc,EACzC,MAAM,EAAE,sBAAsB;IAgC1B,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB9D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB5B,OAAO,CAAC,YAAY;YAwBN,WAAW;CAY1B"}
1
+ {"version":3,"file":"IngestQueue.d.ts","sourceRoot":"","sources":["../../src/queue/IngestQueue.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAc1F,qBAAa,WAAW;IAQpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAP3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAc;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAGhB,QAAQ,EAAE,cAAc,EACzC,MAAM,EAAE,sBAAsB;IAgC1B,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBhG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB5B,OAAO,CAAC,YAAY;YA6BN,WAAW;CAY1B"}
@@ -36,11 +36,13 @@ export class IngestQueue {
36
36
  console.warn("MemoGrafter ingest queue warning:", error.message);
37
37
  });
38
38
  }
39
- async enqueue(messages, sessionId) {
39
+ async enqueue(messages, sessionId, options = {}) {
40
40
  try {
41
41
  await this.withTimeout(this.queue.add("ingest", {
42
+ kind: "messages",
42
43
  messages: [...messages],
43
44
  sessionId,
45
+ options,
44
46
  }, this.defaultJobOptions), 1000, "MemoGrafter ingest queue enqueue timed out.");
45
47
  this.ensureWorker();
46
48
  }
@@ -48,6 +50,20 @@ export class IngestQueue {
48
50
  console.warn("MemoGrafter ingest queue enqueue failed:", error);
49
51
  }
50
52
  }
53
+ async enqueueText(text, sessionId, options = {}) {
54
+ try {
55
+ await this.withTimeout(this.queue.add("ingest-text", {
56
+ kind: "text",
57
+ text,
58
+ sessionId,
59
+ options,
60
+ }, this.defaultJobOptions), 1000, "MemoGrafter text ingest queue enqueue timed out.");
61
+ this.ensureWorker();
62
+ }
63
+ catch (error) {
64
+ console.warn("MemoGrafter text ingest queue enqueue failed:", error);
65
+ }
66
+ }
51
67
  async close() {
52
68
  if (this.worker) {
53
69
  await this.withTimeout(this.worker.close(false), 10000, "MemoGrafter ingest queue worker close timed out.").catch((error) => {
@@ -72,7 +88,11 @@ export class IngestQueue {
72
88
  return;
73
89
  this.worker = new Worker(this.queueName, async (job) => {
74
90
  try {
75
- await this.pipeline.run(job.data.messages, job.data.sessionId);
91
+ if (job.data.kind === "text") {
92
+ await this.pipeline.runText(job.data.text, job.data.sessionId, job.data.options ?? {});
93
+ return;
94
+ }
95
+ await this.pipeline.run(job.data.messages, job.data.sessionId, job.data.options ?? {});
76
96
  }
77
97
  catch (error) {
78
98
  console.warn("MemoGrafter background ingest failed:", error);
@@ -1 +1 @@
1
- {"version":3,"file":"IngestQueue.js","sourceRoot":"","sources":["../../src/queue/IngestQueue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IngestQueue.js","sourceRoot":"","sources":["../../src/queue/IngestQueue.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { GraftRegistryEntry, MemoryEdge, MemoryNode, MemoryNodeInsert, Message, SessionIngestState, TopicEdge, TopicNode, TopicSegment } from "../types.js";
1
+ import type { GraftRegistryEntry, MemoryEdge, MemoryNode, MemoryNodeInsert, Message, SessionIngestState, TagFilterOptions, TopicEdge, TopicNode, TopicSegment } from "../types.js";
2
2
  export interface FleetAgentRecord {
3
3
  id: string;
4
4
  fleetId: string;
@@ -35,13 +35,13 @@ export interface GraphStore {
35
35
  getTopicNode(topicNodeId: string, sessionId?: string): Promise<TopicNode | null>;
36
36
  getNodeBySegment(segmentId: string): Promise<TopicNode | null>;
37
37
  getSessionNodeCount(sessionId: string): Promise<number>;
38
- getNodesBySession(sessionId: string): Promise<TopicNode[]>;
38
+ getNodesBySession(sessionId: string, options?: TagFilterOptions): Promise<TopicNode[]>;
39
39
  getLastTopicNode(sessionId: string): Promise<TopicNode | null>;
40
40
  getSegmentsBySession(sessionId: string): Promise<TopicSegment[]>;
41
41
  insertMemories(nodes: MemoryNodeInsert[]): Promise<void>;
42
42
  getMemoriesBySegment(segmentId: string): Promise<MemoryNode[]>;
43
43
  getMemoriesByTopic(topicNodeId: string): Promise<MemoryNode[]>;
44
- searchMemories(embedding: number[], sessionId: string, limit: number, minSimilarity: number): Promise<(MemoryNode & {
44
+ searchMemories(embedding: number[], sessionId: string, limit: number, minSimilarity: number, options?: TagFilterOptions): Promise<(MemoryNode & {
45
45
  similarity: number;
46
46
  })[]>;
47
47
  buildMemoryEdges(topicNodeId: string, sessionId: string, threshold: number): Promise<void>;
@@ -71,6 +71,7 @@ export interface GraphStore {
71
71
  agentId: string | null;
72
72
  agentColor: string | null;
73
73
  }): Promise<void>;
74
+ setSessionTags(sessionId: string, tags: string[]): Promise<void>;
74
75
  getPreviousNode(sessionId: string, topicOrder: number): Promise<TopicNode | null>;
75
76
  nodeSimilarity(nodeAId: string, nodeBId: string): Promise<number>;
76
77
  getNeighbours(nodeIds: string[], hopDepth: number, sessionId?: string): Promise<TopicNode[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"GraphStore.d.ts","sourceRoot":"","sources":["../../src/store/GraphStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GraphStore.d.ts","sourceRoot":"","sources":["../../src/store/GraphStore.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { FleetAgentRecord, GraphStore } from "../GraphStore.js";
2
- import type { GraftRegistryEntry, MemoryEdge, MemoryNode, MemoryNodeInsert, Message, SessionIngestState, TopicEdge, TopicNode, TopicSegment } from "../../types.js";
2
+ import type { GraftRegistryEntry, MemoryEdge, MemoryNode, MemoryNodeInsert, Message, SessionIngestState, TagFilterOptions, TopicEdge, TopicNode, TopicSegment } from "../../types.js";
3
3
  interface AbsorbOptions {
4
4
  agentColor?: string | null;
5
5
  fleetId?: string | null;
@@ -26,7 +26,7 @@ export declare class PostgresGraphStore implements GraphStore {
26
26
  getTopicNode(topicNodeId: string, sessionId?: string): Promise<TopicNode | null>;
27
27
  getNodeBySegment(segmentId: string): Promise<TopicNode | null>;
28
28
  getSessionNodeCount(sessionId: string): Promise<number>;
29
- getNodesBySession(sessionId: string): Promise<TopicNode[]>;
29
+ getNodesBySession(sessionId: string, options?: TagFilterOptions): Promise<TopicNode[]>;
30
30
  getLastTopicNode(sessionId: string): Promise<TopicNode | null>;
31
31
  getSegmentsBySession(sessionId: string): Promise<TopicSegment[]>;
32
32
  insertMemories(nodes: MemoryNodeInsert[]): Promise<void>;
@@ -42,7 +42,7 @@ export declare class PostgresGraphStore implements GraphStore {
42
42
  upsertMemoryEdge(edge: Pick<MemoryEdge, "sourceId" | "targetId" | "edgeType"> & {
43
43
  weight?: number;
44
44
  }): Promise<boolean>;
45
- searchMemories(embedding: number[], sessionId: string, limit: number, minSimilarity: number): Promise<(MemoryNode & {
45
+ searchMemories(embedding: number[], sessionId: string, limit: number, minSimilarity: number, options?: TagFilterOptions): Promise<(MemoryNode & {
46
46
  similarity: number;
47
47
  })[]>;
48
48
  buildMemoryEdges(topicNodeId: string, sessionId: string, threshold: number): Promise<void>;
@@ -72,6 +72,7 @@ export declare class PostgresGraphStore implements GraphStore {
72
72
  agentId: string | null;
73
73
  agentColor: string | null;
74
74
  }): Promise<void>;
75
+ setSessionTags(sessionId: string, tags: string[]): Promise<void>;
75
76
  getPreviousNode(sessionId: string, topicOrder: number): Promise<TopicNode | null>;
76
77
  nodeSimilarity(nodeAId: string, nodeBId: string): Promise<number>;
77
78
  getNeighbours(nodeIds: string[], hopDepth: number, sessionId?: string): Promise<TopicNode[]>;
@@ -87,6 +88,8 @@ export declare class PostgresGraphStore implements GraphStore {
87
88
  private migrateExistingNodeTable;
88
89
  private createIndexes;
89
90
  private cleanAssistantMessage;
91
+ private topicTagsFilterSql;
92
+ private memoryTagsFilterSql;
90
93
  private getNextMessageIndex;
91
94
  private getNextTopicOrder;
92
95
  private formatGraftedMemoryMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"GraphStore.d.ts","sourceRoot":"","sources":["../../../src/store/postgres-pgvector/GraphStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA2FpK,UAAU,aAAa;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,qBAAa,kBAAmB,YAAW,UAAU;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;gBAEd,gBAAgB,EAAE,MAAM;IAQ9B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2I3B,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzF,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAenG,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAmBlG,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAU5E,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5F,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAsBzD,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDxC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IASxC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAiBrE,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAoB1D,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC9C,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7D,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAWhF,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAU9D,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUvD,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAU1D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAW9D,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAUhE,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmDxD,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAU9D,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAY9D,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAU9D,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAcjE,6BAA6B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAStD,0BAA0B,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAcpE,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYtF,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa7D,0BAA0B,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWtF,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG;QACpF,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,OAAO,CAAC;IA6Bd,cAAc,CAClB,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,CAAC,UAAU,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAkB7C,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC1F,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAIvG,eAAe,CACnB,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAO,GAC3E,OAAO,CAAC,SAAS,EAAE,CAAC;IAcjB,0BAA0B,CAC9B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,GAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAChG,OAAO,CAAC,SAAS,EAAE,CAAC;IAejB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAW1E,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD,cAAc,CAAC,KAAK,EAAE;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWX,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAsB5D,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;QACjD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,GAAG,OAAO,CAAC,IAAI,CAAC;IAWX,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAYjF,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWjE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAwC5F,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAepG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyBrG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAUlE,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlD,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YAwDnG,iCAAiC;YAmDjC,oBAAoB;IAU5B,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,SAAI,EAAE,iBAAiB,SAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CnG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAId,wBAAwB;YAiCxB,aAAa;IAiF3B,OAAO,CAAC,qBAAqB;YAkBf,mBAAmB;YAUnB,iBAAiB;IAU/B,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,YAAY;CAerB"}
1
+ {"version":3,"file":"GraphStore.d.ts","sourceRoot":"","sources":["../../../src/store/postgres-pgvector/GraphStore.ts"],"names":[],"mappings":"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"}