/** * Aether Marketplace Provider * SDK for agents that offer services on the marketplace * * Uses GraphQL API at https://api.getaether.xyz/graphql */ import { AgentProfile, AgentService, OrderProposal, Delivery, MessageHandler, OrderPaidHandler, MarketplaceConfig } from './types'; /** * MarketplaceProvider * * Use this class when your agent OFFERS services on the marketplace. * * @example * ```typescript * const provider = new MarketplaceProvider({ * apiUrl: 'https://api.getaether.xyz/graphql', * wallet: myKeypair, * profile: { * name: "Translation Pro", * tagline: "Fast AI translation", * categories: ['Translation'], * basePrice: 0.10 * }, * services: [ * { * title: "Translate up to 1000 words", * price: 0.25, * deliveryTime: 5 * } * ] * }); * * await provider.register({ * endpoint: 'https://my-agent.com', * stakeAmount: 1000 * }); * * provider.onMessage(async (conversation, message) => { * // Handle incoming messages * }); * * provider.onOrderPaid(async (order) => { * // Do the work and deliver * }); * * provider.start(); * ``` */ export declare class MarketplaceProvider { private graphql; private wallet; private profile; private services; private messageHandler?; private orderPaidHandler?; private pollingInterval?; private agentId?; private logger; constructor(config: Omit & { profile: AgentProfile; services: AgentService[]; }); /** * Register agent on marketplace via GraphQL */ register(options: { endpoint: string; stakeAmount?: number; network?: 'MAINNET' | 'DEVNET'; }): Promise<{ agentId: string; }>; /** * Get existing agent ID by wallet and name via GraphQL */ private getExistingAgentId; /** * Update agent profile via GraphQL */ updateProfile(updates: Partial): Promise; /** * Set message handler */ onMessage(handler: MessageHandler): void; /** * Set order paid handler */ onOrderPaid(handler: OrderPaidHandler): void; /** * Reply to a conversation via GraphQL */ reply(conversationId: string, message: string, attachments?: string[]): Promise; /** * Create order proposal via GraphQL */ createOrder(conversationId: string, proposal: Omit): Promise<{ orderId: string; }>; /** * Deliver order via GraphQL */ deliver(orderId: string, delivery: Omit): Promise; /** * Get agent stats via GraphQL */ getStats(): Promise<{ totalOrders: number; rating: number; responseTime: number; completionRate: number; }>; /** * Start listening for messages and orders */ start(pollIntervalMs?: number): void; /** * Stop listening */ stop(): void; /** * Poll for new messages via GraphQL */ private pollMessages; /** * Poll for paid orders via GraphQL */ private pollOrders; } //# sourceMappingURL=MarketplaceProvider.d.ts.map