@helix-agent/core 0.4.0 → 0.5.0

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.
@@ -6,13 +6,17 @@ export declare class GeneMap {
6
6
  private stmtList;
7
7
  private stmtCount;
8
8
  private stmtUpdatePlatforms;
9
+ private cache;
10
+ private cacheLoadedAt;
11
+ private readonly CACHE_TTL_MS;
9
12
  constructor(dbPath?: string);
13
+ private cacheKey;
14
+ private warmCache;
15
+ private isCacheStale;
10
16
  lookup(code: ErrorCode, category: FailureCategory): GeneCapsule | null;
11
17
  addPlatform(code: ErrorCode, category: FailureCategory, platform: Platform): void;
12
18
  store(gene: GeneCapsule): void;
13
- /** RL update after successful repair */
14
19
  recordSuccess(code: string, category: string, repairMs: number): void;
15
- /** RL update after failed repair */
16
20
  recordFailure(code: string, category: string): void;
17
21
  list(): GeneCapsule[];
18
22
  immuneCount(): number;
@@ -26,6 +30,26 @@ export declare class GeneMap {
26
30
  count: number;
27
31
  }[];
28
32
  };
33
+ seed(): {
34
+ seeded: number;
35
+ };
36
+ combine(): {
37
+ merged: number;
38
+ };
39
+ gc(): {
40
+ merged: number;
41
+ pruned: number;
42
+ archived: number;
43
+ };
44
+ generateRepairId(): string;
45
+ checkRepairInProgress(code: string, category: string): {
46
+ inProgress: boolean;
47
+ repairId?: string;
48
+ txHash?: string;
49
+ };
50
+ logRepairStart(repairId: string, code: string, category: string, strategy: string): void;
51
+ logRepairComplete(repairId: string, txHash?: string): void;
52
+ logRepairFailed(repairId: string): void;
29
53
  close(): void;
30
54
  }
31
55
  //# sourceMappingURL=gene-map.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gene-map.d.ts","sourceRoot":"","sources":["../../src/engine/gene-map.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAyCpF,qBAAa,OAAO;IAClB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,mBAAmB,CAAqB;gBAEpC,MAAM,GAAE,MAAmB;IA8BvC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI;IActE,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAUjF,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAc9B,wCAAwC;IACxC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAkBrE,oCAAoC;IACpC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAgBnD,IAAI,IAAI,WAAW,EAAE;IAIrB,WAAW,IAAI,MAAM;IAIrB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAQ7D,KAAK,IAAI;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE;IAmB7H,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"gene-map.d.ts","sourceRoot":"","sources":["../../src/engine/gene-map.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAsDpF,qBAAa,OAAO;IAClB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,mBAAmB,CAAqB;IAGhD,OAAO,CAAC,KAAK,CAAmD;IAChE,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;gBAE3B,MAAM,GAAE,MAAmB;IA2BvC,OAAO,CAAC,QAAQ;IAEhB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,YAAY;IAIpB,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI;IAsBtE,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAWjF,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAW9B,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQrE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQnD,IAAI,IAAI,WAAW,EAAE;IACrB,WAAW,IAAI,MAAM;IAErB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAM7D,KAAK;;;;;sBAKyM,MAAM;mBAA4B,MAAM;;;IAKtP,IAAI,IAAI;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAgB1B,OAAO,IAAI;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAkB7B,EAAE,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAU1D,gBAAgB,IAAI,MAAM;IAE1B,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAQlH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIxF,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI1D,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIvC,KAAK,IAAI,IAAI;CACd"}
@@ -1,4 +1,5 @@
1
1
  import Database from 'better-sqlite3';
2
+ import { SEED_GENES } from './seed-genes.js';
2
3
  const SCHEMA = `
3
4
  CREATE TABLE IF NOT EXISTS genes (
4
5
  id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -17,6 +18,18 @@ CREATE TABLE IF NOT EXISTS genes (
17
18
  last_used_at TEXT NOT NULL DEFAULT (datetime('now')),
18
19
  UNIQUE(failure_code, category)
19
20
  );
21
+
22
+ CREATE TABLE IF NOT EXISTS repair_log (
23
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
24
+ repair_id TEXT UNIQUE NOT NULL,
25
+ failure_code TEXT NOT NULL,
26
+ category TEXT NOT NULL,
27
+ strategy TEXT NOT NULL,
28
+ status TEXT NOT NULL DEFAULT 'pending',
29
+ tx_hash TEXT,
30
+ created_at DATETIME DEFAULT (datetime('now')),
31
+ completed_at DATETIME
32
+ );
20
33
  `;
21
34
  function parseRow(row) {
22
35
  return {
@@ -43,42 +56,61 @@ export class GeneMap {
43
56
  stmtList;
44
57
  stmtCount;
45
58
  stmtUpdatePlatforms;
59
+ // L1 in-memory cache (OPT-9)
60
+ cache = new Map();
61
+ cacheLoadedAt = 0;
62
+ CACHE_TTL_MS = 30_000;
46
63
  constructor(dbPath = ':memory:') {
47
64
  this.db = new Database(dbPath);
48
65
  this.db.pragma('journal_mode = WAL');
49
66
  this.db.exec(SCHEMA);
50
- this.stmtLookup = this.db.prepare(`
51
- SELECT * FROM genes WHERE failure_code = ? AND category = ? ORDER BY q_value DESC LIMIT 1
52
- `);
67
+ this.stmtLookup = this.db.prepare(`SELECT * FROM genes WHERE failure_code = ? AND category = ? ORDER BY q_value DESC LIMIT 1`);
53
68
  this.stmtUpsert = this.db.prepare(`
54
69
  INSERT INTO genes (failure_code, category, strategy, params, success_count, avg_repair_ms, platforms, q_value, consecutive_failures)
55
70
  VALUES (@failureCode, @category, @strategy, @params, @successCount, @avgRepairMs, @platforms, @qValue, @consecutiveFailures)
56
71
  ON CONFLICT(failure_code, category) DO UPDATE SET
57
- strategy = @strategy,
58
- params = @params,
72
+ strategy = @strategy, params = @params,
59
73
  success_count = success_count + 1,
60
74
  avg_repair_ms = (avg_repair_ms * success_count + @avgRepairMs) / (success_count + 1),
61
- platforms = @platforms,
62
- q_value = @qValue,
63
- consecutive_failures = @consecutiveFailures,
75
+ platforms = @platforms, q_value = @qValue, consecutive_failures = @consecutiveFailures,
64
76
  last_used_at = datetime('now')
65
77
  `);
66
78
  this.stmtList = this.db.prepare(`SELECT * FROM genes ORDER BY q_value DESC, success_count DESC`);
67
79
  this.stmtCount = this.db.prepare(`SELECT COUNT(*) as count FROM genes`);
68
- this.stmtUpdatePlatforms = this.db.prepare(`
69
- UPDATE genes SET platforms = ?, last_used_at = datetime('now') WHERE failure_code = ? AND category = ?
70
- `);
80
+ this.stmtUpdatePlatforms = this.db.prepare(`UPDATE genes SET platforms = ?, last_used_at = datetime('now') WHERE failure_code = ? AND category = ?`);
81
+ // Seed on first run + warm cache
82
+ this.seed();
83
+ this.warmCache();
84
+ }
85
+ // ── L1 Cache (OPT-9) ──
86
+ cacheKey(code, category) { return `${code}:${category}`; }
87
+ warmCache() {
88
+ this.cache.clear();
89
+ for (const row of this.db.prepare('SELECT * FROM genes').all()) {
90
+ this.cache.set(this.cacheKey(row.failure_code, row.category), row);
91
+ }
92
+ this.cacheLoadedAt = Date.now();
71
93
  }
94
+ isCacheStale() { return Date.now() - this.cacheLoadedAt > this.CACHE_TTL_MS; }
95
+ // ── Core CRUD ──
72
96
  lookup(code, category) {
97
+ const key = this.cacheKey(code, category);
98
+ // L1 cache hit
99
+ if (!this.isCacheStale() && this.cache.has(key)) {
100
+ const cached = this.cache.get(key);
101
+ this.db.prepare(`UPDATE genes SET last_used_at = datetime('now'), success_count = success_count + 1 WHERE failure_code = ? AND category = ?`).run(code, category);
102
+ const gene = parseRow(cached);
103
+ gene.successCount += 1;
104
+ return gene;
105
+ }
106
+ // L2: SQLite
73
107
  const row = this.stmtLookup.get(code, category);
74
108
  if (!row)
75
109
  return null;
76
- this.db.prepare(`
77
- UPDATE genes SET last_used_at = datetime('now'), success_count = success_count + 1
78
- WHERE failure_code = ? AND category = ?
79
- `).run(code, category);
110
+ this.db.prepare(`UPDATE genes SET last_used_at = datetime('now'), success_count = success_count + 1 WHERE failure_code = ? AND category = ?`).run(code, category);
111
+ this.cache.set(key, row);
80
112
  const gene = parseRow(row);
81
- gene.successCount += 1; // reflect the bump we just did
113
+ gene.successCount += 1;
82
114
  return gene;
83
115
  }
84
116
  addPlatform(code, category, platform) {
@@ -89,92 +121,127 @@ export class GeneMap {
89
121
  if (!platforms.includes(platform)) {
90
122
  platforms.push(platform);
91
123
  this.stmtUpdatePlatforms.run(JSON.stringify(platforms), code, category);
124
+ this.cache.delete(this.cacheKey(code, category)); // invalidate
92
125
  }
93
126
  }
94
127
  store(gene) {
95
128
  this.stmtUpsert.run({
96
- failureCode: gene.failureCode,
97
- category: gene.category,
98
- strategy: gene.strategy,
129
+ failureCode: gene.failureCode, category: gene.category, strategy: gene.strategy,
99
130
  params: JSON.stringify(gene.params, (_k, v) => typeof v === 'bigint' ? v.toString() : v),
100
- successCount: gene.successCount,
101
- avgRepairMs: gene.avgRepairMs,
131
+ successCount: gene.successCount, avgRepairMs: gene.avgRepairMs,
102
132
  platforms: JSON.stringify(gene.platforms),
103
- qValue: gene.qValue ?? 0.5,
104
- consecutiveFailures: gene.consecutiveFailures ?? 0,
133
+ qValue: gene.qValue ?? 0.5, consecutiveFailures: gene.consecutiveFailures ?? 0,
105
134
  });
135
+ this.cache.delete(this.cacheKey(gene.failureCode, gene.category)); // invalidate
106
136
  }
107
- /** RL update after successful repair */
108
137
  recordSuccess(code, category, repairMs) {
109
138
  const row = this.stmtLookup.get(code, category);
110
139
  if (!row)
111
140
  return;
112
- const alpha = 0.1;
113
- const oldQ = row.q_value;
114
- const newQ = oldQ + alpha * (1.0 - oldQ);
115
- this.db.prepare(`
116
- UPDATE genes SET
117
- q_value = ?,
118
- avg_repair_ms = (avg_repair_ms * success_count + ?) / (success_count + 1),
119
- success_count = success_count + 1,
120
- last_success_at = ?,
121
- consecutive_failures = 0,
122
- last_used_at = datetime('now')
123
- WHERE failure_code = ? AND category = ?
124
- `).run(newQ, repairMs, Date.now(), code, category);
141
+ const newQ = row.q_value + 0.1 * (1.0 - row.q_value);
142
+ this.db.prepare(`UPDATE genes SET q_value = ?, avg_repair_ms = (avg_repair_ms * success_count + ?) / (success_count + 1), success_count = success_count + 1, last_success_at = ?, consecutive_failures = 0, last_used_at = datetime('now') WHERE failure_code = ? AND category = ?`).run(newQ, repairMs, Date.now(), code, category);
143
+ this.cache.delete(this.cacheKey(code, category));
125
144
  }
126
- /** RL update after failed repair */
127
145
  recordFailure(code, category) {
128
146
  const row = this.stmtLookup.get(code, category);
129
147
  if (!row)
130
148
  return;
131
- const alpha = 0.1;
132
- const oldQ = row.q_value;
133
- const newQ = oldQ + alpha * (0.0 - oldQ);
134
- this.db.prepare(`
135
- UPDATE genes SET
136
- q_value = ?,
137
- last_failed_at = ?,
138
- consecutive_failures = consecutive_failures + 1,
139
- last_used_at = datetime('now')
140
- WHERE failure_code = ? AND category = ?
141
- `).run(newQ, Date.now(), code, category);
142
- }
143
- list() {
144
- return this.stmtList.all().map(parseRow);
145
- }
146
- immuneCount() {
147
- return this.stmtCount.get().count;
149
+ const newQ = row.q_value + 0.1 * (0.0 - row.q_value);
150
+ this.db.prepare(`UPDATE genes SET q_value = ?, last_failed_at = ?, consecutive_failures = consecutive_failures + 1, last_used_at = datetime('now') WHERE failure_code = ? AND category = ?`).run(newQ, Date.now(), code, category);
151
+ this.cache.delete(this.cacheKey(code, category));
148
152
  }
153
+ list() { return this.stmtList.all().map(parseRow); }
154
+ immuneCount() { return this.stmtCount.get().count; }
149
155
  getSuccessRate(failureCode, strategy) {
150
- const row = this.db.prepare(`
151
- SELECT success_count, q_value FROM genes WHERE failure_code = ? AND strategy = ?
152
- `).get(failureCode, strategy);
156
+ const row = this.db.prepare(`SELECT success_count, q_value FROM genes WHERE failure_code = ? AND strategy = ?`).get(failureCode, strategy);
153
157
  if (!row || row.success_count < 3)
154
158
  return 0.5;
155
159
  return Math.min(0.5 + (row.success_count / 100), 0.95);
156
160
  }
157
161
  stats() {
158
162
  const rows = this.stmtList.all();
159
- const allPlatforms = new Set();
163
+ const allP = new Set();
160
164
  let qSum = 0;
161
165
  for (const r of rows) {
162
166
  qSum += r.q_value;
163
167
  for (const p of JSON.parse(r.platforms))
164
- allPlatforms.add(p);
168
+ allP.add(p);
169
+ }
170
+ return { totalGenes: rows.length, avgQValue: rows.length > 0 ? Math.round((qSum / rows.length) * 100) / 100 : 0, platforms: [...allP], topStrategies: rows.slice(0, 10).map(r => ({ strategy: r.strategy, count: r.success_count })) };
171
+ }
172
+ // ── Seed (D9: Cold Start) ──
173
+ seed() {
174
+ const cnt = this.db.prepare('SELECT COUNT(*) as cnt FROM genes').get().cnt;
175
+ if (cnt > 0)
176
+ return { seeded: 0 };
177
+ let seeded = 0;
178
+ const ins = this.db.prepare(`INSERT OR IGNORE INTO genes (failure_code, category, strategy, params, success_count, avg_repair_ms, platforms, q_value, consecutive_failures) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`);
179
+ this.db.transaction(() => {
180
+ for (const g of SEED_GENES) {
181
+ ins.run(g.failureCode, g.category, g.strategy, JSON.stringify(g.params), g.successCount, g.avgRepairMs, JSON.stringify(g.platforms), g.qValue, g.consecutiveFailures);
182
+ seeded++;
183
+ }
184
+ })();
185
+ return { seeded };
186
+ }
187
+ // ── Gene Combine (OPT-3: ELL paper) ──
188
+ combine() {
189
+ let merged = 0;
190
+ const groups = this.db.prepare(`SELECT failure_code, category, COUNT(*) as cnt FROM genes GROUP BY failure_code, category HAVING cnt > 1`).all();
191
+ for (const g of groups) {
192
+ const genes = this.db.prepare(`SELECT * FROM genes WHERE failure_code = ? AND category = ? ORDER BY q_value DESC`).all(g.failure_code, g.category);
193
+ if (genes.length <= 1)
194
+ continue;
195
+ const best = genes[0];
196
+ const allP = new Set();
197
+ let totalSC = 0;
198
+ let weightedMs = 0;
199
+ for (const gn of genes) {
200
+ totalSC += gn.success_count;
201
+ weightedMs += gn.avg_repair_ms * gn.success_count;
202
+ for (const p of JSON.parse(gn.platforms))
203
+ allP.add(p);
204
+ }
205
+ const maxQ = Math.max(...genes.map(gn => gn.q_value));
206
+ this.db.prepare(`UPDATE genes SET platforms = ?, success_count = ?, avg_repair_ms = ?, q_value = ?, last_used_at = datetime('now') WHERE id = ?`).run(JSON.stringify([...allP]), totalSC, weightedMs / Math.max(totalSC, 1), maxQ, best.id);
207
+ for (const gn of genes.slice(1)) {
208
+ this.db.prepare('DELETE FROM genes WHERE id = ?').run(gn.id);
209
+ merged++;
210
+ }
165
211
  }
166
- return {
167
- totalGenes: rows.length,
168
- avgQValue: rows.length > 0 ? Math.round((qSum / rows.length) * 100) / 100 : 0,
169
- platforms: [...allPlatforms],
170
- topStrategies: rows.slice(0, 10).map(r => ({
171
- strategy: r.strategy,
172
- count: r.success_count,
173
- })),
174
- };
175
- }
176
- close() {
177
- this.db.close();
212
+ if (merged > 0)
213
+ this.warmCache();
214
+ return { merged };
215
+ }
216
+ gc() {
217
+ const { merged } = this.combine();
218
+ const pruned = this.db.prepare(`DELETE FROM genes WHERE q_value < 0.1 AND consecutive_failures >= 3`).run().changes;
219
+ const archived = this.db.prepare(`SELECT COUNT(*) as cnt FROM genes WHERE last_used_at < datetime('now', '-180 days')`).get().cnt;
220
+ if (pruned > 0)
221
+ this.warmCache();
222
+ return { merged, pruned, archived };
223
+ }
224
+ // ── Idempotency (D5) ──
225
+ generateRepairId() { return `repair_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`; }
226
+ checkRepairInProgress(code, category) {
227
+ const r = this.db.prepare(`SELECT repair_id, status, tx_hash FROM repair_log WHERE failure_code = ? AND category = ? AND status IN ('pending', 'completed') AND created_at > datetime('now', '-5 minutes') ORDER BY created_at DESC LIMIT 1`).get(code, category);
228
+ if (!r)
229
+ return { inProgress: false };
230
+ if (r.status === 'pending')
231
+ return { inProgress: true, repairId: r.repair_id };
232
+ if (r.status === 'completed' && r.tx_hash)
233
+ return { inProgress: true, repairId: r.repair_id, txHash: r.tx_hash };
234
+ return { inProgress: false };
235
+ }
236
+ logRepairStart(repairId, code, category, strategy) {
237
+ this.db.prepare(`INSERT OR IGNORE INTO repair_log (repair_id, failure_code, category, strategy, status) VALUES (?, ?, ?, ?, 'pending')`).run(repairId, code, category, strategy);
238
+ }
239
+ logRepairComplete(repairId, txHash) {
240
+ this.db.prepare(`UPDATE repair_log SET status = 'completed', tx_hash = ?, completed_at = datetime('now') WHERE repair_id = ?`).run(txHash ?? null, repairId);
241
+ }
242
+ logRepairFailed(repairId) {
243
+ this.db.prepare(`UPDATE repair_log SET status = 'failed', completed_at = datetime('now') WHERE repair_id = ?`).run(repairId);
178
244
  }
245
+ close() { this.db.close(); }
179
246
  }
180
247
  //# sourceMappingURL=gene-map.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gene-map.js","sourceRoot":"","sources":["../../src/engine/gene-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gene-map.js","sourceRoot":"","sources":["../../src/engine/gene-map.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pcec.d.ts","sourceRoot":"","sources":["../../src/engine/pcec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,EAEV,WAAW,EAEX,eAAe,EAEf,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AA6BpB,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,OAAO,CAAc;IACtB,KAAK;;;;MAAkD;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAM;IACjC,OAAO,CAAC,UAAU,CAAK;IACvB,0EAA0E;IAC1E,OAAO,CAAC,cAAc,CAAkF;gBAE5F,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,MAAkB,EAAE,OAAO,CAAC,EAAE,WAAW;IAOhF,OAAO,CAAC,eAAe;IAiBvB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI/C,kFAAkF;IAClF,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,mBAAmB;YAWb,MAAM;IAyBd,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAuOpF,QAAQ;;;;;;;IAQR,UAAU,IAAI,OAAO;CAGtB"}
1
+ {"version":3,"file":"pcec.d.ts","sourceRoot":"","sources":["../../src/engine/pcec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,EAEV,WAAW,EAEX,eAAe,EAEf,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AA8BpB,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,OAAO,CAAc;IACtB,KAAK;;;;MAAkD;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAM;IACjC,OAAO,CAAC,UAAU,CAAK;IACvB,0EAA0E;IAC1E,OAAO,CAAC,cAAc,CAAkF;gBAE5F,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,MAAkB,EAAE,OAAO,CAAC,EAAE,WAAW;IAOhF,OAAO,CAAC,eAAe;IAiBvB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI/C,kFAAkF;IAClF,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,QAAQ;IAsBhB,OAAO,CAAC,mBAAmB;YAWb,MAAM;IAyBd,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IA4PpF,QAAQ;;;;;;;IAQR,UAAU,IAAI,OAAO;CAGtB"}
@@ -2,6 +2,7 @@ import { bus } from './bus.js';
2
2
  import { evaluate } from './evaluate.js';
3
3
  import { HelixProvider } from './provider.js';
4
4
  import { REVENUE_AT_RISK } from './types.js';
5
+ import { getRootCause } from './root-causes.js';
5
6
  // Category C strategies that move funds — require 'full' mode
6
7
  const FUND_MOVEMENT_STRATEGIES = [
7
8
  'swap_currency', 'split_transaction', 'topup_from_reserve',
@@ -81,8 +82,12 @@ export class PcecEngine {
81
82
  }
82
83
  for (const adapter of this.adapters) {
83
84
  const result = adapter.perceive(error, context);
84
- if (result)
85
+ if (result) {
86
+ const rc = getRootCause(result.code, result.category);
87
+ if (rc)
88
+ result.rootCauseHint = rc.hint;
85
89
  return result;
90
+ }
86
91
  }
87
92
  return {
88
93
  code: 'unknown', category: 'unknown', severity: 'medium',
@@ -240,9 +245,13 @@ export class PcecEngine {
240
245
  winner: winner.strategy, score: winner.score, platform: winner.platform,
241
246
  allScores: scored.map(c => ({ strategy: c.strategy, score: c.score })),
242
247
  });
243
- // ── BUILD EXPLANATION ──
248
+ // ── BUILD EXPLANATION (with root cause hints OPT-7) ──
249
+ const rootCause = getRootCause(failure.code, failure.category);
244
250
  const explanation = [
245
251
  `Perceived: ${failure.code} → ${failure.category} [${failure.severity}] (${failure.platform})`,
252
+ rootCause ? `Root cause: ${rootCause.likelyCause}` : '',
253
+ rootCause ? `Suggested: ${rootCause.suggestedAction}` : '',
254
+ rootCause?.isLikelySystematic ? '⚠️ Likely systematic — check configuration.' : '',
246
255
  `Candidates: ${scored.map(c => `${c.strategy}(${c.score})`).join(', ')}`,
247
256
  `Selected: ${winner.strategy} (score: ${winner.score})`,
248
257
  skippedStrategies.length > 0 ? `Skipped: ${skippedStrategies.join(', ')}` : '',
@@ -263,7 +272,19 @@ export class PcecEngine {
263
272
  costEstimate: winner.estimatedCostUsd, skippedStrategies,
264
273
  });
265
274
  }
275
+ // ── IDEMPOTENCY CHECK (D5) ──
276
+ const inProgress = this.geneMap.checkRepairInProgress(failure.code, failure.category);
277
+ if (inProgress.inProgress) {
278
+ return makeResult({
279
+ success: !!inProgress.txHash, mode, failure, candidates: scored, winner,
280
+ explanation: explanation + `\nIdempotency: repair already ${inProgress.txHash ? 'completed' : 'in progress'} (${inProgress.repairId})`,
281
+ verified: !!inProgress.txHash,
282
+ costEstimate: winner.estimatedCostUsd, skippedStrategies,
283
+ });
284
+ }
266
285
  // ── COMMIT ──
286
+ const repairId = this.geneMap.generateRepairId();
287
+ this.geneMap.logRepairStart(repairId, failure.code, failure.category, winner.strategy);
267
288
  const commitResult = await this.provider.execute(winner.strategy, failure, context);
268
289
  const totalMs = Date.now() - start;
269
290
  const revenue = REVENUE_AT_RISK[failure.category] ?? 50;
@@ -278,6 +299,8 @@ export class PcecEngine {
278
299
  this.stats.repairs++;
279
300
  this.stats.savedRevenue += revenue;
280
301
  this.cycleCount = 0;
302
+ const txHash = commitResult.overrides.txHash;
303
+ this.geneMap.logRepairComplete(repairId, txHash);
281
304
  const gene = {
282
305
  failureCode: failure.code, category: failure.category,
283
306
  strategy: winner.strategy, params: commitResult.overrides,
@@ -305,6 +328,7 @@ export class PcecEngine {
305
328
  });
306
329
  }
307
330
  // Verify failed
331
+ this.geneMap.logRepairFailed(repairId);
308
332
  if (existingGene) {
309
333
  this.geneMap.recordFailure(failure.code, failure.category);
310
334
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pcec.js","sourceRoot":"","sources":["../../src/engine/pcec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pcec.js","sourceRoot":"","sources":["../../src/engine/pcec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface RootCause {
2
+ hint: string;
3
+ likelyCause: string;
4
+ suggestedAction: string;
5
+ isLikelySystematic: boolean;
6
+ }
7
+ export declare function getRootCause(code: string, category: string): RootCause | null;
8
+ //# sourceMappingURL=root-causes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-causes.d.ts","sourceRoot":"","sources":["../../src/engine/root-causes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAkBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAE7E"}
@@ -0,0 +1,19 @@
1
+ const ROOT_CAUSE_MAP = {
2
+ 'verification-failed:signature': { hint: 'concurrent_wallet_access', likelyCause: 'Multiple agents sharing one wallet cause nonce conflicts', suggestedAction: 'Use separate wallets per agent, or enable Helix nonce manager', isLikelySystematic: true },
3
+ 'payment-insufficient:balance': { hint: 'underfunded_wallet', likelyCause: 'Wallet balance too low for transaction + gas', suggestedAction: 'Top up wallet or reduce transaction amount', isLikelySystematic: false },
4
+ 'token-uninitialized:network': { hint: 'wrong_chain_config', likelyCause: 'Agent configured for wrong chain (testnet vs mainnet, or wrong L2)', suggestedAction: 'Check chainId and RPC URL configuration', isLikelySystematic: true },
5
+ 'rate-limited:auth': { hint: 'api_quota_exceeded', likelyCause: 'Too many requests to API endpoint', suggestedAction: 'Implement request queuing or upgrade API tier', isLikelySystematic: false },
6
+ 'policy-violation:policy': { hint: 'spending_limit_config', likelyCause: 'Transaction exceeds configured spending limit or allowlist', suggestedAction: 'Adjust policy limits in dashboard or split transaction', isLikelySystematic: true },
7
+ 'server-error:service': { hint: 'upstream_outage', likelyCause: 'Upstream service is down or experiencing issues', suggestedAction: 'Retry with backoff, or switch to backup endpoint', isLikelySystematic: false },
8
+ 'payment-required:service': { hint: 'payment_not_confirmed', likelyCause: 'Payment was sent but service did not receive confirmation', suggestedAction: 'Check on-chain receipt and retry with proof', isLikelySystematic: false },
9
+ 'timeout:service': { hint: 'network_congestion', likelyCause: 'Network congestion or RPC node overloaded', suggestedAction: 'Increase timeout, switch RPC endpoint, or retry later', isLikelySystematic: false },
10
+ 'tip-403:compliance': { hint: 'token_compliance_block', likelyCause: 'Token or address blocked by compliance rules', suggestedAction: 'Switch to a different stablecoin or verify address compliance', isLikelySystematic: true },
11
+ 'malformed-credential:service': { hint: 'bad_tx_encoding', likelyCause: 'Transaction parameters malformed or missing required fields', suggestedAction: 'Check transaction encoding and populate all required fields', isLikelySystematic: true },
12
+ 'swap-reverted:dex': { hint: 'dex_liquidity_or_slippage', likelyCause: 'Insufficient DEX liquidity or slippage exceeded tolerance', suggestedAction: 'Split swap into smaller amounts or increase slippage tolerance', isLikelySystematic: false },
13
+ 'cascade-failure:cascade': { hint: 'multi_agent_dependency_chain', likelyCause: 'One agent in a chain failed, causing downstream agents to fail', suggestedAction: 'Check upstream agent status, refund completed steps', isLikelySystematic: false },
14
+ 'tx-reverted:batch': { hint: 'userop_validation_failed', likelyCause: 'UserOperation validation or execution reverted on-chain', suggestedAction: 'Check calldata, gas limits, and paymaster configuration', isLikelySystematic: false },
15
+ };
16
+ export function getRootCause(code, category) {
17
+ return ROOT_CAUSE_MAP[`${code}:${category}`] ?? null;
18
+ }
19
+ //# sourceMappingURL=root-causes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-causes.js","sourceRoot":"","sources":["../../src/engine/root-causes.ts"],"names":[],"mappings":"AAOA,MAAM,cAAc,GAA8B;IAChD,+BAA+B,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,0DAA0D,EAAE,eAAe,EAAE,+DAA+D,EAAE,kBAAkB,EAAE,IAAI,EAAE;IAC1P,8BAA8B,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,8CAA8C,EAAE,eAAe,EAAE,4CAA4C,EAAE,kBAAkB,EAAE,KAAK,EAAE;IACrN,6BAA6B,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,oEAAoE,EAAE,eAAe,EAAE,yCAAyC,EAAE,kBAAkB,EAAE,IAAI,EAAE;IACtO,mBAAmB,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,mCAAmC,EAAE,eAAe,EAAE,+CAA+C,EAAE,kBAAkB,EAAE,KAAK,EAAE;IAClM,yBAAyB,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,4DAA4D,EAAE,eAAe,EAAE,wDAAwD,EAAE,kBAAkB,EAAE,IAAI,EAAE;IAC5O,sBAAsB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,iDAAiD,EAAE,eAAe,EAAE,kDAAkD,EAAE,kBAAkB,EAAE,KAAK,EAAE;IACnN,0BAA0B,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,2DAA2D,EAAE,eAAe,EAAE,6CAA6C,EAAE,kBAAkB,EAAE,KAAK,EAAE;IAClO,iBAAiB,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,2CAA2C,EAAE,eAAe,EAAE,uDAAuD,EAAE,kBAAkB,EAAE,KAAK,EAAE;IAChN,oBAAoB,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,WAAW,EAAE,8CAA8C,EAAE,eAAe,EAAE,+DAA+D,EAAE,kBAAkB,EAAE,IAAI,EAAE;IACjO,8BAA8B,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,6DAA6D,EAAE,eAAe,EAAE,6DAA6D,EAAE,kBAAkB,EAAE,IAAI,EAAE;IACjP,mBAAmB,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,WAAW,EAAE,2DAA2D,EAAE,eAAe,EAAE,gEAAgE,EAAE,kBAAkB,EAAE,KAAK,EAAE;IAClP,yBAAyB,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,WAAW,EAAE,gEAAgE,EAAE,eAAe,EAAE,qDAAqD,EAAE,kBAAkB,EAAE,KAAK,EAAE;IACrP,mBAAmB,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,yDAAyD,EAAE,eAAe,EAAE,yDAAyD,EAAE,kBAAkB,EAAE,KAAK,EAAE;CACzO,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,QAAgB;IACzD,OAAO,cAAc,CAAC,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC;AACvD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { GeneCapsule } from './types.js';
2
+ export declare const SEED_GENES: Omit<GeneCapsule, 'id'>[];
3
+ //# sourceMappingURL=seed-genes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-genes.d.ts","sourceRoot":"","sources":["../../src/engine/seed-genes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAa/C,CAAC"}
@@ -0,0 +1,15 @@
1
+ export const SEED_GENES = [
2
+ { failureCode: 'verification-failed', category: 'signature', strategy: 'refresh_nonce', params: {}, successCount: 10, avgRepairMs: 180, platforms: ['tempo', 'privy', 'coinbase'], qValue: 0.85, consecutiveFailures: 0 },
3
+ { failureCode: 'payment-insufficient', category: 'balance', strategy: 'reduce_request', params: {}, successCount: 8, avgRepairMs: 45, platforms: ['tempo', 'privy', 'coinbase'], qValue: 0.82, consecutiveFailures: 0 },
4
+ { failureCode: 'rate-limited', category: 'auth', strategy: 'backoff_retry', params: { defaultDelayMs: 2000 }, successCount: 15, avgRepairMs: 2100, platforms: ['generic', 'coinbase'], qValue: 0.88, consecutiveFailures: 0 },
5
+ { failureCode: 'token-uninitialized', category: 'network', strategy: 'switch_network', params: {}, successCount: 6, avgRepairMs: 210, platforms: ['tempo', 'privy', 'coinbase'], qValue: 0.80, consecutiveFailures: 0 },
6
+ { failureCode: 'server-error', category: 'service', strategy: 'retry_with_receipt', params: {}, successCount: 12, avgRepairMs: 1500, platforms: ['generic', 'coinbase', 'tempo'], qValue: 0.78, consecutiveFailures: 0 },
7
+ { failureCode: 'timeout', category: 'service', strategy: 'backoff_retry', params: { defaultDelayMs: 3000 }, successCount: 10, avgRepairMs: 3200, platforms: ['generic', 'coinbase'], qValue: 0.75, consecutiveFailures: 0 },
8
+ { failureCode: 'policy-violation', category: 'policy', strategy: 'split_transaction', params: {}, successCount: 5, avgRepairMs: 520, platforms: ['privy', 'coinbase'], qValue: 0.76, consecutiveFailures: 0 },
9
+ { failureCode: 'invalid-challenge', category: 'session', strategy: 'renew_session', params: {}, successCount: 7, avgRepairMs: 150, platforms: ['tempo'], qValue: 0.82, consecutiveFailures: 0 },
10
+ { failureCode: 'malformed-credential', category: 'service', strategy: 'fix_params', params: {}, successCount: 6, avgRepairMs: 50, platforms: ['privy', 'coinbase'], qValue: 0.80, consecutiveFailures: 0 },
11
+ { failureCode: 'tip-403', category: 'compliance', strategy: 'switch_stablecoin', params: {}, successCount: 4, avgRepairMs: 800, platforms: ['tempo'], qValue: 0.72, consecutiveFailures: 0 },
12
+ { failureCode: 'swap-reverted', category: 'dex', strategy: 'split_swap', params: { defaultChunks: 3 }, successCount: 3, avgRepairMs: 3500, platforms: ['tempo'], qValue: 0.68, consecutiveFailures: 0 },
13
+ { failureCode: 'tx-reverted', category: 'batch', strategy: 'remove_and_resubmit', params: {}, successCount: 4, avgRepairMs: 450, platforms: ['tempo', 'coinbase'], qValue: 0.74, consecutiveFailures: 0 },
14
+ ];
15
+ //# sourceMappingURL=seed-genes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-genes.js","sourceRoot":"","sources":["../../src/engine/seed-genes.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export interface FailureClassification {
10
10
  platform: Platform;
11
11
  details: string;
12
12
  timestamp: number;
13
+ rootCauseHint?: string;
13
14
  actualBalance?: number;
14
15
  requiredAmount?: number;
15
16
  chainId?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"AAAA,oEAAoE;AA+LpE,mEAAmE;AAEnE,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;IACxD,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG;IACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;IACtD,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;CACtB,CAAC;AAEF,mEAAmE;AAEnE,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,4CAA4C;IAC3D,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IACpC,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,KAAK;IAChB,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,kBAAkB;CAChC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAgMpE,mEAAmE;AAEnE,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;IACxD,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG;IACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;IACtD,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;CACtB,CAAC;AAEF,mEAAmE;AAEnE,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,4CAA4C;IAC3D,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IACpC,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,KAAK;IAChB,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,kBAAkB;CAChC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -9,4 +9,7 @@ export { evaluate } from './engine/evaluate.js';
9
9
  export { HelixProvider } from './engine/provider.js';
10
10
  export { getDexPreset, DEX_PRESETS } from './engine/dex-presets.js';
11
11
  export { registerShutdownHandler } from './engine/lifecycle.js';
12
+ export { getRootCause } from './engine/root-causes.js';
13
+ export type { RootCause } from './engine/root-causes.js';
14
+ export { SEED_GENES } from './engine/seed-genes.js';
12
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGhE,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGnI,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGhE,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGnI,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -11,4 +11,6 @@ export { evaluate } from './engine/evaluate.js';
11
11
  export { HelixProvider } from './engine/provider.js';
12
12
  export { getDexPreset, DEX_PRESETS } from './engine/dex-presets.js';
13
13
  export { registerShutdownHandler } from './engine/lifecycle.js';
14
+ export { getRootCause } from './engine/root-causes.js';
15
+ export { SEED_GENES } from './engine/seed-genes.js';
14
16
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAsBhE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEpE,+CAA+C;AAC/C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEnI,8CAA8C;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAsBhE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEpE,+CAA+C;AAC/C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEnI,8CAA8C;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helix-agent/core",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Self-healing infrastructure for AI agent payments. Auto-repairs payment failures across Tempo, Privy, Stripe, and any HTTP service.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",