aether-agent-sdk 1.0.0 → 1.0.3

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 (79) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +67 -185
  3. package/dist/src/agents/AgentRegistry.d.ts +48 -0
  4. package/dist/src/agents/AgentRegistry.d.ts.map +1 -0
  5. package/dist/src/agents/AgentRegistry.js +114 -0
  6. package/dist/src/agents/AgentRegistry.js.map +1 -0
  7. package/dist/src/agents/AnalyzerAgent.d.ts +18 -0
  8. package/dist/src/agents/AnalyzerAgent.d.ts.map +1 -0
  9. package/dist/src/agents/AnalyzerAgent.js +129 -0
  10. package/dist/src/agents/AnalyzerAgent.js.map +1 -0
  11. package/dist/src/agents/IntelligentVerifierAgent.d.ts +46 -0
  12. package/dist/src/agents/IntelligentVerifierAgent.d.ts.map +1 -0
  13. package/dist/src/agents/IntelligentVerifierAgent.js +262 -0
  14. package/dist/src/agents/IntelligentVerifierAgent.js.map +1 -0
  15. package/dist/src/agents/SettlementAgent.d.ts +14 -0
  16. package/dist/src/agents/SettlementAgent.d.ts.map +1 -0
  17. package/dist/src/agents/SettlementAgent.js +155 -0
  18. package/dist/src/agents/SettlementAgent.js.map +1 -0
  19. package/dist/src/agents/SettlementAgentEnhanced.d.ts +33 -0
  20. package/dist/src/agents/SettlementAgentEnhanced.d.ts.map +1 -0
  21. package/dist/src/agents/SettlementAgentEnhanced.js +219 -0
  22. package/dist/src/agents/SettlementAgentEnhanced.js.map +1 -0
  23. package/dist/src/agents/VerifierAgent.d.ts +30 -0
  24. package/dist/src/agents/VerifierAgent.d.ts.map +1 -0
  25. package/dist/src/agents/VerifierAgent.js +181 -0
  26. package/dist/src/agents/VerifierAgent.js.map +1 -0
  27. package/dist/src/agents/index.d.ts +7 -0
  28. package/dist/src/agents/index.d.ts.map +1 -0
  29. package/dist/src/agents/index.js +11 -0
  30. package/dist/src/agents/index.js.map +1 -0
  31. package/dist/src/facilitator/X402FacilitatorServer.d.ts +17 -0
  32. package/dist/src/facilitator/X402FacilitatorServer.d.ts.map +1 -0
  33. package/dist/src/facilitator/X402FacilitatorServer.js +176 -0
  34. package/dist/src/facilitator/X402FacilitatorServer.js.map +1 -0
  35. package/dist/src/facilitator/index.d.ts +7 -0
  36. package/dist/src/facilitator/index.d.ts.map +1 -0
  37. package/dist/src/facilitator/index.js +11 -0
  38. package/dist/src/facilitator/index.js.map +1 -0
  39. package/dist/src/index.d.ts +19 -0
  40. package/dist/src/index.d.ts.map +1 -0
  41. package/dist/src/index.js +39 -0
  42. package/dist/src/index.js.map +1 -0
  43. package/dist/src/modes/HumanInTheLoopMode.d.ts +92 -0
  44. package/dist/src/modes/HumanInTheLoopMode.d.ts.map +1 -0
  45. package/dist/src/modes/HumanInTheLoopMode.js +234 -0
  46. package/dist/src/modes/HumanInTheLoopMode.js.map +1 -0
  47. package/dist/src/modes/index.d.ts +8 -0
  48. package/dist/src/modes/index.d.ts.map +1 -0
  49. package/dist/src/modes/index.js +11 -0
  50. package/dist/src/modes/index.js.map +1 -0
  51. package/dist/src/protocols/A2ANegotiation.d.ts +122 -0
  52. package/dist/src/protocols/A2ANegotiation.d.ts.map +1 -0
  53. package/dist/src/protocols/A2ANegotiation.js +230 -0
  54. package/dist/src/protocols/A2ANegotiation.js.map +1 -0
  55. package/dist/src/protocols/A2AProtocol.d.ts +49 -0
  56. package/dist/src/protocols/A2AProtocol.d.ts.map +1 -0
  57. package/dist/src/protocols/A2AProtocol.js +126 -0
  58. package/dist/src/protocols/A2AProtocol.js.map +1 -0
  59. package/dist/src/protocols/AP2Protocol.d.ts +57 -0
  60. package/dist/src/protocols/AP2Protocol.d.ts.map +1 -0
  61. package/dist/src/protocols/AP2Protocol.js +121 -0
  62. package/dist/src/protocols/AP2Protocol.js.map +1 -0
  63. package/dist/src/protocols/index.d.ts +10 -0
  64. package/dist/src/protocols/index.d.ts.map +1 -0
  65. package/dist/src/protocols/index.js +15 -0
  66. package/dist/src/protocols/index.js.map +1 -0
  67. package/dist/src/services/index.d.ts +8 -0
  68. package/dist/src/services/index.d.ts.map +1 -0
  69. package/dist/src/services/index.js +13 -0
  70. package/dist/src/services/index.js.map +1 -0
  71. package/dist/src/utils/env.d.ts +15 -0
  72. package/dist/src/utils/env.d.ts.map +1 -0
  73. package/dist/src/utils/env.js +39 -0
  74. package/dist/src/utils/env.js.map +1 -0
  75. package/dist/src/utils/index.d.ts +7 -0
  76. package/dist/src/utils/index.d.ts.map +1 -0
  77. package/dist/src/utils/index.js +12 -0
  78. package/dist/src/utils/index.js.map +1 -0
  79. package/package.json +1 -1
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Enhanced Settlement Agent with A2A Protocol, AP2 Payments, and HITL Mode
3
+ *
4
+ * This enhanced agent implements:
5
+ * - A2A protocol for agent-to-agent communication
6
+ * - AP2 payment protocol for autonomous settlements
7
+ * - Human-in-the-Loop mode for approval workflows
8
+ * - Multi-agent negotiation for payment terms
9
+ */
10
+ export declare class SettlementAgentEnhanced {
11
+ private hcsClient;
12
+ private provider;
13
+ private wallet;
14
+ private hederaClient?;
15
+ private a2a;
16
+ private a2aNegotiation;
17
+ private hitl;
18
+ private facilitator;
19
+ private paymentNetwork;
20
+ constructor();
21
+ init(): Promise<void>;
22
+ private startMessagePolling;
23
+ private handleMessage;
24
+ private handleA2AMessage;
25
+ private handleAP2Payment;
26
+ private executeHederaPayment;
27
+ private executeBasePayment;
28
+ private executeSettlement;
29
+ private executeHederaSettlement;
30
+ private executeX402Settlement;
31
+ triggerSettlement(verification: any): Promise<void>;
32
+ }
33
+ //# sourceMappingURL=SettlementAgentEnhanced.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettlementAgentEnhanced.d.ts","sourceRoot":"","sources":["../../../src/agents/SettlementAgentEnhanced.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,YAAY,CAAC,CAAQ;IAC7B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,cAAc,CAAmC;;IAgEnD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B,OAAO,CAAC,mBAAmB;YAeb,aAAa;YAkBb,gBAAgB;YAgBhB,gBAAgB;YAkChB,oBAAoB;YAMpB,kBAAkB;YAMlB,iBAAiB;YAgCjB,uBAAuB;YAIvB,qBAAqB;IAI7B,iBAAiB,CAAC,YAAY,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1D"}
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ /**
3
+ * Enhanced Settlement Agent with A2A Protocol, AP2 Payments, and HITL Mode
4
+ *
5
+ * This enhanced agent implements:
6
+ * - A2A protocol for agent-to-agent communication
7
+ * - AP2 payment protocol for autonomous settlements
8
+ * - Human-in-the-Loop mode for approval workflows
9
+ * - Multi-agent negotiation for payment terms
10
+ */
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SettlementAgentEnhanced = void 0;
16
+ const standards_agent_kit_1 = require("@hashgraphonline/standards-agent-kit");
17
+ const ethers_1 = require("ethers");
18
+ const sdk_1 = require("@hashgraph/sdk");
19
+ const A2AProtocol_1 = require("../protocols/A2AProtocol");
20
+ const A2ANegotiation_1 = require("../protocols/A2ANegotiation");
21
+ const AP2Protocol_1 = require("../protocols/AP2Protocol");
22
+ const HumanInTheLoopMode_1 = require("../modes/HumanInTheLoopMode");
23
+ const X402FacilitatorServer_1 = require("../facilitator/X402FacilitatorServer");
24
+ const env_1 = require("../utils/env");
25
+ const chalk_1 = __importDefault(require("chalk"));
26
+ (0, env_1.loadEnvIfNeeded)();
27
+ class SettlementAgentEnhanced {
28
+ hcsClient;
29
+ provider;
30
+ wallet;
31
+ hederaClient;
32
+ a2a;
33
+ a2aNegotiation;
34
+ hitl;
35
+ facilitator;
36
+ paymentNetwork;
37
+ constructor() {
38
+ // Initialize base components (similar to existing SettlementAgent)
39
+ const agentId = process.env.SETTLEMENT_AGENT_ID;
40
+ const privateKey = process.env.SETTLEMENT_PRIVATE_KEY;
41
+ const baseRpcUrl = process.env.BASE_RPC_URL;
42
+ const walletPrivateKey = process.env.SETTLEMENT_WALLET_PRIVATE_KEY;
43
+ const mainAccountId = process.env.HEDERA_ACCOUNT_ID;
44
+ const mainPrivateKey = process.env.HEDERA_PRIVATE_KEY;
45
+ if (!agentId || !privateKey || !baseRpcUrl || !walletPrivateKey) {
46
+ throw new Error('Missing required environment variables');
47
+ }
48
+ // Initialize HCS client
49
+ if (privateKey.startsWith('placeholder-key-for-')) {
50
+ if (!mainAccountId || !mainPrivateKey) {
51
+ throw new Error('Missing main Hedera credentials');
52
+ }
53
+ this.hcsClient = new standards_agent_kit_1.HCS10Client(mainAccountId, mainPrivateKey, 'testnet');
54
+ }
55
+ else {
56
+ this.hcsClient = new standards_agent_kit_1.HCS10Client(agentId, privateKey, 'testnet');
57
+ }
58
+ // Initialize Ethereum/Base components
59
+ this.provider = new ethers_1.JsonRpcProvider(baseRpcUrl);
60
+ this.wallet = new ethers_1.Wallet(walletPrivateKey, this.provider);
61
+ this.facilitator = new X402FacilitatorServer_1.X402FacilitatorServer();
62
+ this.paymentNetwork = (process.env.PAYMENT_NETWORK || 'base-sepolia');
63
+ // Initialize Hedera client if needed
64
+ if (this.paymentNetwork === 'hedera-testnet') {
65
+ if (!mainAccountId || !mainPrivateKey) {
66
+ throw new Error('Missing required Hedera credentials');
67
+ }
68
+ this.hederaClient = sdk_1.Client.forTestnet();
69
+ const accountId = sdk_1.AccountId.fromString(mainAccountId);
70
+ const privateKeyObj = sdk_1.PrivateKey.fromString(mainPrivateKey);
71
+ this.hederaClient.setOperator(accountId, privateKeyObj);
72
+ }
73
+ // Initialize A2A protocol
74
+ this.a2a = new A2AProtocol_1.A2AProtocol(this.hcsClient, agentId || mainAccountId || "unknown", ['payment', 'settlement', 'negotiation']);
75
+ // Initialize A2A negotiation
76
+ this.a2aNegotiation = new A2ANegotiation_1.A2ANegotiation(this.a2a);
77
+ // Initialize HITL mode
78
+ this.hitl = new HumanInTheLoopMode_1.HumanInTheLoopMode({
79
+ enabled: process.env.HITL_ENABLED === 'true',
80
+ approvalThresholds: {
81
+ payment: parseFloat(process.env.HITL_PAYMENT_THRESHOLD || '100')
82
+ }
83
+ });
84
+ }
85
+ async init() {
86
+ const topicId = process.env.SETTLEMENT_TOPIC_ID;
87
+ if (!topicId) {
88
+ throw new Error('Missing SETTLEMENT_TOPIC_ID');
89
+ }
90
+ this.startMessagePolling(topicId);
91
+ console.log(chalk_1.default.green('✅ SettlementAgentEnhanced initialized'));
92
+ console.log(chalk_1.default.blue(`📡 A2A Protocol: Enabled`));
93
+ console.log(chalk_1.default.blue(`💬 Negotiation: Enabled`));
94
+ console.log(chalk_1.default.blue(`👤 HITL Mode: ${this.hitl['config'].enabled ? 'Enabled' : 'Disabled'}`));
95
+ }
96
+ startMessagePolling(topicId) {
97
+ setInterval(async () => {
98
+ try {
99
+ const result = await this.hcsClient.getMessages(topicId);
100
+ if (result.messages && result.messages.length > 0) {
101
+ for (const message of result.messages) {
102
+ await this.handleMessage(message);
103
+ }
104
+ }
105
+ }
106
+ catch (error) {
107
+ console.error('Error polling:', error);
108
+ }
109
+ }, 5000);
110
+ }
111
+ async handleMessage(message) {
112
+ try {
113
+ const content = message.contents || message.data || '{}';
114
+ const parsed = JSON.parse(content);
115
+ // Try to parse as A2A message
116
+ const a2aMessage = this.a2a.parseMessage(content);
117
+ if (a2aMessage) {
118
+ await this.handleA2AMessage(a2aMessage);
119
+ }
120
+ else if (parsed.type === 'verification_result' && parsed.approved) {
121
+ await this.executeSettlement(parsed);
122
+ }
123
+ }
124
+ catch (error) {
125
+ console.error('Error handling message:', error);
126
+ }
127
+ }
128
+ async handleA2AMessage(message) {
129
+ console.log(chalk_1.default.blue(`📨 Received A2A ${message.messageType} message`));
130
+ // Handle negotiation messages
131
+ const negotiationResult = await this.a2aNegotiation.processNegotiationMessage(message);
132
+ if (negotiationResult) {
133
+ console.log(chalk_1.default.green(`✅ Negotiation ${negotiationResult.proposalId}: ${negotiationResult.state}`));
134
+ }
135
+ // Handle AP2 payment messages
136
+ const paymentRequest = AP2Protocol_1.AP2Protocol.parseAP2Message(message);
137
+ if (paymentRequest) {
138
+ await this.handleAP2Payment(paymentRequest);
139
+ }
140
+ }
141
+ async handleAP2Payment(paymentRequest) {
142
+ console.log(chalk_1.default.blue(`💳 Processing AP2 payment request: ${paymentRequest.paymentId}`));
143
+ // Validate payment request
144
+ const validation = AP2Protocol_1.AP2Protocol.validatePaymentRequest(paymentRequest);
145
+ if (!validation.valid) {
146
+ console.error(chalk_1.default.red(`❌ Payment validation failed: ${validation.error}`));
147
+ return;
148
+ }
149
+ // Request human approval if threshold exceeded
150
+ if (this.hitl['config'].enabled &&
151
+ this.hitl.requiresApproval("payment", { amount: parseFloat(paymentRequest.amount) })) {
152
+ const approval = await this.hitl.requestApproval({
153
+ action: "payment",
154
+ description: `AP2 payment of ${paymentRequest.amount} ${paymentRequest.currency}`,
155
+ details: paymentRequest
156
+ });
157
+ if (!approval.approved) {
158
+ console.log(chalk_1.default.red('❌ Human approval denied'));
159
+ return;
160
+ }
161
+ }
162
+ // Execute payment based on network
163
+ if (paymentRequest.network === 'hedera-testnet') {
164
+ await this.executeHederaPayment(paymentRequest);
165
+ }
166
+ else {
167
+ await this.executeBasePayment(paymentRequest);
168
+ }
169
+ }
170
+ async executeHederaPayment(paymentRequest) {
171
+ // Implementation for Hedera payments
172
+ console.log(chalk_1.default.blue(`Executing Hedera payment: ${paymentRequest.amount} ${paymentRequest.currency}`));
173
+ // ... implementation
174
+ }
175
+ async executeBasePayment(paymentRequest) {
176
+ // Implementation for Base/USDC payments
177
+ console.log(chalk_1.default.blue(`Executing Base payment: ${paymentRequest.amount} ${paymentRequest.currency}`));
178
+ // ... implementation
179
+ }
180
+ async executeSettlement(verification) {
181
+ try {
182
+ console.log(chalk_1.default.yellow(`Initiating settlement on ${this.paymentNetwork}...`));
183
+ // Check if HITL approval is required
184
+ const amount = verification.paymentDetails?.amount || 0;
185
+ if (this.hitl['config'].enabled && this.hitl.requiresApproval("payment", { amount })) {
186
+ const approval = await this.hitl.requestApproval({
187
+ action: "settlement",
188
+ description: `Settlement payment of ${amount}`,
189
+ details: verification.paymentDetails
190
+ });
191
+ if (!approval.approved) {
192
+ console.log(chalk_1.default.red('❌ Settlement denied by human'));
193
+ return;
194
+ }
195
+ }
196
+ if (this.paymentNetwork === 'hedera-testnet') {
197
+ await this.executeHederaSettlement(verification);
198
+ }
199
+ else {
200
+ await this.executeX402Settlement(verification);
201
+ }
202
+ }
203
+ catch (error) {
204
+ console.error('Error executing settlement:', error);
205
+ throw error;
206
+ }
207
+ }
208
+ async executeHederaSettlement(verification) {
209
+ // Implementation
210
+ }
211
+ async executeX402Settlement(verification) {
212
+ // Implementation
213
+ }
214
+ async triggerSettlement(verification) {
215
+ await this.executeSettlement(verification);
216
+ }
217
+ }
218
+ exports.SettlementAgentEnhanced = SettlementAgentEnhanced;
219
+ //# sourceMappingURL=SettlementAgentEnhanced.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettlementAgentEnhanced.js","sourceRoot":"","sources":["../../../src/agents/SettlementAgentEnhanced.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { HCS10Client } from '@hashgraphonline/standards-agent-kit';
2
+ import { HCS10ConnectionManager } from '../protocols/HCS10ConnectionManager';
3
+ import { HCS10TransactionApproval } from '../protocols/HCS10TransactionApproval';
4
+ export declare class VerifierAgent {
5
+ private hcsClient;
6
+ private messageHandlers;
7
+ private connectionManager?;
8
+ private transactionApproval?;
9
+ constructor();
10
+ init(): Promise<void>;
11
+ private startMessagePolling;
12
+ private handleMessage;
13
+ private validateProposal;
14
+ /**
15
+ * Register custom message handlers for specific message types
16
+ * @param type - The message type to handle
17
+ * @param handler - The handler function to call when this message type is received
18
+ */
19
+ onMessage(type: string, handler: Function): void;
20
+ /**
21
+ * Get connection manager instance (if initialized)
22
+ */
23
+ getConnectionManager(): HCS10ConnectionManager | undefined;
24
+ /**
25
+ * Get transaction approval manager instance (if initialized)
26
+ */
27
+ getTransactionApproval(): HCS10TransactionApproval | undefined;
28
+ getHcsClient(): HCS10Client;
29
+ }
30
+ //# sourceMappingURL=VerifierAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerifierAgent.d.ts","sourceRoot":"","sources":["../../../src/agents/VerifierAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAA;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAA;AAOhF,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,iBAAiB,CAAC,CAAwB;IAClD,OAAO,CAAC,mBAAmB,CAAC,CAA0B;;IAiDhD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3B,OAAO,CAAC,mBAAmB;YAiBb,aAAa;YAyBb,gBAAgB;IAwC9B;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI;IAKhD;;OAEG;IACH,oBAAoB,IAAI,sBAAsB,GAAG,SAAS;IAI1D;;OAEG;IACH,sBAAsB,IAAI,wBAAwB,GAAG,SAAS;IAI9D,YAAY,IAAI,WAAW;CAG5B"}
@@ -0,0 +1,181 @@
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.VerifierAgent = void 0;
7
+ const standards_agent_kit_1 = require("@hashgraphonline/standards-agent-kit");
8
+ const HCS10ConnectionManager_1 = require("../protocols/HCS10ConnectionManager");
9
+ const HCS10TransactionApproval_1 = require("../protocols/HCS10TransactionApproval");
10
+ const chalk_1 = __importDefault(require("chalk"));
11
+ const dotenv_1 = __importDefault(require("dotenv"));
12
+ // Load environment variables
13
+ dotenv_1.default.config();
14
+ class VerifierAgent {
15
+ hcsClient;
16
+ messageHandlers;
17
+ connectionManager;
18
+ transactionApproval;
19
+ constructor() {
20
+ // Get agent credentials from environment variables
21
+ const agentId = process.env.VERIFIER_AGENT_ID;
22
+ const privateKey = process.env.VERIFIER_PRIVATE_KEY;
23
+ if (!agentId || !privateKey) {
24
+ throw new Error('Missing required environment variables: VERIFIER_AGENT_ID and VERIFIER_PRIVATE_KEY');
25
+ }
26
+ // Check if we have a placeholder private key
27
+ if (privateKey.startsWith('placeholder-key-for-')) {
28
+ console.warn('⚠️ Using placeholder private key. Agent registration may not have captured the actual private key.');
29
+ console.warn('⚠️ For now, we\'ll use the main Hedera account for testing.');
30
+ // Use the main Hedera account credentials for testing
31
+ const mainAccountId = process.env.HEDERA_ACCOUNT_ID;
32
+ const mainPrivateKey = process.env.HEDERA_PRIVATE_KEY;
33
+ if (!mainAccountId || !mainPrivateKey) {
34
+ throw new Error('Missing main Hedera credentials for fallback');
35
+ }
36
+ // Initialize HCS10Client with main account for now
37
+ this.hcsClient = new standards_agent_kit_1.HCS10Client(mainAccountId, mainPrivateKey, 'testnet');
38
+ // Initialize connection manager and transaction approval (optional)
39
+ const useConnections = process.env.USE_HCS10_CONNECTIONS === 'true';
40
+ if (useConnections) {
41
+ this.connectionManager = new HCS10ConnectionManager_1.HCS10ConnectionManager(this.hcsClient, mainAccountId);
42
+ this.transactionApproval = new HCS10TransactionApproval_1.HCS10TransactionApproval(this.hcsClient, mainAccountId);
43
+ }
44
+ }
45
+ else {
46
+ // Initialize HCS10Client with actual agent credentials
47
+ this.hcsClient = new standards_agent_kit_1.HCS10Client(agentId, privateKey, 'testnet');
48
+ // Initialize connection manager and transaction approval (optional)
49
+ const useConnections = process.env.USE_HCS10_CONNECTIONS === 'true';
50
+ if (useConnections) {
51
+ this.connectionManager = new HCS10ConnectionManager_1.HCS10ConnectionManager(this.hcsClient, agentId);
52
+ this.transactionApproval = new HCS10TransactionApproval_1.HCS10TransactionApproval(this.hcsClient, agentId);
53
+ }
54
+ }
55
+ // Initialize message handlers map
56
+ this.messageHandlers = new Map();
57
+ }
58
+ async init() {
59
+ try {
60
+ // Get topic ID from environment
61
+ const topicId = process.env.VERIFIER_TOPIC_ID;
62
+ if (!topicId) {
63
+ throw new Error('Missing required environment variable: VERIFIER_TOPIC_ID');
64
+ }
65
+ console.log(chalk_1.default.green('VerifierAgent initialized and ready to process messages'));
66
+ console.log(`🔗 VerifierAgent initialized for Hedera testnet`);
67
+ console.log(`🆔 Agent ID: ${process.env.VERIFIER_AGENT_ID}`);
68
+ console.log(`📡 Topic ID: ${topicId}`);
69
+ console.log(`🔄 Polling for messages every 5 seconds...`);
70
+ // Start polling for messages
71
+ this.startMessagePolling(topicId);
72
+ }
73
+ catch (error) {
74
+ console.error('❌ Failed to initialize VerifierAgent:', error);
75
+ throw error;
76
+ }
77
+ }
78
+ startMessagePolling(topicId) {
79
+ // Poll for messages every 5 seconds
80
+ setInterval(async () => {
81
+ try {
82
+ const result = await this.hcsClient.getMessages(topicId);
83
+ if (result.messages && result.messages.length > 0) {
84
+ console.log(chalk_1.default.green(`📨 Found ${result.messages.length} new message(s)`));
85
+ for (const message of result.messages) {
86
+ await this.handleMessage(message);
87
+ }
88
+ }
89
+ }
90
+ catch (error) {
91
+ console.error('❌ Error polling for messages:', error);
92
+ }
93
+ }, 5000); // Poll every 5 seconds
94
+ }
95
+ async handleMessage(message) {
96
+ try {
97
+ // Parse message.contents as JSON (HCS10Client returns messages with contents field)
98
+ const parsed = JSON.parse(message.contents || message.data || '{}');
99
+ // Log received message type
100
+ console.log(chalk_1.default.green(`Received message type: ${parsed.type}`));
101
+ // Handle different message types
102
+ if (parsed.type === 'analysis_proposal') {
103
+ await this.validateProposal(parsed);
104
+ }
105
+ else {
106
+ // Check for custom handlers
107
+ const handler = this.messageHandlers.get(parsed.type);
108
+ if (handler) {
109
+ await handler(parsed);
110
+ }
111
+ else {
112
+ console.log(`No handler registered for message type: ${parsed.type}`);
113
+ }
114
+ }
115
+ }
116
+ catch (error) {
117
+ console.error('❌ Error handling message:', error);
118
+ }
119
+ }
120
+ async validateProposal(proposal) {
121
+ try {
122
+ console.log(chalk_1.default.green('Validating proposal...'));
123
+ // Simple validation: approved = proposal.meetsThreshold
124
+ const approved = proposal.meetsThreshold || false;
125
+ // Create result object
126
+ const result = {
127
+ type: 'verification_result',
128
+ originalProposal: proposal,
129
+ approved: approved,
130
+ reasoning: approved
131
+ ? `Proposal approved: meets threshold requirements (${proposal.meetsThreshold})`
132
+ : `Proposal rejected: does not meet threshold requirements (${proposal.meetsThreshold})`,
133
+ timestamp: Date.now()
134
+ };
135
+ if (approved) {
136
+ console.log(chalk_1.default.green('✓ Approved'));
137
+ // Send result via hcsClient.sendMessage to SETTLEMENT_TOPIC_ID
138
+ const settlementTopicId = process.env.SETTLEMENT_TOPIC_ID;
139
+ if (!settlementTopicId) {
140
+ throw new Error('Missing required environment variable: SETTLEMENT_TOPIC_ID');
141
+ }
142
+ await this.hcsClient.sendMessage(settlementTopicId, JSON.stringify(result));
143
+ console.log(`📤 Verification result sent to settlement topic: ${settlementTopicId}`);
144
+ }
145
+ else {
146
+ console.log(chalk_1.default.yellow('✗ Rejected'));
147
+ }
148
+ // Result is sent via HCS message, no need to return
149
+ }
150
+ catch (error) {
151
+ console.error('❌ Error validating proposal:', error);
152
+ throw error;
153
+ }
154
+ }
155
+ /**
156
+ * Register custom message handlers for specific message types
157
+ * @param type - The message type to handle
158
+ * @param handler - The handler function to call when this message type is received
159
+ */
160
+ onMessage(type, handler) {
161
+ this.messageHandlers.set(type, handler);
162
+ console.log(`📝 Registered handler for message type: ${type}`);
163
+ }
164
+ /**
165
+ * Get connection manager instance (if initialized)
166
+ */
167
+ getConnectionManager() {
168
+ return this.connectionManager;
169
+ }
170
+ /**
171
+ * Get transaction approval manager instance (if initialized)
172
+ */
173
+ getTransactionApproval() {
174
+ return this.transactionApproval;
175
+ }
176
+ getHcsClient() {
177
+ return this.hcsClient;
178
+ }
179
+ }
180
+ exports.VerifierAgent = VerifierAgent;
181
+ //# sourceMappingURL=VerifierAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerifierAgent.js","sourceRoot":"","sources":["../../../src/agents/VerifierAgent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Aether Agent SDK - Agents Module
3
+ *
4
+ * Export agent classes
5
+ */
6
+ export { SettlementAgent } from './SettlementAgent';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * Aether Agent SDK - Agents Module
4
+ *
5
+ * Export agent classes
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.SettlementAgent = void 0;
9
+ var SettlementAgent_1 = require("./SettlementAgent");
10
+ Object.defineProperty(exports, "SettlementAgent", { enumerable: true, get: function () { return SettlementAgent_1.SettlementAgent; } });
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qDAAmD;AAA1C,kHAAA,eAAe,OAAA"}
@@ -0,0 +1,17 @@
1
+ export declare class X402FacilitatorServer {
2
+ private connection;
3
+ private agentWallet?;
4
+ private usdcMint;
5
+ constructor();
6
+ verify(paymentHeader: string, paymentRequirements: any): Promise<any>;
7
+ private validatePaymentLocally;
8
+ settle(paymentHeader: string, paymentRequirements: any): Promise<any>;
9
+ private executeUSDCTransfer;
10
+ getSupportedSchemes(): {
11
+ kinds: Array<{
12
+ scheme: string;
13
+ network: string;
14
+ }>;
15
+ };
16
+ }
17
+ //# sourceMappingURL=X402FacilitatorServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"X402FacilitatorServer.d.ts","sourceRoot":"","sources":["../../../src/facilitator/X402FacilitatorServer.ts"],"names":[],"mappings":"AAYA,qBAAa,qBAAqB;IAChC,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAW;;IAwBrB,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAwB3E,OAAO,CAAC,sBAAsB;IA+CxB,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YAuC7D,mBAAmB;IAwDjC,mBAAmB,IAAI;QAAE,KAAK,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE;CAO7E"}