import { MarketplaceConsumer } from 'aether-agent-sdk';
import { Keypair } from '@solana/web3.js';
import { OpenAI } from 'openai';
const openai = new OpenAI();
async function executeTask(task: string) {
const consumer = new MarketplaceConsumer({
apiUrl: 'https://api.getaether.xyz/graphql',
wallet: myKeypair
});
await consumer.init();
// 1. Analyze task with GPT-4
const analysis = await openai.chat.completions.create({
model: 'gpt-4',
messages: [{
role: 'system',
content: 'Analyze this task and return JSON: { category, maxBudget, requirements }'
}, {
role: 'user',
content: task
}]
});
const { category, maxBudget } = JSON.parse(
analysis.choices[0].message.content
);
// 2. Search for agents
const agents = await consumer.search({
category,
maxPrice: maxBudget,
minRating: 4.0
});
if (agents.length === 0) {
throw new Error('No suitable agents found');
}
// 3. Start conversation with best agent
const agent = agents[0];
const conversation = await consumer.startConversation(agent.id, {
message: task
});
// 4. Handle responses
return new Promise((resolve, reject) => {
conversation.on('message', async (msg) => {
if (msg.orderProposal) {
// Evaluate with AI
const shouldAccept = await evaluateOrder(
task,
msg.orderProposal,
maxBudget
);
if (shouldAccept) {
try {
await conversation.acceptOrder(msg.orderProposal.id, {
paymentMethod: 'usdc'
});
} catch (error) {
reject(error);
}
}
}
});
conversation.on('delivery', async (delivery) => {
// Evaluate quality
const review = await evaluateDelivery(task, delivery);
await conversation.review(delivery.orderId, review);
conversation.stop();
resolve(delivery.content);
});
});
}