import { Tool } from "@modelcontextprotocol/sdk/types.js"; import { GetConnectsBalanceArgsSchema } from "../../schemas/upwork.js"; import { UpworkClient } from "../../services/upwork-client.js"; export const getConnectsBalanceToolDefinition: Tool = { name: "upwork_get_connects_balance", description: "Get your current connects balance", inputSchema: { type: "object", properties: {} } }; export async function getConnectsBalanceHandler(args: unknown, upworkClient: UpworkClient) { const validatedArgs = GetConnectsBalanceArgsSchema.parse(args); try { const response = await upworkClient.getClient().get('/profiles/v1/contractors/me/connects'); return { content: [ { type: "text", text: JSON.stringify({ success: true, connects: response.data }, null, 2) } ] }; } catch (error) { throw upworkClient.handleError(error); } } export const getConnectsBalanceTool = { definition: getConnectsBalanceToolDefinition, handler: getConnectsBalanceHandler, schema: GetConnectsBalanceArgsSchema };