@helix-agent/core 0.2.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.
- package/dist/engine/abi.d.ts +82 -0
- package/dist/engine/abi.d.ts.map +1 -0
- package/dist/engine/abi.js +54 -0
- package/dist/engine/abi.js.map +1 -0
- package/dist/engine/dex-presets.d.ts +4 -0
- package/dist/engine/dex-presets.d.ts.map +1 -0
- package/dist/engine/dex-presets.js +43 -0
- package/dist/engine/dex-presets.js.map +1 -0
- package/dist/engine/gene-map.js +1 -1
- package/dist/engine/gene-map.js.map +1 -1
- package/dist/engine/lifecycle.d.ts +3 -0
- package/dist/engine/lifecycle.d.ts.map +1 -0
- package/dist/engine/lifecycle.js +20 -0
- package/dist/engine/lifecycle.js.map +1 -0
- package/dist/engine/pcec.d.ts +3 -0
- package/dist/engine/pcec.d.ts.map +1 -1
- package/dist/engine/pcec.js +24 -0
- package/dist/engine/pcec.js.map +1 -1
- package/dist/engine/provider.d.ts +6 -1
- package/dist/engine/provider.d.ts.map +1 -1
- package/dist/engine/provider.js +349 -85
- package/dist/engine/provider.js.map +1 -1
- package/dist/engine/types.d.ts +14 -0
- package/dist/engine/types.d.ts.map +1 -1
- package/dist/engine/types.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
|
@@ -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 @@
|
|
|
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"}
|
package/dist/engine/gene-map.js
CHANGED
|
@@ -96,7 +96,7 @@ export class GeneMap {
|
|
|
96
96
|
failureCode: gene.failureCode,
|
|
97
97
|
category: gene.category,
|
|
98
98
|
strategy: gene.strategy,
|
|
99
|
-
params: JSON.stringify(gene.params),
|
|
99
|
+
params: JSON.stringify(gene.params, (_k, v) => typeof v === 'bigint' ? v.toString() : v),
|
|
100
100
|
successCount: gene.successCount,
|
|
101
101
|
avgRepairMs: gene.avgRepairMs,
|
|
102
102
|
platforms: JSON.stringify(gene.platforms),
|
|
@@ -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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"}
|
|
@@ -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"}
|
package/dist/engine/pcec.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/engine/pcec.js
CHANGED
|
@@ -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) {
|
package/dist/engine/pcec.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -7,9 +7,14 @@ export interface CommitResult {
|
|
|
7
7
|
export declare class HelixProvider {
|
|
8
8
|
private config;
|
|
9
9
|
private hasExplicitConfig;
|
|
10
|
+
private publicClient;
|
|
11
|
+
private walletClient;
|
|
12
|
+
private account;
|
|
10
13
|
constructor(config?: HelixProviderConfig);
|
|
11
14
|
canExecute(strategy: string): boolean;
|
|
12
|
-
|
|
15
|
+
getAddress(): string | null;
|
|
13
16
|
execute(strategy: string, failure: FailureClassification, context?: Record<string, unknown>): Promise<CommitResult>;
|
|
17
|
+
private _executeSwap;
|
|
18
|
+
private _mock;
|
|
14
19
|
}
|
|
15
20
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/engine/provider.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/engine/provider.js
CHANGED
|
@@ -1,112 +1,376 @@
|
|
|
1
|
+
import { createPublicClient, createWalletClient, http, parseEther, parseGwei, formatEther, } from 'viem';
|
|
2
|
+
import { privateKeyToAccount } from 'viem/accounts';
|
|
3
|
+
import { ERC20_ABI, SWAP_ROUTER_ABI } from './abi.js';
|
|
4
|
+
import { getDexPreset } from './dex-presets.js';
|
|
1
5
|
function sleep(ms) {
|
|
2
6
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
3
7
|
}
|
|
4
|
-
async function mockExec(strategy) {
|
|
5
|
-
const jitter = Math.random() * 200;
|
|
6
|
-
await sleep(Math.min(300 + jitter, 800));
|
|
7
|
-
return { success: true, overrides: {}, description: `[MOCK] Strategy '${strategy}' executed (real implementation pending)` };
|
|
8
|
-
}
|
|
9
8
|
export class HelixProvider {
|
|
10
9
|
config;
|
|
11
10
|
hasExplicitConfig;
|
|
11
|
+
publicClient = null;
|
|
12
|
+
walletClient = null;
|
|
13
|
+
account = null;
|
|
12
14
|
constructor(config = {}) {
|
|
13
15
|
this.config = config;
|
|
14
|
-
// If no rpcUrl and no privateKey given, we're in mock/dev mode — allow everything
|
|
15
16
|
this.hasExplicitConfig = !!(config.rpcUrl || config.privateKey || config.privy || config.coinbase);
|
|
17
|
+
if (config.rpcUrl) {
|
|
18
|
+
this.publicClient = createPublicClient({ transport: http(config.rpcUrl) });
|
|
19
|
+
}
|
|
20
|
+
if (config.privateKey) {
|
|
21
|
+
const key = config.privateKey.startsWith('0x')
|
|
22
|
+
? config.privateKey
|
|
23
|
+
: (`0x${config.privateKey}`);
|
|
24
|
+
this.account = privateKeyToAccount(key);
|
|
25
|
+
if (config.rpcUrl) {
|
|
26
|
+
this.walletClient = createWalletClient({
|
|
27
|
+
account: this.account,
|
|
28
|
+
transport: http(config.rpcUrl),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
16
32
|
}
|
|
17
33
|
canExecute(strategy) {
|
|
18
|
-
// In dev/mock mode (no explicit provider config), allow all strategies
|
|
19
34
|
if (!this.hasExplicitConfig)
|
|
20
|
-
return true;
|
|
21
|
-
const
|
|
35
|
+
return true; // mock/dev mode
|
|
36
|
+
const noProvider = [
|
|
22
37
|
'backoff_retry', 'retry', 'reduce_request', 'fix_params',
|
|
23
38
|
'switch_endpoint', 'retry_with_estimation', 'hold_and_notify',
|
|
24
|
-
'retry_with_receipt',
|
|
39
|
+
'retry_with_receipt', 'extend_deadline', 'use_unrestricted_wallet',
|
|
40
|
+
'remove_and_resubmit', 'renew_session', 'switch_service',
|
|
41
|
+
'refund_waterfall',
|
|
25
42
|
];
|
|
26
|
-
if (
|
|
43
|
+
if (noProvider.includes(strategy))
|
|
27
44
|
return true;
|
|
28
|
-
const
|
|
29
|
-
|
|
45
|
+
const rpcRead = ['refresh_nonce', 'switch_network', 'get_balance'];
|
|
46
|
+
if (rpcRead.includes(strategy))
|
|
47
|
+
return !!this.publicClient;
|
|
48
|
+
const chainWrite = [
|
|
49
|
+
'self_pay_gas', 'cancel_pending_txs', 'speed_up_transaction',
|
|
50
|
+
'split_transaction', 'topup_from_reserve', 'swap_currency',
|
|
51
|
+
'switch_stablecoin', 'split_swap',
|
|
30
52
|
];
|
|
31
|
-
if (
|
|
32
|
-
return !!this.
|
|
33
|
-
//
|
|
34
|
-
return !!this.config.privateKey;
|
|
53
|
+
if (chainWrite.includes(strategy))
|
|
54
|
+
return !!this.walletClient;
|
|
55
|
+
return true; // unknown strategy — allow (will mock)
|
|
35
56
|
}
|
|
36
|
-
|
|
37
|
-
return
|
|
57
|
+
getAddress() {
|
|
58
|
+
return this.account?.address ?? null;
|
|
38
59
|
}
|
|
39
60
|
async execute(strategy, failure, context) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
return { success:
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
|
|
61
|
+
try {
|
|
62
|
+
switch (strategy) {
|
|
63
|
+
// ═══════ Category A: No provider needed ═══════
|
|
64
|
+
case 'backoff_retry': {
|
|
65
|
+
const delay = context?.retryAfter ? Number(context.retryAfter) * 1000 : 2000;
|
|
66
|
+
await sleep(Math.min(delay, 5000));
|
|
67
|
+
return { success: true, overrides: {}, description: `Waited ${delay}ms before retry` };
|
|
68
|
+
}
|
|
69
|
+
case 'retry': {
|
|
70
|
+
await sleep(500);
|
|
71
|
+
return { success: true, overrides: {}, description: 'Simple retry after 500ms delay' };
|
|
72
|
+
}
|
|
73
|
+
case 'reduce_request': {
|
|
74
|
+
const available = context?.availableBalance ?? context?.balance ?? 0;
|
|
75
|
+
return { success: true, overrides: { amount: available }, description: `Reduced amount to available balance: ${available}` };
|
|
76
|
+
}
|
|
77
|
+
case 'fix_params': {
|
|
78
|
+
const overrides = {};
|
|
79
|
+
if (!context?.gasLimit)
|
|
80
|
+
overrides.gasLimit = 21000n;
|
|
81
|
+
if (!context?.chainId)
|
|
82
|
+
overrides.chainId = 1;
|
|
83
|
+
if (!context?.type)
|
|
84
|
+
overrides.type = 'eip1559';
|
|
85
|
+
if (!context?.maxFeePerGas)
|
|
86
|
+
overrides.maxFeePerGas = parseGwei('20');
|
|
87
|
+
if (!context?.maxPriorityFeePerGas)
|
|
88
|
+
overrides.maxPriorityFeePerGas = parseGwei('2');
|
|
89
|
+
return { success: true, overrides, description: `Auto-populated: ${Object.keys(overrides).join(', ')}` };
|
|
90
|
+
}
|
|
91
|
+
case 'retry_with_estimation': {
|
|
92
|
+
await sleep(300);
|
|
93
|
+
return { success: true, overrides: { autoEstimate: true }, description: 'Retry with auto-estimation' };
|
|
94
|
+
}
|
|
95
|
+
case 'switch_endpoint': {
|
|
96
|
+
const alt = context?.altEndpoint ?? context?.backupUrl;
|
|
97
|
+
if (alt)
|
|
98
|
+
return { success: true, overrides: { endpoint: alt }, description: `Switched to: ${alt}` };
|
|
99
|
+
return { success: false, overrides: {}, description: 'No alternative endpoint available' };
|
|
100
|
+
}
|
|
101
|
+
case 'hold_and_notify':
|
|
102
|
+
return { success: true, overrides: { paused: true }, description: 'Agent paused. Operator notified.' };
|
|
103
|
+
case 'extend_deadline': {
|
|
104
|
+
const d = Number(context?.deadline ?? 0) + 300;
|
|
105
|
+
return { success: true, overrides: { deadline: d }, description: `Extended deadline by 300s` };
|
|
106
|
+
}
|
|
107
|
+
case 'use_unrestricted_wallet': {
|
|
108
|
+
const w = context?.altWallet ?? context?.unrestricted_wallet;
|
|
109
|
+
return { success: true, overrides: w ? { wallet: w } : {}, description: w ? 'Switched to unrestricted wallet' : 'Flagged for unrestricted wallet' };
|
|
110
|
+
}
|
|
111
|
+
case 'remove_and_resubmit': {
|
|
112
|
+
const idx = context?.failedIndex ?? 0;
|
|
113
|
+
const sz = context?.batchSize ?? 1;
|
|
114
|
+
return { success: true, overrides: { excludeIndex: idx, newBatchSize: Number(sz) - 1 }, description: `Removed item #${idx}, resubmitting ${Number(sz) - 1} items` };
|
|
115
|
+
}
|
|
116
|
+
case 'renew_session': {
|
|
117
|
+
await sleep(300);
|
|
118
|
+
return { success: true, overrides: { sessionRenewed: true }, description: 'Session renewed' };
|
|
119
|
+
}
|
|
120
|
+
case 'switch_service':
|
|
121
|
+
return { success: true, overrides: { switchedService: true }, description: 'Switched to alt service provider' };
|
|
122
|
+
case 'refund_waterfall': {
|
|
123
|
+
const step = context?.failedStep ?? 'unknown';
|
|
124
|
+
const done = context?.completedSteps ?? [];
|
|
125
|
+
return { success: true, overrides: { refundRequired: true, failedStep: step, completedSteps: done }, description: `Cascade failure at '${step}'. ${done.length} steps flagged for refund.` };
|
|
126
|
+
}
|
|
127
|
+
// ═══════ Category B: Real RPC reads (needs rpcUrl) ═══════
|
|
128
|
+
case 'refresh_nonce': {
|
|
129
|
+
if (!this.publicClient) {
|
|
130
|
+
if (!this.hasExplicitConfig)
|
|
131
|
+
return this._mock(strategy);
|
|
132
|
+
return { success: false, overrides: {}, description: 'No RPC URL — cannot refresh nonce' };
|
|
133
|
+
}
|
|
134
|
+
const addr = (context?.walletAddress ?? context?.from ?? this.account?.address);
|
|
135
|
+
if (!addr)
|
|
136
|
+
return { success: false, overrides: {}, description: 'No wallet address for nonce lookup' };
|
|
137
|
+
const nonce = await this.publicClient.getTransactionCount({ address: addr });
|
|
138
|
+
return { success: true, overrides: { nonce }, description: `Refreshed nonce from chain: ${nonce} for ${addr.slice(0, 10)}...` };
|
|
139
|
+
}
|
|
140
|
+
case 'switch_network': {
|
|
141
|
+
if (!this.publicClient) {
|
|
142
|
+
if (!this.hasExplicitConfig)
|
|
143
|
+
return this._mock(strategy);
|
|
144
|
+
return { success: false, overrides: {}, description: 'No RPC URL — cannot switch network' };
|
|
145
|
+
}
|
|
146
|
+
const targetRpc = context?.targetRpcUrl;
|
|
147
|
+
if (targetRpc) {
|
|
148
|
+
this.publicClient = createPublicClient({ transport: http(targetRpc) });
|
|
149
|
+
if (this.walletClient && this.account) {
|
|
150
|
+
this.walletClient = createWalletClient({ account: this.account, transport: http(targetRpc) });
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
const cid = await this.publicClient.getChainId();
|
|
154
|
+
return { success: true, overrides: { chainId: context?.targetChainId ?? cid }, description: `Switched to chain ${cid}` };
|
|
155
|
+
}
|
|
156
|
+
case 'get_balance': {
|
|
157
|
+
if (!this.publicClient) {
|
|
158
|
+
if (!this.hasExplicitConfig)
|
|
159
|
+
return this._mock(strategy);
|
|
160
|
+
return { success: false, overrides: {}, description: 'No RPC URL — cannot check balance' };
|
|
161
|
+
}
|
|
162
|
+
const a = (context?.walletAddress ?? context?.from ?? this.account?.address);
|
|
163
|
+
if (!a)
|
|
164
|
+
return { success: false, overrides: {}, description: 'No address for balance check' };
|
|
165
|
+
const bal = await this.publicClient.getBalance({ address: a });
|
|
166
|
+
return { success: true, overrides: { balance: formatEther(bal), balanceWei: bal.toString() }, description: `Balance: ${formatEther(bal)} ETH for ${a.slice(0, 10)}...` };
|
|
167
|
+
}
|
|
168
|
+
case 'retry_with_receipt': {
|
|
169
|
+
if (!this.publicClient) {
|
|
170
|
+
await sleep(1000);
|
|
171
|
+
return { success: true, overrides: {}, description: 'Retry (no RPC for receipt)' };
|
|
172
|
+
}
|
|
173
|
+
const txHash = context?.txHash;
|
|
174
|
+
if (txHash) {
|
|
175
|
+
try {
|
|
176
|
+
const receipt = await this.publicClient.waitForTransactionReceipt({ hash: txHash, timeout: 30_000 });
|
|
177
|
+
return {
|
|
178
|
+
success: receipt.status === 'success',
|
|
179
|
+
overrides: { receipt: { status: receipt.status, block: receipt.blockNumber.toString() } },
|
|
180
|
+
description: `Receipt: ${receipt.status} at block ${receipt.blockNumber}`,
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
return { success: false, overrides: {}, description: 'Receipt wait timed out' };
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
await sleep(1000);
|
|
188
|
+
return { success: true, overrides: {}, description: 'Retry with delay (no receipt to verify)' };
|
|
189
|
+
}
|
|
190
|
+
// ═══════ Category C: Real chain writes (needs privateKey) ═══════
|
|
191
|
+
case 'self_pay_gas': {
|
|
192
|
+
if (!this.walletClient || !this.account) {
|
|
193
|
+
if (!this.hasExplicitConfig)
|
|
194
|
+
return this._mock(strategy);
|
|
195
|
+
return { success: false, overrides: {}, description: 'No private key — cannot pay gas' };
|
|
196
|
+
}
|
|
197
|
+
const to = context?.to;
|
|
198
|
+
if (!to)
|
|
199
|
+
return { success: true, overrides: { sponsor: false }, description: 'Flagged: retry without gas sponsor' };
|
|
200
|
+
const value = context?.value ? BigInt(context.value) : 0n;
|
|
201
|
+
const data = context?.data;
|
|
202
|
+
const hash = await this.walletClient.sendTransaction({ to, value, data, account: this.account, chain: null });
|
|
203
|
+
return { success: true, overrides: { txHash: hash, sponsor: false }, description: `Self-paid gas tx: ${hash.slice(0, 18)}...` };
|
|
204
|
+
}
|
|
205
|
+
case 'cancel_pending_txs': {
|
|
206
|
+
if (!this.walletClient || !this.account || !this.publicClient) {
|
|
207
|
+
if (!this.hasExplicitConfig)
|
|
208
|
+
return this._mock(strategy);
|
|
209
|
+
return { success: false, overrides: {}, description: 'No wallet — cannot cancel' };
|
|
210
|
+
}
|
|
211
|
+
const n = context?.nonce ? Number(context.nonce) : await this.publicClient.getTransactionCount({ address: this.account.address });
|
|
212
|
+
const hash = await this.walletClient.sendTransaction({
|
|
213
|
+
to: this.account.address, value: 0n, nonce: n,
|
|
214
|
+
maxFeePerGas: parseGwei('50'), maxPriorityFeePerGas: parseGwei('10'),
|
|
215
|
+
account: this.account, chain: null,
|
|
216
|
+
});
|
|
217
|
+
return { success: true, overrides: { cancelTxHash: hash, cancelledNonce: n }, description: `Cancelled nonce ${n}: ${hash.slice(0, 18)}...` };
|
|
218
|
+
}
|
|
219
|
+
case 'speed_up_transaction': {
|
|
220
|
+
if (!this.walletClient || !this.account || !this.publicClient) {
|
|
221
|
+
if (!this.hasExplicitConfig)
|
|
222
|
+
return this._mock(strategy);
|
|
223
|
+
return { success: false, overrides: {}, description: 'No wallet — cannot speed up' };
|
|
224
|
+
}
|
|
225
|
+
const to = context?.to;
|
|
226
|
+
const nonce = context?.nonce !== undefined ? Number(context.nonce) : undefined;
|
|
227
|
+
if (!to || nonce === undefined)
|
|
228
|
+
return { success: false, overrides: {}, description: 'Missing to/nonce for speed up' };
|
|
229
|
+
const gasPrice = await this.publicClient.getGasPrice();
|
|
230
|
+
const bumped = (gasPrice * 130n) / 100n;
|
|
231
|
+
const value = context?.value ? BigInt(context.value) : 0n;
|
|
232
|
+
const hash = await this.walletClient.sendTransaction({
|
|
233
|
+
to, value, nonce, maxFeePerGas: bumped, maxPriorityFeePerGas: bumped / 10n,
|
|
234
|
+
account: this.account, chain: null,
|
|
235
|
+
});
|
|
236
|
+
return { success: true, overrides: { speedUpTxHash: hash, gasBumped: true }, description: `Speed-up tx with 30% gas bump: ${hash.slice(0, 18)}...` };
|
|
237
|
+
}
|
|
238
|
+
case 'split_transaction': {
|
|
239
|
+
if (!this.walletClient || !this.account || !this.publicClient) {
|
|
240
|
+
if (!this.hasExplicitConfig)
|
|
241
|
+
return this._mock(strategy);
|
|
242
|
+
return { success: false, overrides: {}, description: 'No wallet — cannot split' };
|
|
243
|
+
}
|
|
244
|
+
const total = context?.amount ? BigInt(context.amount) : 0n;
|
|
245
|
+
const limit = context?.limit ? BigInt(context.limit) : parseEther('100');
|
|
246
|
+
const to = context?.to;
|
|
247
|
+
if (!to || total === 0n)
|
|
248
|
+
return { success: true, overrides: { splitRequired: true }, description: 'Flagged for split' };
|
|
249
|
+
const chunks = Number((total + limit - 1n) / limit);
|
|
250
|
+
const hashes = [];
|
|
251
|
+
for (let i = 0; i < chunks; i++) {
|
|
252
|
+
const amt = i < chunks - 1 ? limit : total - limit * BigInt(i);
|
|
253
|
+
const n = await this.publicClient.getTransactionCount({ address: this.account.address });
|
|
254
|
+
const h = await this.walletClient.sendTransaction({ to, value: amt, nonce: n, account: this.account, chain: null });
|
|
255
|
+
hashes.push(h);
|
|
256
|
+
}
|
|
257
|
+
return { success: true, overrides: { txHashes: hashes, chunks }, description: `Split into ${chunks} txs` };
|
|
258
|
+
}
|
|
259
|
+
case 'topup_from_reserve': {
|
|
260
|
+
if (!this.walletClient || !this.account) {
|
|
261
|
+
if (!this.hasExplicitConfig)
|
|
262
|
+
return this._mock(strategy);
|
|
263
|
+
return { success: false, overrides: {}, description: 'No wallet — cannot topup' };
|
|
264
|
+
}
|
|
265
|
+
const recipient = (context?.walletAddress ?? context?.to);
|
|
266
|
+
const amt = context?.topupAmount ? BigInt(context.topupAmount) : parseEther('0.01');
|
|
267
|
+
if (!recipient)
|
|
268
|
+
return { success: true, overrides: { topupNeeded: true }, description: 'Flagged for topup (no recipient)' };
|
|
269
|
+
const hash = await this.walletClient.sendTransaction({ to: recipient, value: amt, account: this.account, chain: null });
|
|
270
|
+
return { success: true, overrides: { topupTxHash: hash, topupAmount: formatEther(amt) }, description: `Topped up ${formatEther(amt)} ETH: ${hash.slice(0, 18)}...` };
|
|
271
|
+
}
|
|
272
|
+
// ═══════ DEX Operations (Uniswap V3 via viem) ═══════
|
|
273
|
+
case 'swap_currency':
|
|
274
|
+
case 'switch_stablecoin':
|
|
275
|
+
case 'swap_to_usdc': {
|
|
276
|
+
if (!this.walletClient || !this.account || !this.publicClient) {
|
|
277
|
+
if (!this.hasExplicitConfig)
|
|
278
|
+
return this._mock(strategy);
|
|
279
|
+
return { success: false, overrides: {}, description: `No wallet for ${strategy}` };
|
|
280
|
+
}
|
|
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` };
|
|
310
|
+
}
|
|
311
|
+
// ═══════ Default ═══════
|
|
312
|
+
default:
|
|
313
|
+
return this._mock(strategy);
|
|
92
314
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
315
|
+
}
|
|
316
|
+
catch (err) {
|
|
317
|
+
return { success: false, overrides: {}, description: `Execution error in '${strategy}': ${err.message}` };
|
|
318
|
+
}
|
|
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
|
+
}
|
|
101
353
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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}` };
|
|
105
363
|
}
|
|
106
|
-
|
|
107
|
-
default:
|
|
108
|
-
return this.mockExecute(strategy);
|
|
364
|
+
return { success: false, overrides: { txHash: swapTx, reverted: true }, description: `Swap reverted` };
|
|
109
365
|
}
|
|
366
|
+
catch (err) {
|
|
367
|
+
return { success: false, overrides: {}, description: `Swap failed: ${err.message.slice(0, 200)}` };
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
async _mock(strategy) {
|
|
371
|
+
const jitter = Math.random() * 200;
|
|
372
|
+
await sleep(Math.min(300 + jitter, 800));
|
|
373
|
+
return { success: true, overrides: {}, description: `[MOCK] '${strategy}' (real implementation pending)` };
|
|
110
374
|
}
|
|
111
375
|
}
|
|
112
376
|
//# sourceMappingURL=provider.js.map
|
|
@@ -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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"}
|
package/dist/engine/types.d.ts
CHANGED
|
@@ -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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"}
|
package/dist/engine/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"AAAA,oEAAoE;
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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;
|
|
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
|
+
"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",
|
|
@@ -48,7 +48,8 @@
|
|
|
48
48
|
"url": "https://github.com/adrianhihi/helix/issues"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"better-sqlite3": "^11.0.0"
|
|
51
|
+
"better-sqlite3": "^11.0.0",
|
|
52
|
+
"viem": "^2.47.5"
|
|
52
53
|
},
|
|
53
54
|
"devDependencies": {
|
|
54
55
|
"@types/better-sqlite3": "^7.6.0",
|