squish-memory 1.0.2 → 1.2.0
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 +146 -0
- package/CHANGELOG.md +202 -0
- package/README.md +192 -287
- 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 +46 -0
- package/bin/squish.mjs +33 -0
- package/config/mcp-migration-map.json +1 -6
- package/config/mcp-mode-semantics.json +10 -12
- package/config/mcp-remote-auth.json +3 -26
- package/config/mcp-universal.schema.json +5 -35
- package/config/settings.json +78 -22
- 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/core/algorithms/index.ts +39 -0
- 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/core/embeddings/local-embeddings.ts +12 -0
- 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/core/lib/db-client.ts +168 -0
- package/core/lib/parse-embedding.ts +59 -0
- package/core/lib/schemas.ts +102 -0
- 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/core/memory/index.ts +11 -0
- 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/core/places/index.ts +14 -0
- 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 +581 -0
- package/core/scheduler/heartbeat.ts +91 -0
- package/core/scheduler/index.ts +8 -0
- 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/core/search/index.ts +4 -0
- 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/core/session/index.ts +7 -0
- 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/core/snapshots/cleanup.ts +13 -0
- 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/core/summarization/cleanup.ts +13 -0
- 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/core/utils/vector-operations.ts +135 -0
- package/core/utils/version-management.ts +74 -0
- package/core/worker.ts +324 -0
- package/db/adapter.ts +215 -0
- package/db/bootstrap.ts +1055 -0
- 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/dist/config.d.ts +61 -14
- package/dist/config.js +159 -139
- package/dist/core/adapters/config/claude-code.d.ts +45 -0
- package/dist/core/adapters/config/claude-code.js +113 -0
- package/dist/core/adapters/config/cursor.d.ts +26 -0
- package/dist/core/adapters/config/cursor.js +74 -0
- package/dist/core/adapters/config/opencode.d.ts +23 -0
- package/dist/core/adapters/config/opencode.js +73 -0
- package/dist/core/adapters/config/windsurf.d.ts +26 -0
- package/dist/core/adapters/config/windsurf.js +74 -0
- package/dist/core/adapters/index.d.ts +45 -0
- package/dist/core/adapters/index.js +84 -0
- package/dist/core/adapters/scripts/install-adapter.d.ts +19 -0
- package/dist/core/adapters/scripts/install-adapter.js +149 -0
- package/dist/core/adapters/timeline.d.ts +23 -0
- package/dist/core/adapters/timeline.js +88 -0
- package/dist/core/adapters/types.d.ts +137 -0
- package/dist/core/adapters/types.js +50 -0
- package/dist/core/agent-preferences.d.ts +16 -0
- package/dist/core/agent-preferences.js +124 -0
- package/dist/{algorithms → core/algorithms}/analytics/token-estimator.d.ts +1 -1
- package/dist/{algorithms → core/algorithms}/analytics/token-estimator.js +3 -3
- package/dist/{algorithms → core/algorithms}/detection/semantic-ranker.d.ts +1 -1
- package/dist/{algorithms → core/algorithms}/detection/semantic-ranker.js +1 -1
- package/dist/{algorithms → core/algorithms}/detection/two-stage-detector.d.ts +1 -1
- package/dist/{algorithms → core/algorithms}/detection/two-stage-detector.js +7 -10
- package/dist/{algorithms → core/algorithms}/handlers/approve-merge.js +4 -4
- package/dist/{algorithms → core/algorithms}/handlers/detect-duplicates.js +3 -3
- package/dist/{algorithms → core/algorithms}/handlers/get-stats.js +3 -3
- package/dist/{algorithms → core/algorithms}/handlers/list-proposals.js +3 -3
- package/dist/{algorithms → core/algorithms}/handlers/preview-merge.js +3 -3
- package/dist/{algorithms → core/algorithms}/handlers/reject-merge.js +3 -3
- package/dist/{algorithms → core/algorithms}/handlers/reverse-merge.js +3 -3
- package/dist/core/algorithms/index.d.ts +21 -0
- package/dist/core/algorithms/index.js +26 -0
- package/dist/core/algorithms/operations/cache-maintenance.d.ts +12 -0
- package/dist/core/algorithms/operations/cache-maintenance.js +157 -0
- package/dist/{algorithms → core/algorithms}/safety/safety-checks.d.ts +2 -6
- package/dist/{algorithms → core/algorithms}/strategies/merge-strategies.d.ts +19 -1
- package/dist/{algorithms → core/algorithms}/strategies/merge-strategies.js +74 -123
- package/dist/core/algorithms/types.d.ts +125 -0
- package/dist/core/algorithms/types.js +5 -0
- package/dist/core/associations.d.ts +3 -2
- package/dist/core/associations.js +37 -2
- package/dist/core/autosave.d.ts +19 -0
- package/dist/core/autosave.js +16 -0
- package/dist/core/beliefs/decay.d.ts +27 -0
- package/dist/core/beliefs/decay.js +217 -0
- package/dist/core/beliefs/extractor.d.ts +9 -0
- package/dist/core/beliefs/extractor.js +113 -0
- package/dist/core/beliefs/store.d.ts +46 -0
- package/dist/core/beliefs/store.js +466 -0
- package/dist/core/beliefs/types.d.ts +28 -0
- package/dist/core/beliefs/types.js +2 -0
- package/dist/core/commands/mcp-server.d.ts +2 -0
- package/dist/core/commands/mcp-server.js +6 -0
- package/dist/core/commands/remember.d.ts +24 -0
- package/dist/core/commands/remember.js +144 -0
- package/dist/core/compression.d.ts +45 -0
- package/dist/core/compression.js +160 -0
- package/dist/core/context/agent-context.d.ts +106 -0
- package/dist/core/context/agent-context.js +274 -0
- package/dist/core/{context-paging.d.ts → context/context-paging.d.ts} +2 -12
- package/dist/core/{context-paging.js → context/context-paging.js} +19 -39
- package/dist/core/context/context-window.d.ts +40 -0
- package/dist/core/context/context-window.js +177 -0
- package/dist/core/context/context.js +22 -0
- package/dist/core/embeddings/embeddings.d.ts +29 -0
- package/dist/core/embeddings/embeddings.js +546 -0
- package/dist/core/embeddings/google-multimodal.js +6 -2
- package/dist/core/embeddings/local-embeddings.d.ts +11 -0
- package/dist/core/embeddings/local-embeddings.js +11 -0
- package/dist/core/embeddings/qmd-client.js +1 -1
- package/dist/core/embeddings/transformers-local.d.ts +64 -0
- package/dist/core/embeddings/transformers-local.js +213 -0
- package/dist/core/embeddings.d.ts +1 -28
- package/dist/core/embeddings.js +2 -401
- package/dist/core/error-handling.d.ts +63 -0
- package/dist/core/error-handling.js +173 -0
- package/dist/core/graph/entity-deduplicator.d.ts +24 -0
- package/dist/core/graph/entity-deduplicator.js +183 -0
- package/dist/core/graph/graph-builder.d.ts +46 -0
- package/dist/core/graph/graph-builder.js +174 -0
- package/dist/core/graph/graph-traversal.d.ts +80 -0
- package/dist/core/graph/graph-traversal.js +315 -0
- package/dist/core/graph/index.d.ts +19 -0
- package/dist/core/graph/index.js +13 -0
- package/dist/core/graph/llm-entity-extractor.d.ts +49 -0
- package/dist/core/graph/llm-entity-extractor.js +313 -0
- package/dist/core/graph/multi-hop-retrieval.d.ts +48 -0
- package/dist/core/graph/multi-hop-retrieval.js +215 -0
- package/dist/core/graph/relationship-extractor.d.ts +48 -0
- package/dist/core/graph/relationship-extractor.js +351 -0
- package/dist/core/hooks/agent-hooks.d.ts +83 -0
- package/dist/core/hooks/agent-hooks.js +521 -0
- package/dist/core/hooks/auto-tagger.d.ts +19 -0
- package/dist/core/hooks/auto-tagger.js +155 -0
- package/dist/core/hooks/capture-filter.d.ts +41 -0
- package/dist/core/hooks/capture-filter.js +128 -0
- package/dist/core/hot-cache.d.ts +86 -0
- package/dist/core/hot-cache.js +285 -0
- package/dist/core/index.d.ts +9 -9
- package/dist/core/index.js +9 -12
- package/dist/core/{agent-memory.js → ingestion/agent-memory.js} +5 -7
- package/dist/core/{core-memory.d.ts → ingestion/core-memory.d.ts} +2 -2
- package/dist/core/{core-memory.js → ingestion/core-memory.js} +7 -7
- package/dist/core/ingestion/learnings.d.ts +57 -0
- package/dist/core/ingestion/learnings.js +205 -0
- package/dist/core/ingestion/signal-engine.d.ts +41 -0
- package/dist/core/ingestion/signal-engine.js +201 -0
- package/dist/core/integrations/obsidian-vault.d.ts +31 -0
- package/dist/core/integrations/obsidian-vault.js +156 -0
- package/dist/core/lib/db-client.d.ts +114 -0
- package/dist/core/lib/db-client.js +130 -0
- package/dist/core/lib/parse-embedding.d.ts +9 -0
- package/dist/core/lib/parse-embedding.js +58 -0
- package/dist/core/lib/schemas.d.ts +132 -0
- package/dist/core/lib/schemas.js +87 -0
- package/dist/core/lib/types.d.ts +45 -0
- package/dist/core/lib/types.js +6 -0
- package/dist/core/{utils.d.ts → lib/utils.d.ts} +5 -0
- package/dist/core/lib/utils.js +145 -0
- package/dist/core/lib/validation.d.ts +38 -0
- package/dist/core/lib/validation.js +151 -0
- package/dist/core/lifecycle.d.ts +7 -1
- package/dist/core/lifecycle.js +152 -42
- package/dist/core/logger.d.ts +1 -0
- package/dist/core/logger.js +13 -1
- package/dist/core/mcp/tools.d.ts +0 -2
- package/dist/core/mcp/tools.js +35 -90
- package/dist/core/mcp/types.d.ts +25 -253
- package/dist/core/mcp/types.js +2 -2
- package/dist/core/memory/categorizer.js +2 -0
- package/dist/core/memory/conflict-detector.js +1 -1
- package/dist/core/memory/consolidation.d.ts +1 -10
- package/dist/core/memory/consolidation.js +4 -39
- package/dist/core/memory/context-collector.js +1 -1
- package/dist/core/memory/edit-workflow.js +1 -1
- package/dist/core/memory/entity-extractor.d.ts +4 -0
- package/dist/core/memory/entity-extractor.js +30 -16
- package/dist/core/memory/entity-resolver.js +7 -7
- package/dist/core/memory/explain.d.ts +18 -0
- package/dist/core/memory/explain.js +92 -0
- package/dist/core/memory/fact-deriver.d.ts +31 -0
- package/dist/core/memory/fact-deriver.js +236 -0
- package/dist/core/memory/fact-extractor.js +12 -12
- package/dist/core/memory/feedback-tracker.js +1 -1
- package/dist/core/memory/hooks.d.ts +88 -0
- package/dist/core/memory/hooks.js +174 -0
- package/dist/core/memory/hybrid-retrieval.d.ts +14 -16
- package/dist/core/memory/hybrid-retrieval.js +25 -127
- package/dist/core/memory/hybrid-scorer.js +6 -23
- package/dist/core/memory/hybrid-search.d.ts +9 -11
- package/dist/core/memory/hybrid-search.js +496 -273
- package/dist/core/memory/importance.d.ts +2 -24
- package/dist/core/memory/importance.js +7 -91
- package/dist/core/memory/index.d.ts +1 -0
- package/dist/core/memory/index.js +1 -0
- package/dist/core/memory/loader.d.ts +31 -0
- package/dist/core/memory/loader.js +141 -0
- package/dist/core/memory/markdown/markdown-storage.d.ts +72 -0
- package/dist/core/memory/markdown/markdown-storage.js +243 -0
- package/dist/core/memory/memories.d.ts +23 -19
- package/dist/core/memory/memories.js +243 -228
- package/dist/core/memory/memory-lifecycle.d.ts +8 -0
- package/dist/core/memory/memory-lifecycle.js +47 -0
- package/dist/core/memory/migrate.d.ts +21 -0
- package/dist/core/memory/migrate.js +134 -0
- package/dist/core/memory/normalization.d.ts +7 -0
- package/dist/core/memory/normalization.js +26 -0
- package/dist/core/memory/path-strengthener.d.ts +39 -0
- package/dist/core/memory/path-strengthener.js +150 -0
- package/dist/core/memory/progressive-disclosure.js +1 -1
- package/dist/core/memory/query-processor.js +37 -3
- package/dist/core/memory/query-rewriter.js +9 -9
- package/dist/core/memory/retrieval-feedback.d.ts +70 -0
- package/dist/core/memory/retrieval-feedback.js +213 -0
- package/dist/core/memory/serialization.d.ts +4 -0
- package/dist/core/memory/serialization.js +49 -0
- package/dist/core/memory/stale-cleaner.d.ts +26 -0
- package/dist/core/memory/stale-cleaner.js +97 -0
- package/dist/core/memory/stats.d.ts +15 -0
- package/dist/core/memory/stats.js +69 -13
- package/dist/core/memory/temporal-facts.js +21 -0
- package/dist/core/memory/trigger-detector.d.ts +8 -1
- package/dist/core/memory/trigger-detector.js +42 -5
- package/dist/core/memory/write-gate.js +1 -1
- package/dist/core/places/index.d.ts +14 -0
- package/dist/core/places/index.js +14 -0
- package/dist/core/places/memory-places.d.ts +68 -0
- package/dist/core/places/memory-places.js +261 -0
- package/dist/core/places/places.d.ts +88 -0
- package/dist/core/places/places.js +314 -0
- package/dist/core/places/rules.d.ts +74 -0
- package/dist/core/places/rules.js +240 -0
- package/dist/core/places/walking.d.ts +56 -0
- package/dist/core/places/walking.js +121 -0
- package/dist/core/projects.d.ts +5 -0
- package/dist/core/projects.js +47 -18
- package/dist/core/responses.d.ts +96 -0
- package/dist/core/responses.js +122 -0
- package/dist/core/runtime/trust-report.d.ts +102 -0
- package/dist/core/runtime/trust-report.js +107 -0
- package/dist/core/runtime/trust-state.d.ts +12 -0
- package/dist/core/runtime/trust-state.js +309 -0
- package/dist/core/scheduler/cron-scheduler.d.ts +1 -1
- package/dist/core/scheduler/cron-scheduler.js +193 -10
- package/dist/core/scheduler/index.d.ts +1 -1
- package/dist/core/scheduler/index.js +1 -1
- package/dist/core/scheduler/job-runner.js +2 -2
- package/dist/core/search/conversations.js +40 -42
- package/dist/core/search/entities.js +6 -9
- package/dist/core/search/graph-boost.d.ts +7 -0
- package/dist/core/search/graph-boost.js +23 -0
- package/dist/core/search/qmd-wrapper.d.ts +36 -0
- package/dist/core/search/qmd-wrapper.js +58 -0
- package/dist/core/security/encrypt.d.ts +6 -0
- package/dist/core/security/encrypt.js +47 -0
- package/dist/core/{governance.d.ts → security/governance.d.ts} +6 -1
- package/dist/core/security/governance.js +79 -0
- package/dist/core/session/auto-load.js +34 -9
- package/dist/core/session/entity-tracker.d.ts +62 -0
- package/dist/core/session/entity-tracker.js +287 -0
- package/dist/core/session/index.d.ts +1 -1
- package/dist/core/session/index.js +1 -1
- package/dist/core/session/reference-resolver.d.ts +26 -0
- package/dist/core/session/reference-resolver.js +121 -0
- package/dist/core/{session-hooks → session}/self-iteration-job.d.ts +15 -0
- package/dist/core/{session-hooks → session}/self-iteration-job.js +195 -90
- package/dist/core/session/working-set.d.ts +50 -0
- package/dist/core/session/working-set.js +212 -0
- package/dist/core/snapshots/creation.d.ts +2 -8
- package/dist/core/snapshots/creation.js +3 -12
- package/dist/core/{cache.js → storage/cache.js} +2 -2
- package/dist/core/utils/memory-operations.js +1 -1
- package/dist/core/utils/summarization-helpers.d.ts +0 -4
- package/dist/core/utils/summarization-helpers.js +1 -6
- package/dist/core/utils/vector-operations.d.ts +71 -0
- package/dist/core/utils/vector-operations.js +129 -0
- package/dist/db/adapter.d.ts +3 -3
- package/dist/db/adapter.js +99 -88
- package/dist/db/bootstrap.d.ts +2 -0
- package/dist/db/bootstrap.js +921 -674
- package/dist/{drizzle → db/drizzle}/schema-sqlite.d.ts +775 -25
- package/dist/{drizzle → db/drizzle}/schema-sqlite.js +170 -24
- package/dist/{drizzle → db/drizzle}/schema.d.ts +731 -32
- package/dist/{drizzle → db/drizzle}/schema.js +192 -32
- package/dist/db/drizzle.config.d.ts +3 -0
- package/dist/db/drizzle.config.js +12 -0
- package/dist/db/index.d.ts +1 -5
- package/dist/db/index.js +51 -8
- package/dist/db/migrations/associations.d.ts +6 -0
- package/dist/db/migrations/associations.js +29 -0
- package/dist/db/migrations/beliefs.d.ts +10 -0
- package/dist/db/migrations/beliefs.js +76 -0
- package/dist/db/migrations/core-memory.d.ts +6 -0
- package/dist/db/migrations/core-memory.js +29 -0
- package/dist/db/migrations/fts.d.ts +6 -0
- package/dist/db/migrations/fts.js +52 -0
- package/dist/db/migrations/index.d.ts +25 -0
- package/dist/db/migrations/index.js +51 -0
- package/dist/db/migrations/indexes.d.ts +6 -0
- package/dist/db/migrations/indexes.js +30 -0
- package/dist/db/migrations/learnings.d.ts +7 -0
- package/dist/db/migrations/learnings.js +26 -0
- package/dist/db/migrations/maintenance.d.ts +6 -0
- package/dist/db/migrations/maintenance.js +61 -0
- package/dist/db/migrations/memories.d.ts +7 -0
- package/dist/db/migrations/memories.js +16 -0
- package/dist/db/migrations/memory-places.d.ts +6 -0
- package/dist/db/migrations/memory-places.js +29 -0
- package/dist/db/migrations/places.d.ts +6 -0
- package/dist/db/migrations/places.js +43 -0
- package/dist/db/migrations/projects.d.ts +3 -0
- package/dist/db/migrations/projects.js +13 -0
- package/dist/db/migrations/tier-conversion.d.ts +7 -0
- package/dist/db/migrations/tier-conversion.js +20 -0
- package/dist/db/neon.d.ts +8 -0
- package/dist/db/neon.js +20 -0
- package/dist/db/schema/beliefs.d.ts +9 -0
- package/dist/db/schema/beliefs.js +46 -0
- package/dist/db/schema/generator.d.ts +38 -0
- package/dist/db/schema/generator.js +108 -0
- package/dist/db/schema/index.d.ts +39 -0
- package/dist/db/schema/index.js +51 -0
- package/dist/db/schema/learnings.d.ts +7 -0
- package/dist/db/schema/learnings.js +30 -0
- package/dist/db/schema/memories.d.ts +7 -0
- package/dist/db/schema/memories.js +81 -0
- package/dist/db/schema/projects.d.ts +4 -0
- package/dist/db/schema/projects.js +31 -0
- package/dist/db/schema/tables/context-sessions.d.ts +9 -0
- package/dist/db/schema/tables/context-sessions.js +37 -0
- package/dist/db/schema/tables/conversations.d.ts +9 -0
- package/dist/db/schema/tables/conversations.js +47 -0
- package/dist/db/schema/tables/core-memory.d.ts +9 -0
- package/dist/db/schema/tables/core-memory.js +41 -0
- package/dist/db/schema/tables/entities.d.ts +9 -0
- package/dist/db/schema/tables/entities.js +39 -0
- package/dist/db/schema/tables/entity-relations.d.ts +9 -0
- package/dist/db/schema/tables/entity-relations.js +31 -0
- package/dist/db/schema/tables/learnings.d.ts +9 -0
- package/dist/db/schema/tables/learnings.js +66 -0
- package/dist/db/schema/tables/memories.d.ts +9 -0
- package/dist/db/schema/tables/memories.js +161 -0
- package/dist/db/schema/tables/memory-associations.d.ts +9 -0
- package/dist/db/schema/tables/memory-associations.js +39 -0
- package/dist/db/schema/tables/memory-hash-cache.d.ts +9 -0
- package/dist/db/schema/tables/memory-hash-cache.js +29 -0
- package/dist/db/schema/tables/memory-merge-history.d.ts +9 -0
- package/dist/db/schema/tables/memory-merge-history.js +33 -0
- package/dist/db/schema/tables/memory-merge-proposals.d.ts +9 -0
- package/dist/db/schema/tables/memory-merge-proposals.js +39 -0
- package/dist/db/schema/tables/messages.d.ts +9 -0
- package/dist/db/schema/tables/messages.js +41 -0
- package/dist/db/schema/tables/namespaces.d.ts +9 -0
- package/dist/db/schema/tables/namespaces.js +37 -0
- package/dist/db/schema/tables/projects.d.ts +9 -0
- package/dist/db/schema/tables/projects.js +31 -0
- package/dist/db/schema/tables/users.d.ts +9 -0
- package/dist/db/schema/tables/users.js +27 -0
- package/dist/db/schema.d.ts +1 -1
- package/dist/db/schema.js +2 -2
- package/dist/db/supabase.d.ts +9 -0
- package/dist/db/supabase.js +24 -0
- package/dist/packages/mcp/src/index.d.ts +3 -0
- package/dist/packages/mcp/src/index.js +733 -0
- package/mcp.json.example +8 -0
- package/package.json +132 -173
- 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 +877 -0
- package/packages/mcp/tsconfig.json +20 -0
- package/skills/squish-memory/SKILL.md +107 -114
- package/skills/squish-memory/install.sh +3 -3
- package/skills/squish-memory/{claude-desktop.json → references/claude-desktop.json} +12 -12
- package/skills/squish-memory/{openclaw.json → references/openclaw.json} +13 -13
- package/skills/squish-memory/{opencode.json → references/opencode.json} +14 -14
- package/.claude-plugin/marketplace.json +0 -20
- package/.claude-plugin/plugin.json +0 -32
- package/.env.mcp.example +0 -60
- package/.mcp.json +0 -11
- package/QUICK-START.md +0 -71
- package/bin/squish-add.mjs +0 -32
- package/bin/squish-rm.mjs +0 -21
- package/commands/context-paging.md +0 -51
- package/commands/context-status.md +0 -22
- package/commands/context.md +0 -5
- package/commands/core-memory.md +0 -56
- package/commands/health.md +0 -5
- package/commands/init.md +0 -39
- package/commands/merge.md +0 -113
- package/commands/observe.md +0 -5
- package/commands/recall.md +0 -5
- package/commands/remember.md +0 -11
- package/commands/search.md +0 -10
- package/config/mcp-cli-fallback-policy.json +0 -22
- package/config/mcp.json +0 -38
- package/config/plugin-manifest.json +0 -152
- package/config/plugin-manifest.schema.json +0 -244
- package/config/remote-memory-policy.json +0 -32
- package/dist/api/web/index.d.ts +0 -3
- package/dist/api/web/index.js +0 -4
- package/dist/api/web/web-server.d.ts +0 -3
- package/dist/api/web/web-server.js +0 -6
- package/dist/api/web/web.d.ts +0 -4
- package/dist/api/web/web.js +0 -639
- package/dist/commands/managed-sync.d.ts +0 -10
- package/dist/commands/managed-sync.js +0 -64
- package/dist/commands/mcp-server.d.ts +0 -3
- package/dist/commands/mcp-server.js +0 -393
- package/dist/core/context.js +0 -24
- package/dist/core/governance.js +0 -64
- package/dist/core/local-embeddings.d.ts +0 -6
- package/dist/core/local-embeddings.js +0 -20
- 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/observations.d.ts +0 -26
- package/dist/core/observations.js +0 -110
- package/dist/core/requirements.d.ts +0 -20
- package/dist/core/requirements.js +0 -35
- package/dist/core/search/qmd-search.d.ts +0 -61
- package/dist/core/search/qmd-search.js +0 -178
- package/dist/core/snapshots.d.ts +0 -29
- package/dist/core/snapshots.js +0 -220
- package/dist/core/sync/qmd-sync.d.ts +0 -106
- package/dist/core/sync/qmd-sync.js +0 -213
- package/dist/core/utils.js +0 -74
- package/dist/index.d.ts +0 -19
- package/dist/index.js +0 -997
- 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/hooks/hooks.json +0 -52
- package/hooks/post-tool-use.js +0 -26
- package/hooks/session-end.js +0 -28
- package/hooks/session-start.js +0 -33
- package/hooks/user-prompt-submit.js +0 -26
- package/hooks/utils.js +0 -153
- package/npx-installer.js +0 -208
- package/packages/plugin-claude-code/README.md +0 -73
- package/packages/plugin-claude-code/dist/plugin-wrapper.d.ts +0 -35
- package/packages/plugin-claude-code/dist/plugin-wrapper.js +0 -191
- package/packages/plugin-claude-code/package.json +0 -31
- package/packages/plugin-openclaw/README.md +0 -70
- package/packages/plugin-openclaw/dist/index.d.ts +0 -49
- package/packages/plugin-openclaw/dist/index.js +0 -262
- package/packages/plugin-openclaw/openclaw.plugin.json +0 -94
- package/packages/plugin-openclaw/package.json +0 -31
- package/packages/plugin-opencode/install.mjs +0 -217
- package/packages/plugin-opencode/package.json +0 -21
- package/plugin.json +0 -32
- package/scripts/build-release.sh +0 -36
- package/scripts/check-secrets.js +0 -132
- package/scripts/db/check-db.mjs +0 -88
- package/scripts/db/fix-all-columns.mjs +0 -52
- package/scripts/db/fix-schema-all.mjs +0 -55
- package/scripts/db/fix-schema-full.mjs +0 -46
- package/scripts/db/fix-schema.mjs +0 -38
- package/scripts/db/init-db.mjs +0 -13
- package/scripts/db/recreate-db.mjs +0 -14
- package/scripts/generate-mcp.mjs +0 -264
- package/scripts/github-release.sh +0 -77
- package/scripts/init-dirs.mjs +0 -13
- package/scripts/install-interactive.mjs +0 -677
- package/scripts/install-mcp.mjs +0 -116
- package/scripts/install-plugin.mjs +0 -415
- package/scripts/install-web.sh +0 -120
- package/scripts/install.mjs +0 -340
- package/scripts/openclaw-bootstrap.mjs +0 -127
- package/scripts/package-release.sh +0 -71
- package/scripts/remote-preflight.mjs +0 -62
- package/scripts/squish-fallback.mjs +0 -132
- package/scripts/test/test-all-systems.mjs +0 -139
- package/scripts/test/test-memory-system.mjs +0 -139
- package/scripts/test/test-v0.5.0.mjs +0 -210
- package/scripts/test-interactive.mjs +0 -131
- package/scripts/verify-mcp.mjs +0 -214
- package/skills/memory-guide/SKILL.md +0 -332
- package/skills/squish-cli/SKILL.md +0 -240
- package/skills/squish-mcp/SKILL.md +0 -355
- package/skills/squish-memory/install.mjs +0 -335
- package/skills/squish-memory/skill.json +0 -32
- /package/dist/{algorithms → core/algorithms}/detection/hash-filters.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/detection/hash-filters.js +0 -0
- /package/dist/{algorithms → core/algorithms}/handlers/approve-merge.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/handlers/detect-duplicates.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/handlers/get-stats.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/handlers/list-proposals.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/handlers/preview-merge.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/handlers/reject-merge.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/handlers/reverse-merge.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/safety/safety-checks.js +0 -0
- /package/dist/{algorithms → core/algorithms}/utils/response-builder.d.ts +0 -0
- /package/dist/{algorithms → core/algorithms}/utils/response-builder.js +0 -0
- /package/dist/core/{context.d.ts → context/context.d.ts} +0 -0
- /package/dist/core/{agent-memory.d.ts → ingestion/agent-memory.d.ts} +0 -0
- /package/dist/core/{privacy.d.ts → security/privacy.d.ts} +0 -0
- /package/dist/core/{privacy.js → security/privacy.js} +0 -0
- /package/dist/core/{secret-detector.d.ts → security/secret-detector.d.ts} +0 -0
- /package/dist/core/{secret-detector.js → security/secret-detector.js} +0 -0
- /package/dist/core/{session-hooks → session}/session-hooks.d.ts +0 -0
- /package/dist/core/{session-hooks → session}/session-hooks.js +0 -0
- /package/dist/core/{cache.d.ts → storage/cache.d.ts} +0 -0
- /package/dist/core/{database.d.ts → storage/database.d.ts} +0 -0
- /package/dist/core/{database.js → storage/database.js} +0 -0
package/.env.example
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# Squish Environment Configuration
|
|
2
|
+
# Copy this file to .env and customize as needed
|
|
3
|
+
|
|
4
|
+
# =============================================================================
|
|
5
|
+
# MODE (default: local)
|
|
6
|
+
# =============================================================================
|
|
7
|
+
# local - SQLite database, TF-IDF embeddings (no API key needed)
|
|
8
|
+
# remote - PostgreSQL + Redis, provider-backed embeddings
|
|
9
|
+
|
|
10
|
+
SQUISH_MODE=local
|
|
11
|
+
|
|
12
|
+
# =============================================================================
|
|
13
|
+
# DATABASE (remote mode only)
|
|
14
|
+
# =============================================================================
|
|
15
|
+
DATABASE_URL=postgres://squish:squish_dev@localhost:5432/squish
|
|
16
|
+
REDIS_URL=redis://localhost:6379
|
|
17
|
+
|
|
18
|
+
# =============================================================================
|
|
19
|
+
# LOCAL MODE DATA DIRECTORY
|
|
20
|
+
# =============================================================================
|
|
21
|
+
SQUISH_DATA_DIR=./.squish
|
|
22
|
+
|
|
23
|
+
# =============================================================================
|
|
24
|
+
# MCP SERVER
|
|
25
|
+
# =============================================================================
|
|
26
|
+
SQUISH_MCP_PORT=8767
|
|
27
|
+
SQUISH_MCP_SERVER_ENABLED=false
|
|
28
|
+
|
|
29
|
+
# CORS (comma-separated origins, * wildcard for port)
|
|
30
|
+
# SQUISH_CORS_ORIGINS=http://localhost:3000,http://127.0.0.1:8080
|
|
31
|
+
|
|
32
|
+
# =============================================================================
|
|
33
|
+
# EMBEDDINGS PROVIDER
|
|
34
|
+
# =============================================================================
|
|
35
|
+
# Options: local | openai | ollama | google | none | auto
|
|
36
|
+
# local = TF-IDF (no API key needed)
|
|
37
|
+
# auto = Try OpenAI > Ollama > Google > local fallback
|
|
38
|
+
SQUISH_EMBEDDINGS_PROVIDER=local
|
|
39
|
+
|
|
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>
|
|
55
|
+
|
|
56
|
+
# Google Cloud
|
|
57
|
+
# GOOGLE_CLOUD_PROJECT=your-project-id
|
|
58
|
+
# GOOGLE_CLOUD_LOCATION=us-central1
|
|
59
|
+
# GOOGLE_CLOUD_API_KEY=your-api-key
|
|
60
|
+
# Or use service account:
|
|
61
|
+
# GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
|
|
62
|
+
# SQUISH_GOOGLE_EMBEDDING_MODEL=<google-embedding-model>
|
|
63
|
+
|
|
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>
|
|
75
|
+
|
|
76
|
+
# =============================================================================
|
|
77
|
+
# QMD (local markdown search)
|
|
78
|
+
# =============================================================================
|
|
79
|
+
SQUISH_QMD_ENABLED=false
|
|
80
|
+
# SQUISH_QMD_COLLECTIONS=./qmd-collections
|
|
81
|
+
# SQUISH_QMD_FALLBACK=hybrid
|
|
82
|
+
|
|
83
|
+
# =============================================================================
|
|
84
|
+
# LIFECYCLE & MEMORY
|
|
85
|
+
# =============================================================================
|
|
86
|
+
SQUISH_LIFECYCLE_ENABLED=true
|
|
87
|
+
SQUISH_SUMMARIZATION_ENABLED=true
|
|
88
|
+
SQUISH_GOVERNANCE_ENABLED=true
|
|
89
|
+
|
|
90
|
+
# Memory tier decay (v1.1.0+)
|
|
91
|
+
# Threshold for tier demotion: memories below this score get demoted (default: 0.1)
|
|
92
|
+
# SQUISH_DECAY_THRESHOLD=0.1
|
|
93
|
+
# Decay job cron schedule (default: hourly)
|
|
94
|
+
# SQUISH_LIFECYCLE_DECAY_CRON=0 * * * *
|
|
95
|
+
|
|
96
|
+
# =============================================================================
|
|
97
|
+
# ENCRYPTION (v1.1.0+)
|
|
98
|
+
# =============================================================================
|
|
99
|
+
# Client-side AES-256-GCM encryption for memory content
|
|
100
|
+
# Set passphrase to enable encryption (requires existing memories to be re-encrypted)
|
|
101
|
+
# SQUISH_ENCRYPTION_PASSPHRASE=your-secure-passphrase
|
|
102
|
+
|
|
103
|
+
# Core memory limits (v0.9.2+)
|
|
104
|
+
# SQUISH_CORE_MEMORY_TOTAL_BYTES=16384
|
|
105
|
+
# SQUISH_CORE_MEMORY_SECTION_BYTES=4096
|
|
106
|
+
|
|
107
|
+
# =============================================================================
|
|
108
|
+
# SUPABASE / NEON (v1.1.0+)
|
|
109
|
+
# =============================================================================
|
|
110
|
+
# Remote PostgreSQL backend (use either Supabase OR Neon, not both)
|
|
111
|
+
# SUPABASE_URL=https://your-project.supabase.co
|
|
112
|
+
# SUPABASE_SERVICE_KEY=your-service-key
|
|
113
|
+
# NEON_PROJECT_ID=your-neon-project-id
|
|
114
|
+
# NEON_SERVICE_KEY=your-service-key
|
|
115
|
+
|
|
116
|
+
# =============================================================================
|
|
117
|
+
# GRAPH BOOST (v1.1.0+)
|
|
118
|
+
# =============================================================================
|
|
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
|
|
124
|
+
|
|
125
|
+
# =============================================================================
|
|
126
|
+
# MANAGED MODE (Squish Cloud)
|
|
127
|
+
# =============================================================================
|
|
128
|
+
# SQUISH_MANAGED_MODE=false
|
|
129
|
+
# SQUISH_MANAGED_API_URL=https://api.squish.dev
|
|
130
|
+
# SQUISH_MANAGED_API_KEY=your-api-key
|
|
131
|
+
|
|
132
|
+
# =============================================================================
|
|
133
|
+
# REMOTE AUTH
|
|
134
|
+
# =============================================================================
|
|
135
|
+
# Token-based auth (primary)
|
|
136
|
+
# SQUISH_REMOTE_TOKEN=
|
|
137
|
+
|
|
138
|
+
# OAuth (optional)
|
|
139
|
+
# SQUISH_OAUTH_AUTH_URL=
|
|
140
|
+
# SQUISH_OAUTH_TOKEN_URL=
|
|
141
|
+
# SQUISH_OAUTH_CLIENT_ID=
|
|
142
|
+
|
|
143
|
+
# =============================================================================
|
|
144
|
+
# OPENCLAW GATEWAY
|
|
145
|
+
# =============================================================================
|
|
146
|
+
OPENCLAW_GATEWAY_ENABLED=false
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,208 @@
|
|
|
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
|
+
|
|
152
|
+
## [1.1.5] - 2026-04-11
|
|
153
|
+
|
|
154
|
+
### Added - Release Prep Enhancements
|
|
155
|
+
- **New environment variables**: SQUISH_ENCRYPTION_PASSPHRASE, SQUISH_DECAY_THRESHOLD, SQUISH_LIFECYCLE_DECAY_CRON, SUPABASE_URL, SUPABASE_SERVICE_KEY, NEON_PROJECT_ID, NEON_SERVICE_KEY, SQUISH_WEIGHT_GRAPH_BOOST
|
|
156
|
+
- **PostgreSQL schema**: Added memory_associations, namespaces, and maintenance_jobs tables for full parity with SQLite
|
|
157
|
+
- **Release workflow**: Fixed test step to skip when no tests configured
|
|
158
|
+
|
|
159
|
+
### Added - Wiki Storage
|
|
160
|
+
- **Memory storage module**: New core/memory/markdown/markdown-storage.ts for memory file storage
|
|
161
|
+
- **Memory hooks**: New core/memory/hooks.ts for memory lifecycle hooks
|
|
162
|
+
|
|
163
|
+
### Changed - Version Bump
|
|
164
|
+
- Updated all version references from 1.1.0 to 1.1.5
|
|
165
|
+
|
|
166
|
+
## [1.1.0] - 2026-03-28
|
|
167
|
+
|
|
168
|
+
### Changed - Launch Surface Cleanup
|
|
169
|
+
- Removed legacy CLI commands `observe` and `projects`
|
|
170
|
+
- Removed legacy MCP tools `squish_observe` and `squish_projects`
|
|
171
|
+
- `squish learn` is now the single capture path for `success`, `failure`, `fix`, and `observation`
|
|
172
|
+
- `squish context --list-projects` is now the single project discovery path
|
|
173
|
+
- Launch docs and help now reflect the final 18-tool MCP surface
|
|
174
|
+
|
|
175
|
+
## [1.1.0-enhanced] - 2026-03-27
|
|
176
|
+
|
|
177
|
+
### Added - Security & Encryption
|
|
178
|
+
- **Client-side encryption**: AES-256-GCM encryption for sensitive memories
|
|
179
|
+
- **Optional encryption**: Controlled via `SQUISH_ENCRYPTION_PASSPHRASE` env var
|
|
180
|
+
- **Encryption MCP tools**:
|
|
181
|
+
- `squish_set_passphrase`: Set encryption passphrase (writes to `.squish/.env`)
|
|
182
|
+
- `squish_rotate_key`: Rotate passphrase and re-encrypt all memories
|
|
183
|
+
- **New schema columns**: `encrypted_content`, `encryption_nonce`, `is_encrypted`, `status`
|
|
184
|
+
|
|
185
|
+
### Added - Graph-Boosted Retrieval
|
|
186
|
+
- **Graph associations**: Memories linked by coactivation count
|
|
187
|
+
- **Boost computation**: `weight * coactivationCount` per association
|
|
188
|
+
- **Hybrid search integration**: Graph boost added to RRF scoring
|
|
189
|
+
- **Configurable weight**: `SQUISH_WEIGHT_GRAPH_BOOST` (default: 1.5)
|
|
190
|
+
|
|
191
|
+
### Added - Memory Lifecycle
|
|
192
|
+
- **Decay scheduler**: Automatic tier promotion/demotion based on importance
|
|
193
|
+
- **Tier system**: hot → warm → cold → expired
|
|
194
|
+
- **Cron-based**: Configurable via `SQUISH_LIFECYCLE_DECAY_CRON`
|
|
195
|
+
- **New schema columns**: `status`, `decay_rate`, `last_decay_at`
|
|
196
|
+
|
|
197
|
+
### Added - Supabase Backend Support
|
|
198
|
+
- **PostgreSQL via Supabase**: New backend option
|
|
199
|
+
- **Auto-detection**: Uses Supabase when `SUPABASE_URL` and `SUPABASE_SERVICE_KEY` are set
|
|
200
|
+
- **Drizzle ORM**: Full compatibility with existing queries
|
|
201
|
+
|
|
202
|
+
### Changed - Memory Types
|
|
203
|
+
- Replaced `jot` type with `note`
|
|
204
|
+
- Added `reflection` type
|
|
205
|
+
- Updated categorizer, merge strategies, and two-stage detector
|
|
206
|
+
|
|
5
207
|
## [1.0.0] - 2026-03-17
|
|
6
208
|
|
|
7
209
|
### 🚀 Major Release - Universal Plugin Architecture
|