aether-agent-sdk 1.0.0 → 1.0.1

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 (77) hide show
  1. package/dist/src/agents/AgentRegistry.d.ts +48 -0
  2. package/dist/src/agents/AgentRegistry.d.ts.map +1 -0
  3. package/dist/src/agents/AgentRegistry.js +114 -0
  4. package/dist/src/agents/AgentRegistry.js.map +1 -0
  5. package/dist/src/agents/AnalyzerAgent.d.ts +18 -0
  6. package/dist/src/agents/AnalyzerAgent.d.ts.map +1 -0
  7. package/dist/src/agents/AnalyzerAgent.js +129 -0
  8. package/dist/src/agents/AnalyzerAgent.js.map +1 -0
  9. package/dist/src/agents/IntelligentVerifierAgent.d.ts +46 -0
  10. package/dist/src/agents/IntelligentVerifierAgent.d.ts.map +1 -0
  11. package/dist/src/agents/IntelligentVerifierAgent.js +262 -0
  12. package/dist/src/agents/IntelligentVerifierAgent.js.map +1 -0
  13. package/dist/src/agents/SettlementAgent.d.ts +14 -0
  14. package/dist/src/agents/SettlementAgent.d.ts.map +1 -0
  15. package/dist/src/agents/SettlementAgent.js +146 -0
  16. package/dist/src/agents/SettlementAgent.js.map +1 -0
  17. package/dist/src/agents/SettlementAgentEnhanced.d.ts +33 -0
  18. package/dist/src/agents/SettlementAgentEnhanced.d.ts.map +1 -0
  19. package/dist/src/agents/SettlementAgentEnhanced.js +219 -0
  20. package/dist/src/agents/SettlementAgentEnhanced.js.map +1 -0
  21. package/dist/src/agents/VerifierAgent.d.ts +30 -0
  22. package/dist/src/agents/VerifierAgent.d.ts.map +1 -0
  23. package/dist/src/agents/VerifierAgent.js +181 -0
  24. package/dist/src/agents/VerifierAgent.js.map +1 -0
  25. package/dist/src/agents/index.d.ts +7 -0
  26. package/dist/src/agents/index.d.ts.map +1 -0
  27. package/dist/src/agents/index.js +11 -0
  28. package/dist/src/agents/index.js.map +1 -0
  29. package/dist/src/facilitator/X402FacilitatorServer.d.ts +17 -0
  30. package/dist/src/facilitator/X402FacilitatorServer.d.ts.map +1 -0
  31. package/dist/src/facilitator/X402FacilitatorServer.js +172 -0
  32. package/dist/src/facilitator/X402FacilitatorServer.js.map +1 -0
  33. package/dist/src/facilitator/index.d.ts +7 -0
  34. package/dist/src/facilitator/index.d.ts.map +1 -0
  35. package/dist/src/facilitator/index.js +11 -0
  36. package/dist/src/facilitator/index.js.map +1 -0
  37. package/dist/src/index.d.ts +19 -0
  38. package/dist/src/index.d.ts.map +1 -0
  39. package/dist/src/index.js +39 -0
  40. package/dist/src/index.js.map +1 -0
  41. package/dist/src/modes/HumanInTheLoopMode.d.ts +92 -0
  42. package/dist/src/modes/HumanInTheLoopMode.d.ts.map +1 -0
  43. package/dist/src/modes/HumanInTheLoopMode.js +234 -0
  44. package/dist/src/modes/HumanInTheLoopMode.js.map +1 -0
  45. package/dist/src/modes/index.d.ts +8 -0
  46. package/dist/src/modes/index.d.ts.map +1 -0
  47. package/dist/src/modes/index.js +11 -0
  48. package/dist/src/modes/index.js.map +1 -0
  49. package/dist/src/protocols/A2ANegotiation.d.ts +122 -0
  50. package/dist/src/protocols/A2ANegotiation.d.ts.map +1 -0
  51. package/dist/src/protocols/A2ANegotiation.js +230 -0
  52. package/dist/src/protocols/A2ANegotiation.js.map +1 -0
  53. package/dist/src/protocols/A2AProtocol.d.ts +49 -0
  54. package/dist/src/protocols/A2AProtocol.d.ts.map +1 -0
  55. package/dist/src/protocols/A2AProtocol.js +126 -0
  56. package/dist/src/protocols/A2AProtocol.js.map +1 -0
  57. package/dist/src/protocols/AP2Protocol.d.ts +57 -0
  58. package/dist/src/protocols/AP2Protocol.d.ts.map +1 -0
  59. package/dist/src/protocols/AP2Protocol.js +121 -0
  60. package/dist/src/protocols/AP2Protocol.js.map +1 -0
  61. package/dist/src/protocols/index.d.ts +10 -0
  62. package/dist/src/protocols/index.d.ts.map +1 -0
  63. package/dist/src/protocols/index.js +15 -0
  64. package/dist/src/protocols/index.js.map +1 -0
  65. package/dist/src/services/index.d.ts +8 -0
  66. package/dist/src/services/index.d.ts.map +1 -0
  67. package/dist/src/services/index.js +13 -0
  68. package/dist/src/services/index.js.map +1 -0
  69. package/dist/src/utils/env.d.ts +15 -0
  70. package/dist/src/utils/env.d.ts.map +1 -0
  71. package/dist/src/utils/env.js +39 -0
  72. package/dist/src/utils/env.js.map +1 -0
  73. package/dist/src/utils/index.d.ts +7 -0
  74. package/dist/src/utils/index.d.ts.map +1 -0
  75. package/dist/src/utils/index.js +12 -0
  76. package/dist/src/utils/index.js.map +1 -0
  77. package/package.json +1 -1
@@ -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;;IAqBrB,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"}
@@ -0,0 +1,172 @@
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.X402FacilitatorServer = void 0;
7
+ const web3_js_1 = require("@solana/web3.js");
8
+ const spl_token_1 = require("@solana/spl-token");
9
+ const env_1 = require("../utils/env");
10
+ const chalk_1 = __importDefault(require("chalk"));
11
+ const bs58_1 = __importDefault(require("bs58"));
12
+ (0, env_1.loadEnvIfNeeded)();
13
+ class X402FacilitatorServer {
14
+ connection;
15
+ agentWallet;
16
+ usdcMint;
17
+ constructor() {
18
+ const rpcUrl = process.env.SOLANA_RPC_URL || 'https://api.devnet.solana.com';
19
+ const agentPrivateKey = process.env.AGENT_PRIVATE_KEY;
20
+ const usdcMint = process.env.USDC_MINT || '4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU';
21
+ this.connection = new web3_js_1.Connection(rpcUrl, 'confirmed');
22
+ this.usdcMint = new web3_js_1.PublicKey(usdcMint);
23
+ if (agentPrivateKey) {
24
+ try {
25
+ const privateKeyBytes = bs58_1.default.decode(agentPrivateKey);
26
+ this.agentWallet = web3_js_1.Keypair.fromSecretKey(privateKeyBytes);
27
+ console.log(chalk_1.default.green(`✅ Facilitator initialized with wallet: ${this.agentWallet.publicKey.toBase58()}`));
28
+ }
29
+ catch (error) {
30
+ console.error(chalk_1.default.red('❌ Failed to load agent wallet:'), error);
31
+ }
32
+ }
33
+ }
34
+ async verify(paymentHeader, paymentRequirements) {
35
+ try {
36
+ console.log(chalk_1.default.blue('🔍 Facilitator: Verifying payment...'));
37
+ const paymentPayload = JSON.parse(Buffer.from(paymentHeader, 'base64').toString());
38
+ const isValid = this.validatePaymentLocally(paymentPayload, paymentRequirements);
39
+ if (isValid) {
40
+ console.log(chalk_1.default.green('✅ Facilitator: Payment verification successful'));
41
+ return { isValid: true, invalidReason: null };
42
+ }
43
+ else {
44
+ console.log(chalk_1.default.red('❌ Facilitator: Payment verification failed'));
45
+ return { isValid: false, invalidReason: 'Local validation failed' };
46
+ }
47
+ }
48
+ catch (error) {
49
+ console.error('❌ Facilitator: Verification error:', error);
50
+ return {
51
+ isValid: false,
52
+ invalidReason: `Verification error: ${error.message}`
53
+ };
54
+ }
55
+ }
56
+ validatePaymentLocally(paymentPayload, requirements) {
57
+ try {
58
+ if (paymentPayload.x402Version !== 1) {
59
+ console.log(chalk_1.default.red('❌ Invalid x402 version'));
60
+ return false;
61
+ }
62
+ if (paymentPayload.scheme !== requirements.scheme) {
63
+ console.log(chalk_1.default.red('❌ Scheme mismatch'));
64
+ return false;
65
+ }
66
+ if (paymentPayload.network !== 'solana-devnet') {
67
+ console.log(chalk_1.default.red('❌ Network mismatch - expected solana-devnet'));
68
+ return false;
69
+ }
70
+ const authorization = paymentPayload.payload?.authorization;
71
+ if (!authorization) {
72
+ console.log(chalk_1.default.red('❌ No authorization found'));
73
+ return false;
74
+ }
75
+ if (authorization.value !== requirements.maxAmountRequired) {
76
+ console.log(chalk_1.default.red('❌ Amount mismatch'));
77
+ return false;
78
+ }
79
+ if (authorization.to !== requirements.payTo) {
80
+ console.log(chalk_1.default.red('❌ Recipient mismatch'));
81
+ return false;
82
+ }
83
+ const now = Math.floor(Date.now() / 1000);
84
+ if (authorization.validBefore && now > authorization.validBefore) {
85
+ console.log(chalk_1.default.red('❌ Payment expired'));
86
+ return false;
87
+ }
88
+ console.log(chalk_1.default.green('✅ All local validations passed'));
89
+ return true;
90
+ }
91
+ catch (error) {
92
+ console.error('❌ Local validation error:', error);
93
+ return false;
94
+ }
95
+ }
96
+ async settle(paymentHeader, paymentRequirements) {
97
+ try {
98
+ console.log(chalk_1.default.blue('🏦 Facilitator: Settling payment on Solana...'));
99
+ const paymentPayload = JSON.parse(Buffer.from(paymentHeader, 'base64').toString());
100
+ const txHash = await this.executeUSDCTransfer(paymentPayload, paymentRequirements);
101
+ if (txHash) {
102
+ console.log(chalk_1.default.green('✅ Facilitator: Payment settled successfully'));
103
+ console.log(chalk_1.default.blue(`📋 Transaction Signature: ${txHash}`));
104
+ console.log(chalk_1.default.blue(`📋 Network: solana-devnet`));
105
+ return {
106
+ success: true,
107
+ error: null,
108
+ txHash: txHash,
109
+ networkId: 'solana-devnet'
110
+ };
111
+ }
112
+ else {
113
+ console.log(chalk_1.default.red('❌ Facilitator: Payment settlement failed'));
114
+ return {
115
+ success: false,
116
+ error: 'Failed to execute transfer',
117
+ txHash: null,
118
+ networkId: null
119
+ };
120
+ }
121
+ }
122
+ catch (error) {
123
+ console.error('❌ Facilitator: Settlement error:', error);
124
+ return {
125
+ success: false,
126
+ error: `Settlement error: ${error.message}`,
127
+ txHash: null,
128
+ networkId: null
129
+ };
130
+ }
131
+ }
132
+ async executeUSDCTransfer(paymentPayload, requirements) {
133
+ try {
134
+ console.log(chalk_1.default.blue('💰 Executing USDC transfer on Solana...'));
135
+ if (!this.agentWallet) {
136
+ throw new Error('Agent wallet not initialized');
137
+ }
138
+ const authorization = paymentPayload.payload?.authorization;
139
+ if (!authorization) {
140
+ throw new Error('No authorization found in payment payload');
141
+ }
142
+ const recipientAddress = new web3_js_1.PublicKey(authorization.to);
143
+ const amount = Number(authorization.value);
144
+ const token = new spl_token_1.Token(this.connection, this.usdcMint, spl_token_1.TOKEN_PROGRAM_ID, this.agentWallet);
145
+ const fromTokenAccount = await token.getOrCreateAssociatedAccountInfo(this.agentWallet.publicKey);
146
+ const toTokenAccount = await token.getOrCreateAssociatedAccountInfo(recipientAddress);
147
+ console.log(chalk_1.default.blue(`📋 Current USDC balance: ${Number(fromTokenAccount.amount) / 1_000_000} USDC`));
148
+ console.log(chalk_1.default.blue(`📋 Transfer amount: ${amount / 1_000_000} USDC`));
149
+ console.log(chalk_1.default.blue(`📋 Recipient: ${recipientAddress.toBase58()}`));
150
+ if (Number(fromTokenAccount.amount) < amount) {
151
+ throw new Error(`Insufficient USDC balance: ${Number(fromTokenAccount.amount) / 1_000_000} < ${amount / 1_000_000}`);
152
+ }
153
+ console.log(chalk_1.default.yellow('📋 Submitting transaction...'));
154
+ const signature = await token.transfer(fromTokenAccount.address, toTokenAccount.address, this.agentWallet, [], amount);
155
+ console.log(chalk_1.default.green(`✅ Transfer confirmed: ${signature}`));
156
+ return signature;
157
+ }
158
+ catch (error) {
159
+ console.error('❌ USDC transfer error:', error);
160
+ return null;
161
+ }
162
+ }
163
+ getSupportedSchemes() {
164
+ return {
165
+ kinds: [
166
+ { scheme: 'exact', network: 'solana-devnet' }
167
+ ]
168
+ };
169
+ }
170
+ }
171
+ exports.X402FacilitatorServer = X402FacilitatorServer;
172
+ //# sourceMappingURL=X402FacilitatorServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"X402FacilitatorServer.js","sourceRoot":"","sources":["../../../src/facilitator/X402FacilitatorServer.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAwG;AACxG,iDAI0B;AAC1B,sCAA8C;AAC9C,kDAAyB;AACzB,gDAAuB;AAEvB,IAAA,qBAAe,GAAE,CAAA;AAEjB,MAAa,qBAAqB;IACxB,UAAU,CAAY;IACtB,WAAW,CAAU;IACrB,QAAQ,CAAW;IAE3B;QACE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,+BAA+B,CAAA;QAC5E,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,8CAA8C,CAAA;QAExF,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QACrD,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAS,CAAC,QAAQ,CAAC,CAAA;QAEvC,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,cAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;gBACpD,IAAI,CAAC,WAAW,GAAG,iBAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;gBACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0CAA0C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;YAC7G,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,EAAE,KAAK,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,aAAqB,EAAE,mBAAwB;QAC1D,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAA;YAE/D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;YAElF,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAA;YAEhF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAA;gBAC1E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC,CAAA;gBACpE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE,CAAA;YACrE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAA;YAC1D,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,uBAAwB,KAAe,CAAC,OAAO,EAAE;aACjE,CAAA;QACH,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,cAAmB,EAAE,YAAiB;QACnE,IAAI,CAAC;YACH,IAAI,cAAc,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAA;gBAChD,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,cAAc,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;gBAC3C,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,cAAc,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAA;gBACrE,OAAO,KAAK,CAAA;YACd,CAAC;YAED,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,EAAE,aAAa,CAAA;YAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAA;gBAClD,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,aAAa,CAAC,KAAK,KAAK,YAAY,CAAC,iBAAiB,EAAE,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;gBAC3C,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,aAAa,CAAC,EAAE,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAA;gBAC9C,OAAO,KAAK,CAAA;YACd,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;YACzC,IAAI,aAAa,CAAC,WAAW,IAAI,GAAG,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAA;gBAC3C,OAAO,KAAK,CAAA;YACd,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAA;YAC1D,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAA;YACjD,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,aAAqB,EAAE,mBAAwB;QAC1D,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAA;YAExE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;YAElF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAA;YAElF,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAA;gBACvE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC,CAAA;gBAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAA;gBAEpD,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,eAAe;iBAC3B,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAA;gBAClE,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,4BAA4B;oBACnC,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,IAAI;iBAChB,CAAA;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAA;YACxD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,qBAAsB,KAAe,CAAC,OAAO,EAAE;gBACtD,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI;aAChB,CAAA;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,cAAmB,EAAE,YAAiB;QACtE,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAA;YAElE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;YACjD,CAAC;YAED,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,EAAE,aAAa,CAAA;YAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;YAC9D,CAAC;YAED,MAAM,gBAAgB,GAAG,IAAI,mBAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;YACxD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YAE1C,MAAM,KAAK,GAAG,IAAI,iBAAK,CACrB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,QAAQ,EACb,4BAAgB,EAChB,IAAI,CAAC,WAAW,CACjB,CAAA;YAED,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,gCAAgC,CACnE,IAAI,CAAC,WAAW,CAAC,SAAS,CAC3B,CAAA;YAED,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,gCAAgC,CACjE,gBAAgB,CACjB,CAAA;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,SAAS,OAAO,CAAC,CAAC,CAAA;YACvG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,GAAG,SAAS,OAAO,CAAC,CAAC,CAAA;YACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iBAAiB,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;YAEvE,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,SAAS,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC,CAAA;YACtH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAA;YACzD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,QAAQ,CACpC,gBAAgB,CAAC,OAAO,EACxB,cAAc,CAAC,OAAO,EACtB,IAAI,CAAC,WAAW,EAChB,EAAE,EACF,MAAM,CACP,CAAA;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC,CAAA;YAC9D,OAAO,SAAS,CAAA;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;YAC9C,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,mBAAmB;QACjB,OAAO;YACL,KAAK,EAAE;gBACL,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE;aAC9C;SACF,CAAA;IACH,CAAC;CACF;AArMD,sDAqMC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Aether Agent SDK - Facilitator Module
3
+ *
4
+ * Export x402 facilitator for Solana
5
+ */
6
+ export { X402FacilitatorServer } from './X402FacilitatorServer';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/facilitator/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * Aether Agent SDK - Facilitator Module
4
+ *
5
+ * Export x402 facilitator for Solana
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.X402FacilitatorServer = void 0;
9
+ var X402FacilitatorServer_1 = require("./X402FacilitatorServer");
10
+ Object.defineProperty(exports, "X402FacilitatorServer", { enumerable: true, get: function () { return X402FacilitatorServer_1.X402FacilitatorServer; } });
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/facilitator/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iEAA+D;AAAtD,8HAAA,qBAAqB,OAAA"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Aether Agent SDK
3
+ *
4
+ * Autonomous Agent Ecosystem SDK for Solana with x402 Payment Protocol
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ export * from './agents';
9
+ export * from './facilitator';
10
+ export * from './utils';
11
+ /**
12
+ * SDK Version
13
+ */
14
+ export declare const VERSION = "1.0.0";
15
+ /**
16
+ * SDK Name
17
+ */
18
+ export declare const SDK_NAME = "aether-agent-sdk";
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,cAAc,UAAU,CAAA;AAGxB,cAAc,eAAe,CAAA;AAG7B,cAAc,SAAS,CAAA;AAEvB;;GAEG;AACH,eAAO,MAAM,OAAO,UAAU,CAAA;AAE9B;;GAEG;AACH,eAAO,MAAM,QAAQ,qBAAqB,CAAA"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /**
3
+ * Aether Agent SDK
4
+ *
5
+ * Autonomous Agent Ecosystem SDK for Solana with x402 Payment Protocol
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.SDK_NAME = exports.VERSION = void 0;
25
+ // Agents
26
+ __exportStar(require("./agents"), exports);
27
+ // Facilitator
28
+ __exportStar(require("./facilitator"), exports);
29
+ // Utils
30
+ __exportStar(require("./utils"), exports);
31
+ /**
32
+ * SDK Version
33
+ */
34
+ exports.VERSION = '1.0.0';
35
+ /**
36
+ * SDK Name
37
+ */
38
+ exports.SDK_NAME = 'aether-agent-sdk';
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,SAAS;AACT,2CAAwB;AAExB,cAAc;AACd,gDAA6B;AAE7B,QAAQ;AACR,0CAAuB;AAEvB;;GAEG;AACU,QAAA,OAAO,GAAG,OAAO,CAAA;AAE9B;;GAEG;AACU,QAAA,QAAQ,GAAG,kBAAkB,CAAA"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Human-in-the-Loop Mode
3
+ *
4
+ * This module implements human approval workflows for autonomous agents.
5
+ * When enabled, agents will pause and request human approval for:
6
+ * - High-value payments
7
+ * - Sensitive operations
8
+ * - Custom-defined approval thresholds
9
+ *
10
+ * Used for the hackathon bonus points requirement
11
+ */
12
+ /**
13
+ * Approval Request
14
+ */
15
+ export interface ApprovalRequest {
16
+ requestId: string;
17
+ action: string;
18
+ description: string;
19
+ details: any;
20
+ createdAt: number;
21
+ status?: "pending" | "approved" | "rejected" | "expired";
22
+ }
23
+ /**
24
+ * Approval Result
25
+ */
26
+ export interface ApprovalResult {
27
+ approved: boolean;
28
+ requestId: string;
29
+ timestamp: number;
30
+ reason?: string;
31
+ }
32
+ /**
33
+ * Human-in-the-Loop Configuration
34
+ */
35
+ export interface HITLConfig {
36
+ enabled: boolean;
37
+ requireApprovalFor?: string[];
38
+ approvalThresholds?: {
39
+ payment?: number;
40
+ transaction?: number;
41
+ custom?: Map<string, number>;
42
+ };
43
+ timeout?: number;
44
+ autoApproveTimeout?: boolean;
45
+ }
46
+ /**
47
+ * Human-in-the-Loop Mode Implementation
48
+ */
49
+ export declare class HumanInTheLoopMode {
50
+ private config;
51
+ private pendingRequests;
52
+ private rl?;
53
+ private callbacks;
54
+ constructor(config?: HITLConfig);
55
+ /**
56
+ * Check if action requires human approval
57
+ */
58
+ requiresApproval(action: string, details: any): boolean;
59
+ /**
60
+ * Request human approval
61
+ */
62
+ requestApproval(request: Omit<ApprovalRequest, 'requestId' | 'createdAt' | 'status'>): Promise<ApprovalResult>;
63
+ /**
64
+ * Request approval via CLI
65
+ */
66
+ private requestCLIApproval;
67
+ /**
68
+ * Create approval result
69
+ */
70
+ private createApprovalResult;
71
+ /**
72
+ * Get pending requests
73
+ */
74
+ getPendingRequests(): ApprovalRequest[];
75
+ /**
76
+ * Enable HITL mode
77
+ */
78
+ enable(): void;
79
+ /**
80
+ * Disable HITL mode
81
+ */
82
+ disable(): void;
83
+ /**
84
+ * Set approval threshold for payments
85
+ */
86
+ setPaymentThreshold(threshold: number): void;
87
+ /**
88
+ * Cleanup
89
+ */
90
+ cleanup(): void;
91
+ }
92
+ //# sourceMappingURL=HumanInTheLoopMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HumanInTheLoopMode.d.ts","sourceRoot":"","sources":["../../../src/modes/HumanInTheLoopMode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,GAAG,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAA;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,kBAAkB,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC7B,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,EAAE,CAAC,CAAoB;IAC/B,OAAO,CAAC,SAAS,CAA2D;gBAEhE,MAAM,CAAC,EAAE,UAAU;IAc/B;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO;IA+BvD;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IA2CpH;;OAEG;YACW,kBAAkB;IA0ChC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACH,kBAAkB,IAAI,eAAe,EAAE;IAIvC;;OAEG;IACH,MAAM,IAAI,IAAI;IAKd;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQ5C;;OAEG;IACH,OAAO,IAAI,IAAI;CAKhB"}