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.
- package/.env.example +32 -16
- package/CHANGELOG.md +147 -0
- package/README.md +120 -78
- package/{scripts → bin}/dependency-manager.mjs +217 -217
- package/{scripts → bin}/detect-clients.mjs +78 -78
- package/bin/install-interactive.mjs +321 -0
- package/bin/squish-mcp.mjs +44 -0
- package/bin/squish.mjs +33 -0
- package/config/mcp-migration-map.json +1 -6
- package/config/mcp-mode-semantics.json +19 -23
- package/config/mcp-remote-auth.json +3 -26
- package/config/mcp-universal.schema.json +5 -35
- package/config/settings.json +107 -52
- package/config.js +5 -0
- package/config.ts +218 -0
- package/core/adapters/config/claude-code.ts +133 -0
- package/core/adapters/config/cursor.ts +90 -0
- package/core/adapters/config/opencode.ts +89 -0
- package/core/adapters/config/windsurf.ts +90 -0
- package/core/adapters/index.ts +102 -0
- package/core/adapters/timeline.ts +116 -0
- package/core/adapters/types.ts +166 -0
- package/core/agent-preferences.ts +140 -0
- package/core/algorithms/analytics/token-estimator.ts +216 -0
- package/core/algorithms/detection/hash-filters.ts +260 -0
- package/core/algorithms/detection/semantic-ranker.ts +194 -0
- package/core/algorithms/detection/two-stage-detector.ts +421 -0
- package/core/algorithms/handlers/approve-merge.ts +215 -0
- package/core/algorithms/handlers/detect-duplicates.ts +192 -0
- package/core/algorithms/handlers/get-stats.ts +132 -0
- package/core/algorithms/handlers/list-proposals.ts +130 -0
- package/core/algorithms/handlers/preview-merge.ts +139 -0
- package/core/algorithms/handlers/reject-merge.ts +93 -0
- package/core/algorithms/handlers/reverse-merge.ts +155 -0
- package/{dist/core/algorithms/index.js → core/algorithms/index.ts} +39 -26
- package/core/algorithms/operations/cache-maintenance.ts +182 -0
- package/core/algorithms/safety/safety-checks.ts +256 -0
- package/core/algorithms/strategies/merge-strategies.ts +381 -0
- package/core/algorithms/types.ts +140 -0
- package/core/algorithms/utils/response-builder.ts +61 -0
- package/core/associations.ts +363 -0
- package/core/beliefs/decay.ts +289 -0
- package/core/beliefs/extractor.ts +131 -0
- package/core/beliefs/store.ts +557 -0
- package/core/beliefs/types.ts +38 -0
- package/core/commands/mcp-server.ts +5 -0
- package/core/compression.ts +177 -0
- package/core/config.js +2 -0
- package/core/consolidation.ts +330 -0
- package/core/context/agent-context.ts +388 -0
- package/core/context/context-paging.ts +449 -0
- package/core/context/context-window.ts +234 -0
- package/core/context/context.ts +35 -0
- package/core/embeddings/embeddings.ts +616 -0
- package/core/embeddings/google-multimodal.ts +200 -0
- package/{dist/core/local-embeddings.js → core/embeddings/local-embeddings.ts} +12 -11
- package/core/embeddings/qmd-client.ts +495 -0
- package/core/embeddings/transformers-local.ts +261 -0
- package/core/embeddings.js +4 -0
- package/core/error-handling.ts +206 -0
- package/core/external +219 -0
- package/core/graph/entity-deduplicator.ts +232 -0
- package/core/graph/graph-builder.ts +257 -0
- package/core/graph/graph-traversal.ts +490 -0
- package/core/graph/index.ts +24 -0
- package/core/graph/llm-entity-extractor.ts +402 -0
- package/core/graph/multi-hop-retrieval.ts +317 -0
- package/core/graph/relationship-extractor.ts +465 -0
- package/core/hooks/agent-hooks.ts +653 -0
- package/core/hooks/auto-tagger.ts +149 -0
- package/core/hooks/capture-filter.ts +169 -0
- package/core/hot-cache.ts +388 -0
- package/core/index.ts +10 -0
- package/core/ingestion/agent-memory.ts +167 -0
- package/core/ingestion/core-memory.ts +326 -0
- package/core/ingestion/learnings.ts +260 -0
- package/core/ingestion/signal-engine.ts +266 -0
- package/core/integrations/obsidian-vault.ts +197 -0
- package/core/layers/generator.ts +115 -0
- package/{dist/core/lib/db-client.d.ts → core/lib/db-client.ts} +168 -114
- package/core/lib/parse-embedding.ts +59 -0
- package/{dist/core/lib/schemas.js → core/lib/schemas.ts} +102 -87
- package/core/lib/types.ts +49 -0
- package/core/lib/utils.ts +151 -0
- package/core/lib/validation.ts +180 -0
- package/core/lifecycle.ts +353 -0
- package/core/logger.ts +59 -0
- package/core/memory/bridge-discovery.ts +395 -0
- package/core/memory/categorizer.ts +390 -0
- package/core/memory/conflict-detector.ts +62 -0
- package/core/memory/consolidation.ts +372 -0
- package/core/memory/context-collector.ts +75 -0
- package/core/memory/contradiction-resolver.ts +494 -0
- package/core/memory/edit-workflow.ts +174 -0
- package/core/memory/entity-extractor.ts +426 -0
- package/core/memory/entity-resolver.ts +89 -0
- package/core/memory/explain.ts +112 -0
- package/core/memory/fact-deriver.ts +300 -0
- package/core/memory/fact-extractor.ts +120 -0
- package/core/memory/feedback-tracker.ts +200 -0
- package/core/memory/hooks.ts +230 -0
- package/core/memory/hybrid-retrieval.ts +65 -0
- package/core/memory/hybrid-scorer.ts +325 -0
- package/core/memory/hybrid-search.ts +748 -0
- package/core/memory/importance.ts +319 -0
- package/{dist/core/memory/index.js → core/memory/index.ts} +11 -10
- package/core/memory/loader.ts +178 -0
- package/core/memory/markdown/markdown-storage.ts +318 -0
- package/core/memory/memories.ts +565 -0
- package/core/memory/memory-lifecycle.ts +51 -0
- package/core/memory/memory-manager.ts +53 -0
- package/core/memory/migrate.ts +173 -0
- package/core/memory/normalization.ts +30 -0
- package/core/memory/path-strengthener.ts +211 -0
- package/core/memory/progressive-disclosure.ts +392 -0
- package/core/memory/query-processor.ts +130 -0
- package/core/memory/query-rewriter.ts +153 -0
- package/core/memory/response-analyzer.ts +81 -0
- package/core/memory/retrieval-feedback.ts +276 -0
- package/core/memory/serialization.ts +83 -0
- package/core/memory/stale-cleaner.ts +147 -0
- package/core/memory/stats.ts +181 -0
- package/core/memory/telemetry.ts +392 -0
- package/core/memory/temporal-facts.ts +356 -0
- package/core/memory/temporal-parser.ts +477 -0
- package/core/memory/trigger-detector.ts +104 -0
- package/core/memory/write-gate.ts +288 -0
- package/{dist/core/places/index.js → core/places/index.ts} +12 -12
- package/core/places/memory-places.ts +339 -0
- package/core/places/places.ts +406 -0
- package/core/places/rules.ts +308 -0
- package/core/places/walking.ts +192 -0
- package/core/projects +89 -0
- package/core/projects.ts +131 -0
- package/core/redis.ts +82 -0
- package/core/responses.ts +187 -0
- package/core/runtime/trust-report.ts +195 -0
- package/core/runtime/trust-state.ts +360 -0
- package/core/scheduler/cron-scheduler.ts +590 -0
- package/core/scheduler/heartbeat.ts +91 -0
- package/{dist/core/scheduler/index.js → core/scheduler/index.ts} +8 -8
- package/core/scheduler/job-runner.ts +197 -0
- package/core/search/conversations.ts +166 -0
- package/core/search/entities.ts +46 -0
- package/core/search/folder-context.ts +154 -0
- package/core/search/graph-boost.ts +22 -0
- package/{dist/core/search/index.js → core/search/index.ts} +4 -5
- package/core/search/qmd-wrapper.ts +84 -0
- package/core/security/encrypt.ts +51 -0
- package/core/security/governance.ts +102 -0
- package/core/security/privacy.ts +108 -0
- package/core/security/secret-detector.ts +122 -0
- package/core/session/auto-load.ts +160 -0
- package/core/session/entity-tracker.ts +363 -0
- package/{dist/core/session/index.js → core/session/index.ts} +7 -7
- package/core/session/reference-resolver.ts +158 -0
- package/core/session/self-iteration-job.ts +478 -0
- package/core/session/session-hooks.ts +69 -0
- package/core/session/types.ts +36 -0
- package/core/session/working-set.ts +275 -0
- package/{dist/core/snapshots/cleanup.js → core/snapshots/cleanup.ts} +13 -12
- package/core/snapshots/comparison.ts +59 -0
- package/core/snapshots/creation.ts +139 -0
- package/core/snapshots/retrieval.ts +44 -0
- package/core/snapshots/stats.ts +63 -0
- package/core/storage/cache.ts +241 -0
- package/core/storage/database.ts +23 -0
- package/{dist/core/summarization/cleanup.js → core/summarization/cleanup.ts} +13 -12
- package/core/summarization/queries.ts +32 -0
- package/core/summarization/stats.ts +64 -0
- package/core/summarization/strategies.ts +52 -0
- package/core/summarization.ts +248 -0
- package/core/temporal-facts.ts +244 -0
- package/core/tracing/collector.ts +470 -0
- package/core/tracing/visualizer.ts +195 -0
- package/core/utils/cleanup-operations.ts +50 -0
- package/core/utils/content-extraction.ts +95 -0
- package/core/utils/filter-builder.ts +56 -0
- package/core/utils/history-traversal.ts +63 -0
- package/core/utils/memory-operations.ts +56 -0
- package/core/utils/query-operations.ts +83 -0
- package/core/utils/summarization-helpers.ts +45 -0
- package/core/utils/temporal-queries.ts +39 -0
- package/{dist/core/utils/vector-operations.js → core/utils/vector-operations.ts} +135 -129
- package/core/utils/version-management.ts +74 -0
- package/core/worker.ts +333 -0
- package/db/adapter.ts +215 -0
- package/{dist/db/bootstrap.js → db/bootstrap.ts} +388 -418
- package/db/drizzle/migrations/0000_needy_cerebro.sql +402 -0
- package/db/drizzle/migrations/meta/0000_snapshot.json +3451 -0
- package/db/drizzle/migrations/meta/_journal.json +13 -0
- package/db/drizzle/schema-sqlite.ts +1032 -0
- package/db/drizzle/schema.ts +1128 -0
- package/db/drizzle.config.ts +12 -0
- package/db/index.ts +83 -0
- package/db/init.sql +5 -0
- package/db/migrations/associations.ts +35 -0
- package/db/migrations/beliefs.ts +89 -0
- package/db/migrations/core-memory.ts +35 -0
- package/db/migrations/fts.ts +59 -0
- package/db/migrations/index.ts +54 -0
- package/db/migrations/indexes.ts +36 -0
- package/db/migrations/learnings.ts +34 -0
- package/db/migrations/maintenance.ts +68 -0
- package/db/migrations/memories.ts +22 -0
- package/db/migrations/memory-places.ts +35 -0
- package/db/migrations/places.ts +49 -0
- package/db/migrations/projects.ts +21 -0
- package/db/migrations/tier-conversion.ts +24 -0
- package/db/neon.ts +22 -0
- package/db/schema/beliefs.ts +50 -0
- package/db/schema/generator.ts +159 -0
- package/db/schema/index.ts +58 -0
- package/db/schema/learnings.ts +32 -0
- package/db/schema/memories.ts +83 -0
- package/db/schema/projects.ts +33 -0
- package/db/schema.ts +13 -0
- package/db/supabase.ts +27 -0
- package/mcp.json.example +8 -11
- package/package.json +140 -159
- package/packages/cli/package.json +22 -0
- package/packages/cli/src/commands/clean.ts +68 -0
- package/packages/cli/src/commands/context.ts +79 -0
- package/packages/cli/src/commands/doctor.ts +357 -0
- package/packages/cli/src/commands/forget.ts +72 -0
- package/packages/cli/src/commands/health.ts +36 -0
- package/packages/cli/src/commands/inspect.ts +41 -0
- package/packages/cli/src/commands/link.ts +50 -0
- package/packages/cli/src/commands/migrate.ts +93 -0
- package/packages/cli/src/commands/recall.ts +99 -0
- package/packages/cli/src/commands/recent.ts +57 -0
- package/packages/cli/src/commands/remember.ts +139 -0
- package/packages/cli/src/commands/run.ts +58 -0
- package/packages/cli/src/commands/stale.ts +43 -0
- package/packages/cli/src/commands/stats.ts +42 -0
- package/packages/cli/src/index.ts +57 -0
- package/packages/cli/tsconfig.json +24 -0
- package/packages/mcp/package.json +26 -0
- package/packages/mcp/src/index.ts +940 -0
- package/packages/mcp/tsconfig.json +20 -0
- package/skills/squish-memory/SKILL.md +38 -35
- package/skills/squish-memory/{scripts/install.sh → install.sh} +1 -1
- package/skills/squish-memory/references/claude-desktop.json +12 -0
- package/skills/squish-memory/references/openclaw.json +13 -0
- package/skills/squish-memory/references/opencode.json +14 -0
- package/config/hooks/claude-code-hooks.json +0 -39
- package/config/hooks/cursor-hooks.json +0 -30
- package/config/hooks/opencode-hooks.json +0 -30
- package/config/hooks/windsurf-hooks.json +0 -30
- package/config/mcp-cli-fallback-policy.json +0 -22
- package/config/mcp.json +0 -38
- package/config/plugin-manifest.json +0 -101
- package/config/plugin-manifest.schema.json +0 -244
- package/config/plugin.json +0 -32
- package/config/remote-memory-policy.json +0 -32
- package/core/commands/context-paging.md +0 -51
- package/core/commands/context-status.md +0 -22
- package/core/commands/context.md +0 -5
- package/core/commands/core-memory.md +0 -56
- package/core/commands/health.md +0 -5
- package/core/commands/init.md +0 -39
- package/core/commands/merge.md +0 -113
- package/core/commands/recall.md +0 -5
- package/core/commands/remember.md +0 -11
- package/core/commands/search.md +0 -10
- package/dist/config.d.ts +0 -83
- package/dist/config.js +0 -242
- package/dist/core/adapters/config/claude-code.d.ts +0 -45
- package/dist/core/adapters/config/claude-code.js +0 -113
- package/dist/core/adapters/config/cursor.d.ts +0 -26
- package/dist/core/adapters/config/cursor.js +0 -74
- package/dist/core/adapters/config/opencode.d.ts +0 -23
- package/dist/core/adapters/config/opencode.js +0 -73
- package/dist/core/adapters/config/windsurf.d.ts +0 -26
- package/dist/core/adapters/config/windsurf.js +0 -74
- package/dist/core/adapters/index.d.ts +0 -45
- package/dist/core/adapters/index.js +0 -84
- package/dist/core/adapters/scripts/install-adapter.d.ts +0 -19
- package/dist/core/adapters/scripts/install-adapter.js +0 -149
- package/dist/core/adapters/timeline.d.ts +0 -23
- package/dist/core/adapters/timeline.js +0 -88
- package/dist/core/adapters/types.d.ts +0 -157
- package/dist/core/adapters/types.js +0 -50
- package/dist/core/algorithms/analytics/token-estimator.d.ts +0 -50
- package/dist/core/algorithms/analytics/token-estimator.js +0 -154
- package/dist/core/algorithms/detection/hash-filters.d.ts +0 -47
- package/dist/core/algorithms/detection/hash-filters.js +0 -190
- package/dist/core/algorithms/detection/semantic-ranker.d.ts +0 -32
- package/dist/core/algorithms/detection/semantic-ranker.js +0 -118
- package/dist/core/algorithms/detection/two-stage-detector.d.ts +0 -52
- package/dist/core/algorithms/detection/two-stage-detector.js +0 -299
- package/dist/core/algorithms/handlers/approve-merge.d.ts +0 -22
- package/dist/core/algorithms/handlers/approve-merge.js +0 -179
- package/dist/core/algorithms/handlers/detect-duplicates.d.ts +0 -47
- package/dist/core/algorithms/handlers/detect-duplicates.js +0 -145
- package/dist/core/algorithms/handlers/get-stats.d.ts +0 -39
- package/dist/core/algorithms/handlers/get-stats.js +0 -88
- package/dist/core/algorithms/handlers/list-proposals.d.ts +0 -45
- package/dist/core/algorithms/handlers/list-proposals.js +0 -83
- package/dist/core/algorithms/handlers/preview-merge.d.ts +0 -39
- package/dist/core/algorithms/handlers/preview-merge.js +0 -93
- package/dist/core/algorithms/handlers/reject-merge.d.ts +0 -28
- package/dist/core/algorithms/handlers/reject-merge.js +0 -69
- package/dist/core/algorithms/handlers/reverse-merge.d.ts +0 -21
- package/dist/core/algorithms/handlers/reverse-merge.js +0 -121
- package/dist/core/algorithms/index.d.ts +0 -21
- package/dist/core/algorithms/operations/cache-maintenance.d.ts +0 -12
- package/dist/core/algorithms/operations/cache-maintenance.js +0 -157
- package/dist/core/algorithms/safety/safety-checks.d.ts +0 -22
- package/dist/core/algorithms/safety/safety-checks.js +0 -179
- package/dist/core/algorithms/strategies/merge-strategies.d.ts +0 -50
- package/dist/core/algorithms/strategies/merge-strategies.js +0 -288
- package/dist/core/algorithms/types.d.ts +0 -133
- package/dist/core/algorithms/types.js +0 -5
- package/dist/core/algorithms/utils/response-builder.d.ts +0 -28
- package/dist/core/algorithms/utils/response-builder.js +0 -37
- package/dist/core/associations.d.ts +0 -31
- package/dist/core/associations.js +0 -248
- package/dist/core/autosave.d.ts +0 -19
- package/dist/core/autosave.js +0 -16
- package/dist/core/commands/managed-sync.d.ts +0 -10
- package/dist/core/commands/managed-sync.js +0 -64
- package/dist/core/commands/mcp-server.d.ts +0 -3
- package/dist/core/commands/mcp-server.js +0 -739
- package/dist/core/consolidation.d.ts +0 -37
- package/dist/core/consolidation.js +0 -248
- package/dist/core/context/agent-context.d.ts +0 -106
- package/dist/core/context/agent-context.js +0 -274
- package/dist/core/context/context-paging.d.ts +0 -80
- package/dist/core/context/context-paging.js +0 -328
- package/dist/core/context/context-window.d.ts +0 -40
- package/dist/core/context/context-window.js +0 -177
- package/dist/core/context/context.d.ts +0 -7
- package/dist/core/context/context.js +0 -22
- package/dist/core/embeddings/google-multimodal.d.ts +0 -14
- package/dist/core/embeddings/google-multimodal.js +0 -142
- package/dist/core/embeddings/qmd-client.d.ts +0 -136
- package/dist/core/embeddings/qmd-client.js +0 -403
- package/dist/core/embeddings.d.ts +0 -29
- package/dist/core/embeddings.js +0 -454
- package/dist/core/error-handling.d.ts +0 -63
- package/dist/core/error-handling.js +0 -173
- package/dist/core/external-folder/index.d.ts +0 -102
- package/dist/core/external-folder/index.js +0 -294
- package/dist/core/hooks/agent-hooks.d.ts +0 -74
- package/dist/core/hooks/agent-hooks.js +0 -244
- package/dist/core/hooks/auto-tagger.d.ts +0 -19
- package/dist/core/hooks/auto-tagger.js +0 -155
- package/dist/core/hooks/capture-filter.d.ts +0 -41
- package/dist/core/hooks/capture-filter.js +0 -128
- package/dist/core/index.d.ts +0 -10
- package/dist/core/index.js +0 -14
- package/dist/core/ingestion/agent-memory.d.ts +0 -22
- package/dist/core/ingestion/agent-memory.js +0 -109
- package/dist/core/ingestion/core-memory.d.ts +0 -78
- package/dist/core/ingestion/core-memory.js +0 -226
- package/dist/core/ingestion/learnings.d.ts +0 -57
- package/dist/core/ingestion/learnings.js +0 -202
- package/dist/core/layers/generator.d.ts +0 -25
- package/dist/core/layers/generator.js +0 -76
- package/dist/core/lib/db-client.js +0 -130
- package/dist/core/lib/schemas.d.ts +0 -129
- package/dist/core/lib/utils.d.ts +0 -14
- package/dist/core/lib/utils.js +0 -90
- package/dist/core/lib/validation.d.ts +0 -38
- package/dist/core/lib/validation.js +0 -151
- package/dist/core/lifecycle.d.ts +0 -26
- package/dist/core/lifecycle.js +0 -302
- package/dist/core/local-embeddings.d.ts +0 -11
- package/dist/core/logger.d.ts +0 -16
- package/dist/core/logger.js +0 -40
- package/dist/core/mcp/client.d.ts +0 -17
- package/dist/core/mcp/client.js +0 -101
- package/dist/core/mcp/index.d.ts +0 -6
- package/dist/core/mcp/index.js +0 -6
- package/dist/core/mcp/server.d.ts +0 -18
- package/dist/core/mcp/server.js +0 -157
- package/dist/core/mcp/standalone-server.d.ts +0 -13
- package/dist/core/mcp/standalone-server.js +0 -46
- package/dist/core/mcp/tools.d.ts +0 -9
- package/dist/core/mcp/tools.js +0 -365
- package/dist/core/mcp/types.d.ts +0 -315
- package/dist/core/mcp/types.js +0 -48
- package/dist/core/memory/bridge-discovery.d.ts +0 -50
- package/dist/core/memory/bridge-discovery.js +0 -291
- package/dist/core/memory/categorizer.d.ts +0 -27
- package/dist/core/memory/categorizer.js +0 -305
- package/dist/core/memory/conflict-detector.d.ts +0 -7
- package/dist/core/memory/conflict-detector.js +0 -43
- package/dist/core/memory/consolidation.d.ts +0 -42
- package/dist/core/memory/consolidation.js +0 -303
- package/dist/core/memory/context-collector.d.ts +0 -10
- package/dist/core/memory/context-collector.js +0 -56
- package/dist/core/memory/contradiction-resolver.d.ts +0 -40
- package/dist/core/memory/contradiction-resolver.js +0 -368
- package/dist/core/memory/edit-workflow.d.ts +0 -19
- package/dist/core/memory/edit-workflow.js +0 -120
- package/dist/core/memory/entity-extractor.d.ts +0 -33
- package/dist/core/memory/entity-extractor.js +0 -336
- package/dist/core/memory/entity-resolver.d.ts +0 -23
- package/dist/core/memory/entity-resolver.js +0 -64
- package/dist/core/memory/fact-extractor.d.ts +0 -24
- package/dist/core/memory/fact-extractor.js +0 -89
- package/dist/core/memory/feedback-tracker.d.ts +0 -12
- package/dist/core/memory/feedback-tracker.js +0 -155
- package/dist/core/memory/hooks.d.ts +0 -88
- package/dist/core/memory/hooks.js +0 -174
- package/dist/core/memory/hybrid-retrieval.d.ts +0 -29
- package/dist/core/memory/hybrid-retrieval.js +0 -139
- package/dist/core/memory/hybrid-scorer.d.ts +0 -40
- package/dist/core/memory/hybrid-scorer.js +0 -284
- package/dist/core/memory/hybrid-search.d.ts +0 -20
- package/dist/core/memory/hybrid-search.js +0 -359
- package/dist/core/memory/importance.d.ts +0 -63
- package/dist/core/memory/importance.js +0 -298
- package/dist/core/memory/index.d.ts +0 -8
- package/dist/core/memory/loader.d.ts +0 -31
- package/dist/core/memory/loader.js +0 -141
- package/dist/core/memory/markdown/markdown-storage.d.ts +0 -72
- package/dist/core/memory/markdown/markdown-storage.js +0 -243
- package/dist/core/memory/memories.d.ts +0 -47
- package/dist/core/memory/memories.js +0 -449
- package/dist/core/memory/memory-lifecycle.d.ts +0 -8
- package/dist/core/memory/memory-lifecycle.js +0 -55
- package/dist/core/memory/memory-manager.d.ts +0 -15
- package/dist/core/memory/memory-manager.js +0 -46
- package/dist/core/memory/migrate.d.ts +0 -21
- package/dist/core/memory/migrate.js +0 -134
- package/dist/core/memory/normalization.d.ts +0 -22
- package/dist/core/memory/normalization.js +0 -26
- package/dist/core/memory/progressive-disclosure.d.ts +0 -43
- package/dist/core/memory/progressive-disclosure.js +0 -280
- package/dist/core/memory/query-processor.d.ts +0 -21
- package/dist/core/memory/query-processor.js +0 -72
- package/dist/core/memory/query-rewriter.d.ts +0 -13
- package/dist/core/memory/query-rewriter.js +0 -118
- package/dist/core/memory/response-analyzer.d.ts +0 -9
- package/dist/core/memory/response-analyzer.js +0 -61
- package/dist/core/memory/serialization.d.ts +0 -10
- package/dist/core/memory/serialization.js +0 -84
- package/dist/core/memory/stats.d.ts +0 -22
- package/dist/core/memory/stats.js +0 -138
- package/dist/core/memory/telemetry.d.ts +0 -69
- package/dist/core/memory/telemetry.js +0 -313
- package/dist/core/memory/temporal-facts.d.ts +0 -41
- package/dist/core/memory/temporal-facts.js +0 -283
- package/dist/core/memory/temporal-parser.d.ts +0 -32
- package/dist/core/memory/temporal-parser.js +0 -385
- package/dist/core/memory/trigger-detector.d.ts +0 -14
- package/dist/core/memory/trigger-detector.js +0 -42
- package/dist/core/memory/write-gate.d.ts +0 -54
- package/dist/core/memory/write-gate.js +0 -210
- package/dist/core/namespaces/index.d.ts +0 -71
- package/dist/core/namespaces/index.js +0 -305
- package/dist/core/namespaces/uri-parser.d.ts +0 -31
- package/dist/core/namespaces/uri-parser.js +0 -74
- package/dist/core/obsidian-vault.d.ts +0 -30
- package/dist/core/obsidian-vault.js +0 -94
- package/dist/core/places/index.d.ts +0 -14
- package/dist/core/places/memory-places.d.ts +0 -68
- package/dist/core/places/memory-places.js +0 -261
- package/dist/core/places/places.d.ts +0 -88
- package/dist/core/places/places.js +0 -314
- package/dist/core/places/rules.d.ts +0 -74
- package/dist/core/places/rules.js +0 -240
- package/dist/core/places/walking.d.ts +0 -56
- package/dist/core/places/walking.js +0 -121
- package/dist/core/projects.d.ts +0 -17
- package/dist/core/projects.js +0 -108
- package/dist/core/redis.d.ts +0 -11
- package/dist/core/redis.js +0 -69
- package/dist/core/responses.d.ts +0 -96
- package/dist/core/responses.js +0 -122
- package/dist/core/scheduler/cron-scheduler.d.ts +0 -32
- package/dist/core/scheduler/cron-scheduler.js +0 -332
- package/dist/core/scheduler/heartbeat.d.ts +0 -11
- package/dist/core/scheduler/heartbeat.js +0 -73
- package/dist/core/scheduler/index.d.ts +0 -8
- package/dist/core/scheduler/job-runner.d.ts +0 -11
- package/dist/core/scheduler/job-runner.js +0 -164
- package/dist/core/search/conversations.d.ts +0 -25
- package/dist/core/search/conversations.js +0 -110
- package/dist/core/search/entities.d.ts +0 -12
- package/dist/core/search/entities.js +0 -31
- package/dist/core/search/folder-context.d.ts +0 -25
- package/dist/core/search/folder-context.js +0 -119
- package/dist/core/search/graph-boost.d.ts +0 -7
- package/dist/core/search/graph-boost.js +0 -23
- package/dist/core/search/index.d.ts +0 -4
- package/dist/core/search/qmd-search.d.ts +0 -61
- package/dist/core/search/qmd-search.js +0 -178
- package/dist/core/security/encrypt.d.ts +0 -6
- package/dist/core/security/encrypt.js +0 -47
- package/dist/core/security/governance.d.ts +0 -26
- package/dist/core/security/governance.js +0 -79
- package/dist/core/security/privacy.d.ts +0 -23
- package/dist/core/security/privacy.js +0 -82
- package/dist/core/security/secret-detector.d.ts +0 -32
- package/dist/core/security/secret-detector.js +0 -88
- package/dist/core/session/auto-load.d.ts +0 -6
- package/dist/core/session/auto-load.js +0 -119
- package/dist/core/session/index.d.ts +0 -7
- package/dist/core/session/self-iteration-job.d.ts +0 -20
- package/dist/core/session/self-iteration-job.js +0 -282
- package/dist/core/session/session-hooks.d.ts +0 -18
- package/dist/core/session/session-hooks.js +0 -58
- package/dist/core/session/types.d.ts +0 -26
- package/dist/core/session/types.js +0 -10
- package/dist/core/session-hooks/self-iteration-job.d.ts +0 -20
- package/dist/core/session-hooks/self-iteration-job.js +0 -282
- package/dist/core/session-hooks/session-hooks.d.ts +0 -18
- package/dist/core/session-hooks/session-hooks.js +0 -58
- package/dist/core/snapshots/cleanup.d.ts +0 -9
- package/dist/core/snapshots/comparison.d.ts +0 -19
- package/dist/core/snapshots/comparison.js +0 -43
- package/dist/core/snapshots/creation.d.ts +0 -19
- package/dist/core/snapshots/creation.js +0 -126
- package/dist/core/snapshots/retrieval.d.ts +0 -7
- package/dist/core/snapshots/retrieval.js +0 -41
- package/dist/core/snapshots/stats.d.ts +0 -11
- package/dist/core/snapshots/stats.js +0 -52
- package/dist/core/snapshots.d.ts +0 -29
- package/dist/core/snapshots.js +0 -220
- package/dist/core/storage/cache.d.ts +0 -13
- package/dist/core/storage/cache.js +0 -202
- package/dist/core/storage/database.d.ts +0 -12
- package/dist/core/storage/database.js +0 -12
- package/dist/core/summarization/cleanup.d.ts +0 -9
- package/dist/core/summarization/queries.d.ts +0 -9
- package/dist/core/summarization/queries.js +0 -28
- package/dist/core/summarization/stats.d.ts +0 -14
- package/dist/core/summarization/stats.js +0 -52
- package/dist/core/summarization/strategies.d.ts +0 -24
- package/dist/core/summarization/strategies.js +0 -28
- package/dist/core/summarization.d.ts +0 -37
- package/dist/core/summarization.js +0 -188
- package/dist/core/sync/qmd-sync.d.ts +0 -94
- package/dist/core/sync/qmd-sync.js +0 -201
- package/dist/core/temporal-facts.d.ts +0 -54
- package/dist/core/temporal-facts.js +0 -193
- package/dist/core/toon.d.ts +0 -43
- package/dist/core/toon.js +0 -160
- package/dist/core/tracing/collector.d.ts +0 -111
- package/dist/core/tracing/collector.js +0 -350
- package/dist/core/tracing/visualizer.d.ts +0 -32
- package/dist/core/tracing/visualizer.js +0 -165
- package/dist/core/utils/cleanup-operations.d.ts +0 -13
- package/dist/core/utils/cleanup-operations.js +0 -44
- package/dist/core/utils/content-extraction.d.ts +0 -19
- package/dist/core/utils/content-extraction.js +0 -75
- package/dist/core/utils/filter-builder.d.ts +0 -13
- package/dist/core/utils/filter-builder.js +0 -44
- package/dist/core/utils/history-traversal.d.ts +0 -13
- package/dist/core/utils/history-traversal.js +0 -50
- package/dist/core/utils/memory-operations.d.ts +0 -17
- package/dist/core/utils/memory-operations.js +0 -43
- package/dist/core/utils/query-operations.d.ts +0 -18
- package/dist/core/utils/query-operations.js +0 -65
- package/dist/core/utils/summarization-helpers.d.ts +0 -21
- package/dist/core/utils/summarization-helpers.js +0 -38
- package/dist/core/utils/temporal-queries.d.ts +0 -13
- package/dist/core/utils/temporal-queries.js +0 -27
- package/dist/core/utils/vector-operations.d.ts +0 -71
- package/dist/core/utils/version-management.d.ts +0 -9
- package/dist/core/utils/version-management.js +0 -61
- package/dist/core/worker.d.ts +0 -82
- package/dist/core/worker.js +0 -272
- package/dist/db/adapter.d.ts +0 -7
- package/dist/db/adapter.js +0 -175
- package/dist/db/bootstrap.d.ts +0 -9
- package/dist/db/drizzle/schema-sqlite.d.ts +0 -4837
- package/dist/db/drizzle/schema-sqlite.js +0 -684
- package/dist/db/drizzle/schema.d.ts +0 -4082
- package/dist/db/drizzle/schema.js +0 -770
- package/dist/db/drizzle.config.d.ts +0 -3
- package/dist/db/drizzle.config.js +0 -12
- package/dist/db/index.d.ts +0 -7
- package/dist/db/index.js +0 -89
- package/dist/db/neon.d.ts +0 -8
- package/dist/db/neon.js +0 -20
- package/dist/db/schema/index.d.ts +0 -40
- package/dist/db/schema/index.js +0 -105
- package/dist/db/schema/tables/context-sessions.d.ts +0 -9
- package/dist/db/schema/tables/context-sessions.js +0 -37
- package/dist/db/schema/tables/conversations.d.ts +0 -9
- package/dist/db/schema/tables/conversations.js +0 -47
- package/dist/db/schema/tables/core-memory.d.ts +0 -9
- package/dist/db/schema/tables/core-memory.js +0 -41
- package/dist/db/schema/tables/entities.d.ts +0 -9
- package/dist/db/schema/tables/entities.js +0 -39
- package/dist/db/schema/tables/entity-relations.d.ts +0 -9
- package/dist/db/schema/tables/entity-relations.js +0 -31
- package/dist/db/schema/tables/learnings.d.ts +0 -9
- package/dist/db/schema/tables/learnings.js +0 -66
- package/dist/db/schema/tables/memories.d.ts +0 -9
- package/dist/db/schema/tables/memories.js +0 -161
- package/dist/db/schema/tables/memory-associations.d.ts +0 -9
- package/dist/db/schema/tables/memory-associations.js +0 -39
- package/dist/db/schema/tables/memory-hash-cache.d.ts +0 -9
- package/dist/db/schema/tables/memory-hash-cache.js +0 -29
- package/dist/db/schema/tables/memory-merge-history.d.ts +0 -9
- package/dist/db/schema/tables/memory-merge-history.js +0 -33
- package/dist/db/schema/tables/memory-merge-proposals.d.ts +0 -9
- package/dist/db/schema/tables/memory-merge-proposals.js +0 -39
- package/dist/db/schema/tables/messages.d.ts +0 -9
- package/dist/db/schema/tables/messages.js +0 -41
- package/dist/db/schema/tables/namespaces.d.ts +0 -9
- package/dist/db/schema/tables/namespaces.js +0 -37
- package/dist/db/schema/tables/projects.d.ts +0 -9
- package/dist/db/schema/tables/projects.js +0 -31
- package/dist/db/schema/tables/users.d.ts +0 -9
- package/dist/db/schema/tables/users.js +0 -27
- package/dist/db/schema.d.ts +0 -3
- package/dist/db/schema.js +0 -11
- package/dist/db/supabase.d.ts +0 -9
- package/dist/db/supabase.js +0 -24
- package/dist/index.d.ts +0 -7
- package/dist/index.js +0 -1677
- package/dist/vendor/sql.js/sql-wasm.wasm +0 -0
- package/dist/webui/server.d.ts +0 -5
- package/dist/webui/server.js +0 -642
- package/generated/mcp/manifest.json +0 -23
- package/generated/mcp/mcp-servers.json +0 -25
- package/generated/mcp/mcporter.json +0 -34
- package/generated/mcp/openclaw-memory-qmd.json +0 -17
- package/generated/mcp/runtime.json +0 -12
- package/scripts/README.md +0 -60
- package/scripts/build-release.sh +0 -36
- package/scripts/check-secrets.js +0 -132
- package/scripts/copy-runtime-assets.mjs +0 -26
- package/scripts/generate-mcp.mjs +0 -264
- package/scripts/github-release.sh +0 -77
- package/scripts/init-dirs.mjs +0 -13
- package/scripts/install-claude-code.sh +0 -85
- package/scripts/install-cursor.sh +0 -56
- package/scripts/install-hooks.sh +0 -73
- package/scripts/install-interactive.mjs +0 -357
- package/scripts/install-opencode.sh +0 -75
- package/scripts/install-plugin.mjs +0 -415
- package/scripts/install-windsurf.sh +0 -67
- package/scripts/remote-preflight.mjs +0 -62
- package/scripts/squish-fallback.mjs +0 -132
- package/scripts/test-interactive.mjs +0 -131
- package/scripts/verify-mcp.mjs +0 -214
- package/skills/squish-memory/scripts/install.mjs +0 -335
- package/skills/squish-memory/write_skill.js +0 -2
package/.env.example
CHANGED
|
@@ -37,14 +37,21 @@ SQUISH_MCP_SERVER_ENABLED=false
|
|
|
37
37
|
# auto = Try OpenAI > Ollama > Google > local fallback
|
|
38
38
|
SQUISH_EMBEDDINGS_PROVIDER=local
|
|
39
39
|
|
|
40
|
-
# OpenAI (
|
|
41
|
-
# SQUISH_OPENAI_API_KEY=sk-...
|
|
42
|
-
# SQUISH_OPENAI_API_URL=https://api.openai.com/v1/embeddings
|
|
43
|
-
# SQUISH_OPENAI_EMBEDDING_MODEL
|
|
44
|
-
|
|
45
|
-
# Ollama
|
|
46
|
-
# SQUISH_OLLAMA_URL=http://localhost:11434
|
|
47
|
-
# SQUISH_OLLAMA_EMBEDDING_MODEL
|
|
40
|
+
# OpenAI (example: set both key and model)
|
|
41
|
+
# SQUISH_OPENAI_API_KEY=sk-...
|
|
42
|
+
# SQUISH_OPENAI_API_URL=https://api.openai.com/v1/embeddings
|
|
43
|
+
# SQUISH_OPENAI_EMBEDDING_MODEL=<openai-embedding-model>
|
|
44
|
+
|
|
45
|
+
# Ollama (example: set URL and model served by your local Ollama)
|
|
46
|
+
# SQUISH_OLLAMA_URL=http://localhost:11434
|
|
47
|
+
# SQUISH_OLLAMA_EMBEDDING_MODEL=<ollama-embedding-model>
|
|
48
|
+
|
|
49
|
+
# LM Studio (example: set URL and model loaded in LM Studio)
|
|
50
|
+
# SQUISH_LM_STUDIO_URL=http://localhost:1234
|
|
51
|
+
# SQUISH_LM_STUDIO_EMBEDDING_MODEL=<lm-studio-embedding-model>
|
|
52
|
+
|
|
53
|
+
# Transformers.js local (example: set a Hugging Face ONNX embedding model)
|
|
54
|
+
# SQUISH_LOCAL_MODEL=<huggingface-onnx-embedding-model>
|
|
48
55
|
|
|
49
56
|
# Google Cloud
|
|
50
57
|
# GOOGLE_CLOUD_PROJECT=your-project-id
|
|
@@ -52,12 +59,19 @@ SQUISH_EMBEDDINGS_PROVIDER=local
|
|
|
52
59
|
# GOOGLE_CLOUD_API_KEY=your-api-key
|
|
53
60
|
# Or use service account:
|
|
54
61
|
# GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
|
|
55
|
-
# SQUISH_GOOGLE_EMBEDDING_MODEL
|
|
62
|
+
# SQUISH_GOOGLE_EMBEDDING_MODEL=<google-embedding-model>
|
|
56
63
|
|
|
57
|
-
# Embedding reliability
|
|
58
|
-
SQUISH_EMBEDDINGS_TIMEOUT_MS=30000
|
|
59
|
-
SQUISH_EMBEDDINGS_MAX_RETRIES=3
|
|
60
|
-
SQUISH_EMBEDDINGS_RETRY_DELAY_MS=1000
|
|
64
|
+
# Embedding reliability
|
|
65
|
+
SQUISH_EMBEDDINGS_TIMEOUT_MS=30000
|
|
66
|
+
SQUISH_EMBEDDINGS_MAX_RETRIES=3
|
|
67
|
+
SQUISH_EMBEDDINGS_RETRY_DELAY_MS=1000
|
|
68
|
+
|
|
69
|
+
# Optional LLM graph enrichment (off by default for launch-safe local mode)
|
|
70
|
+
SQUISH_LLM_ENABLED=false
|
|
71
|
+
# SQUISH_LLM_PROVIDER=openai
|
|
72
|
+
# SQUISH_LLM_ENDPOINT=http://localhost:1234
|
|
73
|
+
# SQUISH_LLM_EXTRACTION_MODEL=<llm-extraction-model>
|
|
74
|
+
# SQUISH_LLM_REASONING_MODEL=<llm-reasoning-model>
|
|
61
75
|
|
|
62
76
|
# =============================================================================
|
|
63
77
|
# QMD (local markdown search)
|
|
@@ -102,9 +116,11 @@ SQUISH_GOVERNANCE_ENABLED=true
|
|
|
102
116
|
# =============================================================================
|
|
103
117
|
# GRAPH BOOST (v1.1.0+)
|
|
104
118
|
# =============================================================================
|
|
105
|
-
# Scoring weight for graph boost in recall (default: 1.5)
|
|
106
|
-
# Higher = more influence from memory associations
|
|
107
|
-
# SQUISH_WEIGHT_GRAPH_BOOST=1.5
|
|
119
|
+
# Scoring weight for graph boost in recall (default: 1.5)
|
|
120
|
+
# Higher = more influence from memory associations
|
|
121
|
+
# SQUISH_WEIGHT_GRAPH_BOOST=1.5
|
|
122
|
+
# SQUISH_GRAPH_AUTO_BUILD=true
|
|
123
|
+
# SQUISH_GRAPH_EXTRACTION_METHOD=auto
|
|
108
124
|
|
|
109
125
|
# =============================================================================
|
|
110
126
|
# MANAGED MODE (Squish Cloud)
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,153 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to Squish will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [1.2.0] - 2026-04-19
|
|
6
|
+
|
|
7
|
+
### Added - QMD Integration
|
|
8
|
+
|
|
9
|
+
- **Dependency**: Add @tobilu/qmd@^2.1.0 as npm package
|
|
10
|
+
- **Wrapper**: New core/search/qmd-wrapper.ts with search, query, vsearch, embed functions
|
|
11
|
+
- **Usage as library**: Uses SDK library API (not CLI MCP wrapper)
|
|
12
|
+
|
|
13
|
+
### Added - Persistent Hot Cache (Karpathy-Style)
|
|
14
|
+
|
|
15
|
+
- **Persistent storage**: .squish/hot-cache.json survives restart
|
|
16
|
+
- **Deduplication**: SHA256 hash-based content deduplication
|
|
17
|
+
- **Stale prevention**: Entries flagged after 7 days without reference
|
|
18
|
+
- **Auto-clean**: Entries older than 14 days removed on load
|
|
19
|
+
- **Session integration**: Loaded on auto-load, saved on session end
|
|
20
|
+
- **Size limit**: ~500 words max with trim-to-recent policy
|
|
21
|
+
|
|
22
|
+
### Changed - Memory Runtime
|
|
23
|
+
|
|
24
|
+
- **Simplified lifecycle**: Removed deprecated warm tier (hot/cold only now)
|
|
25
|
+
- **Updated schemas**: Both SQLite and Postgres tier columns now hot|cold
|
|
26
|
+
- **Updated lifecycle**: TIER_THRESHOLDS only has hot and cold thresholds
|
|
27
|
+
- **Updated scorer**: Removed warm scoring bonuses
|
|
28
|
+
- **Updated CLI**: Descriptions reflect simplified tier system
|
|
29
|
+
|
|
30
|
+
## [1.2.0] - 2026-04-19
|
|
31
|
+
|
|
32
|
+
### Added - Belief System (Derived Semantic Layer)
|
|
33
|
+
|
|
34
|
+
- **Belief extraction from memories**: Automatically extracts beliefs from durable memories
|
|
35
|
+
- **Belief types**: decision, preference, constraint, failure_cause, state_change, dispute
|
|
36
|
+
- **Belief decay engine**: 30-day half-life, disputed beliefs decay 1.5x faster
|
|
37
|
+
- **Source tracking**: Each belief tracks source memories for provenance
|
|
38
|
+
- **Integration**: Beliefs extracted on both explicit and auto-capture durable writes
|
|
39
|
+
|
|
40
|
+
### Changed - Schema Integration
|
|
41
|
+
|
|
42
|
+
- **Canonical schema**: Belief tables now in SQLite and Postgres drizzle schemas
|
|
43
|
+
- **Bootstrap migration**: Belief table creation included in db/bootstrap.ts
|
|
44
|
+
- **Decay fields**: last_confirmed_at, belief_decay_rate, source_count, confidence
|
|
45
|
+
|
|
46
|
+
### Changed - Scheduler Resilience
|
|
47
|
+
|
|
48
|
+
- **Catch-up logic**: On scheduler init, checks for missed jobs and runs catch-up
|
|
49
|
+
- **Grace period**: Jobs with elapsed > 1.5x expected interval trigger catch-up
|
|
50
|
+
- **Handles sleep/wake**: No more missed jobs when machine is off/sleeping
|
|
51
|
+
|
|
52
|
+
### Added - Query Functions
|
|
53
|
+
|
|
54
|
+
- **getAllBeliefs()**: Query all beliefs for a project with filtering
|
|
55
|
+
- **searchBeliefs()**: Search beliefs by statement content
|
|
56
|
+
- **Provenance display**: Memory inspection shows source count, evidence preview
|
|
57
|
+
|
|
58
|
+
### Fixed - Trust Surfaces
|
|
59
|
+
|
|
60
|
+
- **Beliefs in context**: Context state now includes extracted beliefs
|
|
61
|
+
- **Beliefs in trust report**: Trust report surfaces belief summaries
|
|
62
|
+
- **Enhanced inspect**: Memory explain shows belief provenance
|
|
63
|
+
|
|
64
|
+
### Added - Signal-Aware Memory Runtime
|
|
65
|
+
- **Signal distillation engine**: Captured events are now classified as `discard`, `session-only`, `durable-distilled`, or `durable-raw+distilled`
|
|
66
|
+
- **Session working set**: Active files, recent commands, failures, hypotheses, active places, and graph cues are compacted for wake-up continuity
|
|
67
|
+
- **Raw fallback snapshots**: Nuance-sensitive durable events can keep linked raw artifacts without polluting normal retrieval
|
|
68
|
+
- **Incremental place + graph routing**: Durable writes now feed place assignment and graph enrichment as part of the same runtime loop
|
|
69
|
+
|
|
70
|
+
### Added - Trust-Oriented CLI And MCP Surfaces
|
|
71
|
+
- **`squish health`**: New health command for project scope, subsystem status, and next-step guidance
|
|
72
|
+
- **`squish inspect` / `squish_inspect`**: Explanation path for why a memory exists, whether raw fallback exists, and how legacy records should be read
|
|
73
|
+
- **Structured MCP trust outputs**: `squish_context`, `squish_health`, and `squish_stats` now expose current project, runtime state, and recovery guidance in a predictable shape
|
|
74
|
+
|
|
75
|
+
### Changed - Project Context And Wake-Up Semantics
|
|
76
|
+
- **Canonical current project**: Normal context output now prefers the real workspace path and suppresses legacy placeholder project noise
|
|
77
|
+
- **Wake-up order**: Session working set and active runtime state are surfaced before broad durable recall
|
|
78
|
+
- **Stats semantics**: Durable memory totals are now clearly separated from capture-era signal telemetry
|
|
79
|
+
|
|
80
|
+
### Fixed - Trust Consistency
|
|
81
|
+
- **`squish doctor` coherence**: Doctor now reads as one combined trust-and-diagnostics command instead of two stacked reports
|
|
82
|
+
- **Legacy inspection**: Older memories now report `legacy-durable` instead of `unknown`, with explicit provenance text
|
|
83
|
+
- **Release verification path**: Added `bun run verify:mcp` for packaged MCP health verification
|
|
84
|
+
|
|
85
|
+
### Docs
|
|
86
|
+
- README, CLI reference, install quickstart, architecture notes, and release notes updated to match the automatic memory runtime and current command surface
|
|
87
|
+
|
|
88
|
+
### Added - Unified Write Path (squish_remember)
|
|
89
|
+
- **New unified memory tool**: `squish_remember` auto-detects memory vs learning routing
|
|
90
|
+
- **Auto-type detection**: Detects `success`, `failure`, `fix`, `observation`, `decision`, `preference`, `note`, `reflection`
|
|
91
|
+
- **Hot/cold tier support**: Automatic routing to appropriate storage tier
|
|
92
|
+
- **Code pattern detection**: Recognizes code changes, errors, fixes in agent outputs
|
|
93
|
+
- **Place and pin flags**: Support for place-based and pinned memories
|
|
94
|
+
|
|
95
|
+
### Added - Graph Auto-Update
|
|
96
|
+
- **Auto-update graph on remember**: Knowledge graph updated automatically when memories are stored
|
|
97
|
+
- **Auto-update graph on link**: Graph updated when associations are created between memories
|
|
98
|
+
- **Integration**: Graph module now integrated into main write path (was previously standalone)
|
|
99
|
+
|
|
100
|
+
### Added - New CLI Commands
|
|
101
|
+
- **`squish run web`**: Start web UI on port 37777
|
|
102
|
+
- **`squish migrate`**: Unify multiple .squish folders into single location
|
|
103
|
+
- **Full CLI suite**: 10+ commands (remember, search, recall, recent, context, stats, forget, link, stale, clean)
|
|
104
|
+
|
|
105
|
+
### Added - Memory Decay System
|
|
106
|
+
- **Enabled by default**: Memory decay now runs automatically (was broken in 1.1.x)
|
|
107
|
+
- **Configurable intervals**: Sector decay intervals now configurable via env vars
|
|
108
|
+
- **Auto-clean enabled**: Automatic cleanup of expired memories (was dry-run only)
|
|
109
|
+
- **Fixed**: Removed dead code and consolidated decay logic
|
|
110
|
+
|
|
111
|
+
### Added - add-mcp Integration
|
|
112
|
+
- **Universal MCP installation**: Replaced manual config writing with `add-mcp`
|
|
113
|
+
- **Multi-client support**: Works with Zed, Goose, Gemini CLI, Claude Code, Cursor, OpenCode, Windsurf
|
|
114
|
+
- **Global flag**: `--global` flag for user-level installation
|
|
115
|
+
- **Simplified installer**: `bin/install-interactive.mjs` rewritten to use add-mcp
|
|
116
|
+
|
|
117
|
+
### Fixed - v1.1.5 Issues
|
|
118
|
+
- **bin/ tracked in git**: Removed from .gitignore, now included in npm package
|
|
119
|
+
- **CLI commands work**: Fixed npm publishing issue that broke CLI
|
|
120
|
+
- **Type safety**: Fixed LSP errors, obsidian-vault import path, cron types
|
|
121
|
+
|
|
122
|
+
### Refactored - Code Cleanup
|
|
123
|
+
- **Consolidated estimateTokens**: Moved from 5 files to single source (`core/context/context-window.ts`)
|
|
124
|
+
- **Consolidated MemoryDiff**: Moved from 2 files to `core/snapshots/comparison.ts`
|
|
125
|
+
- **Removed stubs**: Deleted `core/autosave.ts`, `core/external-folder/`, `core/config.js`
|
|
126
|
+
- **Implemented placeholders**: `readFromVault()` in obsidian-vault now functional
|
|
127
|
+
|
|
128
|
+
### Refactored - Legacy Removal
|
|
129
|
+
- **Removed hooks/**: No longer needed (add-mcp handles installation)
|
|
130
|
+
- **Removed install scripts**: `bin/install-claude-code.sh`, `bin/install-opencode.sh` deleted
|
|
131
|
+
- **Removed config/hooks/**: Hook config files for Claude Code, Cursor, OpenCode, Windsurf deleted
|
|
132
|
+
- **Removed unused config files**: 10+ unused JSON configs deleted (mcp.json, plugin.json, etc.)
|
|
133
|
+
- **Removed core/adapters/scripts/**: Legacy adapter install scripts deleted
|
|
134
|
+
|
|
135
|
+
### Refactored - MD Docs Cleanup
|
|
136
|
+
- **Removed from core/commands/**: 11 .md files deleted (docs belong in README/CHANGELOG)
|
|
137
|
+
- **Updated package.json**: Removed explicit .md file entries from files array
|
|
138
|
+
|
|
139
|
+
## [1.1.6] - 2026-04-13
|
|
140
|
+
|
|
141
|
+
### Fixed - MCP HTTP Transport Migration
|
|
142
|
+
- **Migrated MCP HTTP from SSE to Streamable HTTP**: The deprecated SSE transport wasn't working. Now uses `StreamableHTTPServerTransport` from the MCP SDK with proper session handling.
|
|
143
|
+
|
|
144
|
+
### Fixed - Database Schema Migrations
|
|
145
|
+
- Added `session_summaries` table
|
|
146
|
+
- Added `memory_associations.metadata` column
|
|
147
|
+
- Added `memories_fts.summary` column (recreates FTS table)
|
|
148
|
+
|
|
149
|
+
### Added - QMD Dependency
|
|
150
|
+
- Added `qmd` as bundled dependency
|
|
151
|
+
|
|
5
152
|
## [1.1.5] - 2026-04-11
|
|
6
153
|
|
|
7
154
|
### Added - Release Prep Enhancements
|
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# Squish -
|
|
1
|
+
# Squish - Memory Runtime for AI Agents
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/squish-memory)
|
|
4
4
|
[](https://www.npmjs.com/package/squish-memory)
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
6
|
[](https://www.typescriptlang.org/)
|
|
7
7
|
|
|
8
|
-
**
|
|
8
|
+
**Your agent forgets. Squish fixes that.** It auto-captures useful context, derives durable beliefs like decisions and constraints, and restores that context through CLI, MCP, and a local web UI.
|
|
9
9
|
|
|
10
10
|
> Squish does not have a crypto token, has no token launch planned, and nobody is authorized to launch one on behalf of the project.
|
|
11
11
|
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
bun add squish-memory
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
## Why
|
|
16
|
+
## Why Squish
|
|
17
17
|
|
|
18
18
|
| Without Squish | With Squish |
|
|
19
19
|
|----------------|-------------|
|
|
@@ -22,83 +22,93 @@ bun add squish-memory
|
|
|
22
22
|
| No project awareness | Builds understanding over time |
|
|
23
23
|
| Can't track preferences | Adapts to your style |
|
|
24
24
|
|
|
25
|
-
##
|
|
25
|
+
## What It Does
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
Squish is a forward-only memory runtime for agents:
|
|
28
|
+
|
|
29
|
+
- **Auto-capture** stores durable signal without relying on the model to remember to save it.
|
|
30
|
+
- **Belief derivation** turns memories into decisions, constraints, and preferences that can change future behavior.
|
|
31
|
+
- **Context restore** gives a restarted agent the relevant state instead of a cold start.
|
|
32
|
+
- **Inspection surfaces** let you see what was stored, what belief was derived, and why it was injected back.
|
|
33
|
+
|
|
34
|
+
Under the hood, Squish uses a hybrid memory pipeline for signal quality, persistence, and wake-up continuity:
|
|
28
35
|
|
|
29
36
|
```
|
|
30
|
-
User Action ──►
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
│
|
|
36
|
-
Agent Context
|
|
37
|
+
User Action ──► Signal Distillation ──► Write Gate ──► Session Working Set
|
|
38
|
+
│
|
|
39
|
+
├─ Durable Distilled Memory
|
|
40
|
+
├─ Raw Fallback Snapshot
|
|
41
|
+
└─ SQLite/Postgres + Hybrid Retrieval
|
|
37
42
|
```
|
|
38
43
|
|
|
39
|
-
- **
|
|
40
|
-
- **
|
|
44
|
+
- **Signal distillation**: Squish suppresses noisy output, keeps session-only context local, and only promotes durable signal.
|
|
45
|
+
- **Session working set**: Active files, recent commands, failures, hypotheses, active places, and small graph cues are compacted for the next wake-up.
|
|
46
|
+
- **Places**: Durable memories are routed into spatial buckets like `WIP`, `Sandbox`, `Board`, and `Ref` for segmented retrieval.
|
|
47
|
+
- **Graph enrichment**: Durable memories strengthen entity and relationship structure used by retrieval scoring.
|
|
48
|
+
- **Durable memory**: Stable facts, corrections, decisions, and fixes are stored for long-term retrieval.
|
|
49
|
+
- **Raw fallback**: Nuance-sensitive output can keep an internal raw artifact for inspection without polluting normal context.
|
|
41
50
|
|
|
42
51
|
## Quick Start
|
|
43
52
|
|
|
44
53
|
### Install with add-mcp (Recommended)
|
|
45
|
-
One command installs
|
|
54
|
+
One command installs Squish into Claude Code, OpenCode, Cursor, VS Code, Codex, and other MCP-capable clients:
|
|
46
55
|
|
|
47
56
|
```bash
|
|
48
57
|
npx add-mcp squish-memory
|
|
49
58
|
```
|
|
50
59
|
|
|
51
|
-
Or
|
|
60
|
+
Or install the package directly:
|
|
52
61
|
|
|
53
62
|
```bash
|
|
54
63
|
bun add squish-memory
|
|
55
64
|
```
|
|
56
65
|
|
|
57
|
-
|
|
58
|
-
# Store a memory
|
|
59
|
-
squish remember "User prefers TypeScript over JavaScript"
|
|
60
|
-
|
|
61
|
-
# Save a quick note
|
|
62
|
-
squish note "Revisit caching strategy after launch"
|
|
66
|
+
New installs should work on first run with the current schema. If you are upgrading an older local install, use `squish doctor --migrate` to repair it forward.
|
|
63
67
|
|
|
64
|
-
|
|
65
|
-
squish learn observation "Updated auth flow" --action edit
|
|
68
|
+
Most memory behavior is automatic once Squish is installed. The CLI remains available for explicit saves, inspection, diagnostics, and one-command demos:
|
|
66
69
|
|
|
67
|
-
|
|
68
|
-
|
|
70
|
+
```bash
|
|
71
|
+
# Zero-touch demo: show current project context and derived beliefs
|
|
72
|
+
squish context --json
|
|
69
73
|
|
|
70
|
-
#
|
|
71
|
-
squish
|
|
74
|
+
# Explicit save when you want to pin something intentionally
|
|
75
|
+
squish remember "We chose PostgreSQL for team mode" --type decision
|
|
72
76
|
|
|
73
|
-
#
|
|
74
|
-
squish
|
|
75
|
-
squish context
|
|
77
|
+
# Inspect why a memory exists and which beliefs it supports
|
|
78
|
+
squish inspect <memory-id> --json
|
|
76
79
|
|
|
77
|
-
#
|
|
78
|
-
squish
|
|
80
|
+
# Repair an older install forward if local schema drifted
|
|
81
|
+
squish doctor --json --migrate
|
|
79
82
|
```
|
|
80
83
|
|
|
81
|
-
Or use
|
|
84
|
+
Or use the other shipped surfaces directly:
|
|
82
85
|
|
|
83
86
|
```bash
|
|
84
|
-
#
|
|
85
|
-
|
|
87
|
+
# MCP health check / manual startup surface
|
|
88
|
+
squish-mcp --health
|
|
86
89
|
|
|
87
|
-
#
|
|
88
|
-
|
|
90
|
+
# Local web UI
|
|
91
|
+
squish run web
|
|
89
92
|
```
|
|
90
93
|
|
|
91
94
|
## Features
|
|
92
95
|
|
|
93
96
|
### Memory Intelligence
|
|
94
97
|
- Auto-detects "remember this", "important", corrections
|
|
98
|
+
- Distills noisy tool output before durable writes
|
|
99
|
+
- Splits events into discarded, session-only, durable, and durable-with-raw-fallback paths
|
|
95
100
|
- Handles contradictions when facts change
|
|
96
101
|
- Temporal facts with expiration ("until January")
|
|
97
102
|
- Confidence scoring for each memory
|
|
98
|
-
- **
|
|
103
|
+
- **Memory Runtime**: Hot/cold memory lifecycle with automatic decay (hot=active, cold=archived)
|
|
99
104
|
- **Graph-boosted retrieval**: associations between memories boost relevance
|
|
105
|
+
- **Belief System**: Derived semantic layer - decisions, preferences, constraints extracted from memories
|
|
106
|
+
- **Persistent Hot Cache**: Karpathy-style wiki layer that survives restarts (not just session)
|
|
107
|
+
- **Scheduler Resilience**: Jobs catch up after machine sleep/wake - no missed maintenance
|
|
100
108
|
|
|
101
109
|
### Retrieval Quality
|
|
110
|
+
- Session wake-up uses compacted working-set context before broad recall
|
|
111
|
+
- Place context remains attached to retrieved memories and can shape context selection
|
|
102
112
|
- Hybrid search: semantic + keyword (BM25) with Reciprocal Rank Fusion
|
|
103
113
|
- Multi-factor ranking: relevance, recency, importance, graph-boost
|
|
104
114
|
- LLM-powered context extraction with Ollama (local)
|
|
@@ -106,46 +116,79 @@ npx squish-memory install-plugin --client=opencode
|
|
|
106
116
|
|
|
107
117
|
### Security & Encryption
|
|
108
118
|
- **Client-side encryption**: AES-256-GCM encryption for sensitive memories
|
|
109
|
-
- **Passphrase management**: `
|
|
110
|
-
-
|
|
119
|
+
- **Passphrase management**: Via `SQUISH_ENCRYPTION_PASSPHRASE` env var (not exposed via MCP)
|
|
120
|
+
- Encryption passphrase configured in `.env` file in data directory
|
|
111
121
|
|
|
112
122
|
### Universal Compatibility
|
|
113
|
-
- **CLI**: `squish
|
|
123
|
+
- **CLI**: `squish remember`, `squish recall`, `squish inspect`, `squish context`, `squish stats`, `squish doctor`
|
|
114
124
|
- **MCP Server**: Works with Claude Code, OpenCode, Cursor, VS Code, OpenClaw
|
|
115
|
-
- **
|
|
125
|
+
- **Web UI**: Inspect memories, projects, and recent observations locally
|
|
116
126
|
- **SQLite**: Local, zero-config
|
|
117
127
|
- **PostgreSQL**: Team mode with Supabase/pgvector
|
|
118
|
-
- **QMD Integration**: Native .md file search via
|
|
119
|
-
|
|
120
|
-
### Current MCP Tools
|
|
121
|
-
- `
|
|
122
|
-
- `
|
|
123
|
-
- `
|
|
124
|
-
- `
|
|
128
|
+
- **QMD Integration**: Native .md file search via @tobilu/qmd npm package
|
|
129
|
+
|
|
130
|
+
### Current MCP Tools (12 tools)
|
|
131
|
+
- `squish_timeline` - 3-layer progressive disclosure
|
|
132
|
+
- `squish_remember` - Store memory or learning (auto-detects type)
|
|
133
|
+
- `squish_recall` - Recall memories by query or retrieve memory by ID
|
|
134
|
+
- `squish_forget` - Delete memory by ID or bulk delete
|
|
135
|
+
- `squish_link` - Manage memory associations
|
|
136
|
+
- `squish_context` - Get project context
|
|
137
|
+
- `squish_health` - Check system health
|
|
138
|
+
- `squish_stats` - Get memory statistics
|
|
139
|
+
- `squish_inspect` - Inspect memory retention
|
|
140
|
+
- `squish_pin` - Pin/unpin memory
|
|
141
|
+
- `squish_recent` - Get recent memories
|
|
142
|
+
- `squish_stale` - Show stale memories
|
|
125
143
|
|
|
126
144
|
## Benchmark Results
|
|
127
145
|
|
|
128
|
-
Real tests using
|
|
146
|
+
Real tests using academic benchmarks with both configurations:
|
|
147
|
+
|
|
148
|
+
### LoCoMo (1540 questions)
|
|
149
|
+
| Configuration | Score | Notes |
|
|
150
|
+
|---------------|-------|-------|
|
|
151
|
+
| **Without LLM** | **65.19%** | Vector-only |
|
|
152
|
+
| With LLM | 67.34% | Vector + LLM extraction |
|
|
153
|
+
| Mem0 | 66.88% | Requires LLM |
|
|
154
|
+
| TrueMemory | 91.5% | Uses LLM |
|
|
155
|
+
|
|
156
|
+
**Squish achieves competitive scores WITHOUT requiring LLM tokens.**
|
|
129
157
|
|
|
158
|
+
#### LoCoMo Breakdown (No LLM)
|
|
159
|
+
| Category | Score |
|
|
160
|
+
|----------|-------|
|
|
161
|
+
| Single-hop | 85.14% |
|
|
162
|
+
| Multi-hop | 47.78% |
|
|
163
|
+
| Temporal | 95.24% |
|
|
164
|
+
| Open-domain | 98.00% |
|
|
165
|
+
| Common-sense | 1.79% |
|
|
166
|
+
|
|
167
|
+
### LongMemEval (100 questions)
|
|
168
|
+
| Configuration | Score | Breakdown |
|
|
169
|
+
|---------------|-------|-----------|
|
|
170
|
+
| **Without LLM** | **67.00%** | Temporal: 85%, Multi-session: 40% |
|
|
171
|
+
| With LLM | 67.00% | Temporal: 85%, Multi-session: 40% |
|
|
172
|
+
|
|
173
|
+
Note: LLM extraction helps during storage but scoring uses retrieved context keyword matching.
|
|
174
|
+
|
|
175
|
+
### Performance
|
|
130
176
|
| Metric | Result |
|
|
131
177
|
|--------|--------|
|
|
132
|
-
| **LoCoMo Score** | **77%** |
|
|
133
178
|
| Embedding Latency | 1-5ms |
|
|
134
179
|
| API Latency | 1-20ms |
|
|
135
180
|
| Max Throughput | 943 ops/sec |
|
|
136
181
|
| Package Size | **283 KB** |
|
|
137
182
|
|
|
138
|
-
###
|
|
139
|
-
|
|
140
|
-
| | Squish | Cloud Memory |
|
|
141
|
-
|--|--------|-------------|
|
|
142
|
-
| **Cost** | $0 | API fees |
|
|
143
|
-
| **Local-first** | Yes | No |
|
|
144
|
-
| **Setup** | 1 command | 3+ steps |
|
|
145
|
-
| **API keys** | None | Required |
|
|
146
|
-
| **LoCoMo** | 77% | 75-81% |
|
|
183
|
+
### Local Runtime Characteristics
|
|
147
184
|
|
|
148
|
-
|
|
185
|
+
| Characteristic | Result |
|
|
186
|
+
|----------------|--------|
|
|
187
|
+
| Default Cost | $0 local runtime |
|
|
188
|
+
| Local-first | Yes |
|
|
189
|
+
| Setup | 1 command |
|
|
190
|
+
| API keys | Not required for the default path |
|
|
191
|
+
| Session continuity | Built in |
|
|
149
192
|
|
|
150
193
|
## Supported Clients
|
|
151
194
|
|
|
@@ -180,9 +223,16 @@ DATABASE_URL=postgresql://user:pass@host/db
|
|
|
180
223
|
- **QMD (Files)**: BM25 + vectors for fast recall
|
|
181
224
|
- **SQLite/PostgreSQL**: ACID-compliant persistent storage
|
|
182
225
|
|
|
226
|
+
### Runtime Pipeline
|
|
227
|
+
- **Signal engine**: classifies captured events as discard, session-only, durable-distilled, or durable-with-raw-fallback
|
|
228
|
+
- **Session working set**: persists active working context, active places, and small graph cues between sessions
|
|
229
|
+
- **Places**: spatially segment durable memory for retrieval and wake-up continuity
|
|
230
|
+
- **Graph**: incrementally enriches durable memories so graph boost applies to cleaner signal
|
|
231
|
+
- **Inspection path**: lets you inspect why a memory was retained and whether a raw fallback artifact exists
|
|
232
|
+
|
|
183
233
|
### Interfaces
|
|
184
|
-
- **
|
|
185
|
-
- **HTTP**:
|
|
234
|
+
- **packages/mcp**: Native agent integration via Model Context Protocol
|
|
235
|
+
- **HTTP**: Streamable HTTP server
|
|
186
236
|
- **CLI**: Shell and scripts
|
|
187
237
|
|
|
188
238
|
### Memory Lifecycle
|
|
@@ -202,24 +252,16 @@ bun run verify:mcp
|
|
|
202
252
|
## Troubleshooting
|
|
203
253
|
|
|
204
254
|
```bash
|
|
205
|
-
#
|
|
206
|
-
|
|
255
|
+
# Repair an older local install forward
|
|
256
|
+
squish doctor --migrate
|
|
207
257
|
|
|
208
|
-
#
|
|
209
|
-
|
|
258
|
+
# Zero-touch runtime check
|
|
259
|
+
squish context --json
|
|
210
260
|
|
|
211
|
-
#
|
|
212
|
-
squish health
|
|
261
|
+
# MCP health check
|
|
262
|
+
squish-mcp --health
|
|
213
263
|
```
|
|
214
264
|
|
|
215
|
-
## CLI Command Families
|
|
216
|
-
|
|
217
|
-
- Setup/runtime: `squish`, `squish config`, `squish install`, `squish run mcp`, `squish run web`
|
|
218
|
-
- Capture/retrieval: `squish remember`, `squish note`, `squish learn`, `squish search`, `squish recall`, `squish recent`
|
|
219
|
-
- Memory management: `squish update`, `squish forget`, `squish pin`, `squish confidence`, `squish tag`, `squish stale`, `squish link`
|
|
220
|
-
- Context/project discovery: `squish context --list-projects`, `squish context`
|
|
221
|
-
- System: `squish health`, `squish stats`
|
|
222
|
-
|
|
223
265
|
## License
|
|
224
266
|
|
|
225
267
|
MIT License. See [LICENSE](LICENSE).
|