agentic-qe 3.4.2 → 3.4.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 (119) hide show
  1. package/.claude/skills/README.md +126 -35
  2. package/package.json +1 -1
  3. package/v3/CHANGELOG.md +50 -0
  4. package/v3/README.md +18 -24
  5. package/v3/dist/cli/bundle.js +10693 -10285
  6. package/v3/dist/cli/commands/init.d.ts.map +1 -1
  7. package/v3/dist/cli/commands/init.js +5 -2
  8. package/v3/dist/cli/commands/init.js.map +1 -1
  9. package/v3/dist/cli/handlers/init-handler.d.ts +1 -0
  10. package/v3/dist/cli/handlers/init-handler.d.ts.map +1 -1
  11. package/v3/dist/cli/handlers/init-handler.js +10 -1
  12. package/v3/dist/cli/handlers/init-handler.js.map +1 -1
  13. package/v3/dist/init/agents-installer.d.ts.map +1 -1
  14. package/v3/dist/init/agents-installer.js +20 -16
  15. package/v3/dist/init/agents-installer.js.map +1 -1
  16. package/v3/dist/init/orchestrator.d.ts.map +1 -1
  17. package/v3/dist/init/orchestrator.js +1 -0
  18. package/v3/dist/init/orchestrator.js.map +1 -1
  19. package/v3/dist/init/phases/04-database.d.ts +14 -2
  20. package/v3/dist/init/phases/04-database.d.ts.map +1 -1
  21. package/v3/dist/init/phases/04-database.js +50 -48
  22. package/v3/dist/init/phases/04-database.js.map +1 -1
  23. package/v3/dist/init/phases/08-mcp.d.ts +6 -1
  24. package/v3/dist/init/phases/08-mcp.d.ts.map +1 -1
  25. package/v3/dist/init/phases/08-mcp.js +54 -28
  26. package/v3/dist/init/phases/08-mcp.js.map +1 -1
  27. package/v3/dist/init/phases/09-assets.d.ts.map +1 -1
  28. package/v3/dist/init/phases/09-assets.js +8 -3
  29. package/v3/dist/init/phases/09-assets.js.map +1 -1
  30. package/v3/dist/init/phases/10-workers.d.ts +11 -0
  31. package/v3/dist/init/phases/10-workers.d.ts.map +1 -1
  32. package/v3/dist/init/phases/10-workers.js +246 -11
  33. package/v3/dist/init/phases/10-workers.js.map +1 -1
  34. package/v3/dist/init/phases/phase-interface.d.ts +2 -0
  35. package/v3/dist/init/phases/phase-interface.d.ts.map +1 -1
  36. package/v3/dist/init/phases/phase-interface.js.map +1 -1
  37. package/v3/dist/init/skills-installer.d.ts +5 -0
  38. package/v3/dist/init/skills-installer.d.ts.map +1 -1
  39. package/v3/dist/init/skills-installer.js +77 -26
  40. package/v3/dist/init/skills-installer.js.map +1 -1
  41. package/v3/dist/integrations/agent-booster-wasm/index.d.ts +36 -19
  42. package/v3/dist/integrations/agent-booster-wasm/index.d.ts.map +1 -1
  43. package/v3/dist/integrations/agent-booster-wasm/index.js +32 -21
  44. package/v3/dist/integrations/agent-booster-wasm/index.js.map +1 -1
  45. package/v3/dist/integrations/agentic-flow/agent-booster/adapter.d.ts.map +1 -1
  46. package/v3/dist/integrations/agentic-flow/agent-booster/adapter.js +57 -4
  47. package/v3/dist/integrations/agentic-flow/agent-booster/adapter.js.map +1 -1
  48. package/v3/dist/mcp/bundle.js +143 -28
  49. package/v3/dist/strange-loop/healing-controller.d.ts.map +1 -1
  50. package/v3/dist/strange-loop/healing-controller.js +54 -2
  51. package/v3/dist/strange-loop/healing-controller.js.map +1 -1
  52. package/v3/dist/strange-loop/index.d.ts +2 -1
  53. package/v3/dist/strange-loop/index.d.ts.map +1 -1
  54. package/v3/dist/strange-loop/index.js +3 -1
  55. package/v3/dist/strange-loop/index.js.map +1 -1
  56. package/v3/dist/strange-loop/infra-healing/composite-action-executor.d.ts +39 -0
  57. package/v3/dist/strange-loop/infra-healing/composite-action-executor.d.ts.map +1 -0
  58. package/v3/dist/strange-loop/infra-healing/composite-action-executor.js +82 -0
  59. package/v3/dist/strange-loop/infra-healing/composite-action-executor.js.map +1 -0
  60. package/v3/dist/strange-loop/infra-healing/coordination-lock.d.ts +54 -0
  61. package/v3/dist/strange-loop/infra-healing/coordination-lock.d.ts.map +1 -0
  62. package/v3/dist/strange-loop/infra-healing/coordination-lock.js +104 -0
  63. package/v3/dist/strange-loop/infra-healing/coordination-lock.js.map +1 -0
  64. package/v3/dist/strange-loop/infra-healing/index.d.ts +20 -0
  65. package/v3/dist/strange-loop/infra-healing/index.d.ts.map +1 -0
  66. package/v3/dist/strange-loop/infra-healing/index.js +26 -0
  67. package/v3/dist/strange-loop/infra-healing/index.js.map +1 -0
  68. package/v3/dist/strange-loop/infra-healing/infra-action-executor.d.ts +70 -0
  69. package/v3/dist/strange-loop/infra-healing/infra-action-executor.d.ts.map +1 -0
  70. package/v3/dist/strange-loop/infra-healing/infra-action-executor.js +260 -0
  71. package/v3/dist/strange-loop/infra-healing/infra-action-executor.js.map +1 -0
  72. package/v3/dist/strange-loop/infra-healing/infra-aware-agent-provider.d.ts +56 -0
  73. package/v3/dist/strange-loop/infra-healing/infra-aware-agent-provider.d.ts.map +1 -0
  74. package/v3/dist/strange-loop/infra-healing/infra-aware-agent-provider.js +108 -0
  75. package/v3/dist/strange-loop/infra-healing/infra-aware-agent-provider.js.map +1 -0
  76. package/v3/dist/strange-loop/infra-healing/infra-healing-orchestrator.d.ts +102 -0
  77. package/v3/dist/strange-loop/infra-healing/infra-healing-orchestrator.d.ts.map +1 -0
  78. package/v3/dist/strange-loop/infra-healing/infra-healing-orchestrator.js +201 -0
  79. package/v3/dist/strange-loop/infra-healing/infra-healing-orchestrator.js.map +1 -0
  80. package/v3/dist/strange-loop/infra-healing/recovery-playbook.d.ts +74 -0
  81. package/v3/dist/strange-loop/infra-healing/recovery-playbook.d.ts.map +1 -0
  82. package/v3/dist/strange-loop/infra-healing/recovery-playbook.js +153 -0
  83. package/v3/dist/strange-loop/infra-healing/recovery-playbook.js.map +1 -0
  84. package/v3/dist/strange-loop/infra-healing/test-output-observer.d.ts +61 -0
  85. package/v3/dist/strange-loop/infra-healing/test-output-observer.d.ts.map +1 -0
  86. package/v3/dist/strange-loop/infra-healing/test-output-observer.js +339 -0
  87. package/v3/dist/strange-loop/infra-healing/test-output-observer.js.map +1 -0
  88. package/v3/dist/strange-loop/infra-healing/types.d.ts +253 -0
  89. package/v3/dist/strange-loop/infra-healing/types.d.ts.map +1 -0
  90. package/v3/dist/strange-loop/infra-healing/types.js +33 -0
  91. package/v3/dist/strange-loop/infra-healing/types.js.map +1 -0
  92. package/v3/dist/strange-loop/strange-loop.d.ts +63 -0
  93. package/v3/dist/strange-loop/strange-loop.d.ts.map +1 -1
  94. package/v3/dist/strange-loop/strange-loop.js +62 -0
  95. package/v3/dist/strange-loop/strange-loop.js.map +1 -1
  96. package/v3/dist/strange-loop/types.d.ts +2 -2
  97. package/v3/dist/strange-loop/types.d.ts.map +1 -1
  98. package/v3/dist/strange-loop/types.js.map +1 -1
  99. package/v3/dist/sync/embeddings/index.d.ts +9 -0
  100. package/v3/dist/sync/embeddings/index.d.ts.map +1 -0
  101. package/v3/dist/sync/embeddings/index.js +9 -0
  102. package/v3/dist/sync/embeddings/index.js.map +1 -0
  103. package/v3/dist/sync/embeddings/sync-embedding-generator.d.ts +101 -0
  104. package/v3/dist/sync/embeddings/sync-embedding-generator.d.ts.map +1 -0
  105. package/v3/dist/sync/embeddings/sync-embedding-generator.js +264 -0
  106. package/v3/dist/sync/embeddings/sync-embedding-generator.js.map +1 -0
  107. package/v3/dist/sync/index.d.ts +1 -0
  108. package/v3/dist/sync/index.d.ts.map +1 -1
  109. package/v3/dist/sync/index.js +2 -0
  110. package/v3/dist/sync/index.js.map +1 -1
  111. package/v3/dist/workers/workers/cloud-sync.d.ts +19 -0
  112. package/v3/dist/workers/workers/cloud-sync.d.ts.map +1 -0
  113. package/v3/dist/workers/workers/cloud-sync.js +177 -0
  114. package/v3/dist/workers/workers/cloud-sync.js.map +1 -0
  115. package/v3/dist/workers/workers/index.d.ts +12 -11
  116. package/v3/dist/workers/workers/index.d.ts.map +1 -1
  117. package/v3/dist/workers/workers/index.js +12 -11
  118. package/v3/dist/workers/workers/index.js.map +1 -1
  119. package/v3/package.json +8 -4
@@ -0,0 +1,264 @@
1
+ /**
2
+ * Sync Embedding Generator
3
+ * Cloud Sync Plan Phase 3: Generate embeddings for patterns
4
+ *
5
+ * Generates embeddings for patterns before cloud sync to enable
6
+ * vector similarity search in ruvector-postgres.
7
+ */
8
+ import { EmbeddingGenerator } from '../../integrations/embeddings/base/EmbeddingGenerator.js';
9
+ import { resolve, dirname } from 'path';
10
+ import { fileURLToPath } from 'url';
11
+ import Database from 'better-sqlite3';
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = dirname(__filename);
14
+ /**
15
+ * Sync Embedding Generator
16
+ *
17
+ * Generates 384-dimensional embeddings for patterns using
18
+ * the all-MiniLM-L6-v2 model via @xenova/transformers.
19
+ */
20
+ export class SyncEmbeddingGenerator {
21
+ generator;
22
+ dbPath;
23
+ initialized = false;
24
+ constructor(dbPath) {
25
+ // Default to root database
26
+ this.dbPath = dbPath || resolve(__dirname, '../../../../.agentic-qe/memory.db');
27
+ this.generator = new EmbeddingGenerator({
28
+ model: 'Xenova/all-MiniLM-L6-v2',
29
+ dimension: 384,
30
+ cacheEnabled: true,
31
+ onnxEnabled: true,
32
+ });
33
+ }
34
+ /**
35
+ * Initialize the embedding generator
36
+ */
37
+ async initialize() {
38
+ if (this.initialized)
39
+ return;
40
+ await this.generator.initialize();
41
+ this.initialized = true;
42
+ console.log('[SyncEmbedding] Model initialized');
43
+ }
44
+ /**
45
+ * Generate embedding for a single pattern
46
+ */
47
+ async generateForPattern(pattern) {
48
+ await this.initialize();
49
+ // Extract text content from pattern
50
+ const text = this.extractText(pattern);
51
+ // Generate embedding (use 'text' namespace as 'patterns' is not in EmbeddingNamespace)
52
+ const embedding = await this.generator.embed(text, {
53
+ namespace: 'text',
54
+ });
55
+ return {
56
+ id: pattern.id,
57
+ embedding: Array.isArray(embedding.vector)
58
+ ? embedding.vector
59
+ : Array.from(embedding.vector),
60
+ text,
61
+ dimension: embedding.dimension,
62
+ generatedAt: new Date(),
63
+ };
64
+ }
65
+ /**
66
+ * Generate embeddings for all patterns without embeddings
67
+ */
68
+ async generateForAllPatterns(tableName = 'patterns', options = {}) {
69
+ const startTime = Date.now();
70
+ const stats = {
71
+ totalPatterns: 0,
72
+ patternsWithEmbeddings: 0,
73
+ patternsGenerated: 0,
74
+ patternsSkipped: 0,
75
+ errors: [],
76
+ durationMs: 0,
77
+ };
78
+ await this.initialize();
79
+ // Open database
80
+ const db = new Database(this.dbPath, { readonly: false });
81
+ try {
82
+ // Check if embedding column exists
83
+ const columns = db.prepare(`PRAGMA table_info(${tableName})`).all();
84
+ const hasEmbeddingColumn = columns.some((col) => col.name === 'embedding');
85
+ if (!hasEmbeddingColumn) {
86
+ // Add embedding column
87
+ db.prepare(`ALTER TABLE ${tableName} ADD COLUMN embedding TEXT`).run();
88
+ console.log(`[SyncEmbedding] Added embedding column to ${tableName}`);
89
+ }
90
+ // Get patterns
91
+ const query = options.force
92
+ ? `SELECT * FROM ${tableName}`
93
+ : `SELECT * FROM ${tableName} WHERE embedding IS NULL OR embedding = ''`;
94
+ const patterns = db.prepare(query).all();
95
+ stats.totalPatterns = patterns.length;
96
+ if (options.verbose) {
97
+ console.log(`[SyncEmbedding] Processing ${patterns.length} patterns from ${tableName}`);
98
+ }
99
+ // Count existing embeddings
100
+ const existingCount = db
101
+ .prepare(`SELECT COUNT(*) as count FROM ${tableName} WHERE embedding IS NOT NULL AND embedding != ''`)
102
+ .get();
103
+ stats.patternsWithEmbeddings = existingCount.count;
104
+ // Prepare update statement
105
+ const updateStmt = db.prepare(`UPDATE ${tableName} SET embedding = ? WHERE id = ?`);
106
+ // Process in batches
107
+ const batchSize = options.batchSize || 50;
108
+ for (let i = 0; i < patterns.length; i += batchSize) {
109
+ const batch = patterns.slice(i, Math.min(i + batchSize, patterns.length));
110
+ for (const pattern of batch) {
111
+ try {
112
+ const result = await this.generateForPattern(pattern);
113
+ // Store as JSON array string
114
+ const embeddingJson = JSON.stringify(result.embedding);
115
+ updateStmt.run(embeddingJson, pattern.id);
116
+ stats.patternsGenerated++;
117
+ if (options.verbose && stats.patternsGenerated % 10 === 0) {
118
+ console.log(`[SyncEmbedding] Generated ${stats.patternsGenerated}/${patterns.length}`);
119
+ }
120
+ }
121
+ catch (error) {
122
+ const errorMsg = error instanceof Error ? error.message : String(error);
123
+ stats.errors.push(`Pattern ${pattern.id}: ${errorMsg}`);
124
+ stats.patternsSkipped++;
125
+ }
126
+ }
127
+ }
128
+ stats.durationMs = Date.now() - startTime;
129
+ if (options.verbose) {
130
+ console.log(`[SyncEmbedding] Completed: ${stats.patternsGenerated} generated, ${stats.patternsSkipped} skipped`);
131
+ console.log(`[SyncEmbedding] Duration: ${stats.durationMs}ms`);
132
+ }
133
+ return stats;
134
+ }
135
+ finally {
136
+ db.close();
137
+ }
138
+ }
139
+ /**
140
+ * Search for similar patterns using vector similarity
141
+ */
142
+ async findSimilarPatterns(query, options = {}) {
143
+ await this.initialize();
144
+ const limit = options.limit || 10;
145
+ const threshold = options.threshold || 0.5;
146
+ const tableName = options.tableName || 'patterns';
147
+ // Generate query embedding
148
+ const queryEmbedding = await this.generator.embed(query, { namespace: 'text' });
149
+ const queryVector = Array.isArray(queryEmbedding.vector)
150
+ ? queryEmbedding.vector
151
+ : Array.from(queryEmbedding.vector);
152
+ // Get all patterns with embeddings
153
+ const db = new Database(this.dbPath, { readonly: true });
154
+ try {
155
+ const patterns = db
156
+ .prepare(`SELECT * FROM ${tableName} WHERE embedding IS NOT NULL AND embedding != ''`)
157
+ .all();
158
+ // Calculate similarities
159
+ const results = [];
160
+ for (const pattern of patterns) {
161
+ try {
162
+ const patternVector = typeof pattern.embedding === 'string'
163
+ ? JSON.parse(pattern.embedding)
164
+ : pattern.embedding;
165
+ if (Array.isArray(patternVector) && patternVector.length === queryVector.length) {
166
+ const similarity = this.cosineSimilarity(queryVector, patternVector);
167
+ if (similarity >= threshold) {
168
+ results.push({ pattern, similarity });
169
+ }
170
+ }
171
+ }
172
+ catch {
173
+ // Skip patterns with invalid embeddings
174
+ }
175
+ }
176
+ // Sort by similarity and limit
177
+ return results
178
+ .sort((a, b) => b.similarity - a.similarity)
179
+ .slice(0, limit);
180
+ }
181
+ finally {
182
+ db.close();
183
+ }
184
+ }
185
+ /**
186
+ * Extract text content from pattern for embedding
187
+ */
188
+ extractText(pattern) {
189
+ const parts = [];
190
+ if (pattern.pattern) {
191
+ parts.push(pattern.pattern);
192
+ }
193
+ if (pattern.content) {
194
+ // Handle JSON content
195
+ try {
196
+ const content = typeof pattern.content === 'string'
197
+ ? JSON.parse(pattern.content)
198
+ : pattern.content;
199
+ if (typeof content === 'object') {
200
+ // Extract key fields
201
+ if (content.description)
202
+ parts.push(content.description);
203
+ if (content.name)
204
+ parts.push(content.name);
205
+ if (content.summary)
206
+ parts.push(content.summary);
207
+ if (content.text)
208
+ parts.push(content.text);
209
+ }
210
+ else if (typeof content === 'string') {
211
+ parts.push(content);
212
+ }
213
+ }
214
+ catch {
215
+ // Not JSON, use as-is
216
+ parts.push(String(pattern.content));
217
+ }
218
+ }
219
+ if (pattern.type) {
220
+ parts.push(`type:${pattern.type}`);
221
+ }
222
+ if (pattern.domain) {
223
+ parts.push(`domain:${pattern.domain}`);
224
+ }
225
+ // Combine and truncate to model's max length
226
+ const text = parts.join(' ').trim();
227
+ return text.substring(0, 512);
228
+ }
229
+ /**
230
+ * Calculate cosine similarity between two vectors
231
+ */
232
+ cosineSimilarity(a, b) {
233
+ let dotProduct = 0;
234
+ let normA = 0;
235
+ let normB = 0;
236
+ for (let i = 0; i < a.length; i++) {
237
+ dotProduct += a[i] * b[i];
238
+ normA += a[i] * a[i];
239
+ normB += b[i] * b[i];
240
+ }
241
+ const magnitude = Math.sqrt(normA) * Math.sqrt(normB);
242
+ return magnitude === 0 ? 0 : dotProduct / magnitude;
243
+ }
244
+ /**
245
+ * Get embedding statistics
246
+ */
247
+ getStats() {
248
+ return this.generator.getStats();
249
+ }
250
+ /**
251
+ * Clear resources
252
+ */
253
+ async clear() {
254
+ await this.generator.clear();
255
+ this.initialized = false;
256
+ }
257
+ }
258
+ /**
259
+ * Create a sync embedding generator
260
+ */
261
+ export function createSyncEmbeddingGenerator(dbPath) {
262
+ return new SyncEmbeddingGenerator(dbPath);
263
+ }
264
+ //# sourceMappingURL=sync-embedding-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-embedding-generator.js","sourceRoot":"","sources":["../../../src/sync/embeddings/sync-embedding-generator.ts"],"names":[],"mappings":"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"}
@@ -32,4 +32,5 @@ export type { TunnelManager } from './cloud/tunnel-manager.js';
32
32
  export { IAPTunnelManager, DirectConnectionManager, createTunnelManager, createConnectionManager, } from './cloud/tunnel-manager.js';
33
33
  export { PostgresWriter, createPostgresWriter, type PostgresWriterConfig, } from './cloud/postgres-writer.js';
34
34
  export { CloudSyncAgent, createSyncAgent, syncToCloud, syncIncrementalToCloud, type SyncAgentConfig, type SourceStatus, type VerifyResult, type VerifyTableResult, } from './sync-agent.js';
35
+ export { SyncEmbeddingGenerator, createSyncEmbeddingGenerator, type PatternRecord, type PatternEmbeddingResult, type EmbeddingBatchStats, } from './embeddings/index.js';
35
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,YAAY,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,KAAK,oBAAoB,GAC1B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,YAAY,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,KAAK,oBAAoB,GAC1B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,uBAAuB,CAAC"}
@@ -32,4 +32,6 @@ export { IAPTunnelManager, DirectConnectionManager, createTunnelManager, createC
32
32
  export { PostgresWriter, createPostgresWriter, } from './cloud/postgres-writer.js';
33
33
  // Sync agent
34
34
  export { CloudSyncAgent, createSyncAgent, syncToCloud, syncIncrementalToCloud, } from './sync-agent.js';
35
+ // Embeddings (Phase 3)
36
+ export { SyncEmbeddingGenerator, createSyncEmbeddingGenerator, } from './embeddings/index.js';
35
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAoBH,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpE,UAAU;AACV,OAAO,EACL,YAAY,EACZ,kBAAkB,GAGnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,UAAU,EACV,gBAAgB,GAGjB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,cAAc,EACd,oBAAoB,GAErB,MAAM,4BAA4B,CAAC;AAEpC,aAAa;AACb,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACX,sBAAsB,GAKvB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAoBH,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpE,UAAU;AACV,OAAO,EACL,YAAY,EACZ,kBAAkB,GAGnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,UAAU,EACV,gBAAgB,GAGjB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,cAAc,EACd,oBAAoB,GAErB,MAAM,4BAA4B,CAAC;AAEpC,aAAa;AACb,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACX,sBAAsB,GAKvB,MAAM,iBAAiB,CAAC;AAEzB,uBAAuB;AACvB,OAAO,EACL,sBAAsB,EACtB,4BAA4B,GAI7B,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Agentic QE v3 - Cloud Sync Worker
3
+ * Cloud Sync Plan Phase 4: Periodic Sync
4
+ *
5
+ * Periodically syncs local learning data to cloud PostgreSQL.
6
+ * Runs every hour by default, configurable via AQE_SYNC_INTERVAL.
7
+ */
8
+ import { BaseWorker } from '../base-worker.js';
9
+ import type { WorkerContext, WorkerResult } from '../interfaces.js';
10
+ export declare class CloudSyncWorker extends BaseWorker {
11
+ constructor();
12
+ protected doExecute(context: WorkerContext): Promise<WorkerResult>;
13
+ /**
14
+ * Check if gcloud CLI is available
15
+ */
16
+ private checkGcloudAvailable;
17
+ }
18
+ export default CloudSyncWorker;
19
+ //# sourceMappingURL=cloud-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-sync.d.ts","sourceRoot":"","sources":["../../../src/workers/workers/cloud-sync.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAEV,aAAa,EACb,YAAY,EAIb,MAAM,kBAAkB,CAAC;AA2C1B,qBAAa,eAAgB,SAAQ,UAAU;;cAK7B,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA6IxE;;OAEG;YACW,oBAAoB;CASnC;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,177 @@
1
+ /**
2
+ * Agentic QE v3 - Cloud Sync Worker
3
+ * Cloud Sync Plan Phase 4: Periodic Sync
4
+ *
5
+ * Periodically syncs local learning data to cloud PostgreSQL.
6
+ * Runs every hour by default, configurable via AQE_SYNC_INTERVAL.
7
+ */
8
+ import { BaseWorker } from '../base-worker.js';
9
+ const CONFIG = {
10
+ id: 'cloud-sync',
11
+ name: 'Cloud Sync',
12
+ description: 'Periodically syncs local learning data to cloud PostgreSQL',
13
+ intervalMs: parseInt(process.env.AQE_SYNC_INTERVAL || '3600000', 10), // 1 hour default
14
+ priority: 'low',
15
+ targetDomains: ['learning-optimization'],
16
+ enabled: process.env.AQE_CLOUD_SYNC_ENABLED === 'true',
17
+ timeoutMs: 600000, // 10 minutes
18
+ retryCount: 3,
19
+ retryDelayMs: 60000, // 1 minute
20
+ };
21
+ /**
22
+ * Create standard worker metrics
23
+ */
24
+ function createMetrics(itemsAnalyzed, issuesFound, recordsSynced, durationMs) {
25
+ return {
26
+ itemsAnalyzed,
27
+ issuesFound,
28
+ healthScore: issuesFound === 0 ? 100 : Math.max(0, 100 - issuesFound * 10),
29
+ trend: 'stable',
30
+ domainMetrics: {
31
+ recordsSynced,
32
+ durationMs,
33
+ },
34
+ };
35
+ }
36
+ export class CloudSyncWorker extends BaseWorker {
37
+ constructor() {
38
+ super(CONFIG);
39
+ }
40
+ async doExecute(context) {
41
+ const startTime = Date.now();
42
+ context.logger.info('Starting cloud sync worker');
43
+ const findings = [];
44
+ const recommendations = [];
45
+ // Check if cloud sync is configured
46
+ if (!process.env.GCP_PROJECT) {
47
+ findings.push({
48
+ type: 'info',
49
+ title: 'Cloud sync not configured',
50
+ description: 'GCP_PROJECT environment variable not set. Skipping cloud sync.',
51
+ severity: 'info',
52
+ domain: 'learning-optimization',
53
+ });
54
+ return {
55
+ workerId: this.config.id,
56
+ success: true,
57
+ durationMs: Date.now() - startTime,
58
+ findings,
59
+ recommendations,
60
+ metrics: createMetrics(0, 0, 0, Date.now() - startTime),
61
+ timestamp: new Date(),
62
+ };
63
+ }
64
+ // Check if gcloud is available
65
+ const gcloudAvailable = await this.checkGcloudAvailable();
66
+ if (!gcloudAvailable) {
67
+ findings.push({
68
+ type: 'warning',
69
+ title: 'gcloud CLI not available',
70
+ description: 'gcloud CLI not found. Install Google Cloud SDK for cloud sync.',
71
+ severity: 'medium',
72
+ domain: 'learning-optimization',
73
+ });
74
+ return {
75
+ workerId: this.config.id,
76
+ success: true,
77
+ durationMs: Date.now() - startTime,
78
+ findings,
79
+ recommendations,
80
+ metrics: createMetrics(0, 1, 0, Date.now() - startTime),
81
+ timestamp: new Date(),
82
+ };
83
+ }
84
+ try {
85
+ // Dynamically import sync module to avoid loading it when not needed
86
+ const { syncIncrementalToCloud } = await import('../../sync/index.js');
87
+ context.logger.info('Running incremental sync to cloud...');
88
+ const report = await syncIncrementalToCloud(undefined, {
89
+ environment: process.env.AQE_ENV || 'devpod',
90
+ verbose: false,
91
+ });
92
+ const syncResult = {
93
+ recordsSynced: report.totalRecordsSynced,
94
+ tablesProcessed: report.results.length,
95
+ errors: report.errors,
96
+ durationMs: report.totalDurationMs,
97
+ };
98
+ // Log results
99
+ if (syncResult.recordsSynced > 0) {
100
+ findings.push({
101
+ type: 'info',
102
+ title: 'Cloud sync completed',
103
+ description: `Synced ${syncResult.recordsSynced} records across ${syncResult.tablesProcessed} tables in ${syncResult.durationMs}ms`,
104
+ severity: 'info',
105
+ domain: 'learning-optimization',
106
+ });
107
+ }
108
+ // Log errors
109
+ for (const error of syncResult.errors) {
110
+ findings.push({
111
+ type: 'error',
112
+ title: 'Sync error',
113
+ description: error,
114
+ severity: 'high',
115
+ domain: 'learning-optimization',
116
+ });
117
+ }
118
+ // Add recommendation if sync hasn't run in a while
119
+ if (syncResult.recordsSynced === 0) {
120
+ recommendations.push({
121
+ priority: 'p3',
122
+ domain: 'learning-optimization',
123
+ action: 'Run `aqe sync --full` to force a full sync',
124
+ description: 'No new records to sync. Consider running a full sync if data seems stale.',
125
+ estimatedImpact: 'low',
126
+ effort: 'low',
127
+ autoFixable: true,
128
+ });
129
+ }
130
+ return {
131
+ workerId: this.config.id,
132
+ success: syncResult.errors.length === 0,
133
+ durationMs: Date.now() - startTime,
134
+ findings,
135
+ recommendations,
136
+ metrics: createMetrics(syncResult.tablesProcessed, syncResult.errors.length, syncResult.recordsSynced, Date.now() - startTime),
137
+ timestamp: new Date(),
138
+ };
139
+ }
140
+ catch (error) {
141
+ const errorMessage = error instanceof Error ? error.message : String(error);
142
+ context.logger.error(`Cloud sync failed: ${errorMessage}`);
143
+ findings.push({
144
+ type: 'error',
145
+ title: 'Cloud sync failed',
146
+ description: errorMessage,
147
+ severity: 'high',
148
+ domain: 'learning-optimization',
149
+ });
150
+ return {
151
+ workerId: this.config.id,
152
+ success: false,
153
+ durationMs: Date.now() - startTime,
154
+ error: errorMessage,
155
+ findings,
156
+ recommendations,
157
+ metrics: createMetrics(0, 1, 0, Date.now() - startTime),
158
+ timestamp: new Date(),
159
+ };
160
+ }
161
+ }
162
+ /**
163
+ * Check if gcloud CLI is available
164
+ */
165
+ async checkGcloudAvailable() {
166
+ try {
167
+ const { execSync } = await import('child_process');
168
+ execSync('which gcloud', { stdio: 'ignore' });
169
+ return true;
170
+ }
171
+ catch {
172
+ return false;
173
+ }
174
+ }
175
+ }
176
+ export default CloudSyncWorker;
177
+ //# sourceMappingURL=cloud-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-sync.js","sourceRoot":"","sources":["../../../src/workers/workers/cloud-sync.ts"],"names":[],"mappings":"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"}
@@ -2,16 +2,17 @@
2
2
  * Agentic QE v3 - Worker Exports
3
3
  * ADR-014: Background Workers for QE Monitoring
4
4
  *
5
- * Exports all 10 QE-specific background workers.
5
+ * Exports all 11 QE-specific background workers.
6
6
  */
7
- export { TestHealthWorker } from './test-health';
8
- export { CoverageTrackerWorker } from './coverage-tracker';
9
- export { FlakyDetectorWorker } from './flaky-detector';
10
- export { SecurityScanWorker } from './security-scan';
11
- export { QualityGateWorker } from './quality-gate';
12
- export { LearningConsolidationWorker } from './learning-consolidation';
13
- export { DefectPredictorWorker } from './defect-predictor';
14
- export { RegressionMonitorWorker } from './regression-monitor';
15
- export { PerformanceBaselineWorker } from './performance-baseline';
16
- export { ComplianceCheckerWorker } from './compliance-checker';
7
+ export { TestHealthWorker } from './test-health.js';
8
+ export { CoverageTrackerWorker } from './coverage-tracker.js';
9
+ export { FlakyDetectorWorker } from './flaky-detector.js';
10
+ export { SecurityScanWorker } from './security-scan.js';
11
+ export { QualityGateWorker } from './quality-gate.js';
12
+ export { LearningConsolidationWorker } from './learning-consolidation.js';
13
+ export { DefectPredictorWorker } from './defect-predictor.js';
14
+ export { RegressionMonitorWorker } from './regression-monitor.js';
15
+ export { PerformanceBaselineWorker } from './performance-baseline.js';
16
+ export { ComplianceCheckerWorker } from './compliance-checker.js';
17
+ export { CloudSyncWorker } from './cloud-sync.js';
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workers/workers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workers/workers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
@@ -2,16 +2,17 @@
2
2
  * Agentic QE v3 - Worker Exports
3
3
  * ADR-014: Background Workers for QE Monitoring
4
4
  *
5
- * Exports all 10 QE-specific background workers.
5
+ * Exports all 11 QE-specific background workers.
6
6
  */
7
- export { TestHealthWorker } from './test-health';
8
- export { CoverageTrackerWorker } from './coverage-tracker';
9
- export { FlakyDetectorWorker } from './flaky-detector';
10
- export { SecurityScanWorker } from './security-scan';
11
- export { QualityGateWorker } from './quality-gate';
12
- export { LearningConsolidationWorker } from './learning-consolidation';
13
- export { DefectPredictorWorker } from './defect-predictor';
14
- export { RegressionMonitorWorker } from './regression-monitor';
15
- export { PerformanceBaselineWorker } from './performance-baseline';
16
- export { ComplianceCheckerWorker } from './compliance-checker';
7
+ export { TestHealthWorker } from './test-health.js';
8
+ export { CoverageTrackerWorker } from './coverage-tracker.js';
9
+ export { FlakyDetectorWorker } from './flaky-detector.js';
10
+ export { SecurityScanWorker } from './security-scan.js';
11
+ export { QualityGateWorker } from './quality-gate.js';
12
+ export { LearningConsolidationWorker } from './learning-consolidation.js';
13
+ export { DefectPredictorWorker } from './defect-predictor.js';
14
+ export { RegressionMonitorWorker } from './regression-monitor.js';
15
+ export { PerformanceBaselineWorker } from './performance-baseline.js';
16
+ export { ComplianceCheckerWorker } from './compliance-checker.js';
17
+ export { CloudSyncWorker } from './cloud-sync.js';
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workers/workers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workers/workers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
package/v3/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentic-qe/v3",
3
- "version": "3.4.2",
3
+ "version": "3.4.4",
4
4
  "description": "Agentic QE v3 - Domain-Driven Design Architecture with 12 Bounded Contexts, O(log n) coverage analysis, ReasoningBank learning, 51 specialized QE agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -64,12 +64,13 @@
64
64
  "mcp": "tsx src/mcp/entry.ts",
65
65
  "test": "vitest run",
66
66
  "test:unit": "vitest run tests/unit",
67
+ "test:ci": "vitest run --exclude='**/browser/**' --exclude='**/*.e2e.test.ts' --exclude='**/vibium/**' --exclude='**/integration/browser/**' --exclude='**/browser-swarm-coordinator.test.ts'",
67
68
  "test:e2e": "vitest run tests/integration/browser --testTimeout=120000",
68
69
  "test:safe": "NODE_OPTIONS='--max-old-space-size=1536' vitest run",
69
70
  "test:dev": "vitest run --exclude='**/browser/**' --exclude='**/*.e2e.test.ts' --exclude='**/vibium/**' --exclude='**/browser-swarm-coordinator.test.ts'",
70
- "test:regression": "vitest run",
71
+ "test:regression": "vitest run --exclude='**/browser/**' --exclude='**/*.e2e.test.ts' --exclude='**/integration/browser/**' --exclude='**/browser-swarm-coordinator.test.ts'",
71
72
  "test:watch": "vitest",
72
- "test:coverage": "vitest run --coverage",
73
+ "test:coverage": "vitest run --coverage --exclude='**/browser/**' --exclude='**/*.e2e.test.ts' --exclude='**/integration/browser/**' --exclude='**/browser-swarm-coordinator.test.ts'",
73
74
  "test:perf": "vitest bench tests/performance/",
74
75
  "performance:gate": "npx tsx src/performance/run-gates.ts",
75
76
  "test:integration:browser": "VIBIUM_REAL_TESTS=true vitest run tests/integrations/vibium/vibium-real.test.ts",
@@ -84,7 +85,10 @@
84
85
  "sync:cloud:status": "tsx src/cli/index.ts sync status",
85
86
  "sync:cloud:verify": "tsx src/cli/index.ts sync verify",
86
87
  "sync:cloud:init": "tsx src/cli/index.ts sync init --output ./src/sync/schema/cloud-schema.sql",
87
- "sync:cloud:config": "tsx src/cli/index.ts sync config --sources"
88
+ "sync:cloud:config": "tsx src/cli/index.ts sync config --sources",
89
+ "sync:embeddings": "tsx scripts/generate-embeddings.ts --verbose",
90
+ "sync:embeddings:force": "tsx scripts/generate-embeddings.ts --force --verbose",
91
+ "sync:embeddings:search": "tsx scripts/generate-embeddings.ts --search"
88
92
  },
89
93
  "keywords": [
90
94
  "agentic",