squish-memory 1.0.2 → 1.1.5

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 (341) hide show
  1. package/.env.example +130 -0
  2. package/CHANGELOG.md +55 -0
  3. package/README.md +150 -287
  4. package/config/hooks/claude-code-hooks.json +39 -0
  5. package/config/hooks/cursor-hooks.json +30 -0
  6. package/config/hooks/opencode-hooks.json +30 -0
  7. package/config/hooks/windsurf-hooks.json +30 -0
  8. package/config/mcp-mode-semantics.json +23 -21
  9. package/config/plugin-manifest.json +101 -152
  10. package/{plugin.json → config/plugin.json} +2 -2
  11. package/config/settings.json +52 -51
  12. package/{commands → core/commands}/init.md +39 -39
  13. package/dist/config.d.ts +28 -4
  14. package/dist/config.js +97 -29
  15. package/dist/core/adapters/config/claude-code.d.ts +45 -0
  16. package/dist/core/adapters/config/claude-code.js +113 -0
  17. package/dist/core/adapters/config/cursor.d.ts +26 -0
  18. package/dist/core/adapters/config/cursor.js +74 -0
  19. package/dist/core/adapters/config/opencode.d.ts +23 -0
  20. package/dist/core/adapters/config/opencode.js +73 -0
  21. package/dist/core/adapters/config/windsurf.d.ts +26 -0
  22. package/dist/core/adapters/config/windsurf.js +74 -0
  23. package/dist/core/adapters/index.d.ts +45 -0
  24. package/dist/core/adapters/index.js +84 -0
  25. package/dist/core/adapters/scripts/install-adapter.d.ts +19 -0
  26. package/dist/core/adapters/scripts/install-adapter.js +149 -0
  27. package/dist/core/adapters/timeline.d.ts +23 -0
  28. package/dist/core/adapters/timeline.js +88 -0
  29. package/dist/core/adapters/types.d.ts +157 -0
  30. package/dist/core/adapters/types.js +50 -0
  31. package/dist/{algorithms → core/algorithms}/analytics/token-estimator.d.ts +1 -1
  32. package/dist/{algorithms → core/algorithms}/analytics/token-estimator.js +3 -3
  33. package/dist/{algorithms → core/algorithms}/detection/semantic-ranker.d.ts +1 -1
  34. package/dist/{algorithms → core/algorithms}/detection/semantic-ranker.js +1 -1
  35. package/dist/{algorithms → core/algorithms}/detection/two-stage-detector.d.ts +1 -1
  36. package/dist/{algorithms → core/algorithms}/detection/two-stage-detector.js +7 -10
  37. package/dist/{algorithms → core/algorithms}/handlers/approve-merge.js +4 -4
  38. package/dist/{algorithms → core/algorithms}/handlers/detect-duplicates.js +3 -3
  39. package/dist/{algorithms → core/algorithms}/handlers/get-stats.js +3 -3
  40. package/dist/{algorithms → core/algorithms}/handlers/list-proposals.js +3 -3
  41. package/dist/{algorithms → core/algorithms}/handlers/preview-merge.js +3 -3
  42. package/dist/{algorithms → core/algorithms}/handlers/reject-merge.js +3 -3
  43. package/dist/{algorithms → core/algorithms}/handlers/reverse-merge.js +3 -3
  44. package/dist/core/algorithms/index.d.ts +21 -0
  45. package/dist/core/algorithms/index.js +26 -0
  46. package/dist/core/algorithms/operations/cache-maintenance.d.ts +12 -0
  47. package/dist/core/algorithms/operations/cache-maintenance.js +157 -0
  48. package/dist/{algorithms → core/algorithms}/safety/safety-checks.d.ts +1 -1
  49. package/dist/{algorithms → core/algorithms}/strategies/merge-strategies.d.ts +19 -1
  50. package/dist/{algorithms → core/algorithms}/strategies/merge-strategies.js +74 -123
  51. package/dist/core/algorithms/types.d.ts +133 -0
  52. package/dist/core/algorithms/types.js +5 -0
  53. package/dist/core/associations.d.ts +1 -2
  54. package/dist/core/associations.js +1 -2
  55. package/dist/core/autosave.d.ts +19 -0
  56. package/dist/core/autosave.js +16 -0
  57. package/dist/{commands → core/commands}/managed-sync.js +5 -5
  58. package/dist/core/commands/mcp-server.js +739 -0
  59. package/dist/core/context/agent-context.d.ts +106 -0
  60. package/dist/core/context/agent-context.js +274 -0
  61. package/dist/core/{context-paging.d.ts → context/context-paging.d.ts} +2 -12
  62. package/dist/core/{context-paging.js → context/context-paging.js} +19 -39
  63. package/dist/core/context/context-window.d.ts +40 -0
  64. package/dist/core/context/context-window.js +177 -0
  65. package/dist/core/context/context.js +22 -0
  66. package/dist/core/embeddings.d.ts +1 -1
  67. package/dist/core/embeddings.js +54 -2
  68. package/dist/core/error-handling.d.ts +63 -0
  69. package/dist/core/error-handling.js +173 -0
  70. package/dist/core/external-folder/index.d.ts +102 -0
  71. package/dist/core/external-folder/index.js +294 -0
  72. package/dist/core/hooks/agent-hooks.d.ts +74 -0
  73. package/dist/core/hooks/agent-hooks.js +244 -0
  74. package/dist/core/hooks/auto-tagger.d.ts +19 -0
  75. package/dist/core/hooks/auto-tagger.js +155 -0
  76. package/dist/core/hooks/capture-filter.d.ts +41 -0
  77. package/dist/core/hooks/capture-filter.js +128 -0
  78. package/dist/core/index.d.ts +6 -6
  79. package/dist/core/index.js +6 -6
  80. package/dist/core/{agent-memory.js → ingestion/agent-memory.js} +5 -7
  81. package/dist/core/{core-memory.js → ingestion/core-memory.js} +4 -4
  82. package/dist/core/ingestion/learnings.d.ts +57 -0
  83. package/dist/core/ingestion/learnings.js +202 -0
  84. package/dist/core/lib/db-client.d.ts +114 -0
  85. package/dist/core/lib/db-client.js +130 -0
  86. package/dist/core/lib/schemas.d.ts +129 -0
  87. package/dist/core/lib/schemas.js +87 -0
  88. package/dist/core/{utils.d.ts → lib/utils.d.ts} +1 -0
  89. package/dist/core/{utils.js → lib/utils.js} +31 -15
  90. package/dist/core/lib/validation.d.ts +38 -0
  91. package/dist/core/lib/validation.js +151 -0
  92. package/dist/core/lifecycle.d.ts +7 -0
  93. package/dist/core/lifecycle.js +140 -20
  94. package/dist/core/local-embeddings.d.ts +6 -1
  95. package/dist/core/local-embeddings.js +6 -15
  96. package/dist/core/logger.js +7 -1
  97. package/dist/core/mcp/tools.js +35 -3
  98. package/dist/core/memory/categorizer.js +1 -0
  99. package/dist/core/memory/conflict-detector.js +1 -1
  100. package/dist/core/memory/consolidation.d.ts +1 -10
  101. package/dist/core/memory/consolidation.js +2 -11
  102. package/dist/core/memory/context-collector.js +1 -1
  103. package/dist/core/memory/edit-workflow.js +1 -1
  104. package/dist/core/memory/entity-resolver.js +7 -7
  105. package/dist/core/memory/fact-extractor.js +12 -12
  106. package/dist/core/memory/feedback-tracker.js +1 -1
  107. package/dist/core/memory/hooks.d.ts +88 -0
  108. package/dist/core/memory/hooks.js +174 -0
  109. package/dist/core/memory/hybrid-retrieval.js +2 -2
  110. package/dist/core/memory/hybrid-search.d.ts +1 -6
  111. package/dist/core/memory/hybrid-search.js +70 -84
  112. package/dist/core/memory/importance.d.ts +8 -13
  113. package/dist/core/memory/importance.js +47 -74
  114. package/dist/core/memory/loader.d.ts +31 -0
  115. package/dist/core/memory/loader.js +141 -0
  116. package/dist/core/memory/markdown/markdown-storage.d.ts +72 -0
  117. package/dist/core/memory/markdown/markdown-storage.js +243 -0
  118. package/dist/core/memory/memories.d.ts +12 -4
  119. package/dist/core/memory/memories.js +192 -180
  120. package/dist/core/memory/memory-lifecycle.d.ts +8 -0
  121. package/dist/core/memory/memory-lifecycle.js +55 -0
  122. package/dist/core/memory/migrate.d.ts +21 -0
  123. package/dist/core/memory/migrate.js +134 -0
  124. package/dist/core/memory/normalization.d.ts +22 -0
  125. package/dist/core/memory/normalization.js +26 -0
  126. package/dist/core/memory/progressive-disclosure.js +1 -1
  127. package/dist/core/memory/query-rewriter.js +9 -9
  128. package/dist/core/memory/serialization.d.ts +4 -0
  129. package/dist/core/memory/serialization.js +49 -0
  130. package/dist/core/memory/stats.d.ts +5 -0
  131. package/dist/core/memory/stats.js +63 -12
  132. package/dist/core/memory/temporal-facts.js +21 -0
  133. package/dist/core/memory/write-gate.js +1 -1
  134. package/dist/core/obsidian-vault.d.ts +30 -0
  135. package/dist/core/obsidian-vault.js +94 -0
  136. package/dist/core/places/index.d.ts +14 -0
  137. package/dist/core/places/index.js +14 -0
  138. package/dist/core/places/memory-places.d.ts +68 -0
  139. package/dist/core/places/memory-places.js +261 -0
  140. package/dist/core/places/places.d.ts +88 -0
  141. package/dist/core/places/places.js +314 -0
  142. package/dist/core/places/rules.d.ts +74 -0
  143. package/dist/core/places/rules.js +240 -0
  144. package/dist/core/places/walking.d.ts +56 -0
  145. package/dist/core/places/walking.js +121 -0
  146. package/dist/core/projects.d.ts +5 -0
  147. package/dist/core/projects.js +39 -18
  148. package/dist/core/responses.d.ts +96 -0
  149. package/dist/core/responses.js +122 -0
  150. package/dist/core/scheduler/cron-scheduler.js +29 -7
  151. package/dist/core/scheduler/index.d.ts +1 -1
  152. package/dist/core/scheduler/index.js +1 -1
  153. package/dist/core/scheduler/job-runner.js +1 -1
  154. package/dist/core/search/conversations.js +40 -42
  155. package/dist/core/search/entities.js +6 -9
  156. package/dist/core/search/graph-boost.d.ts +7 -0
  157. package/dist/core/search/graph-boost.js +23 -0
  158. package/dist/core/search/qmd-search.js +4 -4
  159. package/dist/core/security/encrypt.d.ts +6 -0
  160. package/dist/core/security/encrypt.js +47 -0
  161. package/dist/core/{governance.d.ts → security/governance.d.ts} +6 -1
  162. package/dist/core/security/governance.js +79 -0
  163. package/dist/core/session/auto-load.js +6 -6
  164. package/dist/core/session/index.d.ts +1 -1
  165. package/dist/core/session/index.js +1 -1
  166. package/dist/core/session/self-iteration-job.d.ts +20 -0
  167. package/dist/core/session/self-iteration-job.js +282 -0
  168. package/dist/core/session/session-hooks.d.ts +18 -0
  169. package/dist/core/session/session-hooks.js +58 -0
  170. package/dist/core/session-hooks/self-iteration-job.js +35 -35
  171. package/dist/core/{cache.js → storage/cache.js} +2 -2
  172. package/dist/core/sync/qmd-sync.d.ts +1 -13
  173. package/dist/core/sync/qmd-sync.js +1 -13
  174. package/dist/core/toon.d.ts +43 -0
  175. package/dist/core/toon.js +160 -0
  176. package/dist/core/utils/memory-operations.js +1 -1
  177. package/dist/core/utils/vector-operations.d.ts +71 -0
  178. package/dist/core/utils/vector-operations.js +129 -0
  179. package/dist/db/adapter.d.ts +3 -3
  180. package/dist/db/adapter.js +99 -88
  181. package/dist/db/bootstrap.js +820 -522
  182. package/dist/{drizzle → db/drizzle}/schema-sqlite.d.ts +74 -25
  183. package/dist/{drizzle → db/drizzle}/schema-sqlite.js +91 -24
  184. package/dist/{drizzle → db/drizzle}/schema.d.ts +79 -32
  185. package/dist/{drizzle → db/drizzle}/schema.js +106 -35
  186. package/dist/db/drizzle.config.d.ts +3 -0
  187. package/dist/db/drizzle.config.js +12 -0
  188. package/dist/db/index.d.ts +1 -5
  189. package/dist/db/index.js +51 -8
  190. package/dist/db/neon.d.ts +8 -0
  191. package/dist/db/neon.js +20 -0
  192. package/dist/db/schema/index.d.ts +40 -0
  193. package/dist/db/schema/index.js +105 -0
  194. package/dist/db/schema/tables/context-sessions.d.ts +9 -0
  195. package/dist/db/schema/tables/context-sessions.js +37 -0
  196. package/dist/db/schema/tables/conversations.d.ts +9 -0
  197. package/dist/db/schema/tables/conversations.js +47 -0
  198. package/dist/db/schema/tables/core-memory.d.ts +9 -0
  199. package/dist/db/schema/tables/core-memory.js +41 -0
  200. package/dist/db/schema/tables/entities.d.ts +9 -0
  201. package/dist/db/schema/tables/entities.js +39 -0
  202. package/dist/db/schema/tables/entity-relations.d.ts +9 -0
  203. package/dist/db/schema/tables/entity-relations.js +31 -0
  204. package/dist/db/schema/tables/learnings.d.ts +9 -0
  205. package/dist/db/schema/tables/learnings.js +66 -0
  206. package/dist/db/schema/tables/memories.d.ts +9 -0
  207. package/dist/db/schema/tables/memories.js +161 -0
  208. package/dist/db/schema/tables/memory-associations.d.ts +9 -0
  209. package/dist/db/schema/tables/memory-associations.js +39 -0
  210. package/dist/db/schema/tables/memory-hash-cache.d.ts +9 -0
  211. package/dist/db/schema/tables/memory-hash-cache.js +29 -0
  212. package/dist/db/schema/tables/memory-merge-history.d.ts +9 -0
  213. package/dist/db/schema/tables/memory-merge-history.js +33 -0
  214. package/dist/db/schema/tables/memory-merge-proposals.d.ts +9 -0
  215. package/dist/db/schema/tables/memory-merge-proposals.js +39 -0
  216. package/dist/db/schema/tables/messages.d.ts +9 -0
  217. package/dist/db/schema/tables/messages.js +41 -0
  218. package/dist/db/schema/tables/namespaces.d.ts +9 -0
  219. package/dist/db/schema/tables/namespaces.js +37 -0
  220. package/dist/db/schema/tables/projects.d.ts +9 -0
  221. package/dist/db/schema/tables/projects.js +31 -0
  222. package/dist/db/schema/tables/users.d.ts +9 -0
  223. package/dist/db/schema/tables/users.js +27 -0
  224. package/dist/db/schema.d.ts +1 -1
  225. package/dist/db/schema.js +2 -2
  226. package/dist/db/supabase.d.ts +9 -0
  227. package/dist/db/supabase.js +24 -0
  228. package/dist/index.d.ts +2 -14
  229. package/dist/index.js +1320 -640
  230. package/dist/vendor/sql.js/sql-wasm.wasm +0 -0
  231. package/dist/webui/server.d.ts +5 -0
  232. package/dist/{api/web/web.js → webui/server.js} +511 -508
  233. package/generated/mcp/manifest.json +1 -1
  234. package/{.mcp.json → mcp.json.example} +1 -1
  235. package/package.json +159 -181
  236. package/scripts/README.md +60 -0
  237. package/scripts/copy-runtime-assets.mjs +26 -0
  238. package/scripts/generate-mcp.mjs +264 -264
  239. package/scripts/github-release.sh +4 -4
  240. package/scripts/install-claude-code.sh +85 -0
  241. package/scripts/install-cursor.sh +56 -0
  242. package/scripts/install-hooks.sh +73 -0
  243. package/scripts/install-interactive.mjs +357 -677
  244. package/scripts/install-opencode.sh +75 -0
  245. package/scripts/install-windsurf.sh +67 -0
  246. package/skills/squish-memory/SKILL.md +104 -114
  247. package/skills/squish-memory/{install.mjs → scripts/install.mjs} +2 -2
  248. package/skills/squish-memory/{install.sh → scripts/install.sh} +2 -2
  249. package/skills/squish-memory/write_skill.js +2 -0
  250. package/.claude-plugin/marketplace.json +0 -20
  251. package/.claude-plugin/plugin.json +0 -32
  252. package/.env.mcp.example +0 -60
  253. package/QUICK-START.md +0 -71
  254. package/bin/squish-add.mjs +0 -32
  255. package/bin/squish-rm.mjs +0 -21
  256. package/commands/observe.md +0 -5
  257. package/dist/api/web/index.d.ts +0 -3
  258. package/dist/api/web/index.js +0 -4
  259. package/dist/api/web/web-server.d.ts +0 -3
  260. package/dist/api/web/web-server.js +0 -6
  261. package/dist/api/web/web.d.ts +0 -4
  262. package/dist/commands/mcp-server.js +0 -393
  263. package/dist/core/context.js +0 -24
  264. package/dist/core/governance.js +0 -64
  265. package/dist/core/observations.d.ts +0 -26
  266. package/dist/core/observations.js +0 -110
  267. package/dist/core/requirements.d.ts +0 -20
  268. package/dist/core/requirements.js +0 -35
  269. package/hooks/hooks.json +0 -52
  270. package/hooks/post-tool-use.js +0 -26
  271. package/hooks/session-end.js +0 -28
  272. package/hooks/session-start.js +0 -33
  273. package/hooks/user-prompt-submit.js +0 -26
  274. package/hooks/utils.js +0 -153
  275. package/npx-installer.js +0 -208
  276. package/packages/plugin-claude-code/README.md +0 -73
  277. package/packages/plugin-claude-code/dist/plugin-wrapper.d.ts +0 -35
  278. package/packages/plugin-claude-code/dist/plugin-wrapper.js +0 -191
  279. package/packages/plugin-claude-code/package.json +0 -31
  280. package/packages/plugin-openclaw/README.md +0 -70
  281. package/packages/plugin-openclaw/dist/index.d.ts +0 -49
  282. package/packages/plugin-openclaw/dist/index.js +0 -262
  283. package/packages/plugin-openclaw/openclaw.plugin.json +0 -94
  284. package/packages/plugin-openclaw/package.json +0 -31
  285. package/packages/plugin-opencode/install.mjs +0 -217
  286. package/packages/plugin-opencode/package.json +0 -21
  287. package/scripts/db/check-db.mjs +0 -88
  288. package/scripts/db/fix-all-columns.mjs +0 -52
  289. package/scripts/db/fix-schema-all.mjs +0 -55
  290. package/scripts/db/fix-schema-full.mjs +0 -46
  291. package/scripts/db/fix-schema.mjs +0 -38
  292. package/scripts/db/init-db.mjs +0 -13
  293. package/scripts/db/recreate-db.mjs +0 -14
  294. package/scripts/install-mcp.mjs +0 -116
  295. package/scripts/install-web.sh +0 -120
  296. package/scripts/install.mjs +0 -340
  297. package/scripts/openclaw-bootstrap.mjs +0 -127
  298. package/scripts/package-release.sh +0 -71
  299. package/scripts/test/test-all-systems.mjs +0 -139
  300. package/scripts/test/test-memory-system.mjs +0 -139
  301. package/scripts/test/test-v0.5.0.mjs +0 -210
  302. package/skills/memory-guide/SKILL.md +0 -332
  303. package/skills/squish-cli/SKILL.md +0 -240
  304. package/skills/squish-mcp/SKILL.md +0 -355
  305. package/skills/squish-memory/claude-desktop.json +0 -12
  306. package/skills/squish-memory/openclaw.json +0 -13
  307. package/skills/squish-memory/opencode.json +0 -14
  308. package/skills/squish-memory/skill.json +0 -32
  309. /package/{commands → core/commands}/context-paging.md +0 -0
  310. /package/{commands → core/commands}/context-status.md +0 -0
  311. /package/{commands → core/commands}/context.md +0 -0
  312. /package/{commands → core/commands}/core-memory.md +0 -0
  313. /package/{commands → core/commands}/health.md +0 -0
  314. /package/{commands → core/commands}/merge.md +0 -0
  315. /package/{commands → core/commands}/recall.md +0 -0
  316. /package/{commands → core/commands}/remember.md +0 -0
  317. /package/{commands → core/commands}/search.md +0 -0
  318. /package/dist/{algorithms → core/algorithms}/detection/hash-filters.d.ts +0 -0
  319. /package/dist/{algorithms → core/algorithms}/detection/hash-filters.js +0 -0
  320. /package/dist/{algorithms → core/algorithms}/handlers/approve-merge.d.ts +0 -0
  321. /package/dist/{algorithms → core/algorithms}/handlers/detect-duplicates.d.ts +0 -0
  322. /package/dist/{algorithms → core/algorithms}/handlers/get-stats.d.ts +0 -0
  323. /package/dist/{algorithms → core/algorithms}/handlers/list-proposals.d.ts +0 -0
  324. /package/dist/{algorithms → core/algorithms}/handlers/preview-merge.d.ts +0 -0
  325. /package/dist/{algorithms → core/algorithms}/handlers/reject-merge.d.ts +0 -0
  326. /package/dist/{algorithms → core/algorithms}/handlers/reverse-merge.d.ts +0 -0
  327. /package/dist/{algorithms → core/algorithms}/safety/safety-checks.js +0 -0
  328. /package/dist/{algorithms → core/algorithms}/utils/response-builder.d.ts +0 -0
  329. /package/dist/{algorithms → core/algorithms}/utils/response-builder.js +0 -0
  330. /package/dist/{commands → core/commands}/managed-sync.d.ts +0 -0
  331. /package/dist/{commands → core/commands}/mcp-server.d.ts +0 -0
  332. /package/dist/core/{context.d.ts → context/context.d.ts} +0 -0
  333. /package/dist/core/{agent-memory.d.ts → ingestion/agent-memory.d.ts} +0 -0
  334. /package/dist/core/{core-memory.d.ts → ingestion/core-memory.d.ts} +0 -0
  335. /package/dist/core/{privacy.d.ts → security/privacy.d.ts} +0 -0
  336. /package/dist/core/{privacy.js → security/privacy.js} +0 -0
  337. /package/dist/core/{secret-detector.d.ts → security/secret-detector.d.ts} +0 -0
  338. /package/dist/core/{secret-detector.js → security/secret-detector.js} +0 -0
  339. /package/dist/core/{cache.d.ts → storage/cache.d.ts} +0 -0
  340. /package/dist/core/{database.d.ts → storage/database.d.ts} +0 -0
  341. /package/dist/core/{database.js → storage/database.js} +0 -0
@@ -1,21 +1,23 @@
1
- {
2
- "canonicalModes": [
3
- "local",
4
- "remote"
5
- ],
6
- "defaultMode": "local",
7
- "legacyAliases": {
8
- "team": "remote"
9
- },
10
- "legacyPolicy": {
11
- "action": "warn-and-map",
12
- "untilVersion": "1.0.0"
13
- },
14
- "remoteAuth": {
15
- "supported": [
16
- "oauth",
17
- "token"
18
- ],
19
- "defaultForCli": "token"
20
- }
21
- }
1
+ {
2
+ "canonicalModes": [
3
+ "local",
4
+ "team",
5
+ "remote"
6
+ ],
7
+ "defaultMode": "local",
8
+ "legacyAliases": {
9
+ "team": "team"
10
+ },
11
+ "teamBackends": {
12
+ "supported": ["postgres", "supabase", "neon"],
13
+ "default": "postgres"
14
+ },
15
+ "remoteBackends": {
16
+ "supported": ["supabase", "neon"],
17
+ "default": "supabase"
18
+ },
19
+ "remoteAuth": {
20
+ "supported": ["oauth", "token"],
21
+ "defaultForCli": "token"
22
+ }
23
+ }
@@ -1,152 +1,101 @@
1
- {
2
- "id": "squish-memory",
3
- "name": "Squish Memory",
4
- "version": "1.0.2",
5
- "description": "Universal two-tier memory system for AI agents with hybrid search, core memory, and MCP-first architecture",
6
- "capabilities": ["mcp", "cli", "web"],
7
- "targets": {
8
- "claude-code": {
9
- "type": "hooks",
10
- "hooks": ["SessionStart", "UserPromptSubmit", "PostToolUse", "SessionEnd"],
11
- "install": {
12
- "copy": [
13
- { "from": ".claude-plugin/plugin.json", "to": "~/.claude/plugin.json" }
14
- ]
15
- },
16
- "verify": {
17
- "fileExists": "~/.claude/plugin.json",
18
- "toolCheck": "squish_health"
19
- }
20
- },
21
- "openclaw": {
22
- "type": "plugin-slot",
23
- "slot": "memory",
24
- "tools": ["memory_search", "memory_get"],
25
- "install": {
26
- "command": "node scripts/openclaw-bootstrap.mjs --skip-tool-check"
27
- },
28
- "verify": {
29
- "fileExists": "~/.openclaw/openclaw-memory.json",
30
- "toolCheck": "memory_search"
31
- }
32
- },
33
- "opencode": {
34
- "type": "mcp",
35
- "tools": ["squish_remember", "squish_search", "squish_recall", "squish_context", "squish_health"],
36
- "install": {
37
- "copy": [
38
- { "from": "generated/mcp/mcp-servers.json", "to": "~/.config/opencode/mcp-servers.json" }
39
- ]
40
- },
41
- "verify": {
42
- "fileExists": "~/.config/opencode/mcp-servers.json",
43
- "toolCheck": "squish_health"
44
- }
45
- },
46
- "codex": {
47
- "type": "mcp",
48
- "tools": ["squish_remember", "squish_search", "squish_recall", "squish_context", "squish_health"],
49
- "install": {
50
- "copy": [
51
- { "from": "generated/mcp/mcp-servers.json", "to": "~/.codex/mcp-servers.json" }
52
- ]
53
- },
54
- "verify": {
55
- "fileExists": "~/.codex/mcp-servers.json",
56
- "toolCheck": "squish_health"
57
- }
58
- },
59
- "cursor": {
60
- "type": "mcp",
61
- "tools": ["squish_remember", "squish_search", "squish_recall", "squish_context", "squish_health"],
62
- "install": {
63
- "copy": [
64
- { "from": "generated/mcp/mcp-servers.json", "to": "~/.cursor/mcp.json" }
65
- ]
66
- },
67
- "verify": {
68
- "fileExists": "~/.cursor/mcp.json",
69
- "toolCheck": "squish_health"
70
- }
71
- },
72
- "vscode": {
73
- "type": "mcp",
74
- "tools": ["squish_remember", "squish_search", "squish_recall", "squish_context", "squish_health"],
75
- "install": {
76
- "copy": [
77
- { "from": "generated/mcp/mcp-servers.json", "to": "~/.vscode/mcp/servers.json" }
78
- ]
79
- },
80
- "verify": {
81
- "fileExists": "~/.vscode/mcp/servers.json",
82
- "toolCheck": "squish_health"
83
- }
84
- },
85
- "windsurf": {
86
- "type": "mcp",
87
- "tools": ["squish_remember", "squish_search", "squish_recall", "squish_context", "squish_health"],
88
- "install": {
89
- "copy": [
90
- { "from": "generated/mcp/mcp-servers.json", "to": "~/.windsurf/mcp-servers.json" }
91
- ]
92
- },
93
- "verify": {
94
- "fileExists": "~/.windsurf/mcp-servers.json",
95
- "toolCheck": "squish_health"
96
- }
97
- }
98
- },
99
- "dependencies": {
100
- "mcporter": {
101
- "version": "0.7.3",
102
- "autoInstall": true,
103
- "optional": false,
104
- "provides": ["mcp-bridge", "openclaw-memory"]
105
- },
106
- "@tobilu/qmd": {
107
- "version": "2.0.1",
108
- "autoInstall": true,
109
- "optional": false,
110
- "provides": ["fast-search", "bm25", "vector-search"]
111
- }
112
- },
113
- "auth": {
114
- "modes": ["none", "token"],
115
- "default": "none",
116
- "token": {
117
- "envVar": "SQUISH_REMOTE_TOKEN",
118
- "help": "Set SQUISH_REMOTE_TOKEN for remote mode authentication"
119
- }
120
- },
121
- "pinning": {
122
- "mcporter": "0.7.3",
123
- "@tobilu/qmd": "2.0.1",
124
- "@modelcontextprotocol/sdk": "1.27.1"
125
- },
126
- "entry": {
127
- "mcp": "dist/commands/mcp-server.cjs",
128
- "cli": "dist/index.js",
129
- "plugin": "packages/plugin-openclaw/dist/index.js"
130
- },
131
- "compatibility": {
132
- "minNodeVersion": "18.0.0",
133
- "clients": [
134
- { "id": "claude-code", "minVersion": "0.62.0" },
135
- { "id": "openclaw", "minVersion": "2026.2.15" },
136
- { "id": "opencode", "minVersion": "0.1.0" },
137
- { "id": "codex", "minVersion": "0.1.0" },
138
- { "id": "cursor", "minVersion": "0.45.0" },
139
- { "id": "vscode-mcp", "minVersion": "1.0.0" },
140
- { "id": "windsurf", "minVersion": "0.1.0" }
141
- ]
142
- },
143
- "healthCheck": {
144
- "mcpTool": "squish_health",
145
- "httpEndpoint": "/health"
146
- },
147
- "generated": {
148
- "from": "config/plugin-manifest.json",
149
- "generator": "squish-memory@1.0.0",
150
- "timestamp": "2026-01-17T00:00:00.000Z"
151
- }
152
- }
1
+ {
2
+ "id": "squish-memory",
3
+ "name": "Squish Memory",
4
+ "version": "1.1.5",
5
+ "description": "Universal two-tier memory system for AI agents with hybrid search, core memory, and MCP-first architecture",
6
+ "capabilities": ["mcp", "cli", "web"],
7
+ "targets": {
8
+ "claude-code": {
9
+ "type": "mcp",
10
+ "configFile": "~/.claude/mcp.json",
11
+ "format": "standard",
12
+ "serverName": "squish",
13
+ "command": "npx",
14
+ "args": ["-y", "squish-memory", "--stdio"],
15
+ "env": {}
16
+ },
17
+ "opencode": {
18
+ "type": "mcp",
19
+ "configFile": "~/.config/opencode/mcp-servers.json",
20
+ "format": "opencode",
21
+ "serverName": "squish-memory",
22
+ "command": ["npx", "-y", "squish-memory"],
23
+ "enabled": true
24
+ },
25
+ "codex": {
26
+ "type": "mcp",
27
+ "configFile": "~/.codex/mcp-servers.json",
28
+ "format": "standard",
29
+ "serverName": "squish",
30
+ "command": "npx",
31
+ "args": ["-y", "squish-memory", "--stdio"],
32
+ "env": {}
33
+ },
34
+ "cursor": {
35
+ "type": "mcp",
36
+ "configFile": "~/.cursor/mcp.json",
37
+ "format": "standard",
38
+ "serverName": "squish",
39
+ "command": "npx",
40
+ "args": ["-y", "squish-memory", "--stdio"],
41
+ "env": {}
42
+ },
43
+ "vscode": {
44
+ "type": "mcp",
45
+ "configFile": "~/.vscode/mcp/servers.json",
46
+ "format": "standard",
47
+ "serverName": "squish",
48
+ "command": "npx",
49
+ "args": ["-y", "squish-memory", "--stdio"],
50
+ "env": {}
51
+ },
52
+ "windsurf": {
53
+ "type": "mcp",
54
+ "configFile": "~/.windsurf/mcp-servers.json",
55
+ "format": "standard",
56
+ "serverName": "squish",
57
+ "command": "npx",
58
+ "args": ["-y", "squish-memory", "--stdio"],
59
+ "env": {}
60
+ }
61
+ },
62
+ "dependencies": {
63
+ "@tobilu/qmd": {
64
+ "version": "2.0.1",
65
+ "autoInstall": true,
66
+ "optional": false,
67
+ "provides": ["fast-search", "bm25", "vector-search"]
68
+ }
69
+ },
70
+ "auth": {
71
+ "modes": ["none", "token"],
72
+ "default": "none",
73
+ "token": {
74
+ "envVar": "SQUISH_REMOTE_TOKEN",
75
+ "help": "Set SQUISH_REMOTE_TOKEN for remote mode authentication"
76
+ }
77
+ },
78
+ "pinning": {
79
+ "@tobilu/qmd": "2.0.1",
80
+ "@modelcontextprotocol/sdk": "1.27.1"
81
+ },
82
+ "entry": {
83
+ "mcp": "dist/core/commands/mcp-server.js",
84
+ "cli": "dist/index.js"
85
+ },
86
+ "compatibility": {
87
+ "minNodeVersion": "18.0.0",
88
+ "clients": [
89
+ { "id": "claude-code", "minVersion": "0.62.0" },
90
+ { "id": "opencode", "minVersion": "0.1.0" },
91
+ { "id": "codex", "minVersion": "0.1.0" },
92
+ { "id": "cursor", "minVersion": "0.45.0" },
93
+ { "id": "vscode-mcp", "minVersion": "1.0.0" },
94
+ { "id": "windsurf", "minVersion": "0.1.0" }
95
+ ]
96
+ },
97
+ "healthCheck": {
98
+ "mcpTool": "squish_health",
99
+ "httpEndpoint": "/health"
100
+ }
101
+ }
@@ -9,8 +9,8 @@
9
9
  "license": "MIT",
10
10
  "homepage": "https://github.com/michielhdoteth/squish#readme",
11
11
  "repository": "https://github.com/michielhdoteth/squish.git",
12
- "commands": "./commands/",
13
- "mcpServers": "./.mcp.json",
12
+ "commands": "./core/commands/",
13
+ "mcpServers": "./mcp.json.example",
14
14
  "keywords": [
15
15
  "claude",
16
16
  "claude-code",
@@ -1,51 +1,52 @@
1
- {
2
- "$schema": "./settings.schema.json",
3
- "embeddings": {
4
- "provider": "local",
5
- "models": {
6
- "openai": {
7
- "model": "text-embedding-3-small",
8
- "availableModels": [
9
- "text-embedding-3-small",
10
- "text-embedding-3-large"
11
- ]
12
- },
13
- "google": {
14
- "model": "gemini-embedding-001",
15
- "availableModels": [
16
- "gemini-embedding-001",
17
- "gemini-embedding-2"
18
- ]
19
- },
20
- "ollama": {
21
- "model": "nomic-embed-text:v1.5",
22
- "availableModels": [
23
- "nomic-embed-text:v1.5",
24
- "mxbai-embed-large"
25
- ]
26
- }
27
- }
28
- },
29
- "api": {
30
- "openai": {
31
- "apiKey": null,
32
- "apiUrl": "https://api.openai.com/v1/embeddings"
33
- },
34
- "google": {
35
- "apiKey": null,
36
- "projectId": null
37
- },
38
- "ollama": {
39
- "url": "http://localhost:11434"
40
- }
41
- },
42
- "mcp": {
43
- "serverPort": 8767,
44
- "serverEnabled": true
45
- },
46
- "features": {
47
- "lifecycleEnabled": true,
48
- "summarizationEnabled": true,
49
- "agentIsolation": true
50
- }
51
- }
1
+ {
2
+ "$schema": "./settings.schema.json",
3
+ "embeddings": {
4
+ "enabled": true,
5
+ "provider": "local",
6
+ "models": {
7
+ "openai": {
8
+ "model": "text-embedding-3-small",
9
+ "availableModels": [
10
+ "text-embedding-3-small",
11
+ "text-embedding-3-large"
12
+ ]
13
+ },
14
+ "google": {
15
+ "model": "gemini-embedding-001",
16
+ "availableModels": [
17
+ "gemini-embedding-001",
18
+ "gemini-embedding-2"
19
+ ]
20
+ },
21
+ "ollama": {
22
+ "model": "nomic-embed-text:v1.5",
23
+ "availableModels": [
24
+ "nomic-embed-text:v1.5",
25
+ "mxbai-embed-large"
26
+ ]
27
+ }
28
+ }
29
+ },
30
+ "api": {
31
+ "openai": {
32
+ "apiKey": null,
33
+ "apiUrl": "https://api.openai.com/v1/embeddings"
34
+ },
35
+ "google": {
36
+ "apiKey": null,
37
+ "projectId": null
38
+ },
39
+ "ollama": {
40
+ "url": "http://localhost:11434"
41
+ }
42
+ },
43
+ "mcp": {
44
+ "serverPort": 8767,
45
+ "serverEnabled": true
46
+ },
47
+ "features": {
48
+ "lifecycleEnabled": true,
49
+ "summarizationEnabled": true,
50
+ "agentIsolation": true
51
+ }
52
+ }
@@ -1,39 +1,39 @@
1
- ---
2
- description: Initialize Squish memory system for the current project
3
- ---
4
-
5
- # Squish Initialization
6
-
7
- Initializes the Squish memory system for your current project. This creates the necessary database structure and default settings.
8
-
9
- ## What it does:
10
-
11
- - Creates the `.squish/` directory in your project
12
- - Initializes the SQLite database
13
- - Sets up core memory sections (persona, user_info, project_context, working_notes)
14
- - Creates project and user records
15
-
16
- ## Usage:
17
-
18
- Run this command once when starting to use Squish in a new project:
19
-
20
- ```
21
- /squish:init
22
- ```
23
-
24
- After initialization, Squish will automatically:
25
- - Capture context during your session
26
- - Store important information you share
27
- - Enable memory search across conversations
28
-
29
- ## Requirements:
30
-
31
- - Node.js 18+ installed
32
- - Write access to current directory
33
- - No additional setup needed
34
-
35
- ## Notes:
36
-
37
- - Safe to run multiple times (checks if already initialized)
38
- - All data stored locally in `.squish/` directory
39
- - Can be deleted anytime to reset memory
1
+ ---
2
+ description: Initialize Squish memory system for the current project
3
+ ---
4
+
5
+ # Squish Initialization
6
+
7
+ Initializes the Squish memory system for your current project. This creates the necessary database structure and default settings.
8
+
9
+ ## What it does:
10
+
11
+ - Creates the `.squish/` directory in your project
12
+ - Initializes the SQLite database
13
+ - Sets up core memory sections (persona, user_info, project_context, working_notes)
14
+ - Creates project and user records
15
+
16
+ ## Usage:
17
+
18
+ Run this command once when starting to use Squish in a new project:
19
+
20
+ ```
21
+ /squish:init
22
+ ```
23
+
24
+ After initialization, Squish will automatically:
25
+ - Capture context during your session
26
+ - Store important information you share
27
+ - Enable memory search across conversations
28
+
29
+ ## Requirements:
30
+
31
+ - Node.js 18+ installed
32
+ - Write access to current directory
33
+ - No additional setup needed
34
+
35
+ ## Notes:
36
+
37
+ - Safe to run multiple times (checks if already initialized)
38
+ - All data stored locally in `.squish/` directory
39
+ - Can be deleted anytime to reset memory
package/dist/config.d.ts CHANGED
@@ -1,12 +1,16 @@
1
1
  export declare function getDataDir(): string;
2
2
  export declare const config: {
3
+ mode: "local" | "team" | "remote";
4
+ isLocalMode: boolean;
3
5
  isTeamMode: boolean;
6
+ isRemoteMode: boolean;
7
+ teamBackend: "postgres" | "supabase" | "neon";
8
+ remoteBackend: "supabase" | "neon";
4
9
  isManagedMode: boolean;
5
10
  redisEnabled: boolean;
6
11
  dataDir: string;
7
12
  mcpServerPort: number;
8
- mcpServerEnabled: boolean;
9
- embeddingsProvider: "local" | "openai" | "ollama" | "google" | "none" | "auto";
13
+ embeddingsProvider: "local" | "openai" | "ollama" | "lmstudio" | "google" | "none" | "auto";
10
14
  openAiApiKey: string;
11
15
  openAiApiUrl: any;
12
16
  openAiEmbeddingModel: any;
@@ -16,8 +20,17 @@ export declare const config: {
16
20
  googleEmbeddingModel: any;
17
21
  ollamaUrl: any;
18
22
  ollamaEmbeddingModel: any;
23
+ lmStudioUrl: any;
24
+ lmStudioEmbeddingModel: any;
25
+ supabaseUrl: any;
26
+ supabaseKey: any;
27
+ neonProjectId: string;
28
+ neonServiceKey: string;
29
+ clientEncryptionEnabled: boolean;
30
+ encryptionPassphrase: string;
19
31
  lifecycleEnabled: boolean;
20
32
  lifecycleInterval: number;
33
+ decayThreshold: number;
21
34
  summarizationEnabled: boolean;
22
35
  incrementalThreshold: number;
23
36
  rollingWindowSize: number;
@@ -26,10 +39,14 @@ export declare const config: {
26
39
  governanceEnabled: boolean;
27
40
  consolidationEnabled: boolean;
28
41
  consolidationSimilarityThreshold: number;
42
+ obsidianEnabled: boolean;
43
+ obsidianVaultPath: string;
44
+ externalMemoryEnabled: boolean;
45
+ externalMemoryPath: string;
29
46
  qmdEnabled: boolean;
30
47
  qmdCollectionsPath: string;
31
- qmdFallbackMode: "qmd-only" | "cloud-first" | "hybrid" | "local-only";
32
- qmdCollectionMapping: any;
48
+ qmdFallbackMode: "local-only";
49
+ qmdCollectionMapping: Record<string, string>;
33
50
  managedMode: boolean;
34
51
  managedApiUrl: string;
35
52
  managedApiKey: string;
@@ -42,6 +59,13 @@ export declare const config: {
42
59
  feedbackTrackingEnabled: boolean;
43
60
  feedbackEchoBonus: number;
44
61
  feedbackFizzlePenalty: number;
62
+ scoringWeights: {
63
+ recency: number;
64
+ relevance: number;
65
+ importance: number;
66
+ vectorSim: number;
67
+ graphBoost: number;
68
+ };
45
69
  schedulerMode: "cron" | "interval" | "heartbeat";
46
70
  cronEnabled: boolean;
47
71
  heartbeatInterval: number;