squish-memory 1.2.0 → 1.2.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 (449) hide show
  1. package/bin/squish-mcp.mjs +40 -42
  2. package/core/scheduler/cron-scheduler.ts +10 -1
  3. package/core/worker.ts +10 -1
  4. package/package.json +119 -119
  5. package/packages/mcp/src/index.ts +99 -36
  6. package/dist/config.d.ts +0 -106
  7. package/dist/config.js +0 -194
  8. package/dist/core/adapters/config/claude-code.d.ts +0 -45
  9. package/dist/core/adapters/config/claude-code.js +0 -113
  10. package/dist/core/adapters/config/cursor.d.ts +0 -26
  11. package/dist/core/adapters/config/cursor.js +0 -74
  12. package/dist/core/adapters/config/opencode.d.ts +0 -23
  13. package/dist/core/adapters/config/opencode.js +0 -73
  14. package/dist/core/adapters/config/windsurf.d.ts +0 -26
  15. package/dist/core/adapters/config/windsurf.js +0 -74
  16. package/dist/core/adapters/index.d.ts +0 -45
  17. package/dist/core/adapters/index.js +0 -84
  18. package/dist/core/adapters/scripts/install-adapter.d.ts +0 -19
  19. package/dist/core/adapters/scripts/install-adapter.js +0 -149
  20. package/dist/core/adapters/timeline.d.ts +0 -23
  21. package/dist/core/adapters/timeline.js +0 -88
  22. package/dist/core/adapters/types.d.ts +0 -137
  23. package/dist/core/adapters/types.js +0 -50
  24. package/dist/core/agent-preferences.d.ts +0 -16
  25. package/dist/core/agent-preferences.js +0 -124
  26. package/dist/core/algorithms/analytics/token-estimator.d.ts +0 -50
  27. package/dist/core/algorithms/analytics/token-estimator.js +0 -154
  28. package/dist/core/algorithms/detection/hash-filters.d.ts +0 -47
  29. package/dist/core/algorithms/detection/hash-filters.js +0 -190
  30. package/dist/core/algorithms/detection/semantic-ranker.d.ts +0 -32
  31. package/dist/core/algorithms/detection/semantic-ranker.js +0 -118
  32. package/dist/core/algorithms/detection/two-stage-detector.d.ts +0 -52
  33. package/dist/core/algorithms/detection/two-stage-detector.js +0 -299
  34. package/dist/core/algorithms/handlers/approve-merge.d.ts +0 -22
  35. package/dist/core/algorithms/handlers/approve-merge.js +0 -179
  36. package/dist/core/algorithms/handlers/detect-duplicates.d.ts +0 -47
  37. package/dist/core/algorithms/handlers/detect-duplicates.js +0 -145
  38. package/dist/core/algorithms/handlers/get-stats.d.ts +0 -39
  39. package/dist/core/algorithms/handlers/get-stats.js +0 -88
  40. package/dist/core/algorithms/handlers/list-proposals.d.ts +0 -45
  41. package/dist/core/algorithms/handlers/list-proposals.js +0 -83
  42. package/dist/core/algorithms/handlers/preview-merge.d.ts +0 -39
  43. package/dist/core/algorithms/handlers/preview-merge.js +0 -93
  44. package/dist/core/algorithms/handlers/reject-merge.d.ts +0 -28
  45. package/dist/core/algorithms/handlers/reject-merge.js +0 -69
  46. package/dist/core/algorithms/handlers/reverse-merge.d.ts +0 -21
  47. package/dist/core/algorithms/handlers/reverse-merge.js +0 -121
  48. package/dist/core/algorithms/index.d.ts +0 -21
  49. package/dist/core/algorithms/index.js +0 -26
  50. package/dist/core/algorithms/operations/cache-maintenance.d.ts +0 -12
  51. package/dist/core/algorithms/operations/cache-maintenance.js +0 -157
  52. package/dist/core/algorithms/safety/safety-checks.d.ts +0 -18
  53. package/dist/core/algorithms/safety/safety-checks.js +0 -179
  54. package/dist/core/algorithms/strategies/merge-strategies.d.ts +0 -50
  55. package/dist/core/algorithms/strategies/merge-strategies.js +0 -288
  56. package/dist/core/algorithms/types.d.ts +0 -125
  57. package/dist/core/algorithms/types.js +0 -5
  58. package/dist/core/algorithms/utils/response-builder.d.ts +0 -28
  59. package/dist/core/algorithms/utils/response-builder.js +0 -37
  60. package/dist/core/associations.d.ts +0 -33
  61. package/dist/core/associations.js +0 -284
  62. package/dist/core/autosave.d.ts +0 -19
  63. package/dist/core/autosave.js +0 -16
  64. package/dist/core/beliefs/decay.d.ts +0 -27
  65. package/dist/core/beliefs/decay.js +0 -217
  66. package/dist/core/beliefs/extractor.d.ts +0 -9
  67. package/dist/core/beliefs/extractor.js +0 -113
  68. package/dist/core/beliefs/store.d.ts +0 -46
  69. package/dist/core/beliefs/store.js +0 -466
  70. package/dist/core/beliefs/types.d.ts +0 -28
  71. package/dist/core/beliefs/types.js +0 -2
  72. package/dist/core/commands/mcp-server.d.ts +0 -2
  73. package/dist/core/commands/mcp-server.js +0 -6
  74. package/dist/core/commands/remember.d.ts +0 -24
  75. package/dist/core/commands/remember.js +0 -144
  76. package/dist/core/compression.d.ts +0 -45
  77. package/dist/core/compression.js +0 -160
  78. package/dist/core/consolidation.d.ts +0 -37
  79. package/dist/core/consolidation.js +0 -248
  80. package/dist/core/context/agent-context.d.ts +0 -106
  81. package/dist/core/context/agent-context.js +0 -274
  82. package/dist/core/context/context-paging.d.ts +0 -80
  83. package/dist/core/context/context-paging.js +0 -328
  84. package/dist/core/context/context-window.d.ts +0 -40
  85. package/dist/core/context/context-window.js +0 -177
  86. package/dist/core/context/context.d.ts +0 -7
  87. package/dist/core/context/context.js +0 -22
  88. package/dist/core/embeddings/embeddings.d.ts +0 -29
  89. package/dist/core/embeddings/embeddings.js +0 -546
  90. package/dist/core/embeddings/google-multimodal.d.ts +0 -14
  91. package/dist/core/embeddings/google-multimodal.js +0 -146
  92. package/dist/core/embeddings/local-embeddings.d.ts +0 -11
  93. package/dist/core/embeddings/local-embeddings.js +0 -11
  94. package/dist/core/embeddings/qmd-client.d.ts +0 -136
  95. package/dist/core/embeddings/qmd-client.js +0 -403
  96. package/dist/core/embeddings/transformers-local.d.ts +0 -64
  97. package/dist/core/embeddings/transformers-local.js +0 -213
  98. package/dist/core/embeddings.d.ts +0 -2
  99. package/dist/core/embeddings.js +0 -3
  100. package/dist/core/error-handling.d.ts +0 -63
  101. package/dist/core/error-handling.js +0 -173
  102. package/dist/core/graph/entity-deduplicator.d.ts +0 -24
  103. package/dist/core/graph/entity-deduplicator.js +0 -183
  104. package/dist/core/graph/graph-builder.d.ts +0 -46
  105. package/dist/core/graph/graph-builder.js +0 -174
  106. package/dist/core/graph/graph-traversal.d.ts +0 -80
  107. package/dist/core/graph/graph-traversal.js +0 -315
  108. package/dist/core/graph/index.d.ts +0 -19
  109. package/dist/core/graph/index.js +0 -13
  110. package/dist/core/graph/llm-entity-extractor.d.ts +0 -49
  111. package/dist/core/graph/llm-entity-extractor.js +0 -313
  112. package/dist/core/graph/multi-hop-retrieval.d.ts +0 -48
  113. package/dist/core/graph/multi-hop-retrieval.js +0 -215
  114. package/dist/core/graph/relationship-extractor.d.ts +0 -48
  115. package/dist/core/graph/relationship-extractor.js +0 -351
  116. package/dist/core/hooks/agent-hooks.d.ts +0 -83
  117. package/dist/core/hooks/agent-hooks.js +0 -521
  118. package/dist/core/hooks/auto-tagger.d.ts +0 -19
  119. package/dist/core/hooks/auto-tagger.js +0 -155
  120. package/dist/core/hooks/capture-filter.d.ts +0 -41
  121. package/dist/core/hooks/capture-filter.js +0 -128
  122. package/dist/core/hot-cache.d.ts +0 -86
  123. package/dist/core/hot-cache.js +0 -285
  124. package/dist/core/index.d.ts +0 -10
  125. package/dist/core/index.js +0 -11
  126. package/dist/core/ingestion/agent-memory.d.ts +0 -22
  127. package/dist/core/ingestion/agent-memory.js +0 -109
  128. package/dist/core/ingestion/core-memory.d.ts +0 -78
  129. package/dist/core/ingestion/core-memory.js +0 -226
  130. package/dist/core/ingestion/learnings.d.ts +0 -57
  131. package/dist/core/ingestion/learnings.js +0 -205
  132. package/dist/core/ingestion/signal-engine.d.ts +0 -41
  133. package/dist/core/ingestion/signal-engine.js +0 -201
  134. package/dist/core/integrations/obsidian-vault.d.ts +0 -31
  135. package/dist/core/integrations/obsidian-vault.js +0 -156
  136. package/dist/core/layers/generator.d.ts +0 -25
  137. package/dist/core/layers/generator.js +0 -76
  138. package/dist/core/lib/db-client.d.ts +0 -114
  139. package/dist/core/lib/db-client.js +0 -130
  140. package/dist/core/lib/parse-embedding.d.ts +0 -9
  141. package/dist/core/lib/parse-embedding.js +0 -58
  142. package/dist/core/lib/schemas.d.ts +0 -132
  143. package/dist/core/lib/schemas.js +0 -87
  144. package/dist/core/lib/types.d.ts +0 -45
  145. package/dist/core/lib/types.js +0 -6
  146. package/dist/core/lib/utils.d.ts +0 -18
  147. package/dist/core/lib/utils.js +0 -145
  148. package/dist/core/lib/validation.d.ts +0 -38
  149. package/dist/core/lib/validation.js +0 -151
  150. package/dist/core/lifecycle.d.ts +0 -25
  151. package/dist/core/lifecycle.js +0 -292
  152. package/dist/core/logger.d.ts +0 -17
  153. package/dist/core/logger.js +0 -46
  154. package/dist/core/mcp/client.d.ts +0 -17
  155. package/dist/core/mcp/client.js +0 -101
  156. package/dist/core/mcp/index.d.ts +0 -6
  157. package/dist/core/mcp/index.js +0 -6
  158. package/dist/core/mcp/server.d.ts +0 -18
  159. package/dist/core/mcp/server.js +0 -157
  160. package/dist/core/mcp/standalone-server.d.ts +0 -13
  161. package/dist/core/mcp/standalone-server.js +0 -46
  162. package/dist/core/mcp/tools.d.ts +0 -7
  163. package/dist/core/mcp/tools.js +0 -278
  164. package/dist/core/mcp/types.d.ts +0 -87
  165. package/dist/core/mcp/types.js +0 -48
  166. package/dist/core/memory/bridge-discovery.d.ts +0 -50
  167. package/dist/core/memory/bridge-discovery.js +0 -291
  168. package/dist/core/memory/categorizer.d.ts +0 -27
  169. package/dist/core/memory/categorizer.js +0 -306
  170. package/dist/core/memory/conflict-detector.d.ts +0 -7
  171. package/dist/core/memory/conflict-detector.js +0 -43
  172. package/dist/core/memory/consolidation.d.ts +0 -42
  173. package/dist/core/memory/consolidation.js +0 -277
  174. package/dist/core/memory/context-collector.d.ts +0 -10
  175. package/dist/core/memory/context-collector.js +0 -56
  176. package/dist/core/memory/contradiction-resolver.d.ts +0 -40
  177. package/dist/core/memory/contradiction-resolver.js +0 -368
  178. package/dist/core/memory/edit-workflow.d.ts +0 -19
  179. package/dist/core/memory/edit-workflow.js +0 -120
  180. package/dist/core/memory/entity-extractor.d.ts +0 -37
  181. package/dist/core/memory/entity-extractor.js +0 -350
  182. package/dist/core/memory/entity-resolver.d.ts +0 -23
  183. package/dist/core/memory/entity-resolver.js +0 -64
  184. package/dist/core/memory/explain.d.ts +0 -18
  185. package/dist/core/memory/explain.js +0 -92
  186. package/dist/core/memory/fact-deriver.d.ts +0 -31
  187. package/dist/core/memory/fact-deriver.js +0 -236
  188. package/dist/core/memory/fact-extractor.d.ts +0 -24
  189. package/dist/core/memory/fact-extractor.js +0 -89
  190. package/dist/core/memory/feedback-tracker.d.ts +0 -12
  191. package/dist/core/memory/feedback-tracker.js +0 -155
  192. package/dist/core/memory/hooks.d.ts +0 -88
  193. package/dist/core/memory/hooks.js +0 -174
  194. package/dist/core/memory/hybrid-retrieval.d.ts +0 -27
  195. package/dist/core/memory/hybrid-retrieval.js +0 -37
  196. package/dist/core/memory/hybrid-scorer.d.ts +0 -40
  197. package/dist/core/memory/hybrid-scorer.js +0 -267
  198. package/dist/core/memory/hybrid-search.d.ts +0 -23
  199. package/dist/core/memory/hybrid-search.js +0 -596
  200. package/dist/core/memory/importance.d.ts +0 -46
  201. package/dist/core/memory/importance.js +0 -241
  202. package/dist/core/memory/index.d.ts +0 -9
  203. package/dist/core/memory/index.js +0 -11
  204. package/dist/core/memory/loader.d.ts +0 -31
  205. package/dist/core/memory/loader.js +0 -141
  206. package/dist/core/memory/markdown/markdown-storage.d.ts +0 -72
  207. package/dist/core/memory/markdown/markdown-storage.js +0 -243
  208. package/dist/core/memory/memories.d.ts +0 -43
  209. package/dist/core/memory/memories.js +0 -452
  210. package/dist/core/memory/memory-lifecycle.d.ts +0 -8
  211. package/dist/core/memory/memory-lifecycle.js +0 -47
  212. package/dist/core/memory/memory-manager.d.ts +0 -15
  213. package/dist/core/memory/memory-manager.js +0 -46
  214. package/dist/core/memory/migrate.d.ts +0 -21
  215. package/dist/core/memory/migrate.js +0 -134
  216. package/dist/core/memory/normalization.d.ts +0 -7
  217. package/dist/core/memory/normalization.js +0 -26
  218. package/dist/core/memory/path-strengthener.d.ts +0 -39
  219. package/dist/core/memory/path-strengthener.js +0 -150
  220. package/dist/core/memory/progressive-disclosure.d.ts +0 -43
  221. package/dist/core/memory/progressive-disclosure.js +0 -280
  222. package/dist/core/memory/query-processor.d.ts +0 -21
  223. package/dist/core/memory/query-processor.js +0 -106
  224. package/dist/core/memory/query-rewriter.d.ts +0 -13
  225. package/dist/core/memory/query-rewriter.js +0 -118
  226. package/dist/core/memory/response-analyzer.d.ts +0 -9
  227. package/dist/core/memory/response-analyzer.js +0 -61
  228. package/dist/core/memory/retrieval-feedback.d.ts +0 -70
  229. package/dist/core/memory/retrieval-feedback.js +0 -213
  230. package/dist/core/memory/serialization.d.ts +0 -10
  231. package/dist/core/memory/serialization.js +0 -84
  232. package/dist/core/memory/stale-cleaner.d.ts +0 -26
  233. package/dist/core/memory/stale-cleaner.js +0 -97
  234. package/dist/core/memory/stats.d.ts +0 -32
  235. package/dist/core/memory/stats.js +0 -143
  236. package/dist/core/memory/telemetry.d.ts +0 -69
  237. package/dist/core/memory/telemetry.js +0 -313
  238. package/dist/core/memory/temporal-facts.d.ts +0 -41
  239. package/dist/core/memory/temporal-facts.js +0 -283
  240. package/dist/core/memory/temporal-parser.d.ts +0 -32
  241. package/dist/core/memory/temporal-parser.js +0 -385
  242. package/dist/core/memory/trigger-detector.d.ts +0 -21
  243. package/dist/core/memory/trigger-detector.js +0 -79
  244. package/dist/core/memory/write-gate.d.ts +0 -54
  245. package/dist/core/memory/write-gate.js +0 -210
  246. package/dist/core/places/index.d.ts +0 -14
  247. package/dist/core/places/index.js +0 -14
  248. package/dist/core/places/memory-places.d.ts +0 -68
  249. package/dist/core/places/memory-places.js +0 -261
  250. package/dist/core/places/places.d.ts +0 -88
  251. package/dist/core/places/places.js +0 -314
  252. package/dist/core/places/rules.d.ts +0 -74
  253. package/dist/core/places/rules.js +0 -240
  254. package/dist/core/places/walking.d.ts +0 -56
  255. package/dist/core/places/walking.js +0 -121
  256. package/dist/core/projects.d.ts +0 -17
  257. package/dist/core/projects.js +0 -116
  258. package/dist/core/redis.d.ts +0 -11
  259. package/dist/core/redis.js +0 -69
  260. package/dist/core/responses.d.ts +0 -96
  261. package/dist/core/responses.js +0 -122
  262. package/dist/core/runtime/trust-report.d.ts +0 -102
  263. package/dist/core/runtime/trust-report.js +0 -107
  264. package/dist/core/runtime/trust-state.d.ts +0 -12
  265. package/dist/core/runtime/trust-state.js +0 -309
  266. package/dist/core/scheduler/cron-scheduler.d.ts +0 -32
  267. package/dist/core/scheduler/cron-scheduler.js +0 -493
  268. package/dist/core/scheduler/heartbeat.d.ts +0 -11
  269. package/dist/core/scheduler/heartbeat.js +0 -73
  270. package/dist/core/scheduler/index.d.ts +0 -8
  271. package/dist/core/scheduler/index.js +0 -8
  272. package/dist/core/scheduler/job-runner.d.ts +0 -11
  273. package/dist/core/scheduler/job-runner.js +0 -164
  274. package/dist/core/search/conversations.d.ts +0 -25
  275. package/dist/core/search/conversations.js +0 -110
  276. package/dist/core/search/entities.d.ts +0 -12
  277. package/dist/core/search/entities.js +0 -31
  278. package/dist/core/search/folder-context.d.ts +0 -25
  279. package/dist/core/search/folder-context.js +0 -119
  280. package/dist/core/search/graph-boost.d.ts +0 -7
  281. package/dist/core/search/graph-boost.js +0 -23
  282. package/dist/core/search/index.d.ts +0 -4
  283. package/dist/core/search/index.js +0 -5
  284. package/dist/core/search/qmd-wrapper.d.ts +0 -36
  285. package/dist/core/search/qmd-wrapper.js +0 -58
  286. package/dist/core/security/encrypt.d.ts +0 -6
  287. package/dist/core/security/encrypt.js +0 -47
  288. package/dist/core/security/governance.d.ts +0 -26
  289. package/dist/core/security/governance.js +0 -79
  290. package/dist/core/security/privacy.d.ts +0 -23
  291. package/dist/core/security/privacy.js +0 -82
  292. package/dist/core/security/secret-detector.d.ts +0 -32
  293. package/dist/core/security/secret-detector.js +0 -88
  294. package/dist/core/session/auto-load.d.ts +0 -6
  295. package/dist/core/session/auto-load.js +0 -144
  296. package/dist/core/session/entity-tracker.d.ts +0 -62
  297. package/dist/core/session/entity-tracker.js +0 -287
  298. package/dist/core/session/index.d.ts +0 -7
  299. package/dist/core/session/index.js +0 -7
  300. package/dist/core/session/reference-resolver.d.ts +0 -26
  301. package/dist/core/session/reference-resolver.js +0 -121
  302. package/dist/core/session/self-iteration-job.d.ts +0 -35
  303. package/dist/core/session/self-iteration-job.js +0 -387
  304. package/dist/core/session/session-hooks.d.ts +0 -18
  305. package/dist/core/session/session-hooks.js +0 -58
  306. package/dist/core/session/types.d.ts +0 -26
  307. package/dist/core/session/types.js +0 -10
  308. package/dist/core/session/working-set.d.ts +0 -50
  309. package/dist/core/session/working-set.js +0 -212
  310. package/dist/core/snapshots/cleanup.d.ts +0 -9
  311. package/dist/core/snapshots/cleanup.js +0 -12
  312. package/dist/core/snapshots/comparison.d.ts +0 -19
  313. package/dist/core/snapshots/comparison.js +0 -43
  314. package/dist/core/snapshots/creation.d.ts +0 -13
  315. package/dist/core/snapshots/creation.js +0 -117
  316. package/dist/core/snapshots/retrieval.d.ts +0 -7
  317. package/dist/core/snapshots/retrieval.js +0 -41
  318. package/dist/core/snapshots/stats.d.ts +0 -11
  319. package/dist/core/snapshots/stats.js +0 -52
  320. package/dist/core/storage/cache.d.ts +0 -13
  321. package/dist/core/storage/cache.js +0 -202
  322. package/dist/core/storage/database.d.ts +0 -12
  323. package/dist/core/storage/database.js +0 -12
  324. package/dist/core/summarization/cleanup.d.ts +0 -9
  325. package/dist/core/summarization/cleanup.js +0 -12
  326. package/dist/core/summarization/queries.d.ts +0 -9
  327. package/dist/core/summarization/queries.js +0 -28
  328. package/dist/core/summarization/stats.d.ts +0 -14
  329. package/dist/core/summarization/stats.js +0 -52
  330. package/dist/core/summarization/strategies.d.ts +0 -24
  331. package/dist/core/summarization/strategies.js +0 -28
  332. package/dist/core/summarization.d.ts +0 -37
  333. package/dist/core/summarization.js +0 -188
  334. package/dist/core/temporal-facts.d.ts +0 -54
  335. package/dist/core/temporal-facts.js +0 -193
  336. package/dist/core/tracing/collector.d.ts +0 -111
  337. package/dist/core/tracing/collector.js +0 -350
  338. package/dist/core/tracing/visualizer.d.ts +0 -32
  339. package/dist/core/tracing/visualizer.js +0 -165
  340. package/dist/core/utils/cleanup-operations.d.ts +0 -13
  341. package/dist/core/utils/cleanup-operations.js +0 -44
  342. package/dist/core/utils/content-extraction.d.ts +0 -19
  343. package/dist/core/utils/content-extraction.js +0 -75
  344. package/dist/core/utils/filter-builder.d.ts +0 -13
  345. package/dist/core/utils/filter-builder.js +0 -44
  346. package/dist/core/utils/history-traversal.d.ts +0 -13
  347. package/dist/core/utils/history-traversal.js +0 -50
  348. package/dist/core/utils/memory-operations.d.ts +0 -17
  349. package/dist/core/utils/memory-operations.js +0 -43
  350. package/dist/core/utils/query-operations.d.ts +0 -18
  351. package/dist/core/utils/query-operations.js +0 -65
  352. package/dist/core/utils/summarization-helpers.d.ts +0 -17
  353. package/dist/core/utils/summarization-helpers.js +0 -33
  354. package/dist/core/utils/temporal-queries.d.ts +0 -13
  355. package/dist/core/utils/temporal-queries.js +0 -27
  356. package/dist/core/utils/vector-operations.d.ts +0 -71
  357. package/dist/core/utils/vector-operations.js +0 -129
  358. package/dist/core/utils/version-management.d.ts +0 -9
  359. package/dist/core/utils/version-management.js +0 -61
  360. package/dist/core/worker.d.ts +0 -82
  361. package/dist/core/worker.js +0 -272
  362. package/dist/db/adapter.d.ts +0 -7
  363. package/dist/db/adapter.js +0 -175
  364. package/dist/db/bootstrap.d.ts +0 -11
  365. package/dist/db/bootstrap.js +0 -1034
  366. package/dist/db/drizzle/schema-sqlite.d.ts +0 -5538
  367. package/dist/db/drizzle/schema-sqlite.js +0 -763
  368. package/dist/db/drizzle/schema.d.ts +0 -4734
  369. package/dist/db/drizzle/schema.js +0 -859
  370. package/dist/db/drizzle.config.d.ts +0 -3
  371. package/dist/db/drizzle.config.js +0 -12
  372. package/dist/db/index.d.ts +0 -7
  373. package/dist/db/index.js +0 -89
  374. package/dist/db/migrations/associations.d.ts +0 -6
  375. package/dist/db/migrations/associations.js +0 -29
  376. package/dist/db/migrations/beliefs.d.ts +0 -10
  377. package/dist/db/migrations/beliefs.js +0 -76
  378. package/dist/db/migrations/core-memory.d.ts +0 -6
  379. package/dist/db/migrations/core-memory.js +0 -29
  380. package/dist/db/migrations/fts.d.ts +0 -6
  381. package/dist/db/migrations/fts.js +0 -52
  382. package/dist/db/migrations/index.d.ts +0 -25
  383. package/dist/db/migrations/index.js +0 -51
  384. package/dist/db/migrations/indexes.d.ts +0 -6
  385. package/dist/db/migrations/indexes.js +0 -30
  386. package/dist/db/migrations/learnings.d.ts +0 -7
  387. package/dist/db/migrations/learnings.js +0 -26
  388. package/dist/db/migrations/maintenance.d.ts +0 -6
  389. package/dist/db/migrations/maintenance.js +0 -61
  390. package/dist/db/migrations/memories.d.ts +0 -7
  391. package/dist/db/migrations/memories.js +0 -16
  392. package/dist/db/migrations/memory-places.d.ts +0 -6
  393. package/dist/db/migrations/memory-places.js +0 -29
  394. package/dist/db/migrations/places.d.ts +0 -6
  395. package/dist/db/migrations/places.js +0 -43
  396. package/dist/db/migrations/projects.d.ts +0 -3
  397. package/dist/db/migrations/projects.js +0 -13
  398. package/dist/db/migrations/tier-conversion.d.ts +0 -7
  399. package/dist/db/migrations/tier-conversion.js +0 -20
  400. package/dist/db/neon.d.ts +0 -8
  401. package/dist/db/neon.js +0 -20
  402. package/dist/db/schema/beliefs.d.ts +0 -9
  403. package/dist/db/schema/beliefs.js +0 -46
  404. package/dist/db/schema/generator.d.ts +0 -38
  405. package/dist/db/schema/generator.js +0 -108
  406. package/dist/db/schema/index.d.ts +0 -39
  407. package/dist/db/schema/index.js +0 -51
  408. package/dist/db/schema/learnings.d.ts +0 -7
  409. package/dist/db/schema/learnings.js +0 -30
  410. package/dist/db/schema/memories.d.ts +0 -7
  411. package/dist/db/schema/memories.js +0 -81
  412. package/dist/db/schema/projects.d.ts +0 -4
  413. package/dist/db/schema/projects.js +0 -31
  414. package/dist/db/schema/tables/context-sessions.d.ts +0 -9
  415. package/dist/db/schema/tables/context-sessions.js +0 -37
  416. package/dist/db/schema/tables/conversations.d.ts +0 -9
  417. package/dist/db/schema/tables/conversations.js +0 -47
  418. package/dist/db/schema/tables/core-memory.d.ts +0 -9
  419. package/dist/db/schema/tables/core-memory.js +0 -41
  420. package/dist/db/schema/tables/entities.d.ts +0 -9
  421. package/dist/db/schema/tables/entities.js +0 -39
  422. package/dist/db/schema/tables/entity-relations.d.ts +0 -9
  423. package/dist/db/schema/tables/entity-relations.js +0 -31
  424. package/dist/db/schema/tables/learnings.d.ts +0 -9
  425. package/dist/db/schema/tables/learnings.js +0 -66
  426. package/dist/db/schema/tables/memories.d.ts +0 -9
  427. package/dist/db/schema/tables/memories.js +0 -161
  428. package/dist/db/schema/tables/memory-associations.d.ts +0 -9
  429. package/dist/db/schema/tables/memory-associations.js +0 -39
  430. package/dist/db/schema/tables/memory-hash-cache.d.ts +0 -9
  431. package/dist/db/schema/tables/memory-hash-cache.js +0 -29
  432. package/dist/db/schema/tables/memory-merge-history.d.ts +0 -9
  433. package/dist/db/schema/tables/memory-merge-history.js +0 -33
  434. package/dist/db/schema/tables/memory-merge-proposals.d.ts +0 -9
  435. package/dist/db/schema/tables/memory-merge-proposals.js +0 -39
  436. package/dist/db/schema/tables/messages.d.ts +0 -9
  437. package/dist/db/schema/tables/messages.js +0 -41
  438. package/dist/db/schema/tables/namespaces.d.ts +0 -9
  439. package/dist/db/schema/tables/namespaces.js +0 -37
  440. package/dist/db/schema/tables/projects.d.ts +0 -9
  441. package/dist/db/schema/tables/projects.js +0 -31
  442. package/dist/db/schema/tables/users.d.ts +0 -9
  443. package/dist/db/schema/tables/users.js +0 -27
  444. package/dist/db/schema.d.ts +0 -3
  445. package/dist/db/schema.js +0 -11
  446. package/dist/db/supabase.d.ts +0 -9
  447. package/dist/db/supabase.js +0 -24
  448. package/dist/packages/mcp/src/index.d.ts +0 -3
  449. package/dist/packages/mcp/src/index.js +0 -733
@@ -1,350 +0,0 @@
1
- /**
2
- * Entity Extractor
3
- * Extracts named entities from memory content
4
- * Supports people, files, functions, dates, locations, concepts, tools, and patterns
5
- */
6
- import { getDb } from '../../db/index.js';
7
- import { getSchema } from '../../db/schema.js';
8
- import { eq, and } from 'drizzle-orm';
9
- import { logger } from '../../core/logger.js';
10
- // Regex patterns for entity detection
11
- const PATTERNS = {
12
- // File paths: src/components/Button.tsx
13
- filePath: /(?:^|[^\w])(?:\.?\/[\w.-]*[\w.-]*(?:\/[\w.-]+)*|[\w.-]+\.(?:ts|tsx|js|jsx|py|rb|go|java|cpp|c|h|json|yaml|yml|env|md|txt|csv|sql|graphql))\b/gm,
14
- // Functions/methods
15
- functionCall: /\b([a-zA-Z_$][a-zA-Z0-9_$]*)\s*(?=\()/g,
16
- // Classes
17
- className: /\b(?:class|new|extends|implements)\s+([A-Z][a-zA-Z0-9_$]*)\b/g,
18
- // Common names
19
- personName: /(?:^|[^.\w])\b([A-Z][a-z]+(?:\s+[A-Z][a-z]+)?)\b(?![^.\w])/g,
20
- // Capitalized concepts
21
- concept: /\b(?:[A-Z][a-z]+\s+)+(?:System|Architecture|Pattern|Model|Algorithm|Framework|Library|Process|Concept|Method)\b/g,
22
- // Tools
23
- tool: /\b(?:React|Vue|Angular|Node\.?js?|Express|Django|Flask|FastAPI|PostgreSQL|MongoDB|Redis|Docker|Kubernetes)\b/g,
24
- // Design patterns
25
- designPattern: /\b(?:abstract\s+)?(?:factory|singleton|observer|decorator|strategy|adapter)\s+(?:pattern|method)\b/gi,
26
- // Techniques
27
- technique: /\b(?:memoization|caching|lazy\s+loading|debouncing|throttling)\b/gi,
28
- // ISO dates
29
- date: /\b(\d{4}-\d{2}-\d{2})(?:T\d{2}:\d{2}:\d{2})?\b/g,
30
- };
31
- /**
32
- * Extract unique entity names for auto-linking
33
- */
34
- export function extractEntityNames(content) {
35
- const names = new Set();
36
- // Extract person names
37
- const namePattern = /(?:^|[^.\w])\b([A-Z][a-z]+(?:\s+[A-Z][a-z]+)?)\b(?![^.\w])/g;
38
- let match;
39
- while ((match = namePattern.exec(content)) !== null) {
40
- names.add(match[1].toLowerCase());
41
- }
42
- // Extract capitalized concepts
43
- const conceptPattern = /\b[A-Z][a-z]+(?:\s+[A-Z][a-z]+)+\b/g;
44
- while ((match = conceptPattern.exec(content)) !== null) {
45
- names.add(match[0].toLowerCase());
46
- }
47
- return Array.from(names).slice(0, 10);
48
- }
49
- /**
50
- * Extract entities from content
51
- */
52
- export async function extractEntities(content) {
53
- const entities = [];
54
- const seenKeys = new Set(); // Deduplicate entities
55
- // Extract file paths
56
- const filePaths = Array.from(content.matchAll(PATTERNS.filePath));
57
- for (const match of filePaths) {
58
- const name = match[0].trim();
59
- const key = `file:${name}`;
60
- if (!seenKeys.has(key)) {
61
- entities.push({
62
- name,
63
- type: 'file',
64
- confidence: 0.9,
65
- startIndex: match.index || 0,
66
- endIndex: (match.index || 0) + match[0].length,
67
- context: extractContext(content, match.index || 0),
68
- normalized: normalizePath(name),
69
- });
70
- seenKeys.add(key);
71
- }
72
- }
73
- // Extract function calls
74
- const functionCalls = Array.from(content.matchAll(PATTERNS.functionCall));
75
- for (const match of functionCalls) {
76
- const name = match[1];
77
- const key = `function:${name}`;
78
- if (!seenKeys.has(key) && name.length > 2) {
79
- entities.push({
80
- name,
81
- type: 'function',
82
- confidence: 0.85,
83
- startIndex: match.index || 0,
84
- endIndex: (match.index || 0) + match[0].length,
85
- context: extractContext(content, match.index || 0),
86
- });
87
- seenKeys.add(key);
88
- }
89
- }
90
- // Extract class names
91
- const classNames = Array.from(content.matchAll(PATTERNS.className));
92
- for (const match of classNames) {
93
- const name = match[1];
94
- const key = `class:${name}`;
95
- if (!seenKeys.has(key)) {
96
- entities.push({
97
- name,
98
- type: 'class',
99
- confidence: 0.95,
100
- startIndex: match.index || 0,
101
- endIndex: (match.index || 0) + match[0].length,
102
- context: extractContext(content, match.index || 0),
103
- });
104
- seenKeys.add(key);
105
- }
106
- }
107
- // Extract technologies/tools
108
- const tools = Array.from(content.matchAll(PATTERNS.tool));
109
- for (const match of tools) {
110
- const name = match[0];
111
- const key = `tool:${name}`;
112
- if (!seenKeys.has(key)) {
113
- entities.push({
114
- name,
115
- type: 'tool',
116
- confidence: 0.9,
117
- startIndex: match.index || 0,
118
- endIndex: (match.index || 0) + match[0].length,
119
- context: extractContext(content, match.index || 0),
120
- });
121
- seenKeys.add(key);
122
- }
123
- }
124
- // Extract design patterns
125
- const patterns = Array.from(content.matchAll(PATTERNS.designPattern));
126
- for (const match of patterns) {
127
- const name = match[0];
128
- const key = `pattern:${name}`;
129
- if (!seenKeys.has(key)) {
130
- entities.push({
131
- name,
132
- type: 'pattern',
133
- confidence: 0.92,
134
- startIndex: match.index || 0,
135
- endIndex: (match.index || 0) + match[0].length,
136
- context: extractContext(content, match.index || 0),
137
- });
138
- seenKeys.add(key);
139
- }
140
- }
141
- // Extract techniques/methodologies
142
- const techniques = Array.from(content.matchAll(PATTERNS.technique));
143
- for (const match of techniques) {
144
- const name = match[0];
145
- const key = `technique:${name}`;
146
- if (!seenKeys.has(key)) {
147
- entities.push({
148
- name,
149
- type: 'technique',
150
- confidence: 0.88,
151
- startIndex: match.index || 0,
152
- endIndex: (match.index || 0) + match[0].length,
153
- context: extractContext(content, match.index || 0),
154
- });
155
- seenKeys.add(key);
156
- }
157
- }
158
- // Extract dates
159
- const dates = Array.from(content.matchAll(PATTERNS.date));
160
- for (const match of dates) {
161
- const name = match[0];
162
- const key = `date:${name}`;
163
- if (!seenKeys.has(key)) {
164
- entities.push({
165
- name,
166
- type: 'date',
167
- confidence: 0.95,
168
- startIndex: match.index || 0,
169
- endIndex: (match.index || 0) + match[0].length,
170
- context: extractContext(content, match.index || 0),
171
- });
172
- seenKeys.add(key);
173
- }
174
- }
175
- // Extract quoted important concepts
176
- const quotedConcepts = Array.from(content.matchAll(PATTERNS.quotedConcept));
177
- for (const match of quotedConcepts) {
178
- const name = match[1];
179
- const key = `concept:${name}`;
180
- if (!seenKeys.has(key) && name.length > 2) {
181
- entities.push({
182
- name,
183
- type: 'concept',
184
- confidence: 0.8,
185
- startIndex: match.index || 0,
186
- endIndex: (match.index || 0) + match[0].length,
187
- context: extractContext(content, match.index || 0),
188
- });
189
- seenKeys.add(key);
190
- }
191
- }
192
- // Extract capitalized concepts
193
- const concepts = Array.from(content.matchAll(PATTERNS.concept));
194
- for (const match of concepts) {
195
- const name = match[0];
196
- const key = `concept:${name}`;
197
- if (!seenKeys.has(key)) {
198
- entities.push({
199
- name,
200
- type: 'concept',
201
- confidence: 0.75,
202
- startIndex: match.index || 0,
203
- endIndex: (match.index || 0) + match[0].length,
204
- context: extractContext(content, match.index || 0),
205
- });
206
- seenKeys.add(key);
207
- }
208
- }
209
- // Sort by start index
210
- entities.sort((a, b) => a.startIndex - b.startIndex);
211
- logger.debug('Entities extracted', {
212
- count: entities.length,
213
- byType: countByType(entities),
214
- });
215
- return entities;
216
- }
217
- /**
218
- * Link extracted entities to memory records
219
- * Creates entity records in the knowledge graph
220
- */
221
- export async function linkEntitiesToMemories(memoryId, entities) {
222
- if (entities.length === 0)
223
- return;
224
- try {
225
- const db = await getDb();
226
- const schema = await getSchema();
227
- // Get memory to find project
228
- const memories = await db
229
- .select()
230
- .from(schema.memories)
231
- .where(eq(schema.memories.id, memoryId))
232
- .limit(1);
233
- if (memories.length === 0)
234
- return;
235
- const memory = memories[0];
236
- // Insert unique entities into the knowledge graph
237
- for (const entity of entities) {
238
- try {
239
- // Check if entity already exists
240
- const existing = await db
241
- .select()
242
- .from(schema.entities)
243
- .where(and(eq(schema.entities.projectId, memory.projectId), eq(schema.entities.name, entity.name), eq(schema.entities.type, entity.type)))
244
- .limit(1);
245
- if (existing.length === 0) {
246
- // Insert new entity with metadata in properties
247
- await db.insert(schema.entities).values({
248
- name: entity.name,
249
- type: entity.type,
250
- projectId: memory.projectId,
251
- description: entity.context,
252
- properties: {
253
- confidence: entity.confidence,
254
- extractedFrom: memoryId,
255
- normalized: entity.normalized,
256
- },
257
- });
258
- }
259
- }
260
- catch (error) {
261
- logger.error('Error inserting entity', { entity, error });
262
- }
263
- }
264
- logger.debug('Entities linked to memory', {
265
- memoryId,
266
- entityCount: entities.length,
267
- });
268
- }
269
- catch (error) {
270
- logger.error('Error linking entities to memories', error);
271
- }
272
- }
273
- /**
274
- * Get entities extracted from a memory based on properties
275
- */
276
- export async function getMemoryEntities(memoryId) {
277
- try {
278
- const db = await getDb();
279
- const schema = await getSchema();
280
- // Find all entities with this memory ID in properties
281
- const allEntities = await db.select().from(schema.entities);
282
- const entities = [];
283
- for (const entity of allEntities) {
284
- const props = entity.properties;
285
- if (props && props.extractedFrom === memoryId) {
286
- entities.push({
287
- name: entity.name,
288
- type: entity.type,
289
- confidence: props.confidence || 0.8,
290
- startIndex: 0,
291
- endIndex: 0,
292
- context: entity.description || '',
293
- normalized: props.normalized,
294
- });
295
- }
296
- }
297
- return entities;
298
- }
299
- catch (error) {
300
- logger.error('Error getting memory entities', error);
301
- return [];
302
- }
303
- }
304
- /**
305
- * Get all entities for a project
306
- */
307
- export async function getProjectEntities(projectId, type) {
308
- try {
309
- const db = await getDb();
310
- const schema = await getSchema();
311
- let query = db.select().from(schema.entities).where(eq(schema.entities.projectId, projectId));
312
- if (type) {
313
- query = query.where(eq(schema.entities.type, type));
314
- }
315
- return await query;
316
- }
317
- catch (error) {
318
- logger.error('Error getting project entities', error);
319
- return [];
320
- }
321
- }
322
- /**
323
- * Extract context around entity
324
- */
325
- function extractContext(content, index, contextLength = 50) {
326
- const start = Math.max(0, index - contextLength);
327
- const end = Math.min(content.length, index + contextLength);
328
- return content.substring(start, end).trim();
329
- }
330
- /**
331
- * Normalize file path
332
- */
333
- function normalizePath(path) {
334
- return path
335
- .trim()
336
- .replace(/^\.\//, '')
337
- .toLowerCase()
338
- .replace(/\\/g, '/');
339
- }
340
- /**
341
- * Count entities by type
342
- */
343
- function countByType(entities) {
344
- const counts = {};
345
- for (const entity of entities) {
346
- counts[entity.type] = (counts[entity.type] || 0) + 1;
347
- }
348
- return counts;
349
- }
350
- //# sourceMappingURL=entity-extractor.js.map
@@ -1,23 +0,0 @@
1
- export interface ExtractedEntities {
2
- primary: string[];
3
- secondary: string[];
4
- queryType: 'factual' | 'relational' | 'temporal';
5
- }
6
- /**
7
- * Extract entities from a query using Claude
8
- * NO FALLBACKS - real extraction or throw
9
- */
10
- export declare function extractQueryEntities(query: string, callClaudeFn: (prompt: string, maxTokens: number) => Promise<string>): Promise<ExtractedEntities>;
11
- /**
12
- * Score memory relevance based on entity matching
13
- * Returns boost factor (0-1)
14
- */
15
- export declare function scoreEntityMatch(memoryEntities: string[], queryEntities: string[]): number;
16
- /**
17
- * Filter and boost memories by entity relevance
18
- */
19
- export declare function filterByEntities(memories: any[], queryEntities: string[]): Array<{
20
- memory: any;
21
- entityBoost: number;
22
- }>;
23
- //# sourceMappingURL=entity-resolver.d.ts.map
@@ -1,64 +0,0 @@
1
- /**
2
- * Extract entities from a query using Claude
3
- * NO FALLBACKS - real extraction or throw
4
- */
5
- export async function extractQueryEntities(query, callClaudeFn) {
6
- const prompt = `Extract entities from this question. Return ONLY JSON:
7
- {
8
- "primary": ["Alice", "project name"],
9
- "secondary": ["team", "budget"],
10
- "queryType": "factual"
11
- }
12
-
13
- Question: ${query}`;
14
- const response = await callClaudeFn(prompt, 500);
15
- const jsonMatch = response.match(/\{[\s\S]*\}/);
16
- if (!jsonMatch) {
17
- throw new Error('No JSON in entity extraction');
18
- }
19
- const parsed = JSON.parse(jsonMatch[0]);
20
- return {
21
- primary: parsed.primary || [],
22
- secondary: parsed.secondary || [],
23
- queryType: parsed.queryType || 'factual',
24
- };
25
- }
26
- /**
27
- * Score memory relevance based on entity matching
28
- * Returns boost factor (0-1)
29
- */
30
- export function scoreEntityMatch(memoryEntities, queryEntities) {
31
- if (!queryEntities.length || !memoryEntities.length) {
32
- return 0.5; // Neutral if no entities
33
- }
34
- const querySet = new Set(queryEntities.map(e => e.toLowerCase()));
35
- const memorySet = new Set(memoryEntities.map(e => e.toLowerCase()));
36
- // Count matches
37
- let matches = 0;
38
- for (const entity of querySet) {
39
- if (memorySet.has(entity)) {
40
- matches++;
41
- }
42
- }
43
- // Calculate boost (0-1)
44
- const matchRatio = matches / querySet.size;
45
- return 0.5 + (matchRatio * 0.5); // 0.5 to 1.0
46
- }
47
- /**
48
- * Filter and boost memories by entity relevance
49
- */
50
- export function filterByEntities(memories, queryEntities) {
51
- if (!queryEntities.length) {
52
- // No entities to filter by, return all with neutral boost
53
- return memories.map(m => ({ memory: m, entityBoost: 0.5 }));
54
- }
55
- return memories.map(memory => {
56
- const memoryEntities = memory.metadata?.entities || [];
57
- const boost = scoreEntityMatch(memoryEntities, queryEntities);
58
- return {
59
- memory,
60
- entityBoost: boost,
61
- };
62
- });
63
- }
64
- //# sourceMappingURL=entity-resolver.js.map
@@ -1,18 +0,0 @@
1
- import type { StoredBelief } from '../beliefs/types.js';
2
- export interface MemoryInspection {
3
- id: string;
4
- type: string;
5
- classification: string;
6
- reasons: string[];
7
- rawFallbackSnapshotId?: string | null;
8
- nuanceSuppressed: boolean;
9
- place?: string | null;
10
- placeType?: string | null;
11
- graphStatus?: string | null;
12
- content: string;
13
- legacyMetadata: boolean;
14
- beliefs?: StoredBelief[];
15
- }
16
- export declare function summarizeInspection(input: MemoryInspection): string;
17
- export declare function explainMemory(id: string): Promise<MemoryInspection | null>;
18
- //# sourceMappingURL=explain.d.ts.map
@@ -1,92 +0,0 @@
1
- import { eq } from 'drizzle-orm';
2
- import { getDbClient } from '../lib/db-client.js';
3
- import { deserializeMetadata } from './serialization.js';
4
- import { getMemorySnapshot } from '../snapshots/retrieval.js';
5
- import { getMemoryPlace } from '../places/memory-places.js';
6
- import { getPlace } from '../places/places.js';
7
- import { getBeliefsForMemory } from '../beliefs/store.js';
8
- export function summarizeInspection(input) {
9
- const lines = [
10
- `Memory ${input.id}`,
11
- `Type: ${input.type}`,
12
- `Classification: ${input.classification}`,
13
- `Reasons: ${input.reasons.join('; ') || 'n/a'}`,
14
- `Raw fallback: ${input.rawFallbackSnapshotId ?? 'none'}`,
15
- `nuance suppressed: ${input.nuanceSuppressed ? 'yes' : 'no'}`,
16
- `Place: ${input.place ?? 'none'}${input.placeType ? ` (${input.placeType})` : ''}`,
17
- `Graph: ${input.graphStatus ?? 'none'}`,
18
- `Content: ${input.content}`,
19
- `Legacy metadata: ${input.legacyMetadata ? 'yes' : 'no'}`,
20
- ];
21
- if (input.beliefs && input.beliefs.length > 0) {
22
- lines.push('Beliefs:');
23
- for (const belief of input.beliefs) {
24
- const confidence = typeof belief.confidence === 'number' ? belief.confidence.toFixed(1) : '?';
25
- const sourceCount = belief.sourceMemoryIds?.length ?? 1;
26
- const origin = sourceCount > 1 ? `derived from ${sourceCount} memories` : 'derived from 1 memory';
27
- const evidence = belief.evidenceSummary
28
- ? `\n Evidence: ${belief.evidenceSummary.slice(0, 100)}${belief.evidenceSummary.length > 100 ? '...' : ''}`
29
- : '';
30
- lines.push(`- [${belief.type}] ${belief.statement}`);
31
- lines.push(` Status: ${belief.status}, Confidence: ${confidence}/100, ${origin}${evidence}`);
32
- if (belief.status === 'superseded') {
33
- lines.push(` Note: This belief supersedes a previous version`);
34
- }
35
- if (belief.status === 'disputed') {
36
- lines.push(` Warning: This belief has been disputed`);
37
- }
38
- }
39
- }
40
- else {
41
- lines.push(`Beliefs: ${input.legacyMetadata ? 'No derived beliefs available for this legacy record' : 'none derived'}`);
42
- }
43
- return lines.join('\n');
44
- }
45
- export async function explainMemory(id) {
46
- const { db, schema } = await getDbClient();
47
- const rows = await db.select().from(schema.memories).where(eq(schema.memories.id, id)).limit(1);
48
- const row = rows[0];
49
- if (!row)
50
- return null;
51
- const metadata = deserializeMetadata(row.metadata ?? null);
52
- const rawClassification = metadata?.signal?.classification ?? metadata?.classification ?? null;
53
- const classification = typeof rawClassification === 'string' && rawClassification.trim().length > 0
54
- ? rawClassification
55
- : 'legacy-durable';
56
- const reasons = Array.isArray(metadata?.signal?.reasons)
57
- ? metadata?.signal?.reasons
58
- : Array.isArray(metadata?.reasons)
59
- ? metadata?.reasons
60
- : ['This record predates signal tracking, so detailed ingestion metadata is unavailable.'];
61
- const rawFallbackSnapshotId = typeof metadata?.rawFallbackSnapshotId === 'string'
62
- ? metadata.rawFallbackSnapshotId
63
- : null;
64
- const nuanceSuppressed = Boolean(metadata?.signal?.nuanceSuppressed ?? metadata?.nuanceSuppressed);
65
- const graphStatus = typeof metadata?.graphStatus === 'string'
66
- ? metadata.graphStatus
67
- : typeof metadata?.graph === 'object' && metadata.graph
68
- ? JSON.stringify(metadata.graph)
69
- : 'Unavailable for this legacy record';
70
- const legacyMetadata = rawClassification == null;
71
- const placeId = await getMemoryPlace(id);
72
- const place = placeId ? await getPlace(placeId) : null;
73
- if (rawFallbackSnapshotId) {
74
- await getMemorySnapshot(rawFallbackSnapshotId);
75
- }
76
- const beliefs = await getBeliefsForMemory(id);
77
- return {
78
- id: row.id,
79
- type: row.type,
80
- classification,
81
- reasons,
82
- rawFallbackSnapshotId,
83
- nuanceSuppressed,
84
- place: place?.name ?? null,
85
- placeType: place?.placeType ?? null,
86
- graphStatus,
87
- content: row.content,
88
- legacyMetadata,
89
- beliefs,
90
- };
91
- }
92
- //# sourceMappingURL=explain.js.map
@@ -1,31 +0,0 @@
1
- /**
2
- * Fact Deriver
3
- *
4
- * Derives implicit facts from existing relationships in the knowledge graph.
5
- * Example: works_on(A, X) + uses(X, Y) -> depends_on(A, Y)
6
- */
7
- import type { RelationType } from '../graph/llm-entity-extractor.js';
8
- export interface DerivedFact {
9
- fromEntityId: string;
10
- fromEntityName: string;
11
- toEntityId: string;
12
- toEntityName: string;
13
- relationType: RelationType;
14
- rule: string;
15
- confidence: number;
16
- isDerived: boolean;
17
- }
18
- /**
19
- * Derive implicit facts from existing relationships in the knowledge graph.
20
- * Applies transitivity and causal rules to find new relationships.
21
- */
22
- export declare function deriveFacts(projectId: string, options?: {
23
- maxDerivations?: number;
24
- minConfidence?: number;
25
- storeResults?: boolean;
26
- }): Promise<DerivedFact[]>;
27
- /**
28
- * Get all derived facts for a project.
29
- */
30
- export declare function getDerivedFacts(projectId: string): Promise<DerivedFact[]>;
31
- //# sourceMappingURL=fact-deriver.d.ts.map