@helix-agent/core 0.3.0 → 0.4.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.
@@ -0,0 +1,82 @@
1
+ export declare const ERC20_ABI: readonly [{
2
+ readonly name: "approve";
3
+ readonly type: "function";
4
+ readonly stateMutability: "nonpayable";
5
+ readonly inputs: readonly [{
6
+ readonly name: "spender";
7
+ readonly type: "address";
8
+ }, {
9
+ readonly name: "amount";
10
+ readonly type: "uint256";
11
+ }];
12
+ readonly outputs: readonly [{
13
+ readonly name: "";
14
+ readonly type: "bool";
15
+ }];
16
+ }, {
17
+ readonly name: "balanceOf";
18
+ readonly type: "function";
19
+ readonly stateMutability: "view";
20
+ readonly inputs: readonly [{
21
+ readonly name: "account";
22
+ readonly type: "address";
23
+ }];
24
+ readonly outputs: readonly [{
25
+ readonly name: "";
26
+ readonly type: "uint256";
27
+ }];
28
+ }, {
29
+ readonly name: "allowance";
30
+ readonly type: "function";
31
+ readonly stateMutability: "view";
32
+ readonly inputs: readonly [{
33
+ readonly name: "owner";
34
+ readonly type: "address";
35
+ }, {
36
+ readonly name: "spender";
37
+ readonly type: "address";
38
+ }];
39
+ readonly outputs: readonly [{
40
+ readonly name: "";
41
+ readonly type: "uint256";
42
+ }];
43
+ }];
44
+ export declare const SWAP_ROUTER_ABI: readonly [{
45
+ readonly name: "exactInputSingle";
46
+ readonly type: "function";
47
+ readonly stateMutability: "payable";
48
+ readonly inputs: readonly [{
49
+ readonly name: "params";
50
+ readonly type: "tuple";
51
+ readonly components: readonly [{
52
+ readonly name: "tokenIn";
53
+ readonly type: "address";
54
+ }, {
55
+ readonly name: "tokenOut";
56
+ readonly type: "address";
57
+ }, {
58
+ readonly name: "fee";
59
+ readonly type: "uint24";
60
+ }, {
61
+ readonly name: "recipient";
62
+ readonly type: "address";
63
+ }, {
64
+ readonly name: "deadline";
65
+ readonly type: "uint256";
66
+ }, {
67
+ readonly name: "amountIn";
68
+ readonly type: "uint256";
69
+ }, {
70
+ readonly name: "amountOutMinimum";
71
+ readonly type: "uint256";
72
+ }, {
73
+ readonly name: "sqrtPriceLimitX96";
74
+ readonly type: "uint160";
75
+ }];
76
+ }];
77
+ readonly outputs: readonly [{
78
+ readonly name: "amountOut";
79
+ readonly type: "uint256";
80
+ }];
81
+ }];
82
+ //# sourceMappingURL=abi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../src/engine/abi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BZ,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBlB,CAAC"}
@@ -0,0 +1,54 @@
1
+ export const ERC20_ABI = [
2
+ {
3
+ name: 'approve',
4
+ type: 'function',
5
+ stateMutability: 'nonpayable',
6
+ inputs: [
7
+ { name: 'spender', type: 'address' },
8
+ { name: 'amount', type: 'uint256' },
9
+ ],
10
+ outputs: [{ name: '', type: 'bool' }],
11
+ },
12
+ {
13
+ name: 'balanceOf',
14
+ type: 'function',
15
+ stateMutability: 'view',
16
+ inputs: [{ name: 'account', type: 'address' }],
17
+ outputs: [{ name: '', type: 'uint256' }],
18
+ },
19
+ {
20
+ name: 'allowance',
21
+ type: 'function',
22
+ stateMutability: 'view',
23
+ inputs: [
24
+ { name: 'owner', type: 'address' },
25
+ { name: 'spender', type: 'address' },
26
+ ],
27
+ outputs: [{ name: '', type: 'uint256' }],
28
+ },
29
+ ];
30
+ export const SWAP_ROUTER_ABI = [
31
+ {
32
+ name: 'exactInputSingle',
33
+ type: 'function',
34
+ stateMutability: 'payable',
35
+ inputs: [
36
+ {
37
+ name: 'params',
38
+ type: 'tuple',
39
+ components: [
40
+ { name: 'tokenIn', type: 'address' },
41
+ { name: 'tokenOut', type: 'address' },
42
+ { name: 'fee', type: 'uint24' },
43
+ { name: 'recipient', type: 'address' },
44
+ { name: 'deadline', type: 'uint256' },
45
+ { name: 'amountIn', type: 'uint256' },
46
+ { name: 'amountOutMinimum', type: 'uint256' },
47
+ { name: 'sqrtPriceLimitX96', type: 'uint160' },
48
+ ],
49
+ },
50
+ ],
51
+ outputs: [{ name: 'amountOut', type: 'uint256' }],
52
+ },
53
+ ];
54
+ //# sourceMappingURL=abi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abi.js","sourceRoot":"","sources":["../../src/engine/abi.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,YAAY;QAC7B,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SACpC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KACtC;IACD;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACzC;IACD;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SACrC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACzC;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;QACE,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,SAAS;QAC1B,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;oBACtC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7C,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC/C;aACF;SACF;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAClD;CACO,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { DexConfig } from './types.js';
2
+ export declare const DEX_PRESETS: Record<string, DexConfig>;
3
+ export declare function getDexPreset(chainId: number): DexConfig | null;
4
+ //# sourceMappingURL=dex-presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dex-presets.d.ts","sourceRoot":"","sources":["../../src/engine/dex-presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAiCjD,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAO9D"}
@@ -0,0 +1,43 @@
1
+ export const DEX_PRESETS = {
2
+ 'base': {
3
+ routerAddress: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
4
+ quoterAddress: '0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a',
5
+ wethAddress: '0x4200000000000000000000000000000000000006',
6
+ defaultTokens: {
7
+ usdc: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
8
+ dai: '0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb',
9
+ },
10
+ defaultSlippage: 0.005,
11
+ defaultDeadlineSeconds: 300,
12
+ },
13
+ 'base-sepolia': {
14
+ routerAddress: '0x050E797f3625EC8785265e1d9BDd4799b97528A1',
15
+ wethAddress: '0x4200000000000000000000000000000000000006',
16
+ defaultTokens: {
17
+ usdc: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
18
+ },
19
+ defaultSlippage: 0.01,
20
+ defaultDeadlineSeconds: 600,
21
+ },
22
+ 'ethereum': {
23
+ routerAddress: '0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD',
24
+ quoterAddress: '0x61fFE014bA17989E743c5F6cB21bF9697530B21e',
25
+ wethAddress: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
26
+ defaultTokens: {
27
+ usdc: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
28
+ usdt: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
29
+ dai: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
30
+ },
31
+ defaultSlippage: 0.005,
32
+ defaultDeadlineSeconds: 300,
33
+ },
34
+ };
35
+ export function getDexPreset(chainId) {
36
+ switch (chainId) {
37
+ case 8453: return DEX_PRESETS['base'];
38
+ case 84532: return DEX_PRESETS['base-sepolia'];
39
+ case 1: return DEX_PRESETS['ethereum'];
40
+ default: return null;
41
+ }
42
+ }
43
+ //# sourceMappingURL=dex-presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dex-presets.js","sourceRoot":"","sources":["../../src/engine/dex-presets.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAA8B;IACpD,MAAM,EAAE;QACN,aAAa,EAAE,4CAA4C;QAC3D,aAAa,EAAE,4CAA4C;QAC3D,WAAW,EAAE,4CAA4C;QACzD,aAAa,EAAE;YACb,IAAI,EAAE,4CAA4C;YAClD,GAAG,EAAE,4CAA4C;SAClD;QACD,eAAe,EAAE,KAAK;QACtB,sBAAsB,EAAE,GAAG;KAC5B;IACD,cAAc,EAAE;QACd,aAAa,EAAE,4CAA4C;QAC3D,WAAW,EAAE,4CAA4C;QACzD,aAAa,EAAE;YACb,IAAI,EAAE,4CAA4C;SACnD;QACD,eAAe,EAAE,IAAI;QACrB,sBAAsB,EAAE,GAAG;KAC5B;IACD,UAAU,EAAE;QACV,aAAa,EAAE,4CAA4C;QAC3D,aAAa,EAAE,4CAA4C;QAC3D,WAAW,EAAE,4CAA4C;QACzD,aAAa,EAAE;YACb,IAAI,EAAE,4CAA4C;YAClD,IAAI,EAAE,4CAA4C;YAClD,GAAG,EAAE,4CAA4C;SAClD;QACD,eAAe,EAAE,KAAK;QACtB,sBAAsB,EAAE,GAAG;KAC5B;CACF,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,KAAK,KAAK,CAAC,CAAC,OAAO,WAAW,CAAC,cAAc,CAAC,CAAC;QAC/C,KAAK,CAAC,CAAC,CAAC,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { GeneMap } from './gene-map.js';
2
+ export declare function registerShutdownHandler(geneMap: GeneMap): void;
3
+ //# sourceMappingURL=lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/engine/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiB9D"}
@@ -0,0 +1,20 @@
1
+ let registered = false;
2
+ export function registerShutdownHandler(geneMap) {
3
+ if (registered)
4
+ return;
5
+ registered = true;
6
+ const shutdown = (signal) => {
7
+ console.error(`[helix] ${signal} received, flushing Gene Map...`);
8
+ try {
9
+ geneMap.close();
10
+ console.error('[helix] Gene Map flushed and closed.');
11
+ }
12
+ catch {
13
+ // already closed
14
+ }
15
+ process.exit(0);
16
+ };
17
+ process.on('SIGTERM', () => shutdown('SIGTERM'));
18
+ process.on('SIGINT', () => shutdown('SIGINT'));
19
+ }
20
+ //# sourceMappingURL=lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/engine/lifecycle.ts"],"names":[],"mappings":"AAEA,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,IAAI,UAAU;QAAE,OAAO;IACvB,UAAU,GAAG,IAAI,CAAC;IAElB,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE;QAClC,OAAO,CAAC,KAAK,CAAC,WAAW,MAAM,iCAAiC,CAAC,CAAC;QAClE,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,CAAC"}
@@ -13,7 +13,10 @@ export declare class PcecEngine {
13
13
  };
14
14
  private readonly MAX_CYCLES;
15
15
  private cycleCount;
16
+ /** D6: Systematic failure tracker — detect repeated identical failures */
17
+ private failureTracker;
16
18
  constructor(geneMap: GeneMap, agentId?: string, options?: WrapOptions);
19
+ private checkSystematic;
17
20
  registerAdapter(adapter: PlatformAdapter): void;
18
21
  /** D16: Negative pattern guard — prevent false positives from success messages */
19
22
  private shouldSkipPerceive;
@@ -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;gBAEX,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,MAAkB,EAAE,OAAO,CAAC,EAAE,WAAW;IAOhF,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;IAgOpF,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;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"}
@@ -35,12 +35,30 @@ export class PcecEngine {
35
35
  stats = { repairs: 0, savedRevenue: 0, immuneHits: 0 };
36
36
  MAX_CYCLES = 50;
37
37
  cycleCount = 0;
38
+ /** D6: Systematic failure tracker — detect repeated identical failures */
39
+ failureTracker = new Map();
38
40
  constructor(geneMap, agentId = 'default', options) {
39
41
  this.geneMap = geneMap;
40
42
  this.agentId = agentId;
41
43
  this.options = options ?? {};
42
44
  this.provider = new HelixProvider(options?.provider);
43
45
  }
46
+ checkSystematic(failure) {
47
+ const key = `${this.agentId}:${failure.code}:${failure.category}`;
48
+ const now = Date.now();
49
+ const oneHour = 60 * 60 * 1000;
50
+ const tracker = this.failureTracker.get(key);
51
+ if (!tracker || now - tracker.lastSeen > oneHour) {
52
+ this.failureTracker.set(key, { count: 1, firstSeen: now, lastSeen: now });
53
+ return null;
54
+ }
55
+ tracker.count++;
56
+ tracker.lastSeen = now;
57
+ if (tracker.count >= 5) {
58
+ return `SYSTEMATIC: ${failure.code}/${failure.category} triggered ${tracker.count}x in ${Math.round((now - tracker.firstSeen) / 60000)}min for agent '${this.agentId}'. Likely a code bug, not transient.`;
59
+ }
60
+ return null;
61
+ }
44
62
  registerAdapter(adapter) {
45
63
  this.adapters.push(adapter);
46
64
  }
@@ -117,6 +135,12 @@ export class PcecEngine {
117
135
  severity: failure.severity, platform: failure.platform,
118
136
  details: failure.details,
119
137
  });
138
+ // ── D6: Systematic failure detection ──
139
+ const systematicWarning = this.checkSystematic(failure);
140
+ if (systematicWarning) {
141
+ bus.emit('error', this.agentId, { reason: 'SYSTEMATIC', message: systematicWarning });
142
+ this.options.onSystematic?.(systematicWarning, failure);
143
+ }
120
144
  // ── GENE MAP LOOKUP (with Q-value ranking) ──
121
145
  const existingGene = this.geneMap.lookup(failure.code, failure.category);
122
146
  if (existingGene && existingGene.qValue > 0.3) {
@@ -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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"}
@@ -14,6 +14,7 @@ export declare class HelixProvider {
14
14
  canExecute(strategy: string): boolean;
15
15
  getAddress(): string | null;
16
16
  execute(strategy: string, failure: FailureClassification, context?: Record<string, unknown>): Promise<CommitResult>;
17
+ private _executeSwap;
17
18
  private _mock;
18
19
  }
19
20
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/engine/provider.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE7E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,OAAO,CAAwB;gBAE3B,MAAM,GAAE,mBAAwB;IAsB5C,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAyBrC,UAAU,IAAI,MAAM,GAAG,IAAI;IAIrB,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,YAAY,CAAC;YAgPV,KAAK;CAKpB"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/engine/provider.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAa,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAIxF,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,OAAO,CAAwB;gBAE3B,MAAM,GAAE,mBAAwB;IAsB5C,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAyBrC,UAAU,IAAI,MAAM,GAAG,IAAI;IAIrB,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,YAAY,CAAC;YAsQV,YAAY;YA+CZ,KAAK;CAKpB"}
@@ -1,5 +1,7 @@
1
1
  import { createPublicClient, createWalletClient, http, parseEther, parseGwei, formatEther, } from 'viem';
2
2
  import { privateKeyToAccount } from 'viem/accounts';
3
+ import { ERC20_ABI, SWAP_ROUTER_ABI } from './abi.js';
4
+ import { getDexPreset } from './dex-presets.js';
3
5
  function sleep(ms) {
4
6
  return new Promise(resolve => setTimeout(resolve, ms));
5
7
  }
@@ -267,17 +269,44 @@ export class HelixProvider {
267
269
  const hash = await this.walletClient.sendTransaction({ to: recipient, value: amt, account: this.account, chain: null });
268
270
  return { success: true, overrides: { topupTxHash: hash, topupAmount: formatEther(amt) }, description: `Topped up ${formatEther(amt)} ETH: ${hash.slice(0, 18)}...` };
269
271
  }
270
- // ═══════ DEX Operations (pending router integration) ═══════
272
+ // ═══════ DEX Operations (Uniswap V3 via viem) ═══════
271
273
  case 'swap_currency':
272
274
  case 'switch_stablecoin':
273
- case 'split_swap':
274
275
  case 'swap_to_usdc': {
275
- if (!this.walletClient) {
276
+ if (!this.walletClient || !this.account || !this.publicClient) {
276
277
  if (!this.hasExplicitConfig)
277
278
  return this._mock(strategy);
278
279
  return { success: false, overrides: {}, description: `No wallet for ${strategy}` };
279
280
  }
280
- return { success: true, overrides: { dexPending: true }, description: `[PENDING] ${strategy}: DEX integration needed` };
281
+ const dex = this.config.dex ?? getDexPreset(await this.publicClient.getChainId());
282
+ if (!dex)
283
+ return { success: false, overrides: {}, description: `No DEX config for this chain` };
284
+ return await this._executeSwap(dex, strategy, failure, context);
285
+ }
286
+ case 'split_swap': {
287
+ if (!this.walletClient || !this.account || !this.publicClient) {
288
+ if (!this.hasExplicitConfig)
289
+ return this._mock(strategy);
290
+ return { success: false, overrides: {}, description: 'No wallet for split_swap' };
291
+ }
292
+ const dex = this.config.dex ?? getDexPreset(await this.publicClient.getChainId());
293
+ if (!dex)
294
+ return { success: false, overrides: {}, description: 'No DEX config for this chain' };
295
+ const total = context?.amount ? BigInt(context.amount) : 0n;
296
+ const numChunks = Number(context?.chunks ?? 3);
297
+ if (total === 0n)
298
+ return { success: true, overrides: { splitRequired: true }, description: 'Flagged for split' };
299
+ const chunkSz = total / BigInt(numChunks);
300
+ const hashes = [];
301
+ for (let i = 0; i < numChunks; i++) {
302
+ const amt = i < numChunks - 1 ? chunkSz : total - chunkSz * BigInt(i);
303
+ const r = await this._executeSwap(dex, 'swap_currency', failure, { ...context, amount: amt.toString() });
304
+ if (!r.success)
305
+ return { success: false, overrides: { completedChunks: i, hashes }, description: `Split swap failed at chunk ${i + 1}/${numChunks}` };
306
+ if (r.overrides.txHash)
307
+ hashes.push(r.overrides.txHash);
308
+ }
309
+ return { success: true, overrides: { txHashes: hashes, chunks: numChunks }, description: `Split swap: ${numChunks} chunks` };
281
310
  }
282
311
  // ═══════ Default ═══════
283
312
  default:
@@ -288,6 +317,56 @@ export class HelixProvider {
288
317
  return { success: false, overrides: {}, description: `Execution error in '${strategy}': ${err.message}` };
289
318
  }
290
319
  }
320
+ async _executeSwap(dex, strategy, failure, context) {
321
+ if (!this.walletClient || !this.account || !this.publicClient) {
322
+ return { success: false, overrides: {}, description: 'No wallet client for swap' };
323
+ }
324
+ let tokenIn = context?.tokenIn;
325
+ let tokenOut = context?.tokenOut;
326
+ if ((strategy === 'swap_to_usdc' || strategy === 'switch_stablecoin') && !tokenOut)
327
+ tokenOut = dex.defaultTokens.usdc;
328
+ if (!tokenIn)
329
+ tokenIn = dex.wethAddress;
330
+ if (!tokenOut)
331
+ tokenOut = dex.defaultTokens.usdc;
332
+ if (!tokenIn || !tokenOut)
333
+ return { success: false, overrides: {}, description: 'Cannot determine token pair' };
334
+ const amount = context?.amount ? BigInt(context.amount) : 0n;
335
+ if (amount === 0n)
336
+ return { success: false, overrides: {}, description: 'Swap amount is 0' };
337
+ const deadline = BigInt(Math.floor(Date.now() / 1000) + dex.defaultDeadlineSeconds);
338
+ try {
339
+ const isNative = tokenIn.toLowerCase() === dex.wethAddress.toLowerCase();
340
+ if (!isNative) {
341
+ const allowance = await this.publicClient.readContract({
342
+ address: tokenIn, abi: ERC20_ABI, functionName: 'allowance',
343
+ args: [this.account.address, dex.routerAddress],
344
+ });
345
+ if (allowance < amount) {
346
+ const approveTx = await this.walletClient.writeContract({
347
+ address: tokenIn, abi: ERC20_ABI, functionName: 'approve',
348
+ args: [dex.routerAddress, amount * 2n],
349
+ account: this.account, chain: null,
350
+ });
351
+ await this.publicClient.waitForTransactionReceipt({ hash: approveTx });
352
+ }
353
+ }
354
+ const swapTx = await this.walletClient.writeContract({
355
+ address: dex.routerAddress, abi: SWAP_ROUTER_ABI, functionName: 'exactInputSingle',
356
+ args: [{ tokenIn, tokenOut, fee: 3000, recipient: this.account.address, deadline, amountIn: amount, amountOutMinimum: 0n, sqrtPriceLimitX96: 0n }],
357
+ value: isNative ? amount : 0n,
358
+ account: this.account, chain: null,
359
+ });
360
+ const receipt = await this.publicClient.waitForTransactionReceipt({ hash: swapTx });
361
+ if (receipt.status === 'success') {
362
+ return { success: true, overrides: { txHash: swapTx, tokenIn, tokenOut, amountIn: amount.toString(), block: receipt.blockNumber.toString() }, description: `Swap confirmed at block ${receipt.blockNumber}` };
363
+ }
364
+ return { success: false, overrides: { txHash: swapTx, reverted: true }, description: `Swap reverted` };
365
+ }
366
+ catch (err) {
367
+ return { success: false, overrides: {}, description: `Swap failed: ${err.message.slice(0, 200)}` };
368
+ }
369
+ }
291
370
  async _mock(strategy) {
292
371
  const jitter = Math.random() * 200;
293
372
  await sleep(Math.min(300 + jitter, 800));
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/engine/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/engine/provider.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,18 @@ export interface PlatformAdapter {
62
62
  perceive(error: Error, context?: Record<string, unknown>): FailureClassification | null;
63
63
  construct(failure: FailureClassification): RepairCandidate[];
64
64
  }
65
+ export interface DexConfig {
66
+ routerAddress: `0x${string}`;
67
+ quoterAddress?: `0x${string}`;
68
+ wethAddress: `0x${string}`;
69
+ defaultTokens: {
70
+ usdc?: `0x${string}`;
71
+ usdt?: `0x${string}`;
72
+ dai?: `0x${string}`;
73
+ };
74
+ defaultSlippage: number;
75
+ defaultDeadlineSeconds: number;
76
+ }
65
77
  export interface HelixProviderConfig {
66
78
  rpcUrl?: string;
67
79
  privateKey?: string;
@@ -74,6 +86,7 @@ export interface HelixProviderConfig {
74
86
  apiKeyName: string;
75
87
  apiKeyPrivateKey: string;
76
88
  };
89
+ dex?: DexConfig;
77
90
  }
78
91
  export type SseEventType = 'perceive' | 'construct' | 'evaluate' | 'commit' | 'verify' | 'gene' | 'immune' | 'error' | 'stats' | 'retry';
79
92
  export interface SseEvent {
@@ -111,6 +124,7 @@ export interface WrapOptions {
111
124
  onRepair?: (result: RepairResult) => void;
112
125
  onFailure?: (result: RepairResult) => void;
113
126
  onHelixError?: (error: Error) => void;
127
+ onSystematic?: (warning: string, failure: FailureClassification) => void;
114
128
  }
115
129
  export declare const REVENUE_AT_RISK: Record<string, number>;
116
130
  export declare const DEFAULT_CONFIG: HelixConfig;
@@ -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;AAoLpE,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;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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { wrap, createEngine, shutdown } from './engine/wrap.js';
2
- export type { FailureClassification, RepairCandidate, GeneCapsule, RepairResult, PlatformAdapter, ErrorCode, FailureCategory, Platform, Severity, SseEvent, SseEventType, HelixConfig, WrapOptions, HelixMode, HelixProviderConfig, } from './engine/types.js';
2
+ export type { FailureClassification, RepairCandidate, GeneCapsule, RepairResult, PlatformAdapter, ErrorCode, FailureCategory, Platform, Severity, SseEvent, SseEventType, HelixConfig, WrapOptions, HelixMode, HelixProviderConfig, DexConfig, } from './engine/types.js';
3
3
  export { REVENUE_AT_RISK, DEFAULT_CONFIG } from './engine/types.js';
4
4
  export { tempoAdapter, privyAdapter, coinbaseAdapter, genericAdapter, stripeAdapter, defaultAdapters } from './platforms/index.js';
5
5
  export { PcecEngine } from './engine/pcec.js';
@@ -7,4 +7,6 @@ export { GeneMap } from './engine/gene-map.js';
7
7
  export { EventBus, bus } from './engine/bus.js';
8
8
  export { evaluate } from './engine/evaluate.js';
9
9
  export { HelixProvider } from './engine/provider.js';
10
+ export { getDexPreset, DEX_PRESETS } from './engine/dex-presets.js';
11
+ export { registerShutdownHandler } from './engine/lifecycle.js';
10
12
  //# 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,GACpB,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"}
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"}
package/dist/index.js CHANGED
@@ -9,4 +9,6 @@ export { GeneMap } from './engine/gene-map.js';
9
9
  export { EventBus, bus } from './engine/bus.js';
10
10
  export { evaluate } from './engine/evaluate.js';
11
11
  export { HelixProvider } from './engine/provider.js';
12
+ export { getDexPreset, DEX_PRESETS } from './engine/dex-presets.js';
13
+ export { registerShutdownHandler } from './engine/lifecycle.js';
12
14
  //# 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;AAqBhE,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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helix-agent/core",
3
- "version": "0.3.0",
3
+ "version": "0.4.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",