flow-evm-agentkit 0.1.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.
Files changed (64) hide show
  1. package/.cache/replit/env/latest +59 -0
  2. package/.cache/replit/env/latest.json +1 -0
  3. package/.cache/replit/modules/nodejs-20.res +1 -0
  4. package/.cache/replit/modules/replit-rtld-loader.res +1 -0
  5. package/.cache/replit/modules/replit.res +1 -0
  6. package/.cache/replit/modules.stamp +0 -0
  7. package/.cache/replit/nix/dotreplitenv.json +1 -0
  8. package/.cache/replit/toolchain.json +1 -0
  9. package/.env.example +25 -0
  10. package/LICENSE +22 -0
  11. package/README.md +421 -0
  12. package/dist/cli/scaffold.d.ts +8 -0
  13. package/dist/cli/scaffold.d.ts.map +1 -0
  14. package/dist/cli/scaffold.js +369 -0
  15. package/dist/cli/scaffold.js.map +1 -0
  16. package/dist/config/index.d.ts +7 -0
  17. package/dist/config/index.d.ts.map +1 -0
  18. package/dist/config/index.js +42 -0
  19. package/dist/config/index.js.map +1 -0
  20. package/dist/core/agent.d.ts +38 -0
  21. package/dist/core/agent.d.ts.map +1 -0
  22. package/dist/core/agent.js +255 -0
  23. package/dist/core/agent.js.map +1 -0
  24. package/dist/examples/agent-server.d.ts +2 -0
  25. package/dist/examples/agent-server.d.ts.map +1 -0
  26. package/dist/examples/agent-server.js +212 -0
  27. package/dist/examples/agent-server.js.map +1 -0
  28. package/dist/examples/trading-agent.d.ts +2 -0
  29. package/dist/examples/trading-agent.d.ts.map +1 -0
  30. package/dist/examples/trading-agent.js +95 -0
  31. package/dist/examples/trading-agent.js.map +1 -0
  32. package/dist/examples/tx-echo-agent.d.ts +2 -0
  33. package/dist/examples/tx-echo-agent.d.ts.map +1 -0
  34. package/dist/examples/tx-echo-agent.js +67 -0
  35. package/dist/examples/tx-echo-agent.js.map +1 -0
  36. package/dist/index.d.ts +13 -0
  37. package/dist/index.d.ts.map +1 -0
  38. package/dist/index.js +42 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/logger/index.d.ts +8 -0
  41. package/dist/logger/index.d.ts.map +1 -0
  42. package/dist/logger/index.js +49 -0
  43. package/dist/logger/index.js.map +1 -0
  44. package/dist/modules/executor.d.ts +21 -0
  45. package/dist/modules/executor.d.ts.map +1 -0
  46. package/dist/modules/executor.js +205 -0
  47. package/dist/modules/executor.js.map +1 -0
  48. package/dist/modules/knowledge.d.ts +19 -0
  49. package/dist/modules/knowledge.d.ts.map +1 -0
  50. package/dist/modules/knowledge.js +208 -0
  51. package/dist/modules/knowledge.js.map +1 -0
  52. package/dist/modules/observer.d.ts +26 -0
  53. package/dist/modules/observer.d.ts.map +1 -0
  54. package/dist/modules/observer.js +184 -0
  55. package/dist/modules/observer.js.map +1 -0
  56. package/dist/modules/planner.d.ts +15 -0
  57. package/dist/modules/planner.d.ts.map +1 -0
  58. package/dist/modules/planner.js +179 -0
  59. package/dist/modules/planner.js.map +1 -0
  60. package/dist/types/index.d.ts +67 -0
  61. package/dist/types/index.d.ts.map +1 -0
  62. package/dist/types/index.js +3 -0
  63. package/dist/types/index.js.map +1 -0
  64. package/package.json +67 -0
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const agent_1 = require("../core/agent");
4
+ const config_1 = require("../config");
5
+ const logger_1 = require("../logger");
6
+ async function main() {
7
+ console.log('🤖 Starting Flow EVM Transaction Echo Agent...');
8
+ try {
9
+ // Load configuration
10
+ const config = config_1.Config.load();
11
+ // Initialize logger
12
+ const logger = logger_1.Logger.initialize(config);
13
+ // Create agent
14
+ const agent = new agent_1.Agent(config);
15
+ // Add goal to echo all transactions
16
+ agent.addGoal('Monitor and log all transactions on Flow EVM');
17
+ // Set up event handlers
18
+ agent.on('event', (event) => {
19
+ if (event.type === 'transaction') {
20
+ const tx = event.data.transaction;
21
+ logger.info(`📡 Transaction detected:`, {
22
+ hash: tx.hash,
23
+ from: tx.from,
24
+ to: tx.to,
25
+ value: tx.value?.toString(),
26
+ gasPrice: tx.gasPrice?.toString(),
27
+ blockNumber: event.data.block.number?.toString()
28
+ });
29
+ console.log(`
30
+ 🔄 NEW TRANSACTION
31
+ Hash: ${tx.hash}
32
+ From: ${tx.from}
33
+ To: ${tx.to || 'Contract Creation'}
34
+ Value: ${tx.value ? (Number(tx.value) / 1e18).toFixed(4) : '0'} FLOW
35
+ Gas Price: ${tx.gasPrice ? (Number(tx.gasPrice) / 1e9).toFixed(2) : '0'} Gwei
36
+ Block: ${event.data.block.number}
37
+ `);
38
+ }
39
+ });
40
+ agent.on('started', () => {
41
+ console.log('✅ Agent started successfully!');
42
+ console.log(`👤 Agent address: ${agent.getStatus().address}`);
43
+ console.log('🔍 Monitoring Flow EVM for transactions...');
44
+ console.log('Press Ctrl+C to stop');
45
+ });
46
+ // Graceful shutdown
47
+ process.on('SIGINT', async () => {
48
+ console.log('\n🛑 Shutting down agent...');
49
+ await agent.stop();
50
+ process.exit(0);
51
+ });
52
+ process.on('SIGTERM', async () => {
53
+ await agent.stop();
54
+ process.exit(0);
55
+ });
56
+ // Start the agent
57
+ await agent.start();
58
+ }
59
+ catch (error) {
60
+ console.error('❌ Failed to start agent:', error);
61
+ process.exit(1);
62
+ }
63
+ }
64
+ if (require.main === module) {
65
+ main().catch(console.error);
66
+ }
67
+ //# sourceMappingURL=tx-echo-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx-echo-agent.js","sourceRoot":"","sources":["../../src/examples/tx-echo-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Agent } from './core/agent';
2
+ export { Agent } from './core/agent';
3
+ export { Observer } from './modules/observer';
4
+ export { Executor } from './modules/executor';
5
+ export { Planner } from './modules/planner';
6
+ export { Knowledge } from './modules/knowledge';
7
+ export { Config } from './config';
8
+ export { Logger } from './logger';
9
+ export * from './types';
10
+ export type { Address, Hash, TransactionReceipt, Block, Log } from 'viem';
11
+ export declare const VERSION = "0.1.0";
12
+ export default Agent;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAG1E,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,eAAe,KAAK,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.VERSION = exports.Logger = exports.Config = exports.Knowledge = exports.Planner = exports.Executor = exports.Observer = exports.Agent = void 0;
18
+ const agent_1 = require("./core/agent");
19
+ // Core exports
20
+ var agent_2 = require("./core/agent");
21
+ Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { return agent_2.Agent; } });
22
+ // Module exports
23
+ var observer_1 = require("./modules/observer");
24
+ Object.defineProperty(exports, "Observer", { enumerable: true, get: function () { return observer_1.Observer; } });
25
+ var executor_1 = require("./modules/executor");
26
+ Object.defineProperty(exports, "Executor", { enumerable: true, get: function () { return executor_1.Executor; } });
27
+ var planner_1 = require("./modules/planner");
28
+ Object.defineProperty(exports, "Planner", { enumerable: true, get: function () { return planner_1.Planner; } });
29
+ var knowledge_1 = require("./modules/knowledge");
30
+ Object.defineProperty(exports, "Knowledge", { enumerable: true, get: function () { return knowledge_1.Knowledge; } });
31
+ // Utility exports
32
+ var config_1 = require("./config");
33
+ Object.defineProperty(exports, "Config", { enumerable: true, get: function () { return config_1.Config; } });
34
+ var logger_1 = require("./logger");
35
+ Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_1.Logger; } });
36
+ // Type exports
37
+ __exportStar(require("./types"), exports);
38
+ // Version info
39
+ exports.VERSION = '0.1.0';
40
+ // Default export for convenience
41
+ exports.default = agent_1.Agent;
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,wCAAqC;AACrC,eAAe;AACf,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,iBAAiB;AACjB,+CAA8C;AAArC,oGAAA,QAAQ,OAAA;AACjB,+CAA8C;AAArC,oGAAA,QAAQ,OAAA;AACjB,6CAA4C;AAAnC,kGAAA,OAAO,OAAA;AAChB,iDAAgD;AAAvC,sGAAA,SAAS,OAAA;AAElB,kBAAkB;AAClB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,eAAe;AACf,0CAAwB;AAKxB,eAAe;AACF,QAAA,OAAO,GAAG,OAAO,CAAC;AAE/B,iCAAiC;AACjC,kBAAe,aAAK,CAAC"}
@@ -0,0 +1,8 @@
1
+ import winston from 'winston';
2
+ import { AgentConfig } from '../types';
3
+ export declare class Logger {
4
+ private static instance;
5
+ static initialize(config: AgentConfig): winston.Logger;
6
+ static get(): winston.Logger;
7
+ }
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IAExC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM;IA+CtD,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM;CAM7B"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Logger = void 0;
7
+ const winston_1 = __importDefault(require("winston"));
8
+ class Logger {
9
+ static instance;
10
+ static initialize(config) {
11
+ if (Logger.instance) {
12
+ return Logger.instance;
13
+ }
14
+ const transports = [
15
+ new winston_1.default.transports.Console({
16
+ format: winston_1.default.format.combine(winston_1.default.format.colorize(), winston_1.default.format.timestamp(), winston_1.default.format.printf(({ timestamp, level, message, ...meta }) => {
17
+ return `${timestamp} [${level}]: ${message} ${Object.keys(meta).length ? JSON.stringify(meta, null, 2) : ''}`;
18
+ }))
19
+ })
20
+ ];
21
+ if (config.logFile) {
22
+ transports.push(new winston_1.default.transports.File({
23
+ filename: config.logFile,
24
+ format: winston_1.default.format.combine(winston_1.default.format.timestamp(), winston_1.default.format.json())
25
+ }));
26
+ }
27
+ Logger.instance = winston_1.default.createLogger({
28
+ level: config.logLevel || 'info',
29
+ transports,
30
+ exceptionHandlers: [
31
+ new winston_1.default.transports.Console(),
32
+ ...(config.logFile ? [new winston_1.default.transports.File({ filename: config.logFile })] : [])
33
+ ],
34
+ rejectionHandlers: [
35
+ new winston_1.default.transports.Console(),
36
+ ...(config.logFile ? [new winston_1.default.transports.File({ filename: config.logFile })] : [])
37
+ ]
38
+ });
39
+ return Logger.instance;
40
+ }
41
+ static get() {
42
+ if (!Logger.instance) {
43
+ throw new Error('Logger not initialized. Call Logger.initialize() first.');
44
+ }
45
+ return Logger.instance;
46
+ }
47
+ }
48
+ exports.Logger = Logger;
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":";;;;;;AACA,sDAA8B;AAG9B,MAAa,MAAM;IACT,MAAM,CAAC,QAAQ,CAAiB;IAExC,MAAM,CAAC,UAAU,CAAC,MAAmB;QACnC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;QAED,MAAM,UAAU,GAAwB;YACtC,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC7B,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,iBAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EACzB,iBAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAC1B,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;oBAC/D,OAAO,GAAG,SAAS,KAAK,KAAK,MAAM,OAAO,IACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7D,EAAE,CAAC;gBACL,CAAC,CAAC,CACH;aACF,CAAC;SACH,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,UAAU,CAAC,IAAI,CACb,IAAI,iBAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC1B,QAAQ,EAAE,MAAM,CAAC,OAAO;gBACxB,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,iBAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAC1B,iBAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CACtB;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,QAAQ,GAAG,iBAAO,CAAC,YAAY,CAAC;YACrC,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM;YAChC,UAAU;YACV,iBAAiB,EAAE;gBACjB,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE;gBAChC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,iBAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACvF;YACD,iBAAiB,EAAE;gBACjB,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE;gBAChC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,iBAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACvF;SACF,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,GAAG;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;CACF;AAxDD,wBAwDC"}
@@ -0,0 +1,21 @@
1
+ import { Address, Hash } from 'viem';
2
+ import { AgentConfig, ExecutorResult } from '../types';
3
+ export declare class Executor {
4
+ private walletClient;
5
+ private publicClient;
6
+ private account;
7
+ private config;
8
+ private logger;
9
+ constructor(config: AgentConfig);
10
+ getAddress(): Promise<Address>;
11
+ getBalance(address?: Address): Promise<bigint>;
12
+ estimateGas(to: Address, value?: bigint, data?: Hash): Promise<bigint>;
13
+ sendTransaction(to: Address, value?: bigint, data?: Hash, gasLimit?: bigint): Promise<ExecutorResult>;
14
+ transferFlow(to: Address, amount: string): Promise<ExecutorResult>;
15
+ deployContract(bytecode: Hash, constructorArgs?: any[]): Promise<ExecutorResult>;
16
+ callContract(contractAddress: Address, abi: any[], functionName: string, args?: any[], value?: bigint): Promise<ExecutorResult>;
17
+ readContract(contractAddress: Address, abi: any[], functionName: string, args?: any[]): Promise<any>;
18
+ transferToken(tokenAddress: Address, to: Address, amount: bigint): Promise<ExecutorResult>;
19
+ getTokenBalance(tokenAddress: Address, address?: Address): Promise<bigint>;
20
+ }
21
+ //# sourceMappingURL=executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/modules/executor.ts"],"names":[],"mappings":"AACA,OAAO,EAAyE,OAAO,EAAE,IAAI,EAAgC,MAAM,MAAM,CAAC;AAG1I,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEvD,qBAAa,QAAQ;IACnB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAM;gBAER,MAAM,EAAE,WAAW;IA2CzB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAI9B,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9C,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IActE,eAAe,CACnB,EAAE,EAAE,OAAO,EACX,KAAK,GAAE,MAAW,EAClB,IAAI,CAAC,EAAE,IAAI,EACX,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC;IA+CpB,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAKlE,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IA0ChF,YAAY,CAChB,eAAe,EAAE,OAAO,EACxB,GAAG,EAAE,GAAG,EAAE,EACV,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,GAAG,EAAO,EAChB,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,cAAc,CAAC;IAoBpB,YAAY,CAChB,eAAe,EAAE,OAAO,EACxB,GAAG,EAAE,GAAG,EAAE,EACV,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,GAAG,EAAO,GACf,OAAO,CAAC,GAAG,CAAC;IAeT,aAAa,CACjB,YAAY,EAAE,OAAO,EACrB,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,CAAC;IAQpB,eAAe,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAQjF"}
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Executor = void 0;
4
+ const viem_1 = require("viem");
5
+ const accounts_1 = require("viem/accounts");
6
+ const logger_1 = require("../logger");
7
+ class Executor {
8
+ walletClient;
9
+ publicClient;
10
+ account;
11
+ config;
12
+ logger;
13
+ constructor(config) {
14
+ this.config = config;
15
+ this.logger = logger_1.Logger.get();
16
+ // Create account from private key
17
+ const privateKey = config.privateKey.startsWith('0x')
18
+ ? config.privateKey
19
+ : `0x${config.privateKey}`;
20
+ this.account = (0, accounts_1.privateKeyToAccount)(privateKey);
21
+ // Define Flow EVM chain
22
+ const flowEvm = {
23
+ id: 747,
24
+ name: 'Flow EVM',
25
+ network: 'flow-evm',
26
+ nativeCurrency: {
27
+ decimals: 18,
28
+ name: 'Flow',
29
+ symbol: 'FLOW',
30
+ },
31
+ rpcUrls: {
32
+ default: {
33
+ http: [config.flowRpcUrl],
34
+ },
35
+ public: {
36
+ http: [config.flowRpcUrl],
37
+ },
38
+ },
39
+ };
40
+ this.walletClient = (0, viem_1.createWalletClient)({
41
+ account: this.account,
42
+ chain: flowEvm,
43
+ transport: (0, viem_1.http)(config.flowRpcUrl)
44
+ });
45
+ this.publicClient = (0, viem_1.createPublicClient)({
46
+ chain: flowEvm,
47
+ transport: (0, viem_1.http)(config.flowRpcUrl)
48
+ });
49
+ }
50
+ async getAddress() {
51
+ return this.account.address;
52
+ }
53
+ async getBalance(address) {
54
+ const targetAddress = address || this.account.address;
55
+ return await this.publicClient.getBalance({ address: targetAddress });
56
+ }
57
+ async estimateGas(to, value, data) {
58
+ try {
59
+ return await this.walletClient.estimateGas({
60
+ account: this.account,
61
+ to,
62
+ value: value || 0n,
63
+ data
64
+ });
65
+ }
66
+ catch (error) {
67
+ this.logger.error('Gas estimation failed:', error);
68
+ throw error;
69
+ }
70
+ }
71
+ async sendTransaction(to, value = 0n, data, gasLimit) {
72
+ try {
73
+ this.logger.info(`Preparing transaction to ${to}, value: ${(0, viem_1.formatEther)(value)} FLOW`);
74
+ // Estimate gas if not provided
75
+ const estimatedGas = gasLimit || await this.estimateGas(to, value, data);
76
+ // Send transaction
77
+ const hash = await this.walletClient.sendTransaction({
78
+ account: this.account,
79
+ to,
80
+ value,
81
+ data,
82
+ gas: estimatedGas
83
+ });
84
+ this.logger.info(`Transaction sent: ${hash}`);
85
+ // Wait for confirmation
86
+ const receipt = await this.walletClient.waitForTransactionReceipt({ hash });
87
+ if (receipt.status === 'success') {
88
+ this.logger.info(`Transaction confirmed: ${hash}, Gas used: ${receipt.gasUsed}`);
89
+ return {
90
+ success: true,
91
+ transactionHash: hash,
92
+ result: receipt,
93
+ gasUsed: receipt.gasUsed
94
+ };
95
+ }
96
+ else {
97
+ this.logger.error(`Transaction failed: ${hash}`);
98
+ return {
99
+ success: false,
100
+ transactionHash: hash,
101
+ error: 'Transaction reverted',
102
+ gasUsed: receipt.gasUsed
103
+ };
104
+ }
105
+ }
106
+ catch (error) {
107
+ this.logger.error('Transaction execution failed:', error);
108
+ return {
109
+ success: false,
110
+ error: error instanceof Error ? error.message : 'Unknown error'
111
+ };
112
+ }
113
+ }
114
+ async transferFlow(to, amount) {
115
+ const value = (0, viem_1.parseEther)(amount);
116
+ return await this.sendTransaction(to, value);
117
+ }
118
+ async deployContract(bytecode, constructorArgs) {
119
+ try {
120
+ this.logger.info('Deploying contract...');
121
+ const hash = await this.walletClient.deployContract({
122
+ abi: [], // ABI would be provided by the calling code
123
+ bytecode,
124
+ args: constructorArgs || []
125
+ });
126
+ this.logger.info(`Contract deployment transaction: ${hash}`);
127
+ const receipt = await this.walletClient.waitForTransactionReceipt({ hash });
128
+ if (receipt.status === 'success') {
129
+ this.logger.info(`Contract deployed at: ${receipt.contractAddress}`);
130
+ return {
131
+ success: true,
132
+ transactionHash: hash,
133
+ result: {
134
+ contractAddress: receipt.contractAddress,
135
+ receipt
136
+ },
137
+ gasUsed: receipt.gasUsed
138
+ };
139
+ }
140
+ else {
141
+ return {
142
+ success: false,
143
+ transactionHash: hash,
144
+ error: 'Contract deployment failed',
145
+ gasUsed: receipt.gasUsed
146
+ };
147
+ }
148
+ }
149
+ catch (error) {
150
+ this.logger.error('Contract deployment failed:', error);
151
+ return {
152
+ success: false,
153
+ error: error instanceof Error ? error.message : 'Unknown error'
154
+ };
155
+ }
156
+ }
157
+ async callContract(contractAddress, abi, functionName, args = [], value = 0n) {
158
+ try {
159
+ this.logger.info(`Calling contract function ${functionName} on ${contractAddress}`);
160
+ const data = (0, viem_1.encodeFunctionData)({
161
+ abi,
162
+ functionName,
163
+ args
164
+ });
165
+ return await this.sendTransaction(contractAddress, value, data);
166
+ }
167
+ catch (error) {
168
+ this.logger.error('Contract call failed:', error);
169
+ return {
170
+ success: false,
171
+ error: error instanceof Error ? error.message : 'Unknown error'
172
+ };
173
+ }
174
+ }
175
+ async readContract(contractAddress, abi, functionName, args = []) {
176
+ try {
177
+ return await this.publicClient.readContract({
178
+ address: contractAddress,
179
+ abi,
180
+ functionName,
181
+ args
182
+ });
183
+ }
184
+ catch (error) {
185
+ this.logger.error('Contract read failed:', error);
186
+ throw error;
187
+ }
188
+ }
189
+ // ERC-20 token utilities
190
+ async transferToken(tokenAddress, to, amount) {
191
+ const erc20Abi = (0, viem_1.parseAbi)([
192
+ 'function transfer(address to, uint256 amount) returns (bool)'
193
+ ]);
194
+ return await this.callContract(tokenAddress, erc20Abi, 'transfer', [to, amount]);
195
+ }
196
+ async getTokenBalance(tokenAddress, address) {
197
+ const erc20Abi = (0, viem_1.parseAbi)([
198
+ 'function balanceOf(address owner) view returns (uint256)'
199
+ ]);
200
+ const targetAddress = address || this.account.address;
201
+ return await this.readContract(tokenAddress, erc20Abi, 'balanceOf', [targetAddress]);
202
+ }
203
+ }
204
+ exports.Executor = Executor;
205
+ //# sourceMappingURL=executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/modules/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { AgentConfig, AgentMemory } from '../types';
2
+ export declare class Knowledge {
3
+ private chroma;
4
+ private chromaCollection;
5
+ private redis;
6
+ private config;
7
+ private logger;
8
+ private memoryCache;
9
+ constructor(config: AgentConfig);
10
+ initialize(): Promise<void>;
11
+ storeMemory(content: string, metadata?: Record<string, any>): Promise<string>;
12
+ retrieveMemory(id: string): Promise<AgentMemory | null>;
13
+ searchMemories(query: string, limit?: number): Promise<AgentMemory[]>;
14
+ getRecentMemories(limit?: number): Promise<AgentMemory[]>;
15
+ deleteMemory(id: string): Promise<boolean>;
16
+ clearAllMemories(): Promise<void>;
17
+ close(): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=knowledge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../src/modules/knowledge.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGpD,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,WAAW,CAAuC;gBAE9C,MAAM,EAAE,WAAW;IAKzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC3B,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4CjF,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAuBvD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA6CzE,iBAAiB,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAO7D,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAyB1C,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7B"}