memento-mcp-server 1.11.0-a1 → 1.11.1-a
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/README.md +7 -0
- package/dist/server/context.d.ts +36 -0
- package/dist/server/context.d.ts.map +1 -0
- package/dist/server/context.js +45 -0
- package/dist/server/context.js.map +1 -0
- package/dist/server/handlers/anchor-map.handler.d.ts +60 -0
- package/dist/server/handlers/anchor-map.handler.d.ts.map +1 -0
- package/dist/server/handlers/anchor-map.handler.js +190 -0
- package/dist/server/handlers/anchor-map.handler.js.map +1 -0
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +41 -1131
- package/dist/server/http-server.js.map +1 -1
- package/dist/server/middleware/error-handler.middleware.d.ts +25 -0
- package/dist/server/middleware/error-handler.middleware.d.ts.map +1 -0
- package/dist/server/middleware/error-handler.middleware.js +97 -0
- package/dist/server/middleware/error-handler.middleware.js.map +1 -0
- package/dist/server/middleware/index.d.ts +8 -0
- package/dist/server/middleware/index.d.ts.map +1 -0
- package/dist/server/middleware/index.js +8 -0
- package/dist/server/middleware/index.js.map +1 -0
- package/dist/server/middleware/service-injector.middleware.d.ts +30 -0
- package/dist/server/middleware/service-injector.middleware.d.ts.map +1 -0
- package/dist/server/middleware/service-injector.middleware.js +20 -0
- package/dist/server/middleware/service-injector.middleware.js.map +1 -0
- package/dist/server/middleware/tool-context.middleware.d.ts +29 -0
- package/dist/server/middleware/tool-context.middleware.d.ts.map +1 -0
- package/dist/server/middleware/tool-context.middleware.js +34 -0
- package/dist/server/middleware/tool-context.middleware.js.map +1 -0
- package/dist/server/routes/admin.routes.d.ts +12 -0
- package/dist/server/routes/admin.routes.d.ts.map +1 -0
- package/dist/server/routes/admin.routes.js +338 -0
- package/dist/server/routes/admin.routes.js.map +1 -0
- package/dist/server/routes/api.routes.d.ts +13 -0
- package/dist/server/routes/api.routes.d.ts.map +1 -0
- package/dist/server/routes/api.routes.js +122 -0
- package/dist/server/routes/api.routes.js.map +1 -0
- package/dist/server/routes/mcp.routes.d.ts +22 -0
- package/dist/server/routes/mcp.routes.d.ts.map +1 -0
- package/dist/server/routes/mcp.routes.js +383 -0
- package/dist/server/routes/mcp.routes.js.map +1 -0
- package/dist/server/routes/tools.routes.d.ts +13 -0
- package/dist/server/routes/tools.routes.d.ts.map +1 -0
- package/dist/server/routes/tools.routes.js +99 -0
- package/dist/server/routes/tools.routes.js.map +1 -0
- package/dist/services/anchor/anchor-cache-service.d.ts +77 -0
- package/dist/services/anchor/anchor-cache-service.d.ts.map +1 -0
- package/dist/services/anchor/anchor-cache-service.js +193 -0
- package/dist/services/anchor/anchor-cache-service.js.map +1 -0
- package/dist/services/anchor/anchor-interfaces.d.ts +143 -0
- package/dist/services/anchor/anchor-interfaces.d.ts.map +1 -0
- package/dist/services/anchor/anchor-interfaces.js +24 -0
- package/dist/services/anchor/anchor-interfaces.js.map +1 -0
- package/dist/services/anchor/anchor-manager.d.ts +71 -0
- package/dist/services/anchor/anchor-manager.d.ts.map +1 -0
- package/dist/services/anchor/anchor-manager.js +205 -0
- package/dist/services/anchor/anchor-manager.js.map +1 -0
- package/dist/services/anchor/anchor-search-service.d.ts +115 -0
- package/dist/services/anchor/anchor-search-service.d.ts.map +1 -0
- package/dist/services/anchor/anchor-search-service.js +799 -0
- package/dist/services/anchor/anchor-search-service.js.map +1 -0
- package/dist/services/anchor/index.d.ts +11 -0
- package/dist/services/anchor/index.d.ts.map +1 -0
- package/dist/services/anchor/index.js +10 -0
- package/dist/services/anchor/index.js.map +1 -0
- package/dist/services/anchor-manager.d.ts +22 -208
- package/dist/services/anchor-manager.d.ts.map +1 -1
- package/dist/services/anchor-manager.js +72 -1088
- package/dist/services/anchor-manager.js.map +1 -1
- package/dist/services/error-logging-service.d.ts +1 -0
- package/dist/services/error-logging-service.d.ts.map +1 -1
- package/dist/services/error-logging-service.js +2 -0
- package/dist/services/error-logging-service.js.map +1 -1
- package/dist/tools/forget-tool.js +1 -1
- package/dist/tools/forget-tool.js.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anchor Search Service
|
|
3
|
+
* 검색 관련 로직 담당
|
|
4
|
+
* Phase 1.1: anchor-manager.ts 리팩토링
|
|
5
|
+
*/
|
|
6
|
+
import type Database from 'better-sqlite3';
|
|
7
|
+
import type { HybridSearchEngine } from '../../algorithms/hybrid-search-engine.js';
|
|
8
|
+
import type { VectorSearchEngine } from '../../algorithms/vector-search-engine.js';
|
|
9
|
+
import type { IAnchorCacheService, IAnchorSearchService, IAnchorManager, SearchOptions, SearchResult, AnchorSlot } from './anchor-interfaces.js';
|
|
10
|
+
/**
|
|
11
|
+
* Anchor Search Service 구현
|
|
12
|
+
*/
|
|
13
|
+
export declare class AnchorSearchService implements IAnchorSearchService {
|
|
14
|
+
private db;
|
|
15
|
+
private cacheService;
|
|
16
|
+
private hybridSearchEngine;
|
|
17
|
+
private vectorSearchEngine;
|
|
18
|
+
private queryEmbeddingService;
|
|
19
|
+
/**
|
|
20
|
+
* 생성자
|
|
21
|
+
*/
|
|
22
|
+
constructor(cacheService: IAnchorCacheService);
|
|
23
|
+
/**
|
|
24
|
+
* 데이터베이스 설정
|
|
25
|
+
*/
|
|
26
|
+
setDatabase(db: Database.Database): void;
|
|
27
|
+
/**
|
|
28
|
+
* 하이브리드 검색 엔진 설정
|
|
29
|
+
*/
|
|
30
|
+
setHybridSearchEngine(hybridSearchEngine: HybridSearchEngine): void;
|
|
31
|
+
/**
|
|
32
|
+
* 벡터 검색 엔진 설정
|
|
33
|
+
*/
|
|
34
|
+
setVectorSearchEngine(vectorSearchEngine: VectorSearchEngine): void;
|
|
35
|
+
/**
|
|
36
|
+
* 국소 검색
|
|
37
|
+
* 앵커 메모리를 기준으로 N-hop 제한 검색 수행
|
|
38
|
+
*/
|
|
39
|
+
searchLocal(agentId: string, slot: AnchorSlot, query: string | undefined, hopLimit: number | undefined, options: SearchOptions | undefined, anchorMemoryId: string, anchorEmbedding: {
|
|
40
|
+
embedding: number[];
|
|
41
|
+
provider: string;
|
|
42
|
+
}, startTime: number): Promise<SearchResult>;
|
|
43
|
+
/**
|
|
44
|
+
* 1-hop 검색: 앵커와 직접적으로 유사한 메모리 검색
|
|
45
|
+
*/
|
|
46
|
+
private searchOneHop;
|
|
47
|
+
/**
|
|
48
|
+
* N-hop 검색: 앵커를 기준으로 최대 N-hop까지 확장 검색
|
|
49
|
+
*/
|
|
50
|
+
private searchNHop;
|
|
51
|
+
/**
|
|
52
|
+
* 쿼리 기반 필터링
|
|
53
|
+
*/
|
|
54
|
+
private filterByQuery;
|
|
55
|
+
/**
|
|
56
|
+
* 전역 검색으로 Fallback
|
|
57
|
+
*/
|
|
58
|
+
fallbackToGlobalSearch(query: string, options: SearchOptions | undefined, startTime: number | undefined): Promise<SearchResult>;
|
|
59
|
+
/**
|
|
60
|
+
* memory_link 테이블을 활용한 직접 연결된 메모리 조회
|
|
61
|
+
*/
|
|
62
|
+
private getLinkedMemories;
|
|
63
|
+
/**
|
|
64
|
+
* 검색 결과 랭킹 점수 계산
|
|
65
|
+
*/
|
|
66
|
+
private calculateRankingScore;
|
|
67
|
+
/**
|
|
68
|
+
* 코사인 유사도 계산
|
|
69
|
+
*/
|
|
70
|
+
private cosineSimilarity;
|
|
71
|
+
/**
|
|
72
|
+
* 슬롯별 설정 조회
|
|
73
|
+
*/
|
|
74
|
+
private getSlotConfig;
|
|
75
|
+
/**
|
|
76
|
+
* 자동 앵커 이동 점수 계산
|
|
77
|
+
*/
|
|
78
|
+
calculateReanchorScore(memoryId: string, queryEmbedding?: number[], anchorEmbedding?: number[]): Promise<number>;
|
|
79
|
+
/**
|
|
80
|
+
* 앵커 주변 메모리 사용 패턴 분석
|
|
81
|
+
*/
|
|
82
|
+
analyzeAnchorUsage(agentId: string, slot: AnchorSlot, anchorMemoryId: string, anchorEmbedding: {
|
|
83
|
+
embedding: number[];
|
|
84
|
+
provider: string;
|
|
85
|
+
}, queryEmbedding?: number[]): Promise<Array<{
|
|
86
|
+
memory_id: string;
|
|
87
|
+
score: number;
|
|
88
|
+
reason: string;
|
|
89
|
+
}>>;
|
|
90
|
+
/**
|
|
91
|
+
* 앵커 이동 이유 생성
|
|
92
|
+
*/
|
|
93
|
+
private generateReanchorReason;
|
|
94
|
+
/**
|
|
95
|
+
* 자동 앵커 이동 실행
|
|
96
|
+
*/
|
|
97
|
+
autoReanchor(agentId: string, slot: AnchorSlot, anchorManager: IAnchorManager, queryEmbedding?: number[], threshold?: number, strategy?: 'gradual' | 'immediate'): Promise<{
|
|
98
|
+
moved: boolean;
|
|
99
|
+
old_anchor: string | null;
|
|
100
|
+
new_anchor: string | null;
|
|
101
|
+
score: number;
|
|
102
|
+
reason: string;
|
|
103
|
+
}>;
|
|
104
|
+
/**
|
|
105
|
+
* 검색 후 자동 앵커 이동 체크
|
|
106
|
+
*/
|
|
107
|
+
checkAndAutoReanchor(agentId: string, slot: AnchorSlot, anchorManager: IAnchorManager, queryEmbedding?: number[], autoMoveEnabled?: boolean): Promise<{
|
|
108
|
+
moved: boolean;
|
|
109
|
+
old_anchor: string | null;
|
|
110
|
+
new_anchor: string | null;
|
|
111
|
+
score: number;
|
|
112
|
+
reason: string;
|
|
113
|
+
} | null>;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=anchor-search-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor-search-service.d.ts","sourceRoot":"","sources":["../../../src/services/anchor/anchor-search-service.ts"],"names":[],"mappings":"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"}
|