rusty-fmp 0.4.1

JSON CLI and client library for Financial Modeling Prep
Documentation
//! Shared user-facing CLI help text.

pub(crate) const CLI_ABOUT: &str = "Financial Modeling Prep API CLI. Commands are organized into groups, run `fmp-agent <group>` to explore, or `fmp-agent <group> <command> [args]` to execute.\n\nExamples:\n  fmp-agent market quote AAPL\n  fmp-agent company profile AAPL";
pub(crate) const EXIT_CODES: &str = "EXIT CODES:\n  0  Success\n  2  Usage error (bad flags or arguments)\n  3  Configuration error (missing API key or invalid base URL)\n  4  Network error (HTTP request failed)\n  5  API error (server returned an error response)\n  6  Parse error (JSON deserialization failed)\n\nParse errors use Clap's native human-readable usage text on stderr for exit code 2. Runtime errors use the JSON envelope on stderr: {\"ok\":false,...} for exit codes 3-6. To distinguish programmatically, check the exit code first, then parse stderr only for exit codes 3-6.";

pub(crate) const API_KEY: &str =
    "FMP API key. Prefer FMP_API_KEY in .env or the environment so shells do not record it.";
pub(crate) const BASE_URL: &str = "FMP stable API base URL. Override for tests or proxies.";

pub(crate) const COMPANY_GROUP_ABOUT: &str = "Company data command group.";
pub(crate) const COMPANY_GROUP_LONG: &str = "Company data commands. Available subcommands:\n  profile\n  executives\n  peers\n  scores\n  float\n  rating\n  historical-rating\n\nExamples:\n  fmp-agent company\n  fmp-agent company profile AAPL";
pub(crate) const MARKET_GROUP_ABOUT: &str = "Market data command group.";
pub(crate) const MARKET_GROUP_LONG: &str = "Market data commands. Available subcommands:\n  quote\n  historical\n  dividends\n  splits\n  price-change\n  stock-list\n\nExamples:\n  fmp-agent market\n  fmp-agent market quote AAPL";
pub(crate) const FUNDAMENTALS_GROUP_ABOUT: &str = "Fundamentals command group.";
pub(crate) const FUNDAMENTALS_GROUP_LONG: &str = "Fundamentals commands. Available subcommands:\n  income-statement\n  income-statement-as-reported\n  balance-sheet\n  cash-flow\n  ratios\n  metrics\n  income-statement-growth\n  balance-sheet-growth\n  cash-flow-growth\n  enterprise-values\n  analyst-estimates\n  report-dates\n  annual-report\n\nExamples:\n  fmp-agent fundamentals\n  fmp-agent fundamentals income-statement AAPL";
pub(crate) const ANALYST_GROUP_ABOUT: &str = "Analyst command group.";
pub(crate) const ANALYST_GROUP_LONG: &str = "Analyst commands. Available subcommands:\n  price-target-consensus\n  price-target-summary\n  grades\n\nExamples:\n  fmp-agent analyst\n  fmp-agent analyst grades AAPL";
pub(crate) const INSIDER_GROUP_ABOUT: &str = "Insider command group.";
pub(crate) const INSIDER_GROUP_LONG: &str = "Insider commands. Available subcommands:\n  latest\n\nExamples:\n  fmp-agent insider\n  fmp-agent insider latest --page 1 --limit 20";
pub(crate) const CALENDAR_GROUP_ABOUT: &str = "Calendar command group.";
pub(crate) const CALENDAR_GROUP_LONG: &str = "Calendar commands. Available subcommands:\n  earnings\n\nExamples:\n  fmp-agent calendar\n  fmp-agent calendar earnings --from 2024-01-01 --to 2024-03-31";
pub(crate) const MACRO_GROUP_ABOUT: &str = "Macro command group.";
pub(crate) const MACRO_GROUP_LONG: &str = "Macro commands. Available subcommands:\n  treasury-rates\n  economic-indicators\n\nExamples:\n  fmp-agent macro\n  fmp-agent macro economic-indicators GDP";
pub(crate) const TECHNICAL_GROUP_ABOUT: &str = "Technical analysis command group.";
pub(crate) const TECHNICAL_GROUP_LONG: &str = "Technical analysis commands. Available subcommands:\n  sma\n\nExamples:\n  fmp-agent technical\n  fmp-agent technical sma AAPL";
pub(crate) const SEC_GROUP_ABOUT: &str = "SEC command group.";
pub(crate) const SEC_GROUP_LONG: &str = "SEC commands. Available subcommands:\n  filings\n\nExamples:\n  fmp-agent sec\n  fmp-agent sec filings AAPL";
pub(crate) const ETF_GROUP_ABOUT: &str = "ETF command group.";
pub(crate) const ETF_GROUP_LONG: &str = "ETF commands. Available subcommands:\n  holdings\n\nExamples:\n  fmp-agent etf\n  fmp-agent etf holdings SPY";
pub(crate) const CRYPTO_GROUP_ABOUT: &str = "Cryptocurrency command group.";
pub(crate) const CRYPTO_GROUP_LONG: &str = "Cryptocurrency commands. Available subcommands:\n  list\n  quote\n  historical\n\nExamples:\n  fmp-agent crypto\n  fmp-agent crypto quote BTCUSD";
pub(crate) const FOREX_GROUP_ABOUT: &str = "Forex command group.";
pub(crate) const FOREX_GROUP_LONG: &str = "Forex commands. Available subcommands:\n  quote\n  historical\n\nExamples:\n  fmp-agent forex\n  fmp-agent forex quote EURUSD";
pub(crate) const NEWS_GROUP_ABOUT: &str = "News command group.";
pub(crate) const NEWS_GROUP_LONG: &str = "News commands. Available subcommands:\n  stock\n  general\n  articles\n  forex\n  crypto\n\nExamples:\n  fmp-agent news\n  fmp-agent news stock AAPL";

pub(crate) const QUOTE_ALIAS_ABOUT: &str = "Get the latest market quote; alias for market quote.";
pub(crate) const QUOTE_ALIAS_LONG: &str = "Top-level alias for `market quote`. Get the latest market quote for a stock ticker including price, volume, and change data.\n\nExamples:\n  fmp-agent quote AAPL\n  fmp-agent market quote AAPL";
pub(crate) const HISTORICAL_ALIAS_ABOUT: &str =
    "Get historical end-of-day price bars; alias for market historical.";
pub(crate) const HISTORICAL_ALIAS_LONG: &str = "Top-level alias for `market historical`. Get historical end-of-day price bars for a stock ticker. Optionally filter by date range.\n\nExamples:\n  fmp-agent historical AAPL\n  fmp-agent market historical AAPL --from 2024-01-01 --to 2024-12-31";
pub(crate) const PROFILE_ALIAS_ABOUT: &str = "Get company profile data; alias for company profile.";
pub(crate) const PROFILE_ALIAS_LONG: &str = "Top-level alias for `company profile`. Get company profile and reference data including sector, industry, description, and headquarters for a stock ticker.\n\nExamples:\n  fmp-agent profile AAPL\n  fmp-agent company profile AAPL";
pub(crate) const EARNINGS_ALIAS_ABOUT: &str =
    "Get earnings calendar rows; alias for calendar earnings.";
pub(crate) const EARNINGS_ALIAS_LONG: &str = "Top-level alias for `calendar earnings`. Get earnings calendar rows for an optional announcement date range.\n\nExamples:\n  fmp-agent earnings\n  fmp-agent calendar earnings --from 2024-01-01 --to 2024-03-31";

pub(crate) const SEARCH_ABOUT: &str =
    "Search for tradable stock symbols by ticker or company name.";
pub(crate) const SEARCH_LONG: &str = "Search for tradable stock symbols by ticker fragment or company name. The query is a positional argument.\n\nExamples:\n  fmp-agent search Apple\n  fmp-agent search AAPL";
pub(crate) const SEARCH_QUERY: &str = "Ticker fragment or company name to search for.";
pub(crate) const COMPANY_PROFILE_ABOUT: &str =
    "Get company profile and reference data for a stock ticker.";
pub(crate) const COMPANY_PROFILE_LONG: &str = "Get company profile and reference data including sector, industry, description, and headquarters for a stock ticker.\n\nExamples:\n  fmp-agent company profile AAPL\n  fmp-agent company profile MSFT";
pub(crate) const COMPANY_EXECUTIVES_ABOUT: &str = "Get key executives for a stock ticker.";
pub(crate) const COMPANY_EXECUTIVES_LONG: &str = "Get key executives for a company including name, title, and compensation data.\n\nExamples:\n  fmp-agent company executives AAPL";
pub(crate) const COMPANY_PEERS_ABOUT: &str = "Get peer company tickers for a stock ticker.";
pub(crate) const COMPANY_PEERS_LONG: &str = "Get a list of peer company tickers that trade in the same sector and industry.\n\nExamples:\n  fmp-agent company peers AAPL";
pub(crate) const MARKET_STOCK_LIST_ABOUT: &str = "List supported stock symbols.";
pub(crate) const MARKET_STOCK_LIST_LONG: &str = "List all supported stock symbols. Returns a large payload with ticker, name, exchange, and type for each instrument.\n\nExamples:\n  fmp-agent market stock-list";
pub(crate) const ETF_HOLDINGS_ABOUT: &str =
    "Get ETF holdings for a fund symbol; Starter accounts return an API error.";
pub(crate) const ETF_HOLDINGS_LONG: &str = "Get ETF holdings for a fund symbol. Note: Starter plan accounts receive an API error for this endpoint; it is included to exercise structured error handling.\n\nExamples:\n  fmp-agent etf holdings SPY";
pub(crate) const COMPANY_FINANCIAL_SCORES_ABOUT: &str =
    "Get financial quality scores for a stock ticker.";
pub(crate) const COMPANY_FINANCIAL_SCORES_LONG: &str = "Get financial quality scores for a company including Piotroski score and intrinsic value rating.\n\nExamples:\n  fmp-agent company scores AAPL";
pub(crate) const COMPANY_SHARE_FLOAT_ABOUT: &str =
    "Get share float and outstanding share data for a stock ticker.";
pub(crate) const COMPANY_SHARE_FLOAT_LONG: &str = "Get share float and outstanding share counts for a stock ticker.\n\nExamples:\n  fmp-agent company float AAPL";
pub(crate) const COMPANY_RATING_ABOUT: &str =
    "Get current analyst rating consensus for a stock ticker.";
pub(crate) const COMPANY_RATING_LONG: &str = "Get the current analyst rating consensus (buy/hold/sell) for a stock ticker.\n\nExamples:\n  fmp-agent company rating AAPL";
pub(crate) const COMPANY_HISTORICAL_RATING_ABOUT: &str =
    "Get historical company rating rows for a stock ticker.";
pub(crate) const COMPANY_HISTORICAL_RATING_LONG: &str = "Get historical company rating rows for a stock ticker. Returns up to the limit of most-recent rating snapshots.\n\nExamples:\n  fmp-agent company historical-rating AAPL\n  fmp-agent company historical-rating AAPL --limit 20";
pub(crate) const MARKET_QUOTE_ABOUT: &str = "Get the latest market quote for a stock ticker.";
pub(crate) const MARKET_QUOTE_LONG: &str = "Get the latest market quote for a stock ticker including price, volume, and change data.\n\nExamples:\n  fmp-agent market quote AAPL\n  fmp-agent market quote TSLA";
pub(crate) const MARKET_HISTORICAL_ABOUT: &str =
    "Get historical end-of-day price bars for a stock ticker.";
pub(crate) const MARKET_HISTORICAL_LONG: &str = "Get historical end-of-day price bars for a stock ticker. Optionally filter by date range.\n\nExamples:\n  fmp-agent market historical AAPL\n  fmp-agent market historical AAPL --from 2024-01-01 --to 2024-12-31";
pub(crate) const MARKET_DIVIDENDS_ABOUT: &str =
    "Get historical dividend events for a stock ticker.";
pub(crate) const MARKET_DIVIDENDS_LONG: &str = "Get historical dividend events for a stock ticker.\n\nExamples:\n  fmp-agent market dividends AAPL";
pub(crate) const MARKET_SPLITS_ABOUT: &str =
    "Get historical stock split events for a stock ticker.";
pub(crate) const MARKET_SPLITS_LONG: &str = "Get historical stock split events for a stock ticker.\n\nExamples:\n  fmp-agent market splits AAPL";
pub(crate) const MARKET_PRICE_CHANGE_ABOUT: &str =
    "Get price change percentages for a stock ticker.";
pub(crate) const MARKET_PRICE_CHANGE_LONG: &str = "Get price change percentages for a stock ticker across multiple time periods (1D, 5D, 1M, 3M, 6M, YTD, 1Y, 3Y, 5Y, 10Y).\n\nExamples:\n  fmp-agent market price-change AAPL";
pub(crate) const FUNDAMENTALS_INCOME_STATEMENT_ABOUT: &str =
    "Get annual income statement rows for a stock ticker.";
pub(crate) const FUNDAMENTALS_INCOME_STATEMENT_LONG: &str = "Get annual income statement rows for a stock ticker. Returns up to the limit of most-recent fiscal years.\n\nExamples:\n  fmp-agent fundamentals income-statement AAPL\n  fmp-agent fundamentals income-statement AAPL --limit 10";
pub(crate) const FUNDAMENTALS_INCOME_STATEMENT_AS_REPORTED_ABOUT: &str =
    "Get annual as-reported income statement rows for a stock ticker.";
pub(crate) const FUNDAMENTALS_INCOME_STATEMENT_AS_REPORTED_LONG: &str = "Get annual as-reported income statement rows for a stock ticker as filed with the SEC.\n\nExamples:\n  fmp-agent fundamentals income-statement-as-reported AAPL";
pub(crate) const FUNDAMENTALS_BALANCE_SHEET_ABOUT: &str =
    "Get annual balance sheet rows for a stock ticker.";
pub(crate) const FUNDAMENTALS_BALANCE_SHEET_LONG: &str = "Get annual balance sheet rows for a stock ticker.\n\nExamples:\n  fmp-agent fundamentals balance-sheet AAPL\n  fmp-agent fundamentals balance-sheet MSFT --limit 3";
pub(crate) const FUNDAMENTALS_CASH_FLOW_ABOUT: &str =
    "Get annual cash flow statement rows for a stock ticker.";
pub(crate) const FUNDAMENTALS_CASH_FLOW_LONG: &str = "Get annual cash flow statement rows for a stock ticker.\n\nExamples:\n  fmp-agent fundamentals cash-flow AAPL";
pub(crate) const FUNDAMENTALS_RATIOS_ABOUT: &str =
    "Get annual financial ratio rows for a stock ticker.";
pub(crate) const FUNDAMENTALS_RATIOS_LONG: &str = "Get annual financial ratio rows for a stock ticker including P/E, P/B, debt-to-equity, and return metrics.\n\nExamples:\n  fmp-agent fundamentals ratios AAPL";
pub(crate) const FUNDAMENTALS_METRICS_ABOUT: &str =
    "Get annual key metric rows for a stock ticker.";
pub(crate) const FUNDAMENTALS_METRICS_LONG: &str = "Get annual key metric rows for a stock ticker including revenue-per-share, earnings-per-share, and free cash flow.\n\nExamples:\n  fmp-agent fundamentals metrics AAPL";
pub(crate) const FUNDAMENTALS_INCOME_STATEMENT_GROWTH_ABOUT: &str =
    "Get annual income statement growth rows for a stock ticker.";
pub(crate) const FUNDAMENTALS_INCOME_STATEMENT_GROWTH_LONG: &str = "Get annual income statement growth rows for a stock ticker showing year-over-year change percentages.\n\nExamples:\n  fmp-agent fundamentals income-statement-growth AAPL";
pub(crate) const FUNDAMENTALS_BALANCE_SHEET_GROWTH_ABOUT: &str =
    "Get annual balance sheet growth rows for a stock ticker.";
pub(crate) const FUNDAMENTALS_BALANCE_SHEET_GROWTH_LONG: &str = "Get annual balance sheet growth rows for a stock ticker.\n\nExamples:\n  fmp-agent fundamentals balance-sheet-growth AAPL";
pub(crate) const FUNDAMENTALS_CASH_FLOW_GROWTH_ABOUT: &str =
    "Get annual cash flow growth rows for a stock ticker.";
pub(crate) const FUNDAMENTALS_CASH_FLOW_GROWTH_LONG: &str = "Get annual cash flow growth rows for a stock ticker.\n\nExamples:\n  fmp-agent fundamentals cash-flow-growth AAPL";
pub(crate) const FUNDAMENTALS_ENTERPRISE_VALUES_ABOUT: &str =
    "Get annual enterprise value rows for a stock ticker.";
pub(crate) const FUNDAMENTALS_ENTERPRISE_VALUES_LONG: &str = "Get annual enterprise value rows for a stock ticker including market cap, debt, and enterprise value.\n\nExamples:\n  fmp-agent fundamentals enterprise-values AAPL";
pub(crate) const FUNDAMENTALS_ANALYST_ESTIMATES_ABOUT: &str =
    "Get annual analyst estimate rows for a stock ticker.";
pub(crate) const FUNDAMENTALS_ANALYST_ESTIMATES_LONG: &str = "Get annual analyst estimate rows for a stock ticker including revenue and EPS consensus estimates.\n\nExamples:\n  fmp-agent fundamentals analyst-estimates AAPL";
pub(crate) const FUNDAMENTALS_REPORT_DATES_ABOUT: &str =
    "Get available financial report dates for a stock ticker.";
pub(crate) const FUNDAMENTALS_REPORT_DATES_LONG: &str = "Get available financial report dates for a stock ticker showing when statements were filed.\n\nExamples:\n  fmp-agent fundamentals report-dates AAPL";
pub(crate) const FUNDAMENTALS_ANNUAL_REPORT_FORM_ABOUT: &str =
    "Get annual report form JSON for a stock ticker and fiscal year.";
pub(crate) const FUNDAMENTALS_ANNUAL_REPORT_FORM_LONG: &str = "Get annual report form JSON for a stock ticker and fiscal year. The --year flag is required.\n\nExamples:\n  fmp-agent fundamentals annual-report AAPL --year 2023\n  fmp-agent fundamentals annual-report MSFT --year 2022 --period FY";
pub(crate) const ANALYST_PRICE_TARGET_CONSENSUS_ABOUT: &str =
    "Get analyst price target consensus for a stock ticker.";
pub(crate) const ANALYST_PRICE_TARGET_CONSENSUS_LONG: &str = "Get the consensus price target for a stock ticker aggregated across analyst estimates.\n\nExamples:\n  fmp-agent analyst price-target-consensus AAPL";
pub(crate) const ANALYST_PRICE_TARGET_SUMMARY_ABOUT: &str =
    "Get analyst price target summary for a stock ticker.";
pub(crate) const ANALYST_PRICE_TARGET_SUMMARY_LONG: &str = "Get a summary of analyst price targets for a stock ticker including high, low, and median targets.\n\nExamples:\n  fmp-agent analyst price-target-summary AAPL";
pub(crate) const ANALYST_GRADES_ABOUT: &str =
    "Get analyst grade action history for a stock ticker.";
pub(crate) const ANALYST_GRADES_LONG: &str = "Get analyst grade action history for a stock ticker showing upgrades, downgrades, and initiations.\n\nExamples:\n  fmp-agent analyst grades AAPL";
pub(crate) const INSIDER_TRADING_LATEST_ABOUT: &str = "Get latest insider trading rows.";
pub(crate) const INSIDER_TRADING_LATEST_LONG: &str = "Get latest insider trading rows. Uses zero-based paging.\n\nExamples:\n  fmp-agent insider latest\n  fmp-agent insider latest --page 1 --limit 20";
pub(crate) const EARNINGS_CALENDAR_ABOUT: &str =
    "Get earnings calendar rows for an optional announcement date range.";
pub(crate) const EARNINGS_CALENDAR_LONG: &str = "Get earnings calendar rows for an optional announcement date range.\n\nExamples:\n  fmp-agent calendar earnings\n  fmp-agent calendar earnings --from 2024-01-01 --to 2024-03-31";
pub(crate) const TREASURY_RATES_ABOUT: &str = "Get treasury rate rows for an optional date range.";
pub(crate) const TREASURY_RATES_LONG: &str = "Get treasury rate rows for an optional date range. Returns yields for standard maturities (1M, 2M, 3M, 6M, 1Y, 2Y, 3Y, 5Y, 7Y, 10Y, 20Y, 30Y).\n\nExamples:\n  fmp-agent macro treasury-rates\n  fmp-agent macro treasury-rates --from 2024-01-01 --to 2024-12-31";
pub(crate) const ECONOMIC_INDICATORS_ABOUT: &str =
    "Get economic indicator rows by indicator name and optional date range.";
pub(crate) const ECONOMIC_INDICATORS_LONG: &str = "Get economic indicator rows by indicator name and optional date range. The indicator name is a positional argument.\n\nExamples:\n  fmp-agent macro economic-indicators GDP\n  fmp-agent macro economic-indicators GDP --from 2024-01-01 --to 2024-12-31";
pub(crate) const TECHNICAL_SMA_ABOUT: &str =
    "Get simple moving average technical indicator rows for a stock ticker.";
pub(crate) const TECHNICAL_SMA_LONG: &str = "Get simple moving average technical indicator rows for a stock ticker. Defaults to a 10-period SMA on the 1day timeframe.\n\nExamples:\n  fmp-agent technical sma AAPL\n  fmp-agent technical sma AAPL --period-length 20 --timeframe 1hour";
pub(crate) const SEC_FILINGS_ABOUT: &str = "Get SEC filing metadata for a stock ticker.";
pub(crate) const SEC_FILINGS_LONG: &str = "Get SEC filing metadata for a stock ticker. Defaults --from to 90 days ago when omitted because FMP requires a start date.\n\nExamples:\n  fmp-agent sec filings AAPL\n  fmp-agent sec filings AAPL --from 2024-01-01 --to 2024-12-31";
pub(crate) const CRYPTO_LIST_ABOUT: &str = "List supported cryptocurrency symbols.";
pub(crate) const CRYPTO_LIST_LONG: &str = "List all supported cryptocurrency symbols. Returns a large payload with symbol and name for each instrument.\n\nExamples:\n  fmp-agent crypto list";
pub(crate) const CRYPTO_QUOTE_ABOUT: &str = "Get the latest quote for a cryptocurrency pair.";
pub(crate) const CRYPTO_QUOTE_LONG: &str = "Get the latest quote for a cryptocurrency pair including price and volume data.\n\nExamples:\n  fmp-agent crypto quote BTCUSD";
pub(crate) const CRYPTO_HISTORICAL_ABOUT: &str =
    "Get historical end-of-day price bars for a cryptocurrency pair.";
pub(crate) const CRYPTO_HISTORICAL_LONG: &str = "Get historical end-of-day price bars for a cryptocurrency pair. Optionally filter by date range.\n\nExamples:\n  fmp-agent crypto historical BTCUSD\n  fmp-agent crypto historical BTCUSD --from 2024-01-01 --to 2024-12-31";
pub(crate) const FOREX_QUOTE_ABOUT: &str = "Get the latest quote for a forex pair.";
pub(crate) const FOREX_QUOTE_LONG: &str =
    "Get the latest quote for a forex pair.\n\nExamples:\n  fmp-agent forex quote EURUSD";
pub(crate) const FOREX_HISTORICAL_ABOUT: &str =
    "Get historical end-of-day price bars for a forex pair.";
pub(crate) const FOREX_HISTORICAL_LONG: &str = "Get historical end-of-day price bars for a forex pair. Optionally filter by date range.\n\nExamples:\n  fmp-agent forex historical EURUSD\n  fmp-agent forex historical EURUSD --from 2024-01-01 --to 2024-12-31";
pub(crate) const NEWS_STOCK_ABOUT: &str = "Get recent stock news for a stock ticker.";
pub(crate) const NEWS_STOCK_LONG: &str = "Get recent stock news for a stock ticker.\n\nExamples:\n  fmp-agent news stock AAPL\n  fmp-agent news stock AAPL --limit 20";
pub(crate) const NEWS_GENERAL_ABOUT: &str = "Get latest general market news.";
pub(crate) const NEWS_GENERAL_LONG: &str = "Get latest general market news. Uses zero-based paging.\n\nExamples:\n  fmp-agent news general\n  fmp-agent news general --page 1 --limit 20";
pub(crate) const NEWS_ARTICLES_ABOUT: &str = "Get latest FMP articles.";
pub(crate) const NEWS_ARTICLES_LONG: &str = "Get latest FMP articles. Uses zero-based paging.\n\nExamples:\n  fmp-agent news articles\n  fmp-agent news articles --page 1 --limit 20";
pub(crate) const NEWS_FOREX_ABOUT: &str = "Get latest forex news.";
pub(crate) const NEWS_FOREX_LONG: &str = "Get latest forex news. Uses zero-based paging.\n\nExamples:\n  fmp-agent news forex\n  fmp-agent news forex --page 0 --limit 10";
pub(crate) const NEWS_CRYPTO_ABOUT: &str = "Get latest crypto news.";
pub(crate) const NEWS_CRYPTO_LONG: &str = "Get latest crypto news. Uses zero-based paging.\n\nExamples:\n  fmp-agent news crypto\n  fmp-agent news crypto --page 0 --limit 10";
pub(crate) const SCHEMA_ABOUT: &str = "Dump the CLI surface as machine-readable JSON.";
pub(crate) const SCHEMA_LONG: &str = "Dump the CLI surface as machine-readable JSON. The output format is experimental and may change between versions. schema_version 2 is the grouped-command format.\n\nThis command does not require FMP_API_KEY and does not make any network requests.\n\nExamples:\n  fmp-agent schema\n  fmp-agent schema | jq '.commands | length'";

pub(crate) const SYMBOL: &str =
    "Symbol accepted by this command, such as a stock ticker, forex pair, or crypto pair.";
pub(crate) const STOCK_SYMBOL: &str = "Stock ticker symbol, for example AAPL.";
pub(crate) const LIMIT_ROWS: &str = "Maximum number of rows to return.";
pub(crate) const YEAR: &str = "Fiscal year, for example 2024.";
pub(crate) const PERIOD: &str = "Fiscal period, usually FY.";
pub(crate) const FROM: &str =
    "Inclusive start date in YYYY-MM-DD format. Omit for an open-ended start when supported.";
pub(crate) const TO: &str =
    "Inclusive end date in YYYY-MM-DD format. Omit for an open-ended end when supported.";
pub(crate) const ECONOMIC_INDICATOR_NAME: &str = "Economic indicator name, for example GDP.";
pub(crate) const ANNUAL_LIMIT: &str = "Maximum number of annual rows to return.";
pub(crate) const PERIOD_LENGTH: &str = "Number of periods in the moving average window.";
pub(crate) const TIMEFRAME: &str = "FMP candle timeframe, for example 1day.";
pub(crate) const PAGE: &str = "Zero-based result page.";
pub(crate) const PAGE_LIMIT: &str = "Maximum number of items to return.";