agentic-qe 1.8.2 → 1.8.4

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 (111) hide show
  1. package/.claude/agents/qe-test-generator.md +580 -0
  2. package/.claude/agents/subagents/qe-code-reviewer.md +86 -0
  3. package/.claude/agents/subagents/qe-coverage-gap-analyzer.md +485 -0
  4. package/.claude/agents/subagents/qe-data-generator.md +86 -0
  5. package/.claude/agents/subagents/qe-flaky-investigator.md +416 -0
  6. package/.claude/agents/subagents/qe-integration-tester.md +87 -0
  7. package/.claude/agents/subagents/qe-performance-validator.md +98 -0
  8. package/.claude/agents/subagents/qe-security-auditor.md +86 -0
  9. package/.claude/agents/subagents/qe-test-data-architect-sub.md +553 -0
  10. package/.claude/agents/subagents/qe-test-implementer.md +229 -15
  11. package/.claude/agents/subagents/qe-test-refactorer.md +265 -15
  12. package/.claude/agents/subagents/qe-test-writer.md +180 -20
  13. package/.claude/skills/cicd-pipeline-qe-orchestrator/README.md +2 -2
  14. package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -6
  15. package/CHANGELOG.md +294 -0
  16. package/README.md +83 -52
  17. package/config/constitution.schema.json +423 -0
  18. package/config/otel-collector.yaml +234 -0
  19. package/dist/cli/commands/init-claude-md-template.js +3 -3
  20. package/dist/constitution/index.d.ts +105 -0
  21. package/dist/constitution/index.d.ts.map +1 -0
  22. package/dist/constitution/index.js +207 -0
  23. package/dist/constitution/index.js.map +1 -0
  24. package/dist/constitution/loader.d.ts +141 -0
  25. package/dist/constitution/loader.d.ts.map +1 -0
  26. package/dist/constitution/loader.js +515 -0
  27. package/dist/constitution/loader.js.map +1 -0
  28. package/dist/constitution/schema.d.ts +409 -0
  29. package/dist/constitution/schema.d.ts.map +1 -0
  30. package/dist/constitution/schema.js +71 -0
  31. package/dist/constitution/schema.js.map +1 -0
  32. package/dist/core/hooks/validators/TDDPhaseValidator.d.ts +110 -0
  33. package/dist/core/hooks/validators/TDDPhaseValidator.d.ts.map +1 -0
  34. package/dist/core/hooks/validators/TDDPhaseValidator.js +287 -0
  35. package/dist/core/hooks/validators/TDDPhaseValidator.js.map +1 -0
  36. package/dist/core/hooks/validators/index.d.ts +3 -1
  37. package/dist/core/hooks/validators/index.d.ts.map +1 -1
  38. package/dist/core/hooks/validators/index.js +4 -2
  39. package/dist/core/hooks/validators/index.js.map +1 -1
  40. package/dist/core/memory/MemoryManagerFactory.d.ts +77 -0
  41. package/dist/core/memory/MemoryManagerFactory.d.ts.map +1 -0
  42. package/dist/core/memory/MemoryManagerFactory.js +270 -0
  43. package/dist/core/memory/MemoryManagerFactory.js.map +1 -0
  44. package/dist/core/memory/SwarmMemoryManager.d.ts +18 -0
  45. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  46. package/dist/core/memory/SwarmMemoryManager.js +96 -11
  47. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  48. package/dist/core/memory/index.d.ts +1 -0
  49. package/dist/core/memory/index.d.ts.map +1 -1
  50. package/dist/core/memory/index.js +12 -1
  51. package/dist/core/memory/index.js.map +1 -1
  52. package/dist/mcp/handlers/memory/memory-backup.js +6 -6
  53. package/dist/mcp/handlers/memory/memory-backup.js.map +1 -1
  54. package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -1
  55. package/dist/mcp/handlers/phase2/Phase2Tools.js +4 -2
  56. package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
  57. package/dist/mcp/server.d.ts.map +1 -1
  58. package/dist/mcp/server.js +4 -38
  59. package/dist/mcp/server.js.map +1 -1
  60. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  61. package/dist/mcp/services/AgentRegistry.js +4 -4
  62. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  63. package/dist/persistence/event-store.d.ts +162 -0
  64. package/dist/persistence/event-store.d.ts.map +1 -0
  65. package/dist/persistence/event-store.js +315 -0
  66. package/dist/persistence/event-store.js.map +1 -0
  67. package/dist/persistence/index.d.ts +145 -0
  68. package/dist/persistence/index.d.ts.map +1 -0
  69. package/dist/persistence/index.js +227 -0
  70. package/dist/persistence/index.js.map +1 -0
  71. package/dist/persistence/metrics-aggregator.d.ts +187 -0
  72. package/dist/persistence/metrics-aggregator.d.ts.map +1 -0
  73. package/dist/persistence/metrics-aggregator.js +495 -0
  74. package/dist/persistence/metrics-aggregator.js.map +1 -0
  75. package/dist/persistence/reasoning-store.d.ts +178 -0
  76. package/dist/persistence/reasoning-store.d.ts.map +1 -0
  77. package/dist/persistence/reasoning-store.js +440 -0
  78. package/dist/persistence/reasoning-store.js.map +1 -0
  79. package/dist/persistence/schema.d.ts +181 -0
  80. package/dist/persistence/schema.d.ts.map +1 -0
  81. package/dist/persistence/schema.js +186 -0
  82. package/dist/persistence/schema.js.map +1 -0
  83. package/dist/telemetry/bootstrap.d.ts +67 -0
  84. package/dist/telemetry/bootstrap.d.ts.map +1 -0
  85. package/dist/telemetry/bootstrap.js +320 -0
  86. package/dist/telemetry/bootstrap.js.map +1 -0
  87. package/dist/telemetry/index.d.ts +16 -0
  88. package/dist/telemetry/index.d.ts.map +1 -0
  89. package/dist/telemetry/index.js +84 -0
  90. package/dist/telemetry/index.js.map +1 -0
  91. package/dist/telemetry/metrics/agent-metrics.d.ts +109 -0
  92. package/dist/telemetry/metrics/agent-metrics.d.ts.map +1 -0
  93. package/dist/telemetry/metrics/agent-metrics.js +213 -0
  94. package/dist/telemetry/metrics/agent-metrics.js.map +1 -0
  95. package/dist/telemetry/metrics/index.d.ts +51 -0
  96. package/dist/telemetry/metrics/index.d.ts.map +1 -0
  97. package/dist/telemetry/metrics/index.js +100 -0
  98. package/dist/telemetry/metrics/index.js.map +1 -0
  99. package/dist/telemetry/metrics/quality-metrics.d.ts +171 -0
  100. package/dist/telemetry/metrics/quality-metrics.d.ts.map +1 -0
  101. package/dist/telemetry/metrics/quality-metrics.js +259 -0
  102. package/dist/telemetry/metrics/quality-metrics.js.map +1 -0
  103. package/dist/telemetry/metrics/system-metrics.d.ts +129 -0
  104. package/dist/telemetry/metrics/system-metrics.d.ts.map +1 -0
  105. package/dist/telemetry/metrics/system-metrics.js +380 -0
  106. package/dist/telemetry/metrics/system-metrics.js.map +1 -0
  107. package/dist/telemetry/types.d.ts +195 -0
  108. package/dist/telemetry/types.d.ts.map +1 -0
  109. package/dist/telemetry/types.js +90 -0
  110. package/dist/telemetry/types.js.map +1 -0
  111. package/package.json +18 -2
@@ -0,0 +1,270 @@
1
+ "use strict";
2
+ /**
3
+ * MemoryManagerFactory - Singleton Pattern for Shared Memory Management
4
+ *
5
+ * Resolves the persistence issue where multiple SwarmMemoryManager instances
6
+ * cause data fragmentation - data written to one instance is not visible to others.
7
+ *
8
+ * Key Issues Fixed:
9
+ * 1. Multiple isolated instances (MCP server, AgentRegistry, Phase2Tools each created their own)
10
+ * 2. sql.js persistence model requires explicit save()/close() calls
11
+ * 3. Ensures all components share the same database connection
12
+ *
13
+ * @module MemoryManagerFactory
14
+ * @version 1.0.0
15
+ */
16
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ var desc = Object.getOwnPropertyDescriptor(m, k);
19
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
20
+ desc = { enumerable: true, get: function() { return m[k]; } };
21
+ }
22
+ Object.defineProperty(o, k2, desc);
23
+ }) : (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ o[k2] = m[k];
26
+ }));
27
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
28
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
29
+ }) : function(o, v) {
30
+ o["default"] = v;
31
+ });
32
+ var __importStar = (this && this.__importStar) || (function () {
33
+ var ownKeys = function(o) {
34
+ ownKeys = Object.getOwnPropertyNames || function (o) {
35
+ var ar = [];
36
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
37
+ return ar;
38
+ };
39
+ return ownKeys(o);
40
+ };
41
+ return function (mod) {
42
+ if (mod && mod.__esModule) return mod;
43
+ var result = {};
44
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
45
+ __setModuleDefault(result, mod);
46
+ return result;
47
+ };
48
+ })();
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.resolveDbPath = resolveDbPath;
51
+ exports.ensureDbDirectoryExists = ensureDbDirectoryExists;
52
+ exports.getSharedMemoryManager = getSharedMemoryManager;
53
+ exports.initializeSharedMemoryManager = initializeSharedMemoryManager;
54
+ exports.hasSharedMemoryManager = hasSharedMemoryManager;
55
+ exports.getSharedMemoryManagerPath = getSharedMemoryManagerPath;
56
+ exports.resetSharedMemoryManager = resetSharedMemoryManager;
57
+ exports.getDbPathInfo = getDbPathInfo;
58
+ exports.setupExitHandlers = setupExitHandlers;
59
+ const path = __importStar(require("path"));
60
+ const fs = __importStar(require("fs-extra"));
61
+ const SwarmMemoryManager_js_1 = require("./SwarmMemoryManager.js");
62
+ // Singleton instances
63
+ let sharedMemoryManager = null;
64
+ let sharedMemoryManagerPath = null;
65
+ let initializationPromise = null;
66
+ /**
67
+ * Resolve database path - ensures we use an absolute path in user's project
68
+ *
69
+ * Database should be in the USER'S project directory (process.cwd()),
70
+ * NOT in the package installation directory.
71
+ */
72
+ function resolveDbPath(inputPath) {
73
+ // If no path provided, use default in user's project
74
+ if (!inputPath) {
75
+ return path.join(process.cwd(), '.agentic-qe', 'memory.db');
76
+ }
77
+ // Special case: in-memory database
78
+ if (inputPath === ':memory:') {
79
+ return inputPath;
80
+ }
81
+ // Check environment variable override
82
+ const envPath = process.env.AQE_DB_PATH;
83
+ if (envPath) {
84
+ // If absolute, use as-is
85
+ if (path.isAbsolute(envPath)) {
86
+ return envPath;
87
+ }
88
+ // If relative, resolve from cwd
89
+ return path.join(process.cwd(), envPath);
90
+ }
91
+ // If already absolute, return as-is
92
+ if (path.isAbsolute(inputPath)) {
93
+ return inputPath;
94
+ }
95
+ // Convert relative path to absolute using cwd (user's project)
96
+ return path.join(process.cwd(), inputPath);
97
+ }
98
+ /**
99
+ * Ensure the database directory exists
100
+ */
101
+ function ensureDbDirectoryExists(dbPath) {
102
+ if (dbPath === ':memory:') {
103
+ return;
104
+ }
105
+ const dbDir = path.dirname(dbPath);
106
+ if (!fs.existsSync(dbDir)) {
107
+ fs.mkdirSync(dbDir, { recursive: true });
108
+ console.log(`[MemoryManagerFactory] Created database directory: ${dbDir}`);
109
+ }
110
+ }
111
+ /**
112
+ * Get the shared SwarmMemoryManager singleton
113
+ *
114
+ * Ensures all components use the same database connection for consistent
115
+ * persistence across MCP server, AgentRegistry, handlers, and agents.
116
+ *
117
+ * @param dbPath Optional database path (relative paths resolved from cwd)
118
+ * @returns Shared SwarmMemoryManager instance
119
+ */
120
+ function getSharedMemoryManager(dbPath) {
121
+ const resolvedPath = resolveDbPath(dbPath);
122
+ // If singleton exists with same path, return it
123
+ if (sharedMemoryManager && sharedMemoryManagerPath === resolvedPath) {
124
+ return sharedMemoryManager;
125
+ }
126
+ // If singleton exists with different path, warn but return existing
127
+ // (prevents multiple database connections causing fragmentation)
128
+ if (sharedMemoryManager && sharedMemoryManagerPath !== resolvedPath) {
129
+ console.warn(`[MemoryManagerFactory] Memory manager already initialized with path: ${sharedMemoryManagerPath}. ` +
130
+ `Ignoring new path: ${resolvedPath}. Use resetSharedMemoryManager() to change path.`);
131
+ return sharedMemoryManager;
132
+ }
133
+ // Create new singleton
134
+ ensureDbDirectoryExists(resolvedPath);
135
+ console.log(`[MemoryManagerFactory] Creating shared memory manager at: ${resolvedPath}`);
136
+ sharedMemoryManager = new SwarmMemoryManager_js_1.SwarmMemoryManager(resolvedPath);
137
+ sharedMemoryManagerPath = resolvedPath;
138
+ return sharedMemoryManager;
139
+ }
140
+ /**
141
+ * Initialize the shared memory manager asynchronously
142
+ *
143
+ * This method ensures only ONE initialization happens even if called multiple times.
144
+ * All callers will receive the same initialized instance.
145
+ *
146
+ * @param dbPath Optional database path
147
+ * @returns Promise that resolves to the initialized SwarmMemoryManager
148
+ */
149
+ async function initializeSharedMemoryManager(dbPath) {
150
+ // If already initializing, return the existing promise
151
+ if (initializationPromise) {
152
+ return initializationPromise;
153
+ }
154
+ // If already initialized, return the instance
155
+ if (sharedMemoryManager) {
156
+ const resolvedPath = resolveDbPath(dbPath);
157
+ if (sharedMemoryManagerPath === resolvedPath) {
158
+ return sharedMemoryManager;
159
+ }
160
+ }
161
+ // Start initialization
162
+ initializationPromise = (async () => {
163
+ const manager = getSharedMemoryManager(dbPath);
164
+ await manager.initialize();
165
+ console.log(`[MemoryManagerFactory] Shared memory manager initialized at: ${sharedMemoryManagerPath}`);
166
+ return manager;
167
+ })();
168
+ try {
169
+ const result = await initializationPromise;
170
+ return result;
171
+ }
172
+ catch (error) {
173
+ // Reset on failure so it can be retried
174
+ initializationPromise = null;
175
+ throw error;
176
+ }
177
+ }
178
+ /**
179
+ * Check if shared memory manager is initialized
180
+ */
181
+ function hasSharedMemoryManager() {
182
+ return sharedMemoryManager !== null;
183
+ }
184
+ /**
185
+ * Get the path of the current shared memory manager
186
+ */
187
+ function getSharedMemoryManagerPath() {
188
+ return sharedMemoryManagerPath;
189
+ }
190
+ /**
191
+ * Reset the shared memory manager singleton
192
+ *
193
+ * Use with caution - this should only be called during testing or
194
+ * when explicitly changing database paths.
195
+ */
196
+ async function resetSharedMemoryManager() {
197
+ if (sharedMemoryManager) {
198
+ try {
199
+ await sharedMemoryManager.close();
200
+ }
201
+ catch (error) {
202
+ console.warn('[MemoryManagerFactory] Error closing memory manager:', error);
203
+ }
204
+ sharedMemoryManager = null;
205
+ sharedMemoryManagerPath = null;
206
+ initializationPromise = null;
207
+ console.log('[MemoryManagerFactory] Shared memory manager reset');
208
+ }
209
+ }
210
+ /**
211
+ * Get database path info for debugging
212
+ */
213
+ function getDbPathInfo() {
214
+ return {
215
+ defaultPath: resolveDbPath(),
216
+ currentSharedPath: sharedMemoryManagerPath,
217
+ processCwd: process.cwd(),
218
+ envPath: process.env.AQE_DB_PATH
219
+ };
220
+ }
221
+ /**
222
+ * Setup process exit handlers to ensure database is properly closed
223
+ *
224
+ * This is critical for sql.js which only persists to disk on close()
225
+ */
226
+ function setupExitHandlers() {
227
+ const cleanup = async () => {
228
+ if (sharedMemoryManager) {
229
+ console.log('[MemoryManagerFactory] Closing database on process exit...');
230
+ try {
231
+ await sharedMemoryManager.close();
232
+ console.log('[MemoryManagerFactory] Database closed successfully');
233
+ }
234
+ catch (error) {
235
+ console.error('[MemoryManagerFactory] Error closing database:', error);
236
+ }
237
+ }
238
+ };
239
+ // Handle normal exit
240
+ process.on('exit', () => {
241
+ // Can't use async here, but close() should be synchronous for better-sqlite3
242
+ if (sharedMemoryManager) {
243
+ try {
244
+ // SwarmMemoryManager.close() is async but better-sqlite3 close is sync
245
+ sharedMemoryManager.db?.close?.();
246
+ }
247
+ catch (error) {
248
+ console.error('[MemoryManagerFactory] Error on exit:', error);
249
+ }
250
+ }
251
+ });
252
+ // Handle termination signals
253
+ process.on('SIGINT', async () => {
254
+ await cleanup();
255
+ process.exit(0);
256
+ });
257
+ process.on('SIGTERM', async () => {
258
+ await cleanup();
259
+ process.exit(0);
260
+ });
261
+ // Handle uncaught exceptions
262
+ process.on('uncaughtException', async (error) => {
263
+ console.error('[MemoryManagerFactory] Uncaught exception:', error);
264
+ await cleanup();
265
+ process.exit(1);
266
+ });
267
+ }
268
+ // Setup exit handlers when module is loaded
269
+ setupExitHandlers();
270
+ //# sourceMappingURL=MemoryManagerFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryManagerFactory.js","sourceRoot":"","sources":["../../../src/core/memory/MemoryManagerFactory.ts"],"names":[],"mappings":"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"}
@@ -180,6 +180,7 @@ export declare class SwarmMemoryManager {
180
180
  private initialized;
181
181
  private accessControl;
182
182
  private aclCache;
183
+ private patternCache;
183
184
  private agentDBManager;
184
185
  private lastModifiedTimestamps;
185
186
  private readonly TTL_POLICY;
@@ -239,6 +240,11 @@ export declare class SwarmMemoryManager {
239
240
  storePattern(pattern: Pattern): Promise<string>;
240
241
  getPattern(patternName: string): Promise<Pattern>;
241
242
  incrementPatternUsage(patternName: string): Promise<void>;
243
+ /**
244
+ * Invalidate pattern cache for a specific agent
245
+ * Call this after any pattern mutation to maintain cache coherence
246
+ */
247
+ private invalidatePatternCacheForAgent;
242
248
  queryPatternsByConfidence(threshold: number): Promise<Pattern[]>;
243
249
  /**
244
250
  * Query patterns by agent ID and minimum confidence
@@ -247,7 +253,19 @@ export declare class SwarmMemoryManager {
247
253
  * @param minConfidence Minimum confidence threshold (default: 0)
248
254
  * @returns Array of patterns belonging to the agent
249
255
  */
256
+ /**
257
+ * Escape special LIKE pattern characters to prevent SQL injection
258
+ */
259
+ private escapeLikePattern;
250
260
  queryPatternsByAgent(agentId: string, minConfidence?: number): Promise<Pattern[]>;
261
+ /**
262
+ * Get pattern cache statistics for monitoring
263
+ */
264
+ getPatternCacheStats(): import("./PatternCache").CacheStats;
265
+ /**
266
+ * Clear pattern cache (useful after bulk updates)
267
+ */
268
+ clearPatternCache(): void;
251
269
  createConsensusProposal(proposal: ConsensusProposal): Promise<void>;
252
270
  getConsensusProposal(id: string): Promise<ConsensusProposal>;
253
271
  voteOnConsensus(proposalId: string, agentId: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"SwarmMemoryManager.d.ts","sourceRoot":"","sources":["../../../src/core/memory/SwarmMemoryManager.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,GAAG,EACH,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC;AAC5D,OAAO,EACL,cAAc,EAEd,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,KAAK;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3D,UAAU,EAAE,GAAG,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,OAAO;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,WAAW,CAAC;IAC5B,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,GAAG,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb;AAGD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC;IACzC,WAAW,EAAE,GAAG,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC/C,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,EAAE,CAAuC;IACjD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,sBAAsB,CAAsB;IAGpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAOzB;gBAEU,MAAM,GAAE,MAAmB;IAOvC,OAAO,CAAC,GAAG;IAOX,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,QAAQ;IAOV,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiT3B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgE/E;;;OAGG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,GAAE,YAAY,GAAG,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtF;;;OAGG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAe,GAAG,MAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAQtE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;IAiDlE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAkD7E,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAkB,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC9F,KAAK,CAAC,SAAS,GAAE,MAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD,QAAQ,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxE,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAuB3C,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAwC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,KAAK,IAAI,OAAO,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACtC,CAAC;IAqDI,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBzC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAwB3C,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA4BnD,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1D,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA4BpD,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB/E,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA4BhE,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IA4B/C,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BjD,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAazD,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAyBtE;;;;;;OAMG;IACG,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,GAAE,MAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAoCpF,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BnE,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8B5D,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BtE,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA8BrE,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBlE,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAuBzE,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAuBhE,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBrD,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBjD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4B1C,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAwBvD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IA4BrD,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB9C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BxC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB9E,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAOvE,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpD,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBtD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA2BhD,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3F,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAuBjE,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxE,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyB1C,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBlD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA0B9C,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA6B1C,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB/C,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA6B5C,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrF,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAa9D,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA2BjE;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BvC;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAmCrD;;OAEG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUzE;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpG;;OAEG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrG;;OAEG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpE;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtE;;OAEG;IACH,gBAAgB,IAAI,aAAa;IAQjC;;;;OAIG;IACG,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnE;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrC;;;;;;OAMG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUjE;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD;;;;OAIG;IACH,cAAc,IAAI,GAAG,GAAG,IAAI;IAS5B;;;;OAIG;IACH,YAAY,IAAI,GAAG,EAAE;IASrB;;;;OAIG;IACH,aAAa,IAAI,OAAO;IAIxB;;;;;;OAMG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAmCnF;;;;;;OAMG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAkB,GAAG,MAAM,GAAG,SAAS;IAK/E;;;;OAIG;IACH,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAQ1C;;;OAGG;IACG,uBAAuB,CAAC,UAAU,EAAE;QACxC,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBjB;;;OAGG;IACG,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAiBhB;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAClD,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IAoBH;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAc7F;;OAEG;IACG,qBAAqB,CAAC,QAAQ,EAAE;QACpC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;QACpD,OAAO,EAAE,GAAG,CAAC;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBjB;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5E,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CA2BJ"}
1
+ {"version":3,"file":"SwarmMemoryManager.d.ts","sourceRoot":"","sources":["../../../src/core/memory/SwarmMemoryManager.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ Object.defineProperty(exports, "AccessLevel", { enumerable: true, get: function
46
46
  Object.defineProperty(exports, "Permission", { enumerable: true, get: function () { return AccessControl_1.Permission; } });
47
47
  Object.defineProperty(exports, "AccessControlError", { enumerable: true, get: function () { return AccessControl_1.AccessControlError; } });
48
48
  const AgentDBManager_1 = require("./AgentDBManager");
49
+ const PatternCache_1 = require("./PatternCache");
49
50
  /**
50
51
  * SwarmMemoryManager - Manages persistent memory for agent swarm coordination
51
52
  *
@@ -84,6 +85,12 @@ class SwarmMemoryManager {
84
85
  this.accessControl = new AccessControl_1.AccessControl();
85
86
  this.aclCache = new Map();
86
87
  this.lastModifiedTimestamps = new Map();
88
+ // Initialize pattern cache with LRU eviction (100 entries, 60s TTL)
89
+ this.patternCache = new PatternCache_1.PatternCache({
90
+ maxSize: 100,
91
+ ttl: 60000,
92
+ enableStats: true
93
+ });
87
94
  }
88
95
  run(sql, params = []) {
89
96
  if (!this.db) {
@@ -192,8 +199,18 @@ class SwarmMemoryManager {
192
199
  metadata TEXT,
193
200
  ttl INTEGER NOT NULL DEFAULT ${this.TTL_POLICY.patterns},
194
201
  expires_at INTEGER,
195
- created_at INTEGER NOT NULL
202
+ created_at INTEGER NOT NULL,
203
+ agent_id TEXT
196
204
  )
205
+ `);
206
+ // Create indexes for O(log n) pattern queries (Issue #57)
207
+ await this.run(`
208
+ CREATE INDEX IF NOT EXISTS idx_patterns_agent_confidence
209
+ ON patterns(agent_id, confidence DESC)
210
+ `);
211
+ await this.run(`
212
+ CREATE INDEX IF NOT EXISTS idx_patterns_agent
213
+ ON patterns(agent_id)
197
214
  `);
198
215
  // Table 6: Consensus State (TTL: 7 days)
199
216
  await this.run(`
@@ -797,8 +814,10 @@ class SwarmMemoryManager {
797
814
  const now = Date.now();
798
815
  const ttl = pattern.ttl !== undefined ? pattern.ttl : this.TTL_POLICY.patterns;
799
816
  const expiresAt = ttl > 0 ? now + (ttl * 1000) : null;
800
- await this.run(`INSERT OR REPLACE INTO patterns (id, pattern, confidence, usage_count, metadata, ttl, expires_at, created_at)
801
- VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, [
817
+ // Extract agent_id from metadata for indexed lookups (O(log n) vs O(n))
818
+ const agentId = pattern.metadata?.agent_id || pattern.metadata?.agentId || null;
819
+ await this.run(`INSERT OR REPLACE INTO patterns (id, pattern, confidence, usage_count, metadata, ttl, expires_at, created_at, agent_id)
820
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
802
821
  id,
803
822
  pattern.pattern,
804
823
  pattern.confidence,
@@ -806,8 +825,11 @@ class SwarmMemoryManager {
806
825
  pattern.metadata ? JSON.stringify(pattern.metadata) : null,
807
826
  ttl,
808
827
  expiresAt,
809
- now
828
+ now,
829
+ agentId
810
830
  ]);
831
+ // Invalidate cache for this agent to ensure consistency
832
+ this.invalidatePatternCacheForAgent(agentId);
811
833
  return id;
812
834
  }
813
835
  async getPattern(patternName) {
@@ -835,9 +857,31 @@ class SwarmMemoryManager {
835
857
  if (!this.db) {
836
858
  throw new Error('Memory manager not initialized');
837
859
  }
838
- await this.run(`UPDATE patterns
860
+ // Get the agent_id before updating to invalidate correct cache entries
861
+ const pattern = this.queryOne(`SELECT agent_id, metadata FROM patterns WHERE pattern = ?`, [patternName]);
862
+ this.run(`UPDATE patterns
839
863
  SET usage_count = usage_count + 1
840
864
  WHERE pattern = ?`, [patternName]);
865
+ // Invalidate cache for affected agent
866
+ if (pattern) {
867
+ const agentId = pattern.agent_id ||
868
+ (pattern.metadata ? JSON.parse(pattern.metadata).agent_id || JSON.parse(pattern.metadata).agentId : null);
869
+ this.invalidatePatternCacheForAgent(agentId);
870
+ }
871
+ }
872
+ /**
873
+ * Invalidate pattern cache for a specific agent
874
+ * Call this after any pattern mutation to maintain cache coherence
875
+ */
876
+ invalidatePatternCacheForAgent(agentId) {
877
+ if (agentId) {
878
+ this.patternCache.invalidate(agentId);
879
+ }
880
+ else {
881
+ // Nuclear option for NULL agent_id - clear entire cache
882
+ // This is expensive but ensures correctness for pre-migration data
883
+ this.patternCache.clear();
884
+ }
841
885
  }
842
886
  async queryPatternsByConfidence(threshold) {
843
887
  if (!this.db) {
@@ -865,23 +909,49 @@ class SwarmMemoryManager {
865
909
  * @param minConfidence Minimum confidence threshold (default: 0)
866
910
  * @returns Array of patterns belonging to the agent
867
911
  */
912
+ /**
913
+ * Escape special LIKE pattern characters to prevent SQL injection
914
+ */
915
+ escapeLikePattern(value) {
916
+ return value.replace(/[%_\\]/g, '\\$&');
917
+ }
868
918
  async queryPatternsByAgent(agentId, minConfidence = 0) {
869
919
  if (!this.db) {
870
920
  throw new Error('Memory manager not initialized');
871
921
  }
922
+ // Check cache first (O(1) lookup)
923
+ const cacheKey = PatternCache_1.PatternCache.generateKey(agentId, minConfidence);
924
+ const cached = this.patternCache.get(cacheKey);
925
+ if (cached) {
926
+ return cached;
927
+ }
872
928
  const now = Date.now();
873
- const rows = await this.queryAll(`SELECT id, pattern, confidence, usage_count, metadata, ttl, created_at
929
+ const escapedAgentId = this.escapeLikePattern(agentId);
930
+ // Split into two queries to ensure index usage on the fast path
931
+ // Query 1: O(log n) - Use index for agent_id column (post-migration data)
932
+ const indexedRows = this.queryAll(`SELECT id, pattern, confidence, usage_count, metadata, ttl, created_at
933
+ FROM patterns
934
+ WHERE agent_id = ?
935
+ AND confidence >= ?
936
+ AND (expires_at IS NULL OR expires_at > ?)
937
+ ORDER BY confidence DESC`, [agentId, minConfidence, now]);
938
+ // Query 2: O(n) - Fallback LIKE scan for pre-migration data (agent_id IS NULL)
939
+ const nullRows = this.queryAll(`SELECT id, pattern, confidence, usage_count, metadata, ttl, created_at
874
940
  FROM patterns
875
- WHERE confidence >= ?
941
+ WHERE agent_id IS NULL
942
+ AND confidence >= ?
876
943
  AND (expires_at IS NULL OR expires_at > ?)
877
- AND (metadata LIKE ? OR metadata LIKE ?)
944
+ AND (metadata LIKE ? ESCAPE '\\' OR metadata LIKE ? ESCAPE '\\')
878
945
  ORDER BY confidence DESC`, [
879
946
  minConfidence,
880
947
  now,
881
- `%"agent_id":"${agentId}"%`,
882
- `%"agentId":"${agentId}"%`
948
+ `%"agent_id":"${escapedAgentId}"%`,
949
+ `%"agentId":"${escapedAgentId}"%`
883
950
  ]);
884
- return rows.map((row) => ({
951
+ // Combine results and sort by confidence (descending)
952
+ const allRows = [...indexedRows, ...nullRows];
953
+ allRows.sort((a, b) => b.confidence - a.confidence);
954
+ const patterns = allRows.map((row) => ({
885
955
  id: row.id,
886
956
  pattern: row.pattern,
887
957
  confidence: row.confidence,
@@ -890,6 +960,21 @@ class SwarmMemoryManager {
890
960
  ttl: row.ttl,
891
961
  createdAt: row.created_at
892
962
  }));
963
+ // Cache results for subsequent lookups
964
+ this.patternCache.set(cacheKey, patterns);
965
+ return patterns;
966
+ }
967
+ /**
968
+ * Get pattern cache statistics for monitoring
969
+ */
970
+ getPatternCacheStats() {
971
+ return this.patternCache.getStats();
972
+ }
973
+ /**
974
+ * Clear pattern cache (useful after bulk updates)
975
+ */
976
+ clearPatternCache() {
977
+ this.patternCache.clear();
893
978
  }
894
979
  // ============================================================================
895
980
  // Table 6: Consensus State (TTL: 7 days)