squish-memory 0.8.2 → 0.9.1

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 (266) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +2 -2
  3. package/.env.mcp +30 -0
  4. package/.mcp.json +2 -5
  5. package/CHANGELOG.md +111 -0
  6. package/QUICK-START.md +65 -0
  7. package/README.md +188 -530
  8. package/commands/managed-sync.ts +69 -0
  9. package/commands/mcp-server.ts +519 -0
  10. package/config/mcp-cli-fallback-policy.json +22 -0
  11. package/config/mcp-migration-map.json +22 -0
  12. package/config/mcp-mode-semantics.json +21 -0
  13. package/config/mcp-remote-auth.json +36 -0
  14. package/config/mcp-universal.schema.json +48 -0
  15. package/config/mcp.json +38 -0
  16. package/config/remote-memory-policy.json +32 -0
  17. package/dist/algorithms/merge/detection/hash-filters.js +2 -2
  18. package/dist/algorithms/merge/detection/hash-filters.js.map +1 -1
  19. package/dist/algorithms/merge/detection/two-stage-detector.d.ts +5 -2
  20. package/dist/algorithms/merge/detection/two-stage-detector.d.ts.map +1 -1
  21. package/dist/algorithms/merge/detection/two-stage-detector.js +139 -22
  22. package/dist/algorithms/merge/detection/two-stage-detector.js.map +1 -1
  23. package/dist/commands/managed-sync.d.ts +10 -0
  24. package/dist/commands/managed-sync.d.ts.map +1 -0
  25. package/dist/commands/managed-sync.js +64 -0
  26. package/dist/commands/managed-sync.js.map +1 -0
  27. package/dist/commands/mcp-server.d.ts +3 -0
  28. package/dist/commands/mcp-server.d.ts.map +1 -0
  29. package/dist/commands/mcp-server.js +389 -0
  30. package/dist/commands/mcp-server.js.map +1 -0
  31. package/dist/config.d.ts +24 -1
  32. package/dist/config.d.ts.map +1 -1
  33. package/dist/config.js +32 -1
  34. package/dist/config.js.map +1 -1
  35. package/dist/core/associations.d.ts +1 -1
  36. package/dist/core/associations.d.ts.map +1 -1
  37. package/dist/core/consolidation.d.ts +31 -0
  38. package/dist/core/consolidation.d.ts.map +1 -1
  39. package/dist/core/consolidation.js +237 -29
  40. package/dist/core/consolidation.js.map +1 -1
  41. package/dist/core/embeddings/google-multimodal.d.ts +14 -0
  42. package/dist/core/embeddings/google-multimodal.d.ts.map +1 -0
  43. package/dist/core/embeddings/google-multimodal.js +142 -0
  44. package/dist/core/embeddings/google-multimodal.js.map +1 -0
  45. package/dist/core/embeddings.d.ts +3 -2
  46. package/dist/core/embeddings.d.ts.map +1 -1
  47. package/dist/core/embeddings.js +61 -39
  48. package/dist/core/embeddings.js.map +1 -1
  49. package/dist/core/mcp/client.d.ts +17 -0
  50. package/dist/core/mcp/client.d.ts.map +1 -0
  51. package/dist/core/mcp/client.js +101 -0
  52. package/dist/core/mcp/client.js.map +1 -0
  53. package/dist/core/mcp/index.d.ts +6 -0
  54. package/dist/core/mcp/index.d.ts.map +1 -0
  55. package/dist/core/mcp/index.js +6 -0
  56. package/dist/core/mcp/index.js.map +1 -0
  57. package/dist/core/mcp/server.d.ts +18 -0
  58. package/dist/core/mcp/server.d.ts.map +1 -0
  59. package/dist/core/mcp/server.js +131 -0
  60. package/dist/core/mcp/server.js.map +1 -0
  61. package/dist/core/mcp/standalone-server.d.ts +13 -0
  62. package/dist/core/mcp/standalone-server.d.ts.map +1 -0
  63. package/dist/core/mcp/standalone-server.js +46 -0
  64. package/dist/core/mcp/standalone-server.js.map +1 -0
  65. package/dist/core/mcp/tools.d.ts +9 -0
  66. package/dist/core/mcp/tools.d.ts.map +1 -0
  67. package/dist/core/mcp/tools.js +262 -0
  68. package/dist/core/mcp/tools.js.map +1 -0
  69. package/dist/core/mcp/types.d.ts +315 -0
  70. package/dist/core/mcp/types.d.ts.map +1 -0
  71. package/dist/core/mcp/types.js +48 -0
  72. package/dist/core/mcp/types.js.map +1 -0
  73. package/dist/core/memory/categorizer.d.ts +27 -0
  74. package/dist/core/memory/categorizer.d.ts.map +1 -0
  75. package/dist/core/memory/categorizer.js +304 -0
  76. package/dist/core/memory/categorizer.js.map +1 -0
  77. package/dist/core/memory/conflict-detector.d.ts +7 -0
  78. package/dist/core/memory/conflict-detector.d.ts.map +1 -0
  79. package/dist/core/memory/conflict-detector.js +43 -0
  80. package/dist/core/memory/conflict-detector.js.map +1 -0
  81. package/dist/core/memory/context-collector.d.ts +10 -0
  82. package/dist/core/memory/context-collector.d.ts.map +1 -0
  83. package/dist/core/memory/context-collector.js +55 -0
  84. package/dist/core/memory/context-collector.js.map +1 -0
  85. package/dist/core/memory/contradiction-resolver.d.ts +40 -0
  86. package/dist/core/memory/contradiction-resolver.d.ts.map +1 -0
  87. package/dist/core/memory/contradiction-resolver.js +368 -0
  88. package/dist/core/memory/contradiction-resolver.js.map +1 -0
  89. package/dist/core/memory/edit-workflow.d.ts +19 -0
  90. package/dist/core/memory/edit-workflow.d.ts.map +1 -0
  91. package/dist/core/memory/edit-workflow.js +120 -0
  92. package/dist/core/memory/edit-workflow.js.map +1 -0
  93. package/dist/core/memory/feedback-tracker.d.ts +12 -0
  94. package/dist/core/memory/feedback-tracker.d.ts.map +1 -0
  95. package/dist/core/memory/feedback-tracker.js +151 -0
  96. package/dist/core/memory/feedback-tracker.js.map +1 -0
  97. package/dist/core/memory/hybrid-retrieval.d.ts +11 -12
  98. package/dist/core/memory/hybrid-retrieval.d.ts.map +1 -1
  99. package/dist/core/memory/hybrid-retrieval.js +56 -28
  100. package/dist/core/memory/hybrid-retrieval.js.map +1 -1
  101. package/dist/core/memory/hybrid-scorer.d.ts +5 -16
  102. package/dist/core/memory/hybrid-scorer.d.ts.map +1 -1
  103. package/dist/core/memory/hybrid-scorer.js +161 -125
  104. package/dist/core/memory/hybrid-scorer.js.map +1 -1
  105. package/dist/core/memory/hybrid-search.js +53 -19
  106. package/dist/core/memory/hybrid-search.js.map +1 -1
  107. package/dist/core/memory/memories.d.ts +4 -0
  108. package/dist/core/memory/memories.d.ts.map +1 -1
  109. package/dist/core/memory/memories.js +133 -60
  110. package/dist/core/memory/memories.js.map +1 -1
  111. package/dist/core/memory/progressive-disclosure.d.ts +43 -0
  112. package/dist/core/memory/progressive-disclosure.d.ts.map +1 -0
  113. package/dist/core/memory/progressive-disclosure.js +280 -0
  114. package/dist/core/memory/progressive-disclosure.js.map +1 -0
  115. package/dist/core/memory/query-rewriter.d.ts +13 -0
  116. package/dist/core/memory/query-rewriter.d.ts.map +1 -0
  117. package/dist/core/memory/query-rewriter.js +118 -0
  118. package/dist/core/memory/query-rewriter.js.map +1 -0
  119. package/dist/core/memory/response-analyzer.d.ts +9 -0
  120. package/dist/core/memory/response-analyzer.d.ts.map +1 -0
  121. package/dist/core/memory/response-analyzer.js +61 -0
  122. package/dist/core/memory/response-analyzer.js.map +1 -0
  123. package/dist/core/memory/stats.d.ts +17 -0
  124. package/dist/core/memory/stats.d.ts.map +1 -0
  125. package/dist/core/memory/stats.js +87 -0
  126. package/dist/core/memory/stats.js.map +1 -0
  127. package/dist/core/memory/telemetry.d.ts +69 -0
  128. package/dist/core/memory/telemetry.d.ts.map +1 -0
  129. package/dist/core/memory/telemetry.js +313 -0
  130. package/dist/core/memory/telemetry.js.map +1 -0
  131. package/dist/core/memory/temporal-facts.d.ts +41 -0
  132. package/dist/core/memory/temporal-facts.d.ts.map +1 -0
  133. package/dist/core/memory/temporal-facts.js +262 -0
  134. package/dist/core/memory/temporal-facts.js.map +1 -0
  135. package/dist/core/memory/trigger-detector.d.ts +14 -0
  136. package/dist/core/memory/trigger-detector.d.ts.map +1 -0
  137. package/dist/core/memory/trigger-detector.js +42 -0
  138. package/dist/core/memory/trigger-detector.js.map +1 -0
  139. package/dist/core/memory/write-gate.d.ts +54 -0
  140. package/dist/core/memory/write-gate.d.ts.map +1 -0
  141. package/dist/core/memory/write-gate.js +210 -0
  142. package/dist/core/memory/write-gate.js.map +1 -0
  143. package/dist/core/projects.d.ts +2 -0
  144. package/dist/core/projects.d.ts.map +1 -1
  145. package/dist/core/projects.js +33 -0
  146. package/dist/core/projects.js.map +1 -1
  147. package/dist/core/scheduler/cron-scheduler.d.ts +32 -0
  148. package/dist/core/scheduler/cron-scheduler.d.ts.map +1 -0
  149. package/dist/core/scheduler/cron-scheduler.js +238 -0
  150. package/dist/core/scheduler/cron-scheduler.js.map +1 -0
  151. package/dist/core/scheduler/heartbeat.d.ts +11 -0
  152. package/dist/core/scheduler/heartbeat.d.ts.map +1 -0
  153. package/dist/core/scheduler/heartbeat.js +73 -0
  154. package/dist/core/scheduler/heartbeat.js.map +1 -0
  155. package/dist/core/scheduler/index.d.ts +8 -0
  156. package/dist/core/scheduler/index.d.ts.map +1 -0
  157. package/dist/core/scheduler/index.js +8 -0
  158. package/dist/core/scheduler/index.js.map +1 -0
  159. package/dist/core/scheduler/job-runner.d.ts +11 -0
  160. package/dist/core/scheduler/job-runner.d.ts.map +1 -0
  161. package/dist/core/scheduler/job-runner.js +161 -0
  162. package/dist/core/scheduler/job-runner.js.map +1 -0
  163. package/dist/core/session/auto-load.d.ts +6 -0
  164. package/dist/core/session/auto-load.d.ts.map +1 -0
  165. package/dist/core/session/auto-load.js +119 -0
  166. package/dist/core/session/auto-load.js.map +1 -0
  167. package/dist/core/session/index.d.ts +7 -0
  168. package/dist/core/session/index.d.ts.map +1 -0
  169. package/dist/core/session/index.js +7 -0
  170. package/dist/core/session/index.js.map +1 -0
  171. package/dist/core/session/types.d.ts +26 -0
  172. package/dist/core/session/types.d.ts.map +1 -0
  173. package/dist/core/session/types.js +10 -0
  174. package/dist/core/session/types.js.map +1 -0
  175. package/dist/core/snapshots/comparison.d.ts.map +1 -1
  176. package/dist/core/snapshots/comparison.js +8 -2
  177. package/dist/core/snapshots/comparison.js.map +1 -1
  178. package/dist/core/utils/content-extraction.d.ts.map +1 -1
  179. package/dist/core/utils/content-extraction.js +11 -1
  180. package/dist/core/utils/content-extraction.js.map +1 -1
  181. package/dist/core/utils/summarization-helpers.d.ts.map +1 -1
  182. package/dist/core/utils/summarization-helpers.js +4 -1
  183. package/dist/core/utils/summarization-helpers.js.map +1 -1
  184. package/dist/core/utils.d.ts.map +1 -1
  185. package/dist/core/utils.js +26 -3
  186. package/dist/core/utils.js.map +1 -1
  187. package/dist/core/worker.d.ts +20 -0
  188. package/dist/core/worker.d.ts.map +1 -1
  189. package/dist/core/worker.js +86 -0
  190. package/dist/core/worker.js.map +1 -1
  191. package/dist/db/adapter.d.ts +1 -5
  192. package/dist/db/adapter.d.ts.map +1 -1
  193. package/dist/db/adapter.js +125 -12
  194. package/dist/db/adapter.js.map +1 -1
  195. package/dist/db/bootstrap.d.ts.map +1 -1
  196. package/dist/db/bootstrap.js +178 -3
  197. package/dist/db/bootstrap.js.map +1 -1
  198. package/dist/db/index.d.ts +1 -5
  199. package/dist/db/index.d.ts.map +1 -1
  200. package/dist/db/index.js +7 -4
  201. package/dist/db/index.js.map +1 -1
  202. package/dist/drizzle/schema-sqlite.d.ts +1953 -612
  203. package/dist/drizzle/schema-sqlite.d.ts.map +1 -1
  204. package/dist/drizzle/schema-sqlite.js +134 -0
  205. package/dist/drizzle/schema-sqlite.js.map +1 -1
  206. package/dist/drizzle/schema.d.ts +684 -3
  207. package/dist/drizzle/schema.d.ts.map +1 -1
  208. package/dist/drizzle/schema.js +81 -1
  209. package/dist/drizzle/schema.js.map +1 -1
  210. package/dist/index.d.ts +3 -3
  211. package/dist/index.js +152 -13
  212. package/dist/index.js.map +1 -1
  213. package/package.json +125 -103
  214. package/scripts/build-release.sh +33 -0
  215. package/scripts/db/check-db.mjs +88 -0
  216. package/scripts/db/fix-all-columns.mjs +52 -0
  217. package/scripts/db/fix-schema-all.mjs +55 -0
  218. package/scripts/db/fix-schema-full.mjs +46 -0
  219. package/scripts/db/fix-schema.mjs +38 -0
  220. package/scripts/db/init-db.mjs +13 -0
  221. package/scripts/db/recreate-db.mjs +14 -0
  222. package/scripts/generate-mcp.mjs +264 -0
  223. package/scripts/github-release.sh +61 -0
  224. package/scripts/init-dirs.mjs +13 -0
  225. package/scripts/init-dirs.ts +15 -0
  226. package/scripts/install-mcp.mjs +116 -0
  227. package/scripts/install-web.sh +120 -0
  228. package/scripts/install.mjs +340 -0
  229. package/scripts/openclaw-bootstrap.mjs +127 -0
  230. package/scripts/package-release.sh +71 -0
  231. package/scripts/remote-preflight.mjs +62 -0
  232. package/scripts/squish-fallback.mjs +132 -0
  233. package/scripts/test/test-all-systems.mjs +139 -0
  234. package/scripts/test/test-memory-system.mjs +139 -0
  235. package/scripts/test/test-v0.5.0.mjs +210 -0
  236. package/scripts/verify-mcp.mjs +214 -0
  237. package/skills/memory-guide/SKILL.md +181 -123
  238. package/skills/squish-cli/SKILL.md +200 -0
  239. package/skills/squish-mcp/SKILL.md +311 -0
  240. package/skills/squish-memory/SKILL.md +100 -62
  241. package/skills/squish-memory/claude-desktop.json +12 -0
  242. package/skills/squish-memory/install.mjs +335 -0
  243. package/skills/squish-memory/install.sh +94 -62
  244. package/skills/squish-memory/openclaw.json +13 -0
  245. package/skills/squish-memory/opencode.json +14 -0
  246. package/skills/squish-memory/skill.json +32 -0
  247. package/dist/adapters/claude-code/capture.d.ts +0 -11
  248. package/dist/adapters/claude-code/capture.d.ts.map +0 -1
  249. package/dist/adapters/claude-code/capture.js +0 -100
  250. package/dist/adapters/claude-code/capture.js.map +0 -1
  251. package/dist/adapters/claude-code/index.d.ts +0 -5
  252. package/dist/adapters/claude-code/index.d.ts.map +0 -1
  253. package/dist/adapters/claude-code/index.js +0 -6
  254. package/dist/adapters/claude-code/index.js.map +0 -1
  255. package/dist/adapters/claude-code/injection.d.ts +0 -34
  256. package/dist/adapters/claude-code/injection.d.ts.map +0 -1
  257. package/dist/adapters/claude-code/injection.js +0 -127
  258. package/dist/adapters/claude-code/injection.js.map +0 -1
  259. package/dist/adapters/claude-code/plugin-wrapper.d.ts +0 -21
  260. package/dist/adapters/claude-code/plugin-wrapper.d.ts.map +0 -1
  261. package/dist/adapters/claude-code/plugin-wrapper.js +0 -239
  262. package/dist/adapters/claude-code/plugin-wrapper.js.map +0 -1
  263. package/dist/adapters/claude-code/types.d.ts +0 -46
  264. package/dist/adapters/claude-code/types.d.ts.map +0 -1
  265. package/dist/adapters/claude-code/types.js +0 -6
  266. package/dist/adapters/claude-code/types.js.map +0 -1
@@ -1,44 +1,38 @@
1
- /**
2
- * Hybrid Scorer
3
- * Multi-factor relevance scoring combining semantic similarity, recency, co-activation, and importance
4
- * Provides normalized scores (0-100) for memory ranking
5
- */
1
+ /** Hybrid Scorer - Multi-factor relevance scoring for memory ranking */
6
2
  import { logger } from '../../core/logger.js';
7
- /**
8
- * Calculate hybrid relevance score for memories
9
- * Combines: semantic similarity, recency, co-activation, and importance
10
- */
11
3
  export async function hybridScore(queryEmbedding, memories, options = {}) {
12
- // Default weights (0.4, 0.2, 0.2, 0.2 = 1.0 total)
13
4
  const weights = {
14
- semantic: options.weights?.semantic ?? 0.4,
15
- recency: options.weights?.recency ?? 0.2,
16
- coactivation: options.weights?.coactivation ?? 0.2,
17
- importance: options.weights?.importance ?? 0.2,
5
+ semantic: options.weights?.semantic ?? 0.30,
6
+ recency: options.weights?.recency ?? 0.20,
7
+ coactivation: options.weights?.coactivation ?? 0.10,
8
+ importance: options.weights?.importance ?? 0.15,
9
+ confidence: options.weights?.confidence ?? 0.15,
10
+ feedback: options.weights?.feedback ?? 0.10,
18
11
  };
19
12
  const decayDays = options.decayDays ?? 30;
20
13
  const minSemanticScore = options.minSemanticScore ?? 0.0;
21
14
  const scored = [];
22
15
  const now = new Date();
23
16
  for (const memory of memories) {
24
- // Skip if embedding-only filtering is requested and score is below threshold
25
17
  if (queryEmbedding && weights.semantic > 0) {
26
18
  const semanticScore = calculateSemanticScore(queryEmbedding, memory);
27
19
  if (semanticScore < minSemanticScore)
28
20
  continue;
29
21
  }
30
- // Calculate component scores
31
22
  const components = {
32
23
  semantic: queryEmbedding ? calculateSemanticScore(queryEmbedding, memory) : 50,
33
24
  recency: calculateRecencyScore(memory, now, decayDays),
34
25
  coactivation: calculateCoactivationScore(memory),
35
26
  importance: calculateImportanceScore(memory),
27
+ confidence: calculateConfidenceScore(memory),
28
+ feedback: calculateFeedbackScore(memory),
36
29
  };
37
- // Calculate weighted total
38
30
  const totalScore = Math.min(100, components.semantic * weights.semantic +
39
31
  components.recency * weights.recency +
40
32
  components.coactivation * weights.coactivation +
41
- components.importance * weights.importance);
33
+ components.importance * weights.importance +
34
+ components.confidence * weights.confidence +
35
+ components.feedback * weights.feedback);
42
36
  scored.push({
43
37
  memoryId: memory.id,
44
38
  memory,
@@ -48,6 +42,8 @@ export async function hybridScore(queryEmbedding, memories, options = {}) {
48
42
  recency: Math.round(components.recency * 100) / 100,
49
43
  coactivation: Math.round(components.coactivation * 100) / 100,
50
44
  importance: Math.round(components.importance * 100) / 100,
45
+ confidence: Math.round(components.confidence * 100) / 100,
46
+ feedback: Math.round(components.feedback * 100) / 100,
51
47
  },
52
48
  rank: 0,
53
49
  explanation: options.includeExplanation
@@ -55,21 +51,15 @@ export async function hybridScore(queryEmbedding, memories, options = {}) {
55
51
  : '',
56
52
  });
57
53
  }
58
- // Sort by total score descending and assign ranks
59
54
  scored.sort((a, b) => b.totalScore - a.totalScore);
60
55
  for (let i = 0; i < scored.length; i++) {
61
56
  scored[i].rank = i + 1;
62
57
  }
63
58
  return scored;
64
59
  }
65
- /**
66
- * Calculate semantic similarity score (0-100)
67
- * Uses cosine similarity between query and memory embeddings
68
- */
69
60
  function calculateSemanticScore(queryEmbedding, memory) {
70
- if (!memory.embedding || queryEmbedding.length === 0) {
71
- return 50; // Default to neutral score
72
- }
61
+ if (!memory.embedding || queryEmbedding.length === 0)
62
+ return 50;
73
63
  try {
74
64
  let memoryEmbedding = null;
75
65
  if (Array.isArray(memory.embedding)) {
@@ -78,13 +68,9 @@ function calculateSemanticScore(queryEmbedding, memory) {
78
68
  else if (typeof memory.embedding === 'string') {
79
69
  memoryEmbedding = JSON.parse(memory.embedding);
80
70
  }
81
- if (!memoryEmbedding || memoryEmbedding.length === 0) {
71
+ if (!memoryEmbedding || memoryEmbedding.length === 0)
82
72
  return 50;
83
- }
84
- // Cosine similarity
85
73
  const cosineSimilarity = calculateCosineSimilarity(queryEmbedding, memoryEmbedding);
86
- // Convert -1...1 range to 0...100 range
87
- // Cosine similarity is typically 0...1 for normalized vectors
88
74
  return Math.max(0, Math.min(100, (cosineSimilarity + 1) * 50));
89
75
  }
90
76
  catch (error) {
@@ -92,70 +78,138 @@ function calculateSemanticScore(queryEmbedding, memory) {
92
78
  return 50;
93
79
  }
94
80
  }
95
- /**
96
- * Calculate recency score (0-100)
97
- * Uses exponential decay based on days since creation
98
- * Half-life is configurable (default 30 days)
99
- */
100
81
  function calculateRecencyScore(memory, now, decayDays) {
101
- if (!memory.createdAt)
102
- return 50;
103
- const createdDate = new Date(memory.createdAt);
104
- const daysSinceCreation = (now.getTime() - createdDate.getTime()) / (24 * 60 * 60 * 1000);
105
- // Exponential decay: score = 100 * (0.5 ^ (days / halfLife))
106
- const score = 100 * Math.pow(0.5, daysSinceCreation / decayDays);
107
- return Math.max(0, Math.min(100, score));
82
+ // Enhanced bi-temporal recency scoring: considers validity period and learning time
83
+ const validFromDate = memory.validFrom ? new Date(memory.validFrom) : null;
84
+ const validToDate = memory.validTo ? new Date(memory.validTo) : null;
85
+ const recordedAtDate = memory.recordedAt ? new Date(memory.recordedAt) : null;
86
+ const createdDate = memory.createdAt ? new Date(memory.createdAt) : null;
87
+ // Calculate score based on how relevant the memory is right now
88
+ let score = 50; // Default neutral score
89
+ // If we have a validity period, score based on current time's position within that period
90
+ if (validFromDate && validToDate) {
91
+ const timeInPeriod = now.getTime() - validFromDate.getTime();
92
+ const periodLength = validToDate.getTime() - validFromDate.getTime();
93
+ if (periodLength > 0) {
94
+ // If now is within the validity period, high score
95
+ if (now >= validFromDate && now <= validToDate) {
96
+ // Full score if right in middle, decreasing toward edges
97
+ const progress = timeInPeriod / periodLength;
98
+ const distanceFromCenter = Math.abs(0.5 - progress) * 2; // 0 at center, 1 at edges
99
+ score = 100 * (1 - distanceFromCenter * 0.8); // 100 at center, 40 at edges
100
+ }
101
+ else {
102
+ // Outside validity period - score based on how recently it expired or how far in future
103
+ if (now < validFromDate) {
104
+ // Future validity - score based on how soon it becomes valid
105
+ const daysUntilValid = (validFromDate.getTime() - now.getTime()) / (24 * 60 * 60 * 1000);
106
+ score = Math.max(20, 100 - Math.min(80, daysUntilValid / decayDays * 100));
107
+ }
108
+ else {
109
+ // Past validity - score based on how recently it expired
110
+ const daysSinceExpired = (now.getTime() - validToDate.getTime()) / (24 * 60 * 60 * 1000);
111
+ score = Math.max(10, 60 - Math.min(50, daysSinceExpired / decayDays * 100));
112
+ }
113
+ }
114
+ }
115
+ }
116
+ // If we only have validFrom (open-ended validity)
117
+ else if (validFromDate) {
118
+ const daysSinceValid = (now.getTime() - validFromDate.getTime()) / (24 * 60 * 60 * 1000);
119
+ if (now >= validFromDate) {
120
+ // Still valid - decay from full score over time
121
+ score = Math.max(30, 100 - Math.min(70, daysSinceValid / decayDays * 100));
122
+ }
123
+ else {
124
+ // Becomes valid in future
125
+ const daysUntilValid = (validFromDate.getTime() - now.getTime()) / (24 * 60 * 60 * 1000);
126
+ score = Math.max(20, 100 - Math.min(80, daysUntilValid / decayDays * 100));
127
+ }
128
+ }
129
+ // Fallback to learned/recorded time
130
+ else {
131
+ const learnedDate = recordedAtDate || createdDate;
132
+ if (learnedDate) {
133
+ const daysSinceLearned = (now.getTime() - learnedDate.getTime()) / (24 * 60 * 60 * 1000);
134
+ score = 100 * Math.pow(0.5, daysSinceLearned / decayDays);
135
+ score = Math.max(0, Math.min(100, score));
136
+ }
137
+ }
138
+ return Math.round(score * 10) / 10; // Return one decimal place
108
139
  }
109
- /**
110
- * Calculate co-activation score (0-100)
111
- * Based on how often this memory appears with others
112
- */
113
140
  function calculateCoactivationScore(memory) {
114
- if (!memory.coactivationScore || memory.coactivationScore === 0) {
115
- return 10; // Default low score
116
- }
117
- // Normalize co-activation score to 0-100 range
118
- // Assuming co-activation scores are typically 0-20+
119
- const normalized = Math.min(100, memory.coactivationScore * 5);
120
- return normalized;
141
+ if (!memory.coactivationScore || memory.coactivationScore === 0)
142
+ return 10;
143
+ return Math.min(100, memory.coactivationScore * 5);
121
144
  }
122
- /**
123
- * Calculate importance score (0-100)
124
- * Based on relevance score, tier classification, and protection status
125
- */
126
145
  function calculateImportanceScore(memory) {
127
- let score = 50; // Base score
128
- // Add points for tier
129
- if (memory.tier === 'hot') {
146
+ let score = 50;
147
+ if (memory.tier === 'hot')
130
148
  score += 30;
131
- }
132
- else if (memory.tier === 'warm') {
149
+ else if (memory.tier === 'warm')
133
150
  score += 15;
134
- }
135
- else if (memory.tier === 'cold') {
136
- score += 0;
137
- }
138
- // Add points for relevance score (0-100)
139
- if (memory.relevanceScore) {
140
- score += memory.relevanceScore * 0.2; // Max +20 points
141
- }
142
- // Add points for pinned/protected status
151
+ if (memory.relevanceScore)
152
+ score += memory.relevanceScore * 0.2;
143
153
  if (memory.isPinned)
144
154
  score += 10;
145
155
  if (memory.isProtected)
146
156
  score += 10;
147
- // Subtract points for being marked for merging
148
157
  if (memory.isMergeable || memory.isMerged)
149
158
  score -= 10;
150
159
  return Math.max(0, Math.min(100, score));
151
160
  }
152
- /**
153
- * Calculate cosine similarity between two vectors
154
- */
161
+ function calculateConfidenceScore(memory) {
162
+ let score = 50;
163
+ const signals = memory.metadata?.memorySignals;
164
+ if (signals) {
165
+ if (signals.priority === 'high')
166
+ score += 25;
167
+ if (signals.explicitTriggers && signals.explicitTriggers.length > 0) {
168
+ score += 15 * Math.min(signals.explicitTriggers.length, 2);
169
+ }
170
+ if (signals.implicit) {
171
+ if (signals.implicit.decision)
172
+ score += 10;
173
+ if (signals.implicit.correction)
174
+ score += 15;
175
+ if (signals.implicit.preference)
176
+ score += 8;
177
+ if (signals.implicit.workflowRule)
178
+ score += 12;
179
+ if (signals.implicit.lesson)
180
+ score += 10;
181
+ }
182
+ if (signals.requiresConflictCheck)
183
+ score -= 5;
184
+ }
185
+ switch (memory.type) {
186
+ case 'decision':
187
+ score += 10;
188
+ break;
189
+ case 'preference':
190
+ score += 5;
191
+ break;
192
+ case 'fact':
193
+ score += 8;
194
+ break;
195
+ case 'context':
196
+ score += 3;
197
+ break;
198
+ }
199
+ if (memory.source === 'mcp')
200
+ score += 5;
201
+ if (memory.accessCount && memory.accessCount > 5) {
202
+ score += Math.min(10, memory.accessCount / 2);
203
+ }
204
+ return Math.max(0, Math.min(100, score));
205
+ }
206
+ function calculateFeedbackScore(memory) {
207
+ const retrievalPriority = memory.retrievalPriority ?? 50;
208
+ return Math.max(0, Math.min(100, retrievalPriority));
209
+ }
155
210
  function calculateCosineSimilarity(vecA, vecB) {
156
- if (vecA.length !== vecB.length) {
211
+ if (vecA.length !== vecB.length)
157
212
  return 0;
158
- }
159
213
  let dotProduct = 0;
160
214
  let magnitudeA = 0;
161
215
  let magnitudeB = 0;
@@ -166,71 +220,53 @@ function calculateCosineSimilarity(vecA, vecB) {
166
220
  }
167
221
  magnitudeA = Math.sqrt(magnitudeA);
168
222
  magnitudeB = Math.sqrt(magnitudeB);
169
- if (magnitudeA === 0 || magnitudeB === 0) {
223
+ if (magnitudeA === 0 || magnitudeB === 0)
170
224
  return 0;
171
- }
172
225
  return dotProduct / (magnitudeA * magnitudeB);
173
226
  }
174
- /**
175
- * Generate human-readable explanation for score
176
- */
177
227
  function generateScoreExplanation(components, weights, memory) {
178
228
  const parts = [];
179
- // Semantic similarity
180
- if (components.semantic > 70) {
229
+ if (components.semantic > 70)
181
230
  parts.push(`highly relevant (${components.semantic.toFixed(0)})`);
182
- }
183
- else if (components.semantic > 50) {
231
+ else if (components.semantic > 50)
184
232
  parts.push(`somewhat relevant (${components.semantic.toFixed(0)})`);
185
- }
186
- else {
233
+ else
187
234
  parts.push(`low relevance (${components.semantic.toFixed(0)})`);
188
- }
189
- // Recency
190
- if (components.recency > 70) {
191
- parts.push(`recent`);
192
- }
193
- else if (components.recency > 30) {
194
- parts.push(`moderately recent`);
195
- }
196
- else {
197
- parts.push(`older`);
198
- }
199
- // Tier
200
- if (memory.tier === 'hot') {
201
- parts.push(`active memory`);
202
- }
203
- else if (memory.tier === 'warm') {
204
- parts.push(`accessible memory`);
205
- }
206
- else {
207
- parts.push(`archived memory`);
208
- }
209
- // Frequently co-activated
210
- if (components.coactivation > 60) {
211
- parts.push(`frequently associated`);
212
- }
235
+ if (components.recency > 70)
236
+ parts.push('recent');
237
+ else if (components.recency > 30)
238
+ parts.push('moderately recent');
239
+ else
240
+ parts.push('older');
241
+ if (memory.tier === 'hot')
242
+ parts.push('active memory');
243
+ else if (memory.tier === 'warm')
244
+ parts.push('accessible memory');
245
+ else
246
+ parts.push('archived memory');
247
+ if (components.coactivation > 60)
248
+ parts.push('frequently associated');
249
+ if (components.confidence > 80)
250
+ parts.push('high confidence');
251
+ else if (components.confidence > 60)
252
+ parts.push('moderate confidence');
253
+ else if (components.confidence < 40)
254
+ parts.push('low confidence');
255
+ if (components.feedback > 70)
256
+ parts.push('frequently useful');
257
+ else if (components.feedback < 30)
258
+ parts.push('rarely used');
213
259
  return parts.join(', ');
214
260
  }
215
- /**
216
- * Score and rank memories by relevance
217
- * Convenience function combining scoring and ranking
218
- */
219
261
  export async function scoreAndRankMemories(queryEmbedding, memories, topK = 10, options = {}) {
220
262
  const scored = await hybridScore(queryEmbedding, memories, options);
221
263
  logger.debug('Scored and ranked memories', {
222
264
  total: scored.length,
223
265
  topK,
224
- topScores: scored.slice(0, topK).map((s) => ({
225
- id: s.memoryId,
226
- score: s.totalScore,
227
- })),
266
+ topScores: scored.slice(0, topK).map((s) => ({ id: s.memoryId, score: s.totalScore })),
228
267
  });
229
268
  return scored.slice(0, topK);
230
269
  }
231
- /**
232
- * Get score distribution for diagnostics
233
- */
234
270
  export function getScoreDistribution(scored) {
235
271
  if (scored.length === 0) {
236
272
  return { min: 0, max: 0, avg: 0, median: 0, p95: 0, p99: 0 };
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-scorer.js","sourceRoot":"","sources":["../../../core/memory/hybrid-scorer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hybrid-scorer.js","sourceRoot":"","sources":["../../../core/memory/hybrid-scorer.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAgC9C,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,cAA+B,EAC/B,QAAe,EACf,UAA+B,EAAE;IAEjC,MAAM,OAAO,GAAG;QACd,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI;QAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI;QACzC,YAAY,EAAE,OAAO,CAAC,OAAO,EAAE,YAAY,IAAI,IAAI;QACnD,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI;QAC/C,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI;QAC/C,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI;KAC5C,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAC1C,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAC;IAEzD,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,cAAc,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,aAAa,GAAG,sBAAsB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YACrE,IAAI,aAAa,GAAG,gBAAgB;gBAAE,SAAS;QACjD,CAAC;QAED,MAAM,UAAU,GAAG;YACjB,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,sBAAsB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YAC9E,OAAO,EAAE,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC;YACtD,YAAY,EAAE,0BAA0B,CAAC,MAAM,CAAC;YAChD,UAAU,EAAE,wBAAwB,CAAC,MAAM,CAAC;YAC5C,UAAU,EAAE,wBAAwB,CAAC,MAAM,CAAC;YAC5C,QAAQ,EAAE,sBAAsB,CAAC,MAAM,CAAC;SACzC,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACzB,GAAG,EACH,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;YACpC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO;YACpC,UAAU,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY;YAC9C,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU;YAC1C,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU;YAC1C,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CACzC,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,MAAM;YACN,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG;YAC9C,UAAU,EAAE;gBACV,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG;gBACrD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG;gBACnD,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,GAAG;gBAC7D,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG;gBACzD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG;gBACzD,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG;aACtD;YACD,IAAI,EAAE,CAAC;YACP,WAAW,EAAE,OAAO,CAAC,kBAAkB;gBACrC,CAAC,CAAC,wBAAwB,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC;gBACvD,CAAC,CAAC,EAAE;SACP,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,cAAwB,EAAE,MAAW;IACnE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhE,IAAI,CAAC;QACH,IAAI,eAAe,GAAoB,IAAI,CAAC;QAE5C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACpC,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;QACrC,CAAC;aAAM,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChD,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhE,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAW,EAAE,GAAS,EAAE,SAAiB;IACtE,oFAAoF;IACpF,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEzE,gEAAgE;IAChE,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,wBAAwB;IAExC,0FAA0F;IAC1F,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;QAErE,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,mDAAmD;YACnD,IAAI,GAAG,IAAI,aAAa,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC/C,yDAAyD;gBACzD,MAAM,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;gBAC7C,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,0BAA0B;gBACnF,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,kBAAkB,GAAG,GAAG,CAAC,CAAC,CAAC,6BAA6B;YAC7E,CAAC;iBAAM,CAAC;gBACN,wFAAwF;gBACxF,IAAI,GAAG,GAAG,aAAa,EAAE,CAAC;oBACxB,6DAA6D;oBAC7D,MAAM,cAAc,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;oBACzF,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC7E,CAAC;qBAAM,CAAC;oBACN,yDAAyD;oBACzD,MAAM,gBAAgB,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;oBACzF,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,gBAAgB,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,kDAAkD;SAC7C,IAAI,aAAa,EAAE,CAAC;QACvB,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACzF,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC;YACzB,gDAAgD;YAChD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,MAAM,cAAc,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YACzF,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,oCAAoC;SAC/B,CAAC;QACJ,MAAM,WAAW,GAAG,cAAc,IAAI,WAAW,CAAC;QAClD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,gBAAgB,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YACzF,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,GAAG,SAAS,CAAC,CAAC;YAC1D,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,2BAA2B;AACjE,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAW;IAC7C,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAW;IAC3C,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK;QAAE,KAAK,IAAI,EAAE,CAAC;SAClC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;QAAE,KAAK,IAAI,EAAE,CAAC;IAE7C,IAAI,MAAM,CAAC,cAAc;QAAE,KAAK,IAAI,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC;IAChE,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,IAAI,EAAE,CAAC;IACjC,IAAI,MAAM,CAAC,WAAW;QAAE,KAAK,IAAI,EAAE,CAAC;IACpC,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,IAAI,EAAE,CAAC;IAEvD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAW;IAC3C,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;IAE/C,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM;YAAE,KAAK,IAAI,EAAE,CAAC;QAE7C,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAE,KAAK,IAAI,EAAE,CAAC;YAC3C,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAE,KAAK,IAAI,EAAE,CAAC;YAC7C,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAE,KAAK,IAAI,CAAC,CAAC;YAC5C,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAE,KAAK,IAAI,EAAE,CAAC;YAC/C,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAE,KAAK,IAAI,EAAE,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,CAAC,qBAAqB;YAAE,KAAK,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,UAAU;YAAE,KAAK,IAAI,EAAE,CAAC;YAAC,MAAM;QACpC,KAAK,YAAY;YAAE,KAAK,IAAI,CAAC,CAAC;YAAC,MAAM;QACrC,KAAK,MAAM;YAAE,KAAK,IAAI,CAAC,CAAC;YAAC,MAAM;QAC/B,KAAK,SAAS;YAAE,KAAK,IAAI,CAAC,CAAC;YAAC,MAAM;IACpC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK;QAAE,KAAK,IAAI,CAAC,CAAC;IAExC,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QACjD,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAW;IACzC,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;IACzD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAc,EAAE,IAAc;IAC/D,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IAE1C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEnC,IAAI,UAAU,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEnD,OAAO,UAAU,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAAsC,EACtC,OAAmC,EACnC,MAAW;IAEX,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,UAAU,CAAC,QAAQ,GAAG,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAC3F,IAAI,UAAU,CAAC,QAAQ,GAAG,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;QAClG,KAAK,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAErE,IAAI,UAAU,CAAC,OAAO,GAAG,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC7C,IAAI,UAAU,CAAC,OAAO,GAAG,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;;QAC7D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEzB,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAClD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;;QAC5D,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAEnC,IAAI,UAAU,CAAC,YAAY,GAAG,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAEtE,IAAI,UAAU,CAAC,UAAU,GAAG,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACzD,IAAI,UAAU,CAAC,UAAU,GAAG,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;SAClE,IAAI,UAAU,CAAC,UAAU,GAAG,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAElE,IAAI,UAAU,CAAC,QAAQ,GAAG,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SACzD,IAAI,UAAU,CAAC,QAAQ,GAAG,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE7D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,cAA+B,EAC/B,QAAe,EACf,OAAe,EAAE,EACjB,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEpE,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;QACzC,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,IAAI;QACJ,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;KACvF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IAQzD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC/D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAErE,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QACd,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9B,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM;QACtD,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7C,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;KACpD,CAAC;AACJ,CAAC"}
@@ -45,9 +45,15 @@ async function bm25Search(input, options) {
45
45
  const tags = normalizeTags(options.tags ?? input.tags);
46
46
  // Build FTS5 query with proper escaping
47
47
  const ftsQuery = buildFtsQuery(input.query);
48
+ const isEmptyQuery = ftsQuery === '*';
48
49
  // Build WHERE conditions
49
- const conditions = ['memories_fts MATCH ?'];
50
- const params = [ftsQuery];
50
+ const conditions = [];
51
+ const params = [];
52
+ // For non-empty queries, use FTS5 MATCH
53
+ if (!isEmptyQuery) {
54
+ conditions.push('memories_fts MATCH ?');
55
+ params.push(ftsQuery);
56
+ }
51
57
  if (input.type) {
52
58
  conditions.push('m.type = ?');
53
59
  params.push(input.type);
@@ -65,9 +71,9 @@ async function bm25Search(input, options) {
65
71
  params.push(project.id);
66
72
  }
67
73
  }
68
- const whereClause = conditions.join(' AND ');
69
- // FTS5 search with BM25 ranking
70
- // Note: SQLite doesn't allow rowid access in subquery, so we use direct join
74
+ // For empty query with no filters, use "1=1" to match all
75
+ const whereClause = conditions.length > 0 ? conditions.join(' AND ') : '1=1';
76
+ // Build query based on whether we have a search term or not
71
77
  const statement = sqlite.prepare(`
72
78
  SELECT
73
79
  m.id as id,
@@ -77,12 +83,12 @@ async function bm25Search(input, options) {
77
83
  m.summary as summary,
78
84
  m.tags as tags,
79
85
  m.metadata as metadata,
80
- bm25(memories_fts) as bm25Score,
86
+ ${isEmptyQuery ? '0 as bm25Score' : 'bm25(memories_fts) as bm25Score'},
81
87
  m.created_at as createdAt
82
88
  FROM memories m
83
- INNER JOIN memories_fts ON m.rowid = memories_fts.rowid
89
+ ${isEmptyQuery ? '' : 'INNER JOIN memories_fts ON m.rowid = memories_fts.rowid'}
84
90
  WHERE ${whereClause}
85
- ORDER BY bm25(memories_fts)
91
+ ${isEmptyQuery ? 'ORDER BY m.created_at DESC' : 'ORDER BY bm25(memories_fts)'}
86
92
  LIMIT ?
87
93
  `);
88
94
  const rows = statement.all(...params, limit * 3);
@@ -119,10 +125,14 @@ async function vectorSearch(input, options) {
119
125
  const sqlite = db.$client;
120
126
  const limit = options.limit ?? 10;
121
127
  const tags = normalizeTags(options.tags ?? input.tags);
122
- // Get query embedding
123
- const queryEmbedding = await getEmbedding(input.query);
124
- if (!queryEmbedding) {
125
- return [];
128
+ // Check for empty query
129
+ const isEmptyQuery = !input.query || input.query.trim() === '';
130
+ // Get query embedding (only for non-empty queries)
131
+ let queryEmbedding = null;
132
+ if (!isEmptyQuery) {
133
+ queryEmbedding = await getEmbedding(input.query);
134
+ // If embedding fails but query is not empty, still proceed without semantic ranking
135
+ // Fall back to recency-based ranking
126
136
  }
127
137
  // Build WHERE conditions
128
138
  const conditions = [];
@@ -166,6 +176,25 @@ async function vectorSearch(input, options) {
166
176
  LIMIT ?
167
177
  `);
168
178
  const rows = statement.all(...params, limit * 3);
179
+ // If no embedding available, return results ordered by recency
180
+ if (!queryEmbedding) {
181
+ return rows.slice(0, limit * 2).map((item, index) => ({
182
+ id: item.id,
183
+ rank: index + 1,
184
+ score: 0, // No similarity score available
185
+ result: {
186
+ id: item.id,
187
+ projectId: item.projectId,
188
+ type: item.type,
189
+ content: item.content,
190
+ summary: item.summary ?? undefined,
191
+ tags: fromSqliteTags(item.tags ?? null),
192
+ metadata: item.metadata ? JSON.parse(item.metadata) : null,
193
+ createdAt: item.createdAt ? new Date((Number(item.createdAt) || 0) * 1000).toISOString() : undefined,
194
+ similarity: 0,
195
+ },
196
+ }));
197
+ }
169
198
  // Calculate cosine similarity for each result
170
199
  const scored = rows
171
200
  .map((row) => {
@@ -259,7 +288,7 @@ function reciprocalRankFusion(bm25Results, vectorResults, options) {
259
288
  }
260
289
  /**
261
290
  * Build FTS5 query string from user input
262
- * Handles phrase searches, AND/OR operators, and special characters
291
+ * Handles phrase searches, OR operators for better recall, and special characters
263
292
  */
264
293
  function buildFtsQuery(query) {
265
294
  // Ensure query is a string
@@ -268,16 +297,17 @@ function buildFtsQuery(query) {
268
297
  let cleaned = queryString.replace(/[^\w\s"'-]/g, ' ');
269
298
  // If query contains quotes, preserve as phrase search
270
299
  if (cleaned.includes('"')) {
271
- return cleaned;
300
+ return cleaned || '*'; // Return * for empty after cleaning
272
301
  }
273
- // Split into terms and join with AND for better precision
302
+ // Split into terms
274
303
  const terms = cleaned.trim().split(/\s+/).filter((t) => t.length > 0);
275
304
  if (terms.length === 0) {
276
- return '""'; // Empty query
305
+ return '*'; // Match all for empty query
277
306
  }
278
- // For multi-word queries, use NEAR operator for proximity search
307
+ // For multi-word queries, use OR for better recall (any term matches)
308
+ // This is less restrictive than AND and finds more relevant results
279
309
  if (terms.length > 1) {
280
- return terms.join(' ');
310
+ return terms.join(' OR ');
281
311
  }
282
312
  return terms[0];
283
313
  }
@@ -297,7 +327,11 @@ function parseEmbedding(embeddingData) {
297
327
  }
298
328
  catch {
299
329
  try {
300
- const floatArray = new Float32Array(embeddingData.buffer || embeddingData);
330
+ const buffer = embeddingData.buffer;
331
+ const arrayBuffer = buffer instanceof ArrayBuffer
332
+ ? buffer
333
+ : buffer;
334
+ const floatArray = new Float32Array(arrayBuffer);
301
335
  return Array.from(floatArray);
302
336
  }
303
337
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-search.js","sourceRoot":"","sources":["../../../core/memory/hybrid-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;;;GAIG;AACH,MAAM,KAAK,GAAG,EAAE,CAAC;AAoBjB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAkB,EAClB,UAA+B,EAAE;IAEjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC;IAEjD,gCAAgC;IAChC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrD,UAAU,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;QACnD,YAAY,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;KACtD,CAAC,CAAC;IAEH,6BAA6B;IAC7B,OAAO,oBAAoB,CACzB,WAAW,EACX,aAAa,EACb,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CACpC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CACvB,KAAkB,EAClB,OAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,oBAAoB,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,EAAE,CAAC,OAAc,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvD,wCAAwC;QACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE5C,yBAAyB;QACzB,MAAM,UAAU,GAAa,CAAC,sBAAsB,CAAC,CAAC;QACtD,MAAM,MAAM,GAAU,CAAC,QAAQ,CAAC,CAAC;QAEjC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,OAAO,EAAE,CAAC;gBACZ,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;gBACvB,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7C,gCAAgC;QAChC,6EAA6E;QAC7E,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;cAavB,WAAW;;;KAGpB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,GAAG,CAAC,CAU7C,CAAC;QAEH,4DAA4D;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAC/B,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,GAAG,CAAC;YACf,KAAK,EAAE,GAAG,CAAC,SAAS;YACpB,MAAM,EAAE;gBACN,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,IAAI,EAAE,GAAG,CAAC,IAAW;gBACrB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;gBACjC,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;gBACtC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;gBACxD,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;aACnG;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,KAAkB,EAClB,OAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,oBAAoB,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,EAAE,CAAC,OAAc,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvD,sBAAsB;QACtB,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,yBAAyB;QACzB,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,MAAM,GAAU,EAAE,CAAC;QAEzB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,OAAO,EAAE,CAAC;gBACZ,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;gBACvB,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;YACvC,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YACrC,CAAC,CAAC,EAAE,CAAC;QAEP,qCAAqC;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;QAa7B,WAAW;;;KAGd,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,GAAG,CAAC,CAW7C,CAAC;QAEH,8CAA8C;QAC9C,MAAM,MAAM,GAAG,IAAI;aAChB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACrF,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YAE5B,MAAM,UAAU,GAAG,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAC/D,OAAO;gBACL,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,UAAU;aACX,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAoC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAErE,+DAA+D;QAC/D,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAEnD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACtD,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,GAAG,CAAC;YACf,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,MAAM,EAAE;gBACN,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAW;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS;gBAClC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;gBACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC1D,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;gBACpG,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAC3B,WAA2B,EAC3B,aAA6B,EAC7B,OAAoE;IAEpE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6D,CAAC;IAEpF,uBAAuB;IACvB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;SAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,GAAG,IAAI,CAAC,MAAM;QACd,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC;KACxC,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,KAAc;IACnC,2BAA2B;IAC3B,MAAM,WAAW,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAE5E,yDAAyD;IACzD,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAEtD,sDAAsD;IACtD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,0DAA0D;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,CAAC,cAAc;IAC7B,CAAC;IAED,iEAAiE;IACjE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,aAAkB;IACxC,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAEhC,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;QAAE,OAAO,aAAa,CAAC;IAEvD,IAAI,aAAa,YAAY,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC;gBAC3E,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,MAAM,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,CAAW,EAAE,CAAW;IAChD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IAEpC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEzC,OAAO,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"hybrid-search.js","sourceRoot":"","sources":["../../../core/memory/hybrid-search.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,11 @@ export interface MemoryRecord {
23
23
  tags: string[];
24
24
  metadata?: Record<string, unknown> | null;
25
25
  createdAt?: string | null;
26
+ validFrom?: string | null;
27
+ validTo?: string | null;
28
+ recordedAt?: string | null;
26
29
  similarity?: number;
30
+ importance?: number;
27
31
  }
28
32
  export interface SearchResult extends MemoryRecord {
29
33
  similarity: number;
@@ -1 +1 @@
1
- {"version":3,"file":"memories.d.ts","sourceRoot":"","sources":["../../../core/memory/memories.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;AAExF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA+EhF;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,GAAE,OAAc,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAyB7G;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmBnG;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAUhF"}
1
+ {"version":3,"file":"memories.d.ts","sourceRoot":"","sources":["../../../core/memory/memories.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;AAExF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA6GhF;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,GAAE,OAAc,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAyB7G;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmBnG;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAUhF"}