{"version":3,"sources":["../src/ai/tools/suiWalletBalanceTool.ts"],"names":[],"mappings":";;;;;;AAMO,IAAM,uBAAuB,IAAK,CAAA;AAAA,EACvC,WACE,EAAA,wFAAA;AAAA,EACF,UAAY,EAAA,CAAA,CAAE,MAAO,CAAA,EAAE,CAAA;AAAA,EACvB,SAAS,MAAY,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AAGnB,IAAA,MAAM,qBAAqB,iBAAkB,EAAA;AAE7C,IAAM,MAAA,WAAA,GAAc,IAAI,WAAY,EAAA;AACpC,IAAM,MAAA,QAAA,GAAW,MAAM,WAAA,CAAY,qBAAsB,EAAA;AAGzD,IAAA,gBAAA,CAAiB,kBAAkB,CAAA;AAEnC,IAAM,MAAA,iBAAA,GAAoB,IAAI,iBAAkB,EAAA;AAChD,IAAM,MAAA,gBAAA,GAAmB,MAAM,iBAAA,CAAkB,qBAAsB,EAAA;AACvE,IAAI,IAAA,MAAA,CAAO,gBAAgB,CAAA,GAAI,CAAG,EAAA;AAChC,MAAA,QAAA,CAAS,qBAAqB,CAAI,GAAA,gBAAA;AAAA;AAGpC,IAAO,OAAA;AAAA,MACL;AAAA,KACF;AAAA,GACF;AACF,CAAC","file":"chunk-ICA6CUNG.mjs","sourcesContent":["import { tool } from 'ai'\nimport z from 'zod'\nimport { disableConsoleLog, enableConsoleLog } from '../../core/utils/utils'\nimport { NaviService } from '../../services/NaviService'\nimport { SuiStakingService } from '../../services/SuiStakingService'\n\nexport const suiWalletBalanceTool = tool({\n  description:\n    'Get non-zero wallet balances. Note that the nUSDC balance should be displayed as USDC.',\n  parameters: z.object({}),\n  execute: async () => {\n    // We need to suppress the Navi's console log messages to prevent polluting the output.\n    // See https://github.com/naviprotocol/navi-sdk/issues/82\n    const originalConsoleLog = disableConsoleLog()\n\n    const naviService = new NaviService()\n    const balances = await naviService.getWalletNonZeroCoins()\n\n    // Get the logs back.\n    enableConsoleLog(originalConsoleLog)\n\n    const suiStakingService = new SuiStakingService()\n    const stakedSuiBalance = await suiStakingService.getTotalStakedBalance()\n    if (Number(stakedSuiBalance) > 0) {\n      balances['Natively Staked SUI'] = stakedSuiBalance\n    }\n\n    return {\n      balances: balances,\n    }\n  },\n})\n"]}