squish-memory 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/squish-mcp.mjs +40 -42
- package/core/scheduler/cron-scheduler.ts +10 -1
- package/core/worker.ts +10 -1
- package/package.json +119 -119
- package/packages/mcp/src/index.ts +99 -36
- package/dist/config.d.ts +0 -106
- package/dist/config.js +0 -194
- package/dist/core/adapters/config/claude-code.d.ts +0 -45
- package/dist/core/adapters/config/claude-code.js +0 -113
- package/dist/core/adapters/config/cursor.d.ts +0 -26
- package/dist/core/adapters/config/cursor.js +0 -74
- package/dist/core/adapters/config/opencode.d.ts +0 -23
- package/dist/core/adapters/config/opencode.js +0 -73
- package/dist/core/adapters/config/windsurf.d.ts +0 -26
- package/dist/core/adapters/config/windsurf.js +0 -74
- package/dist/core/adapters/index.d.ts +0 -45
- package/dist/core/adapters/index.js +0 -84
- package/dist/core/adapters/scripts/install-adapter.d.ts +0 -19
- package/dist/core/adapters/scripts/install-adapter.js +0 -149
- package/dist/core/adapters/timeline.d.ts +0 -23
- package/dist/core/adapters/timeline.js +0 -88
- package/dist/core/adapters/types.d.ts +0 -137
- package/dist/core/adapters/types.js +0 -50
- package/dist/core/agent-preferences.d.ts +0 -16
- package/dist/core/agent-preferences.js +0 -124
- package/dist/core/algorithms/analytics/token-estimator.d.ts +0 -50
- package/dist/core/algorithms/analytics/token-estimator.js +0 -154
- package/dist/core/algorithms/detection/hash-filters.d.ts +0 -47
- package/dist/core/algorithms/detection/hash-filters.js +0 -190
- package/dist/core/algorithms/detection/semantic-ranker.d.ts +0 -32
- package/dist/core/algorithms/detection/semantic-ranker.js +0 -118
- package/dist/core/algorithms/detection/two-stage-detector.d.ts +0 -52
- package/dist/core/algorithms/detection/two-stage-detector.js +0 -299
- package/dist/core/algorithms/handlers/approve-merge.d.ts +0 -22
- package/dist/core/algorithms/handlers/approve-merge.js +0 -179
- package/dist/core/algorithms/handlers/detect-duplicates.d.ts +0 -47
- package/dist/core/algorithms/handlers/detect-duplicates.js +0 -145
- package/dist/core/algorithms/handlers/get-stats.d.ts +0 -39
- package/dist/core/algorithms/handlers/get-stats.js +0 -88
- package/dist/core/algorithms/handlers/list-proposals.d.ts +0 -45
- package/dist/core/algorithms/handlers/list-proposals.js +0 -83
- package/dist/core/algorithms/handlers/preview-merge.d.ts +0 -39
- package/dist/core/algorithms/handlers/preview-merge.js +0 -93
- package/dist/core/algorithms/handlers/reject-merge.d.ts +0 -28
- package/dist/core/algorithms/handlers/reject-merge.js +0 -69
- package/dist/core/algorithms/handlers/reverse-merge.d.ts +0 -21
- package/dist/core/algorithms/handlers/reverse-merge.js +0 -121
- package/dist/core/algorithms/index.d.ts +0 -21
- package/dist/core/algorithms/index.js +0 -26
- package/dist/core/algorithms/operations/cache-maintenance.d.ts +0 -12
- package/dist/core/algorithms/operations/cache-maintenance.js +0 -157
- package/dist/core/algorithms/safety/safety-checks.d.ts +0 -18
- package/dist/core/algorithms/safety/safety-checks.js +0 -179
- package/dist/core/algorithms/strategies/merge-strategies.d.ts +0 -50
- package/dist/core/algorithms/strategies/merge-strategies.js +0 -288
- package/dist/core/algorithms/types.d.ts +0 -125
- package/dist/core/algorithms/types.js +0 -5
- package/dist/core/algorithms/utils/response-builder.d.ts +0 -28
- package/dist/core/algorithms/utils/response-builder.js +0 -37
- package/dist/core/associations.d.ts +0 -33
- package/dist/core/associations.js +0 -284
- package/dist/core/autosave.d.ts +0 -19
- package/dist/core/autosave.js +0 -16
- package/dist/core/beliefs/decay.d.ts +0 -27
- package/dist/core/beliefs/decay.js +0 -217
- package/dist/core/beliefs/extractor.d.ts +0 -9
- package/dist/core/beliefs/extractor.js +0 -113
- package/dist/core/beliefs/store.d.ts +0 -46
- package/dist/core/beliefs/store.js +0 -466
- package/dist/core/beliefs/types.d.ts +0 -28
- package/dist/core/beliefs/types.js +0 -2
- package/dist/core/commands/mcp-server.d.ts +0 -2
- package/dist/core/commands/mcp-server.js +0 -6
- package/dist/core/commands/remember.d.ts +0 -24
- package/dist/core/commands/remember.js +0 -144
- package/dist/core/compression.d.ts +0 -45
- package/dist/core/compression.js +0 -160
- package/dist/core/consolidation.d.ts +0 -37
- package/dist/core/consolidation.js +0 -248
- package/dist/core/context/agent-context.d.ts +0 -106
- package/dist/core/context/agent-context.js +0 -274
- package/dist/core/context/context-paging.d.ts +0 -80
- package/dist/core/context/context-paging.js +0 -328
- package/dist/core/context/context-window.d.ts +0 -40
- package/dist/core/context/context-window.js +0 -177
- package/dist/core/context/context.d.ts +0 -7
- package/dist/core/context/context.js +0 -22
- package/dist/core/embeddings/embeddings.d.ts +0 -29
- package/dist/core/embeddings/embeddings.js +0 -546
- package/dist/core/embeddings/google-multimodal.d.ts +0 -14
- package/dist/core/embeddings/google-multimodal.js +0 -146
- package/dist/core/embeddings/local-embeddings.d.ts +0 -11
- package/dist/core/embeddings/local-embeddings.js +0 -11
- package/dist/core/embeddings/qmd-client.d.ts +0 -136
- package/dist/core/embeddings/qmd-client.js +0 -403
- package/dist/core/embeddings/transformers-local.d.ts +0 -64
- package/dist/core/embeddings/transformers-local.js +0 -213
- package/dist/core/embeddings.d.ts +0 -2
- package/dist/core/embeddings.js +0 -3
- package/dist/core/error-handling.d.ts +0 -63
- package/dist/core/error-handling.js +0 -173
- package/dist/core/graph/entity-deduplicator.d.ts +0 -24
- package/dist/core/graph/entity-deduplicator.js +0 -183
- package/dist/core/graph/graph-builder.d.ts +0 -46
- package/dist/core/graph/graph-builder.js +0 -174
- package/dist/core/graph/graph-traversal.d.ts +0 -80
- package/dist/core/graph/graph-traversal.js +0 -315
- package/dist/core/graph/index.d.ts +0 -19
- package/dist/core/graph/index.js +0 -13
- package/dist/core/graph/llm-entity-extractor.d.ts +0 -49
- package/dist/core/graph/llm-entity-extractor.js +0 -313
- package/dist/core/graph/multi-hop-retrieval.d.ts +0 -48
- package/dist/core/graph/multi-hop-retrieval.js +0 -215
- package/dist/core/graph/relationship-extractor.d.ts +0 -48
- package/dist/core/graph/relationship-extractor.js +0 -351
- package/dist/core/hooks/agent-hooks.d.ts +0 -83
- package/dist/core/hooks/agent-hooks.js +0 -521
- package/dist/core/hooks/auto-tagger.d.ts +0 -19
- package/dist/core/hooks/auto-tagger.js +0 -155
- package/dist/core/hooks/capture-filter.d.ts +0 -41
- package/dist/core/hooks/capture-filter.js +0 -128
- package/dist/core/hot-cache.d.ts +0 -86
- package/dist/core/hot-cache.js +0 -285
- package/dist/core/index.d.ts +0 -10
- package/dist/core/index.js +0 -11
- package/dist/core/ingestion/agent-memory.d.ts +0 -22
- package/dist/core/ingestion/agent-memory.js +0 -109
- package/dist/core/ingestion/core-memory.d.ts +0 -78
- package/dist/core/ingestion/core-memory.js +0 -226
- package/dist/core/ingestion/learnings.d.ts +0 -57
- package/dist/core/ingestion/learnings.js +0 -205
- package/dist/core/ingestion/signal-engine.d.ts +0 -41
- package/dist/core/ingestion/signal-engine.js +0 -201
- package/dist/core/integrations/obsidian-vault.d.ts +0 -31
- package/dist/core/integrations/obsidian-vault.js +0 -156
- package/dist/core/layers/generator.d.ts +0 -25
- package/dist/core/layers/generator.js +0 -76
- package/dist/core/lib/db-client.d.ts +0 -114
- package/dist/core/lib/db-client.js +0 -130
- package/dist/core/lib/parse-embedding.d.ts +0 -9
- package/dist/core/lib/parse-embedding.js +0 -58
- package/dist/core/lib/schemas.d.ts +0 -132
- package/dist/core/lib/schemas.js +0 -87
- package/dist/core/lib/types.d.ts +0 -45
- package/dist/core/lib/types.js +0 -6
- package/dist/core/lib/utils.d.ts +0 -18
- package/dist/core/lib/utils.js +0 -145
- package/dist/core/lib/validation.d.ts +0 -38
- package/dist/core/lib/validation.js +0 -151
- package/dist/core/lifecycle.d.ts +0 -25
- package/dist/core/lifecycle.js +0 -292
- package/dist/core/logger.d.ts +0 -17
- package/dist/core/logger.js +0 -46
- package/dist/core/mcp/client.d.ts +0 -17
- package/dist/core/mcp/client.js +0 -101
- package/dist/core/mcp/index.d.ts +0 -6
- package/dist/core/mcp/index.js +0 -6
- package/dist/core/mcp/server.d.ts +0 -18
- package/dist/core/mcp/server.js +0 -157
- package/dist/core/mcp/standalone-server.d.ts +0 -13
- package/dist/core/mcp/standalone-server.js +0 -46
- package/dist/core/mcp/tools.d.ts +0 -7
- package/dist/core/mcp/tools.js +0 -278
- package/dist/core/mcp/types.d.ts +0 -87
- package/dist/core/mcp/types.js +0 -48
- package/dist/core/memory/bridge-discovery.d.ts +0 -50
- package/dist/core/memory/bridge-discovery.js +0 -291
- package/dist/core/memory/categorizer.d.ts +0 -27
- package/dist/core/memory/categorizer.js +0 -306
- package/dist/core/memory/conflict-detector.d.ts +0 -7
- package/dist/core/memory/conflict-detector.js +0 -43
- package/dist/core/memory/consolidation.d.ts +0 -42
- package/dist/core/memory/consolidation.js +0 -277
- package/dist/core/memory/context-collector.d.ts +0 -10
- package/dist/core/memory/context-collector.js +0 -56
- package/dist/core/memory/contradiction-resolver.d.ts +0 -40
- package/dist/core/memory/contradiction-resolver.js +0 -368
- package/dist/core/memory/edit-workflow.d.ts +0 -19
- package/dist/core/memory/edit-workflow.js +0 -120
- package/dist/core/memory/entity-extractor.d.ts +0 -37
- package/dist/core/memory/entity-extractor.js +0 -350
- package/dist/core/memory/entity-resolver.d.ts +0 -23
- package/dist/core/memory/entity-resolver.js +0 -64
- package/dist/core/memory/explain.d.ts +0 -18
- package/dist/core/memory/explain.js +0 -92
- package/dist/core/memory/fact-deriver.d.ts +0 -31
- package/dist/core/memory/fact-deriver.js +0 -236
- package/dist/core/memory/fact-extractor.d.ts +0 -24
- package/dist/core/memory/fact-extractor.js +0 -89
- package/dist/core/memory/feedback-tracker.d.ts +0 -12
- package/dist/core/memory/feedback-tracker.js +0 -155
- package/dist/core/memory/hooks.d.ts +0 -88
- package/dist/core/memory/hooks.js +0 -174
- package/dist/core/memory/hybrid-retrieval.d.ts +0 -27
- package/dist/core/memory/hybrid-retrieval.js +0 -37
- package/dist/core/memory/hybrid-scorer.d.ts +0 -40
- package/dist/core/memory/hybrid-scorer.js +0 -267
- package/dist/core/memory/hybrid-search.d.ts +0 -23
- package/dist/core/memory/hybrid-search.js +0 -596
- package/dist/core/memory/importance.d.ts +0 -46
- package/dist/core/memory/importance.js +0 -241
- package/dist/core/memory/index.d.ts +0 -9
- package/dist/core/memory/index.js +0 -11
- package/dist/core/memory/loader.d.ts +0 -31
- package/dist/core/memory/loader.js +0 -141
- package/dist/core/memory/markdown/markdown-storage.d.ts +0 -72
- package/dist/core/memory/markdown/markdown-storage.js +0 -243
- package/dist/core/memory/memories.d.ts +0 -43
- package/dist/core/memory/memories.js +0 -452
- package/dist/core/memory/memory-lifecycle.d.ts +0 -8
- package/dist/core/memory/memory-lifecycle.js +0 -47
- package/dist/core/memory/memory-manager.d.ts +0 -15
- package/dist/core/memory/memory-manager.js +0 -46
- package/dist/core/memory/migrate.d.ts +0 -21
- package/dist/core/memory/migrate.js +0 -134
- package/dist/core/memory/normalization.d.ts +0 -7
- package/dist/core/memory/normalization.js +0 -26
- package/dist/core/memory/path-strengthener.d.ts +0 -39
- package/dist/core/memory/path-strengthener.js +0 -150
- package/dist/core/memory/progressive-disclosure.d.ts +0 -43
- package/dist/core/memory/progressive-disclosure.js +0 -280
- package/dist/core/memory/query-processor.d.ts +0 -21
- package/dist/core/memory/query-processor.js +0 -106
- package/dist/core/memory/query-rewriter.d.ts +0 -13
- package/dist/core/memory/query-rewriter.js +0 -118
- package/dist/core/memory/response-analyzer.d.ts +0 -9
- package/dist/core/memory/response-analyzer.js +0 -61
- package/dist/core/memory/retrieval-feedback.d.ts +0 -70
- package/dist/core/memory/retrieval-feedback.js +0 -213
- package/dist/core/memory/serialization.d.ts +0 -10
- package/dist/core/memory/serialization.js +0 -84
- package/dist/core/memory/stale-cleaner.d.ts +0 -26
- package/dist/core/memory/stale-cleaner.js +0 -97
- package/dist/core/memory/stats.d.ts +0 -32
- package/dist/core/memory/stats.js +0 -143
- package/dist/core/memory/telemetry.d.ts +0 -69
- package/dist/core/memory/telemetry.js +0 -313
- package/dist/core/memory/temporal-facts.d.ts +0 -41
- package/dist/core/memory/temporal-facts.js +0 -283
- package/dist/core/memory/temporal-parser.d.ts +0 -32
- package/dist/core/memory/temporal-parser.js +0 -385
- package/dist/core/memory/trigger-detector.d.ts +0 -21
- package/dist/core/memory/trigger-detector.js +0 -79
- package/dist/core/memory/write-gate.d.ts +0 -54
- package/dist/core/memory/write-gate.js +0 -210
- package/dist/core/places/index.d.ts +0 -14
- package/dist/core/places/index.js +0 -14
- package/dist/core/places/memory-places.d.ts +0 -68
- package/dist/core/places/memory-places.js +0 -261
- package/dist/core/places/places.d.ts +0 -88
- package/dist/core/places/places.js +0 -314
- package/dist/core/places/rules.d.ts +0 -74
- package/dist/core/places/rules.js +0 -240
- package/dist/core/places/walking.d.ts +0 -56
- package/dist/core/places/walking.js +0 -121
- package/dist/core/projects.d.ts +0 -17
- package/dist/core/projects.js +0 -116
- package/dist/core/redis.d.ts +0 -11
- package/dist/core/redis.js +0 -69
- package/dist/core/responses.d.ts +0 -96
- package/dist/core/responses.js +0 -122
- package/dist/core/runtime/trust-report.d.ts +0 -102
- package/dist/core/runtime/trust-report.js +0 -107
- package/dist/core/runtime/trust-state.d.ts +0 -12
- package/dist/core/runtime/trust-state.js +0 -309
- package/dist/core/scheduler/cron-scheduler.d.ts +0 -32
- package/dist/core/scheduler/cron-scheduler.js +0 -493
- package/dist/core/scheduler/heartbeat.d.ts +0 -11
- package/dist/core/scheduler/heartbeat.js +0 -73
- package/dist/core/scheduler/index.d.ts +0 -8
- package/dist/core/scheduler/index.js +0 -8
- package/dist/core/scheduler/job-runner.d.ts +0 -11
- package/dist/core/scheduler/job-runner.js +0 -164
- package/dist/core/search/conversations.d.ts +0 -25
- package/dist/core/search/conversations.js +0 -110
- package/dist/core/search/entities.d.ts +0 -12
- package/dist/core/search/entities.js +0 -31
- package/dist/core/search/folder-context.d.ts +0 -25
- package/dist/core/search/folder-context.js +0 -119
- package/dist/core/search/graph-boost.d.ts +0 -7
- package/dist/core/search/graph-boost.js +0 -23
- package/dist/core/search/index.d.ts +0 -4
- package/dist/core/search/index.js +0 -5
- package/dist/core/search/qmd-wrapper.d.ts +0 -36
- package/dist/core/search/qmd-wrapper.js +0 -58
- package/dist/core/security/encrypt.d.ts +0 -6
- package/dist/core/security/encrypt.js +0 -47
- package/dist/core/security/governance.d.ts +0 -26
- package/dist/core/security/governance.js +0 -79
- package/dist/core/security/privacy.d.ts +0 -23
- package/dist/core/security/privacy.js +0 -82
- package/dist/core/security/secret-detector.d.ts +0 -32
- package/dist/core/security/secret-detector.js +0 -88
- package/dist/core/session/auto-load.d.ts +0 -6
- package/dist/core/session/auto-load.js +0 -144
- package/dist/core/session/entity-tracker.d.ts +0 -62
- package/dist/core/session/entity-tracker.js +0 -287
- package/dist/core/session/index.d.ts +0 -7
- package/dist/core/session/index.js +0 -7
- package/dist/core/session/reference-resolver.d.ts +0 -26
- package/dist/core/session/reference-resolver.js +0 -121
- package/dist/core/session/self-iteration-job.d.ts +0 -35
- package/dist/core/session/self-iteration-job.js +0 -387
- package/dist/core/session/session-hooks.d.ts +0 -18
- package/dist/core/session/session-hooks.js +0 -58
- package/dist/core/session/types.d.ts +0 -26
- package/dist/core/session/types.js +0 -10
- package/dist/core/session/working-set.d.ts +0 -50
- package/dist/core/session/working-set.js +0 -212
- package/dist/core/snapshots/cleanup.d.ts +0 -9
- package/dist/core/snapshots/cleanup.js +0 -12
- package/dist/core/snapshots/comparison.d.ts +0 -19
- package/dist/core/snapshots/comparison.js +0 -43
- package/dist/core/snapshots/creation.d.ts +0 -13
- package/dist/core/snapshots/creation.js +0 -117
- package/dist/core/snapshots/retrieval.d.ts +0 -7
- package/dist/core/snapshots/retrieval.js +0 -41
- package/dist/core/snapshots/stats.d.ts +0 -11
- package/dist/core/snapshots/stats.js +0 -52
- package/dist/core/storage/cache.d.ts +0 -13
- package/dist/core/storage/cache.js +0 -202
- package/dist/core/storage/database.d.ts +0 -12
- package/dist/core/storage/database.js +0 -12
- package/dist/core/summarization/cleanup.d.ts +0 -9
- package/dist/core/summarization/cleanup.js +0 -12
- package/dist/core/summarization/queries.d.ts +0 -9
- package/dist/core/summarization/queries.js +0 -28
- package/dist/core/summarization/stats.d.ts +0 -14
- package/dist/core/summarization/stats.js +0 -52
- package/dist/core/summarization/strategies.d.ts +0 -24
- package/dist/core/summarization/strategies.js +0 -28
- package/dist/core/summarization.d.ts +0 -37
- package/dist/core/summarization.js +0 -188
- package/dist/core/temporal-facts.d.ts +0 -54
- package/dist/core/temporal-facts.js +0 -193
- package/dist/core/tracing/collector.d.ts +0 -111
- package/dist/core/tracing/collector.js +0 -350
- package/dist/core/tracing/visualizer.d.ts +0 -32
- package/dist/core/tracing/visualizer.js +0 -165
- package/dist/core/utils/cleanup-operations.d.ts +0 -13
- package/dist/core/utils/cleanup-operations.js +0 -44
- package/dist/core/utils/content-extraction.d.ts +0 -19
- package/dist/core/utils/content-extraction.js +0 -75
- package/dist/core/utils/filter-builder.d.ts +0 -13
- package/dist/core/utils/filter-builder.js +0 -44
- package/dist/core/utils/history-traversal.d.ts +0 -13
- package/dist/core/utils/history-traversal.js +0 -50
- package/dist/core/utils/memory-operations.d.ts +0 -17
- package/dist/core/utils/memory-operations.js +0 -43
- package/dist/core/utils/query-operations.d.ts +0 -18
- package/dist/core/utils/query-operations.js +0 -65
- package/dist/core/utils/summarization-helpers.d.ts +0 -17
- package/dist/core/utils/summarization-helpers.js +0 -33
- package/dist/core/utils/temporal-queries.d.ts +0 -13
- package/dist/core/utils/temporal-queries.js +0 -27
- package/dist/core/utils/vector-operations.d.ts +0 -71
- package/dist/core/utils/vector-operations.js +0 -129
- package/dist/core/utils/version-management.d.ts +0 -9
- package/dist/core/utils/version-management.js +0 -61
- package/dist/core/worker.d.ts +0 -82
- package/dist/core/worker.js +0 -272
- package/dist/db/adapter.d.ts +0 -7
- package/dist/db/adapter.js +0 -175
- package/dist/db/bootstrap.d.ts +0 -11
- package/dist/db/bootstrap.js +0 -1034
- package/dist/db/drizzle/schema-sqlite.d.ts +0 -5538
- package/dist/db/drizzle/schema-sqlite.js +0 -763
- package/dist/db/drizzle/schema.d.ts +0 -4734
- package/dist/db/drizzle/schema.js +0 -859
- package/dist/db/drizzle.config.d.ts +0 -3
- package/dist/db/drizzle.config.js +0 -12
- package/dist/db/index.d.ts +0 -7
- package/dist/db/index.js +0 -89
- package/dist/db/migrations/associations.d.ts +0 -6
- package/dist/db/migrations/associations.js +0 -29
- package/dist/db/migrations/beliefs.d.ts +0 -10
- package/dist/db/migrations/beliefs.js +0 -76
- package/dist/db/migrations/core-memory.d.ts +0 -6
- package/dist/db/migrations/core-memory.js +0 -29
- package/dist/db/migrations/fts.d.ts +0 -6
- package/dist/db/migrations/fts.js +0 -52
- package/dist/db/migrations/index.d.ts +0 -25
- package/dist/db/migrations/index.js +0 -51
- package/dist/db/migrations/indexes.d.ts +0 -6
- package/dist/db/migrations/indexes.js +0 -30
- package/dist/db/migrations/learnings.d.ts +0 -7
- package/dist/db/migrations/learnings.js +0 -26
- package/dist/db/migrations/maintenance.d.ts +0 -6
- package/dist/db/migrations/maintenance.js +0 -61
- package/dist/db/migrations/memories.d.ts +0 -7
- package/dist/db/migrations/memories.js +0 -16
- package/dist/db/migrations/memory-places.d.ts +0 -6
- package/dist/db/migrations/memory-places.js +0 -29
- package/dist/db/migrations/places.d.ts +0 -6
- package/dist/db/migrations/places.js +0 -43
- package/dist/db/migrations/projects.d.ts +0 -3
- package/dist/db/migrations/projects.js +0 -13
- package/dist/db/migrations/tier-conversion.d.ts +0 -7
- package/dist/db/migrations/tier-conversion.js +0 -20
- package/dist/db/neon.d.ts +0 -8
- package/dist/db/neon.js +0 -20
- package/dist/db/schema/beliefs.d.ts +0 -9
- package/dist/db/schema/beliefs.js +0 -46
- package/dist/db/schema/generator.d.ts +0 -38
- package/dist/db/schema/generator.js +0 -108
- package/dist/db/schema/index.d.ts +0 -39
- package/dist/db/schema/index.js +0 -51
- package/dist/db/schema/learnings.d.ts +0 -7
- package/dist/db/schema/learnings.js +0 -30
- package/dist/db/schema/memories.d.ts +0 -7
- package/dist/db/schema/memories.js +0 -81
- package/dist/db/schema/projects.d.ts +0 -4
- package/dist/db/schema/projects.js +0 -31
- package/dist/db/schema/tables/context-sessions.d.ts +0 -9
- package/dist/db/schema/tables/context-sessions.js +0 -37
- package/dist/db/schema/tables/conversations.d.ts +0 -9
- package/dist/db/schema/tables/conversations.js +0 -47
- package/dist/db/schema/tables/core-memory.d.ts +0 -9
- package/dist/db/schema/tables/core-memory.js +0 -41
- package/dist/db/schema/tables/entities.d.ts +0 -9
- package/dist/db/schema/tables/entities.js +0 -39
- package/dist/db/schema/tables/entity-relations.d.ts +0 -9
- package/dist/db/schema/tables/entity-relations.js +0 -31
- package/dist/db/schema/tables/learnings.d.ts +0 -9
- package/dist/db/schema/tables/learnings.js +0 -66
- package/dist/db/schema/tables/memories.d.ts +0 -9
- package/dist/db/schema/tables/memories.js +0 -161
- package/dist/db/schema/tables/memory-associations.d.ts +0 -9
- package/dist/db/schema/tables/memory-associations.js +0 -39
- package/dist/db/schema/tables/memory-hash-cache.d.ts +0 -9
- package/dist/db/schema/tables/memory-hash-cache.js +0 -29
- package/dist/db/schema/tables/memory-merge-history.d.ts +0 -9
- package/dist/db/schema/tables/memory-merge-history.js +0 -33
- package/dist/db/schema/tables/memory-merge-proposals.d.ts +0 -9
- package/dist/db/schema/tables/memory-merge-proposals.js +0 -39
- package/dist/db/schema/tables/messages.d.ts +0 -9
- package/dist/db/schema/tables/messages.js +0 -41
- package/dist/db/schema/tables/namespaces.d.ts +0 -9
- package/dist/db/schema/tables/namespaces.js +0 -37
- package/dist/db/schema/tables/projects.d.ts +0 -9
- package/dist/db/schema/tables/projects.js +0 -31
- package/dist/db/schema/tables/users.d.ts +0 -9
- package/dist/db/schema/tables/users.js +0 -27
- package/dist/db/schema.d.ts +0 -3
- package/dist/db/schema.js +0 -11
- package/dist/db/supabase.d.ts +0 -9
- package/dist/db/supabase.js +0 -24
- package/dist/packages/mcp/src/index.d.ts +0 -3
- package/dist/packages/mcp/src/index.js +0 -733
|
@@ -1,288 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type-specific merge strategies for different memory types.
|
|
3
|
-
* Each type has different merge semantics to preserve meaning and prevent data loss.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Base implementation of MergeStrategy with common functionality.
|
|
7
|
-
* Reduces code duplication across specific merge strategies.
|
|
8
|
-
*/
|
|
9
|
-
export class BaseMergeStrategy {
|
|
10
|
-
canMerge(sources) {
|
|
11
|
-
if (sources.length < 2) {
|
|
12
|
-
return { ok: false, reason: 'Need at least 2 memories to merge' };
|
|
13
|
-
}
|
|
14
|
-
return { ok: true };
|
|
15
|
-
}
|
|
16
|
-
validateSources(sources) {
|
|
17
|
-
return sources.length >= 2;
|
|
18
|
-
}
|
|
19
|
-
handleEmptySources() {
|
|
20
|
-
return {
|
|
21
|
-
content: '',
|
|
22
|
-
summary: null,
|
|
23
|
-
tags: [],
|
|
24
|
-
metadata: {},
|
|
25
|
-
mergeReason: 'Empty source set',
|
|
26
|
-
conflictWarnings: [],
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
mergeTags(sources) {
|
|
30
|
-
const tagSet = new Set();
|
|
31
|
-
for (const source of sources) {
|
|
32
|
-
for (const tag of source.tags || []) {
|
|
33
|
-
tagSet.add(tag);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return Array.from(tagSet);
|
|
37
|
-
}
|
|
38
|
-
buildBaseMetadata(sources, extra) {
|
|
39
|
-
return {
|
|
40
|
-
mergedFrom: sources.map((m) => m.id),
|
|
41
|
-
mergeCount: sources.length,
|
|
42
|
-
...extra,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
sortByDate(sources, order = 'desc') {
|
|
46
|
-
const sorted = [...sources].sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
|
|
47
|
-
return order === 'asc' ? [...sorted].reverse() : sorted;
|
|
48
|
-
}
|
|
49
|
-
sortChronologically(sources) {
|
|
50
|
-
return [...sources].sort((a, b) => new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime());
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* FACT strategy: Union of information, remove exact duplicates.
|
|
55
|
-
* Combines all unique facts into a unified statement with provenance tracking.
|
|
56
|
-
*/
|
|
57
|
-
class FactMergeStrategy extends BaseMergeStrategy {
|
|
58
|
-
type = 'fact';
|
|
59
|
-
merge(sources) {
|
|
60
|
-
if (sources.length === 0) {
|
|
61
|
-
return this.handleEmptySources();
|
|
62
|
-
}
|
|
63
|
-
// Split content into sentences and deduplicate
|
|
64
|
-
const sentenceSet = new Set();
|
|
65
|
-
const timestamps = [];
|
|
66
|
-
for (const source of sources) {
|
|
67
|
-
// Extract sentences (split by period, exclamation, question)
|
|
68
|
-
const sentences = source.content
|
|
69
|
-
.split(/[.!?]\s+/)
|
|
70
|
-
.map((s) => s.trim())
|
|
71
|
-
.filter((s) => s.length > 0);
|
|
72
|
-
for (const sentence of sentences) {
|
|
73
|
-
sentenceSet.add(sentence);
|
|
74
|
-
}
|
|
75
|
-
if (source.createdAt) {
|
|
76
|
-
timestamps.push(source.createdAt);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
// Sort sentences for consistency
|
|
80
|
-
const mergedSentences = Array.from(sentenceSet).sort();
|
|
81
|
-
const content = mergedSentences.join('. ') + (mergedSentences.length > 0 ? '.' : '');
|
|
82
|
-
// Build merged metadata with provenance
|
|
83
|
-
const metadata = this.buildBaseMetadata(sources, {
|
|
84
|
-
timestamps: timestamps.sort(),
|
|
85
|
-
});
|
|
86
|
-
return {
|
|
87
|
-
content,
|
|
88
|
-
summary: null,
|
|
89
|
-
tags: this.mergeTags(sources),
|
|
90
|
-
metadata,
|
|
91
|
-
mergeReason: `Merged ${sources.length} facts by combining all unique statements`,
|
|
92
|
-
conflictWarnings: [],
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* PREFERENCE strategy: Keep latest by timestamp, track evolution history.
|
|
98
|
-
* Warns if preferences conflict, indicating user changed their mind.
|
|
99
|
-
*/
|
|
100
|
-
class PreferenceMergeStrategy extends BaseMergeStrategy {
|
|
101
|
-
type = 'preference';
|
|
102
|
-
merge(sources) {
|
|
103
|
-
if (sources.length === 0) {
|
|
104
|
-
return this.handleEmptySources();
|
|
105
|
-
}
|
|
106
|
-
// Sort by creation date (newest first)
|
|
107
|
-
const sorted = this.sortByDate(sources);
|
|
108
|
-
const latest = sorted[0];
|
|
109
|
-
const warnings = [];
|
|
110
|
-
// Check for conflicting preferences
|
|
111
|
-
const uniqueContents = new Set(sources.map((m) => m.content));
|
|
112
|
-
if (uniqueContents.size > 1) {
|
|
113
|
-
warnings.push(`Multiple preferences detected: ${Array.from(uniqueContents).join(', ')}`);
|
|
114
|
-
warnings.push(`Using latest preference from ${latest.createdAt || 'unknown date'}`);
|
|
115
|
-
}
|
|
116
|
-
// Build history timeline
|
|
117
|
-
const history = sorted.map((m) => ({
|
|
118
|
-
preference: m.content,
|
|
119
|
-
createdAt: m.createdAt,
|
|
120
|
-
confidence: m.confidence || 100,
|
|
121
|
-
source: m.source,
|
|
122
|
-
}));
|
|
123
|
-
const metadata = this.buildBaseMetadata(sources, {
|
|
124
|
-
preferenceHistory: history,
|
|
125
|
-
latestAt: latest.createdAt,
|
|
126
|
-
});
|
|
127
|
-
const summary = sources.length > 1
|
|
128
|
-
? `Prefers: ${latest.content} (evolved from ${sources.length} preferences)`
|
|
129
|
-
: null;
|
|
130
|
-
return {
|
|
131
|
-
content: latest.content,
|
|
132
|
-
summary,
|
|
133
|
-
tags: latest.tags || [],
|
|
134
|
-
metadata,
|
|
135
|
-
mergeReason: `Merged ${sources.length} preference records, keeping latest from ${latest.createdAt}`,
|
|
136
|
-
conflictWarnings: warnings,
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* DECISION strategy: Keep latest decision, link to previous ones in timeline.
|
|
142
|
-
* Warns if decisions contradict, preserving rationale history.
|
|
143
|
-
*/
|
|
144
|
-
class DecisionMergeStrategy extends BaseMergeStrategy {
|
|
145
|
-
type = 'decision';
|
|
146
|
-
merge(sources) {
|
|
147
|
-
if (sources.length === 0) {
|
|
148
|
-
return this.handleEmptySources();
|
|
149
|
-
}
|
|
150
|
-
// Sort by creation date (newest first)
|
|
151
|
-
const sorted = this.sortByDate(sources);
|
|
152
|
-
const latest = sorted[0];
|
|
153
|
-
const warnings = [];
|
|
154
|
-
// Check for conflicting decisions
|
|
155
|
-
const uniqueDecisions = new Set(sources.map((m) => m.content));
|
|
156
|
-
if (uniqueDecisions.size > 1) {
|
|
157
|
-
warnings.push(`Decision changed: was ${sorted[sorted.length - 1].content}, now ${latest.content}`);
|
|
158
|
-
}
|
|
159
|
-
// Build decision timeline
|
|
160
|
-
const timeline = sorted.map((m) => ({
|
|
161
|
-
decision: m.content,
|
|
162
|
-
createdAt: m.createdAt,
|
|
163
|
-
confidence: m.confidence || 100,
|
|
164
|
-
rationale: m.summary || 'No rationale recorded',
|
|
165
|
-
}));
|
|
166
|
-
const metadata = this.buildBaseMetadata(sources, {
|
|
167
|
-
decisionTimeline: timeline,
|
|
168
|
-
currentDecisionAt: latest.createdAt,
|
|
169
|
-
supersedes: sorted.slice(1).map((m) => m.id),
|
|
170
|
-
});
|
|
171
|
-
const summary = sources.length > 1 ? `Decided: ${latest.content} (${sources.length} decisions)` : null;
|
|
172
|
-
return {
|
|
173
|
-
content: latest.content,
|
|
174
|
-
summary,
|
|
175
|
-
tags: latest.tags || [],
|
|
176
|
-
metadata,
|
|
177
|
-
mergeReason: `Merged ${sources.length} decision records, keeping latest from ${latest.createdAt}`,
|
|
178
|
-
conflictWarnings: warnings,
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* OBSERVATION strategy: Aggregate observations in chronological order.
|
|
184
|
-
* Preserves temporal patterns and frequency information.
|
|
185
|
-
*/
|
|
186
|
-
class ObservationMergeStrategy extends BaseMergeStrategy {
|
|
187
|
-
type = 'observation';
|
|
188
|
-
merge(sources) {
|
|
189
|
-
if (sources.length === 0) {
|
|
190
|
-
return this.handleEmptySources();
|
|
191
|
-
}
|
|
192
|
-
// Sort chronologically
|
|
193
|
-
const sorted = this.sortChronologically(sources);
|
|
194
|
-
// Create observation summary
|
|
195
|
-
const observations = sorted.map((m) => `• ${m.content}`).join('\n');
|
|
196
|
-
const metadata = this.buildBaseMetadata(sources, {
|
|
197
|
-
observationCount: sources.length,
|
|
198
|
-
timeSpan: {
|
|
199
|
-
start: sorted[0].createdAt,
|
|
200
|
-
end: sorted[sorted.length - 1].createdAt,
|
|
201
|
-
},
|
|
202
|
-
chronologicalOrder: sorted.map((m) => ({
|
|
203
|
-
id: m.id,
|
|
204
|
-
content: m.content,
|
|
205
|
-
createdAt: m.createdAt,
|
|
206
|
-
})),
|
|
207
|
-
});
|
|
208
|
-
return {
|
|
209
|
-
content: `Observations (${sources.length} total):\n${observations}`,
|
|
210
|
-
summary: `${sources.length} observations over time period`,
|
|
211
|
-
tags: this.mergeTags(sources),
|
|
212
|
-
metadata,
|
|
213
|
-
mergeReason: `Merged ${sources.length} observations chronologically`,
|
|
214
|
-
conflictWarnings: [],
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* CONTEXT strategy: Union of unique context, remove exact duplicates.
|
|
220
|
-
* Preserves all distinct context items.
|
|
221
|
-
*/
|
|
222
|
-
class ContextMergeStrategy extends BaseMergeStrategy {
|
|
223
|
-
type = 'context';
|
|
224
|
-
merge(sources) {
|
|
225
|
-
if (sources.length === 0) {
|
|
226
|
-
return this.handleEmptySources();
|
|
227
|
-
}
|
|
228
|
-
// Deduplicate by content (exact matches)
|
|
229
|
-
const uniqueContexts = new Map();
|
|
230
|
-
for (const source of sources) {
|
|
231
|
-
if (!uniqueContexts.has(source.content)) {
|
|
232
|
-
uniqueContexts.set(source.content, source);
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
// Format as list
|
|
236
|
-
const contextList = Array.from(uniqueContexts.keys())
|
|
237
|
-
.sort()
|
|
238
|
-
.map((content) => `• ${content}`)
|
|
239
|
-
.join('\n');
|
|
240
|
-
const metadata = this.buildBaseMetadata(sources, {
|
|
241
|
-
uniqueContextCount: uniqueContexts.size,
|
|
242
|
-
totalContextCount: sources.length,
|
|
243
|
-
deduplicatedEntries: sources.length - uniqueContexts.size,
|
|
244
|
-
});
|
|
245
|
-
return {
|
|
246
|
-
content: contextList,
|
|
247
|
-
summary: `${uniqueContexts.size} context items (${sources.length} total)`,
|
|
248
|
-
tags: this.mergeTags(sources),
|
|
249
|
-
metadata,
|
|
250
|
-
mergeReason: `Merged ${sources.length} context records into ${uniqueContexts.size} unique items`,
|
|
251
|
-
conflictWarnings: [],
|
|
252
|
-
};
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
export const MERGE_STRATEGIES = {
|
|
256
|
-
fact: new FactMergeStrategy(),
|
|
257
|
-
preference: new PreferenceMergeStrategy(),
|
|
258
|
-
decision: new DecisionMergeStrategy(),
|
|
259
|
-
observation: new ObservationMergeStrategy(),
|
|
260
|
-
context: new ContextMergeStrategy(),
|
|
261
|
-
reflection: new ObservationMergeStrategy(),
|
|
262
|
-
note: new ObservationMergeStrategy(), // jot uses observation strategy
|
|
263
|
-
};
|
|
264
|
-
export function getMergeStrategy(type) {
|
|
265
|
-
const strategy = MERGE_STRATEGIES[type];
|
|
266
|
-
if (!strategy) {
|
|
267
|
-
throw new Error(`No merge strategy defined for type: ${type}`);
|
|
268
|
-
}
|
|
269
|
-
return strategy;
|
|
270
|
-
}
|
|
271
|
-
export function mergeMemories(sources) {
|
|
272
|
-
if (sources.length === 0) {
|
|
273
|
-
throw new Error('Cannot merge: no source memories');
|
|
274
|
-
}
|
|
275
|
-
// All sources must be same type
|
|
276
|
-
const type = sources[0].type;
|
|
277
|
-
const allSameType = sources.every((m) => m.type === type);
|
|
278
|
-
if (!allSameType) {
|
|
279
|
-
throw new Error('Cannot merge: memories must be same type');
|
|
280
|
-
}
|
|
281
|
-
const strategy = getMergeStrategy(type);
|
|
282
|
-
const canMerge = strategy.canMerge(sources);
|
|
283
|
-
if (!canMerge.ok) {
|
|
284
|
-
throw new Error(`Cannot merge: ${canMerge.reason}`);
|
|
285
|
-
}
|
|
286
|
-
return strategy.merge(sources);
|
|
287
|
-
}
|
|
288
|
-
//# sourceMappingURL=merge-strategies.js.map
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TypeScript types and interfaces for memory merging
|
|
3
|
-
*/
|
|
4
|
-
import type { Memory, MemoryMergeProposal } from '../../db/drizzle/schema.js';
|
|
5
|
-
/**
|
|
6
|
-
* Merge proposal status
|
|
7
|
-
*/
|
|
8
|
-
export type MergeProposalStatus = 'pending' | 'approved' | 'rejected' | 'expired';
|
|
9
|
-
/**
|
|
10
|
-
* Confidence level for merge suggestions
|
|
11
|
-
*/
|
|
12
|
-
export type ConfidenceLevel = 'high' | 'medium' | 'low';
|
|
13
|
-
/**
|
|
14
|
-
* Detection method used to find duplicates
|
|
15
|
-
*/
|
|
16
|
-
export type DetectionMethod = 'simhash' | 'minhash' | 'embedding';
|
|
17
|
-
/**
|
|
18
|
-
* Merge strategy type per memory type
|
|
19
|
-
*/
|
|
20
|
-
export type MergeStrategyType = 'union' | 'latest' | 'voting' | 'custom';
|
|
21
|
-
/**
|
|
22
|
-
* Memory pair candidate for merging
|
|
23
|
-
*/
|
|
24
|
-
export interface MemoryMergePair {
|
|
25
|
-
memory1: Memory;
|
|
26
|
-
memory2: Memory;
|
|
27
|
-
similarityScore: number;
|
|
28
|
-
detectionMethod: DetectionMethod;
|
|
29
|
-
confidenceLevel: ConfidenceLevel;
|
|
30
|
-
mergeReason: string;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Merge proposal with all details
|
|
34
|
-
*/
|
|
35
|
-
export interface MergeProposalDetails {
|
|
36
|
-
proposal: MemoryMergeProposal;
|
|
37
|
-
sourceMemories: Memory[];
|
|
38
|
-
previewMerged: {
|
|
39
|
-
content: string;
|
|
40
|
-
summary: string | null;
|
|
41
|
-
tags: string[];
|
|
42
|
-
metadata: Record<string, unknown>;
|
|
43
|
-
};
|
|
44
|
-
analysis: {
|
|
45
|
-
savedTokens: number;
|
|
46
|
-
savedPercentage: number;
|
|
47
|
-
conflictWarnings: string[];
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Merge result after approval
|
|
52
|
-
*/
|
|
53
|
-
export interface MergeResult {
|
|
54
|
-
proposalId: string;
|
|
55
|
-
canonicalMemoryId: string;
|
|
56
|
-
mergedMemoryIds: string[];
|
|
57
|
-
tokensSaved: number;
|
|
58
|
-
mergedAt: Date;
|
|
59
|
-
mergeHistoryId?: string;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Merge reversal result
|
|
63
|
-
*/
|
|
64
|
-
export interface MergeReversal {
|
|
65
|
-
mergeHistoryId: string;
|
|
66
|
-
canonicalMemoryId: string;
|
|
67
|
-
restoredMemoryIds: string[];
|
|
68
|
-
reversedAt: Date;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Detection statistics
|
|
72
|
-
*/
|
|
73
|
-
export interface DetectionStatistics {
|
|
74
|
-
totalMemories: number;
|
|
75
|
-
scannedMemories: number;
|
|
76
|
-
candidatesFound: number;
|
|
77
|
-
candidatesRanked: number;
|
|
78
|
-
estimatedTokensSaved: number;
|
|
79
|
-
timeMs: {
|
|
80
|
-
stage1: number;
|
|
81
|
-
stage2: number;
|
|
82
|
-
total: number;
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Project merge statistics
|
|
87
|
-
*/
|
|
88
|
-
export interface ProjectMergeStatistics {
|
|
89
|
-
projectId: string;
|
|
90
|
-
totalMemories: number;
|
|
91
|
-
mergeableMemories: number;
|
|
92
|
-
mergedMemories: number;
|
|
93
|
-
canonicalMemories: number;
|
|
94
|
-
pendingProposals: number;
|
|
95
|
-
approvedMerges: number;
|
|
96
|
-
rejectedProposals: number;
|
|
97
|
-
reversedMerges: number;
|
|
98
|
-
tokensSaved: {
|
|
99
|
-
total: number;
|
|
100
|
-
formatted: string;
|
|
101
|
-
percentage: number;
|
|
102
|
-
};
|
|
103
|
-
averageMergeSize: number;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Hash cache entry for fast duplicate detection
|
|
107
|
-
*/
|
|
108
|
-
export interface HashCacheEntry {
|
|
109
|
-
memoryId: string;
|
|
110
|
-
simhash: string;
|
|
111
|
-
minhash: number[];
|
|
112
|
-
contentHash: string;
|
|
113
|
-
lastUpdated: Date;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Stage 1 candidate pair with hash distances
|
|
117
|
-
*/
|
|
118
|
-
export interface Stage1CandidatePair {
|
|
119
|
-
memoryId1: string;
|
|
120
|
-
memoryId2: string;
|
|
121
|
-
simhashDistance: number;
|
|
122
|
-
minhashSimilarity: number;
|
|
123
|
-
matched: 'simhash' | 'minhash' | 'both';
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unified response builder for algorithm handlers
|
|
3
|
-
* Provides consistent response formatting across all algorithm handlers
|
|
4
|
-
*/
|
|
5
|
-
export interface ErrorResponse {
|
|
6
|
-
ok: false;
|
|
7
|
-
message: string;
|
|
8
|
-
error: string;
|
|
9
|
-
}
|
|
10
|
-
export interface SuccessResponse<T = unknown> {
|
|
11
|
-
ok: true;
|
|
12
|
-
message: string;
|
|
13
|
-
data?: T;
|
|
14
|
-
}
|
|
15
|
-
export type ApiResponse<T = unknown> = ErrorResponse | SuccessResponse<T>;
|
|
16
|
-
/**
|
|
17
|
-
* Build a success response with optional data
|
|
18
|
-
*/
|
|
19
|
-
export declare function buildSuccessResponse<T = unknown>(message: string, data?: T): SuccessResponse<T>;
|
|
20
|
-
/**
|
|
21
|
-
* Build an error response
|
|
22
|
-
*/
|
|
23
|
-
export declare function buildErrorResponse(message: string, error?: unknown): ErrorResponse;
|
|
24
|
-
/**
|
|
25
|
-
* Wrap async handlers with consistent error handling
|
|
26
|
-
*/
|
|
27
|
-
export declare function withErrorHandler<T>(handler: () => Promise<T>, errorMessage: string): Promise<ApiResponse<T>>;
|
|
28
|
-
//# sourceMappingURL=response-builder.d.ts.map
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unified response builder for algorithm handlers
|
|
3
|
-
* Provides consistent response formatting across all algorithm handlers
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Build a success response with optional data
|
|
7
|
-
*/
|
|
8
|
-
export function buildSuccessResponse(message, data) {
|
|
9
|
-
const response = { ok: true, message };
|
|
10
|
-
if (data !== undefined) {
|
|
11
|
-
response.data = data;
|
|
12
|
-
}
|
|
13
|
-
return response;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Build an error response
|
|
17
|
-
*/
|
|
18
|
-
export function buildErrorResponse(message, error) {
|
|
19
|
-
return {
|
|
20
|
-
ok: false,
|
|
21
|
-
message,
|
|
22
|
-
error: error instanceof Error ? error.message : String(error || 'Unknown error'),
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Wrap async handlers with consistent error handling
|
|
27
|
-
*/
|
|
28
|
-
export async function withErrorHandler(handler, errorMessage) {
|
|
29
|
-
try {
|
|
30
|
-
const result = await handler();
|
|
31
|
-
return buildSuccessResponse(errorMessage, result);
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
return buildErrorResponse(errorMessage, error);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=response-builder.js.map
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Memory Association Graph (Waypoint Graph)
|
|
3
|
-
* Tracks co-occurrence and relationships between memories
|
|
4
|
-
*/
|
|
5
|
-
export type AssociationType = 'co_occurred' | 'supersedes' | 'contradicts' | 'supports' | 'relates_to' | 'duplicate' | 'merged';
|
|
6
|
-
/**
|
|
7
|
-
* Create or update an association between two memories
|
|
8
|
-
*/
|
|
9
|
-
export declare function createAssociation(fromMemoryId: string, toMemoryId: string, type: AssociationType, weight?: number): Promise<void>;
|
|
10
|
-
/**
|
|
11
|
-
* Auto-link memories that share entities
|
|
12
|
-
* Called after storing a memory to link it to related memories
|
|
13
|
-
*/
|
|
14
|
-
export declare function autoLinkByEntities(newMemoryId: string, entityNames: string[], projectId: string): Promise<number>;
|
|
15
|
-
export declare function trackCoactivation(memoryIds: string[]): Promise<void>;
|
|
16
|
-
/**
|
|
17
|
-
* Get related memories via the association graph
|
|
18
|
-
*/
|
|
19
|
-
export declare function getRelatedMemories(memoryId: string, limit?: number): Promise<any[]>;
|
|
20
|
-
/**
|
|
21
|
-
* Prune weak associations (weight < threshold)
|
|
22
|
-
*/
|
|
23
|
-
export declare function pruneWeakAssociations(weightThreshold?: number): Promise<number>;
|
|
24
|
-
/**
|
|
25
|
-
* Get association statistics
|
|
26
|
-
*/
|
|
27
|
-
export declare function getAssociationStats(): Promise<{
|
|
28
|
-
totalAssociations: number;
|
|
29
|
-
byType: Record<string, number>;
|
|
30
|
-
avgWeight: number;
|
|
31
|
-
maxWeight: number;
|
|
32
|
-
}>;
|
|
33
|
-
//# sourceMappingURL=associations.d.ts.map
|