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,80 +0,0 @@
1
- /**
2
- * Context Paging Service - Agent-controlled memory loading
3
- * Allows agents to load/evict memories from working set
4
- */
5
- interface LoadedMemory {
6
- id: string;
7
- type: string;
8
- content: string;
9
- contentPreview: string;
10
- loadedAt: Date;
11
- }
12
- /**
13
- * Initialize or get a context session
14
- * Simplified - just tracks what's loaded, not tokens (Claude manages its own context)
15
- */
16
- export declare function initializeContextSession(sessionId: string, projectId: string, userId?: string): Promise<void>;
17
- /**
18
- * Load a memory into working set
19
- */
20
- export declare function loadMemoryToContext(sessionId: string, memoryId: string): Promise<{
21
- success: boolean;
22
- message?: string;
23
- memory?: LoadedMemory;
24
- }>;
25
- /**
26
- * Evict a memory from working set
27
- */
28
- export declare function evictMemoryFromContext(sessionId: string, memoryId: string): Promise<{
29
- success: boolean;
30
- message?: string;
31
- }>;
32
- /**
33
- * View all memories in working set
34
- */
35
- export declare function viewLoadedMemories(sessionId: string): Promise<{
36
- success: boolean;
37
- memories: LoadedMemory[];
38
- count: number;
39
- }>;
40
- /**
41
- * Get context status - what's in your working set and what's available
42
- */
43
- export declare function getContextStatus(sessionId: string, projectId: string): Promise<{
44
- success: boolean;
45
- coreMemory: {
46
- sizeBytes: number;
47
- maxBytes: number;
48
- usagePercent: number;
49
- };
50
- workingSet: {
51
- loadedCount: number;
52
- loadedMemories: Array<{
53
- id: string;
54
- type: string;
55
- contentLength: number;
56
- }>;
57
- };
58
- available: {
59
- totalMemories: number;
60
- totalObservations: number;
61
- };
62
- note: string;
63
- }>;
64
- /**
65
- * Clear all loaded memories from working set
66
- */
67
- export declare function clearLoadedMemories(sessionId: string): Promise<{
68
- success: boolean;
69
- message?: string;
70
- }>;
71
- /**
72
- * Get all memories currently marked as in-context for a session
73
- */
74
- export declare function getInContextMemories(sessionId: string): Promise<LoadedMemory[]>;
75
- /**
76
- * Get out-of-context (archived) memories for a project
77
- */
78
- export declare function getOutOfContextMemories(projectId: string, limit?: number): Promise<LoadedMemory[]>;
79
- export {};
80
- //# sourceMappingURL=context-paging.d.ts.map
@@ -1,328 +0,0 @@
1
- /**
2
- * Context Paging Service - Agent-controlled memory loading
3
- * Allows agents to load/evict memories from working set
4
- */
5
- import { eq, and } from 'drizzle-orm';
6
- import { sql } from 'drizzle-orm';
7
- import { getMemory } from '../memory/memories.js';
8
- import { getDbClient } from '../lib/db-client.js';
9
- /**
10
- * Initialize or get a context session
11
- * Simplified - just tracks what's loaded, not tokens (Claude manages its own context)
12
- */
13
- export async function initializeContextSession(sessionId, projectId, userId) {
14
- const { db, schema } = await getDbClient();
15
- const { contextSessions } = schema;
16
- // Check if session exists
17
- const existing = await db
18
- .select()
19
- .from(contextSessions)
20
- .where(eq(contextSessions.sessionId, sessionId))
21
- .limit(1);
22
- if (existing.length === 0) {
23
- await db.insert(contextSessions).values({
24
- sessionId,
25
- projectId: projectId,
26
- userId: userId || null,
27
- loadedMemoryIds: JSON.stringify([]),
28
- tokenBudget: 8000,
29
- tokensUsed: 0,
30
- coreMemoryTokens: 0,
31
- loadedMemoriesTokens: 0,
32
- metadata: JSON.stringify({}),
33
- });
34
- }
35
- }
36
- /**
37
- * Load a memory into working set
38
- */
39
- export async function loadMemoryToContext(sessionId, memoryId) {
40
- const { db, schema } = await getDbClient();
41
- const { contextSessions } = schema;
42
- // Get session
43
- const session = await db
44
- .select()
45
- .from(contextSessions)
46
- .where(eq(contextSessions.sessionId, sessionId))
47
- .limit(1);
48
- if (session.length === 0) {
49
- return {
50
- success: false,
51
- message: `Session "${sessionId}" not found. Initialize session first.`,
52
- };
53
- }
54
- const currentSession = session[0];
55
- const loadedIds = currentSession.loadedMemoryIds || [];
56
- // Check if already loaded
57
- if (loadedIds.includes(memoryId)) {
58
- return {
59
- success: false,
60
- message: `Memory "${memoryId}" is already in working set`,
61
- };
62
- }
63
- // Get memory
64
- const memory = await getMemory(memoryId);
65
- if (!memory) {
66
- return {
67
- success: false,
68
- message: `Memory "${memoryId}" not found`,
69
- };
70
- }
71
- // Update session
72
- const newLoadedIds = [...loadedIds, memoryId];
73
- await db
74
- .update(contextSessions)
75
- .set({
76
- loadedMemoryIds: newLoadedIds,
77
- updatedAt: new Date(),
78
- })
79
- .where(eq(contextSessions.sessionId, sessionId));
80
- // Also update memory's contextStatus to 'in-context'
81
- await db
82
- .update(schema.memories)
83
- .set({
84
- contextStatus: 'in-context',
85
- })
86
- .where(eq(schema.memories.id, memoryId));
87
- return {
88
- success: true,
89
- memory: {
90
- id: memory.id,
91
- type: memory.type,
92
- content: memory.content,
93
- contentPreview: memory.content.substring(0, 200) + (memory.content.length > 200 ? '...' : ''),
94
- loadedAt: new Date(),
95
- },
96
- };
97
- }
98
- /**
99
- * Evict a memory from working set
100
- */
101
- export async function evictMemoryFromContext(sessionId, memoryId) {
102
- const { db, schema } = await getDbClient();
103
- const { contextSessions } = schema;
104
- // Get session
105
- const session = await db
106
- .select()
107
- .from(contextSessions)
108
- .where(eq(contextSessions.sessionId, sessionId))
109
- .limit(1);
110
- if (session.length === 0) {
111
- return {
112
- success: false,
113
- message: `Session "${sessionId}" not found`,
114
- };
115
- }
116
- const currentSession = session[0];
117
- const loadedIds = currentSession.loadedMemoryIds || [];
118
- // Check if loaded
119
- if (!loadedIds.includes(memoryId)) {
120
- return {
121
- success: false,
122
- message: `Memory "${memoryId}" is not in working set`,
123
- };
124
- }
125
- // Update session
126
- const newLoadedIds = loadedIds.filter((id) => id !== memoryId);
127
- await db
128
- .update(contextSessions)
129
- .set({
130
- loadedMemoryIds: newLoadedIds,
131
- updatedAt: new Date(),
132
- })
133
- .where(eq(contextSessions.sessionId, sessionId));
134
- // Also update memory's contextStatus to 'out-of-context'
135
- await db
136
- .update(schema.memories)
137
- .set({
138
- contextStatus: 'out-of-context',
139
- })
140
- .where(eq(schema.memories.id, memoryId));
141
- return {
142
- success: true,
143
- message: `Memory "${memoryId}" removed from working set`,
144
- };
145
- }
146
- /**
147
- * View all memories in working set
148
- */
149
- export async function viewLoadedMemories(sessionId) {
150
- const { db, schema } = await getDbClient();
151
- const { contextSessions } = schema;
152
- // Get session
153
- const session = await db
154
- .select()
155
- .from(contextSessions)
156
- .where(eq(contextSessions.sessionId, sessionId))
157
- .limit(1);
158
- if (session.length === 0) {
159
- return {
160
- success: false,
161
- memories: [],
162
- count: 0,
163
- };
164
- }
165
- const currentSession = session[0];
166
- const loadedIds = currentSession.loadedMemoryIds || [];
167
- if (loadedIds.length === 0) {
168
- return {
169
- success: true,
170
- memories: [],
171
- count: 0,
172
- };
173
- }
174
- // Get all loaded memories
175
- const memories = [];
176
- for (const id of loadedIds) {
177
- const memory = await getMemory(id);
178
- if (memory) {
179
- memories.push({
180
- id: memory.id,
181
- type: memory.type,
182
- content: memory.content,
183
- contentPreview: memory.content.substring(0, 200) + (memory.content.length > 200 ? '...' : ''),
184
- loadedAt: currentSession.updatedAt,
185
- });
186
- }
187
- }
188
- return {
189
- success: true,
190
- memories,
191
- count: memories.length,
192
- };
193
- }
194
- /**
195
- * Get context status - what's in your working set and what's available
196
- */
197
- export async function getContextStatus(sessionId, projectId) {
198
- const { db, schema } = await getDbClient();
199
- const { contextSessions, memories, learnings } = schema;
200
- // Get session
201
- const session = await db
202
- .select()
203
- .from(contextSessions)
204
- .where(eq(contextSessions.sessionId, sessionId))
205
- .limit(1);
206
- if (session.length === 0) {
207
- return {
208
- success: false,
209
- coreMemory: { sizeBytes: 0, maxBytes: 2048, usagePercent: 0 },
210
- workingSet: { loadedCount: 0, loadedMemories: [] },
211
- available: { totalMemories: 0, totalObservations: 0 },
212
- note: "Session not found. Initialize session first.",
213
- };
214
- }
215
- const currentSession = session[0];
216
- // Get core memory stats
217
- const { getCoreMemoryStats } = await import('../ingestion/core-memory.js');
218
- const coreStats = await getCoreMemoryStats(projectId);
219
- // Get loaded memories
220
- const loadedIds = currentSession.loadedMemoryIds || [];
221
- const loadedMemories = [];
222
- for (const id of loadedIds) {
223
- const memory = await getMemory(id);
224
- if (memory) {
225
- loadedMemories.push({
226
- id: memory.id,
227
- type: memory.type,
228
- contentLength: memory.content.length,
229
- });
230
- }
231
- }
232
- // Get external context stats (counts)
233
- const totalMemories = await db
234
- .select()
235
- .from(memories)
236
- .where(eq(memories.projectId, projectId));
237
- const totalObservations = await db
238
- .select()
239
- .from(learnings)
240
- .where(eq(learnings.projectId, projectId));
241
- return {
242
- success: true,
243
- coreMemory: {
244
- sizeBytes: coreStats.totalBytes,
245
- maxBytes: coreStats.maxBytes,
246
- usagePercent: coreStats.usagePercent,
247
- },
248
- workingSet: {
249
- loadedCount: loadedMemories.length,
250
- loadedMemories,
251
- },
252
- available: {
253
- totalMemories: totalMemories.length,
254
- totalObservations: totalObservations.length,
255
- },
256
- note: "Claude manages its own context and token limits. This shows what memories you've loaded into your working set.",
257
- };
258
- }
259
- /**
260
- * Clear all loaded memories from working set
261
- */
262
- export async function clearLoadedMemories(sessionId) {
263
- const { db, schema } = await getDbClient();
264
- const { contextSessions } = schema;
265
- await db
266
- .update(contextSessions)
267
- .set({
268
- loadedMemoryIds: [],
269
- updatedAt: new Date(),
270
- })
271
- .where(eq(contextSessions.sessionId, sessionId));
272
- return {
273
- success: true,
274
- message: 'All memories cleared from working set',
275
- };
276
- }
277
- /**
278
- * Get all memories currently marked as in-context for a session
279
- */
280
- export async function getInContextMemories(sessionId) {
281
- const { db, schema } = await getDbClient();
282
- const { contextSessions } = schema;
283
- // Get session to find project
284
- const session = await db
285
- .select()
286
- .from(contextSessions)
287
- .where(eq(contextSessions.sessionId, sessionId))
288
- .limit(1);
289
- if (session.length === 0) {
290
- return [];
291
- }
292
- const { memories } = schema;
293
- const projectId = session[0].projectId;
294
- // Get all in-context memories
295
- const inContextMemories = await db
296
- .select()
297
- .from(memories)
298
- .where(and(eq(memories.projectId, projectId), eq(memories.contextStatus, 'in-context')));
299
- return inContextMemories.map((mem) => ({
300
- id: mem.id,
301
- type: mem.type,
302
- content: mem.content,
303
- contentPreview: mem.content.substring(0, 200) + (mem.content.length > 200 ? '...' : ''),
304
- loadedAt: mem.updatedAt,
305
- }));
306
- }
307
- /**
308
- * Get out-of-context (archived) memories for a project
309
- */
310
- export async function getOutOfContextMemories(projectId, limit = 10) {
311
- const { db, schema } = await getDbClient();
312
- const { memories } = schema;
313
- // Get out-of-context memories, ordered by last accessed
314
- const outOfContextMemories = await db
315
- .select()
316
- .from(memories)
317
- .where(and(eq(memories.projectId, projectId), eq(memories.contextStatus, 'out-of-context')))
318
- .orderBy(sql `COALESCE(${memories.lastAccessedAt}, ${memories.createdAt}) DESC`)
319
- .limit(limit);
320
- return outOfContextMemories.map((mem) => ({
321
- id: mem.id,
322
- type: mem.type,
323
- content: mem.content,
324
- contentPreview: mem.content.substring(0, 200) + (mem.content.length > 200 ? '...' : ''),
325
- loadedAt: mem.lastAccessedAt || mem.createdAt,
326
- }));
327
- }
328
- //# sourceMappingURL=context-paging.js.map
@@ -1,40 +0,0 @@
1
- export interface ContextWindowConfig {
2
- maxTokens: number;
3
- warningThreshold: number;
4
- criticalThreshold: number;
5
- }
6
- export declare const DEFAULT_CONTEXT_CONFIG: ContextWindowConfig;
7
- export interface TokenUsageStats {
8
- coreMemoryTokens: number;
9
- memoriesTokens: number;
10
- totalTokens: number;
11
- maxTokens: number;
12
- usagePercent: number;
13
- status: 'ok' | 'warning' | 'critical';
14
- remainingTokens: number;
15
- }
16
- export interface OptimizationSuggestion {
17
- type: 'drop' | 'summarize' | 'consolidate';
18
- memoryId: string;
19
- memoryType: string;
20
- contentPreview: string;
21
- tokens: number;
22
- reason: string;
23
- priority: number;
24
- }
25
- export declare function estimateTokens(content: string): number;
26
- export declare function getTokenUsage(projectPath: string): Promise<TokenUsageStats>;
27
- export declare function checkContextLimit(projectPath: string, additionalTokens: number): Promise<{
28
- ok: boolean;
29
- warning?: string;
30
- stats: TokenUsageStats;
31
- }>;
32
- export declare function getOptimizationSuggestions(projectPath: string): Promise<OptimizationSuggestion[]>;
33
- export declare function getContextWindowStatus(projectPath: string): Promise<{
34
- config: ContextWindowConfig;
35
- usage: TokenUsageStats;
36
- suggestions: OptimizationSuggestion[];
37
- memoryCount: number;
38
- coreMemorySections: number;
39
- }>;
40
- //# sourceMappingURL=context-window.d.ts.map
@@ -1,177 +0,0 @@
1
- import { eq, sql } from 'drizzle-orm';
2
- import { getDb } from '../../db/index.js';
3
- import { getSchema } from '../../db/schema.js';
4
- import { createDatabaseClient } from '../storage/database.js';
5
- import { requireProject } from '../projects.js';
6
- export const DEFAULT_CONTEXT_CONFIG = {
7
- maxTokens: 128000,
8
- warningThreshold: 0.80,
9
- criticalThreshold: 0.95,
10
- };
11
- export function estimateTokens(content) {
12
- if (!content)
13
- return 0;
14
- return Math.ceil(content.length / 4);
15
- }
16
- export async function getTokenUsage(projectPath) {
17
- const project = await requireProject(projectPath);
18
- const projectId = project.id;
19
- const db = createDatabaseClient(await getDb());
20
- const schema = await getSchema();
21
- const memories = schema.memories;
22
- const coreMemory = schema.coreMemory;
23
- const coreMemoryRows = await db
24
- .select()
25
- .from(coreMemory)
26
- .where(eq(coreMemory.projectId, projectId));
27
- let coreMemoryTokens = 0;
28
- for (const row of coreMemoryRows) {
29
- coreMemoryTokens += row.tokensEstimate || estimateTokens(row.content || '');
30
- }
31
- const memoryRows = await db
32
- .select({
33
- tokens: memories.tokensEstimate,
34
- content: memories.content,
35
- })
36
- .from(memories)
37
- .where(eq(memories.projectId, projectId));
38
- let memoriesTokens = 0;
39
- for (const row of memoryRows) {
40
- memoriesTokens += row.tokens || estimateTokens(row.content || '');
41
- }
42
- const totalTokens = coreMemoryTokens + memoriesTokens;
43
- const config = DEFAULT_CONTEXT_CONFIG;
44
- const usagePercent = (totalTokens / config.maxTokens) * 100;
45
- const remainingTokens = Math.max(0, config.maxTokens - totalTokens);
46
- let status = 'ok';
47
- if (usagePercent >= config.criticalThreshold * 100) {
48
- status = 'critical';
49
- }
50
- else if (usagePercent >= config.warningThreshold * 100) {
51
- status = 'warning';
52
- }
53
- return {
54
- coreMemoryTokens,
55
- memoriesTokens,
56
- totalTokens,
57
- maxTokens: config.maxTokens,
58
- usagePercent,
59
- status,
60
- remainingTokens,
61
- };
62
- }
63
- export async function checkContextLimit(projectPath, additionalTokens) {
64
- const stats = await getTokenUsage(projectPath);
65
- const projectedTotal = stats.totalTokens + additionalTokens;
66
- const projectedPercent = (projectedTotal / stats.maxTokens) * 100;
67
- if (projectedPercent >= DEFAULT_CONTEXT_CONFIG.criticalThreshold * 100) {
68
- return {
69
- ok: false,
70
- warning: `CRITICAL: Adding ${additionalTokens} tokens would exceed ${(DEFAULT_CONTEXT_CONFIG.criticalThreshold * 100).toFixed(0)}% of context limit (${projectedPercent.toFixed(1)}% projected). Consider optimizing first.`,
71
- stats,
72
- };
73
- }
74
- if (projectedPercent >= DEFAULT_CONTEXT_CONFIG.warningThreshold * 100) {
75
- return {
76
- ok: true,
77
- warning: `WARNING: Adding ${additionalTokens} tokens would reach ${(projectedPercent.toFixed(1))}% of context limit. Consider optimizing soon.`,
78
- stats,
79
- };
80
- }
81
- return { ok: true, stats };
82
- }
83
- export async function getOptimizationSuggestions(projectPath) {
84
- const project = await requireProject(projectPath);
85
- const projectId = project.id;
86
- const db = createDatabaseClient(await getDb());
87
- const schema = await getSchema();
88
- const memories = schema.memories;
89
- const candidates = await db
90
- .select({
91
- id: memories.id,
92
- type: memories.type,
93
- content: memories.content,
94
- tokens: memories.tokensEstimate,
95
- importanceScore: memories.importanceScore,
96
- accessCount: memories.accessCount,
97
- createdAt: memories.createdAt,
98
- isPinned: memories.isPinned,
99
- isProtected: memories.isProtected,
100
- })
101
- .from(memories)
102
- .where(eq(memories.projectId, projectId))
103
- .orderBy(sql `(importance_score * 0.4 + (100 - COALESCE(access_count, 0)) * 0.3 + (strftime('%s', 'now') - created_at / 1000) / 86400 * 0.3) ASC`)
104
- .limit(20);
105
- const suggestions = [];
106
- for (const mem of candidates) {
107
- const tokens = mem.tokens || estimateTokens(mem.content || '');
108
- const contentPreview = mem.content?.substring(0, 100) + '...';
109
- const isPinned = mem.isPinned === 1 || mem.isPinned === true;
110
- const isProtected = mem.isProtected === 1 || mem.isProtected === true;
111
- const accessCount = mem.accessCount || 0;
112
- const importanceScore = mem.importanceScore || 50;
113
- if (isPinned || isProtected) {
114
- continue;
115
- }
116
- if (importanceScore < 30 && accessCount < 3) {
117
- suggestions.push({
118
- type: 'drop',
119
- memoryId: mem.id,
120
- memoryType: mem.type,
121
- contentPreview,
122
- tokens,
123
- reason: `Low importance (${importanceScore}) and rarely accessed (${accessCount} times)`,
124
- priority: 1,
125
- });
126
- }
127
- else if (importanceScore < 50 && tokens > 500) {
128
- suggestions.push({
129
- type: 'summarize',
130
- memoryId: mem.id,
131
- memoryType: mem.type,
132
- contentPreview,
133
- tokens,
134
- reason: `Large memory (${tokens} tokens) with moderate importance`,
135
- priority: 2,
136
- });
137
- }
138
- else if (tokens > 1000) {
139
- suggestions.push({
140
- type: 'consolidate',
141
- memoryId: mem.id,
142
- memoryType: mem.type,
143
- contentPreview,
144
- tokens,
145
- reason: `Very large memory (${tokens} tokens) - candidate for consolidation`,
146
- priority: 3,
147
- });
148
- }
149
- }
150
- return suggestions.sort((a, b) => a.priority - b.priority).slice(0, 10);
151
- }
152
- export async function getContextWindowStatus(projectPath) {
153
- const project = await requireProject(projectPath);
154
- const projectId = project.id;
155
- const db = createDatabaseClient(await getDb());
156
- const schema = await getSchema();
157
- const [usage, suggestions] = await Promise.all([
158
- getTokenUsage(projectPath),
159
- getOptimizationSuggestions(projectPath),
160
- ]);
161
- const memoryCount = await db
162
- .select({ count: sql `COUNT(*)` })
163
- .from(schema.memories)
164
- .where(eq(schema.memories.projectId, projectId));
165
- const coreMemorySections = await db
166
- .select({ count: sql `COUNT(*)` })
167
- .from(schema.coreMemory)
168
- .where(eq(schema.coreMemory.projectId, projectId));
169
- return {
170
- config: DEFAULT_CONTEXT_CONFIG,
171
- usage,
172
- suggestions,
173
- memoryCount: memoryCount[0]?.count || 0,
174
- coreMemorySections: coreMemorySections[0]?.count || 0,
175
- };
176
- }
177
- //# sourceMappingURL=context-window.js.map
@@ -1,7 +0,0 @@
1
- export interface ContextInput {
2
- project: string;
3
- include?: Array<'memories' | 'observations' | 'entities'>;
4
- limit?: number;
5
- }
6
- export declare function getProjectContext(input: ContextInput): Promise<Record<string, unknown>>;
7
- //# sourceMappingURL=context.d.ts.map
@@ -1,22 +0,0 @@
1
- import { requireProject } from '../projects.js';
2
- import { getRecent } from '../memory/memories.js';
3
- import { getObservations } from '../ingestion/learnings.js';
4
- import { getEntitiesForProject } from '../search/entities.js';
5
- import { validateLimit } from '../lib/validation.js';
6
- export async function getProjectContext(input) {
7
- const project = await requireProject(input.project);
8
- const include = input.include ?? ['memories', 'observations'];
9
- const limit = validateLimit(input.limit, 10, 1, 100);
10
- const result = { project };
11
- if (include.includes('memories')) {
12
- result.memories = await getRecent(project.path, limit);
13
- }
14
- if (include.includes('observations')) {
15
- result.observations = await getObservations(project.path, limit);
16
- }
17
- if (include.includes('entities')) {
18
- result.entities = await getEntitiesForProject(project.path, limit);
19
- }
20
- return result;
21
- }
22
- //# sourceMappingURL=context.js.map
@@ -1,14 +0,0 @@
1
- export interface MultimodalInput {
2
- text?: string;
3
- image?: Buffer | string;
4
- video?: string;
5
- }
6
- export interface GoogleMultimodalResponse {
7
- embedding: number[];
8
- textEmbedding?: number[];
9
- imageEmbedding?: number[];
10
- videoEmbedding?: number[];
11
- }
12
- export declare function getGoogleMultimodalEmbedding(input: MultimodalInput): Promise<GoogleMultimodalResponse | null>;
13
- export declare function isMultimodalInput(input: any): input is MultimodalInput;
14
- //# sourceMappingURL=google-multimodal.d.ts.map