memento-mcp-server 1.11.1 → 1.12.0-a1

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.
Files changed (126) hide show
  1. package/README.en.md +21 -6
  2. package/README.md +38 -7
  3. package/dist/algorithms/hybrid-search-engine.d.ts +34 -1
  4. package/dist/algorithms/hybrid-search-engine.d.ts.map +1 -1
  5. package/dist/algorithms/hybrid-search-engine.js +186 -17
  6. package/dist/algorithms/hybrid-search-engine.js.map +1 -1
  7. package/dist/algorithms/search-ranking.d.ts +15 -1
  8. package/dist/algorithms/search-ranking.d.ts.map +1 -1
  9. package/dist/algorithms/search-ranking.js +41 -4
  10. package/dist/algorithms/search-ranking.js.map +1 -1
  11. package/dist/config/environment.d.ts.map +1 -1
  12. package/dist/config/environment.js +4 -0
  13. package/dist/config/environment.js.map +1 -1
  14. package/dist/config/index.d.ts.map +1 -1
  15. package/dist/config/index.js +6 -0
  16. package/dist/config/index.js.map +1 -1
  17. package/dist/config/ranking-weights-loader.d.ts +37 -0
  18. package/dist/config/ranking-weights-loader.d.ts.map +1 -0
  19. package/dist/config/ranking-weights-loader.js +109 -0
  20. package/dist/config/ranking-weights-loader.js.map +1 -0
  21. package/dist/constants/relation-constants.d.ts +95 -0
  22. package/dist/constants/relation-constants.d.ts.map +1 -0
  23. package/dist/constants/relation-constants.js +95 -0
  24. package/dist/constants/relation-constants.js.map +1 -0
  25. package/dist/database/migration/migrations/005-relation-engine-schema.d.ts +65 -0
  26. package/dist/database/migration/migrations/005-relation-engine-schema.d.ts.map +1 -0
  27. package/dist/database/migration/migrations/005-relation-engine-schema.js +295 -0
  28. package/dist/database/migration/migrations/005-relation-engine-schema.js.map +1 -0
  29. package/dist/database/migration/migrations/005-relation-engine-schema.sql +64 -0
  30. package/dist/server/routes/admin.routes.d.ts.map +1 -1
  31. package/dist/server/routes/admin.routes.js +228 -0
  32. package/dist/server/routes/admin.routes.js.map +1 -1
  33. package/dist/services/anchor/anchor-interfaces.d.ts +1 -0
  34. package/dist/services/anchor/anchor-interfaces.d.ts.map +1 -1
  35. package/dist/services/anchor/anchor-interfaces.js.map +1 -1
  36. package/dist/services/anchor/anchor-search-service.d.ts +16 -0
  37. package/dist/services/anchor/anchor-search-service.d.ts.map +1 -1
  38. package/dist/services/anchor/anchor-search-service.js +136 -17
  39. package/dist/services/anchor/anchor-search-service.js.map +1 -1
  40. package/dist/services/batch-scheduler.d.ts +11 -0
  41. package/dist/services/batch-scheduler.d.ts.map +1 -1
  42. package/dist/services/batch-scheduler.js +99 -0
  43. package/dist/services/batch-scheduler.js.map +1 -1
  44. package/dist/services/llm-based-relation-extractor.d.ts +156 -0
  45. package/dist/services/llm-based-relation-extractor.d.ts.map +1 -0
  46. package/dist/services/llm-based-relation-extractor.js +1350 -0
  47. package/dist/services/llm-based-relation-extractor.js.map +1 -0
  48. package/dist/services/relation-extractor.d.ts +73 -0
  49. package/dist/services/relation-extractor.d.ts.map +1 -0
  50. package/dist/services/relation-extractor.js +231 -0
  51. package/dist/services/relation-extractor.js.map +1 -0
  52. package/dist/services/relation-graph.d.ts +275 -0
  53. package/dist/services/relation-graph.d.ts.map +1 -0
  54. package/dist/services/relation-graph.js +869 -0
  55. package/dist/services/relation-graph.js.map +1 -0
  56. package/dist/services/relation-quality-validator.d.ts +211 -0
  57. package/dist/services/relation-quality-validator.d.ts.map +1 -0
  58. package/dist/services/relation-quality-validator.js +415 -0
  59. package/dist/services/relation-quality-validator.js.map +1 -0
  60. package/dist/services/rule-based-relation-extractor.d.ts +66 -0
  61. package/dist/services/rule-based-relation-extractor.d.ts.map +1 -0
  62. package/dist/services/rule-based-relation-extractor.js +258 -0
  63. package/dist/services/rule-based-relation-extractor.js.map +1 -0
  64. package/dist/tools/add-relation-tool.d.ts +34 -0
  65. package/dist/tools/add-relation-tool.d.ts.map +1 -0
  66. package/dist/tools/add-relation-tool.js +163 -0
  67. package/dist/tools/add-relation-tool.js.map +1 -0
  68. package/dist/tools/extract-relations-tool.d.ts +28 -0
  69. package/dist/tools/extract-relations-tool.d.ts.map +1 -0
  70. package/dist/tools/extract-relations-tool.js +159 -0
  71. package/dist/tools/extract-relations-tool.js.map +1 -0
  72. package/dist/tools/get-relations-tool.d.ts +34 -0
  73. package/dist/tools/get-relations-tool.d.ts.map +1 -0
  74. package/dist/tools/get-relations-tool.js +155 -0
  75. package/dist/tools/get-relations-tool.js.map +1 -0
  76. package/dist/tools/index.d.ts.map +1 -1
  77. package/dist/tools/index.js +11 -3
  78. package/dist/tools/index.js.map +1 -1
  79. package/dist/tools/remember-tool.d.ts +17 -0
  80. package/dist/tools/remember-tool.d.ts.map +1 -1
  81. package/dist/tools/remember-tool.js +195 -26
  82. package/dist/tools/remember-tool.js.map +1 -1
  83. package/dist/tools/remove-relation-tool.d.ts +45 -0
  84. package/dist/tools/remove-relation-tool.d.ts.map +1 -0
  85. package/dist/tools/remove-relation-tool.js +142 -0
  86. package/dist/tools/remove-relation-tool.js.map +1 -0
  87. package/dist/tools/search-local-tool.d.ts.map +1 -1
  88. package/dist/tools/search-local-tool.js +10 -3
  89. package/dist/tools/search-local-tool.js.map +1 -1
  90. package/dist/tools/types.d.ts +2 -0
  91. package/dist/tools/types.d.ts.map +1 -1
  92. package/dist/tools/types.js.map +1 -1
  93. package/dist/tools/visualize-relations-tool.d.ts +46 -0
  94. package/dist/tools/visualize-relations-tool.d.ts.map +1 -0
  95. package/dist/tools/visualize-relations-tool.js +157 -0
  96. package/dist/tools/visualize-relations-tool.js.map +1 -0
  97. package/dist/types/index.d.ts +8 -0
  98. package/dist/types/index.d.ts.map +1 -1
  99. package/dist/types/index.js +1 -0
  100. package/dist/types/index.js.map +1 -1
  101. package/dist/types/relation-graph.d.ts +215 -0
  102. package/dist/types/relation-graph.d.ts.map +1 -0
  103. package/dist/types/relation-graph.js +6 -0
  104. package/dist/types/relation-graph.js.map +1 -0
  105. package/dist/types/relation.d.ts +112 -0
  106. package/dist/types/relation.d.ts.map +1 -0
  107. package/dist/types/relation.js +67 -0
  108. package/dist/types/relation.js.map +1 -0
  109. package/dist/utils/cache-key-generator.d.ts +63 -0
  110. package/dist/utils/cache-key-generator.d.ts.map +1 -0
  111. package/dist/utils/cache-key-generator.js +76 -0
  112. package/dist/utils/cache-key-generator.js.map +1 -0
  113. package/dist/utils/database.d.ts.map +1 -1
  114. package/dist/utils/database.js +37 -17
  115. package/dist/utils/database.js.map +1 -1
  116. package/dist/utils/relation-visualizer.d.ts +81 -0
  117. package/dist/utils/relation-visualizer.d.ts.map +1 -0
  118. package/dist/utils/relation-visualizer.js +239 -0
  119. package/dist/utils/relation-visualizer.js.map +1 -0
  120. package/dist/utils/type-guards.d.ts +100 -0
  121. package/dist/utils/type-guards.d.ts.map +1 -0
  122. package/dist/utils/type-guards.js +144 -0
  123. package/dist/utils/type-guards.js.map +1 -0
  124. package/package.json +7 -2
  125. package/scripts/generate-relation-report.ts +481 -0
  126. package/scripts/weekly-relation-validation.ts +423 -0
@@ -1 +1 @@
1
- {"version":3,"file":"search-ranking.d.ts","sourceRoot":"","sources":["../../src/algorithms/search-ranking.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACtD,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;gBAEnC,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAWnD;;;;;;;OAOG;IACH,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM;IAwBrD;;;;;OAKG;IACH,4BAA4B,CAAC,OAAO,GAAE,aAA0B,GAAG,yBAAyB;IAa5F;;;;;;;OAOG;IACH,oCAAoC,CAClC,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,GAAE,aAA0B,GAClC,MAAM;IAUT;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM;IA6BjD;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAapC;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+B3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAarB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAOvD;;OAEG;IACH,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAOpF;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAyBnF;;OAEG;IACH,mBAAmB,CAAC,WAAW,EAAE,YAAY,EAAE,GAAG;QAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;IAkBpG;;OAEG;IACH,OAAO,CAAC,SAAS;IAKjB;;OAEG;IACH,2BAA2B,CACzB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EAAE,GACzB,MAAM;IAaT;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAU/B;;OAEG;IACH,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,MAAM;IAUrF;;OAEG;IACH,oBAAoB,CAAC,YAAY,CAAC,EAAE,IAAI,GAAG,MAAM;IAOjD;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,YAAY;CASrB"}
1
+ {"version":3,"file":"search-ranking.d.ts","sourceRoot":"","sources":["../../src/algorithms/search-ranking.ts"],"names":[],"mappings":"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"}
@@ -6,17 +6,18 @@ export class SearchRanking {
6
6
  weights;
7
7
  constructor(weights) {
8
8
  this.weights = {
9
- relevance: 0.50,
9
+ relevance: 0.45,
10
10
  recency: 0.20,
11
11
  importance: 0.20,
12
12
  usage: 0.10,
13
- duplication_penalty: 0.15,
13
+ relation_weight: 0.15,
14
+ duplication_penalty: 0.10,
14
15
  ...weights
15
16
  };
16
17
  }
17
18
  /**
18
19
  * 최종 검색 점수 계산
19
- * S = α * relevance + β * recency + γ * importance + δ * usage - ε * duplication_penalty
20
+ * S = α * relevance + β * recency + γ * importance + δ * usage + ζ * relation_weight - ε * duplication_penalty
20
21
  *
21
22
  * Consolidation Score가 제공되면:
22
23
  * Final_Score = w1 * vector_similarity + w2 * consolidation_score
@@ -26,7 +27,8 @@ export class SearchRanking {
26
27
  const baseScore = this.weights.relevance * features.relevance +
27
28
  this.weights.recency * features.recency +
28
29
  this.weights.importance * features.importance +
29
- this.weights.usage * features.usage -
30
+ this.weights.usage * features.usage +
31
+ (this.weights.relation_weight * (features.relation_weight || 0)) -
30
32
  this.weights.duplication_penalty * features.duplication_penalty;
31
33
  // Consolidation Score가 제공되면 통합
32
34
  if (features.consolidation_score !== undefined && this.weights.consolidation_score !== undefined) {
@@ -303,6 +305,41 @@ export class SearchRanking {
303
305
  const union = new Set([...words1, ...words2]);
304
306
  return union.size > 0 ? intersection.size / union.size : 0;
305
307
  }
308
+ /**
309
+ * 관계 가중치 계산
310
+ * 여러 관계의 confidence와 type_boost를 정규화하여 계산합니다.
311
+ *
312
+ * @param relations 관계 목록 (confidence와 relation_type 포함)
313
+ * @param maxRelations 정규화를 위한 최대 관계 수 (기본값: 5)
314
+ * @returns 정규화된 관계 가중치 (0-1)
315
+ */
316
+ calculateRelationWeight(relations, maxRelations = 5) {
317
+ if (relations.length === 0) {
318
+ return 0;
319
+ }
320
+ // 관계 유형별 부스트 가중치 (RELATION_TYPE_BOOST_MAP)
321
+ const typeBoostMap = {
322
+ 'CAUSES': 1.2,
323
+ 'DEPENDS_ON': 1.1,
324
+ 'FOLLOWS': 1.0,
325
+ 'CONTRASTS_WITH': 0.9,
326
+ 'REFERENCES': 0.8,
327
+ 'BELONGS_TO': 1.0
328
+ };
329
+ // 각 관계의 가중치 계산: confidence * type_boost
330
+ const weightedScores = relations.map(relation => {
331
+ const typeBoost = typeBoostMap[relation.relation_type] || 1.0;
332
+ return relation.confidence * typeBoost;
333
+ });
334
+ // 평균 계산
335
+ const averageScore = weightedScores.reduce((sum, score) => sum + score, 0) / weightedScores.length;
336
+ // 정규화: maxRelations로 나누어 0-1 범위로 정규화
337
+ // 실제 관계 수가 maxRelations보다 적으면 그대로 사용
338
+ const normalizationFactor = Math.min(relations.length, maxRelations);
339
+ const normalizedScore = averageScore / normalizationFactor;
340
+ // 0-1 범위로 클리핑
341
+ return Math.max(0, Math.min(1, normalizedScore));
342
+ }
306
343
  /**
307
344
  * 하위 호환성을 위한 간단한 관련성 계산 (기존 API)
308
345
  */
@@ -1 +1 @@
1
- {"version":3,"file":"search-ranking.js","sourceRoot":"","sources":["../../src/algorithms/search-ranking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-ranking.js","sourceRoot":"","sources":["../../src/algorithms/search-ranking.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqBH,UAAU,iBAAiB;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAKD,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,iBAAsB,GAC9B,MAAM,GAAG,SAAS,CAuBpB;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CAER;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,iBAAsB,GAC9B,MAAM,GAAG,SAAS,CASpB;AAED,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,MAAM,CAqBR;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,MAAM,GAAG,SAAS,CAgBpB;AAED,UAAU,qBAAqB;IAC7B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAkBT;AAED,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM5D,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE9D"}
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAyBH,UAAU,iBAAiB;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAKD,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,iBAAsB,GAC9B,MAAM,GAAG,SAAS,CAuBpB;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CAER;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,iBAAsB,GAC9B,MAAM,GAAG,SAAS,CASpB;AAED,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,MAAM,CAqBR;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,MAAM,GAAG,SAAS,CAgBpB;AAED,UAAU,qBAAqB;IAC7B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAkBT;AAED,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM5D,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE9D"}
@@ -12,7 +12,11 @@ const ENV_DEFAULTS = {
12
12
  LOG_LEVEL: 'info',
13
13
  EMBEDDING_PROVIDER: 'minilm',
14
14
  OPENAI_MODEL: 'text-embedding-3-small',
15
+ OPENAI_LLM_MODEL: 'gpt-4o-mini',
15
16
  GEMINI_MODEL: 'text-embedding-004',
17
+ OLLAMA_BASE_URL: 'http://localhost:11434',
18
+ OLLAMA_MODEL: 'llama3',
19
+ LLM_PROVIDER: 'auto',
16
20
  SEARCH_DEFAULT_LIMIT: '10',
17
21
  SEARCH_MAX_LIMIT: '50',
18
22
  FORGET_WORKING_TTL: '48',
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,mBAAmB,CAAC;AAwB1E,eAAO,MAAM,aAAa,EAAE,aAyC3B,CAAC;AAGF,eAAO,MAAM,oBAAoB;;;;;;CAMhC,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;CAKvB,CAAC;AAGF,wBAAgB,cAAc,IAAI,IAAI,CAKrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAkC,MAAM,mBAAmB,CAAC;AAyBvF,eAAO,MAAM,aAAa,EAAE,aA8C3B,CAAC;AAGF,eAAO,MAAM,oBAAoB;;;;;;CAMhC,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;CAKvB,CAAC;AAGF,wBAAgB,cAAc,IAAI,IAAI,CAKrC"}
@@ -9,6 +9,7 @@ import { providerDimensionDefaults, resolveNumber, resolveOptionalNumber, resolv
9
9
  // 환경 변수 로드
10
10
  config();
11
11
  const embeddingProvider = resolveString('EMBEDDING_PROVIDER') || 'minilm';
12
+ const llmProvider = resolveString('LLM_PROVIDER') || 'auto';
12
13
  const embeddingDimensions = (resolveOptionalNumber('EMBEDDING_DIMENSIONS') ??
13
14
  providerDimensionDefaults[embeddingProvider] ??
14
15
  providerDimensionDefaults.minilm);
@@ -23,9 +24,14 @@ export const mementoConfig = {
23
24
  embeddingProvider,
24
25
  openaiApiKey: resolveOptionalString('OPENAI_API_KEY'),
25
26
  openaiModel: resolveString('OPENAI_MODEL'),
27
+ openaiLlmModel: resolveString('OPENAI_LLM_MODEL'),
26
28
  geminiApiKey: resolveOptionalString('GEMINI_API_KEY'),
27
29
  geminiModel: resolveString('GEMINI_MODEL'),
28
30
  embeddingDimensions,
31
+ // LLM 설정
32
+ llmProvider,
33
+ ollamaBaseUrl: resolveString('OLLAMA_BASE_URL'),
34
+ ollamaModel: resolveString('OLLAMA_MODEL'),
29
35
  // 검색 설정
30
36
  searchDefaultLimit: resolveNumber('SEARCH_DEFAULT_LIMIT'),
31
37
  searchMaxLimit: resolveNumber('SEARCH_MAX_LIMIT'),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * 검색 랭킹 가중치 설정 로더
3
+ * TOML 파일에서 검색 랭킹 가중치를 로드하고 검증합니다.
4
+ */
5
+ export interface RankingWeights {
6
+ alpha: number;
7
+ beta: number;
8
+ gamma: number;
9
+ delta: number;
10
+ zeta: number;
11
+ epsilon: number;
12
+ }
13
+ export interface RelationWeights {
14
+ max_relations: number;
15
+ }
16
+ export interface RankingWeightsConfig {
17
+ ranking_weights: RankingWeights;
18
+ relation_weights: RelationWeights;
19
+ }
20
+ /**
21
+ * TOML 파일에서 검색 랭킹 가중치 설정을 로드합니다.
22
+ * @param configPath TOML 설정 파일 경로 (기본값: config/ranking-weights.toml)
23
+ * @returns 검색 랭킹 가중치 설정 객체
24
+ * @throws 설정 파일을 읽을 수 없거나 파싱에 실패한 경우
25
+ */
26
+ export declare function loadRankingWeights(configPath?: string): RankingWeightsConfig;
27
+ /**
28
+ * 검색 랭킹 가중치 설정을 가져옵니다 (캐싱됨).
29
+ * @param configPath TOML 설정 파일 경로
30
+ * @returns 검색 랭킹 가중치 설정 객체
31
+ */
32
+ export declare function getRankingWeights(configPath?: string): RankingWeightsConfig;
33
+ /**
34
+ * 캐시된 설정을 초기화합니다 (테스트용).
35
+ */
36
+ export declare function resetRankingWeightsCache(): void;
37
+ //# sourceMappingURL=ranking-weights-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ranking-weights-loader.d.ts","sourceRoot":"","sources":["../../src/config/ranking-weights-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,cAAc,CAAC;IAChC,gBAAgB,EAAE,eAAe,CAAC;CACnC;AAgBD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAgC5E;AA+CD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAK3E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * 검색 랭킹 가중치 설정 로더
3
+ * TOML 파일에서 검색 랭킹 가중치를 로드하고 검증합니다.
4
+ */
5
+ import { parse } from '@iarna/toml';
6
+ import { readFileSync } from 'fs';
7
+ import { join } from 'path';
8
+ const DEFAULT_CONFIG = {
9
+ ranking_weights: {
10
+ alpha: 0.45,
11
+ beta: 0.20,
12
+ gamma: 0.20,
13
+ delta: 0.10,
14
+ zeta: 0.15,
15
+ epsilon: 0.10
16
+ },
17
+ relation_weights: {
18
+ max_relations: 5
19
+ }
20
+ };
21
+ /**
22
+ * TOML 파일에서 검색 랭킹 가중치 설정을 로드합니다.
23
+ * @param configPath TOML 설정 파일 경로 (기본값: config/ranking-weights.toml)
24
+ * @returns 검색 랭킹 가중치 설정 객체
25
+ * @throws 설정 파일을 읽을 수 없거나 파싱에 실패한 경우
26
+ */
27
+ export function loadRankingWeights(configPath) {
28
+ const defaultPath = join(process.cwd(), 'config', 'ranking-weights.toml');
29
+ const path = configPath ?? defaultPath;
30
+ try {
31
+ const fileContent = readFileSync(path, 'utf-8');
32
+ const parsed = parse(fileContent);
33
+ // 기본값과 병합
34
+ const config = {
35
+ ranking_weights: {
36
+ ...DEFAULT_CONFIG.ranking_weights,
37
+ ...(parsed.ranking_weights || {})
38
+ },
39
+ relation_weights: {
40
+ ...DEFAULT_CONFIG.relation_weights,
41
+ ...(parsed.relation_weights || {})
42
+ }
43
+ };
44
+ // 값 검증
45
+ validateRankingWeights(config);
46
+ return config;
47
+ }
48
+ catch (error) {
49
+ if (error instanceof Error && 'code' in error && error.code === 'ENOENT') {
50
+ // 파일이 없으면 기본값 반환
51
+ console.warn(`[ranking-weights] 설정 파일을 찾을 수 없습니다: ${path}. 기본값을 사용합니다.`);
52
+ return DEFAULT_CONFIG;
53
+ }
54
+ throw new Error(`검색 랭킹 가중치 설정 로드 실패: ${error instanceof Error ? error.message : String(error)}`);
55
+ }
56
+ }
57
+ /**
58
+ * 검색 랭킹 가중치 설정을 검증합니다.
59
+ * @param config 검증할 설정 객체
60
+ * @throws 설정 값이 유효하지 않은 경우
61
+ */
62
+ function validateRankingWeights(config) {
63
+ const { ranking_weights, relation_weights } = config;
64
+ // 가중치 값 검증 (0 이상 1 이하)
65
+ const weights = [
66
+ { name: 'alpha', value: ranking_weights.alpha },
67
+ { name: 'beta', value: ranking_weights.beta },
68
+ { name: 'gamma', value: ranking_weights.gamma },
69
+ { name: 'delta', value: ranking_weights.delta },
70
+ { name: 'zeta', value: ranking_weights.zeta },
71
+ { name: 'epsilon', value: ranking_weights.epsilon }
72
+ ];
73
+ for (const { name, value } of weights) {
74
+ if (!Number.isFinite(value) || value < 0 || value > 1) {
75
+ throw new Error(`가중치 ${name}는 0 이상 1 이하의 숫자여야 합니다. 현재 값: ${value}`);
76
+ }
77
+ }
78
+ // max_relations 검증 (양수)
79
+ if (!Number.isFinite(relation_weights.max_relations) || relation_weights.max_relations <= 0) {
80
+ throw new Error(`max_relations는 양수여야 합니다. 현재 값: ${relation_weights.max_relations}`);
81
+ }
82
+ // 가중치 합계 검증 (선택적: 합계가 1.0에 가까운지 확인)
83
+ const sum = weights.reduce((acc, { value }) => acc + value, 0);
84
+ if (sum > 1.5) {
85
+ console.warn(`[ranking-weights] 가중치 합계(${sum.toFixed(2)})가 1.5를 초과합니다. 정규화를 권장합니다.`);
86
+ }
87
+ }
88
+ /**
89
+ * 싱글톤 인스턴스로 설정을 캐싱합니다.
90
+ */
91
+ let cachedConfig = null;
92
+ /**
93
+ * 검색 랭킹 가중치 설정을 가져옵니다 (캐싱됨).
94
+ * @param configPath TOML 설정 파일 경로
95
+ * @returns 검색 랭킹 가중치 설정 객체
96
+ */
97
+ export function getRankingWeights(configPath) {
98
+ if (!cachedConfig) {
99
+ cachedConfig = loadRankingWeights(configPath);
100
+ }
101
+ return cachedConfig;
102
+ }
103
+ /**
104
+ * 캐시된 설정을 초기화합니다 (테스트용).
105
+ */
106
+ export function resetRankingWeightsCache() {
107
+ cachedConfig = null;
108
+ }
109
+ //# sourceMappingURL=ranking-weights-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ranking-weights-loader.js","sourceRoot":"","sources":["../../src/config/ranking-weights-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * 관계 추출 엔진 관련 상수
3
+ * 매직 넘버를 상수로 추출하여 유지보수성을 향상시킵니다.
4
+ */
5
+ /**
6
+ * 신뢰도 관련 상수
7
+ */
8
+ export declare const CONFIDENCE: {
9
+ /** 기본 신뢰도 (관계 추가 시 기본값) */
10
+ readonly DEFAULT: 0.7;
11
+ /** 최소 신뢰도 (규칙 기반 추출 기본값) */
12
+ readonly MIN_RULE_BASED: 0.5;
13
+ /** 최소 신뢰도 (LLM 기반 추출 기본값) */
14
+ readonly MIN_LLM_BASED: 0.6;
15
+ /** 최대 신뢰도 (규칙 기반 추출 최대값) */
16
+ readonly MAX_RULE_BASED: 0.8;
17
+ /** 최소 신뢰도 (규칙 기반 패턴 매칭 최소값) */
18
+ readonly MIN_PATTERN_MATCH: 0.5;
19
+ /** 최대 신뢰도 (규칙 기반 패턴 매칭 최대값) */
20
+ readonly MAX_PATTERN_MATCH: 0.8;
21
+ };
22
+ /**
23
+ * 제한값 관련 상수
24
+ */
25
+ export declare const LIMITS: {
26
+ /** LLM 후보 제한 (기본값) */
27
+ readonly LLM_CANDIDATE_DEFAULT: 30;
28
+ /** 규칙 기반 후보 제한 (기본값) */
29
+ readonly RULE_CANDIDATE_DEFAULT: 50;
30
+ /** 배치 처리 크기 (기본값) */
31
+ readonly BATCH_SIZE_DEFAULT: 10;
32
+ /** 최대 배치 크기 */
33
+ readonly MAX_BATCH_SIZE: 1000;
34
+ /** 순환 참조 감지 최대 깊이 (기본값) */
35
+ readonly MAX_CYCLE_DEPTH: 10;
36
+ /** LLM 프롬프트 최대 토큰 수 */
37
+ readonly MAX_PROMPT_TOKENS: 500;
38
+ /** LLM 응답 최대 토큰 수 */
39
+ readonly MAX_RESPONSE_TOKENS: 1000;
40
+ /** 비용 로그 출력 주기 (호출 횟수) */
41
+ readonly COST_LOG_INTERVAL: 100;
42
+ };
43
+ /**
44
+ * 캐시 관련 상수
45
+ */
46
+ export declare const CACHE: {
47
+ /** L1 캐시 크기 (항목 수) */
48
+ readonly L1_SIZE: 1000;
49
+ /** L2 캐시 크기 (항목 수) */
50
+ readonly L2_SIZE: 5000;
51
+ /** L1 캐시 TTL (밀리초) - 10분 */
52
+ readonly L1_TTL_MS: number;
53
+ /** L2 캐시 TTL (밀리초) - 7일 */
54
+ readonly L2_TTL_MS: number;
55
+ /** 관계 추출 캐시 크기 (항목 수) */
56
+ readonly EXTRACTION_SIZE: 1000;
57
+ /** 관계 추출 캐시 TTL (밀리초) - 7일 */
58
+ readonly EXTRACTION_TTL_MS: number;
59
+ };
60
+ /**
61
+ * LLM 비용 관련 상수 (USD per 1K tokens)
62
+ */
63
+ export declare const LLM_COST: {
64
+ /** OpenAI 입력 비용 (gpt-4o-mini) */
65
+ readonly OPENAI_INPUT: 0.15;
66
+ /** OpenAI 출력 비용 (gpt-4o-mini) */
67
+ readonly OPENAI_OUTPUT: 0.6;
68
+ /** Gemini 입력 비용 (gemini-1.5-flash) */
69
+ readonly GEMINI_INPUT: 0.075;
70
+ /** Gemini 출력 비용 (gemini-1.5-flash) */
71
+ readonly GEMINI_OUTPUT: 0.3;
72
+ };
73
+ /**
74
+ * Rate Limiter 관련 상수
75
+ */
76
+ export declare const RATE_LIMITER: {
77
+ /** 토큰 버킷 용량 */
78
+ readonly CAPACITY: 1;
79
+ /** 토큰 리필 속도 (초당 토큰 수) */
80
+ readonly REFILL_RATE: 1;
81
+ };
82
+ /**
83
+ * 시간 관련 상수 (밀리초)
84
+ */
85
+ export declare const TIME: {
86
+ /** 1초 */
87
+ readonly SECOND_MS: 1000;
88
+ /** 1분 */
89
+ readonly MINUTE_MS: number;
90
+ /** 1시간 */
91
+ readonly HOUR_MS: number;
92
+ /** 1일 */
93
+ readonly DAY_MS: number;
94
+ };
95
+ //# sourceMappingURL=relation-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-constants.d.ts","sourceRoot":"","sources":["../../src/constants/relation-constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;IACrB,2BAA2B;;IAE3B,4BAA4B;;IAE5B,6BAA6B;;IAE7B,4BAA4B;;IAE5B,+BAA+B;;IAE/B,+BAA+B;;CAEvB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB,sBAAsB;;IAEtB,wBAAwB;;IAExB,qBAAqB;;IAErB,eAAe;;IAEf,2BAA2B;;IAE3B,uBAAuB;;IAEvB,qBAAqB;;IAErB,0BAA0B;;CAElB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,KAAK;IAChB,sBAAsB;;IAEtB,sBAAsB;;IAEtB,4BAA4B;;IAE5B,2BAA2B;;IAE3B,yBAAyB;;IAEzB,8BAA8B;;CAEtB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB,iCAAiC;;IAEjC,iCAAiC;;IAEjC,sCAAsC;;IAEtC,sCAAsC;;CAE9B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB,eAAe;;IAEf,yBAAyB;;CAEjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,IAAI;IACf,SAAS;;IAET,SAAS;;IAET,UAAU;;IAEV,SAAS;;CAED,CAAC"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * 관계 추출 엔진 관련 상수
3
+ * 매직 넘버를 상수로 추출하여 유지보수성을 향상시킵니다.
4
+ */
5
+ /**
6
+ * 신뢰도 관련 상수
7
+ */
8
+ export const CONFIDENCE = {
9
+ /** 기본 신뢰도 (관계 추가 시 기본값) */
10
+ DEFAULT: 0.7,
11
+ /** 최소 신뢰도 (규칙 기반 추출 기본값) */
12
+ MIN_RULE_BASED: 0.5,
13
+ /** 최소 신뢰도 (LLM 기반 추출 기본값) */
14
+ MIN_LLM_BASED: 0.6,
15
+ /** 최대 신뢰도 (규칙 기반 추출 최대값) */
16
+ MAX_RULE_BASED: 0.8,
17
+ /** 최소 신뢰도 (규칙 기반 패턴 매칭 최소값) */
18
+ MIN_PATTERN_MATCH: 0.5,
19
+ /** 최대 신뢰도 (규칙 기반 패턴 매칭 최대값) */
20
+ MAX_PATTERN_MATCH: 0.8
21
+ };
22
+ /**
23
+ * 제한값 관련 상수
24
+ */
25
+ export const LIMITS = {
26
+ /** LLM 후보 제한 (기본값) */
27
+ LLM_CANDIDATE_DEFAULT: 30,
28
+ /** 규칙 기반 후보 제한 (기본값) */
29
+ RULE_CANDIDATE_DEFAULT: 50,
30
+ /** 배치 처리 크기 (기본값) */
31
+ BATCH_SIZE_DEFAULT: 10,
32
+ /** 최대 배치 크기 */
33
+ MAX_BATCH_SIZE: 1000,
34
+ /** 순환 참조 감지 최대 깊이 (기본값) */
35
+ MAX_CYCLE_DEPTH: 10,
36
+ /** LLM 프롬프트 최대 토큰 수 */
37
+ MAX_PROMPT_TOKENS: 500,
38
+ /** LLM 응답 최대 토큰 수 */
39
+ MAX_RESPONSE_TOKENS: 1000,
40
+ /** 비용 로그 출력 주기 (호출 횟수) */
41
+ COST_LOG_INTERVAL: 100
42
+ };
43
+ /**
44
+ * 캐시 관련 상수
45
+ */
46
+ export const CACHE = {
47
+ /** L1 캐시 크기 (항목 수) */
48
+ L1_SIZE: 1000,
49
+ /** L2 캐시 크기 (항목 수) */
50
+ L2_SIZE: 5000,
51
+ /** L1 캐시 TTL (밀리초) - 10분 */
52
+ L1_TTL_MS: 10 * 60 * 1000,
53
+ /** L2 캐시 TTL (밀리초) - 7일 */
54
+ L2_TTL_MS: 7 * 24 * 60 * 60 * 1000,
55
+ /** 관계 추출 캐시 크기 (항목 수) */
56
+ EXTRACTION_SIZE: 1000,
57
+ /** 관계 추출 캐시 TTL (밀리초) - 7일 */
58
+ EXTRACTION_TTL_MS: 7 * 24 * 60 * 60 * 1000
59
+ };
60
+ /**
61
+ * LLM 비용 관련 상수 (USD per 1K tokens)
62
+ */
63
+ export const LLM_COST = {
64
+ /** OpenAI 입력 비용 (gpt-4o-mini) */
65
+ OPENAI_INPUT: 0.15,
66
+ /** OpenAI 출력 비용 (gpt-4o-mini) */
67
+ OPENAI_OUTPUT: 0.6,
68
+ /** Gemini 입력 비용 (gemini-1.5-flash) */
69
+ GEMINI_INPUT: 0.075,
70
+ /** Gemini 출력 비용 (gemini-1.5-flash) */
71
+ GEMINI_OUTPUT: 0.30
72
+ };
73
+ /**
74
+ * Rate Limiter 관련 상수
75
+ */
76
+ export const RATE_LIMITER = {
77
+ /** 토큰 버킷 용량 */
78
+ CAPACITY: 1,
79
+ /** 토큰 리필 속도 (초당 토큰 수) */
80
+ REFILL_RATE: 1
81
+ };
82
+ /**
83
+ * 시간 관련 상수 (밀리초)
84
+ */
85
+ export const TIME = {
86
+ /** 1초 */
87
+ SECOND_MS: 1000,
88
+ /** 1분 */
89
+ MINUTE_MS: 60 * 1000,
90
+ /** 1시간 */
91
+ HOUR_MS: 60 * 60 * 1000,
92
+ /** 1일 */
93
+ DAY_MS: 24 * 60 * 60 * 1000
94
+ };
95
+ //# sourceMappingURL=relation-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-constants.js","sourceRoot":"","sources":["../../src/constants/relation-constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,2BAA2B;IAC3B,OAAO,EAAE,GAAG;IACZ,4BAA4B;IAC5B,cAAc,EAAE,GAAG;IACnB,6BAA6B;IAC7B,aAAa,EAAE,GAAG;IAClB,4BAA4B;IAC5B,cAAc,EAAE,GAAG;IACnB,+BAA+B;IAC/B,iBAAiB,EAAE,GAAG;IACtB,+BAA+B;IAC/B,iBAAiB,EAAE,GAAG;CACd,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,sBAAsB;IACtB,qBAAqB,EAAE,EAAE;IACzB,wBAAwB;IACxB,sBAAsB,EAAE,EAAE;IAC1B,qBAAqB;IACrB,kBAAkB,EAAE,EAAE;IACtB,eAAe;IACf,cAAc,EAAE,IAAI;IACpB,2BAA2B;IAC3B,eAAe,EAAE,EAAE;IACnB,uBAAuB;IACvB,iBAAiB,EAAE,GAAG;IACtB,qBAAqB;IACrB,mBAAmB,EAAE,IAAI;IACzB,0BAA0B;IAC1B,iBAAiB,EAAE,GAAG;CACd,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,sBAAsB;IACtB,OAAO,EAAE,IAAI;IACb,sBAAsB;IACtB,OAAO,EAAE,IAAI;IACb,4BAA4B;IAC5B,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IACzB,2BAA2B;IAC3B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAClC,yBAAyB;IACzB,eAAe,EAAE,IAAI;IACrB,8BAA8B;IAC9B,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;CAClC,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,iCAAiC;IACjC,YAAY,EAAE,IAAI;IAClB,iCAAiC;IACjC,aAAa,EAAE,GAAG;IAClB,sCAAsC;IACtC,YAAY,EAAE,KAAK;IACnB,sCAAsC;IACtC,aAAa,EAAE,IAAI;CACX,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,eAAe;IACf,QAAQ,EAAE,CAAC;IACX,yBAAyB;IACzB,WAAW,EAAE,CAAC;CACN,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,SAAS;IACT,SAAS,EAAE,IAAI;IACf,SAAS;IACT,SAAS,EAAE,EAAE,GAAG,IAAI;IACpB,UAAU;IACV,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IACvB,SAAS;IACT,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;CACnB,CAAC"}