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
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FTS (Full-Text Search) table migrations
|
|
3
|
+
*/
|
|
4
|
+
import { logger } from '../../core/logger.js';
|
|
5
|
+
export async function runFtsMigrations(sqlite) {
|
|
6
|
+
const ftsTableCheck = sqlite.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='memories_fts'").get();
|
|
7
|
+
if (!ftsTableCheck)
|
|
8
|
+
return;
|
|
9
|
+
const ftsInfo = sqlite.prepare("PRAGMA table_info(memories_fts)").all();
|
|
10
|
+
const existingFtsColumns = new Set(ftsInfo.map(col => col.name));
|
|
11
|
+
if (!existingFtsColumns.has('summary') && existingFtsColumns.has('tags')) {
|
|
12
|
+
logger.info('Migration: Recreating memories_fts table to add summary column...');
|
|
13
|
+
try {
|
|
14
|
+
sqlite.exec('DROP TRIGGER IF EXISTS memories_ai');
|
|
15
|
+
sqlite.exec('DROP TRIGGER IF EXISTS memories_ad');
|
|
16
|
+
sqlite.exec('DROP TRIGGER IF EXISTS memories_au');
|
|
17
|
+
sqlite.exec('DROP TABLE IF EXISTS memories_fts');
|
|
18
|
+
sqlite.exec(`
|
|
19
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS memories_fts USING fts5(
|
|
20
|
+
content,
|
|
21
|
+
tags,
|
|
22
|
+
summary,
|
|
23
|
+
content='memories',
|
|
24
|
+
content_rowid='rowid'
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
CREATE TRIGGER IF NOT EXISTS memories_ai AFTER INSERT ON memories BEGIN
|
|
28
|
+
INSERT INTO memories_fts(rowid, content, tags, summary)
|
|
29
|
+
VALUES (new.rowid, new.content, COALESCE(new.tags, ''), COALESCE(new.summary, ''));
|
|
30
|
+
END;
|
|
31
|
+
|
|
32
|
+
CREATE TRIGGER IF NOT EXISTS memories_ad AFTER DELETE ON memories BEGIN
|
|
33
|
+
INSERT INTO memories_fts(memories_fts, rowid, content, tags, summary)
|
|
34
|
+
VALUES ('delete', old.rowid, old.content, COALESCE(old.tags, ''), COALESCE(old.summary, ''));
|
|
35
|
+
END;
|
|
36
|
+
|
|
37
|
+
CREATE TRIGGER IF NOT EXISTS memories_au AFTER UPDATE ON memories BEGIN
|
|
38
|
+
INSERT INTO memories_fts(memories_fts, rowid, content, tags, summary)
|
|
39
|
+
VALUES ('delete', old.rowid, old.content, COALESCE(old.tags, ''), COALESCE(old.summary, ''));
|
|
40
|
+
INSERT INTO memories_fts(rowid, content, tags, summary)
|
|
41
|
+
VALUES (new.rowid, new.content, COALESCE(new.tags, ''), COALESCE(new.summary, ''));
|
|
42
|
+
END;
|
|
43
|
+
`);
|
|
44
|
+
logger.info('Migration: Recreated memories_fts table with summary column');
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
48
|
+
logger.warn(`Migration: Could not recreate memories_fts table: ${msg}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=fts.js.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration runner - imports and runs all migrations
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* import { runAllMigrations } from './migrations/index.js';
|
|
6
|
+
* await runAllMigrations(sqlite);
|
|
7
|
+
*/
|
|
8
|
+
import type { Database } from 'better-sqlite3';
|
|
9
|
+
/**
|
|
10
|
+
* Run all v1.2.0 migrations in order
|
|
11
|
+
*/
|
|
12
|
+
export declare function runAllMigrations(sqlite: Database): Promise<void>;
|
|
13
|
+
export { runPlacesMigrations } from './places.js';
|
|
14
|
+
export { runProjectMigrations } from './projects.js';
|
|
15
|
+
export { runMemoriesMigrations } from './memories.js';
|
|
16
|
+
export { runLearningsMigrations } from './learnings.js';
|
|
17
|
+
export { runCoreMemoryMigrations } from './core-memory.js';
|
|
18
|
+
export { runAssociationsMigrations } from './associations.js';
|
|
19
|
+
export { runMemoryPlacesMigrations } from './memory-places.js';
|
|
20
|
+
export { runIndexMigrations } from './indexes.js';
|
|
21
|
+
export { runFtsMigrations } from './fts.js';
|
|
22
|
+
export { runMaintenanceMigrations } from './maintenance.js';
|
|
23
|
+
export { runBeliefMigrations } from './beliefs.js';
|
|
24
|
+
export { runTierConversion } from './tier-conversion.js';
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration runner - imports and runs all migrations
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* import { runAllMigrations } from './migrations/index.js';
|
|
6
|
+
* await runAllMigrations(sqlite);
|
|
7
|
+
*/
|
|
8
|
+
import { runPlacesMigrations } from './places.js';
|
|
9
|
+
import { runProjectMigrations } from './projects.js';
|
|
10
|
+
import { runMemoriesMigrations } from './memories.js';
|
|
11
|
+
import { runLearningsMigrations } from './learnings.js';
|
|
12
|
+
import { runCoreMemoryMigrations } from './core-memory.js';
|
|
13
|
+
import { runAssociationsMigrations } from './associations.js';
|
|
14
|
+
import { runMemoryPlacesMigrations } from './memory-places.js';
|
|
15
|
+
import { runIndexMigrations } from './indexes.js';
|
|
16
|
+
import { runFtsMigrations } from './fts.js';
|
|
17
|
+
import { runMaintenanceMigrations } from './maintenance.js';
|
|
18
|
+
import { runBeliefMigrations } from './beliefs.js';
|
|
19
|
+
import { runTierConversion } from './tier-conversion.js';
|
|
20
|
+
/**
|
|
21
|
+
* Run all v1.2.0 migrations in order
|
|
22
|
+
*/
|
|
23
|
+
export async function runAllMigrations(sqlite) {
|
|
24
|
+
// Run each migration in dependency order
|
|
25
|
+
await runProjectMigrations(sqlite);
|
|
26
|
+
await runPlacesMigrations(sqlite);
|
|
27
|
+
await runMemoriesMigrations(sqlite);
|
|
28
|
+
await runLearningsMigrations(sqlite);
|
|
29
|
+
await runCoreMemoryMigrations(sqlite);
|
|
30
|
+
await runAssociationsMigrations(sqlite);
|
|
31
|
+
await runMemoryPlacesMigrations(sqlite);
|
|
32
|
+
await runIndexMigrations(sqlite);
|
|
33
|
+
await runFtsMigrations(sqlite);
|
|
34
|
+
await runMaintenanceMigrations(sqlite);
|
|
35
|
+
await runBeliefMigrations(sqlite);
|
|
36
|
+
await runTierConversion(sqlite);
|
|
37
|
+
}
|
|
38
|
+
// Re-export for direct usage if needed
|
|
39
|
+
export { runPlacesMigrations } from './places.js';
|
|
40
|
+
export { runProjectMigrations } from './projects.js';
|
|
41
|
+
export { runMemoriesMigrations } from './memories.js';
|
|
42
|
+
export { runLearningsMigrations } from './learnings.js';
|
|
43
|
+
export { runCoreMemoryMigrations } from './core-memory.js';
|
|
44
|
+
export { runAssociationsMigrations } from './associations.js';
|
|
45
|
+
export { runMemoryPlacesMigrations } from './memory-places.js';
|
|
46
|
+
export { runIndexMigrations } from './indexes.js';
|
|
47
|
+
export { runFtsMigrations } from './fts.js';
|
|
48
|
+
export { runMaintenanceMigrations } from './maintenance.js';
|
|
49
|
+
export { runBeliefMigrations } from './beliefs.js';
|
|
50
|
+
export { runTierConversion } from './tier-conversion.js';
|
|
51
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Learnings index migrations
|
|
3
|
+
*/
|
|
4
|
+
import { logger } from '../../core/logger.js';
|
|
5
|
+
export async function runIndexMigrations(sqlite) {
|
|
6
|
+
const learningsTableCheck = sqlite.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='learnings'").get();
|
|
7
|
+
if (!learningsTableCheck)
|
|
8
|
+
return;
|
|
9
|
+
const existingIndexes = sqlite.prepare("SELECT name FROM sqlite_master WHERE type='index' AND tbl_name='learnings'").all();
|
|
10
|
+
const existingIndexNames = new Set(existingIndexes.map(idx => idx.name));
|
|
11
|
+
const indexMigrations = [
|
|
12
|
+
{ name: 'learnings_folder_idx', sql: 'CREATE INDEX IF NOT EXISTS learnings_folder_idx ON learnings(folder_path)' },
|
|
13
|
+
{ name: 'learnings_relevance_idx', sql: 'CREATE INDEX IF NOT EXISTS learnings_relevance_idx ON learnings(relevance_score)' },
|
|
14
|
+
{ name: 'learnings_private_idx', sql: 'CREATE INDEX IF NOT EXISTS learnings_private_idx ON learnings(is_private)' },
|
|
15
|
+
{ name: 'learnings_memory_idx', sql: 'CREATE INDEX IF NOT EXISTS learnings_memory_idx ON learnings(memory_id)' },
|
|
16
|
+
];
|
|
17
|
+
for (const idx of indexMigrations) {
|
|
18
|
+
if (!existingIndexNames.has(idx.name)) {
|
|
19
|
+
try {
|
|
20
|
+
sqlite.exec(idx.sql);
|
|
21
|
+
logger.info(`Migration: Added index ${idx.name} to learnings table`);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
25
|
+
logger.warn(`Index migration note for ${idx.name}: ${msg}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=indexes.js.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Learnings table migrations
|
|
3
|
+
* Uses schema definitions to generate migrations
|
|
4
|
+
*/
|
|
5
|
+
import { migrateTable } from '../schema/generator.js';
|
|
6
|
+
import { learningsSchema } from '../schema/learnings.js';
|
|
7
|
+
import { logger } from '../../core/logger.js';
|
|
8
|
+
export async function runLearningsMigrations(sqlite) {
|
|
9
|
+
// Handle table rename: observations -> learnings
|
|
10
|
+
const observationsCheck = sqlite.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='observations'").get();
|
|
11
|
+
const learningsCheck = sqlite.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='learnings'").get();
|
|
12
|
+
if (observationsCheck && !learningsCheck) {
|
|
13
|
+
try {
|
|
14
|
+
sqlite.exec("ALTER TABLE observations RENAME TO learnings");
|
|
15
|
+
logger.info('Migration: Renamed observations table to learnings');
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
19
|
+
logger.warn(`Migration: Could not rename observations to learnings: ${msg}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
if (!learningsCheck)
|
|
23
|
+
return;
|
|
24
|
+
await migrateTable(sqlite, learningsSchema);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=learnings.js.map
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maintenance jobs table migrations
|
|
3
|
+
*/
|
|
4
|
+
import { logger } from '../../core/logger.js';
|
|
5
|
+
export async function runMaintenanceMigrations(sqlite) {
|
|
6
|
+
const maintenanceJobsTableCheck = sqlite.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='maintenance_jobs'").get();
|
|
7
|
+
if (!maintenanceJobsTableCheck)
|
|
8
|
+
return;
|
|
9
|
+
const maintenanceJobsInfo = sqlite.prepare("PRAGMA table_info(maintenance_jobs)").all();
|
|
10
|
+
const existingMaintenanceJobsColumns = new Set(maintenanceJobsInfo.map(col => col.name));
|
|
11
|
+
// Check if table has wrong schema (camelCase columns from bug in earlier version)
|
|
12
|
+
const hasCamelCaseColumns = existingMaintenanceJobsColumns.has('jobName') ||
|
|
13
|
+
existingMaintenanceJobsColumns.has('jobType') ||
|
|
14
|
+
existingMaintenanceJobsColumns.has('cronExpression');
|
|
15
|
+
if (hasCamelCaseColumns) {
|
|
16
|
+
logger.warn('Maintenance jobs table has incorrect schema (camelCase columns). Recreating...');
|
|
17
|
+
try {
|
|
18
|
+
sqlite.exec('DROP TABLE IF EXISTS maintenance_jobs');
|
|
19
|
+
logger.info('Dropped malformed maintenance_jobs table. It will be recreated with correct schema.');
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
logger.error('Failed to recreate maintenance_jobs table:', error);
|
|
23
|
+
}
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const maintenanceJobsMigrations = [
|
|
27
|
+
{ col: 'schedule', sql: 'ALTER TABLE maintenance_jobs DROP COLUMN schedule' },
|
|
28
|
+
{ col: 'cron_expression', sql: 'ALTER TABLE maintenance_jobs ADD COLUMN cron_expression TEXT' },
|
|
29
|
+
{ col: 'last_run_at', sql: 'ALTER TABLE maintenance_jobs ADD COLUMN last_run_at INTEGER' },
|
|
30
|
+
{ col: 'last_run_duration', sql: 'ALTER TABLE maintenance_jobs ADD COLUMN last_run_duration INTEGER' },
|
|
31
|
+
{ col: 'last_run_status', sql: 'ALTER TABLE maintenance_jobs ADD COLUMN last_run_status TEXT' },
|
|
32
|
+
{ col: 'last_run_error', sql: 'ALTER TABLE maintenance_jobs ADD COLUMN last_run_error TEXT' },
|
|
33
|
+
{ col: 'total_runs', sql: 'ALTER TABLE maintenance_jobs ADD COLUMN total_runs INTEGER DEFAULT 0' },
|
|
34
|
+
{ col: 'success_count', sql: 'ALTER TABLE maintenance_jobs ADD COLUMN success_count INTEGER DEFAULT 0' },
|
|
35
|
+
{ col: 'failure_count', sql: 'ALTER TABLE maintenance_jobs ADD COLUMN failure_count INTEGER DEFAULT 0' },
|
|
36
|
+
{ col: 'job_config', sql: 'ALTER TABLE maintenance_jobs ADD COLUMN job_config TEXT' },
|
|
37
|
+
{ col: 'next_run_at', sql: 'ALTER TABLE maintenance_jobs ADD COLUMN next_run_at INTEGER' },
|
|
38
|
+
{ col: 'run_count', sql: 'ALTER TABLE maintenance_jobs DROP COLUMN run_count' },
|
|
39
|
+
];
|
|
40
|
+
for (const migration of maintenanceJobsMigrations) {
|
|
41
|
+
const shouldRun = migration.sql.startsWith('ALTER TABLE maintenance_jobs DROP COLUMN')
|
|
42
|
+
? existingMaintenanceJobsColumns.has(migration.col)
|
|
43
|
+
: !existingMaintenanceJobsColumns.has(migration.col);
|
|
44
|
+
if (shouldRun) {
|
|
45
|
+
try {
|
|
46
|
+
sqlite.exec(migration.sql);
|
|
47
|
+
logger.info(`Migration: ${migration.col} on maintenance_jobs table`);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
51
|
+
if (msg.includes('duplicate column name') || msg.includes('no such column')) {
|
|
52
|
+
logger.debug(`Migration skipped for ${migration.col}: ${msg.includes('duplicate column name') ? 'column already exists' : 'column does not exist'}`);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
throw new Error(`Migration failed for maintenance_jobs.${migration.col}: ${msg}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=maintenance.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memories table migrations
|
|
3
|
+
* Uses schema definitions to generate migrations
|
|
4
|
+
*/
|
|
5
|
+
import { migrateTable } from '../schema/generator.js';
|
|
6
|
+
import { memoriesSchema } from '../schema/memories.js';
|
|
7
|
+
import { logger } from '../../core/logger.js';
|
|
8
|
+
export async function runMemoriesMigrations(sqlite) {
|
|
9
|
+
const tableCheck = sqlite.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='memories'").get();
|
|
10
|
+
if (!tableCheck) {
|
|
11
|
+
logger.debug('Memories table does not exist yet, skipping migrations');
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
await migrateTable(sqlite, memoriesSchema);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=memories.js.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory places table migrations
|
|
3
|
+
*/
|
|
4
|
+
import { logger } from '../../core/logger.js';
|
|
5
|
+
export async function runMemoryPlacesMigrations(sqlite) {
|
|
6
|
+
const memoryPlacesTableCheck = sqlite.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='memory_places'").get();
|
|
7
|
+
if (!memoryPlacesTableCheck)
|
|
8
|
+
return;
|
|
9
|
+
const memoryPlacesInfo = sqlite.prepare("PRAGMA table_info(memory_places)").all();
|
|
10
|
+
const existingMemoryPlacesColumns = new Set(memoryPlacesInfo.map(col => col.name));
|
|
11
|
+
const memoryPlacesMigrations = [
|
|
12
|
+
{ col: 'place_sort_order', sql: 'ALTER TABLE memory_places ADD COLUMN place_sort_order INTEGER DEFAULT 0' },
|
|
13
|
+
];
|
|
14
|
+
for (const migration of memoryPlacesMigrations) {
|
|
15
|
+
if (!existingMemoryPlacesColumns.has(migration.col)) {
|
|
16
|
+
try {
|
|
17
|
+
sqlite.exec(migration.sql);
|
|
18
|
+
logger.info(`Migration: Added column ${migration.col} to memory_places table`);
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
22
|
+
if (!msg.includes('duplicate column name')) {
|
|
23
|
+
logger.warn(`Migration note for memory_places.${migration.col}: ${msg}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=memory-places.js.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Places table migrations
|
|
3
|
+
*/
|
|
4
|
+
import { logger } from '../../core/logger.js';
|
|
5
|
+
export async function runPlacesMigrations(sqlite) {
|
|
6
|
+
const placesTableCheck = sqlite.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='places'").get();
|
|
7
|
+
if (!placesTableCheck)
|
|
8
|
+
return;
|
|
9
|
+
const placesInfo = sqlite.prepare("PRAGMA table_info(places)").all();
|
|
10
|
+
const placesColumns = new Set(placesInfo.map(col => col.name));
|
|
11
|
+
const placesMigrations = [
|
|
12
|
+
{ col: 'sort_order', sql: 'ALTER TABLE places ADD COLUMN sort_order INTEGER DEFAULT 0' },
|
|
13
|
+
{ col: 'loci_index', sql: '' },
|
|
14
|
+
];
|
|
15
|
+
for (const migration of placesMigrations) {
|
|
16
|
+
if (migration.col === 'loci_index') {
|
|
17
|
+
if (placesColumns.has('loci_index') && !placesColumns.has('sort_order')) {
|
|
18
|
+
try {
|
|
19
|
+
sqlite.exec("UPDATE places SET sort_order = loci_index WHERE sort_order = 0 OR sort_order IS NULL");
|
|
20
|
+
logger.info('Migration: Copied loci_index data to sort_order');
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
const errMsg = error instanceof Error ? error.message : String(error);
|
|
24
|
+
logger.warn(`Migration: Could not copy loci_index data: ${errMsg}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
if (!placesColumns.has(migration.col)) {
|
|
30
|
+
try {
|
|
31
|
+
sqlite.exec(migration.sql);
|
|
32
|
+
logger.info(`Migration: Added column ${migration.col} to places table`);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
36
|
+
if (!msg.includes('duplicate column name')) {
|
|
37
|
+
throw new Error(`Migration failed for places.${migration.col}: ${msg}`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=places.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { migrateTable } from '../schema/generator.js';
|
|
2
|
+
import { projectsSchema, usersSchema } from '../schema/projects.js';
|
|
3
|
+
export async function runProjectMigrations(sqlite) {
|
|
4
|
+
const projectCheck = sqlite.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='projects'").get();
|
|
5
|
+
if (projectCheck) {
|
|
6
|
+
await migrateTable(sqlite, projectsSchema);
|
|
7
|
+
}
|
|
8
|
+
const userCheck = sqlite.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='users'").get();
|
|
9
|
+
if (userCheck) {
|
|
10
|
+
await migrateTable(sqlite, usersSchema);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=projects.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tier conversion migration
|
|
3
|
+
* Converts deprecated 'warm' tier memories to 'cold'
|
|
4
|
+
*/
|
|
5
|
+
import type { Database } from 'better-sqlite3';
|
|
6
|
+
export declare function runTierConversion(sqlite: Database): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=tier-conversion.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tier conversion migration
|
|
3
|
+
* Converts deprecated 'warm' tier memories to 'cold'
|
|
4
|
+
*/
|
|
5
|
+
import { logger } from '../../core/logger.js';
|
|
6
|
+
export async function runTierConversion(sqlite) {
|
|
7
|
+
const warmMemories = sqlite.prepare("SELECT COUNT(*) as count FROM memories WHERE tier = 'warm'").get();
|
|
8
|
+
if (warmMemories && warmMemories.count > 0) {
|
|
9
|
+
logger.info(`Migration: Converting ${warmMemories.count} warm-tiered memories to cold`);
|
|
10
|
+
try {
|
|
11
|
+
sqlite.exec("UPDATE memories SET tier = 'cold' WHERE tier = 'warm'");
|
|
12
|
+
logger.info('Migration: Tier conversion complete (warm -> cold)');
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
16
|
+
logger.warn(`Migration: Could not convert warm tier: ${msg}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=tier-conversion.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Neon client wrapper that returns a Drizzle HTTP client.
|
|
3
|
+
* Neon HTTP driver is faster for single non-interactive transactions.
|
|
4
|
+
*/
|
|
5
|
+
export declare function createNeonClient(): Promise<import("drizzle-orm/neon-http").NeonHttpDatabase<Record<string, never>> & {
|
|
6
|
+
$client: import("@neondatabase/serverless").NeonQueryFunction<false, false>;
|
|
7
|
+
}>;
|
|
8
|
+
//# sourceMappingURL=neon.d.ts.map
|
package/dist/db/neon.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { config } from '../config.js';
|
|
2
|
+
import { neon } from '@neondatabase/serverless';
|
|
3
|
+
import { drizzle } from 'drizzle-orm/neon-http';
|
|
4
|
+
/**
|
|
5
|
+
* Neon client wrapper that returns a Drizzle HTTP client.
|
|
6
|
+
* Neon HTTP driver is faster for single non-interactive transactions.
|
|
7
|
+
*/
|
|
8
|
+
export async function createNeonClient() {
|
|
9
|
+
if (!config.neonProjectId || !config.neonServiceKey) {
|
|
10
|
+
throw new Error('Neon configuration missing (NEON_PROJECT_ID or NEON_SERVICE_KEY)');
|
|
11
|
+
}
|
|
12
|
+
// Neon HTTP driver - use DATABASE_URL with Neon connection string
|
|
13
|
+
const connectionString = process.env.DATABASE_URL;
|
|
14
|
+
if (!connectionString) {
|
|
15
|
+
throw new Error('DATABASE_URL required for Neon connection');
|
|
16
|
+
}
|
|
17
|
+
const sql = neon(connectionString);
|
|
18
|
+
return drizzle(sql);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=neon.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Beliefs table schema for migrations
|
|
3
|
+
* Column definitions for ALTER TABLE migrations
|
|
4
|
+
*/
|
|
5
|
+
import type { TableSchema } from '../generator.js';
|
|
6
|
+
export declare const beliefsSchema: TableSchema;
|
|
7
|
+
export declare const beliefMemorySourcesSchema: TableSchema;
|
|
8
|
+
export declare const beliefEdgesSchema: TableSchema;
|
|
9
|
+
//# sourceMappingURL=beliefs.d.ts.map
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Beliefs table schema for migrations
|
|
3
|
+
* Column definitions for ALTER TABLE migrations
|
|
4
|
+
*/
|
|
5
|
+
export const beliefsSchema = {
|
|
6
|
+
name: 'beliefs',
|
|
7
|
+
columns: {
|
|
8
|
+
id: { type: 'TEXT', primary: true },
|
|
9
|
+
project_id: { type: 'TEXT' },
|
|
10
|
+
belief_type: { type: 'TEXT' },
|
|
11
|
+
statement: { type: 'TEXT' },
|
|
12
|
+
normalized_key: { type: 'TEXT' },
|
|
13
|
+
confidence: { type: 'REAL', default: '0.5' },
|
|
14
|
+
belief_decay_rate: { type: 'INTEGER', default: '30' },
|
|
15
|
+
last_confirmed_at: { type: 'INTEGER' },
|
|
16
|
+
source_count: { type: 'INTEGER', default: '1' },
|
|
17
|
+
status: { type: 'TEXT', default: "'active'" },
|
|
18
|
+
reason: { type: 'TEXT' },
|
|
19
|
+
context: { type: 'TEXT' },
|
|
20
|
+
evidence_summary: { type: 'TEXT' },
|
|
21
|
+
metadata: { type: 'TEXT' },
|
|
22
|
+
created_at: { type: 'INTEGER' },
|
|
23
|
+
updated_at: { type: 'INTEGER' },
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
export const beliefMemorySourcesSchema = {
|
|
27
|
+
name: 'belief_memory_sources',
|
|
28
|
+
columns: {
|
|
29
|
+
id: { type: 'TEXT', primary: true },
|
|
30
|
+
belief_id: { type: 'TEXT' },
|
|
31
|
+
memory_id: { type: 'TEXT' },
|
|
32
|
+
created_at: { type: 'INTEGER' },
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
export const beliefEdgesSchema = {
|
|
36
|
+
name: 'belief_edges',
|
|
37
|
+
columns: {
|
|
38
|
+
id: { type: 'TEXT', primary: true },
|
|
39
|
+
from_belief_id: { type: 'TEXT' },
|
|
40
|
+
to_belief_id: { type: 'TEXT' },
|
|
41
|
+
edge_type: { type: 'TEXT' },
|
|
42
|
+
metadata: { type: 'TEXT' },
|
|
43
|
+
created_at: { type: 'INTEGER' },
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=beliefs.js.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration Generator - Creates migrations from schema definitions
|
|
3
|
+
*
|
|
4
|
+
* This utility generates ALTER TABLE statements from schema column definitions,
|
|
5
|
+
* eliminating the need for inline column arrays in migration files.
|
|
6
|
+
*/
|
|
7
|
+
import type { Database } from 'better-sqlite3';
|
|
8
|
+
export interface ColumnDefinition {
|
|
9
|
+
type: string;
|
|
10
|
+
primary?: boolean;
|
|
11
|
+
references?: string;
|
|
12
|
+
default?: string;
|
|
13
|
+
notNull?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface IndexDefinition {
|
|
16
|
+
name: string;
|
|
17
|
+
columns: string[];
|
|
18
|
+
using?: string;
|
|
19
|
+
unique?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface TableSchema {
|
|
22
|
+
name: string;
|
|
23
|
+
columns: Record<string, ColumnDefinition>;
|
|
24
|
+
indexes?: IndexDefinition[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Generate and run column migrations for a table schema
|
|
28
|
+
*/
|
|
29
|
+
export declare function migrateTable(sqlite: Database, schema: TableSchema): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Generate and run index migrations
|
|
32
|
+
*/
|
|
33
|
+
export declare function migrateIndexes(sqlite: Database, tableName: string, indexes: IndexDefinition[]): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Run all table migrations from schema list
|
|
36
|
+
*/
|
|
37
|
+
export declare function runAllSchemaMigrations(sqlite: Database, schemas: TableSchema[]): Promise<void>;
|
|
38
|
+
//# sourceMappingURL=generator.d.ts.map
|