diff --git a/components/mboum/actions/get-ad/get-ad.mjs b/components/mboum/actions/get-ad/get-ad.mjs new file mode 100644 index 0000000000000..70f28f88a3b21 --- /dev/null +++ b/components/mboum/actions/get-ad/get-ad.mjs @@ -0,0 +1,43 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-ad", + name: "Get Accumulation/Distribution Line (AD)", + description: "Calculate Accumulation/Distribution Line technical indicator to measure volume flow and confirm price trends. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-indicators-ad)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + interval: { + propDefinition: [ + mboum, + "interval", + ], + }, + limit: { + propDefinition: [ + mboum, + "limit", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getAD({ + $, + params: { + ticker: this.ticker, + interval: this.interval, + limit: this.limit, + }, + }); + + $.export("$summary", `Successfully calculated A/D Line for ${this.ticker} on ${this.interval} intervals`); + return response; + }, +}; diff --git a/components/mboum/actions/get-adosc/get-adosc.mjs b/components/mboum/actions/get-adosc/get-adosc.mjs new file mode 100644 index 0000000000000..b94b6eaa34453 --- /dev/null +++ b/components/mboum/actions/get-adosc/get-adosc.mjs @@ -0,0 +1,64 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-adosc", + name: "Get Accumulation/Distribution Oscillator (ADOSC)", + description: "Calculate Accumulation/Distribution Oscillator technical indicator to measure the momentum of volume flow. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-indicators-adosc)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + interval: { + propDefinition: [ + mboum, + "interval", + ], + }, + seriesType: { + propDefinition: [ + mboum, + "seriesType", + ], + }, + fastPeriod: { + type: "integer", + label: "Fast Period", + description: "Fast period for ADOSC calculation", + optional: true, + }, + slowPeriod: { + type: "integer", + label: "Slow Period", + description: "Slow period for ADOSC calculation", + optional: true, + }, + limit: { + propDefinition: [ + mboum, + "limit", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getADOSC({ + $, + params: { + ticker: this.ticker, + interval: this.interval, + series_type: this.seriesType, + fast_period: this.fastPeriod, + slow_period: this.slowPeriod, + limit: this.limit, + }, + }); + + $.export("$summary", `Successfully calculated ADOSC(${this.fastPeriod},${this.slowPeriod}) for ${this.ticker} on ${this.interval} intervals`); + return response; + }, +}; diff --git a/components/mboum/actions/get-adx/get-adx.mjs b/components/mboum/actions/get-adx/get-adx.mjs new file mode 100644 index 0000000000000..2dca4c51c34ba --- /dev/null +++ b/components/mboum/actions/get-adx/get-adx.mjs @@ -0,0 +1,57 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-adx", + name: "Get Average Directional Index (ADX)", + description: "Calculate Average Directional Index technical indicator to measure trend strength and direction. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-indicators-adx)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + interval: { + propDefinition: [ + mboum, + "interval", + ], + }, + seriesType: { + propDefinition: [ + mboum, + "seriesType", + ], + }, + timePeriod: { + type: "integer", + label: "Time Period", + description: "Number of periods for ADX calculation", + optional: true, + }, + limit: { + propDefinition: [ + mboum, + "limit", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getADX({ + $, + params: { + ticker: this.ticker, + interval: this.interval, + series_type: this.seriesType, + time_period: this.timePeriod, + limit: this.limit, + }, + }); + + $.export("$summary", `Successfully calculated ADX(${this.timePeriod}) for ${this.ticker} on ${this.interval} intervals`); + return response; + }, +}; diff --git a/components/mboum/actions/get-analyst-ratings/get-analyst-ratings.mjs b/components/mboum/actions/get-analyst-ratings/get-analyst-ratings.mjs new file mode 100644 index 0000000000000..8f2410c3ed1cc --- /dev/null +++ b/components/mboum/actions/get-analyst-ratings/get-analyst-ratings.mjs @@ -0,0 +1,36 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-analyst-ratings", + name: "Get Analyst Ratings", + description: "Get analyst ratings and recommendations for a stock including buy/sell/hold ratings. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-stock-analyst-ratings)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + page: { + propDefinition: [ + mboum, + "page", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getAnalystRatings({ + $, + params: { + ticker: this.ticker, + page: this.page, + }, + }); + + $.export("$summary", `Successfully retrieved analyst ratings for ${this.ticker}`); + return response; + }, +}; diff --git a/components/mboum/actions/get-cci/get-cci.mjs b/components/mboum/actions/get-cci/get-cci.mjs new file mode 100644 index 0000000000000..6a1a2a91b1675 --- /dev/null +++ b/components/mboum/actions/get-cci/get-cci.mjs @@ -0,0 +1,57 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-cci", + name: "Get Commodity Channel Index (CCI)", + description: "Calculate Commodity Channel Index technical indicator to identify cyclical trends and overbought/oversold conditions. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-indicators-cci)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + interval: { + propDefinition: [ + mboum, + "interval", + ], + }, + seriesType: { + propDefinition: [ + mboum, + "seriesType", + ], + }, + timePeriod: { + type: "integer", + label: "Time Period", + description: "Number of periods for CCI calculation", + optional: true, + }, + limit: { + propDefinition: [ + mboum, + "limit", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getCCI({ + $, + params: { + ticker: this.ticker, + interval: this.interval, + series_type: this.seriesType, + time_period: this.timePeriod, + limit: this.limit, + }, + }); + + $.export("$summary", `Successfully calculated CCI(${this.timePeriod}) for ${this.ticker} on ${this.interval} intervals`); + return response; + }, +}; diff --git a/components/mboum/actions/get-crypto-currencies/get-crypto-currencies.mjs b/components/mboum/actions/get-crypto-currencies/get-crypto-currencies.mjs new file mode 100644 index 0000000000000..480f71388db1b --- /dev/null +++ b/components/mboum/actions/get-crypto-currencies/get-crypto-currencies.mjs @@ -0,0 +1,30 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-crypto-currencies", + name: "Get Crypto Currencies", + description: "Get crypto currencies. [See the documentation](https://docs.mboum.com/#crypto-GETapi-v1-crypto-coins)", + version: "0.0.1", + type: "action", + props: { + mboum, + page: { + type: "integer", + label: "Page", + description: "The page number to fetch", + optional: true, + }, + }, + async run({ $ }) { + const response = await this.mboum.getCryptoCurrencies({ + $, + params: { + page: this.page, + }, + }); + + $.export("$summary", "Successfully fetched crypto currencies"); + + return response.data; + }, +}; diff --git a/components/mboum/actions/get-crypto-holders/get-crypto-holders.mjs b/components/mboum/actions/get-crypto-holders/get-crypto-holders.mjs new file mode 100644 index 0000000000000..322164732bc58 --- /dev/null +++ b/components/mboum/actions/get-crypto-holders/get-crypto-holders.mjs @@ -0,0 +1,29 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-crypto-holders", + name: "Get Crypto Holders", + description: "Get crypto holders. [See the documentation](https://docs.mboum.com/#crypto-GETapi-v1-crypto-holders)", + version: "0.0.1", + type: "action", + props: { + mboum, + key: { + type: "string", + label: "Key", + description: "Provide the crypto ID. Example: `bitcoin`", + }, + }, + async run({ $ }) { + const response = await this.mboum.getCryptoHolders({ + $, + params: { + key: this.key, + }, + }); + + $.export("$summary", `Successfully fetched crypto holders for ${this.key}`); + + return response.data; + }, +}; diff --git a/components/mboum/actions/get-crypto-modules/get-crypto-modules.mjs b/components/mboum/actions/get-crypto-modules/get-crypto-modules.mjs new file mode 100644 index 0000000000000..40987b18d99a3 --- /dev/null +++ b/components/mboum/actions/get-crypto-modules/get-crypto-modules.mjs @@ -0,0 +1,31 @@ +import mboum from "../../mboum.app.mjs"; +import constants from "../../common/constants.mjs"; + +export default { + key: "mboum-get-crypto-modules", + name: "Get Crypto Modules", + description: "Get crypto modules. [See the documentation](https://docs.mboum.com/#crypto-GETapi-v1-crypto-modules)", + version: "0.0.1", + type: "action", + props: { + mboum, + module: { + type: "string", + label: "Module", + description: "The module to fetch", + options: constants.CRYPTO_MODULES, + }, + }, + async run({ $ }) { + const response = await this.mboum.getCryptoModules({ + $, + params: { + module: this.module, + }, + }); + + $.export("$summary", "Successfully fetched crypto modules"); + + return response; + }, +}; diff --git a/components/mboum/actions/get-crypto-profile/get-crypto-profile.mjs b/components/mboum/actions/get-crypto-profile/get-crypto-profile.mjs new file mode 100644 index 0000000000000..2513aa410d686 --- /dev/null +++ b/components/mboum/actions/get-crypto-profile/get-crypto-profile.mjs @@ -0,0 +1,29 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-crypto-profile", + name: "Get Crypto Profile", + description: "Get crypto profile. [See the documentation](https://docs.mboum.com/#crypto-GETapi-v1-crypto-profile)", + version: "0.0.1", + type: "action", + props: { + mboum, + key: { + type: "string", + label: "Key", + description: "Provide the crypto ID. Example: `bitcoin`", + }, + }, + async run({ $ }) { + const response = await this.mboum.getCryptoProfile({ + $, + params: { + key: this.key, + }, + }); + + $.export("$summary", `Successfully fetched crypto profile for ${this.key}`); + + return response.data; + }, +}; diff --git a/components/mboum/actions/get-crypto-quotes/get-crypto-quotes.mjs b/components/mboum/actions/get-crypto-quotes/get-crypto-quotes.mjs new file mode 100644 index 0000000000000..794e67caf1aeb --- /dev/null +++ b/components/mboum/actions/get-crypto-quotes/get-crypto-quotes.mjs @@ -0,0 +1,29 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-crypto-quotes", + name: "Get Crypto Quotes", + description: "Get crypto quotes. [See the documentation](https://docs.mboum.com/#crypto-GETapi-v1-crypto-quotes)", + version: "0.0.1", + type: "action", + props: { + mboum, + key: { + type: "string", + label: "Key", + description: "Provide the crypto ID. Example: `bitcoin`", + }, + }, + async run({ $ }) { + const response = await this.mboum.getCryptoQuotes({ + $, + params: { + key: this.key, + }, + }); + + $.export("$summary", `Successfully fetched crypto quotes for ${this.key}`); + + return response; + }, +}; diff --git a/components/mboum/actions/get-dividends/get-dividends.mjs b/components/mboum/actions/get-dividends/get-dividends.mjs new file mode 100644 index 0000000000000..1ca9e2c7fd5d4 --- /dev/null +++ b/components/mboum/actions/get-dividends/get-dividends.mjs @@ -0,0 +1,36 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-dividends", + name: "Get Dividends Calendar", + description: "Get upcoming and historical dividend payments and ex-dividend dates. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-calendar-dividends)", + version: "0.0.1", + type: "action", + props: { + mboum, + date: { + propDefinition: [ + mboum, + "date", + ], + }, + page: { + propDefinition: [ + mboum, + "page", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getDividends({ + $, + params: { + date: this.date, + page: this.page, + }, + }); + + $.export("$summary", "Successfully retrieved dividends calendar data"); + return response; + }, +}; diff --git a/components/mboum/actions/get-earnings/get-earnings.mjs b/components/mboum/actions/get-earnings/get-earnings.mjs new file mode 100644 index 0000000000000..9f8d91fa0c92b --- /dev/null +++ b/components/mboum/actions/get-earnings/get-earnings.mjs @@ -0,0 +1,55 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-earnings", + name: "Get Earnings Calendar", + description: "Get upcoming and historical earnings announcements and reports. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-calendar-earnings)", + version: "0.0.1", + type: "action", + props: { + mboum, + startDate: { + type: "string", + label: "Start Date", + description: "Get companies reporting earnings on the specified start date: YYYY-MM-DD", + }, + endDate: { + type: "string", + label: "End Date", + description: "Enter a calendar date. Format: YYYY-MM-DD", + }, + priceMin: { + type: "number", + label: "Price Min", + description: "Filter results by min price of the stock per share value", + optional: true, + }, + optionable: { + type: "boolean", + label: "Optionable", + description: "Return only stocks with optionable contracts available", + optional: true, + }, + page: { + propDefinition: [ + mboum, + "page", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getEarnings({ + $, + params: { + start_date: this.startDate, + end_date: this.endDate, + price_min: this.priceMin, + optionable: this.optionable, + page: this.page, + }, + }); + + $.export("$summary", "Successfully retrieved earnings calendar data"); + return response; + }, +}; diff --git a/components/mboum/actions/get-economic-events/get-economic-events.mjs b/components/mboum/actions/get-economic-events/get-economic-events.mjs new file mode 100644 index 0000000000000..f5684cf31c6a2 --- /dev/null +++ b/components/mboum/actions/get-economic-events/get-economic-events.mjs @@ -0,0 +1,29 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-economic-events", + name: "Get Economic Events", + description: "Get upcoming and historical economic events and indicators that can impact market movements. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-calendar-economic_events)", + version: "0.0.1", + type: "action", + props: { + mboum, + date: { + propDefinition: [ + mboum, + "date", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getEconomicEvents({ + $, + params: { + date: this.date, + }, + }); + + $.export("$summary", "Successfully retrieved economic events"); + return response; + }, +}; diff --git a/components/mboum/actions/get-financials/get-financials.mjs b/components/mboum/actions/get-financials/get-financials.mjs new file mode 100644 index 0000000000000..871cf30ed273f --- /dev/null +++ b/components/mboum/actions/get-financials/get-financials.mjs @@ -0,0 +1,29 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-financials", + name: "Get Financial Statements", + description: "Get comprehensive financial statements including income statement, balance sheet, and cash flow data. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-stock-financials)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getFinancials({ + $, + params: { + ticker: this.ticker, + }, + }); + + $.export("$summary", `Successfully retrieved financials for ${this.ticker}`); + return response; + }, +}; diff --git a/components/mboum/actions/get-highest-iv-options/get-highest-iv-options.mjs b/components/mboum/actions/get-highest-iv-options/get-highest-iv-options.mjs new file mode 100644 index 0000000000000..e9fc8e7e6b846 --- /dev/null +++ b/components/mboum/actions/get-highest-iv-options/get-highest-iv-options.mjs @@ -0,0 +1,39 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-highest-iv-options", + name: "Get Highest IV Options", + description: "Get options contracts with the highest Implied Volatility (IV) levels for volatility trading strategies. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-options-highest-iv)", + version: "0.0.1", + type: "action", + props: { + mboum, + sort: { + type: "string", + label: "Sort", + description: "Sort options by", + options: [ + "HIGHEST", + "LOWEST", + ], + }, + page: { + propDefinition: [ + mboum, + "page", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getHighestIv({ + $, + params: { + sort: this.sort, + page: this.page, + }, + }); + + $.export("$summary", "Successfully retrieved highest IV options"); + return response; + }, +}; diff --git a/components/mboum/actions/get-historical-data/get-historical-data.mjs b/components/mboum/actions/get-historical-data/get-historical-data.mjs new file mode 100644 index 0000000000000..0285f2bee5b01 --- /dev/null +++ b/components/mboum/actions/get-historical-data/get-historical-data.mjs @@ -0,0 +1,60 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-historical-data", + name: "Get Historical Data", + description: "Get comprehensive historical stock data with advanced filtering and date range options. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-stock-historical)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + type: { + type: "string", + label: "Type", + description: "Type of historical data to retrieve", + options: [ + "STOCKS", + "ETF", + "MUTUALFUNDS", + "FUTURES", + ], + }, + fromDate: { + type: "string", + label: "From Date", + description: "Enter a from date, format: YYYY-MM-DD", + }, + toDate: { + type: "string", + label: "To Date", + description: "Enter a to date, format: YYYY-MM-DD", + }, + limit: { + type: "integer", + label: "Limit", + description: "Maximum number of data points to return", + optional: true, + }, + }, + async run({ $ }) { + const response = await this.mboum.getHistoricalData({ + $, + params: { + ticker: this.ticker, + type: this.type, + from_date: this.fromDate, + to_date: this.toDate, + limit: this.limit, + }, + }); + + $.export("$summary", `Successfully retrieved historical data for ${this.ticker}`); + return response; + }, +}; diff --git a/components/mboum/actions/get-history/get-history.mjs b/components/mboum/actions/get-history/get-history.mjs new file mode 100644 index 0000000000000..ce9dd48e507c4 --- /dev/null +++ b/components/mboum/actions/get-history/get-history.mjs @@ -0,0 +1,53 @@ +import mboum from "../../mboum.app.mjs"; +import constants from "../../common/constants.mjs"; + +export default { + key: "mboum-get-history", + name: "Get Stock History", + description: "Get historical stock data including OHLCV (Open, High, Low, Close, Volume) data. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-stock-history)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + interval: { + type: "string", + label: "Interval", + description: "Time interval between two consecutive data points in the time series", + options: constants.HISTORICAL_DATA_INTERVALS, + }, + limit: { + type: "integer", + label: "Limit", + description: "Maximum number of data points to return. (1-1000)", + optional: true, + min: 1, + max: 1000, + }, + dividend: { + type: "boolean", + label: "Dividend", + description: "Include dividend in response", + optional: true, + }, + }, + async run({ $ }) { + const response = await this.mboum.getHistory({ + $, + params: { + ticker: this.ticker, + interval: this.interval, + limit: this.limit, + dividend: this.dividend, + }, + }); + + $.export("$summary", `Successfully retrieved ${this.interval} historical data for ${this.ticker}`); + return response; + }, +}; diff --git a/components/mboum/actions/get-insider-trading/get-insider-trading.mjs b/components/mboum/actions/get-insider-trading/get-insider-trading.mjs new file mode 100644 index 0000000000000..348f018c17c4a --- /dev/null +++ b/components/mboum/actions/get-insider-trading/get-insider-trading.mjs @@ -0,0 +1,65 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-insider-trading", + name: "Get Insider Trading Data", + description: "Get insider trading activities including buys, sells, and other transactions by company insiders. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-insider-trades)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + type: { + type: "string", + label: "Transaction Type", + description: "Type of insider transaction", + options: [ + "Buy", + "Sell", + "Transfer", + ], + optional: true, + }, + minValue: { + type: "string", + label: "Minimum Value", + description: "Filter results by min transaction value", + optional: true, + }, + politiciansOnly: { + type: "boolean", + label: "Politicians Only", + description: "Return insider trades from U.S Congressmen and Senators only", + optional: true, + }, + page: { + propDefinition: [ + mboum, + "page", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getInsiderTrading({ + $, + params: { + ticker: this.ticker, + type: this.type, + minValue: this.minValue, + politiciansOnly: this.politiciansOnly, + page: this.page, + }, + }); + + const tickerText = this.ticker + ? ` for ${this.ticker}` + : ""; + $.export("$summary", `Successfully retrieved insider trading data${tickerText}`); + return response; + }, +}; diff --git a/components/mboum/actions/get-institutional-holdings/get-institutional-holdings.mjs b/components/mboum/actions/get-institutional-holdings/get-institutional-holdings.mjs new file mode 100644 index 0000000000000..24959e76132ba --- /dev/null +++ b/components/mboum/actions/get-institutional-holdings/get-institutional-holdings.mjs @@ -0,0 +1,44 @@ +import mboum from "../../mboum.app.mjs"; +import constants from "../../common/constants.mjs"; + +export default { + key: "mboum-get-institutional-holdings", + name: "Get Institutional Holdings", + description: "Get institutional ownership data including top institutional holders and their position changes. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-stock-institutional-holdings)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + type: { + type: "string", + label: "Type", + description: "Type of institutional holdings to retrieve", + options: constants.INTERNATIONAL_HOLDINGS_TYPES, + }, + limit: { + type: "integer", + label: "Limit", + description: "Maximum number of data points to return", + optional: true, + }, + }, + async run({ $ }) { + const response = await this.mboum.getInstitutionalHoldings({ + $, + params: { + ticker: this.ticker, + type: this.type, + limit: this.limit, + }, + }); + + $.export("$summary", `Successfully retrieved institutional holdings for ${this.ticker}`); + return response; + }, +}; diff --git a/components/mboum/actions/get-ipo-data/get-ipo-data.mjs b/components/mboum/actions/get-ipo-data/get-ipo-data.mjs new file mode 100644 index 0000000000000..9df351d2621cd --- /dev/null +++ b/components/mboum/actions/get-ipo-data/get-ipo-data.mjs @@ -0,0 +1,29 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-ipo-data", + name: "Get IPO Data", + description: "Get upcoming and recent Initial Public Offering (IPO) data including dates, prices, and company information. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-calendar-ipo)", + version: "0.0.1", + type: "action", + props: { + mboum, + date: { + propDefinition: [ + mboum, + "date", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getIpoData({ + $, + params: { + date: this.date, + }, + }); + + $.export("$summary", "Successfully retrieved IPO data"); + return response; + }, +}; diff --git a/components/mboum/actions/get-iv-change/get-iv-change.mjs b/components/mboum/actions/get-iv-change/get-iv-change.mjs new file mode 100644 index 0000000000000..eb7847d6b4c9f --- /dev/null +++ b/components/mboum/actions/get-iv-change/get-iv-change.mjs @@ -0,0 +1,58 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-iv-change", + name: "Get IV Change", + description: "Get Implied Volatility (IV) change data showing volatility movements and trends over time. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-options-iv-change)", + version: "0.0.1", + type: "action", + props: { + mboum, + type: { + type: "string", + label: "Type", + description: "Type of IV change to retrieve", + options: [ + "STOCKS", + "ETFS", + "INDICES", + ], + }, + direction: { + type: "string", + label: "Direction", + description: "Direction of to sort by", + options: [ + "UP", + "DOWN", + ], + optional: true, + }, + priceMin: { + type: "number", + label: "Price Min", + description: "Filter results by min price of the stock per share value", + optional: true, + }, + page: { + propDefinition: [ + mboum, + "page", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getIvChange({ + $, + params: { + type: this.type, + direction: this.direction, + price_min: this.priceMin, + page: this.page, + }, + }); + + $.export("$summary", "Successfully retrieved IV change data"); + return response; + }, +}; diff --git a/components/mboum/actions/get-iv-rank-percentile/get-iv-rank-percentile.mjs b/components/mboum/actions/get-iv-rank-percentile/get-iv-rank-percentile.mjs new file mode 100644 index 0000000000000..798dd2cc183ed --- /dev/null +++ b/components/mboum/actions/get-iv-rank-percentile/get-iv-rank-percentile.mjs @@ -0,0 +1,47 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-iv-rank-percentile", + name: "Get IV Rank Percentile", + description: "Get Implied Volatility (IV) rank and percentile data for options to assess volatility levels. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-options-iv-rank-percentile)", + version: "0.0.1", + type: "action", + props: { + mboum, + type: { + type: "string", + label: "Type", + description: "Type of IV rank percentile to retrieve", + options: [ + "STOCKS", + "ETFS", + "INDICES", + ], + }, + priceMin: { + type: "number", + label: "Price Min", + description: "Filter results by min price of the stock per share value", + optional: true, + }, + page: { + propDefinition: [ + mboum, + "page", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getIvRankPercentile({ + $, + params: { + type: this.type, + price_min: this.priceMin, + page: this.page, + }, + }); + + $.export("$summary", "Successfully retrieved IV rank percentile data"); + return response; + }, +}; diff --git a/components/mboum/actions/get-macd/get-macd.mjs b/components/mboum/actions/get-macd/get-macd.mjs new file mode 100644 index 0000000000000..dd6395baf5d04 --- /dev/null +++ b/components/mboum/actions/get-macd/get-macd.mjs @@ -0,0 +1,71 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-macd", + name: "Get MACD", + description: "Calculate Moving Average Convergence Divergence (MACD) technical indicator to identify trend changes and momentum. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-indicators-macd)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + interval: { + propDefinition: [ + mboum, + "interval", + ], + }, + seriesType: { + propDefinition: [ + mboum, + "seriesType", + ], + }, + fastPeriod: { + type: "integer", + label: "Fast Period", + description: "Fast period for MACD calculation", + optional: true, + }, + slowPeriod: { + type: "integer", + label: "Slow Period", + description: "Slow period for MACD calculation", + optional: true, + }, + signalPeriod: { + type: "integer", + label: "Signal Period", + description: "Signal line period for MACD calculation", + optional: true, + }, + limit: { + propDefinition: [ + mboum, + "limit", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getMACD({ + $, + params: { + ticker: this.ticker, + interval: this.interval, + series_type: this.seriesType, + fast_period: this.fastPeriod, + slow_period: this.slowPeriod, + signal_period: this.signalPeriod, + limit: this.limit, + }, + }); + + $.export("$summary", `Successfully calculated MACD(${this.fastPeriod},${this.slowPeriod},${this.signalPeriod}) for ${this.ticker} on ${this.interval} intervals`); + return response; + }, +}; diff --git a/components/mboum/actions/get-market-info/get-market-info.mjs b/components/mboum/actions/get-market-info/get-market-info.mjs new file mode 100644 index 0000000000000..c106753a083a7 --- /dev/null +++ b/components/mboum/actions/get-market-info/get-market-info.mjs @@ -0,0 +1,20 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-market-info", + name: "Get Market Information", + description: "Get comprehensive market information including indices, market status, and general market data. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-market-info)", + version: "0.0.1", + type: "action", + props: { + mboum, + }, + async run({ $ }) { + const response = await this.mboum.getMarketInfo({ + $, + }); + + $.export("$summary", "Successfully retrieved market information"); + return response; + }, +}; diff --git a/components/mboum/actions/get-modules/get-modules.mjs b/components/mboum/actions/get-modules/get-modules.mjs new file mode 100644 index 0000000000000..241a3bc9292b3 --- /dev/null +++ b/components/mboum/actions/get-modules/get-modules.mjs @@ -0,0 +1,52 @@ +import mboum from "../../mboum.app.mjs"; +import constants from "../../common/constants.mjs"; + +export default { + key: "mboum-get-modules", + name: "Get Stock Modules", + description: "Get comprehensive stock data modules including financial metrics, statistics, and company information. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-stock-modules)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + module: { + type: "string", + label: "Module", + description: "Specific module to retrieve data for", + options: constants.STOCK_MODULES, + }, + timeframe: { + type: "string", + label: "Timeframe", + description: "Timeframe for the data", + options: [ + "annually", + "quarterly", + "trailing", + ], + optional: true, + }, + }, + async run({ $ }) { + const response = await this.mboum.getModules({ + $, + params: { + ticker: this.ticker, + module: this.module, + timeframe: this.timeframe, + }, + }); + + const moduleText = this.module + ? ` (${this.module} module)` + : ""; + $.export("$summary", `Successfully retrieved stock modules for ${this.ticker}${moduleText}`); + return response; + }, +}; diff --git a/components/mboum/actions/get-most-active-options/get-most-active-options.mjs b/components/mboum/actions/get-most-active-options/get-most-active-options.mjs new file mode 100644 index 0000000000000..ed86ee4a214e1 --- /dev/null +++ b/components/mboum/actions/get-most-active-options/get-most-active-options.mjs @@ -0,0 +1,40 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-most-active-options", + name: "Get Most Active Options", + description: "Get the most actively traded options contracts based on volume and trading activity. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-options-most-active)", + version: "0.0.1", + type: "action", + props: { + mboum, + type: { + type: "string", + label: "Type", + description: "Type of most active options to retrieve", + options: [ + "STOCKS", + "ETFS", + "INDICES", + ], + }, + page: { + propDefinition: [ + mboum, + "page", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getMostActive({ + $, + params: { + type: this.type, + page: this.page, + }, + }); + + $.export("$summary", "Successfully retrieved most active options"); + return response; + }, +}; diff --git a/components/mboum/actions/get-movers/get-movers.mjs b/components/mboum/actions/get-movers/get-movers.mjs new file mode 100644 index 0000000000000..83278e00acaef --- /dev/null +++ b/components/mboum/actions/get-movers/get-movers.mjs @@ -0,0 +1,57 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-movers", + name: "Get Market Movers", + description: "Get top market movers including gainers, losers, and most active stocks. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-movers)", + version: "0.0.1", + type: "action", + props: { + mboum, + type: { + type: "string", + label: "Mover Type", + description: "Type of market movers to retrieve", + options: [ + "PERCENT", + "PRICE", + "GAP", + ], + }, + direction: { + type: "string", + label: "Direction", + description: "Direction of the movers to retrieve", + options: [ + "UP", + "DOWN", + ], + }, + priceMin: { + type: "string", + label: "Price Min", + description: "Filter results by min price of the stock per share value", + optional: true, + }, + page: { + propDefinition: [ + mboum, + "page", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getMovers({ + $, + params: { + type: this.type, + direction: this.direction, + price_min: this.priceMin, + page: this.page, + }, + }); + + $.export("$summary", "Successfully retrieved movers"); + return response; + }, +}; diff --git a/components/mboum/actions/get-news/get-news.mjs b/components/mboum/actions/get-news/get-news.mjs new file mode 100644 index 0000000000000..c04b3b32b8287 --- /dev/null +++ b/components/mboum/actions/get-news/get-news.mjs @@ -0,0 +1,44 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-news", + name: "Get Financial News", + description: "Get latest financial news and market updates, with optional filtering by ticker or category. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-news)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + type: { + type: "string", + label: "Type", + description: "Type of news to retrieve", + options: [ + "ALL", + "MARKET", + "VIDEO", + "PRESS-RELEASE", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getNews({ + $, + params: { + ticker: this.ticker, + type: this.type, + }, + }); + + const tickerText = this.ticker + ? ` for ${this.ticker}` + : ""; + $.export("$summary", `Successfully retrieved financial news${tickerText}`); + return response; + }, +}; diff --git a/components/mboum/actions/get-options-flow/get-options-flow.mjs b/components/mboum/actions/get-options-flow/get-options-flow.mjs new file mode 100644 index 0000000000000..128872bb28f4f --- /dev/null +++ b/components/mboum/actions/get-options-flow/get-options-flow.mjs @@ -0,0 +1,40 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-options-flow", + name: "Get Options Flow", + description: "Get real-time options flow data showing large block trades and institutional activity. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-options-options-flow)", + version: "0.0.1", + type: "action", + props: { + mboum, + type: { + type: "string", + label: "Type", + description: "Type of options flow to retrieve", + options: [ + "STOCKS", + "ETFS", + "INDICES", + ], + }, + page: { + propDefinition: [ + mboum, + "page", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getOptionsFlow({ + $, + params: { + type: this.type, + page: this.page, + }, + }); + + $.export("$summary", "Successfully retrieved options flow data"); + return response; + }, +}; diff --git a/components/mboum/actions/get-options/get-options.mjs b/components/mboum/actions/get-options/get-options.mjs new file mode 100644 index 0000000000000..f2fa4db4e6d8e --- /dev/null +++ b/components/mboum/actions/get-options/get-options.mjs @@ -0,0 +1,36 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-options", + name: "Get Options Data", + description: "Get comprehensive options data including prices, Greeks, and market metrics. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v3-markets-options)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + expiration: { + type: "string", + label: "Expiration Date", + description: "Enter an expiration date, format: YYYY-MM-DD", + optional: true, + }, + }, + async run({ $ }) { + const response = await this.mboum.getOptions({ + $, + params: { + ticker: this.ticker, + expiration: this.expiration, + }, + }); + + $.export("$summary", `Successfully retrieved options data for ${this.ticker}`); + return response; + }, +}; diff --git a/components/mboum/actions/get-price-targets/get-price-targets.mjs b/components/mboum/actions/get-price-targets/get-price-targets.mjs new file mode 100644 index 0000000000000..6ae8ad89a46d3 --- /dev/null +++ b/components/mboum/actions/get-price-targets/get-price-targets.mjs @@ -0,0 +1,29 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-price-targets", + name: "Get Price Targets", + description: "Get analyst price targets and recommendations for a stock including target highs, lows, and consensus. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-stock-price-targets)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getPriceTargets({ + $, + params: { + ticker: this.ticker, + }, + }); + + $.export("$summary", `Successfully retrieved price targets for ${this.ticker}`); + return response; + }, +}; diff --git a/components/mboum/actions/get-public-offerings/get-public-offerings.mjs b/components/mboum/actions/get-public-offerings/get-public-offerings.mjs new file mode 100644 index 0000000000000..a0086dfac61ae --- /dev/null +++ b/components/mboum/actions/get-public-offerings/get-public-offerings.mjs @@ -0,0 +1,29 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-public-offerings", + name: "Get Public Offerings", + description: "Get data on public offerings including secondary offerings, SPAC mergers, and other capital market events. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-calendar-public_offerings)", + version: "0.0.1", + type: "action", + props: { + mboum, + date: { + propDefinition: [ + mboum, + "date", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getPublicOfferings({ + $, + params: { + date: this.date, + }, + }); + + $.export("$summary", "Successfully retrieved public offerings data"); + return response; + }, +}; diff --git a/components/mboum/actions/get-realtime-quote/get-realtime-quote.mjs b/components/mboum/actions/get-realtime-quote/get-realtime-quote.mjs new file mode 100644 index 0000000000000..fd188f7772803 --- /dev/null +++ b/components/mboum/actions/get-realtime-quote/get-realtime-quote.mjs @@ -0,0 +1,41 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-realtime-quote", + name: "Get Realtime Quote", + description: "Get real-time stock quote data including current price, volume, and market data. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-quote)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + type: { + type: "string", + label: "Type", + description: "Type of quote to retrieve", + options: [ + "STOCKS", + "ETF", + "MUTUALFUNDS", + "FUTURES", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getRealtimeQuote({ + $, + params: { + ticker: this.ticker, + type: this.type, + }, + }); + + $.export("$summary", `Successfully retrieved realtime quote for ${this.ticker}`); + return response; + }, +}; diff --git a/components/mboum/actions/get-revenue/get-revenue.mjs b/components/mboum/actions/get-revenue/get-revenue.mjs new file mode 100644 index 0000000000000..27c479094d0ab --- /dev/null +++ b/components/mboum/actions/get-revenue/get-revenue.mjs @@ -0,0 +1,36 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-revenue", + name: "Get Revenue Data", + description: "Get detailed revenue breakdown and analysis for a company including revenue trends and segments. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-stock-revenue)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + page: { + propDefinition: [ + mboum, + "page", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getRevenue({ + $, + params: { + ticker: this.ticker, + page: this.page, + }, + }); + + $.export("$summary", `Successfully retrieved revenue data for ${this.ticker}`); + return response; + }, +}; diff --git a/components/mboum/actions/get-rsi/get-rsi.mjs b/components/mboum/actions/get-rsi/get-rsi.mjs new file mode 100644 index 0000000000000..82fdb670cbf03 --- /dev/null +++ b/components/mboum/actions/get-rsi/get-rsi.mjs @@ -0,0 +1,57 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-rsi", + name: "Get Relative Strength Index (RSI)", + description: "Calculate Relative Strength Index technical indicator to measure momentum and identify overbought/oversold conditions. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-indicators-rsi)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + interval: { + propDefinition: [ + mboum, + "interval", + ], + }, + seriesType: { + propDefinition: [ + mboum, + "seriesType", + ], + }, + timePeriod: { + type: "integer", + label: "Time Period", + description: "Number of periods for RSI calculation", + optional: true, + }, + limit: { + propDefinition: [ + mboum, + "limit", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getRSI({ + $, + params: { + ticker: this.ticker, + interval: this.interval, + series_type: this.seriesType, + time_period: this.timePeriod, + limit: this.limit, + }, + }); + + $.export("$summary", `Successfully calculated RSI(${this.timePeriod}) for ${this.ticker} on ${this.interval} intervals`); + return response; + }, +}; diff --git a/components/mboum/actions/get-screener/get-screener.mjs b/components/mboum/actions/get-screener/get-screener.mjs new file mode 100644 index 0000000000000..0d0b85b22dbb0 --- /dev/null +++ b/components/mboum/actions/get-screener/get-screener.mjs @@ -0,0 +1,49 @@ +import mboum from "../../mboum.app.mjs"; +import constants from "../../common/constants.mjs"; + +export default { + key: "mboum-get-screener", + name: "Get Stock Screener Results", + description: "Screen stocks based on various financial criteria and filters. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-screener)", + version: "0.0.1", + type: "action", + props: { + mboum, + metricType: { + type: "string", + label: "Metric Type", + description: "Type of metric to use for screening", + options: [ + "overview", + "technical", + "performance", + "fundamental", + ], + }, + filter: { + type: "string", + label: "Filter", + description: "Filter to apply to the screener. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-screener) for more information about screeners", + options: constants.SCREENER_FILTERS, + }, + page: { + propDefinition: [ + mboum, + "page", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getScreener({ + $, + params: { + metricType: this.metricType, + filter: this.filter, + page: this.page, + }, + }); + + $.export("$summary", "Successfully screened stocks"); + return response; + }, +}; diff --git a/components/mboum/actions/get-sec-filings/get-sec-filings.mjs b/components/mboum/actions/get-sec-filings/get-sec-filings.mjs new file mode 100644 index 0000000000000..3304fcdb4362e --- /dev/null +++ b/components/mboum/actions/get-sec-filings/get-sec-filings.mjs @@ -0,0 +1,46 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-sec-filings", + name: "Get SEC Filings", + description: "Get SEC filings data including 10-K, 10-Q, 8-K, and other regulatory filings. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-stock-sec-filings)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + type: { + type: "string", + label: "Filing Type", + description: "Type of SEC filing to retrieve", + options: [ + "FORM-4", + "ALL", + ], + }, + limit: { + type: "integer", + label: "Limit", + description: "Maximum number of data points to return", + optional: true, + }, + }, + async run({ $ }) { + const response = await this.mboum.getSecFilings({ + $, + params: { + ticker: this.ticker, + type: this.type, + limit: this.limit, + }, + }); + + $.export("$summary", `Successfully retrieved SEC filings for ${this.ticker}`); + return response; + }, +}; diff --git a/components/mboum/actions/get-short-interest/get-short-interest.mjs b/components/mboum/actions/get-short-interest/get-short-interest.mjs new file mode 100644 index 0000000000000..797427b987f69 --- /dev/null +++ b/components/mboum/actions/get-short-interest/get-short-interest.mjs @@ -0,0 +1,41 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-short-interest", + name: "Get Short Interest", + description: "Get short interest data including short ratio, short percentage of float, and short interest trends. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-stock-short-interest)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + type: { + type: "string", + label: "Type", + description: "Type of short interest to retrieve", + options: [ + "STOCKS", + "ETF", + "MUTUALFUNDS", + "FUTURES", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getShortInterest({ + $, + params: { + ticker: this.ticker, + type: this.type, + }, + }); + + $.export("$summary", `Successfully retrieved short interest data for ${this.ticker}`); + return response; + }, +}; diff --git a/components/mboum/actions/get-sma/get-sma.mjs b/components/mboum/actions/get-sma/get-sma.mjs new file mode 100644 index 0000000000000..560015ad88d1e --- /dev/null +++ b/components/mboum/actions/get-sma/get-sma.mjs @@ -0,0 +1,57 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-sma", + name: "Get Simple Moving Average (SMA)", + description: "Calculate Simple Moving Average technical indicator for stocks and crypto. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-indicators-sma)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + interval: { + propDefinition: [ + mboum, + "interval", + ], + }, + seriesType: { + propDefinition: [ + mboum, + "seriesType", + ], + }, + timePeriod: { + type: "integer", + label: "Time Period", + description: "Number of periods for SMA calculation", + optional: true, + }, + limit: { + propDefinition: [ + mboum, + "limit", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getSMA({ + $, + params: { + ticker: this.ticker, + interval: this.interval, + series_type: this.seriesType, + time_period: this.timePeriod, + limit: this.limit, + }, + }); + + $.export("$summary", `Successfully calculated SMA(${this.timePeriod}) for ${this.ticker} on ${this.interval} intervals`); + return response; + }, +}; diff --git a/components/mboum/actions/get-stoch/get-stoch.mjs b/components/mboum/actions/get-stoch/get-stoch.mjs new file mode 100644 index 0000000000000..2762b3633b6ca --- /dev/null +++ b/components/mboum/actions/get-stoch/get-stoch.mjs @@ -0,0 +1,81 @@ +import mboum from "../../mboum.app.mjs"; +import constants from "../../common/constants.mjs"; + +export default { + key: "mboum-get-stoch", + name: "Get Stochastic Oscillator (STOCH)", + description: "Calculate Stochastic Oscillator technical indicator to identify momentum and potential reversal points. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-indicators-stochh)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + interval: { + propDefinition: [ + mboum, + "interval", + ], + }, + fastKPeriod: { + type: "integer", + label: "Fast K Period", + description: "Number of periods for %K calculation", + optional: true, + }, + slowKPeriod: { + type: "integer", + label: "Slow K Period", + description: "Smoothing period for %K", + optional: true, + }, + slowDPeriod: { + type: "integer", + label: "Slow D Period", + description: "Smoothing period for %D", + optional: true, + }, + slowKMaType: { + type: "string", + label: "Slow K MA Type", + description: "Moving average type for %K smoothing", + options: constants.MA_TYPES, + optional: true, + }, + slowDMaType: { + type: "string", + label: "Slow D MA Type", + description: "Moving average type for %D smoothing", + options: constants.MA_TYPES, + optional: true, + }, + limit: { + propDefinition: [ + mboum, + "limit", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getSTOCH({ + $, + params: { + ticker: this.ticker, + interval: this.interval, + fastK_period: this.fastKPeriod, + slowK_period: this.slowKPeriod, + slowD_period: this.slowDPeriod, + slowK_ma_type: this.slowKMaType, + slowD_ma_type: this.slowDMaType, + limit: this.limit, + }, + }); + + $.export("$summary", `Successfully calculated STOCH(${this.fastKPeriod},${this.slowKPeriod},${this.slowDPeriod}) for ${this.ticker} on ${this.interval} intervals`); + return response; + }, +}; diff --git a/components/mboum/actions/get-stock-splits/get-stock-splits.mjs b/components/mboum/actions/get-stock-splits/get-stock-splits.mjs new file mode 100644 index 0000000000000..564e724d9ed4a --- /dev/null +++ b/components/mboum/actions/get-stock-splits/get-stock-splits.mjs @@ -0,0 +1,36 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-stock-splits", + name: "Get Stock Splits", + description: "Get upcoming and historical stock split data including split ratios, dates, and company information. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-calendar-stock-splits)", + version: "0.0.1", + type: "action", + props: { + mboum, + date: { + propDefinition: [ + mboum, + "date", + ], + }, + page: { + propDefinition: [ + mboum, + "page", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getStockSplits({ + $, + params: { + date: this.date, + page: this.page, + }, + }); + + $.export("$summary", "Successfully retrieved stock splits data"); + return response; + }, +}; diff --git a/components/mboum/actions/get-ticker-summary/get-ticker-summary.mjs b/components/mboum/actions/get-ticker-summary/get-ticker-summary.mjs new file mode 100644 index 0000000000000..772d8c2948e6b --- /dev/null +++ b/components/mboum/actions/get-ticker-summary/get-ticker-summary.mjs @@ -0,0 +1,41 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-ticker-summary", + name: "Get Ticker Summary", + description: "Get comprehensive ticker summary including key statistics, financial metrics, and company overview. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-stock-ticker-summary)", + version: "0.0.1", + type: "action", + props: { + mboum, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + type: { + type: "string", + label: "Type", + description: "Type of ticker summary to retrieve", + options: [ + "STOCKS", + "ETF", + "MUTUALFUNDS", + "FUTURES", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getTickerSummary({ + $, + params: { + ticker: this.ticker, + type: this.type, + }, + }); + + $.export("$summary", `Successfully retrieved ticker summary for ${this.ticker}`); + return response; + }, +}; diff --git a/components/mboum/actions/get-tickers/get-tickers.mjs b/components/mboum/actions/get-tickers/get-tickers.mjs new file mode 100644 index 0000000000000..9ad3acfae28d9 --- /dev/null +++ b/components/mboum/actions/get-tickers/get-tickers.mjs @@ -0,0 +1,42 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-tickers", + name: "Get Market Tickers", + description: "Get a comprehensive list of stock tickers and symbols with detailed information. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-tickers)", + version: "0.0.1", + type: "action", + props: { + mboum, + type: { + type: "string", + label: "Type", + description: "Type of tickers to retrieve", + options: [ + "STOCKS", + "ETF", + "MUTUALFUNDS", + "FUTURES", + "INDEX", + ], + }, + page: { + propDefinition: [ + mboum, + "page", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getTickers({ + $, + params: { + type: this.type, + page: this.page, + }, + }); + + $.export("$summary", "Successfully retrieved market tickers"); + return response; + }, +}; diff --git a/components/mboum/actions/get-unusual-options-activity/get-unusual-options-activity.mjs b/components/mboum/actions/get-unusual-options-activity/get-unusual-options-activity.mjs new file mode 100644 index 0000000000000..38fbfdd2e08a3 --- /dev/null +++ b/components/mboum/actions/get-unusual-options-activity/get-unusual-options-activity.mjs @@ -0,0 +1,60 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-get-unusual-options-activity", + name: "Get Unusual Options Activity", + description: "Get unusual options activity including high volume and large trades that deviate from normal patterns. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v1-markets-options-unusual-options-activity)", + version: "0.0.1", + type: "action", + props: { + mboum, + type: { + type: "string", + label: "Type", + description: "Type of unusual options activity to retrieve", + options: [ + "STOCKS", + "ETFS", + "INDICES", + ], + }, + ticker: { + propDefinition: [ + mboum, + "ticker", + ], + }, + date: { + type: "string", + label: "Date", + description: "Enter a historical date: YYYY-MM-DD", + }, + priceMin: { + type: "string", + label: "Price Min", + description: "Filter results by min price of the stock per share value", + optional: true, + }, + page: { + propDefinition: [ + mboum, + "page", + ], + }, + }, + async run({ $ }) { + const response = await this.mboum.getUnusualOptionsActivity({ + $, + params: { + type: this.type, + ticker: this.ticker, + date: this.date, + price_min: this.priceMin, + page: this.page, + }, + }); + + $.export("$summary", "Successfully retrieved unusual options activity"); + return response; + }, +}; diff --git a/components/mboum/actions/search/search.mjs b/components/mboum/actions/search/search.mjs new file mode 100644 index 0000000000000..0bc67f143ea70 --- /dev/null +++ b/components/mboum/actions/search/search.mjs @@ -0,0 +1,28 @@ +import mboum from "../../mboum.app.mjs"; + +export default { + key: "mboum-search", + name: "Search Markets", + description: "Search for stocks, ETFs, and other financial instruments. [See the documentation](https://docs.mboum.com/#stocks-options-small-stylecolor-f8f2f2background-fa256fpadding-1px-4pxborder-radius-3pxhotsmall-GETapi-v2-markets-search)", + version: "0.0.1", + type: "action", + props: { + mboum, + search: { + type: "string", + label: "Search Query", + description: "Search term for stocks, ETFs, or other financial instruments", + }, + }, + async run({ $ }) { + const response = await this.mboum.search({ + $, + params: { + search: this.search, + }, + }); + + $.export("$summary", `Successfully searched for "${this.search}"`); + return response; + }, +}; diff --git a/components/mboum/common/constants.mjs b/components/mboum/common/constants.mjs new file mode 100644 index 0000000000000..6af099af877d5 --- /dev/null +++ b/components/mboum/common/constants.mjs @@ -0,0 +1,198 @@ +const INTERVALS = [ + "1m", + "5m", + "15m", + "30m", + "1h", + "1d", + "1wk", +]; + +const HISTORICAL_DATA_INTERVALS = [ + { + value: "1m", + label: "1 min candles", + }, + { + value: "2m", + label: "2 min candles", + }, + { + value: "3m", + label: "3 min candles", + }, + { + value: "5m", + label: "5 mins candles", + }, + { + value: "15m", + label: "15 mins candles", + }, + { + value: "30m", + label: "30 mins candles", + }, + { + value: "1wk", + label: "weekly candles", + }, + { + value: "1mo", + label: "monthly candles", + }, + { + value: "1qty", + label: "quarterly candles", + }, +]; + +const SERIES_TYPES = [ + { + value: "open", + label: "Open Price", + }, + { + value: "close", + label: "Close Price", + }, + { + value: "high", + label: "High Price", + }, + { + value: "low", + label: "Low Price", + }, +]; + +const MA_TYPES = [ + { + value: "0", + label: "Simple Moving Average (SMA)", + }, + { + value: "1", + label: "Exponential Moving Average (EMA)", + }, + { + value: "2", + label: "Weighted Moving Average (WMA)", + }, + { + value: "3", + label: "Double Exponential Moving Average (DEMA)", + }, + { + value: "4", + label: "Triple Exponential Moving Average (TEMA)", + }, + { + value: "5", + label: "Triangular Moving Average (TRIMA)", + }, + { + value: "6", + label: "T3 Moving Average", + }, + { + value: "7", + label: "Kaufman Adaptive Moving Average (KAMA)", + }, + { + value: "8", + label: "MESA Adaptive Moving Average (MAMA)", + }, +]; + +const INTERNATIONAL_HOLDINGS_TYPES = [ + "TOTAL", + "INCREASED", + "NEW", + "DECREASED", + "SOLDOUT", + "ACTIVITY", +]; + +const STOCK_MODULES = [ + "profile", + "income-statement", + "income-statement-v2", + "balance-sheet", + "balance-sheet-v2", + "cashflow-statement", + "cashflow-statement-v2", + "financial-data", + "statistics", + "ratios", + "calendar-events", + "sec-filings", + "recommendation-trend", + "upgrade-downgrade-history", + "insider-transactions", + "insider-holders", + "net-share-purchase-activity", + "earnings", + "index-trend", + "industry-trend", + "sector-trend", +]; + +const SCREENER_FILTERS = [ + "high_volume", + "hot_stocks", + "top_under_10", + "dividend", + "top_fundamentals", + "top_tech", + "j_pattern", + "golden_cross", + "death_cross", + "consolidation", + "rsi_overbought", + "rsi_oversold", + "52wk_toppicks", + "penny_gap", + "defensive_stock", + "income_growth", + "buy_longterm", + "sell_growth", +]; + +const CRYPTO_MODULES = [ + { + value: "global_matric", + label: "Global Metric data", + }, + { + value: "trending", + label: "Top Trending cryptocurrencies", + }, + { + value: "most_visited", + label: "Most visited cryptocurrencies sites", + }, + { + value: "new_coins", + label: "Newly launched cryptocurrencies", + }, + { + value: "gainer", + label: "Top cryptocurrency gainers", + }, + { + value: "loser", + label: "Top cryptocurrency losers", + }, +]; + +export default { + INTERVALS, + MA_TYPES, + SERIES_TYPES, + HISTORICAL_DATA_INTERVALS, + INTERNATIONAL_HOLDINGS_TYPES, + STOCK_MODULES, + SCREENER_FILTERS, + CRYPTO_MODULES, +}; diff --git a/components/mboum/mboum.app.mjs b/components/mboum/mboum.app.mjs index f383fb7047cc8..513a0bbc4c0b7 100644 --- a/components/mboum/mboum.app.mjs +++ b/components/mboum/mboum.app.mjs @@ -1,11 +1,342 @@ +import { axios } from "@pipedream/platform"; +import constants from "./common/constants.mjs"; + export default { type: "app", app: "mboum", - propDefinitions: {}, + propDefinitions: { + ticker: { + type: "string", + label: "Ticker", + description: "Ticker symbol to get data for. (e.g., AAPL, MSFT)", + }, + page: { + type: "integer", + label: "Page", + description: "Page number to return", + optional: true, + default: 1, + }, + date: { + type: "string", + label: "Date", + description: "Enter a calendar date. Format: YYYY-MM-DD", + optional: true, + }, + interval: { + type: "string", + label: "Interval", + description: "Time interval between two consecutive data points in the time series", + options: constants.INTERVALS, + }, + limit: { + type: "integer", + label: "Limit", + description: "Maximum number of results to return (default: 50)", + optional: true, + }, + seriesType: { + type: "string", + label: "Series Type", + description: "The price series to use for calculation", + options: constants.SERIES_TYPES, + }, + }, methods: { - // this.$auth contains connected account data - authKeys() { - console.log(Object.keys(this.$auth)); + _baseUrl() { + return "https://api.mboum.com/"; + }, + _makeRequest({ + $ = this, path, ...opts + }) { + return axios($, { + url: `${this._baseUrl()}${path}`, + headers: { + Authorization: `Bearer ${this.$auth.api_key}`, + }, + ...opts, + }); + }, + // General API + search(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/search", + ...opts, + }); + }, + getMovers(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/movers", + ...opts, + }); + }, + getScreener(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/screener", + ...opts, + }); + }, + getInsiderTrading(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/insider-trades", + ...opts, + }); + }, + getNews(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/news", + ...opts, + }); + }, + getTickers(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/tickers", + ...opts, + }); + }, + getMarketInfo(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/market-info", + ...opts, + }); + }, + // Stocks API + getRealtimeQuote(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/quote", + ...opts, + }); + }, + getHistory(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/stock/history", + ...opts, + }); + }, + getModules(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/stock/modules", + ...opts, + }); + }, + getAnalystRatings(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/stock/analyst-ratings", + ...opts, + }); + }, + getTickerSummary(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/stock/ticker-summary", + ...opts, + }); + }, + getPriceTargets(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/stock/price-targets", + ...opts, + }); + }, + getFinancials(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/stock/financials", + ...opts, + }); + }, + getRevenue(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/stock/revenue", + ...opts, + }); + }, + getShortInterest(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/stock/short-interest", + ...opts, + }); + }, + getInstitutionalHoldings(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/stock/institutional-holdings", + ...opts, + }); + }, + getSecFilings(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/stock/sec-filings", + ...opts, + }); + }, + getHistoricalData(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/stock/historical", + ...opts, + }); + }, + // Options API + getOptions(opts = {}) { + return this._makeRequest({ + path: "/v3/markets/options", + ...opts, + }); + }, + getUnusualOptionsActivity(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/options/unusual-options-activity", + ...opts, + }); + }, + getIvRankPercentile(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/options/iv-rank-percentile", + ...opts, + }); + }, + getIvChange(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/options/iv-change", + ...opts, + }); + }, + getMostActive(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/options/most-active", + ...opts, + }); + }, + getHighestIv(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/options/highest-iv", + ...opts, + }); + }, + getOptionsFlow(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/options/options-flow", + ...opts, + }); + }, + // Calendar Events API + getEarnings(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/calendar/earnings", + ...opts, + }); + }, + getDividends(opts = {}) { + return this._makeRequest({ + path: "/v2/markets/calendar/dividends", + ...opts, + }); + }, + getEconomicEvents(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/calendar/economic_events", + ...opts, + }); + }, + getIpoData(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/calendar/ipo", + ...opts, + }); + }, + getPublicOfferings(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/calendar/public_offerings", + ...opts, + }); + }, + getStockSplits(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/calendar/stock-splits", + ...opts, + }); + }, + getSMA(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/indicators/sma", + ...opts, + }); + }, + getRSI(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/indicators/rsi", + ...opts, + }); + }, + getMACD(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/indicators/macd", + ...opts, + }); + }, + getCCI(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/indicators/cci", + ...opts, + }); + }, + getADX(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/indicators/adx", + ...opts, + }); + }, + getEMA(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/indicators/ema", + ...opts, + }); + }, + getSTOCH(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/indicators/stoch", + ...opts, + }); + }, + getADOSC(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/indicators/adosc", + ...opts, + }); + }, + getAD(opts = {}) { + return this._makeRequest({ + path: "/v1/markets/indicators/ad", + ...opts, + }); + }, + // Crypto API + getCryptoProfile(opts = {}) { + return this._makeRequest({ + path: "/v1/crypto/profile", + ...opts, + }); + }, + getCryptoHolders(opts = {}) { + return this._makeRequest({ + path: "/v1/crypto/holders", + ...opts, + }); + }, + getCryptoQuotes(opts = {}) { + return this._makeRequest({ + path: "/v1/crypto/quotes", + ...opts, + }); + }, + getCryptoCurrencies(opts = {}) { + return this._makeRequest({ + path: "/v1/crypto/coins", + ...opts, + }); + }, + getCryptoModules(opts = {}) { + return this._makeRequest({ + path: "/v1/crypto/modules", + ...opts, + }); }, }, }; diff --git a/components/mboum/package.json b/components/mboum/package.json index d8f15f90c6c81..d70d702c7b99e 100644 --- a/components/mboum/package.json +++ b/components/mboum/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/mboum", - "version": "0.0.1", + "version": "0.1.0", "description": "Pipedream Mboum Components", "main": "mboum.app.mjs", "keywords": [ @@ -11,5 +11,8 @@ "author": "Pipedream (https://pipedream.com/)", "publishConfig": { "access": "public" + }, + "dependencies": { + "@pipedream/platform": "^3.1.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5a3224f787800..9fe24807836bf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8450,7 +8450,11 @@ importers: components/maxmind_minfraud: {} - components/mboum: {} + components/mboum: + dependencies: + '@pipedream/platform': + specifier: ^3.1.0 + version: 3.1.0 components/mctime: dependencies: @@ -16528,14 +16532,6 @@ importers: specifier: ^6.0.0 version: 6.2.0 - modelcontextprotocol/node_modules2/@modelcontextprotocol/sdk/dist/cjs: {} - - modelcontextprotocol/node_modules2/@modelcontextprotocol/sdk/dist/esm: {} - - modelcontextprotocol/node_modules2/zod-to-json-schema/dist/cjs: {} - - modelcontextprotocol/node_modules2/zod-to-json-schema/dist/esm: {} - packages/ai: dependencies: '@pipedream/sdk': @@ -32036,22 +32032,22 @@ packages: superagent@3.8.1: resolution: {integrity: sha512-VMBFLYgFuRdfeNQSMLbxGSLfmXL/xc+OO+BZp41Za/NRDBet/BNbkRJrYzCUu0u4GU0i/ml2dtT8b9qgkw9z6Q==} engines: {node: '>= 4.0'} - deprecated: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net + deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net superagent@4.1.0: resolution: {integrity: sha512-FT3QLMasz0YyCd4uIi5HNe+3t/onxMyEho7C3PSqmti3Twgy2rXT4fmkTz6wRL6bTF4uzPcfkUCa8u4JWHw8Ag==} engines: {node: '>= 6.0'} - deprecated: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net + deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net superagent@5.3.1: resolution: {integrity: sha512-wjJ/MoTid2/RuGCOFtlacyGNxN9QLMgcpYLDQlWFIhhdJ93kNscFonGvrpAHSCVjRVj++DGCglocF7Aej1KHvQ==} engines: {node: '>= 7.0.0'} - deprecated: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net + deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net superagent@7.1.6: resolution: {integrity: sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==} engines: {node: '>=6.4.0 <13 || >=14'} - deprecated: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net + deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net supports-color@10.0.0: resolution: {integrity: sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==}