squish-memory 1.1.5 → 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 (646) hide show
  1. package/.env.example +32 -16
  2. package/CHANGELOG.md +147 -0
  3. package/README.md +120 -78
  4. package/{scripts → bin}/dependency-manager.mjs +217 -217
  5. package/{scripts → bin}/detect-clients.mjs +78 -78
  6. package/bin/install-interactive.mjs +321 -0
  7. package/bin/squish-mcp.mjs +44 -0
  8. package/bin/squish.mjs +33 -0
  9. package/config/mcp-migration-map.json +1 -6
  10. package/config/mcp-mode-semantics.json +19 -23
  11. package/config/mcp-remote-auth.json +3 -26
  12. package/config/mcp-universal.schema.json +5 -35
  13. package/config/settings.json +107 -52
  14. package/config.js +5 -0
  15. package/config.ts +218 -0
  16. package/core/adapters/config/claude-code.ts +133 -0
  17. package/core/adapters/config/cursor.ts +90 -0
  18. package/core/adapters/config/opencode.ts +89 -0
  19. package/core/adapters/config/windsurf.ts +90 -0
  20. package/core/adapters/index.ts +102 -0
  21. package/core/adapters/timeline.ts +116 -0
  22. package/core/adapters/types.ts +166 -0
  23. package/core/agent-preferences.ts +140 -0
  24. package/core/algorithms/analytics/token-estimator.ts +216 -0
  25. package/core/algorithms/detection/hash-filters.ts +260 -0
  26. package/core/algorithms/detection/semantic-ranker.ts +194 -0
  27. package/core/algorithms/detection/two-stage-detector.ts +421 -0
  28. package/core/algorithms/handlers/approve-merge.ts +215 -0
  29. package/core/algorithms/handlers/detect-duplicates.ts +192 -0
  30. package/core/algorithms/handlers/get-stats.ts +132 -0
  31. package/core/algorithms/handlers/list-proposals.ts +130 -0
  32. package/core/algorithms/handlers/preview-merge.ts +139 -0
  33. package/core/algorithms/handlers/reject-merge.ts +93 -0
  34. package/core/algorithms/handlers/reverse-merge.ts +155 -0
  35. package/{dist/core/algorithms/index.js → core/algorithms/index.ts} +39 -26
  36. package/core/algorithms/operations/cache-maintenance.ts +182 -0
  37. package/core/algorithms/safety/safety-checks.ts +256 -0
  38. package/core/algorithms/strategies/merge-strategies.ts +381 -0
  39. package/core/algorithms/types.ts +140 -0
  40. package/core/algorithms/utils/response-builder.ts +61 -0
  41. package/core/associations.ts +363 -0
  42. package/core/beliefs/decay.ts +289 -0
  43. package/core/beliefs/extractor.ts +131 -0
  44. package/core/beliefs/store.ts +557 -0
  45. package/core/beliefs/types.ts +38 -0
  46. package/core/commands/mcp-server.ts +5 -0
  47. package/core/compression.ts +177 -0
  48. package/core/config.js +2 -0
  49. package/core/consolidation.ts +330 -0
  50. package/core/context/agent-context.ts +388 -0
  51. package/core/context/context-paging.ts +449 -0
  52. package/core/context/context-window.ts +234 -0
  53. package/core/context/context.ts +35 -0
  54. package/core/embeddings/embeddings.ts +616 -0
  55. package/core/embeddings/google-multimodal.ts +200 -0
  56. package/{dist/core/local-embeddings.js → core/embeddings/local-embeddings.ts} +12 -11
  57. package/core/embeddings/qmd-client.ts +495 -0
  58. package/core/embeddings/transformers-local.ts +261 -0
  59. package/core/embeddings.js +4 -0
  60. package/core/error-handling.ts +206 -0
  61. package/core/external +219 -0
  62. package/core/graph/entity-deduplicator.ts +232 -0
  63. package/core/graph/graph-builder.ts +257 -0
  64. package/core/graph/graph-traversal.ts +490 -0
  65. package/core/graph/index.ts +24 -0
  66. package/core/graph/llm-entity-extractor.ts +402 -0
  67. package/core/graph/multi-hop-retrieval.ts +317 -0
  68. package/core/graph/relationship-extractor.ts +465 -0
  69. package/core/hooks/agent-hooks.ts +653 -0
  70. package/core/hooks/auto-tagger.ts +149 -0
  71. package/core/hooks/capture-filter.ts +169 -0
  72. package/core/hot-cache.ts +388 -0
  73. package/core/index.ts +10 -0
  74. package/core/ingestion/agent-memory.ts +167 -0
  75. package/core/ingestion/core-memory.ts +326 -0
  76. package/core/ingestion/learnings.ts +260 -0
  77. package/core/ingestion/signal-engine.ts +266 -0
  78. package/core/integrations/obsidian-vault.ts +197 -0
  79. package/core/layers/generator.ts +115 -0
  80. package/{dist/core/lib/db-client.d.ts → core/lib/db-client.ts} +168 -114
  81. package/core/lib/parse-embedding.ts +59 -0
  82. package/{dist/core/lib/schemas.js → core/lib/schemas.ts} +102 -87
  83. package/core/lib/types.ts +49 -0
  84. package/core/lib/utils.ts +151 -0
  85. package/core/lib/validation.ts +180 -0
  86. package/core/lifecycle.ts +353 -0
  87. package/core/logger.ts +59 -0
  88. package/core/memory/bridge-discovery.ts +395 -0
  89. package/core/memory/categorizer.ts +390 -0
  90. package/core/memory/conflict-detector.ts +62 -0
  91. package/core/memory/consolidation.ts +372 -0
  92. package/core/memory/context-collector.ts +75 -0
  93. package/core/memory/contradiction-resolver.ts +494 -0
  94. package/core/memory/edit-workflow.ts +174 -0
  95. package/core/memory/entity-extractor.ts +426 -0
  96. package/core/memory/entity-resolver.ts +89 -0
  97. package/core/memory/explain.ts +112 -0
  98. package/core/memory/fact-deriver.ts +300 -0
  99. package/core/memory/fact-extractor.ts +120 -0
  100. package/core/memory/feedback-tracker.ts +200 -0
  101. package/core/memory/hooks.ts +230 -0
  102. package/core/memory/hybrid-retrieval.ts +65 -0
  103. package/core/memory/hybrid-scorer.ts +325 -0
  104. package/core/memory/hybrid-search.ts +748 -0
  105. package/core/memory/importance.ts +319 -0
  106. package/{dist/core/memory/index.js → core/memory/index.ts} +11 -10
  107. package/core/memory/loader.ts +178 -0
  108. package/core/memory/markdown/markdown-storage.ts +318 -0
  109. package/core/memory/memories.ts +565 -0
  110. package/core/memory/memory-lifecycle.ts +51 -0
  111. package/core/memory/memory-manager.ts +53 -0
  112. package/core/memory/migrate.ts +173 -0
  113. package/core/memory/normalization.ts +30 -0
  114. package/core/memory/path-strengthener.ts +211 -0
  115. package/core/memory/progressive-disclosure.ts +392 -0
  116. package/core/memory/query-processor.ts +130 -0
  117. package/core/memory/query-rewriter.ts +153 -0
  118. package/core/memory/response-analyzer.ts +81 -0
  119. package/core/memory/retrieval-feedback.ts +276 -0
  120. package/core/memory/serialization.ts +83 -0
  121. package/core/memory/stale-cleaner.ts +147 -0
  122. package/core/memory/stats.ts +181 -0
  123. package/core/memory/telemetry.ts +392 -0
  124. package/core/memory/temporal-facts.ts +356 -0
  125. package/core/memory/temporal-parser.ts +477 -0
  126. package/core/memory/trigger-detector.ts +104 -0
  127. package/core/memory/write-gate.ts +288 -0
  128. package/{dist/core/places/index.js → core/places/index.ts} +12 -12
  129. package/core/places/memory-places.ts +339 -0
  130. package/core/places/places.ts +406 -0
  131. package/core/places/rules.ts +308 -0
  132. package/core/places/walking.ts +192 -0
  133. package/core/projects +89 -0
  134. package/core/projects.ts +131 -0
  135. package/core/redis.ts +82 -0
  136. package/core/responses.ts +187 -0
  137. package/core/runtime/trust-report.ts +195 -0
  138. package/core/runtime/trust-state.ts +360 -0
  139. package/core/scheduler/cron-scheduler.ts +590 -0
  140. package/core/scheduler/heartbeat.ts +91 -0
  141. package/{dist/core/scheduler/index.js → core/scheduler/index.ts} +8 -8
  142. package/core/scheduler/job-runner.ts +197 -0
  143. package/core/search/conversations.ts +166 -0
  144. package/core/search/entities.ts +46 -0
  145. package/core/search/folder-context.ts +154 -0
  146. package/core/search/graph-boost.ts +22 -0
  147. package/{dist/core/search/index.js → core/search/index.ts} +4 -5
  148. package/core/search/qmd-wrapper.ts +84 -0
  149. package/core/security/encrypt.ts +51 -0
  150. package/core/security/governance.ts +102 -0
  151. package/core/security/privacy.ts +108 -0
  152. package/core/security/secret-detector.ts +122 -0
  153. package/core/session/auto-load.ts +160 -0
  154. package/core/session/entity-tracker.ts +363 -0
  155. package/{dist/core/session/index.js → core/session/index.ts} +7 -7
  156. package/core/session/reference-resolver.ts +158 -0
  157. package/core/session/self-iteration-job.ts +478 -0
  158. package/core/session/session-hooks.ts +69 -0
  159. package/core/session/types.ts +36 -0
  160. package/core/session/working-set.ts +275 -0
  161. package/{dist/core/snapshots/cleanup.js → core/snapshots/cleanup.ts} +13 -12
  162. package/core/snapshots/comparison.ts +59 -0
  163. package/core/snapshots/creation.ts +139 -0
  164. package/core/snapshots/retrieval.ts +44 -0
  165. package/core/snapshots/stats.ts +63 -0
  166. package/core/storage/cache.ts +241 -0
  167. package/core/storage/database.ts +23 -0
  168. package/{dist/core/summarization/cleanup.js → core/summarization/cleanup.ts} +13 -12
  169. package/core/summarization/queries.ts +32 -0
  170. package/core/summarization/stats.ts +64 -0
  171. package/core/summarization/strategies.ts +52 -0
  172. package/core/summarization.ts +248 -0
  173. package/core/temporal-facts.ts +244 -0
  174. package/core/tracing/collector.ts +470 -0
  175. package/core/tracing/visualizer.ts +195 -0
  176. package/core/utils/cleanup-operations.ts +50 -0
  177. package/core/utils/content-extraction.ts +95 -0
  178. package/core/utils/filter-builder.ts +56 -0
  179. package/core/utils/history-traversal.ts +63 -0
  180. package/core/utils/memory-operations.ts +56 -0
  181. package/core/utils/query-operations.ts +83 -0
  182. package/core/utils/summarization-helpers.ts +45 -0
  183. package/core/utils/temporal-queries.ts +39 -0
  184. package/{dist/core/utils/vector-operations.js → core/utils/vector-operations.ts} +135 -129
  185. package/core/utils/version-management.ts +74 -0
  186. package/core/worker.ts +333 -0
  187. package/db/adapter.ts +215 -0
  188. package/{dist/db/bootstrap.js → db/bootstrap.ts} +388 -418
  189. package/db/drizzle/migrations/0000_needy_cerebro.sql +402 -0
  190. package/db/drizzle/migrations/meta/0000_snapshot.json +3451 -0
  191. package/db/drizzle/migrations/meta/_journal.json +13 -0
  192. package/db/drizzle/schema-sqlite.ts +1032 -0
  193. package/db/drizzle/schema.ts +1128 -0
  194. package/db/drizzle.config.ts +12 -0
  195. package/db/index.ts +83 -0
  196. package/db/init.sql +5 -0
  197. package/db/migrations/associations.ts +35 -0
  198. package/db/migrations/beliefs.ts +89 -0
  199. package/db/migrations/core-memory.ts +35 -0
  200. package/db/migrations/fts.ts +59 -0
  201. package/db/migrations/index.ts +54 -0
  202. package/db/migrations/indexes.ts +36 -0
  203. package/db/migrations/learnings.ts +34 -0
  204. package/db/migrations/maintenance.ts +68 -0
  205. package/db/migrations/memories.ts +22 -0
  206. package/db/migrations/memory-places.ts +35 -0
  207. package/db/migrations/places.ts +49 -0
  208. package/db/migrations/projects.ts +21 -0
  209. package/db/migrations/tier-conversion.ts +24 -0
  210. package/db/neon.ts +22 -0
  211. package/db/schema/beliefs.ts +50 -0
  212. package/db/schema/generator.ts +159 -0
  213. package/db/schema/index.ts +58 -0
  214. package/db/schema/learnings.ts +32 -0
  215. package/db/schema/memories.ts +83 -0
  216. package/db/schema/projects.ts +33 -0
  217. package/db/schema.ts +13 -0
  218. package/db/supabase.ts +27 -0
  219. package/mcp.json.example +8 -11
  220. package/package.json +140 -159
  221. package/packages/cli/package.json +22 -0
  222. package/packages/cli/src/commands/clean.ts +68 -0
  223. package/packages/cli/src/commands/context.ts +79 -0
  224. package/packages/cli/src/commands/doctor.ts +357 -0
  225. package/packages/cli/src/commands/forget.ts +72 -0
  226. package/packages/cli/src/commands/health.ts +36 -0
  227. package/packages/cli/src/commands/inspect.ts +41 -0
  228. package/packages/cli/src/commands/link.ts +50 -0
  229. package/packages/cli/src/commands/migrate.ts +93 -0
  230. package/packages/cli/src/commands/recall.ts +99 -0
  231. package/packages/cli/src/commands/recent.ts +57 -0
  232. package/packages/cli/src/commands/remember.ts +139 -0
  233. package/packages/cli/src/commands/run.ts +58 -0
  234. package/packages/cli/src/commands/stale.ts +43 -0
  235. package/packages/cli/src/commands/stats.ts +42 -0
  236. package/packages/cli/src/index.ts +57 -0
  237. package/packages/cli/tsconfig.json +24 -0
  238. package/packages/mcp/package.json +26 -0
  239. package/packages/mcp/src/index.ts +940 -0
  240. package/packages/mcp/tsconfig.json +20 -0
  241. package/skills/squish-memory/SKILL.md +38 -35
  242. package/skills/squish-memory/{scripts/install.sh → install.sh} +1 -1
  243. package/skills/squish-memory/references/claude-desktop.json +12 -0
  244. package/skills/squish-memory/references/openclaw.json +13 -0
  245. package/skills/squish-memory/references/opencode.json +14 -0
  246. package/config/hooks/claude-code-hooks.json +0 -39
  247. package/config/hooks/cursor-hooks.json +0 -30
  248. package/config/hooks/opencode-hooks.json +0 -30
  249. package/config/hooks/windsurf-hooks.json +0 -30
  250. package/config/mcp-cli-fallback-policy.json +0 -22
  251. package/config/mcp.json +0 -38
  252. package/config/plugin-manifest.json +0 -101
  253. package/config/plugin-manifest.schema.json +0 -244
  254. package/config/plugin.json +0 -32
  255. package/config/remote-memory-policy.json +0 -32
  256. package/core/commands/context-paging.md +0 -51
  257. package/core/commands/context-status.md +0 -22
  258. package/core/commands/context.md +0 -5
  259. package/core/commands/core-memory.md +0 -56
  260. package/core/commands/health.md +0 -5
  261. package/core/commands/init.md +0 -39
  262. package/core/commands/merge.md +0 -113
  263. package/core/commands/recall.md +0 -5
  264. package/core/commands/remember.md +0 -11
  265. package/core/commands/search.md +0 -10
  266. package/dist/config.d.ts +0 -83
  267. package/dist/config.js +0 -242
  268. package/dist/core/adapters/config/claude-code.d.ts +0 -45
  269. package/dist/core/adapters/config/claude-code.js +0 -113
  270. package/dist/core/adapters/config/cursor.d.ts +0 -26
  271. package/dist/core/adapters/config/cursor.js +0 -74
  272. package/dist/core/adapters/config/opencode.d.ts +0 -23
  273. package/dist/core/adapters/config/opencode.js +0 -73
  274. package/dist/core/adapters/config/windsurf.d.ts +0 -26
  275. package/dist/core/adapters/config/windsurf.js +0 -74
  276. package/dist/core/adapters/index.d.ts +0 -45
  277. package/dist/core/adapters/index.js +0 -84
  278. package/dist/core/adapters/scripts/install-adapter.d.ts +0 -19
  279. package/dist/core/adapters/scripts/install-adapter.js +0 -149
  280. package/dist/core/adapters/timeline.d.ts +0 -23
  281. package/dist/core/adapters/timeline.js +0 -88
  282. package/dist/core/adapters/types.d.ts +0 -157
  283. package/dist/core/adapters/types.js +0 -50
  284. package/dist/core/algorithms/analytics/token-estimator.d.ts +0 -50
  285. package/dist/core/algorithms/analytics/token-estimator.js +0 -154
  286. package/dist/core/algorithms/detection/hash-filters.d.ts +0 -47
  287. package/dist/core/algorithms/detection/hash-filters.js +0 -190
  288. package/dist/core/algorithms/detection/semantic-ranker.d.ts +0 -32
  289. package/dist/core/algorithms/detection/semantic-ranker.js +0 -118
  290. package/dist/core/algorithms/detection/two-stage-detector.d.ts +0 -52
  291. package/dist/core/algorithms/detection/two-stage-detector.js +0 -299
  292. package/dist/core/algorithms/handlers/approve-merge.d.ts +0 -22
  293. package/dist/core/algorithms/handlers/approve-merge.js +0 -179
  294. package/dist/core/algorithms/handlers/detect-duplicates.d.ts +0 -47
  295. package/dist/core/algorithms/handlers/detect-duplicates.js +0 -145
  296. package/dist/core/algorithms/handlers/get-stats.d.ts +0 -39
  297. package/dist/core/algorithms/handlers/get-stats.js +0 -88
  298. package/dist/core/algorithms/handlers/list-proposals.d.ts +0 -45
  299. package/dist/core/algorithms/handlers/list-proposals.js +0 -83
  300. package/dist/core/algorithms/handlers/preview-merge.d.ts +0 -39
  301. package/dist/core/algorithms/handlers/preview-merge.js +0 -93
  302. package/dist/core/algorithms/handlers/reject-merge.d.ts +0 -28
  303. package/dist/core/algorithms/handlers/reject-merge.js +0 -69
  304. package/dist/core/algorithms/handlers/reverse-merge.d.ts +0 -21
  305. package/dist/core/algorithms/handlers/reverse-merge.js +0 -121
  306. package/dist/core/algorithms/index.d.ts +0 -21
  307. package/dist/core/algorithms/operations/cache-maintenance.d.ts +0 -12
  308. package/dist/core/algorithms/operations/cache-maintenance.js +0 -157
  309. package/dist/core/algorithms/safety/safety-checks.d.ts +0 -22
  310. package/dist/core/algorithms/safety/safety-checks.js +0 -179
  311. package/dist/core/algorithms/strategies/merge-strategies.d.ts +0 -50
  312. package/dist/core/algorithms/strategies/merge-strategies.js +0 -288
  313. package/dist/core/algorithms/types.d.ts +0 -133
  314. package/dist/core/algorithms/types.js +0 -5
  315. package/dist/core/algorithms/utils/response-builder.d.ts +0 -28
  316. package/dist/core/algorithms/utils/response-builder.js +0 -37
  317. package/dist/core/associations.d.ts +0 -31
  318. package/dist/core/associations.js +0 -248
  319. package/dist/core/autosave.d.ts +0 -19
  320. package/dist/core/autosave.js +0 -16
  321. package/dist/core/commands/managed-sync.d.ts +0 -10
  322. package/dist/core/commands/managed-sync.js +0 -64
  323. package/dist/core/commands/mcp-server.d.ts +0 -3
  324. package/dist/core/commands/mcp-server.js +0 -739
  325. package/dist/core/consolidation.d.ts +0 -37
  326. package/dist/core/consolidation.js +0 -248
  327. package/dist/core/context/agent-context.d.ts +0 -106
  328. package/dist/core/context/agent-context.js +0 -274
  329. package/dist/core/context/context-paging.d.ts +0 -80
  330. package/dist/core/context/context-paging.js +0 -328
  331. package/dist/core/context/context-window.d.ts +0 -40
  332. package/dist/core/context/context-window.js +0 -177
  333. package/dist/core/context/context.d.ts +0 -7
  334. package/dist/core/context/context.js +0 -22
  335. package/dist/core/embeddings/google-multimodal.d.ts +0 -14
  336. package/dist/core/embeddings/google-multimodal.js +0 -142
  337. package/dist/core/embeddings/qmd-client.d.ts +0 -136
  338. package/dist/core/embeddings/qmd-client.js +0 -403
  339. package/dist/core/embeddings.d.ts +0 -29
  340. package/dist/core/embeddings.js +0 -454
  341. package/dist/core/error-handling.d.ts +0 -63
  342. package/dist/core/error-handling.js +0 -173
  343. package/dist/core/external-folder/index.d.ts +0 -102
  344. package/dist/core/external-folder/index.js +0 -294
  345. package/dist/core/hooks/agent-hooks.d.ts +0 -74
  346. package/dist/core/hooks/agent-hooks.js +0 -244
  347. package/dist/core/hooks/auto-tagger.d.ts +0 -19
  348. package/dist/core/hooks/auto-tagger.js +0 -155
  349. package/dist/core/hooks/capture-filter.d.ts +0 -41
  350. package/dist/core/hooks/capture-filter.js +0 -128
  351. package/dist/core/index.d.ts +0 -10
  352. package/dist/core/index.js +0 -14
  353. package/dist/core/ingestion/agent-memory.d.ts +0 -22
  354. package/dist/core/ingestion/agent-memory.js +0 -109
  355. package/dist/core/ingestion/core-memory.d.ts +0 -78
  356. package/dist/core/ingestion/core-memory.js +0 -226
  357. package/dist/core/ingestion/learnings.d.ts +0 -57
  358. package/dist/core/ingestion/learnings.js +0 -202
  359. package/dist/core/layers/generator.d.ts +0 -25
  360. package/dist/core/layers/generator.js +0 -76
  361. package/dist/core/lib/db-client.js +0 -130
  362. package/dist/core/lib/schemas.d.ts +0 -129
  363. package/dist/core/lib/utils.d.ts +0 -14
  364. package/dist/core/lib/utils.js +0 -90
  365. package/dist/core/lib/validation.d.ts +0 -38
  366. package/dist/core/lib/validation.js +0 -151
  367. package/dist/core/lifecycle.d.ts +0 -26
  368. package/dist/core/lifecycle.js +0 -302
  369. package/dist/core/local-embeddings.d.ts +0 -11
  370. package/dist/core/logger.d.ts +0 -16
  371. package/dist/core/logger.js +0 -40
  372. package/dist/core/mcp/client.d.ts +0 -17
  373. package/dist/core/mcp/client.js +0 -101
  374. package/dist/core/mcp/index.d.ts +0 -6
  375. package/dist/core/mcp/index.js +0 -6
  376. package/dist/core/mcp/server.d.ts +0 -18
  377. package/dist/core/mcp/server.js +0 -157
  378. package/dist/core/mcp/standalone-server.d.ts +0 -13
  379. package/dist/core/mcp/standalone-server.js +0 -46
  380. package/dist/core/mcp/tools.d.ts +0 -9
  381. package/dist/core/mcp/tools.js +0 -365
  382. package/dist/core/mcp/types.d.ts +0 -315
  383. package/dist/core/mcp/types.js +0 -48
  384. package/dist/core/memory/bridge-discovery.d.ts +0 -50
  385. package/dist/core/memory/bridge-discovery.js +0 -291
  386. package/dist/core/memory/categorizer.d.ts +0 -27
  387. package/dist/core/memory/categorizer.js +0 -305
  388. package/dist/core/memory/conflict-detector.d.ts +0 -7
  389. package/dist/core/memory/conflict-detector.js +0 -43
  390. package/dist/core/memory/consolidation.d.ts +0 -42
  391. package/dist/core/memory/consolidation.js +0 -303
  392. package/dist/core/memory/context-collector.d.ts +0 -10
  393. package/dist/core/memory/context-collector.js +0 -56
  394. package/dist/core/memory/contradiction-resolver.d.ts +0 -40
  395. package/dist/core/memory/contradiction-resolver.js +0 -368
  396. package/dist/core/memory/edit-workflow.d.ts +0 -19
  397. package/dist/core/memory/edit-workflow.js +0 -120
  398. package/dist/core/memory/entity-extractor.d.ts +0 -33
  399. package/dist/core/memory/entity-extractor.js +0 -336
  400. package/dist/core/memory/entity-resolver.d.ts +0 -23
  401. package/dist/core/memory/entity-resolver.js +0 -64
  402. package/dist/core/memory/fact-extractor.d.ts +0 -24
  403. package/dist/core/memory/fact-extractor.js +0 -89
  404. package/dist/core/memory/feedback-tracker.d.ts +0 -12
  405. package/dist/core/memory/feedback-tracker.js +0 -155
  406. package/dist/core/memory/hooks.d.ts +0 -88
  407. package/dist/core/memory/hooks.js +0 -174
  408. package/dist/core/memory/hybrid-retrieval.d.ts +0 -29
  409. package/dist/core/memory/hybrid-retrieval.js +0 -139
  410. package/dist/core/memory/hybrid-scorer.d.ts +0 -40
  411. package/dist/core/memory/hybrid-scorer.js +0 -284
  412. package/dist/core/memory/hybrid-search.d.ts +0 -20
  413. package/dist/core/memory/hybrid-search.js +0 -359
  414. package/dist/core/memory/importance.d.ts +0 -63
  415. package/dist/core/memory/importance.js +0 -298
  416. package/dist/core/memory/index.d.ts +0 -8
  417. package/dist/core/memory/loader.d.ts +0 -31
  418. package/dist/core/memory/loader.js +0 -141
  419. package/dist/core/memory/markdown/markdown-storage.d.ts +0 -72
  420. package/dist/core/memory/markdown/markdown-storage.js +0 -243
  421. package/dist/core/memory/memories.d.ts +0 -47
  422. package/dist/core/memory/memories.js +0 -449
  423. package/dist/core/memory/memory-lifecycle.d.ts +0 -8
  424. package/dist/core/memory/memory-lifecycle.js +0 -55
  425. package/dist/core/memory/memory-manager.d.ts +0 -15
  426. package/dist/core/memory/memory-manager.js +0 -46
  427. package/dist/core/memory/migrate.d.ts +0 -21
  428. package/dist/core/memory/migrate.js +0 -134
  429. package/dist/core/memory/normalization.d.ts +0 -22
  430. package/dist/core/memory/normalization.js +0 -26
  431. package/dist/core/memory/progressive-disclosure.d.ts +0 -43
  432. package/dist/core/memory/progressive-disclosure.js +0 -280
  433. package/dist/core/memory/query-processor.d.ts +0 -21
  434. package/dist/core/memory/query-processor.js +0 -72
  435. package/dist/core/memory/query-rewriter.d.ts +0 -13
  436. package/dist/core/memory/query-rewriter.js +0 -118
  437. package/dist/core/memory/response-analyzer.d.ts +0 -9
  438. package/dist/core/memory/response-analyzer.js +0 -61
  439. package/dist/core/memory/serialization.d.ts +0 -10
  440. package/dist/core/memory/serialization.js +0 -84
  441. package/dist/core/memory/stats.d.ts +0 -22
  442. package/dist/core/memory/stats.js +0 -138
  443. package/dist/core/memory/telemetry.d.ts +0 -69
  444. package/dist/core/memory/telemetry.js +0 -313
  445. package/dist/core/memory/temporal-facts.d.ts +0 -41
  446. package/dist/core/memory/temporal-facts.js +0 -283
  447. package/dist/core/memory/temporal-parser.d.ts +0 -32
  448. package/dist/core/memory/temporal-parser.js +0 -385
  449. package/dist/core/memory/trigger-detector.d.ts +0 -14
  450. package/dist/core/memory/trigger-detector.js +0 -42
  451. package/dist/core/memory/write-gate.d.ts +0 -54
  452. package/dist/core/memory/write-gate.js +0 -210
  453. package/dist/core/namespaces/index.d.ts +0 -71
  454. package/dist/core/namespaces/index.js +0 -305
  455. package/dist/core/namespaces/uri-parser.d.ts +0 -31
  456. package/dist/core/namespaces/uri-parser.js +0 -74
  457. package/dist/core/obsidian-vault.d.ts +0 -30
  458. package/dist/core/obsidian-vault.js +0 -94
  459. package/dist/core/places/index.d.ts +0 -14
  460. package/dist/core/places/memory-places.d.ts +0 -68
  461. package/dist/core/places/memory-places.js +0 -261
  462. package/dist/core/places/places.d.ts +0 -88
  463. package/dist/core/places/places.js +0 -314
  464. package/dist/core/places/rules.d.ts +0 -74
  465. package/dist/core/places/rules.js +0 -240
  466. package/dist/core/places/walking.d.ts +0 -56
  467. package/dist/core/places/walking.js +0 -121
  468. package/dist/core/projects.d.ts +0 -17
  469. package/dist/core/projects.js +0 -108
  470. package/dist/core/redis.d.ts +0 -11
  471. package/dist/core/redis.js +0 -69
  472. package/dist/core/responses.d.ts +0 -96
  473. package/dist/core/responses.js +0 -122
  474. package/dist/core/scheduler/cron-scheduler.d.ts +0 -32
  475. package/dist/core/scheduler/cron-scheduler.js +0 -332
  476. package/dist/core/scheduler/heartbeat.d.ts +0 -11
  477. package/dist/core/scheduler/heartbeat.js +0 -73
  478. package/dist/core/scheduler/index.d.ts +0 -8
  479. package/dist/core/scheduler/job-runner.d.ts +0 -11
  480. package/dist/core/scheduler/job-runner.js +0 -164
  481. package/dist/core/search/conversations.d.ts +0 -25
  482. package/dist/core/search/conversations.js +0 -110
  483. package/dist/core/search/entities.d.ts +0 -12
  484. package/dist/core/search/entities.js +0 -31
  485. package/dist/core/search/folder-context.d.ts +0 -25
  486. package/dist/core/search/folder-context.js +0 -119
  487. package/dist/core/search/graph-boost.d.ts +0 -7
  488. package/dist/core/search/graph-boost.js +0 -23
  489. package/dist/core/search/index.d.ts +0 -4
  490. package/dist/core/search/qmd-search.d.ts +0 -61
  491. package/dist/core/search/qmd-search.js +0 -178
  492. package/dist/core/security/encrypt.d.ts +0 -6
  493. package/dist/core/security/encrypt.js +0 -47
  494. package/dist/core/security/governance.d.ts +0 -26
  495. package/dist/core/security/governance.js +0 -79
  496. package/dist/core/security/privacy.d.ts +0 -23
  497. package/dist/core/security/privacy.js +0 -82
  498. package/dist/core/security/secret-detector.d.ts +0 -32
  499. package/dist/core/security/secret-detector.js +0 -88
  500. package/dist/core/session/auto-load.d.ts +0 -6
  501. package/dist/core/session/auto-load.js +0 -119
  502. package/dist/core/session/index.d.ts +0 -7
  503. package/dist/core/session/self-iteration-job.d.ts +0 -20
  504. package/dist/core/session/self-iteration-job.js +0 -282
  505. package/dist/core/session/session-hooks.d.ts +0 -18
  506. package/dist/core/session/session-hooks.js +0 -58
  507. package/dist/core/session/types.d.ts +0 -26
  508. package/dist/core/session/types.js +0 -10
  509. package/dist/core/session-hooks/self-iteration-job.d.ts +0 -20
  510. package/dist/core/session-hooks/self-iteration-job.js +0 -282
  511. package/dist/core/session-hooks/session-hooks.d.ts +0 -18
  512. package/dist/core/session-hooks/session-hooks.js +0 -58
  513. package/dist/core/snapshots/cleanup.d.ts +0 -9
  514. package/dist/core/snapshots/comparison.d.ts +0 -19
  515. package/dist/core/snapshots/comparison.js +0 -43
  516. package/dist/core/snapshots/creation.d.ts +0 -19
  517. package/dist/core/snapshots/creation.js +0 -126
  518. package/dist/core/snapshots/retrieval.d.ts +0 -7
  519. package/dist/core/snapshots/retrieval.js +0 -41
  520. package/dist/core/snapshots/stats.d.ts +0 -11
  521. package/dist/core/snapshots/stats.js +0 -52
  522. package/dist/core/snapshots.d.ts +0 -29
  523. package/dist/core/snapshots.js +0 -220
  524. package/dist/core/storage/cache.d.ts +0 -13
  525. package/dist/core/storage/cache.js +0 -202
  526. package/dist/core/storage/database.d.ts +0 -12
  527. package/dist/core/storage/database.js +0 -12
  528. package/dist/core/summarization/cleanup.d.ts +0 -9
  529. package/dist/core/summarization/queries.d.ts +0 -9
  530. package/dist/core/summarization/queries.js +0 -28
  531. package/dist/core/summarization/stats.d.ts +0 -14
  532. package/dist/core/summarization/stats.js +0 -52
  533. package/dist/core/summarization/strategies.d.ts +0 -24
  534. package/dist/core/summarization/strategies.js +0 -28
  535. package/dist/core/summarization.d.ts +0 -37
  536. package/dist/core/summarization.js +0 -188
  537. package/dist/core/sync/qmd-sync.d.ts +0 -94
  538. package/dist/core/sync/qmd-sync.js +0 -201
  539. package/dist/core/temporal-facts.d.ts +0 -54
  540. package/dist/core/temporal-facts.js +0 -193
  541. package/dist/core/toon.d.ts +0 -43
  542. package/dist/core/toon.js +0 -160
  543. package/dist/core/tracing/collector.d.ts +0 -111
  544. package/dist/core/tracing/collector.js +0 -350
  545. package/dist/core/tracing/visualizer.d.ts +0 -32
  546. package/dist/core/tracing/visualizer.js +0 -165
  547. package/dist/core/utils/cleanup-operations.d.ts +0 -13
  548. package/dist/core/utils/cleanup-operations.js +0 -44
  549. package/dist/core/utils/content-extraction.d.ts +0 -19
  550. package/dist/core/utils/content-extraction.js +0 -75
  551. package/dist/core/utils/filter-builder.d.ts +0 -13
  552. package/dist/core/utils/filter-builder.js +0 -44
  553. package/dist/core/utils/history-traversal.d.ts +0 -13
  554. package/dist/core/utils/history-traversal.js +0 -50
  555. package/dist/core/utils/memory-operations.d.ts +0 -17
  556. package/dist/core/utils/memory-operations.js +0 -43
  557. package/dist/core/utils/query-operations.d.ts +0 -18
  558. package/dist/core/utils/query-operations.js +0 -65
  559. package/dist/core/utils/summarization-helpers.d.ts +0 -21
  560. package/dist/core/utils/summarization-helpers.js +0 -38
  561. package/dist/core/utils/temporal-queries.d.ts +0 -13
  562. package/dist/core/utils/temporal-queries.js +0 -27
  563. package/dist/core/utils/vector-operations.d.ts +0 -71
  564. package/dist/core/utils/version-management.d.ts +0 -9
  565. package/dist/core/utils/version-management.js +0 -61
  566. package/dist/core/worker.d.ts +0 -82
  567. package/dist/core/worker.js +0 -272
  568. package/dist/db/adapter.d.ts +0 -7
  569. package/dist/db/adapter.js +0 -175
  570. package/dist/db/bootstrap.d.ts +0 -9
  571. package/dist/db/drizzle/schema-sqlite.d.ts +0 -4837
  572. package/dist/db/drizzle/schema-sqlite.js +0 -684
  573. package/dist/db/drizzle/schema.d.ts +0 -4082
  574. package/dist/db/drizzle/schema.js +0 -770
  575. package/dist/db/drizzle.config.d.ts +0 -3
  576. package/dist/db/drizzle.config.js +0 -12
  577. package/dist/db/index.d.ts +0 -7
  578. package/dist/db/index.js +0 -89
  579. package/dist/db/neon.d.ts +0 -8
  580. package/dist/db/neon.js +0 -20
  581. package/dist/db/schema/index.d.ts +0 -40
  582. package/dist/db/schema/index.js +0 -105
  583. package/dist/db/schema/tables/context-sessions.d.ts +0 -9
  584. package/dist/db/schema/tables/context-sessions.js +0 -37
  585. package/dist/db/schema/tables/conversations.d.ts +0 -9
  586. package/dist/db/schema/tables/conversations.js +0 -47
  587. package/dist/db/schema/tables/core-memory.d.ts +0 -9
  588. package/dist/db/schema/tables/core-memory.js +0 -41
  589. package/dist/db/schema/tables/entities.d.ts +0 -9
  590. package/dist/db/schema/tables/entities.js +0 -39
  591. package/dist/db/schema/tables/entity-relations.d.ts +0 -9
  592. package/dist/db/schema/tables/entity-relations.js +0 -31
  593. package/dist/db/schema/tables/learnings.d.ts +0 -9
  594. package/dist/db/schema/tables/learnings.js +0 -66
  595. package/dist/db/schema/tables/memories.d.ts +0 -9
  596. package/dist/db/schema/tables/memories.js +0 -161
  597. package/dist/db/schema/tables/memory-associations.d.ts +0 -9
  598. package/dist/db/schema/tables/memory-associations.js +0 -39
  599. package/dist/db/schema/tables/memory-hash-cache.d.ts +0 -9
  600. package/dist/db/schema/tables/memory-hash-cache.js +0 -29
  601. package/dist/db/schema/tables/memory-merge-history.d.ts +0 -9
  602. package/dist/db/schema/tables/memory-merge-history.js +0 -33
  603. package/dist/db/schema/tables/memory-merge-proposals.d.ts +0 -9
  604. package/dist/db/schema/tables/memory-merge-proposals.js +0 -39
  605. package/dist/db/schema/tables/messages.d.ts +0 -9
  606. package/dist/db/schema/tables/messages.js +0 -41
  607. package/dist/db/schema/tables/namespaces.d.ts +0 -9
  608. package/dist/db/schema/tables/namespaces.js +0 -37
  609. package/dist/db/schema/tables/projects.d.ts +0 -9
  610. package/dist/db/schema/tables/projects.js +0 -31
  611. package/dist/db/schema/tables/users.d.ts +0 -9
  612. package/dist/db/schema/tables/users.js +0 -27
  613. package/dist/db/schema.d.ts +0 -3
  614. package/dist/db/schema.js +0 -11
  615. package/dist/db/supabase.d.ts +0 -9
  616. package/dist/db/supabase.js +0 -24
  617. package/dist/index.d.ts +0 -7
  618. package/dist/index.js +0 -1677
  619. package/dist/vendor/sql.js/sql-wasm.wasm +0 -0
  620. package/dist/webui/server.d.ts +0 -5
  621. package/dist/webui/server.js +0 -642
  622. package/generated/mcp/manifest.json +0 -23
  623. package/generated/mcp/mcp-servers.json +0 -25
  624. package/generated/mcp/mcporter.json +0 -34
  625. package/generated/mcp/openclaw-memory-qmd.json +0 -17
  626. package/generated/mcp/runtime.json +0 -12
  627. package/scripts/README.md +0 -60
  628. package/scripts/build-release.sh +0 -36
  629. package/scripts/check-secrets.js +0 -132
  630. package/scripts/copy-runtime-assets.mjs +0 -26
  631. package/scripts/generate-mcp.mjs +0 -264
  632. package/scripts/github-release.sh +0 -77
  633. package/scripts/init-dirs.mjs +0 -13
  634. package/scripts/install-claude-code.sh +0 -85
  635. package/scripts/install-cursor.sh +0 -56
  636. package/scripts/install-hooks.sh +0 -73
  637. package/scripts/install-interactive.mjs +0 -357
  638. package/scripts/install-opencode.sh +0 -75
  639. package/scripts/install-plugin.mjs +0 -415
  640. package/scripts/install-windsurf.sh +0 -67
  641. package/scripts/remote-preflight.mjs +0 -62
  642. package/scripts/squish-fallback.mjs +0 -132
  643. package/scripts/test-interactive.mjs +0 -131
  644. package/scripts/verify-mcp.mjs +0 -214
  645. package/skills/squish-memory/scripts/install.mjs +0 -335
  646. package/skills/squish-memory/write_skill.js +0 -2
@@ -1,76 +0,0 @@
1
- /** Layer Extractor - Creates L0/L1 truncated layers for token-efficient hierarchical retrieval */
2
- const DEFAULT_CONFIG = {
3
- l0MaxLength: 50,
4
- l1MaxLength: 300,
5
- autoGenerate: true,
6
- };
7
- /**
8
- * Extract L0/L1/L2 layers for content via truncation
9
- */
10
- export async function extractLayers(content, config = {}) {
11
- const l0MaxLength = config.l0MaxLength ?? DEFAULT_CONFIG.l0MaxLength;
12
- const l1MaxLength = config.l1MaxLength ?? DEFAULT_CONFIG.l1MaxLength;
13
- // Extract L0 and L1 in parallel
14
- const [l0, l1] = await Promise.all([
15
- extractL0Truncation(content, l0MaxLength),
16
- extractL1Truncation(content, l1MaxLength),
17
- ]);
18
- const l2Tokens = countTokens(content);
19
- const l0Tokens = countTokens(l0 || '');
20
- const l1Tokens = countTokens(l1 || '');
21
- return {
22
- l0: l0 ?? '',
23
- l1: l1 ?? '',
24
- l2: content,
25
- tokenCounts: {
26
- l0: l0Tokens,
27
- l1: l1Tokens,
28
- l2: l2Tokens,
29
- },
30
- };
31
- }
32
- /**
33
- * Extract L0: Ultra-short truncated preview (first sentence or chars)
34
- */
35
- async function extractL0Truncation(content, maxLength) {
36
- // Simple truncation for L0 (first sentence or chars)
37
- const trimmed = content.trim();
38
- const sentences = trimmed.split(/[.!?]/).filter(s => s.trim().length > 0);
39
- // Take first non-empty sentence and truncate if needed
40
- let result = sentences.length > 0 ? sentences[0] : trimmed.substring(0, maxLength);
41
- if (result.length > maxLength) {
42
- result = result.substring(0, maxLength - 3) + '...';
43
- }
44
- return result.trim();
45
- }
46
- /**
47
- * Extract L1: Short truncated preview (first 2 meaningful sentences)
48
- */
49
- async function extractL1Truncation(content, maxLength) {
50
- // Simple truncation for L1 (first 2 meaningful sentences)
51
- const trimmed = content.trim();
52
- const sentences = trimmed.split(/[.!?]/).filter(s => s.trim().length > 10);
53
- // Take first meaningful sentences and truncate if needed
54
- let result = sentences.length > 0
55
- ? sentences.slice(0, 2).join(' ').trim()
56
- : trimmed.substring(0, maxLength);
57
- if (result.length > maxLength) {
58
- result = result.substring(0, maxLength - 3) + '...';
59
- }
60
- return result.trim();
61
- }
62
- /**
63
- * Count tokens (approximate, 4 chars = 1 token for English)
64
- */
65
- function countTokens(text) {
66
- // Simple approximation: 4 chars per token
67
- return Math.ceil(text.length / 4);
68
- }
69
- /**
70
- * Check if content should have layers auto-extracted
71
- */
72
- export function shouldAutoGenerate(contentLength) {
73
- const threshold = 500;
74
- return contentLength > threshold;
75
- }
76
- //# sourceMappingURL=generator.js.map
@@ -1,130 +0,0 @@
1
- /**
2
- * Database Client & Schema Loading Abstraction
3
- *
4
- * Provides a unified interface for accessing both the database client and schema
5
- * in a single call, eliminating repetitive patterns of:
6
- * `const db = createDatabaseClient(await getDb()); const schema = await getSchema();`
7
- *
8
- * Features:
9
- * - Single async call to get both db and schema
10
- * - Consistent error handling with clear messages
11
- * - Preserves schema caching
12
- * - Provides raw connection for special cases
13
- * - Helper `withDbClient` for functional programming patterns
14
- *
15
- * @example
16
- * ```typescript
17
- * // Old pattern (repetitive)
18
- * const db = createDatabaseClient(await getDb());
19
- * const schema = await getSchema();
20
- *
21
- * // New pattern (unified)
22
- * const { db, schema } = await getDbClient();
23
- *
24
- * // With helper
25
- * const result = await withDbClient(async (client) => {
26
- * return await client.db.select().from(client.schema.memories);
27
- * });
28
- * ```
29
- */
30
- import { getDb } from '../../db/index.js';
31
- import { getSchema } from '../../db/schema.js';
32
- import { createDatabaseClient } from '../storage/database.js';
33
- /**
34
- * Internal cached schema to preserve getSchema() caching behavior
35
- */
36
- let cachedSchema = null;
37
- /**
38
- * Get a unified database client with both db and schema.
39
- *
40
- * This function:
41
- * 1. Calls getDb() to initialize/retrieve the database connection
42
- * 2. Calls getSchema() to get the appropriate schema (with caching)
43
- * 3. Wraps the db with createDatabaseClient() for unified API
44
- * 4. Returns all three as a single DbClient object
45
- *
46
- * Error handling:
47
- * - Wraps any database initialization errors with a clear message
48
- * - Preserves the original error as `cause` property
49
- *
50
- * Schema caching:
51
- * - Uses the same caching mechanism as getSchema()
52
- * - Multiple calls to getDbClient() will return the same schema reference
53
- *
54
- * @returns Promise<DbClient> Unified client with db, schema, and raw
55
- * @throws {Error} When database initialization fails, with cause attached
56
- *
57
- * @example
58
- * ```typescript
59
- * const { db, schema, raw } = await getDbClient();
60
- *
61
- * // Use db for queries
62
- * const memories = await db.select().from(schema.memories).limit(10);
63
- *
64
- * // Use raw for special cases
65
- * const client = (raw as any).$client;
66
- * if (client && typeof client.exec === 'function') {
67
- * client.exec('VACUUM');
68
- * }
69
- * ```
70
- */
71
- export async function getDbClient() {
72
- try {
73
- // Get raw database connection
74
- const rawDb = await getDb();
75
- // Get schema (with caching)
76
- if (!cachedSchema) {
77
- cachedSchema = await getSchema();
78
- }
79
- // Create wrapped database client
80
- const db = createDatabaseClient(rawDb);
81
- return {
82
- db,
83
- schema: cachedSchema,
84
- raw: rawDb,
85
- };
86
- }
87
- catch (error) {
88
- const message = error instanceof Error
89
- ? `Database initialization failed: ${error.message}`
90
- : 'Database initialization failed';
91
- // Wrap error with clear message while preserving cause
92
- const wrappedError = new Error(message);
93
- // @ts-ignore - TypeScript doesn't allow 'cause' on Error, but it's valid
94
- wrappedError.cause = error;
95
- throw wrappedError;
96
- }
97
- }
98
- /**
99
- * Execute an operation with a unified database client.
100
- *
101
- * Convenience wrapper that:
102
- * 1. Calls getDbClient() to obtain client
103
- * 2. Executes the provided operation
104
- * 3. Ensures proper cleanup if needed (no-op currently, for future extension)
105
- *
106
- * @param operation - Async function that receives the DbClient and returns a result
107
- * @returns Promise<T> The result returned by the operation
108
- * @throws {Error} When database initialization or operation fails
109
- *
110
- * @example
111
- * ```typescript
112
- * const count = await withDbClient(async (client) => {
113
- * const result = await client.db
114
- * .select({ count: sql`count(*)` })
115
- * .from(client.schema.memories);
116
- * return result[0].count;
117
- * });
118
- * ```
119
- */
120
- export async function withDbClient(operation) {
121
- const client = await getDbClient();
122
- try {
123
- return await operation(client);
124
- }
125
- finally {
126
- // Future: Add cleanup logic if needed (connection pooling, etc.)
127
- // Currently getDb() handles connection pooling and reuse
128
- }
129
- }
130
- //# sourceMappingURL=db-client.js.map
@@ -1,129 +0,0 @@
1
- /**
2
- * Shared Zod schemas for input validation across Squish
3
- * Provides consistent validation for common input types
4
- */
5
- import { z } from 'zod';
6
- /**
7
- * Limit schema: integer between 1 and 100, default 20
8
- */
9
- export declare const limitSchema: z.ZodDefault<z.ZodNumber>;
10
- /**
11
- * Offset schema: integer >= 0, default 0
12
- */
13
- export declare const offsetSchema: z.ZodDefault<z.ZodNumber>;
14
- /**
15
- * Project ID/path schema: non-empty string
16
- */
17
- export declare const projectIdSchema: z.ZodString;
18
- /**
19
- * Memory ID schema: valid UUID
20
- */
21
- export declare const memoryIdSchema: z.ZodString;
22
- /**
23
- * Pagination schema combining limit and offset
24
- */
25
- export declare const paginationSchema: z.ZodObject<{
26
- limit: z.ZodDefault<z.ZodNumber>;
27
- offset: z.ZodDefault<z.ZodNumber>;
28
- }, "strip", z.ZodTypeAny, {
29
- limit: number;
30
- offset: number;
31
- }, {
32
- limit?: number | undefined;
33
- offset?: number | undefined;
34
- }>;
35
- /**
36
- * Search query schema: non-empty string
37
- */
38
- export declare const searchQuerySchema: z.ZodString;
39
- /**
40
- * Memory type schema
41
- */
42
- export declare const memoryTypeSchema: z.ZodEnum<["observation", "fact", "decision", "context", "preference", "note"]>;
43
- /**
44
- * Association type schema
45
- */
46
- export declare const associationTypeSchema: z.ZodEnum<["relates_to", "supports", "contradicts", "supersedes", "duplicate"]>;
47
- /**
48
- * Weight schema: number between 0 and 1
49
- */
50
- export declare const weightSchema: z.ZodNumber;
51
- /**
52
- * Learning type schema
53
- */
54
- export declare const learningTypeSchema: z.ZodEnum<["success", "failure", "fix", "observation"]>;
55
- /**
56
- * Observation type schema
57
- */
58
- export declare const observationTypeSchema: z.ZodEnum<["tool_use", "file_change", "error", "pattern", "insight"]>;
59
- /**
60
- * Confidence level schema
61
- */
62
- export declare const confidenceLevelSchema: z.ZodEnum<["certain", "speculative", "outdated"]>;
63
- /**
64
- * Search input schema (common for search operations)
65
- */
66
- export declare const searchInputSchema: z.ZodObject<{
67
- query: z.ZodString;
68
- limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
69
- offset: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
70
- project: z.ZodOptional<z.ZodString>;
71
- type: z.ZodOptional<z.ZodEnum<["observation", "fact", "decision", "context", "preference", "note"]>>;
72
- }, "strip", z.ZodTypeAny, {
73
- query: string;
74
- project?: string | undefined;
75
- type?: "observation" | "fact" | "decision" | "context" | "preference" | "note" | undefined;
76
- limit?: number | undefined;
77
- offset?: number | undefined;
78
- }, {
79
- query: string;
80
- project?: string | undefined;
81
- type?: "observation" | "fact" | "decision" | "context" | "preference" | "note" | undefined;
82
- limit?: number | undefined;
83
- offset?: number | undefined;
84
- }>;
85
- /**
86
- * Memory recall schema
87
- */
88
- export declare const recallInputSchema: z.ZodObject<{
89
- memoryId: z.ZodString;
90
- limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
91
- project: z.ZodOptional<z.ZodString>;
92
- }, "strip", z.ZodTypeAny, {
93
- memoryId: string;
94
- project?: string | undefined;
95
- limit?: number | undefined;
96
- }, {
97
- memoryId: string;
98
- project?: string | undefined;
99
- limit?: number | undefined;
100
- }>;
101
- /**
102
- * Tag operation schema
103
- */
104
- export declare const tagOperationSchema: z.ZodObject<{
105
- action: z.ZodEnum<["add", "remove"]>;
106
- tag: z.ZodString;
107
- search: z.ZodOptional<z.ZodString>;
108
- olderThan: z.ZodOptional<z.ZodString>;
109
- type: z.ZodOptional<z.ZodEnum<["observation", "fact", "decision", "context", "preference", "note"]>>;
110
- limit: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
111
- project: z.ZodOptional<z.ZodString>;
112
- }, "strip", z.ZodTypeAny, {
113
- action: "add" | "remove";
114
- tag: string;
115
- search?: string | undefined;
116
- project?: string | undefined;
117
- type?: "observation" | "fact" | "decision" | "context" | "preference" | "note" | undefined;
118
- limit?: number | undefined;
119
- olderThan?: string | undefined;
120
- }, {
121
- action: "add" | "remove";
122
- tag: string;
123
- search?: string | undefined;
124
- project?: string | undefined;
125
- type?: "observation" | "fact" | "decision" | "context" | "preference" | "note" | undefined;
126
- limit?: number | undefined;
127
- olderThan?: string | undefined;
128
- }>;
129
- //# sourceMappingURL=schemas.d.ts.map
@@ -1,14 +0,0 @@
1
- /**
2
- * Shared utility functions for the squish codebase
3
- */
4
- export declare function normalizeTimestamp(value: any): string | null;
5
- export declare function now(): string;
6
- export declare function isDatabaseUnavailableError(error: any): boolean;
7
- export declare function withDatabaseErrorHandling<T>(operation: () => Promise<T>, errorMessage: string): Promise<T>;
8
- export declare function clampLimit(value: number | undefined, defaultValue: number, min?: number, max?: number): number;
9
- export declare function prepareEmbedding(embedding: number[] | null): {
10
- embedding?: number[] | null;
11
- embeddingJson?: string | null;
12
- };
13
- export declare function determineOverallStatus(dbStatus: string, redisOk: boolean): string;
14
- //# sourceMappingURL=utils.d.ts.map
@@ -1,90 +0,0 @@
1
- /**
2
- * Shared utility functions for the squish codebase
3
- */
4
- import { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
5
- import { config } from '../../config.js';
6
- import { toSqliteJson } from '../memory/serialization.js';
7
- export function normalizeTimestamp(value) {
8
- if (!value)
9
- return null;
10
- if (value instanceof Date)
11
- return value.toISOString();
12
- if (typeof value === 'number') {
13
- try {
14
- // Handle different timestamp formats using magnitude thresholds
15
- // Microseconds: > 100000000000000 (e.g., 1700000000000000)
16
- // Milliseconds: > 1000000000000 (e.g., 1700000000000)
17
- // Seconds: <= 1000000000000 (e.g., 1700000000)
18
- if (value > 100000000000000) {
19
- return new Date(value / 1000).toISOString();
20
- }
21
- else if (value > 1000000000000) {
22
- return new Date(value).toISOString();
23
- }
24
- else if (value >= 0) {
25
- return new Date(value * 1000).toISOString();
26
- }
27
- return null;
28
- }
29
- catch {
30
- return null;
31
- }
32
- }
33
- if (typeof value === 'string') {
34
- try {
35
- const parsed = new Date(value);
36
- if (!isNaN(parsed.getTime()))
37
- return parsed.toISOString();
38
- return null;
39
- }
40
- catch {
41
- return null;
42
- }
43
- }
44
- return null;
45
- }
46
- export function now() {
47
- return new Date().toISOString();
48
- }
49
- export function isDatabaseUnavailableError(error) {
50
- const message = error?.message || '';
51
- return [
52
- 'Database unavailable',
53
- 'not a valid Win32 application',
54
- 'invalid ELF header',
55
- 'bun:',
56
- 'sql.js wasm asset not found',
57
- 'SQLite database initialization failed',
58
- 'working local SQLite driver',
59
- ].some((pattern) => message.includes(pattern));
60
- }
61
- export async function withDatabaseErrorHandling(operation, errorMessage) {
62
- try {
63
- return await operation();
64
- }
65
- catch (dbError) {
66
- if (isDatabaseUnavailableError(dbError)) {
67
- throw new McpError(ErrorCode.InternalError, errorMessage);
68
- }
69
- throw dbError;
70
- }
71
- }
72
- export function clampLimit(value, defaultValue, min = 1, max = 100) {
73
- return Math.min(Math.max(value ?? defaultValue, min), max);
74
- }
75
- export function prepareEmbedding(embedding) {
76
- if (config.isTeamMode) {
77
- return { embedding: embedding ?? null };
78
- }
79
- return { embeddingJson: toSqliteJson(embedding ?? null) };
80
- }
81
- export function determineOverallStatus(dbStatus, redisOk) {
82
- if ((dbStatus === 'ok' || dbStatus === 'unavailable') && redisOk) {
83
- return 'ok';
84
- }
85
- if (dbStatus === 'unavailable') {
86
- return 'degraded';
87
- }
88
- return 'error';
89
- }
90
- //# sourceMappingURL=utils.js.map
@@ -1,38 +0,0 @@
1
- /**
2
- * Input validation utilities for Squish
3
- * Consolidates scattered validation patterns into a unified module
4
- */
5
- import { normalizeTags } from '../memory/serialization.js';
6
- /**
7
- * Validate and normalize a limit value with bounds checking
8
- */
9
- export declare function validateLimit(value: number | string | undefined, defaultValue?: number, min?: number, max?: number): number;
10
- /**
11
- * Parse an integer with bounds checking
12
- */
13
- export declare function parseIntBounded(value: number | string | undefined, defaultValue: number, min: number, max: number): number;
14
- /**
15
- * Validate a project path
16
- */
17
- export declare function validateProjectPath(path: string | undefined, options?: {
18
- createIfMissing?: boolean;
19
- require?: boolean;
20
- }): Promise<string>;
21
- /**
22
- * Validate a UUID
23
- */
24
- export declare function validateUuid(id: string): boolean;
25
- /**
26
- * Require a valid UUID, throws if invalid
27
- */
28
- export declare function requireUuid(id: string): string;
29
- /**
30
- * Validate a date value
31
- *
32
- * @param value - The date to validate (string, Date, number, or undefined)
33
- * @returns Date object if valid, null otherwise
34
- */
35
- export declare function validateDate(value: string | Date | number | undefined): Date | null;
36
- export { normalizeTags };
37
- export { clampLimit } from './utils.js';
38
- //# sourceMappingURL=validation.d.ts.map
@@ -1,151 +0,0 @@
1
- /**
2
- * Input validation utilities for Squish
3
- * Consolidates scattered validation patterns into a unified module
4
- */
5
- import { normalizeTags } from '../memory/serialization.js';
6
- /**
7
- * Validate and normalize a limit value with bounds checking
8
- */
9
- export function validateLimit(value, defaultValue = 20, min = 1, max = 100) {
10
- // Handle undefined, null, empty string
11
- if (value === undefined || value === null || value === '') {
12
- return defaultValue;
13
- }
14
- // Convert string to number, truncate decimals
15
- let num;
16
- if (typeof value === 'string') {
17
- const parsed = parseInt(value, 10);
18
- if (isNaN(parsed)) {
19
- return NaN;
20
- }
21
- num = parsed;
22
- }
23
- else {
24
- // Truncate decimals for numbers
25
- num = Math.trunc(value);
26
- }
27
- // Handle NaN
28
- if (isNaN(num)) {
29
- return NaN;
30
- }
31
- // Clamp to bounds
32
- return Math.min(Math.max(num, min), max);
33
- }
34
- /**
35
- * Parse an integer with bounds checking
36
- */
37
- export function parseIntBounded(value, defaultValue, min, max) {
38
- return validateLimit(value, defaultValue, min, max);
39
- }
40
- /**
41
- * Validate a project path
42
- */
43
- export async function validateProjectPath(path, options) {
44
- const { createIfMissing = false, require: requireProject = false } = options || {};
45
- // If path is undefined, throw if required or return current directory
46
- if (path === undefined || path === '') {
47
- if (requireProject) {
48
- throw new Error('Project path is required');
49
- }
50
- return process.cwd();
51
- }
52
- // Resolve to absolute path
53
- const absolutePath = path.startsWith('/') || /^[a-zA-Z]:\\/.test(path)
54
- ? path
55
- : path.startsWith('~')
56
- ? path.replace(/^~/, process.env.HOME || process.env.USERPROFILE || '')
57
- : path.startsWith('.')
58
- ? path
59
- : path;
60
- // Check if project exists in database
61
- const { getProjectByPath } = await import('../projects.js');
62
- const existingProject = await getProjectByPath(absolutePath);
63
- if (existingProject) {
64
- return absolutePath;
65
- }
66
- // Project doesn't exist
67
- if (requireProject) {
68
- throw new Error(`Project not found: ${absolutePath}`);
69
- }
70
- if (createIfMissing) {
71
- const { ensureProject } = await import('../projects.js');
72
- await ensureProject(absolutePath);
73
- return absolutePath;
74
- }
75
- // Return the path even if it doesn't exist in database (for non-db validation)
76
- return absolutePath;
77
- }
78
- /**
79
- * Validate a UUID
80
- */
81
- export function validateUuid(id) {
82
- if (typeof id !== 'string' || !id) {
83
- return false;
84
- }
85
- // UUID v4/v5 regex pattern (8-4-4-4-12 hex digits)
86
- const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
87
- return uuidRegex.test(id);
88
- }
89
- /**
90
- * Require a valid UUID, throws if invalid
91
- */
92
- export function requireUuid(id) {
93
- if (!validateUuid(id)) {
94
- throw new Error('Invalid UUID');
95
- }
96
- return id;
97
- }
98
- /**
99
- * Validate a date value
100
- *
101
- * @param value - The date to validate (string, Date, number, or undefined)
102
- * @returns Date object if valid, null otherwise
103
- */
104
- export function validateDate(value) {
105
- if (!value) {
106
- return null;
107
- }
108
- try {
109
- let date;
110
- if (value instanceof Date) {
111
- date = value;
112
- }
113
- else if (typeof value === 'number') {
114
- // Handle both milliseconds and seconds timestamps
115
- if (value > 100000000000000) {
116
- // Microseconds, convert to milliseconds
117
- date = new Date(value / 1000);
118
- }
119
- else if (value > 1000000000000) {
120
- // Milliseconds
121
- date = new Date(value);
122
- }
123
- else if (value >= 0) {
124
- // Seconds
125
- date = new Date(value * 1000);
126
- }
127
- else {
128
- return null;
129
- }
130
- }
131
- else if (typeof value === 'string') {
132
- date = new Date(value);
133
- }
134
- else {
135
- return null;
136
- }
137
- // Check if date is valid
138
- if (isNaN(date.getTime())) {
139
- return null;
140
- }
141
- return date;
142
- }
143
- catch {
144
- return null;
145
- }
146
- }
147
- // Re-export normalizeTags for tag validation
148
- export { normalizeTags };
149
- // Re-export clampLimit for backward compatibility
150
- export { clampLimit } from './utils.js';
151
- //# sourceMappingURL=validation.js.map
@@ -1,26 +0,0 @@
1
- /**
2
- * Memory Lifecycle Management
3
- * Implements sector-based decay, tier classification, and eviction policies
4
- *
5
- * Decay Formula: newScore = importanceScore * (1 - decayRate/100)^days
6
- * - decayRate: per-memory integer (e.g., 30 = 30% decay per decay cycle)
7
- * - days: days since lastDecayAt
8
- * - Tier demotion occurs when score drops below decayThreshold
9
- * - Cold memories below threshold get status = 'expired'
10
- */
11
- export interface LifecycleStats {
12
- decayed: number;
13
- evicted: number;
14
- promoted: number;
15
- tierChanges: {
16
- hot: number;
17
- warm: number;
18
- cold: number;
19
- };
20
- expired: number;
21
- }
22
- /**
23
- * Run full lifecycle maintenance on all memories
24
- */
25
- export declare function runLifecycleMaintenance(projectId?: string): Promise<LifecycleStats>;
26
- //# sourceMappingURL=lifecycle.d.ts.map