memento-mcp-server 1.13.1-a4 → 1.14.0-C

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 (118) hide show
  1. package/dist/database/schema.sql +9 -2
  2. package/dist/domains/memory/tools/recall-tool.d.ts +190 -0
  3. package/dist/domains/memory/tools/recall-tool.d.ts.map +1 -1
  4. package/dist/domains/memory/tools/recall-tool.js +488 -14
  5. package/dist/domains/memory/tools/recall-tool.js.map +1 -1
  6. package/dist/domains/memory/tools/remember-tool.d.ts +10 -0
  7. package/dist/domains/memory/tools/remember-tool.d.ts.map +1 -1
  8. package/dist/domains/memory/tools/remember-tool.js +264 -35
  9. package/dist/domains/memory/tools/remember-tool.js.map +1 -1
  10. package/dist/domains/relation/services/relation-quality-validator.d.ts.map +1 -1
  11. package/dist/domains/relation/services/relation-quality-validator.js +15 -10
  12. package/dist/domains/relation/services/relation-quality-validator.js.map +1 -1
  13. package/dist/domains/relation/services/rule-based-relation-extractor.d.ts.map +1 -1
  14. package/dist/domains/relation/services/rule-based-relation-extractor.js +18 -0
  15. package/dist/domains/relation/services/rule-based-relation-extractor.js.map +1 -1
  16. package/dist/domains/relation/tools/add-relation-tool.d.ts +3 -3
  17. package/dist/domains/relation/tools/add-relation-tool.js +2 -2
  18. package/dist/domains/relation/tools/add-relation-tool.js.map +1 -1
  19. package/dist/domains/relation/tools/get-relations-tool.d.ts +3 -3
  20. package/dist/domains/relation/tools/get-relations-tool.js +2 -2
  21. package/dist/domains/relation/tools/get-relations-tool.js.map +1 -1
  22. package/dist/domains/search/algorithms/hybrid-search-engine.d.ts +20 -0
  23. package/dist/domains/search/algorithms/hybrid-search-engine.d.ts.map +1 -1
  24. package/dist/domains/search/algorithms/hybrid-search-engine.js +168 -5
  25. package/dist/domains/search/algorithms/hybrid-search-engine.js.map +1 -1
  26. package/dist/domains/search/algorithms/search-engine.d.ts.map +1 -1
  27. package/dist/domains/search/algorithms/search-engine.js +37 -17
  28. package/dist/domains/search/algorithms/search-engine.js.map +1 -1
  29. package/dist/domains/search/algorithms/search-ranking.d.ts +15 -2
  30. package/dist/domains/search/algorithms/search-ranking.d.ts.map +1 -1
  31. package/dist/domains/search/algorithms/search-ranking.js +46 -15
  32. package/dist/domains/search/algorithms/search-ranking.js.map +1 -1
  33. package/dist/domains/search/repositories/vector-search.repository.d.ts.map +1 -1
  34. package/dist/domains/search/repositories/vector-search.repository.js +180 -89
  35. package/dist/domains/search/repositories/vector-search.repository.js.map +1 -1
  36. package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.d.ts +63 -0
  37. package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.d.ts.map +1 -0
  38. package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.js +257 -0
  39. package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.js.map +1 -0
  40. package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.sql +66 -0
  41. package/dist/infrastructure/reflexion-worker.d.ts +18 -0
  42. package/dist/infrastructure/reflexion-worker.d.ts.map +1 -1
  43. package/dist/infrastructure/reflexion-worker.js +216 -0
  44. package/dist/infrastructure/reflexion-worker.js.map +1 -1
  45. package/dist/infrastructure/scheduler/batch-scheduler.d.ts +51 -8
  46. package/dist/infrastructure/scheduler/batch-scheduler.d.ts.map +1 -1
  47. package/dist/infrastructure/scheduler/batch-scheduler.js +299 -205
  48. package/dist/infrastructure/scheduler/batch-scheduler.js.map +1 -1
  49. package/dist/infrastructure/scheduler/file-logger.d.ts +82 -0
  50. package/dist/infrastructure/scheduler/file-logger.d.ts.map +1 -0
  51. package/dist/infrastructure/scheduler/file-logger.js +133 -0
  52. package/dist/infrastructure/scheduler/file-logger.js.map +1 -0
  53. package/dist/infrastructure/scheduler/health-checker.d.ts +54 -0
  54. package/dist/infrastructure/scheduler/health-checker.d.ts.map +1 -0
  55. package/dist/infrastructure/scheduler/health-checker.js +96 -0
  56. package/dist/infrastructure/scheduler/health-checker.js.map +1 -0
  57. package/dist/infrastructure/scheduler/job-queue.d.ts +85 -0
  58. package/dist/infrastructure/scheduler/job-queue.d.ts.map +1 -0
  59. package/dist/infrastructure/scheduler/job-queue.js +125 -0
  60. package/dist/infrastructure/scheduler/job-queue.js.map +1 -0
  61. package/dist/infrastructure/scheduler/relation-validator-executor.d.ts +37 -0
  62. package/dist/infrastructure/scheduler/relation-validator-executor.d.ts.map +1 -0
  63. package/dist/infrastructure/scheduler/relation-validator-executor.js +120 -0
  64. package/dist/infrastructure/scheduler/relation-validator-executor.js.map +1 -0
  65. package/dist/infrastructure/scheduler/retry-manager.d.ts +62 -0
  66. package/dist/infrastructure/scheduler/retry-manager.d.ts.map +1 -0
  67. package/dist/infrastructure/scheduler/retry-manager.js +91 -0
  68. package/dist/infrastructure/scheduler/retry-manager.js.map +1 -0
  69. package/dist/npm-client/utils.d.ts.map +1 -1
  70. package/dist/npm-client/utils.js +2 -1
  71. package/dist/npm-client/utils.js.map +1 -1
  72. package/dist/scripts/copy-assets.js +4 -4
  73. package/dist/scripts/copy-assets.js.map +1 -1
  74. package/dist/server/http-server.d.ts.map +1 -1
  75. package/dist/server/http-server.js +15 -17
  76. package/dist/server/http-server.js.map +1 -1
  77. package/dist/services/anchor-manager.d.ts.map +1 -1
  78. package/dist/services/anchor-manager.js.map +1 -1
  79. package/dist/shared/types/index.d.ts +36 -0
  80. package/dist/shared/types/index.d.ts.map +1 -1
  81. package/dist/shared/types/index.js.map +1 -1
  82. package/dist/shared/types/relation.d.ts +1 -1
  83. package/dist/shared/types/relation.d.ts.map +1 -1
  84. package/dist/shared/types/relation.js +7 -4
  85. package/dist/shared/types/relation.js.map +1 -1
  86. package/dist/shared/utils/database.d.ts.map +1 -1
  87. package/dist/shared/utils/database.js +9 -2
  88. package/dist/shared/utils/database.js.map +1 -1
  89. package/dist/shared/utils/procedural-memory-extractor.d.ts +108 -0
  90. package/dist/shared/utils/procedural-memory-extractor.d.ts.map +1 -0
  91. package/dist/shared/utils/procedural-memory-extractor.js +581 -0
  92. package/dist/shared/utils/procedural-memory-extractor.js.map +1 -0
  93. package/dist/shared/utils/relation-type-converter.d.ts +52 -0
  94. package/dist/shared/utils/relation-type-converter.d.ts.map +1 -0
  95. package/dist/shared/utils/relation-type-converter.js +106 -0
  96. package/dist/shared/utils/relation-type-converter.js.map +1 -0
  97. package/dist/shared/utils/type-param-validator.d.ts +31 -0
  98. package/dist/shared/utils/type-param-validator.d.ts.map +1 -1
  99. package/dist/shared/utils/type-param-validator.js +90 -2
  100. package/dist/shared/utils/type-param-validator.js.map +1 -1
  101. package/dist/tools/base-tool.d.ts.map +1 -1
  102. package/dist/tools/types.d.ts +4 -0
  103. package/dist/tools/types.d.ts.map +1 -1
  104. package/dist/tools/types.js +5 -0
  105. package/dist/tools/types.js.map +1 -1
  106. package/dist/workers/consolidation-score-worker.d.ts.map +1 -1
  107. package/dist/workers/consolidation-score-worker.js +0 -2
  108. package/dist/workers/consolidation-score-worker.js.map +1 -1
  109. package/package.json +3 -3
  110. package/scripts/auto-setup.js +1 -1
  111. /package/dist/{database → infrastructure/database/database}/migration/migrations/002-mirix-schema-expansion-core-memory.sql +0 -0
  112. /package/dist/{database → infrastructure/database/database}/migration/migrations/002-mirix-schema-expansion-knowledge-vault.sql +0 -0
  113. /package/dist/{database → infrastructure/database/database}/migration/migrations/002-mirix-schema-expansion-memory-item.sql +0 -0
  114. /package/dist/{database → infrastructure/database/database}/migration/migrations/002-mirix-schema-expansion-schema-version.sql +0 -0
  115. /package/dist/{database → infrastructure/database/database}/migration/migrations/003-consolidation-score-fields.sql +0 -0
  116. /package/dist/{database → infrastructure/database/database}/migration/migrations/005-relation-engine-schema.sql +0 -0
  117. /package/dist/{database → infrastructure/database/database}/migration/migrations/006-fts5-reflection-notes-migration-status.sql +0 -0
  118. /package/dist/{database → infrastructure/database/database}/migration/migrations/006-fts5-reflection-notes.sql +0 -0
@@ -20,7 +20,11 @@ CREATE TABLE IF NOT EXISTS memory_item (
20
20
  origin_source TEXT DEFAULT '{}', -- JSON 형식: {"tool": "remember", "caller": "user", "timestamp": "...", "context": {...}}
21
21
  task_goal TEXT, -- Procedural Memory 전용, 작업 목표
22
22
  steps TEXT, -- Procedural Memory 전용, JSON 배열 형식
23
- reflection_notes TEXT -- Procedural Memory 전용, JSON 형식
23
+ reflection_notes TEXT, -- Procedural Memory 전용, JSON 형식
24
+ -- Procedural Memory Enhancement (v7.0) 추가 필드
25
+ workflow_name TEXT, -- 프로세스 이름 (예: "데이터 마이그레이션", "API 배포")
26
+ skill_name TEXT, -- 기술/능력 이름 (예: "스키마 백업", "데이터 검증")
27
+ trigger_conditions TEXT -- 트리거 조건 (JSON 객체 문자열)
24
28
  );
25
29
 
26
30
  -- 태그 테이블
@@ -45,7 +49,7 @@ CREATE TABLE IF NOT EXISTS memory_link (
45
49
  id INTEGER PRIMARY KEY AUTOINCREMENT,
46
50
  source_id TEXT NOT NULL,
47
51
  target_id TEXT NOT NULL,
48
- relation_type TEXT CHECK (relation_type IN ('cause_of', 'derived_from', 'duplicates', 'contradicts')) NOT NULL,
52
+ relation_type TEXT CHECK (relation_type IN ('cause_of', 'derived_from', 'duplicates', 'contradicts', 'version_of')) NOT NULL,
49
53
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
50
54
  FOREIGN KEY (source_id) REFERENCES memory_item(id) ON DELETE CASCADE,
51
55
  FOREIGN KEY (target_id) REFERENCES memory_item(id) ON DELETE CASCADE,
@@ -80,6 +84,9 @@ CREATE INDEX IF NOT EXISTS idx_memory_item_privacy_scope ON memory_item(privacy_
80
84
  CREATE INDEX IF NOT EXISTS idx_memory_item_importance ON memory_item(importance);
81
85
  CREATE INDEX IF NOT EXISTS idx_memory_item_user_id ON memory_item(id); -- user_id 대신 id 사용
82
86
  CREATE INDEX IF NOT EXISTS idx_memory_item_project_id ON memory_item(id); -- project_id 대신 id 사용
87
+ -- Procedural Memory Enhancement (v7.0) 인덱스
88
+ CREATE INDEX IF NOT EXISTS idx_memory_item_workflow_name ON memory_item(workflow_name);
89
+ CREATE INDEX IF NOT EXISTS idx_memory_item_skill_name ON memory_item(skill_name);
83
90
 
84
91
  CREATE INDEX IF NOT EXISTS idx_memory_tag_memory_id ON memory_item_tag(memory_id);
85
92
  CREATE INDEX IF NOT EXISTS idx_memory_tag_tag_id ON memory_item_tag(tag_id);
@@ -4,9 +4,177 @@
4
4
  */
5
5
  import { BaseTool } from '../../../tools/base-tool.js';
6
6
  import type { ToolContext, ToolResult } from '../../../tools/types.js';
7
+ /**
8
+ * 앵커 설정 메타데이터 타입
9
+ */
10
+ export interface AnchorSetMetadata {
11
+ memory_id: string;
12
+ slot: 'A';
13
+ agent_id: string;
14
+ }
15
+ /**
16
+ * 이웃 기억 항목 타입
17
+ */
18
+ export interface NeighborMemoryItem {
19
+ id: string;
20
+ content: string;
21
+ similarity: number;
22
+ [key: string]: any;
23
+ }
24
+ /**
25
+ * Recall 응답 항목 타입 (neighbors 필드 포함)
26
+ *
27
+ * @property neighbors - 이웃 기억 배열 (optional)
28
+ * - include_neighbors=true이고 상위 neighbors_limit개 결과에만 포함됨
29
+ * - neighbors_limit보다 많은 결과는 neighbors 필드가 없음 (undefined)
30
+ * - 이웃 기억 조회 실패 시 빈 배열 []로 설정됨
31
+ */
32
+ export interface RecallResultItem {
33
+ memory_id: string;
34
+ id?: string;
35
+ content: string;
36
+ type: string;
37
+ importance: number;
38
+ created_at: string;
39
+ final_score: number;
40
+ neighbors?: NeighborMemoryItem[];
41
+ [key: string]: any;
42
+ }
43
+ /**
44
+ * Recall 응답 메타데이터 타입
45
+ *
46
+ * @property anchor_set - 앵커 설정 정보 (auto_set_anchor=true일 때만 설정)
47
+ * - 성공 시: {memory_id, slot: "A", agent_id} 객체
48
+ * - 실패/건너뜀/비활성화 시: null
49
+ * @property anchor_set_error - 앵커 설정 실패 여부 (optional)
50
+ * - anchor_set=null이고 anchor_set_error=true: 앵커 설정 실패
51
+ * @property anchor_set_skipped - 앵커 설정 건너뜀 여부 (optional)
52
+ * - anchor_set=null이고 anchor_set_skipped=true: 앵커 설정 건너뜀 (pinned 앵커 보호 등)
53
+ * @property anchor_set_skipped_reason - 앵커 설정 건너뜀 사유 (optional)
54
+ * - "pinned_anchor_protected": 슬롯 A에 pinned 앵커가 있어서 보호됨
55
+ */
56
+ export interface RecallResponseMetadata {
57
+ anchor_set: AnchorSetMetadata | null;
58
+ anchor_set_error?: boolean;
59
+ anchor_set_skipped?: boolean;
60
+ anchor_set_skipped_reason?: string;
61
+ [key: string]: any;
62
+ }
63
+ /**
64
+ * Recall 응답 타입
65
+ *
66
+ * @example 앵커 설정 성공 + 이웃 기억 포함
67
+ * ```json
68
+ * {
69
+ * "items": [
70
+ * {
71
+ * "memory_id": "mem_12345",
72
+ * "content": "검색 결과 내용",
73
+ * "type": "episodic",
74
+ * "importance": 0.8,
75
+ * "created_at": "2024-01-01T00:00:00Z",
76
+ * "final_score": 0.95,
77
+ * "neighbors": [
78
+ * {
79
+ * "id": "mem_67890",
80
+ * "content": "관련 기억 내용",
81
+ * "similarity": 0.85
82
+ * }
83
+ * ]
84
+ * },
85
+ * {
86
+ * "memory_id": "mem_11111",
87
+ * "content": "두 번째 결과",
88
+ * "neighbors": []
89
+ * },
90
+ * {
91
+ * "memory_id": "mem_22222",
92
+ * "content": "세 번째 결과 (neighbors_limit 초과로 neighbors 필드 없음)"
93
+ * }
94
+ * ],
95
+ * "total_count": 3,
96
+ * "query_time": 150,
97
+ * "search_type": "hybrid",
98
+ * "metadata": {
99
+ * "anchor_set": {
100
+ * "memory_id": "mem_12345",
101
+ * "slot": "A",
102
+ * "agent_id": "default"
103
+ * }
104
+ * }
105
+ * }
106
+ * ```
107
+ *
108
+ * @example 앵커 설정 실패
109
+ * ```json
110
+ * {
111
+ * "items": [...],
112
+ * "metadata": {
113
+ * "anchor_set": null,
114
+ * "anchor_set_error": true
115
+ * }
116
+ * }
117
+ * ```
118
+ *
119
+ * @example 앵커 설정 건너뜀 (pinned 앵커 보호)
120
+ * ```json
121
+ * {
122
+ * "items": [...],
123
+ * "metadata": {
124
+ * "anchor_set": null,
125
+ * "anchor_set_skipped": true,
126
+ * "anchor_set_skipped_reason": "pinned_anchor_protected"
127
+ * }
128
+ * }
129
+ * ```
130
+ *
131
+ * @example 앵커 설정 비활성화
132
+ * ```json
133
+ * {
134
+ * "items": [...],
135
+ * "metadata": {
136
+ * "anchor_set": null
137
+ * }
138
+ * }
139
+ * ```
140
+ *
141
+ * @example 이웃 기억 미포함 (include_neighbors=false)
142
+ * ```json
143
+ * {
144
+ * "items": [
145
+ * {
146
+ * "memory_id": "mem_12345",
147
+ * "content": "검색 결과",
148
+ * "neighbors": undefined // neighbors 필드 없음
149
+ * }
150
+ * ]
151
+ * }
152
+ * ```
153
+ */
154
+ export interface RecallResponse {
155
+ items: RecallResultItem[];
156
+ total_count: number;
157
+ query_time: number;
158
+ search_type: string;
159
+ metadata?: RecallResponseMetadata;
160
+ [key: string]: any;
161
+ }
7
162
  export declare class RecallTool extends BaseTool {
8
163
  constructor();
9
164
  handle(params: any, context: ToolContext): Promise<ToolResult>;
165
+ /**
166
+ * trigger_conditions로 필터링
167
+ * match_trigger_conditions=true일 때, 현재 컨텍스트와 trigger_conditions가 매칭되는 항목만 반환
168
+ *
169
+ * PRD 요구사항: 구조화된 컨텍스트(예: tool_name, error_type, params)와 JSON 매칭
170
+ * 구조화된 컨텍스트가 제공되면 이를 우선 사용하고, 없으면 쿼리 텍스트를 사용
171
+ *
172
+ * @param items 검색 결과 항목 배열
173
+ * @param query 검색 쿼리 (컨텍스트로 사용, fallback)
174
+ * @param context 구조화된 컨텍스트 정보 (우선 사용)
175
+ * @returns 필터링된 항목 배열
176
+ */
177
+ private filterByTriggerConditions;
10
178
  /**
11
179
  * 검색 결과 후처리
12
180
  */
@@ -15,6 +183,28 @@ export declare class RecallTool extends BaseTool {
15
183
  * 적용된 필터 정보 반환
16
184
  */
17
185
  private getAppliedFilters;
186
+ /**
187
+ * 자동 앵커 설정 처리
188
+ * 가장 관련성 높은 기억(첫 번째 결과)을 슬롯 A에 앵커로 설정
189
+ *
190
+ * @param searchItems - 검색 결과 항목 배열
191
+ * @param agentId - 에이전트 ID
192
+ * @param context - 도구 컨텍스트
193
+ * @returns 앵커 설정 결과 (성공/실패/건너뜀 상태 포함)
194
+ */
195
+ private handleAutoSetAnchor;
196
+ /**
197
+ * 자동 이웃 기억 포함 처리
198
+ * 검색 결과의 상위 항목에 대해 이웃 기억을 자동으로 포함
199
+ *
200
+ * @param searchItems - 검색 결과 항목 배열
201
+ * @param neighborsLimit - 이웃 기억을 포함할 상위 결과의 개수
202
+ * @param neighborsPerItem - 각 검색 결과 항목당 조회할 이웃 기억의 최대 개수
203
+ * @param neighborsSimilarityThreshold - 이웃 기억 조회 시 유사도 임계값
204
+ * @param context - 도구 컨텍스트
205
+ * @returns 각 검색 결과 항목에 대한 이웃 기억 배열 (순서 보존)
206
+ */
207
+ private handleIncludeNeighbors;
18
208
  /**
19
209
  * 검색 쿼리 검증
20
210
  */
@@ -1 +1 @@
1
- {"version":3,"file":"recall-tool.d.ts","sourceRoot":"","sources":["../../../../src/domains/memory/tools/recall-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAgEvE,qBAAa,UAAW,SAAQ,QAAQ;;IA8GhC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA8VpE;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwE5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAyBvB;;;;;;;;;OASG;YACW,gCAAgC;CAuH/C"}
1
+ {"version":3,"file":"recall-tool.d.ts","sourceRoot":"","sources":["../../../../src/domains/memory/tools/recall-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAkBvE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACrC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAiED,qBAAa,UAAW,SAAQ,QAAQ;;IAiKhC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAsbpE;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,yBAAyB;IA6EjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuF5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;;;;;;;OAQG;YACW,mBAAmB;IA4JjC;;;;;;;;;;OAUG;YACW,sBAAsB;IAmIpC;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAyBvB;;;;;;;;;OASG;YACW,gCAAgC;CAuH/C"}