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,108 @@
|
|
|
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 { logger } from '../../core/logger.js';
|
|
8
|
+
/**
|
|
9
|
+
* Get existing columns for a table
|
|
10
|
+
*/
|
|
11
|
+
function getExistingColumns(sqlite, tableName) {
|
|
12
|
+
try {
|
|
13
|
+
const tableInfo = sqlite.prepare(`PRAGMA table_info(${tableName})`).all();
|
|
14
|
+
return new Set(tableInfo.map(col => col.name));
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return new Set();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get existing indexes for a table
|
|
22
|
+
*/
|
|
23
|
+
function getExistingIndexes(sqlite, tableName) {
|
|
24
|
+
try {
|
|
25
|
+
const indexes = sqlite.prepare("SELECT name FROM sqlite_master WHERE type='index' AND tbl_name=?").all(tableName);
|
|
26
|
+
return new Set(indexes.map(idx => idx.name));
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return new Set();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Generate and run column migrations for a table schema
|
|
34
|
+
*/
|
|
35
|
+
export async function migrateTable(sqlite, schema) {
|
|
36
|
+
const existingColumns = getExistingColumns(sqlite, schema.name);
|
|
37
|
+
for (const [columnName, definition] of Object.entries(schema.columns)) {
|
|
38
|
+
if (!existingColumns.has(columnName)) {
|
|
39
|
+
const sql = generateAlterTable(schema.name, columnName, definition);
|
|
40
|
+
try {
|
|
41
|
+
sqlite.exec(sql);
|
|
42
|
+
logger.info(`Migration: Added column ${columnName} to ${schema.name}`);
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
46
|
+
if (msg.includes('duplicate column name')) {
|
|
47
|
+
logger.debug(`Migration skipped for ${schema.name}.${columnName}: already exists`);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
throw new Error(`Migration failed for ${schema.name}.${columnName}: ${msg}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Handle indexes
|
|
56
|
+
if (schema.indexes) {
|
|
57
|
+
await migrateIndexes(sqlite, schema.name, schema.indexes);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Generate and run index migrations
|
|
62
|
+
*/
|
|
63
|
+
export async function migrateIndexes(sqlite, tableName, indexes) {
|
|
64
|
+
const existingIndexes = getExistingIndexes(sqlite, tableName);
|
|
65
|
+
for (const indexDef of indexes) {
|
|
66
|
+
if (!existingIndexes.has(indexDef.name)) {
|
|
67
|
+
const sql = generateCreateIndex(tableName, indexDef);
|
|
68
|
+
try {
|
|
69
|
+
sqlite.exec(sql);
|
|
70
|
+
logger.info(`Migration: Added index ${indexDef.name}`);
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
74
|
+
logger.warn(`Index migration failed for ${indexDef.name}: ${msg}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Generate ALTER TABLE ADD COLUMN statement
|
|
81
|
+
*/
|
|
82
|
+
function generateAlterTable(tableName, columnName, definition) {
|
|
83
|
+
let sql = `ALTER TABLE ${tableName} ADD COLUMN ${columnName} ${definition.type}`;
|
|
84
|
+
if (definition.default) {
|
|
85
|
+
sql += ` DEFAULT ${definition.default}`;
|
|
86
|
+
}
|
|
87
|
+
return sql;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Generate CREATE INDEX statement
|
|
91
|
+
*/
|
|
92
|
+
function generateCreateIndex(tableName, indexDef) {
|
|
93
|
+
const columns = indexDef.columns.join(', ');
|
|
94
|
+
const unique = indexDef.unique ? 'UNIQUE ' : '';
|
|
95
|
+
return `CREATE ${unique}INDEX IF NOT EXISTS ${indexDef.name} ON ${tableName}(${columns})`;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Run all table migrations from schema list
|
|
99
|
+
*/
|
|
100
|
+
export async function runAllSchemaMigrations(sqlite, schemas) {
|
|
101
|
+
for (const schema of schemas) {
|
|
102
|
+
const tableCheck = sqlite.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=?").get(schema.name);
|
|
103
|
+
if (tableCheck) {
|
|
104
|
+
await migrateTable(sqlite, schema);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema Index - Table schema definitions
|
|
3
|
+
*
|
|
4
|
+
* DEPRECATED: This module was previously used to aggregate table schemas.
|
|
5
|
+
* Table definitions are now in db/bootstrap.ts for first-time setup
|
|
6
|
+
* and db/schema/*.ts for migration column definitions.
|
|
7
|
+
*
|
|
8
|
+
* These exports remain for backward compatibility but return empty arrays.
|
|
9
|
+
*/
|
|
10
|
+
import type { TableSchema } from './generator.js';
|
|
11
|
+
export { memoriesSchema } from './memories.js';
|
|
12
|
+
export { learningsSchema } from './learnings.js';
|
|
13
|
+
export { beliefsSchema, beliefMemorySourcesSchema, beliefEdgesSchema } from './beliefs.js';
|
|
14
|
+
/**
|
|
15
|
+
* Table schemas for migration utilities
|
|
16
|
+
* @deprecated Use db/schema/memories.ts, db/schema/learnings.ts, db/schema/beliefs.ts directly
|
|
17
|
+
*/
|
|
18
|
+
export declare const tableSchemas: TableSchema[];
|
|
19
|
+
/**
|
|
20
|
+
* Generate complete SQLite schema SQL
|
|
21
|
+
* @deprecated Table definitions moved to db/bootstrap.ts
|
|
22
|
+
*/
|
|
23
|
+
export declare function generateSqliteSchema(): string;
|
|
24
|
+
/**
|
|
25
|
+
* Generate complete PostgreSQL schema SQL
|
|
26
|
+
* @deprecated Table definitions moved to db/bootstrap.ts
|
|
27
|
+
*/
|
|
28
|
+
export declare function generatePostgresSchema(): string;
|
|
29
|
+
/**
|
|
30
|
+
* Get all SQLite table definitions in order
|
|
31
|
+
* @deprecated Table definitions moved to db/bootstrap.ts
|
|
32
|
+
*/
|
|
33
|
+
export declare function getAllSqliteTables(): string[];
|
|
34
|
+
/**
|
|
35
|
+
* Get all PostgreSQL table definitions in order
|
|
36
|
+
* @deprecated Table definitions moved to db/bootstrap.ts
|
|
37
|
+
*/
|
|
38
|
+
export declare function getAllPostgresTables(): string[];
|
|
39
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema Index - Table schema definitions
|
|
3
|
+
*
|
|
4
|
+
* DEPRECATED: This module was previously used to aggregate table schemas.
|
|
5
|
+
* Table definitions are now in db/bootstrap.ts for first-time setup
|
|
6
|
+
* and db/schema/*.ts for migration column definitions.
|
|
7
|
+
*
|
|
8
|
+
* These exports remain for backward compatibility but return empty arrays.
|
|
9
|
+
*/
|
|
10
|
+
// Re-export migration schemas for compatibility
|
|
11
|
+
export { memoriesSchema } from './memories.js';
|
|
12
|
+
export { learningsSchema } from './learnings.js';
|
|
13
|
+
export { beliefsSchema, beliefMemorySourcesSchema, beliefEdgesSchema } from './beliefs.js';
|
|
14
|
+
/**
|
|
15
|
+
* Table schemas for migration utilities
|
|
16
|
+
* @deprecated Use db/schema/memories.ts, db/schema/learnings.ts, db/schema/beliefs.ts directly
|
|
17
|
+
*/
|
|
18
|
+
export const tableSchemas = [];
|
|
19
|
+
/**
|
|
20
|
+
* Generate complete SQLite schema SQL
|
|
21
|
+
* @deprecated Table definitions moved to db/bootstrap.ts
|
|
22
|
+
*/
|
|
23
|
+
export function generateSqliteSchema() {
|
|
24
|
+
console.warn('DEPRECATED: generateSqliteSchema() - table definitions are in db/bootstrap.ts');
|
|
25
|
+
return '';
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Generate complete PostgreSQL schema SQL
|
|
29
|
+
* @deprecated Table definitions moved to db/bootstrap.ts
|
|
30
|
+
*/
|
|
31
|
+
export function generatePostgresSchema() {
|
|
32
|
+
console.warn('DEPRECATED: generatePostgresSchema() - table definitions are in db/bootstrap.ts');
|
|
33
|
+
return '';
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get all SQLite table definitions in order
|
|
37
|
+
* @deprecated Table definitions moved to db/bootstrap.ts
|
|
38
|
+
*/
|
|
39
|
+
export function getAllSqliteTables() {
|
|
40
|
+
console.warn('DEPRECATED: getAllSqliteTables() - table definitions are in db/bootstrap.ts');
|
|
41
|
+
return [];
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get all PostgreSQL table definitions in order
|
|
45
|
+
* @deprecated Table definitions moved to db/bootstrap.ts
|
|
46
|
+
*/
|
|
47
|
+
export function getAllPostgresTables() {
|
|
48
|
+
console.warn('DEPRECATED: getAllPostgresTables() - table definitions are in db/bootstrap.ts');
|
|
49
|
+
return [];
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Learnings table schema for migrations
|
|
3
|
+
* Column definitions for ALTER TABLE migrations
|
|
4
|
+
*/
|
|
5
|
+
export const learningsSchema = {
|
|
6
|
+
name: 'learnings',
|
|
7
|
+
columns: {
|
|
8
|
+
id: { type: 'TEXT', primary: true },
|
|
9
|
+
project_id: { type: 'TEXT' },
|
|
10
|
+
type: { type: 'TEXT' },
|
|
11
|
+
content: { type: 'TEXT' },
|
|
12
|
+
summary: { type: 'TEXT' },
|
|
13
|
+
source: { type: 'TEXT' },
|
|
14
|
+
confidence: { type: 'INTEGER', default: '50' },
|
|
15
|
+
confidence_level: { type: 'TEXT', default: "'speculative'" },
|
|
16
|
+
tags: { type: 'TEXT' },
|
|
17
|
+
metadata: { type: 'TEXT' },
|
|
18
|
+
embedding: { type: 'BLOB' },
|
|
19
|
+
folder_path: { type: 'TEXT' },
|
|
20
|
+
project_path: { type: 'TEXT' },
|
|
21
|
+
is_private: { type: 'INTEGER', default: '0' },
|
|
22
|
+
has_secrets: { type: 'INTEGER', default: '0' },
|
|
23
|
+
relevance_score: { type: 'INTEGER', default: '50' },
|
|
24
|
+
memory_id: { type: 'TEXT' },
|
|
25
|
+
is_imported: { type: 'INTEGER', default: '0' },
|
|
26
|
+
created_at: { type: 'INTEGER' },
|
|
27
|
+
updated_at: { type: 'INTEGER' },
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=learnings.js.map
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memories table schema for migrations
|
|
3
|
+
* Column definitions for ALTER TABLE migrations
|
|
4
|
+
*/
|
|
5
|
+
export const memoriesSchema = {
|
|
6
|
+
name: 'memories',
|
|
7
|
+
columns: {
|
|
8
|
+
id: { type: 'TEXT', primary: true },
|
|
9
|
+
project_id: { type: 'TEXT' },
|
|
10
|
+
user_id: { type: 'TEXT' },
|
|
11
|
+
type: { type: 'TEXT' },
|
|
12
|
+
content: { type: 'TEXT' },
|
|
13
|
+
summary: { type: 'TEXT' },
|
|
14
|
+
embedding_json: { type: 'TEXT' },
|
|
15
|
+
embedding: { type: 'BLOB' },
|
|
16
|
+
source: { type: 'TEXT' },
|
|
17
|
+
confidence: { type: 'INTEGER', default: '50' },
|
|
18
|
+
confidence_level: { type: 'TEXT', default: "'speculative'" },
|
|
19
|
+
tags: { type: 'TEXT' },
|
|
20
|
+
metadata: { type: 'TEXT' },
|
|
21
|
+
is_private: { type: 'INTEGER', default: '0' },
|
|
22
|
+
has_secrets: { type: 'INTEGER', default: '0' },
|
|
23
|
+
relevance_score: { type: 'INTEGER', default: '50' },
|
|
24
|
+
is_active: { type: 'INTEGER', default: '1' },
|
|
25
|
+
expires_at: { type: 'INTEGER' },
|
|
26
|
+
access_count: { type: 'INTEGER', default: '0' },
|
|
27
|
+
last_accessed_at: { type: 'INTEGER' },
|
|
28
|
+
is_merged: { type: 'INTEGER', default: '0' },
|
|
29
|
+
merged_into_id: { type: 'TEXT' },
|
|
30
|
+
merged_at: { type: 'INTEGER' },
|
|
31
|
+
is_canonical: { type: 'INTEGER', default: '0' },
|
|
32
|
+
merge_source_ids: { type: 'TEXT' },
|
|
33
|
+
is_mergeable: { type: 'INTEGER', default: '1' },
|
|
34
|
+
merge_version: { type: 'INTEGER', default: '1' },
|
|
35
|
+
namespace_id: { type: 'TEXT' },
|
|
36
|
+
namespace_path: { type: 'TEXT' },
|
|
37
|
+
has_l0_abstract: { type: 'INTEGER', default: '0' },
|
|
38
|
+
has_l1_overview: { type: 'INTEGER', default: '0' },
|
|
39
|
+
last_layer_update: { type: 'INTEGER' },
|
|
40
|
+
importance_score: { type: 'INTEGER', default: '50' },
|
|
41
|
+
importance_decay_rate: { type: 'INTEGER', default: '30' },
|
|
42
|
+
last_importance_recalc: { type: 'INTEGER' },
|
|
43
|
+
retrieval_priority: { type: 'INTEGER', default: '50' },
|
|
44
|
+
tokens_estimate: { type: 'INTEGER', default: '0' },
|
|
45
|
+
consolidated_into: { type: 'TEXT' },
|
|
46
|
+
consolidated_at: { type: 'INTEGER' },
|
|
47
|
+
is_consolidated: { type: 'INTEGER', default: '0' },
|
|
48
|
+
sector: { type: 'TEXT', default: "'episodic'" },
|
|
49
|
+
tier: { type: 'TEXT', default: "'hot'" },
|
|
50
|
+
status: { type: 'TEXT', default: "'active'" },
|
|
51
|
+
encrypted_content: { type: 'TEXT' },
|
|
52
|
+
encryption_nonce: { type: 'TEXT' },
|
|
53
|
+
is_encrypted: { type: 'INTEGER', default: '0' },
|
|
54
|
+
context_status: { type: 'TEXT', default: "'out-of-context'" },
|
|
55
|
+
decay_rate: { type: 'INTEGER', default: '30' },
|
|
56
|
+
coactivation_score: { type: 'INTEGER', default: '0' },
|
|
57
|
+
last_decay_at: { type: 'INTEGER' },
|
|
58
|
+
agent_id: { type: 'TEXT' },
|
|
59
|
+
agent_role: { type: 'TEXT' },
|
|
60
|
+
visibility_scope: { type: 'TEXT', default: "'private'" },
|
|
61
|
+
is_protected: { type: 'INTEGER', default: '0' },
|
|
62
|
+
is_pinned: { type: 'INTEGER', default: '0' },
|
|
63
|
+
is_immutable: { type: 'INTEGER', default: '0' },
|
|
64
|
+
write_scope: { type: 'TEXT' },
|
|
65
|
+
read_scope: { type: 'TEXT' },
|
|
66
|
+
triggered_by: { type: 'TEXT' },
|
|
67
|
+
capture_reason: { type: 'TEXT' },
|
|
68
|
+
last_used_at: { type: 'INTEGER' },
|
|
69
|
+
usage_count: { type: 'INTEGER', default: '0' },
|
|
70
|
+
valid_from: { type: 'INTEGER' },
|
|
71
|
+
valid_to: { type: 'INTEGER' },
|
|
72
|
+
recorded_at: { type: 'INTEGER' },
|
|
73
|
+
superseded_by: { type: 'TEXT' },
|
|
74
|
+
version: { type: 'INTEGER', default: '1' },
|
|
75
|
+
place_id: { type: 'TEXT' },
|
|
76
|
+
place_sort_order: { type: 'INTEGER', default: '0' },
|
|
77
|
+
created_at: { type: 'INTEGER' },
|
|
78
|
+
updated_at: { type: 'INTEGER' },
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=memories.js.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export const projectsSchema = {
|
|
2
|
+
name: 'projects',
|
|
3
|
+
columns: {
|
|
4
|
+
id: { type: 'TEXT', primary: true },
|
|
5
|
+
name: { type: 'TEXT' },
|
|
6
|
+
path: { type: 'TEXT' },
|
|
7
|
+
description: { type: 'TEXT' },
|
|
8
|
+
metadata: { type: 'TEXT' },
|
|
9
|
+
created_at: { type: 'INTEGER' },
|
|
10
|
+
updated_at: { type: 'INTEGER' },
|
|
11
|
+
},
|
|
12
|
+
indexes: [
|
|
13
|
+
{
|
|
14
|
+
name: 'projects_path_idx',
|
|
15
|
+
columns: ['path'],
|
|
16
|
+
},
|
|
17
|
+
],
|
|
18
|
+
};
|
|
19
|
+
export const usersSchema = {
|
|
20
|
+
name: 'users',
|
|
21
|
+
columns: {
|
|
22
|
+
id: { type: 'TEXT', primary: true },
|
|
23
|
+
external_id: { type: 'TEXT' },
|
|
24
|
+
name: { type: 'TEXT' },
|
|
25
|
+
email: { type: 'TEXT' },
|
|
26
|
+
preferences: { type: 'TEXT' },
|
|
27
|
+
created_at: { type: 'INTEGER' },
|
|
28
|
+
updated_at: { type: 'INTEGER' },
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=projects.js.map
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Sessions Table Schema
|
|
3
|
+
* SQLite and PostgreSQL definitions
|
|
4
|
+
*/
|
|
5
|
+
export const contextSessionsTable = {
|
|
6
|
+
sqlite: `
|
|
7
|
+
CREATE TABLE IF NOT EXISTS context_sessions (
|
|
8
|
+
id TEXT PRIMARY KEY,
|
|
9
|
+
project_id TEXT REFERENCES projects(id) ON DELETE CASCADE,
|
|
10
|
+
session_id TEXT NOT NULL,
|
|
11
|
+
status TEXT DEFAULT 'active',
|
|
12
|
+
memory_ids TEXT,
|
|
13
|
+
token_count INTEGER DEFAULT 0,
|
|
14
|
+
started_at INTEGER DEFAULT (strftime('%s','now')) NOT NULL,
|
|
15
|
+
ended_at INTEGER,
|
|
16
|
+
metadata TEXT
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
CREATE INDEX IF NOT EXISTS context_sessions_project_idx ON context_sessions(project_id);
|
|
20
|
+
CREATE INDEX IF NOT EXISTS context_sessions_session_idx ON context_sessions(session_id);`,
|
|
21
|
+
postgres: `
|
|
22
|
+
CREATE TABLE IF NOT EXISTS context_sessions (
|
|
23
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
24
|
+
project_id UUID REFERENCES projects(id) ON DELETE CASCADE,
|
|
25
|
+
session_id TEXT NOT NULL,
|
|
26
|
+
status TEXT DEFAULT 'active',
|
|
27
|
+
memory_ids TEXT[],
|
|
28
|
+
token_count INTEGER DEFAULT 0,
|
|
29
|
+
started_at TIMESTAMPTZ DEFAULT NOW() NOT NULL,
|
|
30
|
+
ended_at TIMESTAMPTZ,
|
|
31
|
+
metadata JSONB
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
CREATE INDEX IF NOT EXISTS context_sessions_project_idx ON context_sessions(project_id);
|
|
35
|
+
CREATE INDEX IF NOT EXISTS context_sessions_session_idx ON context_sessions(session_id);`,
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=context-sessions.js.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversations Table Schema
|
|
3
|
+
* SQLite and PostgreSQL definitions
|
|
4
|
+
*/
|
|
5
|
+
export const conversationsTable = {
|
|
6
|
+
sqlite: `
|
|
7
|
+
CREATE TABLE IF NOT EXISTS conversations (
|
|
8
|
+
id TEXT PRIMARY KEY,
|
|
9
|
+
project_id TEXT REFERENCES projects(id) ON DELETE CASCADE,
|
|
10
|
+
user_id TEXT REFERENCES users(id) ON DELETE SET NULL,
|
|
11
|
+
session_id TEXT NOT NULL,
|
|
12
|
+
title TEXT,
|
|
13
|
+
summary TEXT,
|
|
14
|
+
message_count INTEGER DEFAULT 0,
|
|
15
|
+
token_count INTEGER DEFAULT 0,
|
|
16
|
+
started_at INTEGER DEFAULT (strftime('%s','now')) NOT NULL,
|
|
17
|
+
ended_at INTEGER,
|
|
18
|
+
metadata TEXT,
|
|
19
|
+
created_at INTEGER DEFAULT (strftime('%s','now')) NOT NULL,
|
|
20
|
+
updated_at INTEGER DEFAULT (strftime('%s','now')) NOT NULL
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
CREATE INDEX IF NOT EXISTS conversations_project_idx ON conversations(project_id);
|
|
24
|
+
CREATE INDEX IF NOT EXISTS conversations_session_idx ON conversations(session_id);
|
|
25
|
+
CREATE INDEX IF NOT EXISTS conversations_started_idx ON conversations(started_at);`,
|
|
26
|
+
postgres: `
|
|
27
|
+
CREATE TABLE IF NOT EXISTS conversations (
|
|
28
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
29
|
+
project_id UUID REFERENCES projects(id) ON DELETE CASCADE,
|
|
30
|
+
user_id UUID REFERENCES users(id) ON DELETE SET NULL,
|
|
31
|
+
session_id TEXT NOT NULL,
|
|
32
|
+
title TEXT,
|
|
33
|
+
summary TEXT,
|
|
34
|
+
message_count INTEGER DEFAULT 0,
|
|
35
|
+
token_count INTEGER DEFAULT 0,
|
|
36
|
+
started_at TIMESTAMPTZ DEFAULT NOW() NOT NULL,
|
|
37
|
+
ended_at TIMESTAMPTZ,
|
|
38
|
+
metadata JSONB,
|
|
39
|
+
created_at TIMESTAMPTZ DEFAULT NOW() NOT NULL,
|
|
40
|
+
updated_at TIMESTAMPTZ DEFAULT NOW() NOT NULL
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
CREATE INDEX IF NOT EXISTS conversations_project_idx ON conversations(project_id);
|
|
44
|
+
CREATE INDEX IF NOT EXISTS conversations_session_idx ON conversations(session_id);
|
|
45
|
+
CREATE INDEX IF NOT EXISTS conversations_started_idx ON conversations(started_at);`,
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=conversations.js.map
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core Memory Table Schema
|
|
3
|
+
* SQLite and PostgreSQL definitions
|
|
4
|
+
*/
|
|
5
|
+
export const coreMemoryTable = {
|
|
6
|
+
sqlite: `
|
|
7
|
+
CREATE TABLE IF NOT EXISTS core_memory (
|
|
8
|
+
id TEXT PRIMARY KEY,
|
|
9
|
+
project_id TEXT REFERENCES projects(id) ON DELETE CASCADE,
|
|
10
|
+
memory_type TEXT NOT NULL,
|
|
11
|
+
content TEXT NOT NULL,
|
|
12
|
+
embedding_json TEXT,
|
|
13
|
+
embedding BLOB,
|
|
14
|
+
importance INTEGER DEFAULT 50,
|
|
15
|
+
metadata TEXT,
|
|
16
|
+
tokens_estimate INTEGER DEFAULT 0,
|
|
17
|
+
created_at INTEGER DEFAULT (strftime('%s','now')) NOT NULL,
|
|
18
|
+
updated_at INTEGER DEFAULT (strftime('%s','now')) NOT NULL
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
CREATE INDEX IF NOT EXISTS core_memory_project_idx ON core_memory(project_id);
|
|
22
|
+
CREATE INDEX IF NOT EXISTS core_memory_type_idx ON core_memory(memory_type);`,
|
|
23
|
+
postgres: `
|
|
24
|
+
CREATE TABLE IF NOT EXISTS core_memory (
|
|
25
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
26
|
+
project_id UUID REFERENCES projects(id) ON DELETE CASCADE,
|
|
27
|
+
memory_type TEXT NOT NULL,
|
|
28
|
+
content TEXT NOT NULL,
|
|
29
|
+
embedding_json TEXT,
|
|
30
|
+
embedding vector(1536),
|
|
31
|
+
importance INTEGER DEFAULT 50,
|
|
32
|
+
metadata JSONB,
|
|
33
|
+
tokens_estimate INTEGER DEFAULT 0,
|
|
34
|
+
created_at TIMESTAMPTZ DEFAULT NOW() NOT NULL,
|
|
35
|
+
updated_at TIMESTAMPTZ DEFAULT NOW() NOT NULL
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
CREATE INDEX IF NOT EXISTS core_memory_project_idx ON core_memory(project_id);
|
|
39
|
+
CREATE INDEX IF NOT EXISTS core_memory_type_idx ON core_memory(memory_type);`,
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=core-memory.js.map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Entities Table Schema
|
|
3
|
+
* SQLite and PostgreSQL definitions
|
|
4
|
+
*/
|
|
5
|
+
export const entitiesTable = {
|
|
6
|
+
sqlite: `
|
|
7
|
+
CREATE TABLE IF NOT EXISTS entities (
|
|
8
|
+
id TEXT PRIMARY KEY,
|
|
9
|
+
project_id TEXT REFERENCES projects(id) ON DELETE CASCADE,
|
|
10
|
+
name TEXT NOT NULL,
|
|
11
|
+
entity_type TEXT,
|
|
12
|
+
aliases TEXT,
|
|
13
|
+
metadata TEXT,
|
|
14
|
+
last_mentioned_at INTEGER,
|
|
15
|
+
mention_count INTEGER DEFAULT 0,
|
|
16
|
+
created_at INTEGER DEFAULT (strftime('%s','now')) NOT NULL,
|
|
17
|
+
updated_at INTEGER DEFAULT (strftime('%s','now')) NOT NULL
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
CREATE INDEX IF NOT EXISTS entities_project_idx ON entities(project_id);
|
|
21
|
+
CREATE INDEX IF NOT EXISTS entities_name_idx ON entities(name);`,
|
|
22
|
+
postgres: `
|
|
23
|
+
CREATE TABLE IF NOT EXISTS entities (
|
|
24
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
25
|
+
project_id UUID REFERENCES projects(id) ON DELETE CASCADE,
|
|
26
|
+
name TEXT NOT NULL,
|
|
27
|
+
entity_type TEXT,
|
|
28
|
+
aliases TEXT[],
|
|
29
|
+
metadata JSONB,
|
|
30
|
+
last_mentioned_at TIMESTAMPTZ,
|
|
31
|
+
mention_count INTEGER DEFAULT 0,
|
|
32
|
+
created_at TIMESTAMPTZ DEFAULT NOW() NOT NULL,
|
|
33
|
+
updated_at TIMESTAMPTZ DEFAULT NOW() NOT NULL
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
CREATE INDEX IF NOT EXISTS entities_project_idx ON entities(project_id);
|
|
37
|
+
CREATE INDEX IF NOT EXISTS entities_name_idx ON entities(name);`,
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=entities.js.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Entity Relations Table Schema
|
|
3
|
+
* SQLite and PostgreSQL definitions
|
|
4
|
+
*/
|
|
5
|
+
export const entityRelationsTable = {
|
|
6
|
+
sqlite: `
|
|
7
|
+
CREATE TABLE IF NOT EXISTS entity_relations (
|
|
8
|
+
id TEXT PRIMARY KEY,
|
|
9
|
+
entity_id TEXT NOT NULL REFERENCES entities(id) ON DELETE CASCADE,
|
|
10
|
+
related_entity_id TEXT NOT NULL REFERENCES entities(id) ON DELETE CASCADE,
|
|
11
|
+
relation_type TEXT,
|
|
12
|
+
strength REAL DEFAULT 0.5,
|
|
13
|
+
created_at INTEGER DEFAULT (strftime('%s','now')) NOT NULL
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
CREATE INDEX IF NOT EXISTS entity_relations_entity_idx ON entity_relations(entity_id);
|
|
17
|
+
CREATE INDEX IF NOT EXISTS entity_relations_related_idx ON entity_relations(related_entity_id);`,
|
|
18
|
+
postgres: `
|
|
19
|
+
CREATE TABLE IF NOT EXISTS entity_relations (
|
|
20
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
21
|
+
entity_id UUID NOT NULL REFERENCES entities(id) ON DELETE CASCADE,
|
|
22
|
+
related_entity_id UUID NOT NULL REFERENCES entities(id) ON DELETE CASCADE,
|
|
23
|
+
relation_type TEXT,
|
|
24
|
+
strength REAL DEFAULT 0.5,
|
|
25
|
+
created_at TIMESTAMPTZ DEFAULT NOW() NOT NULL
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
CREATE INDEX IF NOT EXISTS entity_relations_entity_idx ON entity_relations(entity_id);
|
|
29
|
+
CREATE INDEX IF NOT EXISTS entity_relations_related_idx ON entity_relations(related_entity_id);`,
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=entity-relations.js.map
|