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,385 +0,0 @@
1
- /**
2
- * Temporal Parser
3
- * Parses temporal expressions and creates time-based relationships between memories
4
- * Handles absolute dates, relative times, durations, and frequencies
5
- */
6
- import { createAssociation } from '../../core/associations.js';
7
- import { getDb } from '../../db/index.js';
8
- import { getSchema } from '../../db/schema.js';
9
- import { eq } from 'drizzle-orm';
10
- import { logger } from '../../core/logger.js';
11
- // Regex patterns for temporal expression detection
12
- const PATTERNS = {
13
- // ISO dates: 2024-01-05, 2024-01-05T10:30:00Z
14
- isoDate: /\b(\d{4}-\d{2}-\d{2})(?:T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z?)?\b/g,
15
- // Natural dates: January 5, Jan 5, 1/5/2024, 01-05-2024
16
- naturalDate: /\b(?:January|February|March|April|May|June|July|August|September|October|November|December|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2}(?:,?\s+\d{4})?\b/gi,
17
- // Relative times: yesterday, today, tomorrow, last week, next month
18
- relativeTime: /\b(?:yesterday|today|tomorrow|last\s+(?:week|month|year|day|hour)|next\s+(?:week|month|year|day|hour))\b/gi,
19
- // Time offsets: 3 days ago, in 2 weeks, 5 minutes ago
20
- timeOffset: /\b(\d+)\s+(?:days?|weeks?|months?|years?|hours?|minutes?|seconds?)\s+(?:ago|from now|in the past|in the future)\b/gi,
21
- // Durations: for 2 hours, over 3 weeks, during 5 days
22
- duration: /\b(?:for|during|over)\s+(\d+)\s+(?:days?|weeks?|months?|years?|hours?|minutes?|seconds?)\b/gi,
23
- // Frequencies: daily, weekly, monthly, every week, once a month
24
- frequency: /\b(?:daily|weekly|monthly|yearly|hourly|every\s+(?:day|week|month|year)|once\s+a\s+(?:day|week|month|year))\b/gi,
25
- };
26
- /**
27
- * Parse temporal expressions from content
28
- */
29
- export async function parseTemporalFacts(content, referenceDate = new Date()) {
30
- const facts = [];
31
- // Parse absolute dates (ISO and natural format)
32
- const isoDates = Array.from(content.matchAll(PATTERNS.isoDate));
33
- for (const match of isoDates) {
34
- try {
35
- const date = new Date(match[0]);
36
- if (!isNaN(date.getTime())) {
37
- facts.push({
38
- type: 'absolute',
39
- value: match[0],
40
- parsed: { start: date, end: date },
41
- confidence: 0.95,
42
- context: extractContext(content, match.index || 0),
43
- });
44
- }
45
- }
46
- catch {
47
- // Invalid date format
48
- }
49
- }
50
- const naturalDates = Array.from(content.matchAll(PATTERNS.naturalDate));
51
- for (const match of naturalDates) {
52
- try {
53
- const date = parseNaturalDate(match[0], referenceDate);
54
- if (date) {
55
- facts.push({
56
- type: 'absolute',
57
- value: match[0],
58
- parsed: { start: date, end: date },
59
- confidence: 0.85,
60
- context: extractContext(content, match.index || 0),
61
- });
62
- }
63
- }
64
- catch {
65
- // Invalid date format
66
- }
67
- }
68
- // Parse relative times
69
- const relativeTimes = Array.from(content.matchAll(PATTERNS.relativeTime));
70
- for (const match of relativeTimes) {
71
- const date = parseRelativeTime(match[0], referenceDate);
72
- if (date) {
73
- facts.push({
74
- type: 'relative',
75
- value: match[0],
76
- parsed: { start: date, end: date },
77
- confidence: 0.9,
78
- context: extractContext(content, match.index || 0),
79
- });
80
- }
81
- }
82
- // Parse time offsets (3 days ago, in 2 weeks, etc.)
83
- const timeOffsets = Array.from(content.matchAll(PATTERNS.timeOffset));
84
- for (const match of timeOffsets) {
85
- const amount = parseInt(match[1]);
86
- const unit = match[0].split(/\s+/)[1].toLowerCase();
87
- const date = calculateDateOffset(referenceDate, amount, unit, match[0]);
88
- if (date) {
89
- facts.push({
90
- type: 'relative',
91
- value: match[0],
92
- parsed: { start: date, end: date },
93
- confidence: 0.85,
94
- context: extractContext(content, match.index || 0),
95
- });
96
- }
97
- }
98
- // Parse durations
99
- const durations = Array.from(content.matchAll(PATTERNS.duration));
100
- for (const match of durations) {
101
- const amount = parseInt(match[1]);
102
- const unit = match[0].split(/\s+/)[2].toLowerCase();
103
- const durationMs = calculateDurationMs(amount, unit);
104
- if (durationMs > 0) {
105
- facts.push({
106
- type: 'duration',
107
- value: match[0],
108
- parsed: { duration: durationMs },
109
- confidence: 0.8,
110
- context: extractContext(content, match.index || 0),
111
- });
112
- }
113
- }
114
- // Parse frequencies
115
- const frequencies = Array.from(content.matchAll(PATTERNS.frequency));
116
- for (const match of frequencies) {
117
- facts.push({
118
- type: 'frequency',
119
- value: match[0],
120
- parsed: { frequency: match[0].toLowerCase() },
121
- confidence: 0.85,
122
- context: extractContext(content, match.index || 0),
123
- });
124
- }
125
- return facts;
126
- }
127
- /**
128
- * Link temporal relations between memories
129
- */
130
- export async function linkTemporalRelations(memoryId, facts) {
131
- const relations = [];
132
- if (facts.length === 0)
133
- return relations;
134
- try {
135
- const db = await getDb();
136
- const schema = await getSchema();
137
- // Get the target memory
138
- const targetMemories = await db
139
- .select()
140
- .from(schema.memories)
141
- .where(eq(schema.memories.id, memoryId))
142
- .limit(1);
143
- if (targetMemories.length === 0)
144
- return relations;
145
- const targetMemory = targetMemories[0];
146
- // Find related memories with temporal overlaps
147
- const allMemories = await db
148
- .select()
149
- .from(schema.memories)
150
- .where(eq(schema.memories.projectId, targetMemory.projectId));
151
- for (const fact of facts) {
152
- if (!fact.parsed.start)
153
- continue;
154
- for (const otherMemory of allMemories) {
155
- if (otherMemory.id === memoryId)
156
- continue;
157
- const relation = analyzeTemporalRelation(fact, targetMemory, otherMemory);
158
- if (relation) {
159
- relations.push(relation);
160
- // Create association for temporal relationships
161
- if (relation.type === 'supersedes') {
162
- await createAssociation(memoryId, otherMemory.id, 'supersedes', relation.confidence);
163
- }
164
- else if (relation.type === 'contradicts') {
165
- await createAssociation(memoryId, otherMemory.id, 'contradicts', relation.confidence);
166
- }
167
- }
168
- }
169
- }
170
- // Update memory validity dates if we have absolute dates
171
- const absoluteFacts = facts.filter((f) => f.type === 'absolute');
172
- if (absoluteFacts.length > 0) {
173
- const dates = absoluteFacts
174
- .map((f) => f.parsed.start)
175
- .filter((d) => d);
176
- if (dates.length > 0) {
177
- const minDate = new Date(Math.min(...dates.map((d) => d.getTime())));
178
- const maxDate = new Date(Math.max(...dates.map((d) => d.getTime())));
179
- await db
180
- .update(schema.memories)
181
- .set({
182
- validFrom: minDate,
183
- validTo: maxDate,
184
- updatedAt: new Date(),
185
- })
186
- .where(eq(schema.memories.id, memoryId));
187
- }
188
- }
189
- logger.debug('Temporal relations linked', {
190
- memoryId,
191
- factCount: facts.length,
192
- relationCount: relations.length,
193
- });
194
- }
195
- catch (error) {
196
- logger.error('Error linking temporal relations', error);
197
- }
198
- return relations;
199
- }
200
- /**
201
- * Analyze temporal relationship between two memories
202
- */
203
- function analyzeTemporalRelation(fact, targetMemory, otherMemory) {
204
- if (!fact.parsed.start || !otherMemory.validFrom)
205
- return null;
206
- const factDate = fact.parsed.start;
207
- const otherStart = new Date(otherMemory.validFrom);
208
- const otherEnd = otherMemory.validTo ? new Date(otherMemory.validTo) : otherStart;
209
- // Determine temporal relationship
210
- if (factDate < otherStart) {
211
- return {
212
- type: 'before',
213
- targetMemoryId: otherMemory.id,
214
- confidence: 0.9,
215
- };
216
- }
217
- if (factDate > otherEnd) {
218
- return {
219
- type: 'after',
220
- targetMemoryId: otherMemory.id,
221
- confidence: 0.9,
222
- };
223
- }
224
- // Check for overlaps or containment
225
- if (factDate >= otherStart && factDate <= otherEnd) {
226
- // Check if this memory supersedes or contradicts
227
- const contentSimilarity = calculateContentSimilarity(targetMemory.content, otherMemory.content);
228
- if (contentSimilarity > 0.7) {
229
- // High similarity with different dates suggests supersession or contradiction
230
- return {
231
- type: targetMemory.createdAt > otherMemory.createdAt ? 'supersedes' : 'contradicts',
232
- targetMemoryId: otherMemory.id,
233
- confidence: contentSimilarity * 0.9,
234
- };
235
- }
236
- return {
237
- type: 'overlaps',
238
- targetMemoryId: otherMemory.id,
239
- confidence: 0.7,
240
- };
241
- }
242
- return null;
243
- }
244
- /**
245
- * Parse natural date formats (e.g., "January 5", "Jan 5, 2024")
246
- */
247
- function parseNaturalDate(dateStr, referenceDate) {
248
- try {
249
- // Handle "Month Day, Year" or "Month Day"
250
- const date = new Date(dateStr);
251
- if (!isNaN(date.getTime())) {
252
- // If year is missing, use reference year
253
- if (!dateStr.includes(date.getFullYear().toString())) {
254
- date.setFullYear(referenceDate.getFullYear());
255
- }
256
- return date;
257
- }
258
- }
259
- catch {
260
- return null;
261
- }
262
- return null;
263
- }
264
- /**
265
- * Parse relative time expressions
266
- */
267
- function parseRelativeTime(timeStr, referenceDate) {
268
- const str = timeStr.toLowerCase();
269
- const date = new Date(referenceDate);
270
- if (str === 'yesterday') {
271
- date.setDate(date.getDate() - 1);
272
- return date;
273
- }
274
- if (str === 'today') {
275
- return date;
276
- }
277
- if (str === 'tomorrow') {
278
- date.setDate(date.getDate() + 1);
279
- return date;
280
- }
281
- if (str.includes('last week')) {
282
- date.setDate(date.getDate() - 7);
283
- return date;
284
- }
285
- if (str.includes('next week')) {
286
- date.setDate(date.getDate() + 7);
287
- return date;
288
- }
289
- if (str.includes('last month')) {
290
- date.setMonth(date.getMonth() - 1);
291
- return date;
292
- }
293
- if (str.includes('next month')) {
294
- date.setMonth(date.getMonth() + 1);
295
- return date;
296
- }
297
- if (str.includes('last year')) {
298
- date.setFullYear(date.getFullYear() - 1);
299
- return date;
300
- }
301
- if (str.includes('next year')) {
302
- date.setFullYear(date.getFullYear() + 1);
303
- return date;
304
- }
305
- return null;
306
- }
307
- /**
308
- * Calculate date offset (e.g., "3 days ago")
309
- */
310
- function calculateDateOffset(referenceDate, amount, unit, fullText) {
311
- const date = new Date(referenceDate);
312
- const isNegative = fullText.includes('ago') || fullText.includes('past');
313
- const multiplier = isNegative ? -1 : 1;
314
- const unitLower = unit.replace(/s$/, '').toLowerCase();
315
- switch (unitLower) {
316
- case 'day':
317
- date.setDate(date.getDate() + multiplier * amount);
318
- break;
319
- case 'week':
320
- date.setDate(date.getDate() + multiplier * amount * 7);
321
- break;
322
- case 'month':
323
- date.setMonth(date.getMonth() + multiplier * amount);
324
- break;
325
- case 'year':
326
- date.setFullYear(date.getFullYear() + multiplier * amount);
327
- break;
328
- case 'hour':
329
- date.setHours(date.getHours() + multiplier * amount);
330
- break;
331
- case 'minute':
332
- date.setMinutes(date.getMinutes() + multiplier * amount);
333
- break;
334
- default:
335
- return null;
336
- }
337
- return date;
338
- }
339
- /**
340
- * Calculate duration in milliseconds
341
- */
342
- function calculateDurationMs(amount, unit) {
343
- const unitLower = unit.replace(/s$/, '').toLowerCase();
344
- switch (unitLower) {
345
- case 'day':
346
- return amount * 24 * 60 * 60 * 1000;
347
- case 'week':
348
- return amount * 7 * 24 * 60 * 60 * 1000;
349
- case 'month':
350
- return amount * 30 * 24 * 60 * 60 * 1000;
351
- case 'year':
352
- return amount * 365 * 24 * 60 * 60 * 1000;
353
- case 'hour':
354
- return amount * 60 * 60 * 1000;
355
- case 'minute':
356
- return amount * 60 * 1000;
357
- case 'second':
358
- return amount * 1000;
359
- default:
360
- return 0;
361
- }
362
- }
363
- /**
364
- * Extract surrounding context for temporal expression
365
- */
366
- function extractContext(content, index, contextLength = 50) {
367
- const start = Math.max(0, index - contextLength);
368
- const end = Math.min(content.length, index + contextLength);
369
- return content.substring(start, end).trim();
370
- }
371
- /**
372
- * Simple content similarity calculation (token overlap)
373
- */
374
- function calculateContentSimilarity(content1, content2) {
375
- const tokens1 = new Set(content1.toLowerCase().split(/\s+/));
376
- const tokens2 = new Set(content2.toLowerCase().split(/\s+/));
377
- let overlap = 0;
378
- for (const token of tokens1) {
379
- if (tokens2.has(token))
380
- overlap++;
381
- }
382
- const totalUnique = tokens1.size + tokens2.size - overlap;
383
- return totalUnique > 0 ? overlap / totalUnique : 0;
384
- }
385
- //# sourceMappingURL=temporal-parser.js.map
@@ -1,21 +0,0 @@
1
- export interface MemorySignals {
2
- explicitTriggers: string[];
3
- implicit: {
4
- decision: boolean;
5
- correction: boolean;
6
- preference: boolean;
7
- workflowRule: boolean;
8
- lesson: boolean;
9
- note: boolean;
10
- important: boolean;
11
- hack: boolean;
12
- why: boolean;
13
- todo: boolean;
14
- fixme: boolean;
15
- };
16
- suggestedType: 'observation' | 'fact' | 'decision' | 'context' | 'preference' | 'task';
17
- priority: 'normal' | 'high';
18
- confidence: 'certain' | 'speculative' | 'inferred';
19
- }
20
- export declare function detectMemorySignals(content: string): MemorySignals;
21
- //# sourceMappingURL=trigger-detector.d.ts.map
@@ -1,79 +0,0 @@
1
- const EXPLICIT_TRIGGER_PATTERNS = [
2
- { label: 'remember', regex: /\bremember\b/i },
3
- { label: 'dont-forget', regex: /\b(?:don'?t\s+forget|do\s+not\s+forget)\b/i },
4
- { label: 'keep-in-mind', regex: /\bkeep\s+in\s+mind\b/i },
5
- { label: 'note-that', regex: /\bnote\s+that\b/i },
6
- { label: 'from-now-on', regex: /\bfrom\s+now\s+on\b/i },
7
- { label: 'going-forward', regex: /\bgoing\s+forward\b/i },
8
- { label: 'save-this', regex: /\bsave\s+this\b/i },
9
- { label: 'log-this', regex: /\blog\s+this\b/i },
10
- { label: 'important', regex: /\bimportant\s*:/i },
11
- // New: Rationale comment triggers
12
- { label: 'NOTE', regex: /NOTE:/i },
13
- { label: 'IMPORTANT', regex: /IMPORTANT:/i },
14
- { label: 'HACK', regex: /HACK:/i },
15
- { label: 'WHY', regex: /WHY:/i },
16
- { label: 'TODO', regex: /TODO:/i },
17
- { label: 'FIXME', regex: /FIXME:/i },
18
- { label: 'XXX', regex: /XXX:/i },
19
- { label: 'DEPRECATED', regex: /DEPRECATED:/i },
20
- ];
21
- export function detectMemorySignals(content) {
22
- const text = content.trim();
23
- const explicitTriggers = EXPLICIT_TRIGGER_PATTERNS.filter((p) => p.regex.test(text)).map((p) => p.label);
24
- const implicit = {
25
- decision: /\b(?:decided|choose|chose|going with|picked|selected|final decision)\b/i.test(text) ||
26
- /\b(?:x over y|option\s+[a-z0-9]+\s+over)\b/i.test(text),
27
- correction: /\b(?:no,?\s+i\s+meant|actually,?\s+that'?s\s+not|correction:|i\s+meant)\b/i.test(text),
28
- preference: /\b(?:i\s+like|i\s+don'?t\s+like|i\s+hate|my\s+preference\s+is|prefer)\b/i.test(text) ||
29
- /\b(?:always|never)\b/i.test(text),
30
- workflowRule: /\b(?:let'?s\s+always\s+do\s+it\s+this\s+way|standard\s+workflow|runbook)\b/i.test(text),
31
- lesson: /\b(?:failed\s+because|lesson\s+learned|next\s+time|do\s+not\s+repeat|root\s+cause)\b/i.test(text),
32
- // New: Rationale patterns from code comments
33
- note: /NOTE:/i.test(text),
34
- important: /IMPORTANT:/i.test(text),
35
- hack: /HACK:/i.test(text),
36
- why: /WHY:/i.test(text),
37
- todo: /TODO:/i.test(text),
38
- fixme: /FIXME:/i.test(text),
39
- };
40
- let suggestedType = 'observation';
41
- // Priority order: decision > preference > lesson > workflowRule > rationale > fact
42
- if (implicit.decision)
43
- suggestedType = 'decision';
44
- else if (implicit.preference)
45
- suggestedType = 'preference';
46
- else if (implicit.workflowRule || implicit.lesson)
47
- suggestedType = 'context';
48
- else if (implicit.todo)
49
- suggestedType = 'task';
50
- else if (!implicit.decision && !implicit.preference && /\b(?:is|are|was|were|uses|has|have)\b/i.test(text)) {
51
- suggestedType = 'fact';
52
- }
53
- // Override for specific rationale markers
54
- if (implicit.note || implicit.important)
55
- suggestedType = 'observation';
56
- if (implicit.why)
57
- suggestedType = 'context';
58
- // Determine confidence based on signal strength
59
- let confidence = 'certain';
60
- if (implicit.note || implicit.todo)
61
- confidence = 'speculative';
62
- if (implicit.hack || implicit.fixme)
63
- confidence = 'certain'; // Known issues are certain
64
- const priority = explicitTriggers.length > 0 ||
65
- implicit.correction ||
66
- implicit.important ||
67
- implicit.hack ||
68
- implicit.fixme
69
- ? 'high'
70
- : 'normal';
71
- return {
72
- explicitTriggers,
73
- implicit,
74
- suggestedType,
75
- priority,
76
- confidence,
77
- };
78
- }
79
- //# sourceMappingURL=trigger-detector.js.map
@@ -1,54 +0,0 @@
1
- /**
2
- * Write Gate Enforcement
3
- * Validates memories before writing to ensure quality, security, and consistency
4
- * Integrates secret detection, trigger detection, and content validation
5
- */
6
- import { MemorySignals } from './trigger-detector.js';
7
- export interface WriteGateResult {
8
- allowed: boolean;
9
- sanitized: boolean;
10
- warnings: string[];
11
- errors: string[];
12
- metadata: {
13
- secretsDetected: number;
14
- signals: MemorySignals | null;
15
- contradictions: {
16
- found: boolean;
17
- count: number;
18
- };
19
- temporalSupersession: {
20
- count: number;
21
- };
22
- };
23
- sanitizedContent?: string;
24
- }
25
- export interface WriteGateOptions {
26
- allowSecrets?: boolean;
27
- minContentLength?: number;
28
- maxContentLength?: number;
29
- projectId?: string;
30
- skipContradictionCheck?: boolean;
31
- skipTemporalSupersession?: boolean;
32
- }
33
- /**
34
- * Main write gate function - validates and sanitizes content before write
35
- */
36
- export declare function enforceWriteGate(content: string, type: string, options?: WriteGateOptions): Promise<WriteGateResult>;
37
- /**
38
- * Quick validation without async operations
39
- * Use for fast pre-check before full validation
40
- */
41
- export declare function quickValidate(content: string): {
42
- valid: boolean;
43
- errors: string[];
44
- };
45
- /**
46
- * Sanitize content for storage
47
- * Redacts secrets and normalizes whitespace
48
- */
49
- export declare function sanitizeForStorage(content: string): string;
50
- /**
51
- * Calculate a quality score for content (0-100)
52
- */
53
- export declare function calculateContentQualityScore(content: string): number;
54
- //# sourceMappingURL=write-gate.d.ts.map