fmp-ai-tools
Version:
AI tools for FMP Node API - compatible with Vercel AI SDK, Langchain, OpenAI, and more
1 lines • 37.1 kB
Source Map (JSON)
{"version":3,"sources":["../../../src/types.ts","../../../src/utils/tool-wrapper.ts","../../../src/providers/vercel-ai/quote.ts","../../../src/providers/vercel-ai/company.ts","../../../src/providers/vercel-ai/financial.ts","../../../src/providers/vercel-ai/calendar.ts","../../../src/providers/vercel-ai/economic.ts","../../../src/providers/vercel-ai/etf.ts","../../../src/providers/vercel-ai/insider.ts","../../../src/providers/vercel-ai/institutional.ts","../../../src/providers/vercel-ai/market.ts","../../../src/providers/vercel-ai/senate-house.ts","../../../src/providers/vercel-ai/stock.ts","../../../src/providers/vercel-ai/index.ts"],"names":["z"],"mappings":";;;;;AAyBO,SAAS,YAAA,GAAe;AAC7B,EAAA,OAAO,IAAI,GAAA,EAAI;AACjB;ACfO,SAAS,WAAgC,MAAA,EAAuB;AACrE,EAAA,MAAM,EAAE,IAAA,EAAM,WAAA,EAAa,WAAA,EAAa,SAAQ,GAAI,MAAA;AAGpD,EAAA,OAAO,IAAA,CAAK;AAAA,IACV,IAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACM,CAAA;AACV;;;AClBO,IAAM,UAAA,GAAa;AAAA,EACxB,eAAe,UAAA,CAAW;AAAA,IACxB,IAAA,EAAM,eAAA;AAAA,IACN,WAAA,EAAa,mCAAA;AAAA,IACb,WAAA,EAAa,EAAE,MAAA,CAAO;AAAA,MACpB,MAAA,EAAQ,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sDAAsD;AAAA,KACnF,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,UAAA,GAAa,MAAM,GAAA,CAAI,KAAA,CAAM,SAAS,MAAM,CAAA;AAClD,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,UAAA,CAAW,IAAA,EAAM,MAAM,CAAC,CAAA;AACxD,MAAA,OAAO,QAAA;AAAA;AACT,GACD;AACH;ACdO,IAAM,YAAA,GAAe;AAAA,EAC1B,mBAAmB,UAAA,CAAW;AAAA,IAC5B,IAAA,EAAM,mBAAA;AAAA,IACN,WAAA,EAAa,yBAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sCAAsC;AAAA,KACnE,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,cAAA,GAAiB,MAAM,GAAA,CAAI,OAAA,CAAQ,kBAAkB,MAAM,CAAA;AACjE,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,cAAA,CAAe,IAAA,EAAM,MAAM,CAAC,CAAA;AAC5D,MAAA,OAAO,QAAA;AAAA;AACT,GACD;AACH;ACdO,IAAM,cAAA,GAAiB;AAAA,EAC5B,iBAAiB,UAAA,CAAW;AAAA,IAC1B,IAAA,EAAM,iBAAA;AAAA,IACN,WAAA,EAAa,iCAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2CAA2C,CAAA;AAAA,MACvE,MAAA,EAAQA,CAAAA,CACL,IAAA,CAAK,CAAC,QAAA,EAAU,SAAS,CAAC,CAAA,CAC1B,OAAA,CAAQ,QAAQ,CAAA,CAChB,QAAA,CAAS,qCAAqC;AAAA,KAClD,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,QAAO,KAAM;AACrC,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,YAAA,GAAe,MAAM,GAAA,CAAI,SAAA,CAAU,gBAAgB,EAAE,MAAA,EAAQ,QAAQ,CAAA;AAC3E,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,YAAA,CAAa,IAAA,EAAM,MAAM,CAAC,CAAA;AAC1D,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,oBAAoB,UAAA,CAAW;AAAA,IAC7B,IAAA,EAAM,oBAAA;AAAA,IACN,WAAA,EAAa,oCAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8CAA8C,CAAA;AAAA,MAC1E,MAAA,EAAQA,CAAAA,CACL,IAAA,CAAK,CAAC,QAAA,EAAU,SAAS,CAAC,CAAA,CAC1B,OAAA,CAAQ,QAAQ,CAAA,CAChB,QAAA,CAAS,qCAAqC;AAAA,KAClD,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,QAAO,KAAM;AACrC,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,eAAA,GAAkB,MAAM,GAAA,CAAI,SAAA,CAAU,mBAAmB,EAAE,MAAA,EAAQ,QAAQ,CAAA;AACjF,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,eAAA,CAAgB,IAAA,EAAM,MAAM,CAAC,CAAA;AAC7D,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,sBAAsB,UAAA,CAAW;AAAA,IAC/B,IAAA,EAAM,sBAAA;AAAA,IACN,WAAA,EAAa,uCAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iDAAiD,CAAA;AAAA,MAC7E,MAAA,EAAQA,CAAAA,CACL,IAAA,CAAK,CAAC,QAAA,EAAU,SAAS,CAAC,CAAA,CAC1B,OAAA,CAAQ,QAAQ,CAAA,CAChB,QAAA,CAAS,qCAAqC;AAAA,KAClD,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,QAAO,KAAM;AACrC,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,iBAAA,GAAoB,MAAM,GAAA,CAAI,SAAA,CAAU,qBAAqB,EAAE,MAAA,EAAQ,QAAQ,CAAA;AACrF,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,EAAM,MAAM,CAAC,CAAA;AAC/D,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,oBAAoB,UAAA,CAAW;AAAA,IAC7B,IAAA,EAAM,oBAAA;AAAA,IACN,WAAA,EAAa,oCAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8CAA8C,CAAA;AAAA,MAC1E,MAAA,EAAQA,CAAAA,CACL,IAAA,CAAK,CAAC,QAAA,EAAU,SAAS,CAAC,CAAA,CAC1B,OAAA,CAAQ,QAAQ,CAAA,CAChB,QAAA,CAAS,qCAAqC;AAAA,KAClD,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,QAAO,KAAM;AACrC,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,eAAA,GAAkB,MAAM,GAAA,CAAI,SAAA,CAAU,mBAAmB,EAAE,MAAA,EAAQ,QAAQ,CAAA;AACjF,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,eAAA,CAAgB,IAAA,EAAM,MAAM,CAAC,CAAA;AAC7D,MAAA,OAAO,QAAA;AAAA;AACT,GACD;AACH;ACxEO,IAAM,aAAA,GAAgB;AAAA,EAC3B,qBAAqB,UAAA,CAAW;AAAA,IAC9B,IAAA,EAAM,qBAAA;AAAA,IACN,WAAA,EAAa,uBAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,MACtE,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAAA,KACnE,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,IAAA,EAAM,IAAG,KAAM;AAC/B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,gBAAA,GAAmB,MAAM,GAAA,CAAI,QAAA,CAAS,oBAAoB,EAAE,IAAA,EAAM,IAAI,CAAA;AAC5E,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,gBAAA,CAAiB,IAAA,EAAM,MAAM,CAAC,CAAA;AAC9D,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,qBAAqB,UAAA,CAAW;AAAA,IAC9B,IAAA,EAAM,qBAAA;AAAA,IACN,WAAA,EAAa,uBAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,MACtE,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAAA,KACnE,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,IAAA,EAAM,IAAG,KAAM;AAC/B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,gBAAA,GAAmB,MAAM,GAAA,CAAI,QAAA,CAAS,qBAAqB,EAAE,IAAA,EAAM,IAAI,CAAA;AAC7E,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,gBAAA,CAAiB,IAAA,EAAM,MAAM,CAAC,CAAA;AAC9D,MAAA,OAAO,QAAA;AAAA;AACT,GACD;AACH;AC9BO,IAAM,aAAA,GAAgB;AAAA,EAC3B,kBAAkB,UAAA,CAAW;AAAA,IAC3B,IAAA,EAAM,kBAAA;AAAA,IACN,WAAA,EAAa,oBAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,MACtE,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAAA,KACnE,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,IAAA,EAAM,IAAG,KAAM;AAC/B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,aAAA,GAAgB,MAAM,GAAA,CAAI,QAAA,CAAS,iBAAiB,EAAE,IAAA,EAAM,IAAI,CAAA;AACtE,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,aAAA,CAAc,IAAA,EAAM,MAAM,CAAC,CAAA;AAC3D,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,uBAAuB,UAAA,CAAW;AAAA,IAChC,IAAA,EAAM,uBAAA;AAAA,IACN,WAAA,EAAa,yBAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,IAAA,EAAMA,EACH,IAAA,CAAK;AAAA,QACJ,KAAA;AAAA,QACA,SAAA;AAAA,QACA,qBAAA;AAAA,QACA,kBAAA;AAAA,QACA,cAAA;AAAA,QACA,KAAA;AAAA,QACA,eAAA;AAAA,QACA,WAAA;AAAA,QACA,aAAA;AAAA,QACA,mBAAA;AAAA,QACA,cAAA;AAAA,QACA,kBAAA;AAAA,QACA,qBAAA;AAAA,QACA,eAAA;AAAA,QACA,gCAAA;AAAA,QACA,gDAAA;AAAA,QACA,mBAAA;AAAA,QACA,kBAAA;AAAA,QACA,kCAAA;AAAA,QACA,kDAAA;AAAA,QACA,wDAAA;AAAA,QACA,gCAAA;AAAA,QACA;AAAA,OACD,CAAA,CACA,QAAA,CAAS,oCAAoC,CAAA;AAAA,MAChD,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,MACtE,IAAIA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAAA,KACnE,CAAA;AAAA,IACD,SAAS,OAAO,EAAE,IAAA,EAAM,IAAA,EAAM,IAAG,KAAM;AACrC,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,kBAAA,GAAqB,MAAM,GAAA,CAAI,QAAA,CAAS,sBAAsB,EAAE,IAAA,EAAM,IAAA,EAAM,EAAA,EAAI,CAAA;AACtF,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,kBAAA,CAAmB,IAAA,EAAM,MAAM,CAAC,CAAA;AAChE,MAAA,OAAO,QAAA;AAAA;AACT,GACD;AACH;ACzDO,IAAM,QAAA,GAAW;AAAA,EACtB,gBAAgB,UAAA,CAAW;AAAA,IACzB,IAAA,EAAM,gBAAA;AAAA,IACN,WAAA,EAAa,4CAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kCAAkC,CAAA;AAAA,MAC9D,MAAMA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,uCAAuC;AAAA,KAC7E,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,MAAK,KAAM;AACnC,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,MAAA,GAAc,EAAE,MAAA,EAAO;AAC7B,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,MAAA,CAAO,IAAA,GAAO,IAAA;AAAA;AAEhB,MAAA,MAAM,WAAA,GAAc,MAAM,GAAA,CAAI,GAAA,CAAI,YAAY,MAAM,CAAA;AACpD,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,WAAA,CAAY,IAAA,EAAM,MAAM,CAAC,CAAA;AACzD,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,eAAe,UAAA,CAAW;AAAA,IACxB,IAAA,EAAM,eAAA;AAAA,IACN,WAAA,EAAa,6BAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kCAAkC;AAAA,KAC/D,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,UAAA,GAAa,MAAM,GAAA,CAAI,GAAA,CAAI,WAAW,MAAM,CAAA;AAClD,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,UAAA,CAAW,IAAA,EAAM,MAAM,CAAC,CAAA;AACxD,MAAA,OAAO,QAAA;AAAA;AACT,GACD;AACH;ACjCO,IAAM,YAAA,GAAe;AAAA,EAC1B,mBAAmB,UAAA,CAAW;AAAA,IAC5B,IAAA,EAAM,mBAAA;AAAA,IACN,WAAA,EAAa,sDAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wCAAwC,CAAA;AAAA,MACpE,IAAA,EAAMA,EAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA,CAAE,SAAS,4BAA4B;AAAA,KAClE,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,MAAK,KAAM;AACnC,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,iBAAiB,MAAM,GAAA,CAAI,OAAA,CAAQ,wBAAA,CAAyB,QAAQ,IAAI,CAAA;AAC9E,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,cAAA,CAAe,IAAA,EAAM,MAAM,CAAC,CAAA;AAC5D,MAAA,OAAO,QAAA;AAAA;AACT,GACD;AACH;ACfO,IAAM,kBAAA,GAAqB;AAAA,EAChC,yBAAyB,UAAA,CAAW;AAAA,IAClC,IAAA,EAAM,yBAAA;AAAA,IACN,WAAA,EAAa,uDAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wCAAwC;AAAA,KACrE,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,uBAAuB,MAAM,GAAA,CAAI,cAAc,uBAAA,CAAwB,EAAE,QAAQ,CAAA;AACvF,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,oBAAA,CAAqB,IAAA,EAAM,MAAM,CAAC,CAAA;AAClE,MAAA,OAAO,QAAA;AAAA;AACT,GACD;AACH;ACdO,IAAM,WAAA,GAAc;AAAA,EACzB,sBAAsB,UAAA,CAAW;AAAA,IAC/B,IAAA,EAAM,sBAAA;AAAA,IACN,WAAA,EAAa,qCAAA;AAAA,IACb,WAAA,EAAaA,CAAAA,CAAE,MAAA,CAAO,EAAE,CAAA;AAAA,IACxB,SAAS,YAAY;AACnB,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,iBAAA,GAAoB,MAAM,GAAA,CAAI,MAAA,CAAO,oBAAA,EAAqB;AAChE,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,EAAM,MAAM,CAAC,CAAA;AAC/D,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,sBAAsB,UAAA,CAAW;AAAA,IAC/B,IAAA,EAAM,sBAAA;AAAA,IACN,WAAA,EAAa,6BAAA;AAAA,IACb,WAAA,EAAaA,CAAAA,CAAE,MAAA,CAAO,EAAE,CAAA;AAAA,IACxB,SAAS,YAAY;AACnB,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,iBAAA,GAAoB,MAAM,GAAA,CAAI,MAAA,CAAO,oBAAA,EAAqB;AAChE,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,iBAAA,CAAkB,IAAA,EAAM,MAAM,CAAC,CAAA;AAC/D,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,YAAY,UAAA,CAAW;AAAA,IACrB,IAAA,EAAM,YAAA;AAAA,IACN,WAAA,EAAa,wBAAA;AAAA,IACb,WAAA,EAAaA,CAAAA,CAAE,MAAA,CAAO,EAAE,CAAA;AAAA,IACxB,SAAS,YAAY;AACnB,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,OAAA,GAAU,MAAM,GAAA,CAAI,MAAA,CAAO,UAAA,EAAW;AAC5C,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,OAAA,CAAQ,IAAA,EAAM,MAAM,CAAC,CAAA;AACrD,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,WAAW,UAAA,CAAW;AAAA,IACpB,IAAA,EAAM,WAAA;AAAA,IACN,WAAA,EAAa,uBAAA;AAAA,IACb,WAAA,EAAaA,CAAAA,CAAE,MAAA,CAAO,EAAE,CAAA;AAAA,IACxB,SAAS,YAAY;AACnB,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,MAAA,GAAS,MAAM,GAAA,CAAI,MAAA,CAAO,SAAA,EAAU;AAC1C,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,IAAA,EAAM,MAAM,CAAC,CAAA;AACpD,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,eAAe,UAAA,CAAW;AAAA,IACxB,IAAA,EAAM,eAAA;AAAA,IACN,WAAA,EAAa,wBAAA;AAAA,IACb,WAAA,EAAaA,CAAAA,CAAE,MAAA,CAAO,EAAE,CAAA;AAAA,IACxB,SAAS,YAAY;AACnB,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,UAAA,GAAa,MAAM,GAAA,CAAI,MAAA,CAAO,aAAA,EAAc;AAClD,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,UAAA,CAAW,IAAA,EAAM,MAAM,CAAC,CAAA;AACxD,MAAA,OAAO,QAAA;AAAA;AACT,GACD;AACH;AC5DO,IAAM,gBAAA,GAAmB;AAAA,EAC9B,kBAAkB,UAAA,CAAW;AAAA,IAC3B,IAAA,EAAM,kBAAA;AAAA,IACN,WAAA,EAAa,qDAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wCAAwC;AAAA,KACrE,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,gBAAgB,MAAM,GAAA,CAAI,YAAY,gBAAA,CAAiB,EAAE,QAAQ,CAAA;AACvE,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,aAAA,CAAc,IAAA,EAAM,MAAM,CAAC,CAAA;AAC3D,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,iBAAiB,UAAA,CAAW;AAAA,IAC1B,IAAA,EAAM,iBAAA;AAAA,IACN,WAAA,EAAa,oDAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wCAAwC;AAAA,KACrE,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,eAAe,MAAM,GAAA,CAAI,YAAY,eAAA,CAAgB,EAAE,QAAQ,CAAA;AACrE,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,YAAA,CAAa,IAAA,EAAM,MAAM,CAAC,CAAA;AAC1D,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,wBAAwB,UAAA,CAAW;AAAA,IACjC,IAAA,EAAM,wBAAA;AAAA,IACN,WAAA,EAAa,wDAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iDAAiD;AAAA,KAC5E,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,IAAA,EAAK,KAAM;AAC3B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,sBAAsB,MAAM,GAAA,CAAI,YAAY,sBAAA,CAAuB,EAAE,MAAM,CAAA;AACjF,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,mBAAA,CAAoB,IAAA,EAAM,MAAM,CAAC,CAAA;AACjE,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,uBAAuB,UAAA,CAAW;AAAA,IAChC,IAAA,EAAM,uBAAA;AAAA,IACN,WAAA,EAAa,8DAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,IAAA,EAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAAwD;AAAA,KACnF,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,IAAA,EAAK,KAAM;AAC3B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,qBAAqB,MAAM,GAAA,CAAI,YAAY,qBAAA,CAAsB,EAAE,MAAM,CAAA;AAC/E,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,kBAAA,CAAmB,IAAA,EAAM,MAAM,CAAC,CAAA;AAChE,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,yBAAyB,UAAA,CAAW;AAAA,IAClC,IAAA,EAAM,yBAAA;AAAA,IACN,WAAA,EAAa,0DAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,IAAA,EAAMA,EAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA,CAAE,SAAS,4BAA4B;AAAA,KAClE,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,IAAA,GAAO,GAAE,KAAM;AAC/B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,uBAAuB,MAAM,GAAA,CAAI,YAAY,uBAAA,CAAwB,EAAE,MAAM,CAAA;AACnF,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,oBAAA,CAAqB,IAAA,EAAM,MAAM,CAAC,CAAA;AAClE,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,wBAAwB,UAAA,CAAW;AAAA,IACjC,IAAA,EAAM,wBAAA;AAAA,IACN,WAAA,EAAa,yDAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,IAAA,EAAMA,EAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA,CAAE,SAAS,4BAA4B;AAAA,KAClE,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,IAAA,GAAO,GAAE,KAAM;AAC/B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,sBAAsB,MAAM,GAAA,CAAI,YAAY,sBAAA,CAAuB,EAAE,MAAM,CAAA;AACjF,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,mBAAA,CAAoB,IAAA,EAAM,MAAM,CAAC,CAAA;AACjE,MAAA,OAAO,QAAA;AAAA;AACT,GACD;AACH;ACpFO,IAAM,UAAA,GAAa;AAAA,EACxB,cAAc,UAAA,CAAW;AAAA,IACvB,IAAA,EAAM,cAAA;AAAA,IACN,WAAA,EAAa,yCAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wCAAwC;AAAA,KACrE,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,SAAA,GAAY,MAAM,GAAA,CAAI,KAAA,CAAM,aAAa,MAAM,CAAA;AACrD,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,SAAA,CAAU,IAAA,EAAM,MAAM,CAAC,CAAA;AACvD,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,gBAAgB,UAAA,CAAW;AAAA,IACzB,IAAA,EAAM,gBAAA;AAAA,IACN,WAAA,EAAa,wCAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,0CAA0C;AAAA,KACvE,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,WAAA,GAAc,MAAM,GAAA,CAAI,KAAA,CAAM,eAAe,MAAM,CAAA;AACzD,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,WAAA,CAAY,IAAA,EAAM,MAAM,CAAC,CAAA;AACzD,MAAA,OAAO,QAAA;AAAA;AACT,GACD,CAAA;AAAA,EAED,oBAAoB,UAAA,CAAW;AAAA,IAC7B,IAAA,EAAM,oBAAA;AAAA,IACN,WAAA,EAAa,oCAAA;AAAA,IACb,WAAA,EAAaA,EAAE,MAAA,CAAO;AAAA,MACpB,MAAA,EAAQA,CAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8CAA8C;AAAA,KAC3E,CAAA;AAAA,IACD,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,MAAA,MAAM,MAAM,YAAA,EAAa;AACzB,MAAA,MAAM,eAAA,GAAkB,MAAM,GAAA,CAAI,KAAA,CAAM,mBAAmB,MAAM,CAAA;AACjE,MAAA,MAAM,WAAW,IAAA,CAAK,SAAA,CAAU,eAAA,CAAgB,IAAA,EAAM,MAAM,CAAC,CAAA;AAC7D,MAAA,OAAO,QAAA;AAAA;AACT,GACD;AACH;;;AChCO,IAAM,EAAE,mBAAkB,GAAI;AAE9B,IAAM,EAAE,mBAAA,EAAqB,mBAAA,EAAoB,GAAI;AAErD,IAAM,EAAE,gBAAA,EAAkB,qBAAA,EAAsB,GAAI;AAEpD,IAAM,EAAE,cAAA,EAAgB,aAAA,EAAc,GAAI;AAE1C,IAAM,EAAE,eAAA,EAAiB,kBAAA,EAAoB,oBAAA,EAAsB,oBAAmB,GAC3F;AAEK,IAAM,EAAE,mBAAkB,GAAI;AAE9B,IAAM,EAAE,yBAAwB,GAAI;AAEpC,IAAM,EAAE,oBAAA,EAAsB,oBAAA,EAAsB,UAAA,EAAY,SAAA,EAAW,eAAc,GAC9F;AAEK,IAAM,EAAE,eAAc,GAAI;AAE1B,IAAM;AAAA,EACX,gBAAA;AAAA,EACA,eAAA;AAAA,EACA,sBAAA;AAAA,EACA,qBAAA;AAAA,EACA,uBAAA;AAAA,EACA;AACF,CAAA,GAAI;AAEG,IAAM,EAAE,YAAA,EAAc,cAAA,EAAgB,kBAAA,EAAmB,GAAI;AAG7D,IAAM,QAAA,GAAW;AAAA,EACtB,GAAG,UAAA;AAAA,EACH,GAAG,YAAA;AAAA,EACH,GAAG,cAAA;AAAA,EACH,GAAG,aAAA;AAAA,EACH,GAAG,aAAA;AAAA,EACH,GAAG,QAAA;AAAA,EACH,GAAG,YAAA;AAAA,EACH,GAAG,kBAAA;AAAA,EACH,GAAG,WAAA;AAAA,EACH,GAAG,gBAAA;AAAA,EACH,GAAG;AACL","file":"index.mjs","sourcesContent":["/**\n * Tool interface that matches the ai library's expected format\n * This is what the ai library produces when using their tool() function\n */\nexport interface Tool {\n type: 'function';\n function: {\n name: string;\n description: string;\n parameters: {\n type: 'object';\n properties: Record<string, any>;\n required: string[];\n };\n };\n execute: (args: any) => Promise<string>;\n}\n\n/**\n * Internal FMP API client instance\n * Used internally by the tools, not exported publicly\n */\nimport { FMP } from 'fmp-node-api';\n\n// Create a function to get the FMP client instance (internal use only)\nexport function getFMPClient() {\n return new FMP();\n}\n","import { z } from 'zod';\nimport { tool } from 'ai';\n\n// Tool configuration interface for AI SDK v2\nexport interface ToolConfig<T extends z.ZodType> {\n name: string;\n description: string;\n inputSchema: T;\n execute: (args: z.infer<T>) => Promise<string>;\n}\n\n// AI SDK v2 compatible tool creator using the ai library's tool function\nexport function createTool<T extends z.ZodType>(config: ToolConfig<T>) {\n const { name, description, inputSchema, execute } = config;\n\n // Use the AI SDK's tool function to create a compatible tool\n return tool({\n name,\n description,\n inputSchema,\n execute,\n } as any); // Use type assertion to avoid deep type inference issues\n}\n","import { z } from 'zod';\nimport { getFMPClient } from '@/types';\nimport { createTool } from '@/utils/tool-wrapper';\n\nexport const quoteTools = {\n getStockQuote: createTool({\n name: 'getStockQuote',\n description: 'Get the stock quote for a company',\n inputSchema: z.object({\n symbol: z.string().describe('The symbol of the company to get the stock quote for'),\n }),\n execute: async ({ symbol }) => {\n const fmp = getFMPClient();\n const stockQuote = await fmp.quote.getQuote(symbol);\n const response = JSON.stringify(stockQuote.data, null, 2);\n return response;\n },\n }),\n};\n","import { z } from 'zod';\nimport { createTool } from '@/utils/tool-wrapper';\nimport { getFMPClient } from '@/types';\n\nexport const companyTools = {\n getCompanyProfile: createTool({\n name: 'getCompanyProfile',\n description: 'Get the company profile',\n inputSchema: z.object({\n symbol: z.string().describe('The stock ticker symbol (e.g., AAPL)'),\n }),\n execute: async ({ symbol }) => {\n const fmp = getFMPClient();\n const companyProfile = await fmp.company.getCompanyProfile(symbol);\n const response = JSON.stringify(companyProfile.data, null, 2);\n return response;\n },\n }),\n};\n","import { z } from 'zod';\nimport { getFMPClient } from '@/types';\nimport { createTool } from '@/utils/tool-wrapper';\n\nexport const financialTools = {\n getBalanceSheet: createTool({\n name: 'getBalanceSheet',\n description: 'Get balance sheet for a company',\n inputSchema: z.object({\n symbol: z.string().describe('The stock symbol to get balance sheet for'),\n period: z\n .enum(['annual', 'quarter'])\n .default('annual')\n .describe('The period type (annual or quarter)'),\n }),\n execute: async ({ symbol, period }) => {\n const fmp = getFMPClient();\n const balanceSheet = await fmp.financial.getBalanceSheet({ symbol, period });\n const response = JSON.stringify(balanceSheet.data, null, 2);\n return response;\n },\n }),\n\n getIncomeStatement: createTool({\n name: 'getIncomeStatement',\n description: 'Get income statement for a company',\n inputSchema: z.object({\n symbol: z.string().describe('The stock symbol to get income statement for'),\n period: z\n .enum(['annual', 'quarter'])\n .default('annual')\n .describe('The period type (annual or quarter)'),\n }),\n execute: async ({ symbol, period }) => {\n const fmp = getFMPClient();\n const incomeStatement = await fmp.financial.getIncomeStatement({ symbol, period });\n const response = JSON.stringify(incomeStatement.data, null, 2);\n return response;\n },\n }),\n\n getCashFlowStatement: createTool({\n name: 'getCashFlowStatement',\n description: 'Get cash flow statement for a company',\n inputSchema: z.object({\n symbol: z.string().describe('The stock symbol to get cash flow statement for'),\n period: z\n .enum(['annual', 'quarter'])\n .default('annual')\n .describe('The period type (annual or quarter)'),\n }),\n execute: async ({ symbol, period }) => {\n const fmp = getFMPClient();\n const cashFlowStatement = await fmp.financial.getCashFlowStatement({ symbol, period });\n const response = JSON.stringify(cashFlowStatement.data, null, 2);\n return response;\n },\n }),\n\n getFinancialRatios: createTool({\n name: 'getFinancialRatios',\n description: 'Get financial ratios for a company',\n inputSchema: z.object({\n symbol: z.string().describe('The stock symbol to get financial ratios for'),\n period: z\n .enum(['annual', 'quarter'])\n .default('annual')\n .describe('The period type (annual or quarter)'),\n }),\n execute: async ({ symbol, period }) => {\n const fmp = getFMPClient();\n const financialRatios = await fmp.financial.getFinancialRatios({ symbol, period });\n const response = JSON.stringify(financialRatios.data, null, 2);\n return response;\n },\n }),\n};\n","import { z } from 'zod';\nimport { createTool } from '@/utils/tool-wrapper';\nimport { getFMPClient } from '@/types';\n\nexport const calendarTools = {\n getEarningsCalendar: createTool({\n name: 'getEarningsCalendar',\n description: 'Get earnings calendar',\n inputSchema: z.object({\n from: z.string().optional().describe('Start date in YYYY-MM-DD format'),\n to: z.string().optional().describe('End date in YYYY-MM-DD format'),\n }),\n execute: async ({ from, to }) => {\n const fmp = getFMPClient();\n const earningsCalendar = await fmp.calendar.getEarningsCalendar({ from, to });\n const response = JSON.stringify(earningsCalendar.data, null, 2);\n return response;\n },\n }),\n\n getEconomicCalendar: createTool({\n name: 'getEconomicCalendar',\n description: 'Get economic calendar',\n inputSchema: z.object({\n from: z.string().optional().describe('Start date in YYYY-MM-DD format'),\n to: z.string().optional().describe('End date in YYYY-MM-DD format'),\n }),\n execute: async ({ from, to }) => {\n const fmp = getFMPClient();\n const economicCalendar = await fmp.calendar.getEconomicsCalendar({ from, to });\n const response = JSON.stringify(economicCalendar.data, null, 2);\n return response;\n },\n }),\n};\n","import { z } from 'zod';\nimport { getFMPClient } from '@/types';\nimport { createTool } from '@/utils/tool-wrapper';\n\nexport const economicTools = {\n getTreasuryRates: createTool({\n name: 'getTreasuryRates',\n description: 'Get treasury rates',\n inputSchema: z.object({\n from: z.string().optional().describe('Start date in YYYY-MM-DD format'),\n to: z.string().optional().describe('End date in YYYY-MM-DD format'),\n }),\n execute: async ({ from, to }) => {\n const fmp = getFMPClient();\n const treasuryRates = await fmp.economic.getTreasuryRates({ from, to });\n const response = JSON.stringify(treasuryRates.data, null, 2);\n return response;\n },\n }),\n\n getEconomicIndicators: createTool({\n name: 'getEconomicIndicators',\n description: 'Get economic indicators',\n inputSchema: z.object({\n name: z\n .enum([\n 'GDP',\n 'realGDP',\n 'nominalPotentialGDP',\n 'realGDPPerCapita',\n 'federalFunds',\n 'CPI',\n 'inflationRate',\n 'inflation',\n 'retailSales',\n 'consumerSentiment',\n 'durableGoods',\n 'unemploymentRate',\n 'totalNonfarmPayroll',\n 'initialClaims',\n 'industrialProductionTotalIndex',\n 'newPrivatelyOwnedHousingUnitsStartedTotalUnits',\n 'totalVehicleSales',\n 'retailMoneyFunds',\n 'smoothedUSRecessionProbabilities',\n '3MonthOr90DayRatesAndYieldsCertificatesOfDeposit',\n 'commercialBankInterestRateOnCreditCardPlansAllAccounts',\n '30YearFixedRateMortgageAverage',\n '15YearFixedRateMortgageAverage',\n ])\n .describe('The name of the economic indicator'),\n from: z.string().optional().describe('Start date in YYYY-MM-DD format'),\n to: z.string().optional().describe('End date in YYYY-MM-DD format'),\n }),\n execute: async ({ name, from, to }) => {\n const fmp = getFMPClient();\n const economicIndicators = await fmp.economic.getEconomicIndicators({ name, from, to });\n const response = JSON.stringify(economicIndicators.data, null, 2);\n return response;\n },\n }),\n};\n","import { z } from 'zod';\nimport { getFMPClient } from '@/types';\nimport { createTool } from '@/utils/tool-wrapper';\n\nexport const etfTools = {\n getETFHoldings: createTool({\n name: 'getETFHoldings',\n description: 'Get ETF holdings for a specific ETF symbol',\n inputSchema: z.object({\n symbol: z.string().describe('ETF symbol (e.g., SPY, QQQ, VTI)'),\n date: z.string().optional().describe('Date for holdings (YYYY-MM-DD format)'),\n }),\n execute: async ({ symbol, date }) => {\n const fmp = getFMPClient();\n const params: any = { symbol };\n if (date) {\n params.date = date;\n }\n const etfHoldings = await fmp.etf.getHoldings(params);\n const response = JSON.stringify(etfHoldings.data, null, 2);\n return response;\n },\n }),\n\n getETFProfile: createTool({\n name: 'getETFProfile',\n description: 'Get ETF profile information',\n inputSchema: z.object({\n symbol: z.string().describe('ETF symbol (e.g., SPY, QQQ, VTI)'),\n }),\n execute: async ({ symbol }) => {\n const fmp = getFMPClient();\n const etfProfile = await fmp.etf.getProfile(symbol);\n const response = JSON.stringify(etfProfile.data, null, 2);\n return response;\n },\n }),\n};\n","import { z } from 'zod';\nimport { createTool } from '@/utils/tool-wrapper';\nimport { getFMPClient } from '@/types';\n\nexport const insiderTools = {\n getInsiderTrading: createTool({\n name: 'getInsiderTrading',\n description: 'Get insider trading data for a specific stock symbol',\n inputSchema: z.object({\n symbol: z.string().describe('Stock symbol (e.g., AAPL, MSFT, GOOGL)'),\n page: z.number().default(0).describe('Page number for pagination'),\n }),\n execute: async ({ symbol, page }) => {\n const fmp = getFMPClient();\n const insiderTrading = await fmp.insider.getInsiderTradesBySymbol(symbol, page);\n const response = JSON.stringify(insiderTrading.data, null, 2);\n return response;\n },\n }),\n};\n","import { z } from 'zod';\nimport { getFMPClient } from '@/types';\nimport { createTool } from '@/utils/tool-wrapper';\n\nexport const institutionalTools = {\n getInstitutionalHolders: createTool({\n name: 'getInstitutionalHolders',\n description: 'Get institutional holders for a specific stock symbol',\n inputSchema: z.object({\n symbol: z.string().describe('Stock symbol (e.g., AAPL, MSFT, GOOGL)'),\n }),\n execute: async ({ symbol }) => {\n const fmp = getFMPClient();\n const institutionalHolders = await fmp.institutional.getInstitutionalHolders({ symbol });\n const response = JSON.stringify(institutionalHolders.data, null, 2);\n return response;\n },\n }),\n};\n","import { z } from 'zod';\nimport { getFMPClient } from '@/types';\nimport { createTool } from '@/utils/tool-wrapper';\n\nexport const marketTools = {\n getMarketPerformance: createTool({\n name: 'getMarketPerformance',\n description: 'Get overall market performance data',\n inputSchema: z.object({}),\n execute: async () => {\n const fmp = getFMPClient();\n const marketPerformance = await fmp.market.getMarketPerformance();\n const response = JSON.stringify(marketPerformance.data, null, 2);\n return response;\n },\n }),\n\n getSectorPerformance: createTool({\n name: 'getSectorPerformance',\n description: 'Get sector performance data',\n inputSchema: z.object({}),\n execute: async () => {\n const fmp = getFMPClient();\n const sectorPerformance = await fmp.market.getSectorPerformance();\n const response = JSON.stringify(sectorPerformance.data, null, 2);\n return response;\n },\n }),\n\n getGainers: createTool({\n name: 'getGainers',\n description: 'Get top gaining stocks',\n inputSchema: z.object({}),\n execute: async () => {\n const fmp = getFMPClient();\n const gainers = await fmp.market.getGainers();\n const response = JSON.stringify(gainers.data, null, 2);\n return response;\n },\n }),\n\n getLosers: createTool({\n name: 'getLosers',\n description: 'Get top losing stocks',\n inputSchema: z.object({}),\n execute: async () => {\n const fmp = getFMPClient();\n const losers = await fmp.market.getLosers();\n const response = JSON.stringify(losers.data, null, 2);\n return response;\n },\n }),\n\n getMostActive: createTool({\n name: 'getMostActive',\n description: 'Get most active stocks',\n inputSchema: z.object({}),\n execute: async () => {\n const fmp = getFMPClient();\n const mostActive = await fmp.market.getMostActive();\n const response = JSON.stringify(mostActive.data, null, 2);\n return response;\n },\n }),\n};\n","import { z } from 'zod';\nimport { getFMPClient } from '@/types';\nimport { createTool } from '@/utils/tool-wrapper';\n\nexport const senateHouseTools = {\n getSenateTrading: createTool({\n name: 'getSenateTrading',\n description: 'Get senate trading data for a specific stock symbol',\n inputSchema: z.object({\n symbol: z.string().describe('Stock symbol (e.g., AAPL, MSFT, GOOGL)'),\n }),\n execute: async ({ symbol }) => {\n const fmp = getFMPClient();\n const senateTrading = await fmp.senateHouse.getSenateTrading({ symbol });\n const response = JSON.stringify(senateTrading.data, null, 2);\n return response;\n },\n }),\n\n getHouseTrading: createTool({\n name: 'getHouseTrading',\n description: 'Get house trading data for a specific stock symbol',\n inputSchema: z.object({\n symbol: z.string().describe('Stock symbol (e.g., AAPL, MSFT, GOOGL)'),\n }),\n execute: async ({ symbol }) => {\n const fmp = getFMPClient();\n const houseTrading = await fmp.senateHouse.getHouseTrading({ symbol });\n const response = JSON.stringify(houseTrading.data, null, 2);\n return response;\n },\n }),\n\n getSenateTradingByName: createTool({\n name: 'getSenateTradingByName',\n description: 'Get senate trading data for a specific senator by name',\n inputSchema: z.object({\n name: z.string().describe('The name of the senator to get trading data for'),\n }),\n execute: async ({ name }) => {\n const fmp = getFMPClient();\n const senateTradingByName = await fmp.senateHouse.getSenateTradingByName({ name });\n const response = JSON.stringify(senateTradingByName.data, null, 2);\n return response;\n },\n }),\n\n getHouseTradingByName: createTool({\n name: 'getHouseTradingByName',\n description: 'Get house trading data for a specific representative by name',\n inputSchema: z.object({\n name: z.string().describe('The name of the representative to get trading data for'),\n }),\n execute: async ({ name }) => {\n const fmp = getFMPClient();\n const houseTradingByName = await fmp.senateHouse.getHouseTradingByName({ name });\n const response = JSON.stringify(houseTradingByName.data, null, 2);\n return response;\n },\n }),\n\n getSenateTradingRSSFeed: createTool({\n name: 'getSenateTradingRSSFeed',\n description: 'Get senate trading data through RSS feed with pagination',\n inputSchema: z.object({\n page: z.number().default(0).describe('Page number for pagination'),\n }),\n execute: async ({ page = 0 }) => {\n const fmp = getFMPClient();\n const senateTradingRSSFeed = await fmp.senateHouse.getSenateTradingRSSFeed({ page });\n const response = JSON.stringify(senateTradingRSSFeed.data, null, 2);\n return response;\n },\n }),\n\n getHouseTradingRSSFeed: createTool({\n name: 'getHouseTradingRSSFeed',\n description: 'Get house trading data through RSS feed with pagination',\n inputSchema: z.object({\n page: z.number().default(0).describe('Page number for pagination'),\n }),\n execute: async ({ page = 0 }) => {\n const fmp = getFMPClient();\n const houseTradingRSSFeed = await fmp.senateHouse.getHouseTradingRSSFeed({ page });\n const response = JSON.stringify(houseTradingRSSFeed.data, null, 2);\n return response;\n },\n }),\n};\n","import { z } from 'zod';\nimport { getFMPClient } from '@/types';\nimport { createTool } from '@/utils/tool-wrapper';\n\nexport const stockTools = {\n getMarketCap: createTool({\n name: 'getMarketCap',\n description: 'Get market capitalization for a company',\n inputSchema: z.object({\n symbol: z.string().describe('The stock symbol to get market cap for'),\n }),\n execute: async ({ symbol }) => {\n const fmp = getFMPClient();\n const marketCap = await fmp.stock.getMarketCap(symbol);\n const response = JSON.stringify(marketCap.data, null, 2);\n return response;\n },\n }),\n\n getStockSplits: createTool({\n name: 'getStockSplits',\n description: 'Get stock splits history for a company',\n inputSchema: z.object({\n symbol: z.string().describe('The stock symbol to get stock splits for'),\n }),\n execute: async ({ symbol }) => {\n const fmp = getFMPClient();\n const stockSplits = await fmp.stock.getStockSplits(symbol);\n const response = JSON.stringify(stockSplits.data, null, 2);\n return response;\n },\n }),\n\n getDividendHistory: createTool({\n name: 'getDividendHistory',\n description: 'Get dividend history for a company',\n inputSchema: z.object({\n symbol: z.string().describe('The stock symbol to get dividend history for'),\n }),\n execute: async ({ symbol }) => {\n const fmp = getFMPClient();\n const dividendHistory = await fmp.stock.getDividendHistory(symbol);\n const response = JSON.stringify(dividendHistory.data, null, 2);\n return response;\n },\n }),\n};\n","/* istanbul ignore file */\nimport { quoteTools } from './quote';\nimport { companyTools } from './company';\nimport { financialTools } from './financial';\nimport { calendarTools } from './calendar';\nimport { economicTools } from './economic';\nimport { etfTools } from './etf';\nimport { insiderTools } from './insider';\nimport { institutionalTools } from './institutional';\nimport { marketTools } from './market';\nimport { senateHouseTools } from './senate-house';\nimport { stockTools } from './stock';\n\n// Export individual tools for Vercel AI\nexport const { getCompanyProfile } = companyTools;\n\nexport const { getEarningsCalendar, getEconomicCalendar } = calendarTools;\n\nexport const { getTreasuryRates, getEconomicIndicators } = economicTools;\n\nexport const { getETFHoldings, getETFProfile } = etfTools;\n\nexport const { getBalanceSheet, getIncomeStatement, getCashFlowStatement, getFinancialRatios } =\n financialTools;\n\nexport const { getInsiderTrading } = insiderTools;\n\nexport const { getInstitutionalHolders } = institutionalTools;\n\nexport const { getMarketPerformance, getSectorPerformance, getGainers, getLosers, getMostActive } =\n marketTools;\n\nexport const { getStockQuote } = quoteTools;\n\nexport const {\n getSenateTrading,\n getHouseTrading,\n getSenateTradingByName,\n getHouseTradingByName,\n getSenateTradingRSSFeed,\n getHouseTradingRSSFeed,\n} = senateHouseTools;\n\nexport const { getMarketCap, getStockSplits, getDividendHistory } = stockTools;\n\n// Combine all tools into a single object for AI SDK v2\nexport const fmpTools = {\n ...quoteTools,\n ...companyTools,\n ...financialTools,\n ...calendarTools,\n ...economicTools,\n ...etfTools,\n ...insiderTools,\n ...institutionalTools,\n ...marketTools,\n ...senateHouseTools,\n ...stockTools,\n} as const;\n\n// Re-export individual tool groups\nexport {\n quoteTools,\n companyTools,\n financialTools,\n calendarTools,\n economicTools,\n etfTools,\n insiderTools,\n institutionalTools,\n marketTools,\n senateHouseTools,\n stockTools,\n};\n\n// Re-export types\nexport type { ToolSet } from 'ai';\n"]}