memento-mcp-server 1.32.0 → 1.33.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/config/ranking-profiles/default.toml +10 -0
- package/config/ranking-weights.toml +5 -0
- package/dist/node_modules/@memento/core/dist/bootstrap/search-and-embedding.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/bootstrap/search-and-embedding.js +3 -0
- package/dist/node_modules/@memento/core/dist/bootstrap/search-and-embedding.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/config/ranking-profiles/default.toml +10 -0
- package/dist/node_modules/@memento/core/dist/config/ranking-weights.toml +5 -0
- package/dist/node_modules/@memento/core/dist/database/schema.sql +5 -4
- package/dist/node_modules/@memento/core/dist/domains/consolidation/services/summarization-service.d.ts +6 -0
- package/dist/node_modules/@memento/core/dist/domains/consolidation/services/summarization-service.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/consolidation/services/summarization-service.js +37 -3
- package/dist/node_modules/@memento/core/dist/domains/consolidation/services/summarization-service.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/embedding/services/minilm-embedding-service.d.ts +17 -0
- package/dist/node_modules/@memento/core/dist/domains/embedding/services/minilm-embedding-service.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/embedding/services/minilm-embedding-service.js +34 -12
- package/dist/node_modules/@memento/core/dist/domains/embedding/services/minilm-embedding-service.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/embedding/services/unified-embedding-service.d.ts +5 -0
- package/dist/node_modules/@memento/core/dist/domains/embedding/services/unified-embedding-service.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/embedding/services/unified-embedding-service.js +7 -0
- package/dist/node_modules/@memento/core/dist/domains/embedding/services/unified-embedding-service.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/remember/remember-tool-memory-item.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/remember/remember-tool-memory-item.js +70 -13
- package/dist/node_modules/@memento/core/dist/domains/memory/remember/remember-tool-memory-item.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/remember/remember-tool-schema.d.ts +64 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/remember/remember-tool-schema.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/remember/remember-tool-schema.js +12 -0
- package/dist/node_modules/@memento/core/dist/domains/memory/remember/remember-tool-schema.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/remember/remember-tool.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/remember/remember-tool.js +5 -0
- package/dist/node_modules/@memento/core/dist/domains/memory/remember/remember-tool.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/review/memory-review-candidate-list-query.d.ts +23 -0
- package/dist/node_modules/@memento/core/dist/domains/memory/review/memory-review-candidate-list-query.d.ts.map +1 -0
- package/dist/node_modules/@memento/core/dist/domains/memory/review/memory-review-candidate-list-query.js +118 -0
- package/dist/node_modules/@memento/core/dist/domains/memory/review/memory-review-candidate-list-query.js.map +1 -0
- package/dist/node_modules/@memento/core/dist/domains/memory/review/memory-review-candidate-persistence-service.d.ts +4 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/review/memory-review-candidate-persistence-service.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/review/memory-review-candidate-persistence-service.js +39 -0
- package/dist/node_modules/@memento/core/dist/domains/memory/review/memory-review-candidate-persistence-service.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/review/memory-review-candidate-persistence.types.d.ts +34 -0
- package/dist/node_modules/@memento/core/dist/domains/memory/review/memory-review-candidate-persistence.types.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/semantic/duplicate-content-plan.d.ts +29 -0
- package/dist/node_modules/@memento/core/dist/domains/memory/semantic/duplicate-content-plan.d.ts.map +1 -0
- package/dist/node_modules/@memento/core/dist/domains/memory/semantic/duplicate-content-plan.js +104 -0
- package/dist/node_modules/@memento/core/dist/domains/memory/semantic/duplicate-content-plan.js.map +1 -0
- package/dist/node_modules/@memento/core/dist/domains/memory/semantic/semantic-memory-crud.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/semantic/semantic-memory-crud.js +2 -2
- package/dist/node_modules/@memento/core/dist/domains/memory/semantic/semantic-memory-crud.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/semantic/semantic-memory-scoring.d.ts +7 -2
- package/dist/node_modules/@memento/core/dist/domains/memory/semantic/semantic-memory-scoring.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/semantic/semantic-memory-scoring.js +7 -10
- package/dist/node_modules/@memento/core/dist/domains/memory/semantic/semantic-memory-scoring.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/services/knowledge-context-bundle-builder.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/services/knowledge-context-bundle-builder.js +52 -2
- package/dist/node_modules/@memento/core/dist/domains/memory/services/knowledge-context-bundle-builder.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/services/memory-embedding-service.d.ts +1 -0
- package/dist/node_modules/@memento/core/dist/domains/memory/services/memory-embedding-service.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/services/memory-embedding-service.js +42 -3
- package/dist/node_modules/@memento/core/dist/domains/memory/services/memory-embedding-service.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/tools/forget-tool.d.ts +1 -0
- package/dist/node_modules/@memento/core/dist/domains/memory/tools/forget-tool.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/memory/tools/forget-tool.js +42 -17
- package/dist/node_modules/@memento/core/dist/domains/memory/tools/forget-tool.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/predicate-canonicalizer.d.ts +2 -0
- package/dist/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/predicate-canonicalizer.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/predicate-canonicalizer.js +59 -5
- package/dist/node_modules/@memento/core/dist/domains/relation/services/triple-extraction/predicate-canonicalizer.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-result-ranker.d.ts +2 -0
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-result-ranker.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-result-ranker.js +23 -1
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-result-ranker.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-engine.d.ts +4 -0
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-engine.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-engine.js +48 -2
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-engine.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-types.d.ts +7 -0
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/hybrid-search-types.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/relation-recall-candidate-expansion.d.ts +50 -0
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/relation-recall-candidate-expansion.d.ts.map +1 -0
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/relation-recall-candidate-expansion.js +231 -0
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/relation-recall-candidate-expansion.js.map +1 -0
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/search-ranking/search-ranking-signals.d.ts +10 -0
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/search-ranking/search-ranking-signals.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/search-ranking/search-ranking-signals.js +19 -0
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/search-ranking/search-ranking-signals.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/search-ranking.d.ts +3 -2
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/search-ranking.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/search-ranking.js +9 -3
- package/dist/node_modules/@memento/core/dist/domains/search/algorithms/search-ranking.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/factories/hybrid-search.factory.d.ts +6 -0
- package/dist/node_modules/@memento/core/dist/domains/search/factories/hybrid-search.factory.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/factories/hybrid-search.factory.js +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/factories/hybrid-search.factory.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/ports/relevance-gate-port.d.ts +41 -0
- package/dist/node_modules/@memento/core/dist/domains/search/ports/relevance-gate-port.d.ts.map +1 -0
- package/dist/node_modules/@memento/core/dist/domains/search/ports/relevance-gate-port.js +36 -0
- package/dist/node_modules/@memento/core/dist/domains/search/ports/relevance-gate-port.js.map +1 -0
- package/dist/node_modules/@memento/core/dist/domains/search/repositories/vector-search/vector-search-hybrid-query.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/repositories/vector-search/vector-search-hybrid-query.js +11 -4
- package/dist/node_modules/@memento/core/dist/domains/search/repositories/vector-search/vector-search-hybrid-query.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/repositories/vector-search/vector-search-knn-query.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/repositories/vector-search/vector-search-knn-query.js +9 -3
- package/dist/node_modules/@memento/core/dist/domains/search/repositories/vector-search/vector-search-knn-query.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/domains/search/services/relevance-gate/create-relevance-gate.d.ts +8 -0
- package/dist/node_modules/@memento/core/dist/domains/search/services/relevance-gate/create-relevance-gate.d.ts.map +1 -0
- package/dist/node_modules/@memento/core/dist/domains/search/services/relevance-gate/create-relevance-gate.js +41 -0
- package/dist/node_modules/@memento/core/dist/domains/search/services/relevance-gate/create-relevance-gate.js.map +1 -0
- package/dist/node_modules/@memento/core/dist/domains/search/services/relevance-gate/jev-relevance-gate.d.ts +35 -0
- package/dist/node_modules/@memento/core/dist/domains/search/services/relevance-gate/jev-relevance-gate.d.ts.map +1 -0
- package/dist/node_modules/@memento/core/dist/domains/search/services/relevance-gate/jev-relevance-gate.js +150 -0
- package/dist/node_modules/@memento/core/dist/domains/search/services/relevance-gate/jev-relevance-gate.js.map +1 -0
- package/dist/node_modules/@memento/core/dist/index.d.ts +11 -2
- package/dist/node_modules/@memento/core/dist/index.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/index.js +10 -1
- package/dist/node_modules/@memento/core/dist/index.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/infrastructure/database/sqlite/migration/migrations/048-repair-duplicate-semantic-content.d.ts +30 -0
- package/dist/node_modules/@memento/core/dist/infrastructure/database/sqlite/migration/migrations/048-repair-duplicate-semantic-content.d.ts.map +1 -0
- package/dist/node_modules/@memento/core/dist/infrastructure/database/sqlite/migration/migrations/048-repair-duplicate-semantic-content.js +101 -0
- package/dist/node_modules/@memento/core/dist/infrastructure/database/sqlite/migration/migrations/048-repair-duplicate-semantic-content.js.map +1 -0
- package/dist/node_modules/@memento/core/dist/infrastructure/database/sqlite/vec-schema.d.ts +1 -1
- package/dist/node_modules/@memento/core/dist/infrastructure/database/sqlite/vec-schema.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/infrastructure/database/sqlite/vec-schema.js +26 -3
- package/dist/node_modules/@memento/core/dist/infrastructure/database/sqlite/vec-schema.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/prompts/triple-extraction.txt +16 -3
- package/dist/node_modules/@memento/core/dist/shared/config/api-tokens.d.ts +2 -0
- package/dist/node_modules/@memento/core/dist/shared/config/api-tokens.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/shared/config/api-tokens.js +45 -4
- package/dist/node_modules/@memento/core/dist/shared/config/api-tokens.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/shared/config/environment.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/shared/config/environment.js +10 -1
- package/dist/node_modules/@memento/core/dist/shared/config/environment.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/shared/config/index.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/shared/config/index.js +51 -0
- package/dist/node_modules/@memento/core/dist/shared/config/index.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/shared/config/llm-model-resolver.d.ts +1 -1
- package/dist/node_modules/@memento/core/dist/shared/config/llm-model-resolver.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/shared/config/llm-model-resolver.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/shared/config/ranking-weights-loader.d.ts +5 -0
- package/dist/node_modules/@memento/core/dist/shared/config/ranking-weights-loader.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/shared/config/ranking-weights-loader.js +14 -2
- package/dist/node_modules/@memento/core/dist/shared/config/ranking-weights-loader.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/shared/config/vector-search.config.d.ts +16 -0
- package/dist/node_modules/@memento/core/dist/shared/config/vector-search.config.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/shared/config/vector-search.config.js +33 -0
- package/dist/node_modules/@memento/core/dist/shared/config/vector-search.config.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/shared/errors/memory-version-conflict-error.d.ts +17 -0
- package/dist/node_modules/@memento/core/dist/shared/errors/memory-version-conflict-error.d.ts.map +1 -0
- package/dist/node_modules/@memento/core/dist/shared/errors/memory-version-conflict-error.js +27 -0
- package/dist/node_modules/@memento/core/dist/shared/errors/memory-version-conflict-error.js.map +1 -0
- package/dist/node_modules/@memento/core/dist/shared/types/memory.types.d.ts +24 -0
- package/dist/node_modules/@memento/core/dist/shared/types/memory.types.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/shared/utils/mcp-era-mode.d.ts +9 -0
- package/dist/node_modules/@memento/core/dist/shared/utils/mcp-era-mode.d.ts.map +1 -0
- package/dist/node_modules/@memento/core/dist/shared/utils/mcp-era-mode.js +22 -0
- package/dist/node_modules/@memento/core/dist/shared/utils/mcp-era-mode.js.map +1 -0
- package/dist/node_modules/@memento/core/dist/shared/utils/pii-masker.d.ts.map +1 -1
- package/dist/node_modules/@memento/core/dist/shared/utils/pii-masker.js +4 -2
- package/dist/node_modules/@memento/core/dist/shared/utils/pii-masker.js.map +1 -1
- package/dist/node_modules/@memento/core/dist/shared/utils/window-embedding-write.d.ts +31 -0
- package/dist/node_modules/@memento/core/dist/shared/utils/window-embedding-write.d.ts.map +1 -0
- package/dist/node_modules/@memento/core/dist/shared/utils/window-embedding-write.js +54 -0
- package/dist/node_modules/@memento/core/dist/shared/utils/window-embedding-write.js.map +1 -0
- package/dist/node_modules/@memento/core/package.json +16 -1
- package/dist/node_modules/@memento/core/prompts/triple-extraction.txt +16 -3
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +30 -11
- package/dist/server/index.js.map +1 -1
- package/dist/server/mcp-server-factory.d.ts +16 -0
- package/dist/server/mcp-server-factory.d.ts.map +1 -0
- package/dist/server/mcp-server-factory.js +35 -0
- package/dist/server/mcp-server-factory.js.map +1 -0
- package/dist/server/routes/admin/admin-memory-review.routes.d.ts.map +1 -1
- package/dist/server/routes/admin/admin-memory-review.routes.js +182 -2
- package/dist/server/routes/admin/admin-memory-review.routes.js.map +1 -1
- package/dist/server/routes/mcp/handlers.d.ts +2 -0
- package/dist/server/routes/mcp/handlers.d.ts.map +1 -1
- package/dist/server/routes/mcp/handlers.js +100 -9
- package/dist/server/routes/mcp/handlers.js.map +1 -1
- package/dist/server/routes/mcp/message-processor.d.ts +4 -1
- package/dist/server/routes/mcp/message-processor.d.ts.map +1 -1
- package/dist/server/routes/mcp/message-processor.js +14 -5
- package/dist/server/routes/mcp/message-processor.js.map +1 -1
- package/dist/server/routes/mcp/modern-request-validation.d.ts +13 -0
- package/dist/server/routes/mcp/modern-request-validation.d.ts.map +1 -0
- package/dist/server/routes/mcp/modern-request-validation.js +173 -0
- package/dist/server/routes/mcp/modern-request-validation.js.map +1 -0
- package/dist/server/routes/mcp/modern-response.d.ts +5 -0
- package/dist/server/routes/mcp/modern-response.d.ts.map +1 -0
- package/dist/server/routes/mcp/modern-response.js +69 -0
- package/dist/server/routes/mcp/modern-response.js.map +1 -0
- package/dist/server/routes/mcp.routes.d.ts.map +1 -1
- package/dist/server/routes/mcp.routes.js +2 -1
- package/dist/server/routes/mcp.routes.js.map +1 -1
- package/dist/server/routes/tools.routes.d.ts.map +1 -1
- package/dist/server/routes/tools.routes.js +3 -1
- package/dist/server/routes/tools.routes.js.map +1 -1
- package/dist/server/utils/cors-policy.d.ts.map +1 -1
- package/dist/server/utils/cors-policy.js +2 -2
- package/dist/server/utils/cors-policy.js.map +1 -1
- package/dist/server/utils/mcp-tool-call-error.d.ts.map +1 -1
- package/dist/server/utils/mcp-tool-call-error.js +13 -1
- package/dist/server/utils/mcp-tool-call-error.js.map +1 -1
- package/package.json +3 -1
- package/static/css/dashboard.css +48 -0
- package/static/dashboard.html +53 -0
- package/static/js/graph-shared.js +10 -2
- package/static/js/review-candidates-panel-filters.js +257 -0
- package/static/js/review-candidates-panel-poll-cycle.js +1 -1
- package/static/js/review-candidates-panel-poll-fetch.js +7 -0
- package/static/js/review-candidates-panel-poll-snapshot.js +1 -1
- package/static/js/review-candidates-panel-render-list.js +33 -3
- package/static/js/review-candidates-panel-shared.js +1 -1
- package/static/js/review-candidates-panel.js +3 -0
|
@@ -45,3 +45,8 @@ characteristic_length = 40
|
|
|
45
45
|
# T=1 이면 실제 rank 구간(-20~-2)이 전부 포화 꼬리에 들어가 동적 범위가 0.083 으로 뭉갠다.
|
|
46
46
|
[fts_relevance]
|
|
47
47
|
temperature = 10
|
|
48
|
+
|
|
49
|
+
# #1082: importance 랭킹 신호를 0.5 중심으로 압축. scaled = 0.5 + (raw - 0.5) * scale
|
|
50
|
+
# scale=1 이면 γ·importance 실현 폭이 relevance 를 압도해 benchmark-v3 macro 게이트가 깨진다.
|
|
51
|
+
[importance_signal]
|
|
52
|
+
scale = 0.35
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-and-embedding.d.ts","sourceRoot":"","sources":["../../src/bootstrap/search-and-embedding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAE/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAChG,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAC;AAEtG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;
|
|
1
|
+
{"version":3,"file":"search-and-embedding.d.ts","sourceRoot":"","sources":["../../src/bootstrap/search-and-embedding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAE/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAChG,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAC;AAEtG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAG/F,wBAAgB,yCAAyC,CAAC,EAAE,EAAE,OAAO,gBAAgB,EAAE,QAAQ,GAAG;IAChG,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,qBAAqB,EAAE,sBAAsB,CAAC;IAC9C,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,iBAAiB,EAAE,kBAAkB,CAAC;CACvC,CAkBA"}
|
|
@@ -3,12 +3,15 @@ import { HybridSearchFactory } from '../domains/search/factories/hybrid-search.f
|
|
|
3
3
|
import { MemoryEmbeddingService } from '../domains/memory/services/memory-embedding-service.js';
|
|
4
4
|
import { ForgettingPolicyService } from '../domains/forgetting/services/forgetting-policy-service.js';
|
|
5
5
|
import { OnDemandDatabaseOptimizer } from '../infrastructure/database/on-demand-database-optimizer.js';
|
|
6
|
+
import { createRelevanceGate } from '../domains/search/services/relevance-gate/create-relevance-gate.js';
|
|
6
7
|
export function createSearchEmbeddingAndOptimizerServices(db) {
|
|
7
8
|
const searchEngine = new SearchEngine();
|
|
8
9
|
const embeddingService = new MemoryEmbeddingService();
|
|
9
10
|
// 검색 경로는 별도 인스턴스를 사용해 remember 경로와 provider 상태를 공유하지 않도록 분리한다.
|
|
10
11
|
const queryEmbeddingService = new MemoryEmbeddingService();
|
|
11
12
|
const hybridSearchEngine = HybridSearchFactory.createDefaultEngine(db, queryEmbeddingService);
|
|
13
|
+
// #1095 설정이 off 면 createRelevanceGate 가 null 을 반환해 게이트가 붙지 않는다.
|
|
14
|
+
hybridSearchEngine.setRejectionGate(createRelevanceGate());
|
|
12
15
|
const forgettingPolicyService = new ForgettingPolicyService();
|
|
13
16
|
const databaseOptimizer = new OnDemandDatabaseOptimizer(db);
|
|
14
17
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-and-embedding.js","sourceRoot":"","sources":["../../src/bootstrap/search-and-embedding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAChG,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAC;AACtG,OAAO,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;
|
|
1
|
+
{"version":3,"file":"search-and-embedding.js","sourceRoot":"","sources":["../../src/bootstrap/search-and-embedding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAChG,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAC;AACtG,OAAO,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AAEvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oEAAoE,CAAC;AAEzG,MAAM,UAAU,yCAAyC,CAAC,EAAqC;IAQ7F,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,MAAM,gBAAgB,GAAG,IAAI,sBAAsB,EAAE,CAAC;IACtD,+DAA+D;IAC/D,MAAM,qBAAqB,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAC3D,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAC9F,gEAAgE;IAChE,kBAAkB,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC3D,MAAM,uBAAuB,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAC9D,MAAM,iBAAiB,GAAG,IAAI,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC5D,OAAO;QACL,YAAY;QACZ,gBAAgB;QAChB,qBAAqB;QACrB,kBAAkB;QAClB,uBAAuB;QACvB,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -45,3 +45,8 @@ characteristic_length = 40
|
|
|
45
45
|
# T=1 이면 실제 rank 구간(-20~-2)이 전부 포화 꼬리에 들어가 동적 범위가 0.083 으로 뭉갠다.
|
|
46
46
|
[fts_relevance]
|
|
47
47
|
temperature = 10
|
|
48
|
+
|
|
49
|
+
# #1082: importance 랭킹 신호를 0.5 중심으로 압축. scaled = 0.5 + (raw - 0.5) * scale
|
|
50
|
+
# scale=1 이면 γ·importance 실현 폭이 relevance 를 압도해 benchmark-v3 macro 게이트가 깨진다.
|
|
51
|
+
[importance_signal]
|
|
52
|
+
scale = 0.35
|
|
@@ -329,6 +329,7 @@ CREATE TABLE IF NOT EXISTS embedding_model_registry (
|
|
|
329
329
|
-- 검색 mapper는 `1 - distance`를 cosine similarity로 해석하고 threshold(0.8/0.6/0.4)도 같은 가정을 쓴다.
|
|
330
330
|
-- 정의는 src/infrastructure/database/sqlite/vec-schema.ts(VEC_TABLES)와 동기화되어야 하며,
|
|
331
331
|
-- vec-schema.spec.ts가 이 파일과의 정합을 검증한다.
|
|
332
|
+
-- legacy 384 공용 테이블은 윈도 행을 받지 않는다. 윈도 행은 minilm 전용 테이블에서만 KNN 예산을 쓴다 (#1112).
|
|
332
333
|
CREATE VIRTUAL TABLE IF NOT EXISTS memory_item_vec USING vec0(embedding float[384] distance_metric=cosine);
|
|
333
334
|
|
|
334
335
|
-- 제공자별 VEC 테이블들
|
|
@@ -346,7 +347,7 @@ CREATE VIRTUAL TABLE IF NOT EXISTS memory_item_vec_mock USING vec0(embedding flo
|
|
|
346
347
|
CREATE TRIGGER IF NOT EXISTS memory_embedding_vec_insert AFTER INSERT ON memory_embedding BEGIN
|
|
347
348
|
INSERT INTO memory_item_vec(rowid, embedding)
|
|
348
349
|
SELECT NEW.id, NEW.embedding
|
|
349
|
-
WHERE NEW.dimensions = 384;
|
|
350
|
+
WHERE NEW.dimensions = 384 AND NEW.projection_type NOT LIKE 'window:%';
|
|
350
351
|
|
|
351
352
|
INSERT INTO memory_item_vec_tfidf(rowid, embedding)
|
|
352
353
|
SELECT NEW.id, NEW.embedding
|
|
@@ -354,7 +355,7 @@ CREATE TRIGGER IF NOT EXISTS memory_embedding_vec_insert AFTER INSERT ON memory_
|
|
|
354
355
|
|
|
355
356
|
INSERT INTO memory_item_vec_minilm(rowid, embedding)
|
|
356
357
|
SELECT NEW.id, NEW.embedding
|
|
357
|
-
WHERE NEW.embedding_provider = 'minilm' AND NEW.dimensions = 384 AND NEW.projection_type
|
|
358
|
+
WHERE NEW.embedding_provider = 'minilm' AND NEW.dimensions = 384 AND NEW.projection_type IN ('native', 'window:0', 'window:1', 'window:2', 'window:3', 'window:4', 'window:5', 'window:6', 'window:7', 'window:8', 'window:9', 'window:10', 'window:11', 'window:12', 'window:13', 'window:14', 'window:15');
|
|
358
359
|
|
|
359
360
|
INSERT INTO memory_item_vec_openai(rowid, embedding)
|
|
360
361
|
SELECT NEW.id, NEW.embedding
|
|
@@ -379,7 +380,7 @@ CREATE TRIGGER IF NOT EXISTS memory_embedding_vec_update AFTER UPDATE ON memory_
|
|
|
379
380
|
|
|
380
381
|
INSERT INTO memory_item_vec(rowid, embedding)
|
|
381
382
|
SELECT NEW.id, NEW.embedding
|
|
382
|
-
WHERE NEW.dimensions = 384;
|
|
383
|
+
WHERE NEW.dimensions = 384 AND NEW.projection_type NOT LIKE 'window:%';
|
|
383
384
|
|
|
384
385
|
INSERT INTO memory_item_vec_tfidf(rowid, embedding)
|
|
385
386
|
SELECT NEW.id, NEW.embedding
|
|
@@ -387,7 +388,7 @@ CREATE TRIGGER IF NOT EXISTS memory_embedding_vec_update AFTER UPDATE ON memory_
|
|
|
387
388
|
|
|
388
389
|
INSERT INTO memory_item_vec_minilm(rowid, embedding)
|
|
389
390
|
SELECT NEW.id, NEW.embedding
|
|
390
|
-
WHERE NEW.embedding_provider = 'minilm' AND NEW.dimensions = 384 AND NEW.projection_type
|
|
391
|
+
WHERE NEW.embedding_provider = 'minilm' AND NEW.dimensions = 384 AND NEW.projection_type IN ('native', 'window:0', 'window:1', 'window:2', 'window:3', 'window:4', 'window:5', 'window:6', 'window:7', 'window:8', 'window:9', 'window:10', 'window:11', 'window:12', 'window:13', 'window:14', 'window:15');
|
|
391
392
|
|
|
392
393
|
INSERT INTO memory_item_vec_openai(rowid, embedding)
|
|
393
394
|
SELECT NEW.id, NEW.embedding
|
|
@@ -4,12 +4,18 @@
|
|
|
4
4
|
* FR-009(한 클러스터 실패 시 나머지 계속)는 `SleepConsolidationService` 루프에서 처리한다.
|
|
5
5
|
* 여기서는 LLM 호출 실패 시 extractive로 전환해 빈 요약만 피한다(스킵·에러 집계는 상위 담당).
|
|
6
6
|
*/
|
|
7
|
+
import type { LlmModelConfigSlice, LlmProviderConfigSlice } from '../../../shared/config/llm-model-resolver.js';
|
|
8
|
+
import type { MementoConfig } from '../../../shared/types/memory.types.js';
|
|
7
9
|
import type { EpisodicCandidateRow } from '../repositories/consolidation-repository.js';
|
|
8
10
|
export type SummarizationMethod = 'llm' | 'extractive';
|
|
11
|
+
/** 테스트 주입용 설정 슬라이스. 생략 시 mementoConfig 를 쓴다. */
|
|
12
|
+
export type SummarizationLlmConfig = LlmModelConfigSlice & LlmProviderConfigSlice & Pick<MementoConfig, 'ollamaBaseUrl'>;
|
|
9
13
|
export interface SummarizeClusterInput {
|
|
10
14
|
clusterEpisodes: EpisodicCandidateRow[];
|
|
11
15
|
}
|
|
12
16
|
export declare class SummarizationService {
|
|
17
|
+
private readonly llmConfig;
|
|
18
|
+
constructor(llmConfig?: SummarizationLlmConfig);
|
|
13
19
|
hasLlmConfigured(): boolean;
|
|
14
20
|
extractiveFallback(episodes: EpisodicCandidateRow[]): {
|
|
15
21
|
content: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarization-service.d.ts","sourceRoot":"","sources":["../../../../src/domains/consolidation/services/summarization-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAExF,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,YAAY,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,oBAAoB,EAAE,CAAC;CACzC;AAED,qBAAa,oBAAoB;
|
|
1
|
+
{"version":3,"file":"summarization-service.d.ts","sourceRoot":"","sources":["../../../../src/domains/consolidation/services/summarization-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAG3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAExF,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,YAAY,CAAC;AAEvD,gDAAgD;AAChD,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,GACtD,sBAAsB,GACtB,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;AAEvC,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,oBAAoB,EAAE,CAAC;CACzC;AAED,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,GAAE,sBAAsC;IAE9E,gBAAgB,IAAI,OAAO;IAgB3B,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE;IAUtG;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC;QAC5D,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,mBAAmB,CAAC;KAC7B,CAAC;IAkGF;;OAEG;IACG,8BAA8B,CAAC,KAAK,EAAE;QAC1C,uBAAuB,EAAE,MAAM,CAAC;QAChC,eAAe,EAAE,oBAAoB,EAAE,CAAC;KACzC,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE,CAAC;CAc9D"}
|
package/dist/node_modules/@memento/core/dist/domains/consolidation/services/summarization-service.js
CHANGED
|
@@ -4,11 +4,27 @@
|
|
|
4
4
|
* FR-009(한 클러스터 실패 시 나머지 계속)는 `SleepConsolidationService` 루프에서 처리한다.
|
|
5
5
|
* 여기서는 LLM 호출 실패 시 extractive로 전환해 빈 요약만 피한다(스킵·에러 집계는 상위 담당).
|
|
6
6
|
*/
|
|
7
|
-
import { resolveLlmModel } from '../../../shared/config/llm-model-resolver.js';
|
|
7
|
+
import { resolveLlmModel, resolveLlmProvider } from '../../../shared/config/llm-model-resolver.js';
|
|
8
|
+
import { mementoConfig } from '../../../shared/config/index.js';
|
|
9
|
+
import { OllamaChatLlmAdapter } from '../../personal-agent/adapters/ollama-chat-llm-adapter.js';
|
|
8
10
|
export class SummarizationService {
|
|
11
|
+
llmConfig;
|
|
12
|
+
constructor(llmConfig = mementoConfig) {
|
|
13
|
+
this.llmConfig = llmConfig;
|
|
14
|
+
}
|
|
9
15
|
hasLlmConfigured() {
|
|
16
|
+
const provider = resolveLlmProvider('consolidation', this.llmConfig);
|
|
17
|
+
if (provider === 'ollama') {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
10
20
|
const openai = process.env.OPENAI_API_KEY?.trim();
|
|
11
21
|
const gemini = process.env.GEMINI_API_KEY?.trim();
|
|
22
|
+
if (provider === 'openai') {
|
|
23
|
+
return Boolean(openai);
|
|
24
|
+
}
|
|
25
|
+
if (provider === 'gemini') {
|
|
26
|
+
return Boolean(gemini);
|
|
27
|
+
}
|
|
12
28
|
return Boolean(openai || gemini);
|
|
13
29
|
}
|
|
14
30
|
extractiveFallback(episodes) {
|
|
@@ -36,8 +52,9 @@ export class SummarizationService {
|
|
|
36
52
|
'Use the same language as the sources. Do not list IDs.\n\n' +
|
|
37
53
|
body;
|
|
38
54
|
try {
|
|
55
|
+
const provider = resolveLlmProvider('consolidation', this.llmConfig);
|
|
39
56
|
const apiKey = process.env.OPENAI_API_KEY?.trim();
|
|
40
|
-
if (apiKey) {
|
|
57
|
+
if (apiKey && (provider === 'openai' || provider === 'auto')) {
|
|
41
58
|
const model = resolveLlmModel('openai', 'consolidation', undefined, {
|
|
42
59
|
boundProvider: 'openai',
|
|
43
60
|
});
|
|
@@ -66,7 +83,7 @@ export class SummarizationService {
|
|
|
66
83
|
}
|
|
67
84
|
}
|
|
68
85
|
const geminiKey = process.env.GEMINI_API_KEY?.trim();
|
|
69
|
-
if (geminiKey) {
|
|
86
|
+
if (geminiKey && (provider === 'gemini' || provider === 'auto')) {
|
|
70
87
|
const model = resolveLlmModel('gemini', 'consolidation', undefined, {
|
|
71
88
|
boundProvider: 'gemini',
|
|
72
89
|
});
|
|
@@ -87,6 +104,23 @@ export class SummarizationService {
|
|
|
87
104
|
return { content: text, method: 'llm' };
|
|
88
105
|
}
|
|
89
106
|
}
|
|
107
|
+
if (provider === 'ollama') {
|
|
108
|
+
const model = resolveLlmModel('ollama', 'consolidation', this.llmConfig, {
|
|
109
|
+
boundProvider: 'ollama',
|
|
110
|
+
});
|
|
111
|
+
const adapter = new OllamaChatLlmAdapter({
|
|
112
|
+
baseUrl: this.llmConfig.ollamaBaseUrl,
|
|
113
|
+
model,
|
|
114
|
+
});
|
|
115
|
+
const result = await adapter.complete([
|
|
116
|
+
{ role: 'system', content: 'You compress episodic traces into durable semantic knowledge.' },
|
|
117
|
+
{ role: 'user', content: prompt },
|
|
118
|
+
]);
|
|
119
|
+
const text = result.content.trim();
|
|
120
|
+
if (text) {
|
|
121
|
+
return { content: text, method: 'llm' };
|
|
122
|
+
}
|
|
123
|
+
}
|
|
90
124
|
}
|
|
91
125
|
catch {
|
|
92
126
|
/* network / parse */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarization-service.js","sourceRoot":"","sources":["../../../../src/domains/consolidation/services/summarization-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"summarization-service.js","sourceRoot":"","sources":["../../../../src/domains/consolidation/services/summarization-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,6 +72,12 @@ export declare class MiniLMEmbeddingService implements EmbeddingServiceInterface
|
|
|
72
72
|
* 클린코드: 단일 책임 원칙 - 전처리만 담당
|
|
73
73
|
*/
|
|
74
74
|
private preprocessText;
|
|
75
|
+
/**
|
|
76
|
+
* 윈도별 임베딩 벡터를 생성한다.
|
|
77
|
+
*
|
|
78
|
+
* 토크나이저로 윈도를 나눌 수 없으면 전체 텍스트를 한 번 임베딩해 벡터 배열 길이 1을 반환한다.
|
|
79
|
+
*/
|
|
80
|
+
private embedWindows;
|
|
75
81
|
/**
|
|
76
82
|
* 본문을 모델 창(510토큰) 단위로 나눠 각각 임베딩한 뒤 평균 내어 하나의 벡터로 만든다 (#1013).
|
|
77
83
|
*
|
|
@@ -82,6 +88,17 @@ export declare class MiniLMEmbeddingService implements EmbeddingServiceInterface
|
|
|
82
88
|
* 전체 텍스트를 그대로 넘긴다 — 모델이 512토큰에서 알아서 자르므로 예전 동작 이하로 떨어지지 않는다.
|
|
83
89
|
*/
|
|
84
90
|
private embedWithWindows;
|
|
91
|
+
/**
|
|
92
|
+
* 윈도별 임베딩 벡터를 반환한다 (issue 1107).
|
|
93
|
+
*
|
|
94
|
+
* generateEmbedding 과 달리 윈도마다의 벡터를 그대로 노출한다. MaxSim 등 윈도 단위 유사도 계산용 public seam.
|
|
95
|
+
* EmbeddingServiceInterface 에는 포함하지 않는 MiniLM 전용 API다.
|
|
96
|
+
*/
|
|
97
|
+
generateWindowEmbeddings(text: string): Promise<{
|
|
98
|
+
vectors: number[][];
|
|
99
|
+
tokenCount: number;
|
|
100
|
+
model: string;
|
|
101
|
+
}>;
|
|
85
102
|
/**
|
|
86
103
|
* 토크나이저로 본문을 510토큰 윈도로 나눈다. 토크나이저가 없으면 null 을 돌려준다.
|
|
87
104
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minilm-embedding-service.d.ts","sourceRoot":"","sources":["../../../../src/domains/embedding/services/minilm-embedding-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EACV,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACd,MAAM,0CAA0C,CAAC;AAsBlD,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,6BAA6B,EAAE,OAAO,GAAG,SAAS,CAAC;CACxD;AAsBD,qBAAa,sBAAuB,YAAW,yBAAyB;IAEtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAqB;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAO;IAEzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAO;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IAI/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAM;IAEzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqC;IAChE,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,cAAc,CAAgD;IACtE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsC;;IAM5D;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAgDtE;;;OAGG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,aAAa,EAAE,EAC3B,KAAK,GAAE,MAAW,EAClB,SAAS,GAAE,MAAY,GACtB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAa9B;;;OAGG;IACH,WAAW,IAAI,OAAO;IAMtB;;;OAGG;IACH,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAQxE;;;OAGG;IACH,OAAO,CAAC,aAAa;IAMrB;;;OAGG;YACW,QAAQ;IAetB;;;;;;;;OAQG;YACW,SAAS;IA0CvB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAOtB;;;;;;;;OAQG;YACW,gBAAgB;
|
|
1
|
+
{"version":3,"file":"minilm-embedding-service.d.ts","sourceRoot":"","sources":["../../../../src/domains/embedding/services/minilm-embedding-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EACV,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACd,MAAM,0CAA0C,CAAC;AAsBlD,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,6BAA6B,EAAE,OAAO,GAAG,SAAS,CAAC;CACxD;AAsBD,qBAAa,sBAAuB,YAAW,yBAAyB;IAEtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAqB;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAO;IAEzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAO;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IAI/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAM;IAEzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqC;IAChE,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,cAAc,CAAgD;IACtE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsC;;IAM5D;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAgDtE;;;OAGG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,aAAa,EAAE,EAC3B,KAAK,GAAE,MAAW,EAClB,SAAS,GAAE,MAAY,GACtB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAa9B;;;OAGG;IACH,WAAW,IAAI,OAAO;IAMtB;;;OAGG;IACH,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAQxE;;;OAGG;IACH,OAAO,CAAC,aAAa;IAMrB;;;OAGG;YACW,QAAQ;IAetB;;;;;;;;OAQG;YACW,SAAS;IA0CvB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAOtB;;;;OAIG;YACW,YAAY;IAqB1B;;;;;;;;OAQG;YACW,gBAAgB;IAQ9B;;;;;OAKG;IACG,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAQjH;;OAEG;YACW,gBAAgB;IAgC9B;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,YAAY,IAAI,MAAM;CAGvB"}
|
package/dist/node_modules/@memento/core/dist/domains/embedding/services/minilm-embedding-service.js
CHANGED
|
@@ -213,21 +213,17 @@ export class MiniLMEmbeddingService {
|
|
|
213
213
|
.replace(/\s+/g, ' ');
|
|
214
214
|
}
|
|
215
215
|
/**
|
|
216
|
-
*
|
|
217
|
-
*
|
|
218
|
-
* 왜 필요한가? 예전에는 앞 1024자만 넘겼는데 한국어는 2.124 chars/token 이라 그게 약 493토큰이었다.
|
|
219
|
-
* 긴 기억의 뒤쪽 절반은 벡터에 한 번도 들어가지 않았다. 토크나이저로 잘라야 언어에 상관없이 맞는다.
|
|
216
|
+
* 윈도별 임베딩 벡터를 생성한다.
|
|
220
217
|
*
|
|
221
|
-
*
|
|
222
|
-
* 전체 텍스트를 그대로 넘긴다 — 모델이 512토큰에서 알아서 자르므로 예전 동작 이하로 떨어지지 않는다.
|
|
218
|
+
* 토크나이저로 윈도를 나눌 수 없으면 전체 텍스트를 한 번 임베딩해 벡터 배열 길이 1을 반환한다.
|
|
223
219
|
*/
|
|
224
|
-
async
|
|
225
|
-
const windows = await this.splitIntoWindows(model,
|
|
220
|
+
async embedWindows(model, processedText) {
|
|
221
|
+
const windows = await this.splitIntoWindows(model, processedText);
|
|
226
222
|
if (windows === null) {
|
|
227
|
-
const result = await model(
|
|
223
|
+
const result = await model(processedText, { pooling: 'mean', normalize: true });
|
|
228
224
|
return {
|
|
229
|
-
|
|
230
|
-
tokenCount: estimateEmbeddingTokens(
|
|
225
|
+
vectors: [Array.from(getEmbeddingIterable(result))],
|
|
226
|
+
tokenCount: estimateEmbeddingTokens(processedText)
|
|
231
227
|
};
|
|
232
228
|
}
|
|
233
229
|
const vectors = [];
|
|
@@ -235,7 +231,33 @@ export class MiniLMEmbeddingService {
|
|
|
235
231
|
const result = await model(window, { pooling: 'mean', normalize: true });
|
|
236
232
|
vectors.push(Array.from(getEmbeddingIterable(result)));
|
|
237
233
|
}
|
|
238
|
-
return {
|
|
234
|
+
return { vectors, tokenCount: windows.tokenCount };
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* 본문을 모델 창(510토큰) 단위로 나눠 각각 임베딩한 뒤 평균 내어 하나의 벡터로 만든다 (#1013).
|
|
238
|
+
*
|
|
239
|
+
* 왜 필요한가? 예전에는 앞 1024자만 넘겼는데 한국어는 2.124 chars/token 이라 그게 약 493토큰이었다.
|
|
240
|
+
* 긴 기억의 뒤쪽 절반은 벡터에 한 번도 들어가지 않았다. 토크나이저로 잘라야 언어에 상관없이 맞는다.
|
|
241
|
+
*
|
|
242
|
+
* 윈도가 하나면 예전과 같은 단일 호출이다. 토크나이저를 쓸 수 없는 환경(테스트 모킹 등)에서는
|
|
243
|
+
* 전체 텍스트를 그대로 넘긴다 — 모델이 512토큰에서 알아서 자르므로 예전 동작 이하로 떨어지지 않는다.
|
|
244
|
+
*/
|
|
245
|
+
async embedWithWindows(model, text) {
|
|
246
|
+
const result = await this.embedWindows(model, text);
|
|
247
|
+
return { embedding: meanPoolNormalize(result.vectors), tokenCount: result.tokenCount };
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* 윈도별 임베딩 벡터를 반환한다 (issue 1107).
|
|
251
|
+
*
|
|
252
|
+
* generateEmbedding 과 달리 윈도마다의 벡터를 그대로 노출한다. MaxSim 등 윈도 단위 유사도 계산용 public seam.
|
|
253
|
+
* EmbeddingServiceInterface 에는 포함하지 않는 MiniLM 전용 API다.
|
|
254
|
+
*/
|
|
255
|
+
async generateWindowEmbeddings(text) {
|
|
256
|
+
this.validateInput(text);
|
|
257
|
+
const model = await this.getModel();
|
|
258
|
+
const processedText = this.preprocessText(text);
|
|
259
|
+
const { vectors, tokenCount } = await this.embedWindows(model, processedText);
|
|
260
|
+
return { vectors, tokenCount, model: this.modelName };
|
|
239
261
|
}
|
|
240
262
|
/**
|
|
241
263
|
* 토크나이저로 본문을 510토큰 윈도로 나눈다. 토크나이저가 없으면 null 을 돌려준다.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minilm-embedding-service.js","sourceRoot":"","sources":["../../../../src/domains/embedding/services/minilm-embedding-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"minilm-embedding-service.js","sourceRoot":"","sources":["../../../../src/domains/embedding/services/minilm-embedding-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,11 @@ export declare class UnifiedEmbeddingService implements EmbeddingServiceInterfac
|
|
|
54
54
|
* recall 도구에서 TF-IDF fallback 감지에 사용됨
|
|
55
55
|
*/
|
|
56
56
|
getCurrentProviderName(): EmbeddingProvider | null;
|
|
57
|
+
/**
|
|
58
|
+
* 마지막으로 선택된 제공자 서비스 인스턴스 (#1112 윈도 임베딩 접근용).
|
|
59
|
+
* 인터페이스에 없는 제공자 전용 기능(MiniLM generateWindowEmbeddings)을 호출하려면 필요하다.
|
|
60
|
+
*/
|
|
61
|
+
getCurrentProviderService(): EmbeddingServiceInterface | null;
|
|
57
62
|
/**
|
|
58
63
|
* 폴백 제공자 설정
|
|
59
64
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-embedding-service.d.ts","sourceRoot":"","sources":["../../../../src/domains/embedding/services/unified-embedding-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAClB,MAAM,0CAA0C,CAAC;AAIlD;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,yBAAyB;IACvE,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,iBAAiB,CAAgE;;IAQzF;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAqC7G;;;OAGG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,aAAa,EAAE,EAC3B,KAAK,GAAE,MAAW,EAClB,SAAS,GAAE,MAAY,EACvB,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAoC9B;;;OAGG;IACH,WAAW,IAAI,OAAO;IAKtB;;;;;;OAMG;IACH,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IA2BxE;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAMjC;;;OAGG;IACH,sBAAsB,IAAI,iBAAiB,GAAG,IAAI;IAIlD;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAK1D,OAAO,CAAC,qBAAqB;IAM7B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAMrB;;;OAGG;YACW,cAAc;IAW5B;;;;;;;OAOG;YACW,oBAAoB;IA0BlC;;OAEG;YACW,iBAAiB;IAoB/B,OAAO,CAAC,qBAAqB;CAM9B"}
|
|
1
|
+
{"version":3,"file":"unified-embedding-service.d.ts","sourceRoot":"","sources":["../../../../src/domains/embedding/services/unified-embedding-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAClB,MAAM,0CAA0C,CAAC;AAIlD;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,yBAAyB;IACvE,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,iBAAiB,CAAgE;;IAQzF;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAqC7G;;;OAGG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,aAAa,EAAE,EAC3B,KAAK,GAAE,MAAW,EAClB,SAAS,GAAE,MAAY,EACvB,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAoC9B;;;OAGG;IACH,WAAW,IAAI,OAAO;IAKtB;;;;;;OAMG;IACH,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IA2BxE;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAMjC;;;OAGG;IACH,sBAAsB,IAAI,iBAAiB,GAAG,IAAI;IAIlD;;;OAGG;IACH,yBAAyB,IAAI,yBAAyB,GAAG,IAAI;IAI7D;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAK1D,OAAO,CAAC,qBAAqB;IAM7B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAMrB;;;OAGG;YACW,cAAc;IAW5B;;;;;;;OAOG;YACW,oBAAoB;IA0BlC;;OAEG;YACW,iBAAiB;IAoB/B,OAAO,CAAC,qBAAqB;CAM9B"}
|
package/dist/node_modules/@memento/core/dist/domains/embedding/services/unified-embedding-service.js
CHANGED
|
@@ -153,6 +153,13 @@ export class UnifiedEmbeddingService {
|
|
|
153
153
|
getCurrentProviderName() {
|
|
154
154
|
return this.currentProviderName;
|
|
155
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* 마지막으로 선택된 제공자 서비스 인스턴스 (#1112 윈도 임베딩 접근용).
|
|
158
|
+
* 인터페이스에 없는 제공자 전용 기능(MiniLM generateWindowEmbeddings)을 호출하려면 필요하다.
|
|
159
|
+
*/
|
|
160
|
+
getCurrentProviderService() {
|
|
161
|
+
return this.currentProvider;
|
|
162
|
+
}
|
|
156
163
|
/**
|
|
157
164
|
* 폴백 제공자 설정
|
|
158
165
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-embedding-service.js","sourceRoot":"","sources":["../../../../src/domains/embedding/services/unified-embedding-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unified-embedding-service.js","sourceRoot":"","sources":["../../../../src/domains/embedding/services/unified-embedding-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remember-tool-memory-item.d.ts","sourceRoot":"","sources":["../../../../src/domains/memory/remember/remember-tool-memory-item.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAc,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"remember-tool-memory-item.d.ts","sourceRoot":"","sources":["../../../../src/domains/memory/remember/remember-tool-memory-item.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAc,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAY3F,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAYhE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5C,uBAAuB,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;CACpD;AA4MD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,UAAU,CAAC,CAoOrB"}
|
package/dist/node_modules/@memento/core/dist/domains/memory/remember/remember-tool-memory-item.js
CHANGED
|
@@ -11,13 +11,29 @@ import { isMemoryItemType } from '../../../shared/utils/type-guards.js';
|
|
|
11
11
|
import { EventOutboxService } from '../../telemetry/services/event-outbox-service.js';
|
|
12
12
|
import { getNextVersionNumber } from '../procedural/procedural-versioning.js';
|
|
13
13
|
import { ToolInputValidationError } from '../../../shared/errors/tool-input-validation-error.js';
|
|
14
|
+
import { MemoryVersionConflictError, memoryItemEffectiveVersion, } from '../../../shared/errors/memory-version-conflict-error.js';
|
|
14
15
|
import { findExistingProceduralMemory } from './remember-tool-db-helpers.js';
|
|
15
16
|
import { prepareReflectionNotes } from './remember-tool-reflection.js';
|
|
16
17
|
import { launchBackgroundAugmentation } from './remember-tool-augmentation.js';
|
|
17
18
|
import { applyNearDupMergeInputs, buildSimilarityWarningFromCandidates, findNearDuplicateCandidates, isAutoMergeable, isNearDupMergeType, loadMemoryItemById, } from './remember-near-duplicate.js';
|
|
19
|
+
async function assertMemoryVersionConflict(db, id, ownerId, projectId, expectedVersion) {
|
|
20
|
+
const scoped = await DatabaseUtils.get(db, `
|
|
21
|
+
SELECT version
|
|
22
|
+
FROM memory_item
|
|
23
|
+
WHERE id = ?
|
|
24
|
+
AND owner_id IS ?
|
|
25
|
+
AND project_id IS ?
|
|
26
|
+
AND COALESCE(is_deleted, 0) = 0
|
|
27
|
+
`, [id, ownerId, projectId]);
|
|
28
|
+
if (!scoped) {
|
|
29
|
+
throw new ToolInputValidationError(`memory_id를 찾을 수 없습니다: ${id}`);
|
|
30
|
+
}
|
|
31
|
+
throw MemoryVersionConflictError.forMemory(id, expectedVersion, memoryItemEffectiveVersion(scoped.version));
|
|
32
|
+
}
|
|
18
33
|
async function persistMemoryItem(db, id, params, ctx, existingMemory, finalReflectionNotes, context, host) {
|
|
19
34
|
const { type, ownerId, processId, sessionId, numTimes, sourceSessionId, confidenceVal, origin_source, project_id_param, last_mentioned_at_param } = ctx;
|
|
20
|
-
const { content, importance, privacy_scope, tags, source, task_goal, steps, workflow_name, skill_name, trigger_conditions, update_mode } = params;
|
|
35
|
+
const { content, importance, privacy_scope, tags, source, task_goal, steps, workflow_name, skill_name, trigger_conditions, update_mode, expected_version } = params;
|
|
36
|
+
const projectId = project_id_param ?? null;
|
|
21
37
|
await DatabaseUtils.runTransaction(db, async () => {
|
|
22
38
|
const isUpdate = !!(existingMemory && update_mode && (update_mode === 'replace' || update_mode === 'incremental'));
|
|
23
39
|
const createdAt = new Date().toISOString();
|
|
@@ -59,7 +75,25 @@ async function persistMemoryItem(db, id, params, ctx, existingMemory, finalRefle
|
|
|
59
75
|
}
|
|
60
76
|
const tagsJson = tags ? JSON.stringify(tags) : null;
|
|
61
77
|
if (isUpdate) {
|
|
62
|
-
|
|
78
|
+
const useCas = expected_version !== undefined;
|
|
79
|
+
const nextVersion = useCas ? expected_version + 1 : undefined;
|
|
80
|
+
const updateSql = useCas
|
|
81
|
+
? `
|
|
82
|
+
UPDATE memory_item SET
|
|
83
|
+
content = ?, importance = ?, privacy_scope = ?, tags = ?, source = ?,
|
|
84
|
+
origin_source = ?, task_goal = ?, steps = ?, reflection_notes = ?,
|
|
85
|
+
workflow_name = ?, skill_name = ?, trigger_conditions = ?,
|
|
86
|
+
recall_count = ?, last_accessed_at = ?, g_value = ?, consolidation_score = ?,
|
|
87
|
+
owner_id = ?, process_id = ?, session_id = ?,
|
|
88
|
+
num_times = ?, last_mentioned_at = ?, source_session_id = ?, confidence = ?,
|
|
89
|
+
version = ?
|
|
90
|
+
WHERE id = ?
|
|
91
|
+
AND owner_id IS ?
|
|
92
|
+
AND project_id IS ?
|
|
93
|
+
AND COALESCE(is_deleted, 0) = 0
|
|
94
|
+
AND COALESCE(version, 1) = ?
|
|
95
|
+
`
|
|
96
|
+
: `
|
|
63
97
|
UPDATE memory_item SET
|
|
64
98
|
content = ?, importance = ?, privacy_scope = ?, tags = ?, source = ?,
|
|
65
99
|
origin_source = ?, task_goal = ?, steps = ?, reflection_notes = ?,
|
|
@@ -68,15 +102,31 @@ async function persistMemoryItem(db, id, params, ctx, existingMemory, finalRefle
|
|
|
68
102
|
owner_id = ?, process_id = ?, session_id = ?,
|
|
69
103
|
num_times = ?, last_mentioned_at = ?, source_session_id = ?, confidence = ?
|
|
70
104
|
WHERE id = ?
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
105
|
+
`;
|
|
106
|
+
const updateParams = useCas
|
|
107
|
+
? [
|
|
108
|
+
content, importance, privacy_scope, tagsJson, source || null,
|
|
109
|
+
origin_source, task_goal || null, finalSteps, finalReflectionNotes,
|
|
110
|
+
workflow_name || null, skill_name || null, trigger_conditions || null,
|
|
111
|
+
recallCount, lastAccessedAt, gValue, consolidationScore,
|
|
112
|
+
ownerId, processId, sessionId,
|
|
113
|
+
numTimes, lastMentionedAt, sourceSessionId, confidenceVal,
|
|
114
|
+
nextVersion,
|
|
115
|
+
id, ownerId, projectId, expected_version,
|
|
116
|
+
]
|
|
117
|
+
: [
|
|
118
|
+
content, importance, privacy_scope, tagsJson, source || null,
|
|
119
|
+
origin_source, task_goal || null, finalSteps, finalReflectionNotes,
|
|
120
|
+
workflow_name || null, skill_name || null, trigger_conditions || null,
|
|
121
|
+
recallCount, lastAccessedAt, gValue, consolidationScore,
|
|
122
|
+
ownerId, processId, sessionId,
|
|
123
|
+
numTimes, lastMentionedAt, sourceSessionId, confidenceVal,
|
|
124
|
+
id,
|
|
125
|
+
];
|
|
126
|
+
const result = await DatabaseUtils.run(db, updateSql, updateParams);
|
|
127
|
+
if (useCas && result.changes === 0) {
|
|
128
|
+
await assertMemoryVersionConflict(db, id, ownerId, projectId, expected_version);
|
|
129
|
+
}
|
|
80
130
|
}
|
|
81
131
|
else {
|
|
82
132
|
const proceduralVersion = type === 'procedural' && existingMemory && update_mode === 'versioned'
|
|
@@ -123,6 +173,10 @@ async function persistMemoryItem(db, id, params, ctx, existingMemory, finalRefle
|
|
|
123
173
|
}
|
|
124
174
|
}
|
|
125
175
|
});
|
|
176
|
+
if (expected_version !== undefined && existingMemory && update_mode && (update_mode === 'replace' || update_mode === 'incremental')) {
|
|
177
|
+
return { casVersion: expected_version + 1 };
|
|
178
|
+
}
|
|
179
|
+
return {};
|
|
126
180
|
}
|
|
127
181
|
function shouldSkipNearDupSearch(type, update_mode, existingProceduralHit, explicitTarget) {
|
|
128
182
|
return mementoConfig.rememberDedupMode === 'off'
|
|
@@ -133,7 +187,7 @@ export async function handleMemoryItem(params, context, ctx, host) {
|
|
|
133
187
|
const { type, ownerId, startTime, project_id_param } = ctx;
|
|
134
188
|
let { numTimes } = ctx;
|
|
135
189
|
let workingParams = params;
|
|
136
|
-
const { content, update_mode, memory_id, workflow_name, skill_name, task_goal, reflection_notes, enable_triple_extraction, importance } = workingParams;
|
|
190
|
+
const { content, update_mode, memory_id, workflow_name, skill_name, task_goal, reflection_notes, enable_triple_extraction, importance, } = workingParams;
|
|
137
191
|
if (!content) {
|
|
138
192
|
throw new Error("type이 'core' 또는 'vault'가 아닐 때는 content가 필수입니다");
|
|
139
193
|
}
|
|
@@ -222,8 +276,10 @@ export async function handleMemoryItem(params, context, ctx, host) {
|
|
|
222
276
|
return host.createErrorResult('NEAR_DUPLICATE', '유사한 기억이 이미 존재하여 저장이 거절되었습니다. update_mode=incremental로 병합하세요.', { similarity_warning });
|
|
223
277
|
}
|
|
224
278
|
const id = existingMemoryId || `mem_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
279
|
+
let casVersion;
|
|
225
280
|
try {
|
|
226
|
-
await persistMemoryItem(context.db, id, workingParams, { ...ctx, numTimes }, existingMemory, finalReflectionNotes, context, host);
|
|
281
|
+
const persistResult = await persistMemoryItem(context.db, id, workingParams, { ...ctx, numTimes }, existingMemory, finalReflectionNotes, context, host);
|
|
282
|
+
casVersion = persistResult.casVersion;
|
|
227
283
|
}
|
|
228
284
|
catch (error) {
|
|
229
285
|
const errorWithCode = error;
|
|
@@ -289,6 +345,7 @@ export async function handleMemoryItem(params, context, ctx, host) {
|
|
|
289
345
|
memory_id: id,
|
|
290
346
|
type: type,
|
|
291
347
|
...(existingMemoryId ? { updated: true } : {}),
|
|
348
|
+
...(casVersion !== undefined ? { version: casVersion } : {}),
|
|
292
349
|
message: existingMemoryId
|
|
293
350
|
? `기억이 갱신되었습니다: ${id}`
|
|
294
351
|
: `기억이 저장되었습니다: ${id}`,
|