memento-mcp-server 1.13.1-a4 → 1.14.0-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/dist/database/migration/migrations/007-procedural-memory-enhancement.sql +66 -0
- package/dist/database/schema.sql +9 -2
- package/dist/domains/memory/tools/recall-tool.d.ts +13 -0
- package/dist/domains/memory/tools/recall-tool.d.ts.map +1 -1
- package/dist/domains/memory/tools/recall-tool.js +160 -12
- package/dist/domains/memory/tools/recall-tool.js.map +1 -1
- package/dist/domains/memory/tools/remember-tool.d.ts +10 -0
- package/dist/domains/memory/tools/remember-tool.d.ts.map +1 -1
- package/dist/domains/memory/tools/remember-tool.js +264 -35
- package/dist/domains/memory/tools/remember-tool.js.map +1 -1
- package/dist/domains/relation/services/relation-quality-validator.d.ts.map +1 -1
- package/dist/domains/relation/services/relation-quality-validator.js +15 -10
- package/dist/domains/relation/services/relation-quality-validator.js.map +1 -1
- package/dist/domains/relation/services/rule-based-relation-extractor.d.ts.map +1 -1
- package/dist/domains/relation/services/rule-based-relation-extractor.js +18 -0
- package/dist/domains/relation/services/rule-based-relation-extractor.js.map +1 -1
- package/dist/domains/relation/tools/add-relation-tool.d.ts +3 -3
- package/dist/domains/relation/tools/add-relation-tool.js +2 -2
- package/dist/domains/relation/tools/add-relation-tool.js.map +1 -1
- package/dist/domains/relation/tools/get-relations-tool.d.ts +3 -3
- package/dist/domains/relation/tools/get-relations-tool.js +2 -2
- package/dist/domains/relation/tools/get-relations-tool.js.map +1 -1
- package/dist/domains/search/algorithms/hybrid-search-engine.d.ts +20 -0
- package/dist/domains/search/algorithms/hybrid-search-engine.d.ts.map +1 -1
- package/dist/domains/search/algorithms/hybrid-search-engine.js +168 -5
- package/dist/domains/search/algorithms/hybrid-search-engine.js.map +1 -1
- package/dist/domains/search/algorithms/search-engine.d.ts.map +1 -1
- package/dist/domains/search/algorithms/search-engine.js +37 -17
- package/dist/domains/search/algorithms/search-engine.js.map +1 -1
- package/dist/domains/search/algorithms/search-ranking.d.ts +15 -2
- package/dist/domains/search/algorithms/search-ranking.d.ts.map +1 -1
- package/dist/domains/search/algorithms/search-ranking.js +46 -15
- package/dist/domains/search/algorithms/search-ranking.js.map +1 -1
- package/dist/domains/search/repositories/vector-search.repository.d.ts.map +1 -1
- package/dist/domains/search/repositories/vector-search.repository.js +180 -89
- package/dist/domains/search/repositories/vector-search.repository.js.map +1 -1
- package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.d.ts +63 -0
- package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.d.ts.map +1 -0
- package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.js +257 -0
- package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.js.map +1 -0
- package/dist/infrastructure/reflexion-worker.d.ts +18 -0
- package/dist/infrastructure/reflexion-worker.d.ts.map +1 -1
- package/dist/infrastructure/reflexion-worker.js +216 -0
- package/dist/infrastructure/reflexion-worker.js.map +1 -1
- package/dist/infrastructure/scheduler/batch-scheduler.d.ts +51 -8
- package/dist/infrastructure/scheduler/batch-scheduler.d.ts.map +1 -1
- package/dist/infrastructure/scheduler/batch-scheduler.js +299 -205
- package/dist/infrastructure/scheduler/batch-scheduler.js.map +1 -1
- package/dist/infrastructure/scheduler/file-logger.d.ts +82 -0
- package/dist/infrastructure/scheduler/file-logger.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/file-logger.js +133 -0
- package/dist/infrastructure/scheduler/file-logger.js.map +1 -0
- package/dist/infrastructure/scheduler/health-checker.d.ts +54 -0
- package/dist/infrastructure/scheduler/health-checker.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/health-checker.js +96 -0
- package/dist/infrastructure/scheduler/health-checker.js.map +1 -0
- package/dist/infrastructure/scheduler/job-queue.d.ts +85 -0
- package/dist/infrastructure/scheduler/job-queue.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/job-queue.js +125 -0
- package/dist/infrastructure/scheduler/job-queue.js.map +1 -0
- package/dist/infrastructure/scheduler/relation-validator-executor.d.ts +37 -0
- package/dist/infrastructure/scheduler/relation-validator-executor.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/relation-validator-executor.js +120 -0
- package/dist/infrastructure/scheduler/relation-validator-executor.js.map +1 -0
- package/dist/infrastructure/scheduler/retry-manager.d.ts +62 -0
- package/dist/infrastructure/scheduler/retry-manager.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/retry-manager.js +91 -0
- package/dist/infrastructure/scheduler/retry-manager.js.map +1 -0
- package/dist/npm-client/utils.d.ts.map +1 -1
- package/dist/npm-client/utils.js +2 -1
- package/dist/npm-client/utils.js.map +1 -1
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +15 -17
- package/dist/server/http-server.js.map +1 -1
- package/dist/services/anchor-manager.d.ts.map +1 -1
- package/dist/services/anchor-manager.js.map +1 -1
- package/dist/shared/types/index.d.ts +36 -0
- package/dist/shared/types/index.d.ts.map +1 -1
- package/dist/shared/types/index.js.map +1 -1
- package/dist/shared/types/relation.d.ts +1 -1
- package/dist/shared/types/relation.d.ts.map +1 -1
- package/dist/shared/types/relation.js +7 -4
- package/dist/shared/types/relation.js.map +1 -1
- package/dist/shared/utils/database.d.ts.map +1 -1
- package/dist/shared/utils/database.js +9 -2
- package/dist/shared/utils/database.js.map +1 -1
- package/dist/shared/utils/procedural-memory-extractor.d.ts +108 -0
- package/dist/shared/utils/procedural-memory-extractor.d.ts.map +1 -0
- package/dist/shared/utils/procedural-memory-extractor.js +581 -0
- package/dist/shared/utils/procedural-memory-extractor.js.map +1 -0
- package/dist/shared/utils/relation-type-converter.d.ts +52 -0
- package/dist/shared/utils/relation-type-converter.d.ts.map +1 -0
- package/dist/shared/utils/relation-type-converter.js +106 -0
- package/dist/shared/utils/relation-type-converter.js.map +1 -0
- package/dist/shared/utils/type-param-validator.d.ts +31 -0
- package/dist/shared/utils/type-param-validator.d.ts.map +1 -1
- package/dist/shared/utils/type-param-validator.js +90 -2
- package/dist/shared/utils/type-param-validator.js.map +1 -1
- package/dist/tools/base-tool.d.ts.map +1 -1
- package/dist/tools/types.d.ts +4 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +5 -0
- package/dist/tools/types.js.map +1 -1
- package/dist/workers/consolidation-score-worker.d.ts.map +1 -1
- package/dist/workers/consolidation-score-worker.js +0 -2
- package/dist/workers/consolidation-score-worker.js.map +1 -1
- package/package.json +3 -3
- package/scripts/auto-setup.js +1 -1
|
@@ -115,6 +115,24 @@ const RELATION_KEYWORD_PATTERNS = {
|
|
|
115
115
|
keywords: ['component of', 'element of', 'constituent of'],
|
|
116
116
|
weight: 0.7
|
|
117
117
|
}
|
|
118
|
+
],
|
|
119
|
+
VERSION_OF: [
|
|
120
|
+
{
|
|
121
|
+
keywords: ['버전', '개정', '수정', '업데이트', '개선', '변경'],
|
|
122
|
+
weight: 0.8
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
keywords: ['version of', 'revision of', 'update of', 'improvement of', 'variant of', 'modified version'],
|
|
126
|
+
weight: 0.8
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
keywords: ['개선된', '수정된', '업데이트된', '변경된'],
|
|
130
|
+
weight: 0.7
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
keywords: ['updated', 'revised', 'improved', 'modified', 'enhanced'],
|
|
134
|
+
weight: 0.7
|
|
135
|
+
}
|
|
118
136
|
]
|
|
119
137
|
};
|
|
120
138
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-based-relation-extractor.js","sourceRoot":"","sources":["../../../../src/domains/relation/services/rule-based-relation-extractor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rule-based-relation-extractor.js","sourceRoot":"","sources":["../../../../src/domains/relation/services/rule-based-relation-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iDAAiD,CAAC;AAWrF;;GAEG;AACH,MAAM,yBAAyB,GAA2C;IACxE,MAAM,EAAE;QACN;YACE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;YAClF,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC;YACtG,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAClC,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,CAAC;YAChE,MAAM,EAAE,GAAG;SACZ;KACF;IACD,UAAU,EAAE;QACV;YACE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC9C,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,CAAC;YACtF,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC5B,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,YAAY,CAAC;YACvD,MAAM,EAAE,GAAG;SACZ;KACF;IACD,OAAO,EAAE;QACP;YACE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;YACxD,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC;YACvF,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC5B,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC;YAChD,MAAM,EAAE,GAAG;SACZ;KACF;IACD,cAAc,EAAE;QACd;YACE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YACvD,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,CAAC;YAClG,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;YAC7B,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,aAAa,CAAC;YACrD,MAAM,EAAE,GAAG;SACZ;KACF;IACD,UAAU,EAAE;QACV;YACE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;YAChD,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC;YACtF,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;YAC7B,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,WAAW,CAAC;YACxD,MAAM,EAAE,GAAG;SACZ;KACF;IACD,UAAU,EAAE;QACV;YACE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YACxC,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,CAAC;YAC/E,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;YACzB,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,gBAAgB,CAAC;YAC1D,MAAM,EAAE,GAAG;SACZ;KACF;IACD,UAAU,EAAE;QACV;YACE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;YAChD,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,CAAC;YACxG,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC;YACxC,MAAM,EAAE,GAAG;SACZ;QACD;YACE,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;YACpE,MAAM,EAAE,GAAG;SACZ;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,0BAA0B;IACrC;;;;;;;OAOG;IACK,kBAAkB,CAAC,IAAY,EAAE,OAAe;QACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACK,mBAAmB,CAAC,IAAY,EAAE,OAAe;QACvD,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChF,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,OAAe;QACrC,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACK,gBAAgB,CAAC,IAAY,EAAE,QAA0B;QAK/D,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,cAAc,GAA0B,IAAI,CAAC;QACjD,IAAI,cAAc,GAAG,EAAE,CAAC;QAExB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACvC,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;gBAEhD,eAAe;gBACf,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;oBAC7C,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,CAAC;oBAC5D,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;gBAEhE,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;oBAChC,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;wBAC3B,WAAW,GAAG,QAAQ,CAAC;wBACvB,cAAc,GAAG,OAAO,CAAC;wBACzB,cAAc,GAAG,OAAO,CAAC;oBAC3B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,WAAW,GAAG,CAAC;YACxB,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,cAAc,IAAI,EAAE;SAC/B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,GAAW;QAC7B,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACK,mBAAmB,CAAC,QAAgB;QAC1C,8BAA8B;QAC9B,gCAAgC;QAChC,gCAAgC;QAChC,OAAO,UAAU,CAAC,iBAAiB,GAAG,CAAC,QAAQ,GAAG,CAAC,UAAU,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACnH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,gBAAgB,CACpB,SAAqB,EACrB,gBAA8B,EAC9B,OAAwB;QAExB,MAAM,UAAU,GAAwB,EAAE,CAAC;QAC3C,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,UAAU,CAAC,cAAc,CAAC;QAC1E,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,MAAM,CAAC,sBAAsB,CAAC;QAChF,MAAM,oBAAoB,GAAG,OAAO,EAAE,aAAa,CAAC;QAEpD,aAAa;QACb,MAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAElE,+BAA+B;QAC/B,MAAM,eAAe,GAAG,oBAAoB;YAC1C,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrF,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAmB,CAAC;QAE7D,uBAAuB;QACvB,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;YAC7C,6BAA6B;YAC7B,MAAM,YAAY,GAAG,GAAG,SAAS,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAEtE,kBAAkB;YAClB,KAAK,MAAM,YAAY,IAAI,eAAe,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;gBACzD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAE5D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAE5D,gBAAgB;oBAChB,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;wBAChC,UAAU,CAAC,IAAI,CAAC;4BACd,SAAS,EAAE,SAAS,CAAC,EAAE;4BACvB,SAAS,EAAE,cAAc,CAAC,EAAE;4BAC5B,aAAa,EAAE,YAAY;4BAC3B,UAAU;4BACV,MAAM,EAAE,MAAM;4BACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;yBACzB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,cAAc;QACd,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAEvD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -8,17 +8,17 @@ import type { ToolContext, ToolResult } from '../../../tools/types.js';
|
|
|
8
8
|
declare const AddRelationSchema: z.ZodObject<{
|
|
9
9
|
source_id: z.ZodString;
|
|
10
10
|
target_id: z.ZodString;
|
|
11
|
-
relation_type: z.ZodEnum<["CAUSES", "DEPENDS_ON", "FOLLOWS", "CONTRASTS_WITH", "REFERENCES", "BELONGS_TO"]>;
|
|
11
|
+
relation_type: z.ZodEnum<["CAUSES", "DEPENDS_ON", "FOLLOWS", "CONTRASTS_WITH", "REFERENCES", "BELONGS_TO", "VERSION_OF"]>;
|
|
12
12
|
confidence: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
13
13
|
}, "strip", z.ZodTypeAny, {
|
|
14
14
|
source_id: string;
|
|
15
15
|
target_id: string;
|
|
16
|
-
relation_type: "CAUSES" | "DEPENDS_ON" | "FOLLOWS" | "CONTRASTS_WITH" | "REFERENCES" | "BELONGS_TO";
|
|
16
|
+
relation_type: "CAUSES" | "DEPENDS_ON" | "FOLLOWS" | "CONTRASTS_WITH" | "REFERENCES" | "BELONGS_TO" | "VERSION_OF";
|
|
17
17
|
confidence: number;
|
|
18
18
|
}, {
|
|
19
19
|
source_id: string;
|
|
20
20
|
target_id: string;
|
|
21
|
-
relation_type: "CAUSES" | "DEPENDS_ON" | "FOLLOWS" | "CONTRASTS_WITH" | "REFERENCES" | "BELONGS_TO";
|
|
21
|
+
relation_type: "CAUSES" | "DEPENDS_ON" | "FOLLOWS" | "CONTRASTS_WITH" | "REFERENCES" | "BELONGS_TO" | "VERSION_OF";
|
|
22
22
|
confidence?: number | undefined;
|
|
23
23
|
}>;
|
|
24
24
|
export declare class AddRelationTool extends BaseTool {
|
|
@@ -9,7 +9,7 @@ import { RelationGraph } from '../services/relation-graph.js';
|
|
|
9
9
|
const AddRelationSchema = z.object({
|
|
10
10
|
source_id: z.string().min(1, 'source_id는 필수입니다'),
|
|
11
11
|
target_id: z.string().min(1, 'target_id는 필수입니다'),
|
|
12
|
-
relation_type: z.enum(['CAUSES', 'DEPENDS_ON', 'FOLLOWS', 'CONTRASTS_WITH', 'REFERENCES', 'BELONGS_TO']),
|
|
12
|
+
relation_type: z.enum(['CAUSES', 'DEPENDS_ON', 'FOLLOWS', 'CONTRASTS_WITH', 'REFERENCES', 'BELONGS_TO', 'VERSION_OF']),
|
|
13
13
|
confidence: z.number().min(0).max(1).optional().default(0.7).describe('신뢰도 (0.0~1.0, 기본값: 0.7)')
|
|
14
14
|
});
|
|
15
15
|
export class AddRelationTool extends BaseTool {
|
|
@@ -27,7 +27,7 @@ export class AddRelationTool extends BaseTool {
|
|
|
27
27
|
},
|
|
28
28
|
relation_type: {
|
|
29
29
|
type: 'string',
|
|
30
|
-
enum: ['CAUSES', 'DEPENDS_ON', 'FOLLOWS', 'CONTRASTS_WITH', 'REFERENCES', 'BELONGS_TO'],
|
|
30
|
+
enum: ['CAUSES', 'DEPENDS_ON', 'FOLLOWS', 'CONTRASTS_WITH', 'REFERENCES', 'BELONGS_TO', 'VERSION_OF'],
|
|
31
31
|
description: '관계 유형'
|
|
32
32
|
},
|
|
33
33
|
confidence: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-relation-tool.js","sourceRoot":"","sources":["../../../../src/domains/relation/tools/add-relation-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAChD,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"add-relation-tool.js","sourceRoot":"","sources":["../../../../src/domains/relation/tools/add-relation-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAChD,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACtH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CACjG,CAAC,CAAC;AAEH,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C;QACE,KAAK,CACH,cAAc,EACd,uBAAuB,EACvB;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,WAAW;iBACzB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,WAAW;iBACzB;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;oBACrG,WAAW,EAAE,OAAO;iBACrB;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,WAAW,EAAE,yBAAyB;oBACtC,OAAO,EAAE,GAAG;iBACb;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;SACtD,CACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAAyC,EAAE,OAAoB;QAC1E,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5F,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,2BAA2B;YAC3B,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE;;OAE1C,EAAE,CAAC,SAAS,CAAC,CAA+B,CAAC;YAE9C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,yBAAyB;gCAChC,OAAO,EAAE,sBAAsB,SAAS,EAAE;6BAC3C,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE;;OAE1C,EAAE,CAAC,SAAS,CAAC,CAA+B,CAAC;YAE9C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,yBAAyB;gCAChC,OAAO,EAAE,sBAAsB,SAAS,EAAE;6BAC3C,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,iBAAiB;YACjB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,kBAAkB;gCACzB,OAAO,EAAE,2BAA2B;6BACrC,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,6CAA6C;YAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;YAE9E,iBAAiB;YACjB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,WAAW,CAChD,SAAS,EACT,SAAS,EACT,aAAa,EACb;oBACE,UAAU,EAAE,UAAU,IAAI,GAAG;oBAC7B,QAAQ,EAAE;wBACR,MAAM,EAAE,QAAQ;wBAChB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACvC;iBACF,CACF,CAAC;gBAEF,cAAc;gBACd,OAAO,IAAI,CAAC,mBAAmB,CAAC;oBAC9B,WAAW,EAAE,UAAU;oBACvB,SAAS;oBACT,SAAS;oBACT,aAAa;oBACb,UAAU,EAAE,UAAU,IAAI,GAAG;oBAC7B,OAAO,EAAE,gBAAgB,SAAS,OAAO,aAAa,QAAQ,SAAS,EAAE;iBAC1E,CAAC,CAAC;YAEL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,qBAAqB;gBACrB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;oBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;wBACzC,OAAO;4BACL,OAAO,EAAE,CAAC;oCACR,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,OAAO,EAAE,KAAK;wCACd,KAAK,EAAE,oBAAoB;wCAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;qCACvB,EAAE,IAAI,EAAE,CAAC,CAAC;iCACZ,CAAC;yBACH,CAAC;oBACJ,CAAC;oBACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;wBACpC,OAAO;4BACL,OAAO,EAAE,CAAC;oCACR,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,OAAO,EAAE,KAAK;wCACd,KAAK,EAAE,iBAAiB;wCACxB,OAAO,EAAE,KAAK,CAAC,OAAO;qCACvB,EAAE,IAAI,EAAE,CAAC,CAAC;iCACZ,CAAC;yBACH,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,qBAAqB;4BAC5B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;yBAChE,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -7,17 +7,17 @@ import { BaseTool } from '../../../tools/base-tool.js';
|
|
|
7
7
|
import type { ToolContext, ToolResult } from '../../../tools/types.js';
|
|
8
8
|
declare const GetRelationsSchema: z.ZodObject<{
|
|
9
9
|
memory_id: z.ZodString;
|
|
10
|
-
relation_type: z.ZodOptional<z.ZodEnum<["CAUSES", "DEPENDS_ON", "FOLLOWS", "CONTRASTS_WITH", "REFERENCES", "BELONGS_TO"]>>;
|
|
10
|
+
relation_type: z.ZodOptional<z.ZodEnum<["CAUSES", "DEPENDS_ON", "FOLLOWS", "CONTRASTS_WITH", "REFERENCES", "BELONGS_TO", "VERSION_OF"]>>;
|
|
11
11
|
category: z.ZodOptional<z.ZodEnum<["Causal", "Temporal", "Structural", "Semantic"]>>;
|
|
12
12
|
direction: z.ZodDefault<z.ZodOptional<z.ZodEnum<["incoming", "outgoing", "both"]>>>;
|
|
13
13
|
}, "strip", z.ZodTypeAny, {
|
|
14
14
|
direction: "outgoing" | "incoming" | "both";
|
|
15
15
|
memory_id: string;
|
|
16
|
-
relation_type?: "CAUSES" | "DEPENDS_ON" | "FOLLOWS" | "CONTRASTS_WITH" | "REFERENCES" | "BELONGS_TO" | undefined;
|
|
16
|
+
relation_type?: "CAUSES" | "DEPENDS_ON" | "FOLLOWS" | "CONTRASTS_WITH" | "REFERENCES" | "BELONGS_TO" | "VERSION_OF" | undefined;
|
|
17
17
|
category?: "Causal" | "Temporal" | "Structural" | "Semantic" | undefined;
|
|
18
18
|
}, {
|
|
19
19
|
memory_id: string;
|
|
20
|
-
relation_type?: "CAUSES" | "DEPENDS_ON" | "FOLLOWS" | "CONTRASTS_WITH" | "REFERENCES" | "BELONGS_TO" | undefined;
|
|
20
|
+
relation_type?: "CAUSES" | "DEPENDS_ON" | "FOLLOWS" | "CONTRASTS_WITH" | "REFERENCES" | "BELONGS_TO" | "VERSION_OF" | undefined;
|
|
21
21
|
direction?: "outgoing" | "incoming" | "both" | undefined;
|
|
22
22
|
category?: "Causal" | "Temporal" | "Structural" | "Semantic" | undefined;
|
|
23
23
|
}>;
|
|
@@ -9,7 +9,7 @@ import { RelationGraph } from '../services/relation-graph.js';
|
|
|
9
9
|
import { RELATION_TYPE_CATEGORY_MAP, getRelationCategory } from '../../../shared/types/relation.js';
|
|
10
10
|
const GetRelationsSchema = z.object({
|
|
11
11
|
memory_id: z.string().min(1, 'memory_id는 필수입니다'),
|
|
12
|
-
relation_type: z.enum(['CAUSES', 'DEPENDS_ON', 'FOLLOWS', 'CONTRASTS_WITH', 'REFERENCES', 'BELONGS_TO']).optional(),
|
|
12
|
+
relation_type: z.enum(['CAUSES', 'DEPENDS_ON', 'FOLLOWS', 'CONTRASTS_WITH', 'REFERENCES', 'BELONGS_TO', 'VERSION_OF']).optional(),
|
|
13
13
|
category: z.enum(['Causal', 'Temporal', 'Structural', 'Semantic']).optional(),
|
|
14
14
|
direction: z.enum(['incoming', 'outgoing', 'both']).optional().default('both')
|
|
15
15
|
});
|
|
@@ -24,7 +24,7 @@ export class GetRelationsTool extends BaseTool {
|
|
|
24
24
|
},
|
|
25
25
|
relation_type: {
|
|
26
26
|
type: 'string',
|
|
27
|
-
enum: ['CAUSES', 'DEPENDS_ON', 'FOLLOWS', 'CONTRASTS_WITH', 'REFERENCES', 'BELONGS_TO'],
|
|
27
|
+
enum: ['CAUSES', 'DEPENDS_ON', 'FOLLOWS', 'CONTRASTS_WITH', 'REFERENCES', 'BELONGS_TO', 'VERSION_OF'],
|
|
28
28
|
description: '관계 유형 필터 (선택)'
|
|
29
29
|
},
|
|
30
30
|
category: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-relations-tool.js","sourceRoot":"","sources":["../../../../src/domains/relation/tools/get-relations-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAGpG,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAChD,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"get-relations-tool.js","sourceRoot":"","sources":["../../../../src/domains/relation/tools/get-relations-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAGpG,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAChD,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjI,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7E,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CAC/E,CAAC,CAAC;AAEH,MAAM,OAAO,gBAAiB,SAAQ,QAAQ;IAC5C;QACE,KAAK,CACH,eAAe,EACf,mBAAmB,EACnB;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gBAAgB;iBAC9B;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;oBACrG,WAAW,EAAE,eAAe;iBAC7B;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC;oBACtD,WAAW,EAAE,iBAAiB;iBAC/B;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC;oBACtC,WAAW,EAAE,mBAAmB;oBAChC,OAAO,EAAE,MAAM;iBAChB;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB,CACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAA0C,EAAE,OAAoB;QAC3E,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3F,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,mBAAmB;YACnB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE;;OAEpC,EAAE,CAAC,SAAS,CAAC,CAA+B,CAAC;YAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,kBAAkB;gCACzB,OAAO,EAAE,mBAAmB,SAAS,EAAE;6BACxC,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,6CAA6C;YAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;YAE9E,iBAAiB;YACjB,MAAM,OAAO,GAAwB;gBACnC,SAAS,EAAE,SAAS,IAAI,MAAM;gBAC9B,aAAa,EAAE,GAAG,CAAC,YAAY;aAChC,CAAC;YAEF,sBAAsB;YACtB,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,aAAa,GAAG,CAAC,aAAa,CAAC,CAAC;YAC1C,CAAC;YAED,iBAAiB;YACjB,IAAI,QAAQ,EAAE,CAAC;gBACb,sEAAsE;gBACtE,MAAM,eAAe,GAAmB,EAAE,CAAC;gBAC3C,KAAK,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;oBAC1F,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;wBAClC,eAAe,CAAC,IAAI,CAAC,YAA4B,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;gBAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9D,wCAAwC;wBACxC,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAkB,EAAE,EAAE,CAC1E,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC/B,CAAC;wBACF,kCAAkC;oBACpC,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,aAAa,GAAG,eAAe,CAAC;oBAC1C,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,6CAA6C;oBAC7C,OAAO,CAAC,aAAa,GAAG,EAAE,CAAC;gBAC7B,CAAC;YACH,CAAC;YAED,wCAAwC;YACxC,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChE,OAAO,IAAI,CAAC,mBAAmB,CAAC;oBAC9B,SAAS;oBACT,cAAc,EAAE,CAAC;oBACjB,SAAS,EAAE,EAAE;oBACb,OAAO,EAAE;wBACP,aAAa,EAAE,aAAa,IAAI,IAAI;wBACpC,QAAQ,EAAE,QAAQ,IAAI,IAAI;wBAC1B,SAAS,EAAE,SAAS,IAAI,MAAM;qBAC/B;oBACD,OAAO,EAAE,eAAe;iBACzB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAEvE,cAAc;YACd,OAAO,IAAI,CAAC,mBAAmB,CAAC;gBAC9B,SAAS;gBACT,cAAc,EAAE,SAAS,CAAC,MAAM;gBAChC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC;oBAC/C,WAAW,EAAE,CAAC,CAAC,EAAE;oBACjB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,aAAa,EAAE,CAAC,CAAC,aAAa;oBAC9B,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,UAAU,EAAE,CAAC,CAAC,UAAU;iBACzB,CAAC,CAAC;gBACH,OAAO,EAAE;oBACP,aAAa,EAAE,aAAa,IAAI,IAAI;oBACpC,QAAQ,EAAE,QAAQ,IAAI,IAAI;oBAC1B,SAAS,EAAE,SAAS,IAAI,MAAM;iBAC/B;gBACD,OAAO,EAAE,GAAG,SAAS,CAAC,MAAM,cAAc;aAC3C,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,cAAc;4BACrB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;yBAChE,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -107,6 +107,16 @@ export declare class SearchLogger implements ISearchLogger {
|
|
|
107
107
|
*/
|
|
108
108
|
logExperiment(searchId: string, experimentId: string, variant: Record<string, any>): void;
|
|
109
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* 구조화된 컨텍스트 정보
|
|
112
|
+
* PRD 요구사항: trigger_conditions와 매칭하기 위한 현재 컨텍스트
|
|
113
|
+
*/
|
|
114
|
+
export interface TriggerContext {
|
|
115
|
+
tool_name?: string;
|
|
116
|
+
error_type?: string;
|
|
117
|
+
params?: Record<string, any>;
|
|
118
|
+
[key: string]: any;
|
|
119
|
+
}
|
|
110
120
|
export interface HybridSearchQuery {
|
|
111
121
|
query: string;
|
|
112
122
|
filters?: MemorySearchFilters | undefined;
|
|
@@ -116,6 +126,8 @@ export interface HybridSearchQuery {
|
|
|
116
126
|
includeRelations?: boolean;
|
|
117
127
|
experiment_id?: string;
|
|
118
128
|
provider_filter?: EmbeddingProvider[];
|
|
129
|
+
match_trigger_conditions?: boolean;
|
|
130
|
+
context?: TriggerContext;
|
|
119
131
|
}
|
|
120
132
|
export interface HybridSearchResult {
|
|
121
133
|
id: string;
|
|
@@ -276,6 +288,14 @@ export declare class HybridSearchEngine {
|
|
|
276
288
|
* 데이터베이스에서 consolidation_score 조회
|
|
277
289
|
*/
|
|
278
290
|
private fetchConsolidationScores;
|
|
291
|
+
/**
|
|
292
|
+
* Procedural Memory 매칭 정보 조회
|
|
293
|
+
* workflow_name, skill_name, trigger_conditions 매칭 여부를 확인합니다.
|
|
294
|
+
*
|
|
295
|
+
* workflow_name과 skill_name은 쿼리/필터와의 실제 매칭을 수행합니다.
|
|
296
|
+
* trigger_conditions는 현재 컨텍스트(쿼리)와의 매칭을 수행합니다.
|
|
297
|
+
*/
|
|
298
|
+
private fetchProceduralMemoryMatches;
|
|
279
299
|
/**
|
|
280
300
|
* 관계 가중치 계산 및 조회
|
|
281
301
|
* 관계 정보도 함께 반환 (선택적)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid-search-engine.d.ts","sourceRoot":"","sources":["../../../../src/domains/search/algorithms/hybrid-search-engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hybrid-search-engine.d.ts","sourceRoot":"","sources":["../../../../src/domains/search/algorithms/hybrid-search-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -304,7 +304,7 @@ export class HybridSearchEngine {
|
|
|
304
304
|
// 벡터 유사도 검색을 실행하여 의미적으로 관련된 결과를 획득합니다.
|
|
305
305
|
const vectorResults = await this.executeVectorSearch(db, query, searchId);
|
|
306
306
|
// 텍스트와 벡터 검색 결과를 결합하고 통합 점수와 관계 가중치를 조회하여 최종 정렬합니다.
|
|
307
|
-
const finalResults = await this.combineAndSortResults(textResults, vectorResults, weights, query.limit || 10, db, query.includeRelations || false);
|
|
307
|
+
const finalResults = await this.combineAndSortResults(textResults, vectorResults, weights, query.limit || 10, db, query.includeRelations || false, query);
|
|
308
308
|
// 검색 통계를 업데이트하여 향후 가중치 조정에 활용합니다.
|
|
309
309
|
this.updateSearchStats(query.query, textResults.length, vectorResults.length);
|
|
310
310
|
const queryTime = this.calculateQueryTime(startTime);
|
|
@@ -841,7 +841,7 @@ export class HybridSearchEngine {
|
|
|
841
841
|
throw new SearchError(SearchErrorType.EMBEDDING_GENERATION_FAILED, `임베딩 생성 중 오류가 발생했습니다 (provider: ${preferredProvider})`, error instanceof Error ? error : new Error(String(error)), { query, searchId, preferredProvider });
|
|
842
842
|
}
|
|
843
843
|
}
|
|
844
|
-
async combineAndSortResults(textResults, vectorResults, weights, limit, db, includeRelations = false) {
|
|
844
|
+
async combineAndSortResults(textResults, vectorResults, weights, limit, db, includeRelations = false, query) {
|
|
845
845
|
try {
|
|
846
846
|
const combinedResults = this.resultCombiner.combine(textResults, vectorResults, weights.textWeight, weights.vectorWeight);
|
|
847
847
|
// 관계 그래프와 통합 점수를 활용하여 더 정교한 관련성 평가를 수행합니다.
|
|
@@ -857,6 +857,8 @@ export class HybridSearchEngine {
|
|
|
857
857
|
if (mementoConfig.consolidationScoreEnabled) {
|
|
858
858
|
consolidationScores = this.fetchConsolidationScores(db, memoryIds);
|
|
859
859
|
}
|
|
860
|
+
// Procedural Memory 특화 가중치를 위한 매칭 정보 조회
|
|
861
|
+
const proceduralMemoryMatches = this.fetchProceduralMemoryMatches(db, memoryIds, query);
|
|
860
862
|
// 관계 가중치와 통합 점수를 반영하여 각 결과의 최종 점수를 재계산합니다.
|
|
861
863
|
combinedResults.forEach(result => {
|
|
862
864
|
const relationWeight = relationWeights.get(result.id);
|
|
@@ -875,23 +877,42 @@ export class HybridSearchEngine {
|
|
|
875
877
|
}));
|
|
876
878
|
}
|
|
877
879
|
}
|
|
880
|
+
// Procedural Memory 매칭 정보 가져오기
|
|
881
|
+
const proceduralMatch = proceduralMemoryMatches.get(result.id);
|
|
878
882
|
const consolidationScore = consolidationScores.get(result.id);
|
|
879
883
|
if (consolidationScore !== undefined) {
|
|
880
884
|
// 통합 점수가 있는 경우 더 정교한 점수 계산 방식을 사용하여 검색 품질을 향상시키기 위해
|
|
881
885
|
result.consolidation_score = consolidationScore;
|
|
882
886
|
const vectorSimilarity = result.vectorScore;
|
|
883
|
-
|
|
887
|
+
// Procedural Memory 특화 가중치를 포함한 SearchFeatures 구성
|
|
888
|
+
const features = {
|
|
889
|
+
relevance: vectorSimilarity,
|
|
890
|
+
recency: this.calculateRecency(result.created_at),
|
|
891
|
+
importance: result.importance || 0.5,
|
|
892
|
+
usage: this.calculateUsage(result.last_accessed),
|
|
893
|
+
relation_weight: relationWeight || 0,
|
|
894
|
+
duplication_penalty: 0,
|
|
895
|
+
consolidation_score: consolidationScore,
|
|
896
|
+
workflow_name_match: proceduralMatch?.workflow_name_match || false,
|
|
897
|
+
skill_name_match: proceduralMatch?.skill_name_match || false,
|
|
898
|
+
trigger_conditions_match: proceduralMatch?.trigger_conditions_match || false
|
|
899
|
+
};
|
|
900
|
+
// calculateFinalScoreWithConsolidation 대신 calculateFinalScore 사용 (procedural memory boost 포함)
|
|
901
|
+
result.finalScore = this.ranking.calculateFinalScore(features);
|
|
884
902
|
}
|
|
885
903
|
else {
|
|
886
904
|
// 관계 가중치를 포함한 finalScore 재계산
|
|
887
|
-
// SearchFeatures 구성
|
|
905
|
+
// SearchFeatures 구성 (Procedural Memory 특화 가중치 포함)
|
|
888
906
|
const features = {
|
|
889
907
|
relevance: result.vectorScore || result.textScore || 0,
|
|
890
908
|
recency: this.calculateRecency(result.created_at),
|
|
891
909
|
importance: result.importance || 0.5,
|
|
892
910
|
usage: this.calculateUsage(result.last_accessed),
|
|
893
911
|
relation_weight: relationWeight || 0, // relationWeight가 undefined면 0 사용
|
|
894
|
-
duplication_penalty: 0 // 중복 패널티는 이미 결과 결합 시 처리됨
|
|
912
|
+
duplication_penalty: 0, // 중복 패널티는 이미 결과 결합 시 처리됨
|
|
913
|
+
workflow_name_match: proceduralMatch?.workflow_name_match || false,
|
|
914
|
+
skill_name_match: proceduralMatch?.skill_name_match || false,
|
|
915
|
+
trigger_conditions_match: proceduralMatch?.trigger_conditions_match || false
|
|
895
916
|
};
|
|
896
917
|
result.finalScore = this.ranking.calculateFinalScore(features);
|
|
897
918
|
}
|
|
@@ -930,6 +951,148 @@ export class HybridSearchEngine {
|
|
|
930
951
|
}
|
|
931
952
|
return scores;
|
|
932
953
|
}
|
|
954
|
+
/**
|
|
955
|
+
* Procedural Memory 매칭 정보 조회
|
|
956
|
+
* workflow_name, skill_name, trigger_conditions 매칭 여부를 확인합니다.
|
|
957
|
+
*
|
|
958
|
+
* workflow_name과 skill_name은 쿼리/필터와의 실제 매칭을 수행합니다.
|
|
959
|
+
* trigger_conditions는 현재 컨텍스트(쿼리)와의 매칭을 수행합니다.
|
|
960
|
+
*/
|
|
961
|
+
fetchProceduralMemoryMatches(db, memoryIds, query) {
|
|
962
|
+
const matches = new Map();
|
|
963
|
+
if (memoryIds.length === 0) {
|
|
964
|
+
return matches;
|
|
965
|
+
}
|
|
966
|
+
// Mock 데이터베이스인 경우 빈 Map 반환 (테스트 환경에서 안전하게 처리)
|
|
967
|
+
if (!db || typeof db.prepare !== 'function') {
|
|
968
|
+
return matches;
|
|
969
|
+
}
|
|
970
|
+
try {
|
|
971
|
+
const placeholders = memoryIds.map(() => '?').join(',');
|
|
972
|
+
const sql = `
|
|
973
|
+
SELECT id, workflow_name, skill_name, trigger_conditions
|
|
974
|
+
FROM memory_item
|
|
975
|
+
WHERE id IN (${placeholders})
|
|
976
|
+
AND (workflow_name IS NOT NULL OR skill_name IS NOT NULL OR trigger_conditions IS NOT NULL)
|
|
977
|
+
`;
|
|
978
|
+
const results = db.prepare(sql).all(...memoryIds);
|
|
979
|
+
// 쿼리와 필터 정보 추출
|
|
980
|
+
const queryText = query?.query?.toLowerCase() || '';
|
|
981
|
+
const filterWorkflowName = query?.filters?.workflow_name?.toLowerCase();
|
|
982
|
+
const filterSkillName = query?.filters?.skill_name?.toLowerCase();
|
|
983
|
+
const matchTriggerConditions = query?.match_trigger_conditions ?? false;
|
|
984
|
+
results.forEach(row => {
|
|
985
|
+
// workflow_name 매칭: 필터 또는 쿼리와 매칭
|
|
986
|
+
// PRD: "매칭 시 가중치" - 실제 매칭이 있어야만 부스트 적용
|
|
987
|
+
let workflowMatch = false;
|
|
988
|
+
if (row.workflow_name) {
|
|
989
|
+
const workflowLower = row.workflow_name.toLowerCase();
|
|
990
|
+
if (filterWorkflowName) {
|
|
991
|
+
// 필터가 있으면 정확히 일치해야 함
|
|
992
|
+
workflowMatch = workflowLower === filterWorkflowName;
|
|
993
|
+
}
|
|
994
|
+
else if (queryText) {
|
|
995
|
+
// 쿼리가 있으면 부분 매칭
|
|
996
|
+
workflowMatch = workflowLower.includes(queryText) || queryText.includes(workflowLower);
|
|
997
|
+
}
|
|
998
|
+
// 쿼리와 필터가 모두 없으면 매칭하지 않음 (PRD: "매칭 시 가중치")
|
|
999
|
+
}
|
|
1000
|
+
// skill_name 매칭: 필터 또는 쿼리와 매칭
|
|
1001
|
+
// PRD: "매칭 시 가중치" - 실제 매칭이 있어야만 부스트 적용
|
|
1002
|
+
let skillMatch = false;
|
|
1003
|
+
if (row.skill_name) {
|
|
1004
|
+
const skillLower = row.skill_name.toLowerCase();
|
|
1005
|
+
if (filterSkillName) {
|
|
1006
|
+
// 필터가 있으면 정확히 일치해야 함
|
|
1007
|
+
skillMatch = skillLower === filterSkillName;
|
|
1008
|
+
}
|
|
1009
|
+
else if (queryText) {
|
|
1010
|
+
// 쿼리가 있으면 부분 매칭
|
|
1011
|
+
skillMatch = skillLower.includes(queryText) || queryText.includes(skillLower);
|
|
1012
|
+
}
|
|
1013
|
+
// 쿼리와 필터가 모두 없으면 매칭하지 않음 (PRD: "매칭 시 가중치")
|
|
1014
|
+
}
|
|
1015
|
+
// trigger_conditions 매칭: match_trigger_conditions 플래그에 따라 처리
|
|
1016
|
+
// PRD: match_trigger_conditions=false일 때는 부스트 적용하지 않음
|
|
1017
|
+
// PRD: 구조화된 컨텍스트(예: tool_name, error_type, params)와 JSON 매칭 요구
|
|
1018
|
+
let triggerMatch = false;
|
|
1019
|
+
if (matchTriggerConditions && row.trigger_conditions) {
|
|
1020
|
+
try {
|
|
1021
|
+
const parsed = typeof row.trigger_conditions === 'string'
|
|
1022
|
+
? JSON.parse(row.trigger_conditions)
|
|
1023
|
+
: row.trigger_conditions;
|
|
1024
|
+
if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)) {
|
|
1025
|
+
const triggerContext = query?.context;
|
|
1026
|
+
// 구조화된 컨텍스트가 제공된 경우: 키-값 기반 정확 매칭
|
|
1027
|
+
// 모든 키-값 쌍이 매칭되어야 함 (첫 번째 키만 맞으면 통과하는 문제 수정)
|
|
1028
|
+
if (triggerContext && Object.keys(triggerContext).length > 0) {
|
|
1029
|
+
// trigger_conditions의 모든 키-값 쌍이 컨텍스트와 매칭되는지 확인
|
|
1030
|
+
let allKeysMatch = true;
|
|
1031
|
+
for (const [key, value] of Object.entries(parsed)) {
|
|
1032
|
+
const contextValue = triggerContext[key];
|
|
1033
|
+
// trigger_conditions에 있는 키가 컨텍스트에 없으면 매칭 실패
|
|
1034
|
+
if (contextValue === undefined) {
|
|
1035
|
+
allKeysMatch = false;
|
|
1036
|
+
break;
|
|
1037
|
+
}
|
|
1038
|
+
// 값이 객체인 경우 재귀적으로 비교
|
|
1039
|
+
if (typeof value === 'object' && typeof contextValue === 'object' && value !== null && contextValue !== null) {
|
|
1040
|
+
// 중첩 객체 매칭: context의 값이 trigger_conditions의 값과 부분적으로 일치하는지 확인
|
|
1041
|
+
const valueStr = JSON.stringify(value).toLowerCase();
|
|
1042
|
+
const contextStr = JSON.stringify(contextValue).toLowerCase();
|
|
1043
|
+
if (!(valueStr.includes(contextStr) || contextStr.includes(valueStr))) {
|
|
1044
|
+
// 하나라도 매칭되지 않으면 실패
|
|
1045
|
+
allKeysMatch = false;
|
|
1046
|
+
break;
|
|
1047
|
+
}
|
|
1048
|
+
}
|
|
1049
|
+
else {
|
|
1050
|
+
// 단순 값 매칭: 문자열로 변환하여 비교
|
|
1051
|
+
const valueStr = String(value).toLowerCase();
|
|
1052
|
+
const contextStr = String(contextValue).toLowerCase();
|
|
1053
|
+
if (!(valueStr === contextStr || valueStr.includes(contextStr) || contextStr.includes(valueStr))) {
|
|
1054
|
+
// 하나라도 매칭되지 않으면 실패
|
|
1055
|
+
allKeysMatch = false;
|
|
1056
|
+
break;
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1060
|
+
// 모든 키/값 쌍이 매칭되었을 때만 triggerMatch = true
|
|
1061
|
+
triggerMatch = allKeysMatch;
|
|
1062
|
+
}
|
|
1063
|
+
else if (queryText) {
|
|
1064
|
+
// 구조화된 컨텍스트가 없는 경우: 쿼리 텍스트 기반 매칭 (fallback)
|
|
1065
|
+
// 쿼리 텍스트가 trigger_conditions의 키와 값 모두와 매칭되는지 확인
|
|
1066
|
+
// 키 매칭: tool_name, error_type, params 등 구조화된 필드명과 매칭
|
|
1067
|
+
const triggerKeys = Object.keys(parsed).map(k => k.toLowerCase());
|
|
1068
|
+
const triggerValues = Object.values(parsed).map(v => String(v).toLowerCase());
|
|
1069
|
+
// 키 또는 값 중 하나라도 쿼리와 매칭되면 통과
|
|
1070
|
+
const keyMatch = triggerKeys.some(k => k.includes(queryText) || queryText.includes(k));
|
|
1071
|
+
const valueMatch = triggerValues.some(v => v.includes(queryText) || queryText.includes(v));
|
|
1072
|
+
triggerMatch = keyMatch || valueMatch;
|
|
1073
|
+
}
|
|
1074
|
+
// 쿼리와 컨텍스트가 모두 없으면 매칭하지 않음 (PRD: "매칭 시 가중치")
|
|
1075
|
+
}
|
|
1076
|
+
}
|
|
1077
|
+
catch (error) {
|
|
1078
|
+
// JSON 파싱 실패 시 매칭 실패로 처리
|
|
1079
|
+
triggerMatch = false;
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
// match_trigger_conditions가 false이면 항상 false
|
|
1083
|
+
matches.set(row.id, {
|
|
1084
|
+
workflow_name_match: workflowMatch,
|
|
1085
|
+
skill_name_match: skillMatch,
|
|
1086
|
+
trigger_conditions_match: triggerMatch
|
|
1087
|
+
});
|
|
1088
|
+
});
|
|
1089
|
+
}
|
|
1090
|
+
catch (error) {
|
|
1091
|
+
// 에러 발생 시 빈 Map 반환 (procedural memory boost 없음)
|
|
1092
|
+
console.warn('⚠️ Procedural Memory 매칭 정보 조회 실패:', error);
|
|
1093
|
+
}
|
|
1094
|
+
return matches;
|
|
1095
|
+
}
|
|
933
1096
|
/**
|
|
934
1097
|
* 관계 가중치 계산 및 조회
|
|
935
1098
|
* 관계 정보도 함께 반환 (선택적)
|