aether-agent-sdk 3.1.0 → 3.1.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.
@@ -2,15 +2,14 @@
2
2
  /**
3
3
  * Aether Marketplace Consumer
4
4
  * SDK for agents that consume services from the marketplace
5
+ *
6
+ * Uses GraphQL API at https://api.getaether.xyz/graphql
5
7
  */
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
8
  Object.defineProperty(exports, "__esModule", { value: true });
10
9
  exports.ConversationWrapper = exports.MarketplaceConsumer = void 0;
11
- const axios_1 = __importDefault(require("axios"));
12
10
  const SettlementAgent_1 = require("../agents/SettlementAgent");
13
11
  const logger_1 = require("../utils/logger");
12
+ const graphql_1 = require("./graphql");
14
13
  /**
15
14
  * MarketplaceConsumer
16
15
  *
@@ -19,9 +18,11 @@ const logger_1 = require("../utils/logger");
19
18
  * @example
20
19
  * ```typescript
21
20
  * const consumer = new MarketplaceConsumer({
22
- * apiUrl: 'https://marketplace.getaether.xyz/api',
23
- * wallet: myKeypair
24
- * });
21
+ * apiUrl: 'https://api.getaether.xyz/graphql',
22
+ * wallet: myKeypair
23
+ * });
24
+ *
25
+ * await consumer.init();
25
26
  *
26
27
  * // Search for translation agents
27
28
  * const agents = await consumer.search({
@@ -37,25 +38,24 @@ const logger_1 = require("../utils/logger");
37
38
  * // Listen for responses
38
39
  * conversation.on('message', async (msg) => {
39
40
  * if (msg.hasOrder) {
40
- * await conversation.acceptOrder(msg.order.id, { paymentMethod: 'athr' });
41
+ * await conversation.acceptOrder(msg.order.id, { paymentMethod: 'usdc' });
41
42
  * }
42
43
  * });
43
44
  *
44
45
  * // Listen for delivery
45
46
  * conversation.on('delivery', async (delivery) => {
46
- * // handle delivery
47
- * await conversation.review({ rating: 5 });
47
+ * await conversation.review(delivery.orderId, { rating: 5 });
48
48
  * });
49
49
  * ```
50
50
  */
51
51
  class MarketplaceConsumer {
52
- apiUrl;
52
+ graphql;
53
53
  wallet;
54
54
  settlementAgent;
55
55
  marketplaceWallet;
56
56
  logger = (0, logger_1.createLogger)('MarketplaceConsumer');
57
57
  constructor(config) {
58
- this.apiUrl = config.apiUrl;
58
+ this.graphql = new graphql_1.GraphQLClient(config.apiUrl);
59
59
  this.wallet = config.wallet;
60
60
  this.settlementAgent = new SettlementAgent_1.SettlementAgent();
61
61
  }
@@ -65,12 +65,13 @@ class MarketplaceConsumer {
65
65
  async init() {
66
66
  // Initialize settlement agent with the consumer's wallet
67
67
  await this.settlementAgent.init(this.wallet);
68
- // Fetch marketplace wallet from backend
68
+ // Fetch marketplace wallet from backend via GraphQL
69
69
  try {
70
- const response = await axios_1.default.get(`${this.apiUrl}/marketplace/info`);
71
- this.marketplaceWallet = response.data.marketplaceWallet;
70
+ const result = await this.graphql.execute(graphql_1.GET_MARKETPLACE_INFO);
71
+ this.marketplaceWallet = result.marketplaceInfo?.marketplaceWallet;
72
+ const commissionRate = result.marketplaceInfo?.commissionRate || 0.1;
72
73
  this.logger.info(`Marketplace wallet fetched: ${this.marketplaceWallet}`);
73
- this.logger.info(`Commission rate: ${(response.data.commissionRate * 100).toFixed(0)}%`);
74
+ this.logger.info(`Commission rate: ${(commissionRate * 100).toFixed(0)}%`);
74
75
  }
75
76
  catch (error) {
76
77
  this.logger.error('Failed to fetch marketplace info', error.message);
@@ -78,14 +79,12 @@ class MarketplaceConsumer {
78
79
  }
79
80
  }
80
81
  /**
81
- * Search for agents
82
+ * Search for agents via GraphQL
82
83
  */
83
84
  async search(filters = {}) {
84
85
  try {
85
- const response = await axios_1.default.get(`${this.apiUrl}/agents/search`, {
86
- params: filters,
87
- });
88
- return response.data.agents || [];
86
+ const result = await this.graphql.execute(graphql_1.SEARCH_AGENTS, { filter: filters });
87
+ return result.agents || [];
89
88
  }
90
89
  catch (error) {
91
90
  this.logger.error('Search failed', error.message);
@@ -93,12 +92,12 @@ class MarketplaceConsumer {
93
92
  }
94
93
  }
95
94
  /**
96
- * Get agent details
95
+ * Get agent details via GraphQL
97
96
  */
98
97
  async getAgent(agentId) {
99
98
  try {
100
- const response = await axios_1.default.get(`${this.apiUrl}/agents/${agentId}`);
101
- return response.data;
99
+ const result = await this.graphql.execute(graphql_1.GET_AGENT, { id: agentId });
100
+ return result.agent;
102
101
  }
103
102
  catch (error) {
104
103
  this.logger.error('Failed to get agent', error.message);
@@ -106,38 +105,39 @@ class MarketplaceConsumer {
106
105
  }
107
106
  }
108
107
  /**
109
- * Start conversation with agent
108
+ * Start conversation with agent via GraphQL
110
109
  */
111
110
  async startConversation(agentId, options) {
112
111
  try {
113
112
  // Get agent details to set merchant wallet
114
- const agentResponse = await axios_1.default.get(`${this.apiUrl}/agents/${agentId}`);
115
- const agent = agentResponse.data;
113
+ const agent = await this.getAgent(agentId);
116
114
  // Set merchant wallet dynamically
117
115
  this.settlementAgent.setMerchantWallet(agent.ownerWallet);
118
- const response = await axios_1.default.post(`${this.apiUrl}/conversations`, {
119
- agentId,
120
- clientWallet: this.wallet.publicKey.toBase58(),
121
- message: options.message,
122
- attachments: options.attachments,
116
+ // Start conversation via GraphQL mutation
117
+ const result = await this.graphql.execute(graphql_1.START_CONVERSATION, {
118
+ input: {
119
+ agentId,
120
+ clientWallet: this.wallet.publicKey.toBase58(),
121
+ clientType: 'agent',
122
+ message: options.message,
123
+ },
123
124
  });
124
- // API returns { conversationId, agentEndpoint }
125
- const conversationId = response.data.conversationId;
125
+ const conversationData = result.startConversation;
126
126
  // Build conversation object
127
127
  const conversation = {
128
- id: conversationId,
129
- agentId: agentId,
128
+ id: conversationData.id,
129
+ agentId: conversationData.agentId,
130
130
  clientWallet: this.wallet.publicKey.toBase58(),
131
131
  clientType: 'agent',
132
132
  lastMessageAt: new Date(),
133
- status: 'active'
133
+ status: 'active',
134
134
  };
135
135
  this.logger.info(`Conversation started: ${conversation.id}`);
136
136
  // Ensure marketplace wallet is available
137
137
  if (!this.marketplaceWallet) {
138
138
  throw new Error('Marketplace wallet not initialized. Did you call init()?');
139
139
  }
140
- return new ConversationWrapper(conversation, this.apiUrl, this.wallet, this.settlementAgent, this.marketplaceWallet);
140
+ return new ConversationWrapper(conversation, this.graphql, this.wallet, this.settlementAgent, this.marketplaceWallet);
141
141
  }
142
142
  catch (error) {
143
143
  this.logger.error('Failed to start conversation', error.message);
@@ -145,17 +145,25 @@ class MarketplaceConsumer {
145
145
  }
146
146
  }
147
147
  /**
148
- * Get existing conversation
148
+ * Get existing conversation via GraphQL
149
149
  */
150
150
  async getConversation(conversationId) {
151
151
  try {
152
- const response = await axios_1.default.get(`${this.apiUrl}/conversations/${conversationId}`);
153
- const conversation = response.data;
152
+ const result = await this.graphql.execute(graphql_1.GET_CONVERSATION, { id: conversationId });
153
+ const conversationData = result.conversation;
154
+ const conversation = {
155
+ id: conversationData.id,
156
+ agentId: conversationData.agentId,
157
+ clientWallet: conversationData.clientWallet,
158
+ clientType: conversationData.clientType,
159
+ lastMessageAt: new Date(),
160
+ status: conversationData.status,
161
+ };
154
162
  // Ensure marketplace wallet is available
155
163
  if (!this.marketplaceWallet) {
156
164
  throw new Error('Marketplace wallet not initialized. Did you call init()?');
157
165
  }
158
- return new ConversationWrapper(conversation, this.apiUrl, this.wallet, this.settlementAgent, this.marketplaceWallet);
166
+ return new ConversationWrapper(conversation, this.graphql, this.wallet, this.settlementAgent, this.marketplaceWallet);
159
167
  }
160
168
  catch (error) {
161
169
  this.logger.error('Failed to get conversation', error.message);
@@ -163,14 +171,19 @@ class MarketplaceConsumer {
163
171
  }
164
172
  }
165
173
  /**
166
- * Get all conversations for this wallet
174
+ * Get all conversations for this wallet via GraphQL
167
175
  */
168
176
  async getConversations() {
169
177
  try {
170
- const response = await axios_1.default.get(`${this.apiUrl}/conversations`, {
171
- params: { wallet: this.wallet.publicKey.toBase58() },
172
- });
173
- return response.data.conversations || [];
178
+ const result = await this.graphql.execute(graphql_1.GET_CONVERSATIONS, { wallet: this.wallet.publicKey.toBase58() });
179
+ return (result.conversations || []).map((c) => ({
180
+ id: c.id,
181
+ agentId: c.agentId,
182
+ clientWallet: c.clientWallet,
183
+ clientType: c.clientType,
184
+ lastMessageAt: new Date(c.updatedAt),
185
+ status: c.status,
186
+ }));
174
187
  }
175
188
  catch (error) {
176
189
  this.logger.error('Failed to get conversations', error.message);
@@ -178,12 +191,25 @@ class MarketplaceConsumer {
178
191
  }
179
192
  }
180
193
  /**
181
- * Get order details
194
+ * Get order details via GraphQL
182
195
  */
183
196
  async getOrder(orderId) {
184
197
  try {
185
- const response = await axios_1.default.get(`${this.apiUrl}/orders/${orderId}`);
186
- return response.data;
198
+ const result = await this.graphql.execute(graphql_1.GET_ORDER, { id: orderId });
199
+ const o = result.order;
200
+ return {
201
+ id: o.id,
202
+ conversationId: o.conversationId,
203
+ agentId: o.agentId,
204
+ clientWallet: o.clientWallet,
205
+ description: o.description,
206
+ originalRequest: o.originalRequest,
207
+ price: o.price,
208
+ paymentMethod: o.paymentMethod?.toLowerCase() || 'usdc',
209
+ status: o.status.toLowerCase(),
210
+ escrowTx: o.escrowTx,
211
+ createdAt: new Date(o.createdAt),
212
+ };
187
213
  }
188
214
  catch (error) {
189
215
  this.logger.error('Failed to get order', error.message);
@@ -191,17 +217,28 @@ class MarketplaceConsumer {
191
217
  }
192
218
  }
193
219
  /**
194
- * Get all orders for this wallet
220
+ * Get all orders for this wallet via GraphQL
195
221
  */
196
222
  async getOrders(status) {
197
223
  try {
198
- const response = await axios_1.default.get(`${this.apiUrl}/orders`, {
199
- params: {
200
- wallet: this.wallet.publicKey.toBase58(),
201
- status,
202
- },
203
- });
204
- return response.data.orders || [];
224
+ const result = await this.graphql.execute(graphql_1.GET_ORDERS, { wallet: this.wallet.publicKey.toBase58() });
225
+ let orders = result.orders || [];
226
+ // Filter by status if provided
227
+ if (status) {
228
+ orders = orders.filter((o) => o.status.toLowerCase() === status.toLowerCase());
229
+ }
230
+ return orders.map((o) => ({
231
+ id: o.id,
232
+ conversationId: o.conversationId,
233
+ agentId: o.agentId,
234
+ clientWallet: o.clientWallet,
235
+ description: o.description,
236
+ price: o.price,
237
+ paymentMethod: o.paymentMethod?.toLowerCase() || 'usdc',
238
+ status: o.status.toLowerCase(),
239
+ escrowTx: o.escrowTx,
240
+ createdAt: new Date(o.createdAt),
241
+ }));
205
242
  }
206
243
  catch (error) {
207
244
  this.logger.error('Failed to get orders', error.message);
@@ -216,7 +253,7 @@ exports.MarketplaceConsumer = MarketplaceConsumer;
216
253
  */
217
254
  class ConversationWrapper {
218
255
  conversation;
219
- apiUrl;
256
+ graphql;
220
257
  wallet;
221
258
  settlementAgent;
222
259
  marketplaceWallet;
@@ -224,9 +261,9 @@ class ConversationWrapper {
224
261
  deliveryHandlers = [];
225
262
  pollingInterval;
226
263
  logger;
227
- constructor(conversation, apiUrl, wallet, settlementAgent, marketplaceWallet) {
264
+ constructor(conversation, graphql, wallet, settlementAgent, marketplaceWallet) {
228
265
  this.conversation = conversation;
229
- this.apiUrl = apiUrl;
266
+ this.graphql = graphql;
230
267
  this.wallet = wallet;
231
268
  this.settlementAgent = settlementAgent;
232
269
  this.marketplaceWallet = marketplaceWallet;
@@ -239,14 +276,17 @@ class ConversationWrapper {
239
276
  return this.conversation.id;
240
277
  }
241
278
  /**
242
- * Send message
279
+ * Send message via GraphQL
243
280
  */
244
281
  async send(message, attachments) {
245
282
  try {
246
- await axios_1.default.post(`${this.apiUrl}/conversations/${this.conversation.id}/messages`, {
247
- fromWallet: this.wallet.publicKey.toBase58(),
248
- content: message,
249
- attachments,
283
+ await this.graphql.execute(graphql_1.SEND_MESSAGE, {
284
+ input: {
285
+ conversationId: this.conversation.id,
286
+ fromWallet: this.wallet.publicKey.toBase58(),
287
+ message,
288
+ attachments,
289
+ },
250
290
  });
251
291
  }
252
292
  catch (error) {
@@ -255,12 +295,19 @@ class ConversationWrapper {
255
295
  }
256
296
  }
257
297
  /**
258
- * Get messages
298
+ * Get messages via GraphQL
259
299
  */
260
300
  async getMessages(limit = 50) {
261
301
  try {
262
- const response = await axios_1.default.get(`${this.apiUrl}/conversations/${this.conversation.id}/messages`, { params: { limit } });
263
- return response.data.messages || [];
302
+ const result = await this.graphql.execute(graphql_1.GET_MESSAGES, { conversationId: this.conversation.id, limit });
303
+ return (result.conversation?.messages || []).map((m) => ({
304
+ id: m.id,
305
+ conversationId: this.conversation.id,
306
+ from: m.fromWallet,
307
+ message: m.message,
308
+ timestamp: new Date(m.createdAt),
309
+ hasOrder: m.hasOrder,
310
+ }));
264
311
  }
265
312
  catch (error) {
266
313
  this.logger.error('Failed to get messages', error.message);
@@ -268,13 +315,13 @@ class ConversationWrapper {
268
315
  }
269
316
  }
270
317
  /**
271
- * Accept order and pay
318
+ * Accept order and pay via GraphQL
272
319
  */
273
320
  async acceptOrder(orderId, options) {
274
321
  try {
275
322
  // Get order details
276
- const orderResponse = await axios_1.default.get(`${this.apiUrl}/orders/${orderId}`);
277
- const order = orderResponse.data;
323
+ const result = await this.graphql.execute(graphql_1.GET_ORDER, { id: orderId });
324
+ const order = result.order;
278
325
  this.logger.info(`Accepting order ${orderId}`);
279
326
  this.logger.info(`Price: ${order.price} USDC`);
280
327
  // Ensure marketplace wallet is available
@@ -289,17 +336,20 @@ class ConversationWrapper {
289
336
  this.logger.info('Backend will split: 90% to agent, 10% commission');
290
337
  const paymentHeader = await this.settlementAgent.createSignedPayment(this.marketplaceWallet, // Pay marketplace, not agent directly
291
338
  amount);
292
- // Submit payment to marketplace
293
- const response = await axios_1.default.post(`${this.apiUrl}/orders/${orderId}/accept`, {
294
- clientWallet: this.wallet.publicKey.toBase58(),
295
- paymentMethod: options.paymentMethod.toUpperCase(),
296
- paymentHeader,
339
+ // Submit payment to marketplace via GraphQL
340
+ const acceptResult = await this.graphql.execute(graphql_1.ACCEPT_ORDER, {
341
+ orderId,
342
+ input: {
343
+ clientWallet: this.wallet.publicKey.toBase58(),
344
+ paymentMethod: options.paymentMethod.toUpperCase(),
345
+ paymentHeader,
346
+ },
297
347
  });
298
348
  this.logger.info(`Order accepted and paid: ${orderId}`);
299
- this.logger.info(`Payment TX: ${response.data.transactionSignature}`);
300
- this.logger.info(`Agent receives: ${response.data.agentAmount} USDC`);
301
- this.logger.info(`Commission: ${response.data.commissionAmount} USDC`);
302
- return response.data;
349
+ this.logger.info(`Payment TX: ${acceptResult.acceptOrder?.escrowTx}`);
350
+ return {
351
+ transactionSignature: acceptResult.acceptOrder?.escrowTx,
352
+ };
303
353
  }
304
354
  catch (error) {
305
355
  this.logger.error('Failed to accept order', error.message);
@@ -307,13 +357,16 @@ class ConversationWrapper {
307
357
  }
308
358
  }
309
359
  /**
310
- * Decline order proposal
360
+ * Decline order proposal via GraphQL
311
361
  */
312
362
  async declineOrder(orderId, reason) {
313
363
  try {
314
- await axios_1.default.post(`${this.apiUrl}/orders/${orderId}/decline`, {
315
- clientWallet: this.wallet.publicKey.toBase58(),
316
- reason,
364
+ await this.graphql.execute(graphql_1.DECLINE_ORDER, {
365
+ orderId,
366
+ input: {
367
+ clientWallet: this.wallet.publicKey.toBase58(),
368
+ reason,
369
+ },
317
370
  });
318
371
  this.logger.info(`Order declined: ${orderId}`);
319
372
  // Optionally send message to agent
@@ -327,17 +380,21 @@ class ConversationWrapper {
327
380
  }
328
381
  }
329
382
  /**
330
- * Counter-offer with different price/terms
383
+ * Counter-offer with different price/terms via GraphQL
331
384
  */
332
385
  async counterOffer(orderId, offer) {
333
386
  try {
334
- await axios_1.default.post(`${this.apiUrl}/orders/${orderId}/counter-offer`, {
335
- clientWallet: this.wallet.publicKey.toBase58(),
336
- ...offer,
387
+ await this.graphql.execute(graphql_1.COUNTER_OFFER, {
388
+ orderId,
389
+ input: {
390
+ wallet: this.wallet.publicKey.toBase58(),
391
+ price: offer.price,
392
+ priceAthr: offer.priceAthr,
393
+ deliveryTime: offer.deliveryTime,
394
+ message: offer.message,
395
+ },
337
396
  });
338
397
  this.logger.info(`Counter-offer sent: ${orderId}`);
339
- // Send message to agent
340
- await this.send(offer.message);
341
398
  }
342
399
  catch (error) {
343
400
  this.logger.error('Failed to send counter-offer', error.message);
@@ -345,13 +402,17 @@ class ConversationWrapper {
345
402
  }
346
403
  }
347
404
  /**
348
- * Review order
405
+ * Review order via GraphQL
349
406
  */
350
407
  async review(orderId, review) {
351
408
  try {
352
- await axios_1.default.post(`${this.apiUrl}/orders/${orderId}/review`, {
353
- clientWallet: this.wallet.publicKey.toBase58(),
354
- ...review,
409
+ await this.graphql.execute(graphql_1.REVIEW_ORDER, {
410
+ orderId,
411
+ input: {
412
+ clientWallet: this.wallet.publicKey.toBase58(),
413
+ rating: review.rating,
414
+ comment: review.comment,
415
+ },
355
416
  });
356
417
  this.logger.info(`Review submitted: ${orderId}`);
357
418
  }
@@ -384,33 +445,38 @@ class ConversationWrapper {
384
445
  }
385
446
  }
386
447
  /**
387
- * Start polling for new messages and deliveries
448
+ * Start polling for new messages and deliveries via GraphQL
388
449
  */
389
450
  startPolling(intervalMs = 3000) {
451
+ let lastMessageCount = 0;
390
452
  this.pollingInterval = setInterval(async () => {
391
453
  try {
392
- // Poll for new messages
393
- const response = await axios_1.default.get(`${this.apiUrl}/conversations/${this.conversation.id}/messages/new`, {
394
- params: { wallet: this.wallet.publicKey.toBase58() },
395
- });
396
- const newMessages = response.data.messages || [];
397
- for (const msg of newMessages) {
398
- // Trigger message handlers
399
- for (const handler of this.messageHandlers) {
400
- handler(msg);
401
- }
402
- }
403
- // Poll for deliveries
404
- const deliveryResponse = await axios_1.default.get(`${this.apiUrl}/conversations/${this.conversation.id}/deliveries/new`, {
405
- params: { wallet: this.wallet.publicKey.toBase58() },
406
- });
407
- const newDeliveries = deliveryResponse.data.deliveries || [];
408
- for (const delivery of newDeliveries) {
409
- // Trigger delivery handlers
410
- for (const handler of this.deliveryHandlers) {
411
- handler(delivery);
454
+ // Poll for messages
455
+ const result = await this.graphql.execute(graphql_1.GET_MESSAGES, { conversationId: this.conversation.id, limit: 50 });
456
+ const messages = result.conversation?.messages || [];
457
+ // Check for new messages (simple comparison by count)
458
+ if (messages.length > lastMessageCount) {
459
+ const newMessages = messages.slice(lastMessageCount);
460
+ lastMessageCount = messages.length;
461
+ for (const m of newMessages) {
462
+ // Skip messages from self
463
+ if (m.fromWallet === this.wallet.publicKey.toBase58())
464
+ continue;
465
+ const message = {
466
+ id: m.id,
467
+ conversationId: this.conversation.id,
468
+ from: m.fromWallet,
469
+ message: m.message,
470
+ timestamp: new Date(m.createdAt),
471
+ hasOrder: m.hasOrder,
472
+ };
473
+ // Trigger message handlers
474
+ for (const handler of this.messageHandlers) {
475
+ handler(message);
476
+ }
412
477
  }
413
478
  }
479
+ // TODO: Poll for deliveries when endpoint is available
414
480
  }
415
481
  catch (error) {
416
482
  // Silent fail for polling
@@ -1 +1 @@
1
- {"version":3,"file":"MarketplaceConsumer.js","sourceRoot":"","sources":["../../../src/marketplace/MarketplaceConsumer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MarketplaceConsumer.js","sourceRoot":"","sources":["../../../src/marketplace/MarketplaceConsumer.ts"],"names":[],"mappings":"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"}