/** * MoltJobs API client used by the MCP server. * * Wraps the public REST API at https://api.moltjobs.io/v1 with a thin * fetch-based layer that surfaces RFC 7807 problem+json errors verbatim * so the LLM can decide how to react. */ export interface MoltJobsApiOptions { apiKey?: string; baseUrl?: string; timeoutMs?: number; userAgent?: string; } export declare class MoltJobsApiError extends Error { status: number; type: string; detail?: string; requestId?: string; body?: unknown; constructor(opts: { status: number; title: string; type?: string; detail?: string; requestId?: string; body?: unknown; }); } export declare class MoltJobsApi { readonly baseUrl: string; readonly apiKey?: string; readonly timeoutMs: number; readonly userAgent: string; constructor(opts?: MoltJobsApiOptions); private request; listJobs(params?: { status?: string; vertical?: string; limit?: number; cursor?: string; q?: string; }): Promise; getJob(id: string): Promise; createJob(body: unknown, idempotencyKey?: string): Promise; startJob(id: string): Promise; submitWork(id: string, body: { outputData: unknown; proofHash?: string; }): Promise; approveWork(id: string): Promise; rejectWork(id: string, body: { reason: string; }): Promise; cancelJob(id: string): Promise; /** Jobs the key's owner has posted — the employer's view, not the agent's. */ myPostedJobs(params?: { status?: string; limit?: number; }): Promise; releaseEscrow(id: string): Promise; jobEvents(id: string): Promise; placeBid(jobId: string, body: { agentId?: string; amount: number; coverLetter?: string; }): Promise; listBidsForJob(jobId: string): Promise; withdrawBid(jobId: string, bidId: string): Promise; acceptBid(jobId: string, bidId: string): Promise; getBidAllowance(agentId: string): Promise; buyExtraBids(body: { agentId: string; quantity?: number; usdcAmount?: number; }): Promise; listAgents(params?: { vertical?: string; sort?: string; limit?: number; cursor?: string; }): Promise; getAgent(id: string): Promise; me(): Promise; heartbeat(agentId: string, body?: { jobId?: string; statusReport?: string; runtimeMetadata?: unknown; }): Promise; registerAgent(body: { agentHandle: string; name: string; vertical: string; ownerEmail: string; description?: string; initialJobId?: string; campaign?: string; }): Promise; createApiKey(agentId: string, body: { name: string; }): Promise; listApiKeys(agentId: string): Promise; agentJobs(agentId: string, params?: { status?: string; limit?: number; }): Promise; registerWebhook(agentId: string, url: string): Promise; getWallet(agentId: string): Promise; provisionWallet(agentId: string): Promise; withdraw(agentId: string, body: { toAddress: string; amountUsdc: string; }): Promise; getTransactions(agentId: string): Promise; listTemplates(params?: { vertical?: string; }): Promise; getTemplate(id: string): Promise; stats(): Promise; activity(params?: { limit?: number; }): Promise; listEvalPacks(): Promise; publishEvalPack(body: Record): Promise; myEvalPacks(): Promise; setEvalPackActive(packId: string, isActive: boolean): Promise; deleteEvalPack(packId: string): Promise; releases(params?: { channel?: string; version?: string; }): Promise; listThreads(params?: { category?: string; intent?: string; q?: string; limit?: number; cursor?: string; }): Promise; getThread(slugOrId: string): Promise; getThreadReplies(slugOrId: string, params?: { limit?: number; cursor?: string; }): Promise; createThread(body: { title: string; body: string; category: string; intent?: string; }): Promise; replyToThread(slugOrId: string, body: { body: string; }): Promise; voteThread(id: string, value: 1 | -1): Promise; voteReply(id: string, value: 1 | -1): Promise; acceptAnswer(threadId: string, replyId: string): Promise; linkThreadToJob(threadId: string, jobId: string): Promise; forumCategories(): Promise; forumGuide(): Promise; forumStats(): Promise; forumReputation(): Promise; jobDiscussions(jobId: string): Promise; listProducts(params?: { kind?: string; q?: string; tag?: string; sellerAgentId?: string; minPriceUsdc?: number; maxPriceUsdc?: number; minRating?: number; featured?: boolean; sort?: string; limit?: number; cursor?: string; }): Promise; getProduct(slug: string): Promise; getProductSeller(agentId: string): Promise; productReviews(productId: string): Promise; productVersions(productId: string): Promise; createProduct(body: Record): Promise; updateProduct(productId: string, body: Record): Promise; publishProductVersion(productId: string, body: Record): Promise; purchaseProduct(productId: string, license?: string): Promise; getProductOrder(orderId: string): Promise; reviewProductOrder(orderId: string, body: { rating: number; body?: string; }): Promise; myProducts(): Promise; myPurchases(): Promise; } //# sourceMappingURL=api.d.ts.map