sentisense 0.59.0 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -510,6 +510,23 @@ interface GetFundamentalsOptions {
510
510
  fiscalPeriod?: string;
511
511
  fiscalYear?: number;
512
512
  }
513
+ /**
514
+ * The open-interest follow-up for one contract, as carried by an aggregate's `unusualOi`
515
+ * list: the same fields an unusual contract carries, keyed by symbol.
516
+ */
517
+ interface OptionsOiFollowUp {
518
+ /** Exchange-style option symbol. */
519
+ contract?: string;
520
+ oiPrior?: number;
521
+ oiNext?: number;
522
+ oiChange?: number;
523
+ /** Net open-interest change: opened, closed, mixed, pending, or unmatched. */
524
+ oiConfirmation?: "opened" | "closed" | "mixed" | "pending" | "unmatched";
525
+ /** Open-interest observation time in UTC epoch seconds. */
526
+ oiObservedAt?: number;
527
+ /** Which chain supplied the observed open interest. */
528
+ oiVintage?: "prior_settle" | "settled" | "next_session";
529
+ }
513
530
  /**
514
531
  * One session's aggregate options activity for a ticker.
515
532
  *
@@ -565,6 +582,17 @@ interface OptionsAggregate {
565
582
  contracts?: number;
566
583
  /** Largest unusual-contract premium this session; zero when none qualified. */
567
584
  maxUnusualPremium?: number;
585
+ /**
586
+ * Premium of the session's highlight contract: the largest qualifying premium with an
587
+ * expiry at least one day after the session. Zero when the session was evaluated and none
588
+ * qualified; absent on sessions recorded before this rule existed.
589
+ */
590
+ maxUnusualPremiumEx0dte?: number;
591
+ /**
592
+ * Open-interest follow-up for the session's unusual contracts, plus its highlight contract
593
+ * when that is not one of them. Absent until the follow-up has been read.
594
+ */
595
+ unusualOi?: OptionsOiFollowUp[];
568
596
  }
569
597
  /**
570
598
  * Percentile context for {@link OptionsAggregate}, against that ticker's own trailing
@@ -620,11 +648,69 @@ interface OptionsUnusualContract {
620
648
  /** Which chain supplied the observed open interest. */
621
649
  oiVintage?: "prior_settle" | "settled" | "next_session";
622
650
  }
651
+ /**
652
+ * A ticker's row on today's intraday options board, reduced to counts and the board's own
653
+ * clock. It carries no contract symbol, strike, price or premium.
654
+ *
655
+ * The board is rebuilt every 15 minutes during the session from 15-minute delayed chains;
656
+ * the contract-level board itself is in the SentiSense app, not the API.
657
+ */
658
+ interface OptionsIntradayFlow {
659
+ /** Contracts on the ticker's row passing the unusual rule so far this session, up to 5. */
660
+ unusualCount?: number;
661
+ /** Earliest board cycle that flagged one of them, `"HH:mm ET"`. Absent when none. */
662
+ firstSeenEt?: string;
663
+ /** `firstSeenEt` as Unix epoch seconds. */
664
+ firstSeenAt?: number;
665
+ /**
666
+ * Percentile (0-100) of the ticker's intraday highlight contract against its own history.
667
+ * Present only for highlighted tickers, and absent while that history holds fewer than 60
668
+ * sessions.
669
+ */
670
+ flowPctl1y?: number;
671
+ /** The board's snapshot time, `"HH:mm ET"`. */
672
+ asOfEt?: string;
673
+ /**
674
+ * The same instant as Unix epoch seconds. Unlike the dossier's own `asOf`, which is an ISO
675
+ * date, this one is a timestamp.
676
+ */
677
+ asOf?: number;
678
+ /** `true` while the board updates during the session, `false` once it has stopped. */
679
+ live?: boolean;
680
+ /** How far the board's chain data trails the market, in minutes. */
681
+ delayMinutes?: number;
682
+ }
683
+ /**
684
+ * Where the intraday options board lives and who can open it. Describes the board, not the
685
+ * data: `apiData` is `false` because its rows are app-only.
686
+ */
687
+ interface OptionsIntradayBoardCapability {
688
+ /** `true` when the app offers the board. */
689
+ available?: boolean;
690
+ /**
691
+ * Who can open the board in the app: `"signed_in_pro"` (any signed-in PRO account) or
692
+ * `"power_user"` (an early-access group). New values may appear.
693
+ */
694
+ access?: "signed_in_pro" | "power_user" | (string & {});
695
+ /** `false`: the board's rows are app-only, and the API serves only the derived fields. */
696
+ apiData?: boolean;
697
+ /** The board's data delay, in minutes. */
698
+ delayMinutes?: number;
699
+ /** The Options page in the app. */
700
+ url?: string;
701
+ }
702
+ /** Product capabilities that ride the options responses. */
703
+ interface OptionsCapabilities {
704
+ intradayBoard?: OptionsIntradayBoardCapability;
705
+ }
623
706
  /**
624
707
  * The options dossier for one stock or ETF, from `client.stocks.getOptionsSummary()`.
625
708
  *
626
709
  * End of day, not live: it describes the latest completed session and refreshes the
627
- * following morning.
710
+ * following morning. The exception is the intraday session fields (`intradayFlow`,
711
+ * `largePrintCount`, `largestPrintPctl`, `capabilities`), which are the same on every tier,
712
+ * previews included, and are omitted when their source is absent: `intradayFlow` before the
713
+ * day's first board or when the ticker has no row on it.
628
714
  */
629
715
  interface OptionsSummary {
630
716
  /** Session the dossier describes, ISO calendar day. */
@@ -643,6 +729,20 @@ interface OptionsSummary {
643
729
  oiWalls?: OptionsOiWalls;
644
730
  /** Top contracts by premium. */
645
731
  unusual?: OptionsUnusualContract[];
732
+ /** The ticker's row on today's intraday board. */
733
+ intradayFlow?: OptionsIntradayFlow;
734
+ /**
735
+ * Large prints for the ticker (one contract's fills clustered into a single order after the
736
+ * close) in the latest published prints session, up to 25; `0` when it has none.
737
+ */
738
+ largePrintCount?: number;
739
+ /**
740
+ * Highest percentile (0-100) among those prints, each print's premium against the ticker's
741
+ * own trailing prints. Absent when none is scored.
742
+ */
743
+ largestPrintPctl?: number;
744
+ /** Where the intraday board lives and who can open it. */
745
+ capabilities?: OptionsCapabilities;
646
746
  }
647
747
  /** Trailing window for `client.stocks.getOptionsHistory()`. */
648
748
  type OptionsHistoryWindow = "1y" | "2y" | "5y";
@@ -789,7 +889,10 @@ interface OptionsHighlight {
789
889
  * `coverageCount` describe the stock board only; the four `etf`-prefixed fields describe
790
890
  * the ETF board and are omitted entirely when a build has no ETF rows.
791
891
  *
792
- * End of day, not live: `asOf` is the latest completed session.
892
+ * End of day, not live: `asOf` is the latest completed session. The exception is
893
+ * `intradayActiveCount`, `intradayRanking` and `capabilities`, which summarize today's
894
+ * intraday board across stocks, are the same on every tier, and are omitted before the day's
895
+ * first board.
793
896
  */
794
897
  interface OptionsOverview {
795
898
  /** Session the build describes, ISO calendar day. */
@@ -820,6 +923,21 @@ interface OptionsOverview {
820
923
  etfCoverageCount?: number;
821
924
  /** Full ETF board size on a FREE response, mirroring what the envelope's `totalCount` does for stocks. */
822
925
  etfTotalCount?: number;
926
+ /** When this board was built, Unix epoch seconds (UTC). Pair it with `asOf`. */
927
+ builtAt?: number;
928
+ /**
929
+ * The rule the stock `highlights` were chosen by, `"ex0dte-v1"`. Absent when that list was
930
+ * built before the rule existed.
931
+ */
932
+ highlightPolicy?: string;
933
+ /** The same for `etfHighlights`. */
934
+ etfHighlightPolicy?: string;
935
+ /** Stocks on today's intraday board with at least one unusual contract so far. Stock board only. */
936
+ intradayActiveCount?: number;
937
+ /** Up to 25 of those tickers, most unusual for their own history first. */
938
+ intradayRanking?: string[];
939
+ /** Where the intraday board lives and who can open it. */
940
+ capabilities?: OptionsCapabilities;
823
941
  }
824
942
  /** The seven dimensions the composite is blended from, by stable `key`. */
825
943
  type RatingDimensionKey = "crowd" | "smart_money" | "options" | "analysts" | "fundamentals" | "earnings" | "technicals";
@@ -2028,11 +2146,28 @@ interface ServingMetric {
2028
2146
  }
2029
2147
  /** Distribution data returned by the v2 distribution endpoint. */
2030
2148
  interface MetricDistribution {
2149
+ /** The metric queried. */
2150
+ metricType?: string;
2151
+ /** The dimension the metric is broken down by, e.g. "source". */
2152
+ dimension?: string;
2153
+ /** Dimension value to a number whose meaning `valueType` gives. Empty when there is no data. */
2154
+ distribution?: Record<string, number>;
2155
+ /**
2156
+ * `"SHARE_PERCENT"` for a count metric (mentions, creators): each value is a percentage share
2157
+ * of the total, summing to about 100. `"MEAN"` for a value metric (sentiment): each value is
2158
+ * the mean reading on the metric's own scale, never a share.
2159
+ */
2160
+ valueType?: "SHARE_PERCENT" | "MEAN";
2031
2161
  [key: string]: unknown;
2032
2162
  }
2033
2163
  interface MarketMood {
2034
2164
  [key: string]: unknown;
2035
2165
  }
2166
+ /** Options for `MarketMoodResource.get()`. */
2167
+ interface MarketMoodOptions {
2168
+ /** Days of history to return. Omit to get the API's default of 180. */
2169
+ days?: number;
2170
+ }
2036
2171
  /** AI-generated market summary with headline and analysis. */
2037
2172
  interface MarketSummary {
2038
2173
  /** Not populated by the API (always empty); retained for backward compatibility. */
@@ -3266,10 +3401,16 @@ declare class EntityMetrics {
3266
3401
  */
3267
3402
  getMetrics(symbol: string, options?: MetricsOptions): Promise<ServingMetric[]>;
3268
3403
  /**
3269
- * Get distribution data for a metric, broken down by a dimension (default: source).
3404
+ * Get a metric broken down by dimension (default dimension: source).
3405
+ *
3406
+ * `valueType` on the response says what each number in `distribution` is. For a count metric
3407
+ * such as `"mentions"` it is `"SHARE_PERCENT"`: each source's percentage share of the total,
3408
+ * summing to about 100. For `"sentiment"` it is `"MEAN"`: each source's mean polarity over the
3409
+ * window, in [-1, 1]. `"sentisense_score"` has no per-source split and answers with an empty
3410
+ * distribution.
3270
3411
  *
3271
3412
  * @param symbol Ticker symbol (e.g. "AAPL") or entity urlSlug.
3272
- * @param metricType The metric to break down (e.g. "mentions", "sentiment").
3413
+ * @param metricType The metric to break down (e.g. "mentions" or "sentiment").
3273
3414
  * @param options Optional dimension parameter.
3274
3415
  */
3275
3416
  getDistribution(symbol: string, metricType: MetricType, options?: MetricDistributionOptions): Promise<MetricDistribution>;
@@ -3728,7 +3869,13 @@ declare class KB {
3728
3869
  declare class MarketMoodResource {
3729
3870
  private client;
3730
3871
  constructor(client: APIClient);
3731
- /** Get market mood data (scores, history, sectors). */
3872
+ /**
3873
+ * Get market mood data (scores, history, sectors).
3874
+ *
3875
+ * @param options `days` sets how many days of history to return. Omit it to get the
3876
+ * API's default of 180.
3877
+ */
3878
+ get(options?: MarketMoodOptions): Promise<MarketMood>;
3732
3879
  get(): Promise<MarketMood>;
3733
3880
  }
3734
3881
 
@@ -4248,6 +4395,6 @@ declare class APIError extends SentiSenseError {
4248
4395
  constructor(message: string, status: number, code?: string);
4249
4396
  }
4250
4397
 
4251
- declare const VERSION = "0.59.0";
4398
+ declare const VERSION = "0.61.0";
4252
4399
 
4253
- export { type AISummary, APIError, type AnalystAction, type AnalystCall, type AnalystCalledItCall, type AnalystCalledItMove, type AnalystConsensus, type AnalystConsensusHistory, type AnalystConsensusHistoryPoint, type AnalystCoverage, type AnalystCoverageAnalyst, type AnalystCoverageBookEntry, type AnalystCoverageFirm, type AnalystEarningsSurprise, type AnalystEstimate, type AnalystEstimatesResponse, type AnalystFirmRating, type AnalystFirmTenure, type AnalystNote, type AnalystProfile, type AnalystRatingBuckets, type AssetMetadata, AuthenticationError, type CalendarMeta, type ChartData, type ChartDataPoint, type ClusterBuy, type CompanyKpisData, type CongressTrade, DeepHistoryUnavailableError, type Document, type DocumentSearchResponse, type DocumentSource, type EarningsCalendarResponse, type EarningsEvent, type EarningsKpiHighlight, type EarningsOutcomeStatistics, type EarningsQuarter, type EarningsReaction, type EarningsReactionsResponse, type EarningsSource, type EarningsStatistics, type EarningsStatisticsBaseline, type EarningsStatisticsDeviation, type EarningsStatisticsThresholds, type EarningsStatisticsWindow, type EntitySearchResult, type EntitySearchType, type EtfAggregateCoverage, type EtfAnalystAggregate, type EtfAnalystContributor, type EtfHolding, type EtfHoldings, type EtfInfo, type EtfInsiderAggregate, type EtfInsiderContributor, type EtfScreenerExecuteResponse, type EtfScreenerRow, type EtfSentimentAggregate, type EtfSentimentReading, type FeaturedScreen, type FloatInfo, type Fundamentals, type FundamentalsPeriod, type FundamentalsPeriodsResponse, type GetAnalystActionsOptions, type GetAnalystCalledItOptions, type GetAnalystCallsOptions, type GetAnalystConsensusHistoryOptions, type GetAnalystCoverageOptions, type GetAnalystMarketActivityOptions, type GetEarningsCalendarOptions, type GetEarningsStatisticsOptions, type GetEarningsSummariesOptions, type GetEtfInsiderAggregateOptions, type GetHoldersOptions, type GetInsiderOptions, type GetInsightsOptions, type GetLatestInsightsOptions, type GetOptionsHistoryOptions, type GetPoliticianActivityOptions, type GetPoliticianDirectoryOptions, type GetPoliticianMemberOptions, type GetPoliticiansOptions, type GetRankedEarningsOptions, type GetRecentEarningsOptions, type GetStockInsightsRangeOptions, type GetUserInsightsOptions, type Holder, type HolderNotableChanges, type IndexConstituent, type IndexHistoryPoint, type IndexHistoryResponse, type IndexListResponse, type IndexListing, type IndexSnapshot, type InsiderActivityResponse, type InsiderActivitySummary, type InsiderTrade, type Insight, type InsightPreviewResponse, type InstitutionList, type InstitutionListResponse, type InstitutionSummary, type InstitutionalFlow, type InstitutionalFlows, type InstitutionalFlowsResponse, type KBEntity, type KpiCoverageEntry, type KpiCoverageResponse, type KpiDataPoint, type KpiSeries, type KpiTypeEntry, type ListInstitutionsOptions, type LockedInsight, type MarketMood, type MarketStatus, type MarketSummary, type MetricDistribution, type MetricDistributionOptions, type MetricType, type MetricsBreakdown, type MetricsOptions, NotFoundError, type OptionsAggregate, type OptionsContext, type OptionsHighlight, type OptionsHistory, type OptionsHistoryWindow, type OptionsOiWalls, type OptionsOverview, type OptionsOverviewRow, type OptionsSummary, type OptionsUnusualContract, type OptionsWall, type PoliticianDetail, type PoliticianDirectory, type PoliticianDirectoryEntry, type PoliticianDirectoryResponse, type PoliticianSummary, type PreviewResponse, type Quarter, type RankedEarnings, type RankedEarningsSection, type RankedReportedEarnings, type RankedUpcomingEarnings, RateLimitError, type RatingBase, type RatingDimension, type RatingDimensionKey, type RatingFlag, type RatingNotRatedReason, type RatingSubLeg, type RecentEarningsEntry, type RiskAdjustment, type RiskCondition, type ScreenerExecuteOptions, type ScreenerExecuteResponse, type ScreenerFieldCatalog, type ScreenerFieldDescriptor, type ScreenerFieldOption, type ScreenerFilter, type ScreenerPlan, type ScreenerRow, type ScreenerScreensResponse, type ScreenerSort, type SearchEntitiesOptions, type SearchStoriesOptions, SentiSense, SentiSenseError, type SentiSenseOptions, type SentimentEntry, type ServingMetric, type ShortInterest, type ShortVolume, type SimilarStock, type StockDetail, type StockEntity, type StockImage, type StockNotRated, type StockPrice, type StockProfile, type StockQuote, type StockRating, type StockRatingResponse, type StockSocialDominance, type Story, type StoryCluster, type StoryTimelineEntry, TemporarilyUnavailableError, type TickerHolders, type TrackerEvent, type TrackerGeoEntry, type TrackerHeadlineMetric, type TrackerListResponse, type TrackerListing, type TrackerMetricValue, type TrackerSignal, type TrackerSnapshot, type TrackerSnapshotResponse, type TrackerSourceRef, type TrackerTableRow, type TrackerTimeSeriesPoint, type TtmFundamentals, VERSION, type WeightedConsensus, type WeightedNetFlow, SentiSense as default };
4400
+ export { type AISummary, APIError, type AnalystAction, type AnalystCall, type AnalystCalledItCall, type AnalystCalledItMove, type AnalystConsensus, type AnalystConsensusHistory, type AnalystConsensusHistoryPoint, type AnalystCoverage, type AnalystCoverageAnalyst, type AnalystCoverageBookEntry, type AnalystCoverageFirm, type AnalystEarningsSurprise, type AnalystEstimate, type AnalystEstimatesResponse, type AnalystFirmRating, type AnalystFirmTenure, type AnalystNote, type AnalystProfile, type AnalystRatingBuckets, type AssetMetadata, AuthenticationError, type CalendarMeta, type ChartData, type ChartDataPoint, type ClusterBuy, type CompanyKpisData, type CongressTrade, DeepHistoryUnavailableError, type Document, type DocumentSearchResponse, type DocumentSource, type EarningsCalendarResponse, type EarningsEvent, type EarningsKpiHighlight, type EarningsOutcomeStatistics, type EarningsQuarter, type EarningsReaction, type EarningsReactionsResponse, type EarningsSource, type EarningsStatistics, type EarningsStatisticsBaseline, type EarningsStatisticsDeviation, type EarningsStatisticsThresholds, type EarningsStatisticsWindow, type EntitySearchResult, type EntitySearchType, type EtfAggregateCoverage, type EtfAnalystAggregate, type EtfAnalystContributor, type EtfHolding, type EtfHoldings, type EtfInfo, type EtfInsiderAggregate, type EtfInsiderContributor, type EtfScreenerExecuteResponse, type EtfScreenerRow, type EtfSentimentAggregate, type EtfSentimentReading, type FeaturedScreen, type FloatInfo, type Fundamentals, type FundamentalsPeriod, type FundamentalsPeriodsResponse, type GetAnalystActionsOptions, type GetAnalystCalledItOptions, type GetAnalystCallsOptions, type GetAnalystConsensusHistoryOptions, type GetAnalystCoverageOptions, type GetAnalystMarketActivityOptions, type GetEarningsCalendarOptions, type GetEarningsStatisticsOptions, type GetEarningsSummariesOptions, type GetEtfInsiderAggregateOptions, type GetHoldersOptions, type GetInsiderOptions, type GetInsightsOptions, type GetLatestInsightsOptions, type GetOptionsHistoryOptions, type GetPoliticianActivityOptions, type GetPoliticianDirectoryOptions, type GetPoliticianMemberOptions, type GetPoliticiansOptions, type GetRankedEarningsOptions, type GetRecentEarningsOptions, type GetStockInsightsRangeOptions, type GetUserInsightsOptions, type Holder, type HolderNotableChanges, type IndexConstituent, type IndexHistoryPoint, type IndexHistoryResponse, type IndexListResponse, type IndexListing, type IndexSnapshot, type InsiderActivityResponse, type InsiderActivitySummary, type InsiderTrade, type Insight, type InsightPreviewResponse, type InstitutionList, type InstitutionListResponse, type InstitutionSummary, type InstitutionalFlow, type InstitutionalFlows, type InstitutionalFlowsResponse, type KBEntity, type KpiCoverageEntry, type KpiCoverageResponse, type KpiDataPoint, type KpiSeries, type KpiTypeEntry, type ListInstitutionsOptions, type LockedInsight, type MarketMood, type MarketMoodOptions, type MarketStatus, type MarketSummary, type MetricDistribution, type MetricDistributionOptions, type MetricType, type MetricsBreakdown, type MetricsOptions, NotFoundError, type OptionsAggregate, type OptionsCapabilities, type OptionsContext, type OptionsHighlight, type OptionsHistory, type OptionsHistoryWindow, type OptionsIntradayBoardCapability, type OptionsIntradayFlow, type OptionsOiFollowUp, type OptionsOiWalls, type OptionsOverview, type OptionsOverviewRow, type OptionsSummary, type OptionsUnusualContract, type OptionsWall, type PoliticianDetail, type PoliticianDirectory, type PoliticianDirectoryEntry, type PoliticianDirectoryResponse, type PoliticianSummary, type PreviewResponse, type Quarter, type RankedEarnings, type RankedEarningsSection, type RankedReportedEarnings, type RankedUpcomingEarnings, RateLimitError, type RatingBase, type RatingDimension, type RatingDimensionKey, type RatingFlag, type RatingNotRatedReason, type RatingSubLeg, type RecentEarningsEntry, type RiskAdjustment, type RiskCondition, type ScreenerExecuteOptions, type ScreenerExecuteResponse, type ScreenerFieldCatalog, type ScreenerFieldDescriptor, type ScreenerFieldOption, type ScreenerFilter, type ScreenerPlan, type ScreenerRow, type ScreenerScreensResponse, type ScreenerSort, type SearchEntitiesOptions, type SearchStoriesOptions, SentiSense, SentiSenseError, type SentiSenseOptions, type SentimentEntry, type ServingMetric, type ShortInterest, type ShortVolume, type SimilarStock, type StockDetail, type StockEntity, type StockImage, type StockNotRated, type StockPrice, type StockProfile, type StockQuote, type StockRating, type StockRatingResponse, type StockSocialDominance, type Story, type StoryCluster, type StoryTimelineEntry, TemporarilyUnavailableError, type TickerHolders, type TrackerEvent, type TrackerGeoEntry, type TrackerHeadlineMetric, type TrackerListResponse, type TrackerListing, type TrackerMetricValue, type TrackerSignal, type TrackerSnapshot, type TrackerSnapshotResponse, type TrackerSourceRef, type TrackerTableRow, type TrackerTimeSeriesPoint, type TtmFundamentals, VERSION, type WeightedConsensus, type WeightedNetFlow, SentiSense as default };
package/dist/index.d.ts CHANGED
@@ -510,6 +510,23 @@ interface GetFundamentalsOptions {
510
510
  fiscalPeriod?: string;
511
511
  fiscalYear?: number;
512
512
  }
513
+ /**
514
+ * The open-interest follow-up for one contract, as carried by an aggregate's `unusualOi`
515
+ * list: the same fields an unusual contract carries, keyed by symbol.
516
+ */
517
+ interface OptionsOiFollowUp {
518
+ /** Exchange-style option symbol. */
519
+ contract?: string;
520
+ oiPrior?: number;
521
+ oiNext?: number;
522
+ oiChange?: number;
523
+ /** Net open-interest change: opened, closed, mixed, pending, or unmatched. */
524
+ oiConfirmation?: "opened" | "closed" | "mixed" | "pending" | "unmatched";
525
+ /** Open-interest observation time in UTC epoch seconds. */
526
+ oiObservedAt?: number;
527
+ /** Which chain supplied the observed open interest. */
528
+ oiVintage?: "prior_settle" | "settled" | "next_session";
529
+ }
513
530
  /**
514
531
  * One session's aggregate options activity for a ticker.
515
532
  *
@@ -565,6 +582,17 @@ interface OptionsAggregate {
565
582
  contracts?: number;
566
583
  /** Largest unusual-contract premium this session; zero when none qualified. */
567
584
  maxUnusualPremium?: number;
585
+ /**
586
+ * Premium of the session's highlight contract: the largest qualifying premium with an
587
+ * expiry at least one day after the session. Zero when the session was evaluated and none
588
+ * qualified; absent on sessions recorded before this rule existed.
589
+ */
590
+ maxUnusualPremiumEx0dte?: number;
591
+ /**
592
+ * Open-interest follow-up for the session's unusual contracts, plus its highlight contract
593
+ * when that is not one of them. Absent until the follow-up has been read.
594
+ */
595
+ unusualOi?: OptionsOiFollowUp[];
568
596
  }
569
597
  /**
570
598
  * Percentile context for {@link OptionsAggregate}, against that ticker's own trailing
@@ -620,11 +648,69 @@ interface OptionsUnusualContract {
620
648
  /** Which chain supplied the observed open interest. */
621
649
  oiVintage?: "prior_settle" | "settled" | "next_session";
622
650
  }
651
+ /**
652
+ * A ticker's row on today's intraday options board, reduced to counts and the board's own
653
+ * clock. It carries no contract symbol, strike, price or premium.
654
+ *
655
+ * The board is rebuilt every 15 minutes during the session from 15-minute delayed chains;
656
+ * the contract-level board itself is in the SentiSense app, not the API.
657
+ */
658
+ interface OptionsIntradayFlow {
659
+ /** Contracts on the ticker's row passing the unusual rule so far this session, up to 5. */
660
+ unusualCount?: number;
661
+ /** Earliest board cycle that flagged one of them, `"HH:mm ET"`. Absent when none. */
662
+ firstSeenEt?: string;
663
+ /** `firstSeenEt` as Unix epoch seconds. */
664
+ firstSeenAt?: number;
665
+ /**
666
+ * Percentile (0-100) of the ticker's intraday highlight contract against its own history.
667
+ * Present only for highlighted tickers, and absent while that history holds fewer than 60
668
+ * sessions.
669
+ */
670
+ flowPctl1y?: number;
671
+ /** The board's snapshot time, `"HH:mm ET"`. */
672
+ asOfEt?: string;
673
+ /**
674
+ * The same instant as Unix epoch seconds. Unlike the dossier's own `asOf`, which is an ISO
675
+ * date, this one is a timestamp.
676
+ */
677
+ asOf?: number;
678
+ /** `true` while the board updates during the session, `false` once it has stopped. */
679
+ live?: boolean;
680
+ /** How far the board's chain data trails the market, in minutes. */
681
+ delayMinutes?: number;
682
+ }
683
+ /**
684
+ * Where the intraday options board lives and who can open it. Describes the board, not the
685
+ * data: `apiData` is `false` because its rows are app-only.
686
+ */
687
+ interface OptionsIntradayBoardCapability {
688
+ /** `true` when the app offers the board. */
689
+ available?: boolean;
690
+ /**
691
+ * Who can open the board in the app: `"signed_in_pro"` (any signed-in PRO account) or
692
+ * `"power_user"` (an early-access group). New values may appear.
693
+ */
694
+ access?: "signed_in_pro" | "power_user" | (string & {});
695
+ /** `false`: the board's rows are app-only, and the API serves only the derived fields. */
696
+ apiData?: boolean;
697
+ /** The board's data delay, in minutes. */
698
+ delayMinutes?: number;
699
+ /** The Options page in the app. */
700
+ url?: string;
701
+ }
702
+ /** Product capabilities that ride the options responses. */
703
+ interface OptionsCapabilities {
704
+ intradayBoard?: OptionsIntradayBoardCapability;
705
+ }
623
706
  /**
624
707
  * The options dossier for one stock or ETF, from `client.stocks.getOptionsSummary()`.
625
708
  *
626
709
  * End of day, not live: it describes the latest completed session and refreshes the
627
- * following morning.
710
+ * following morning. The exception is the intraday session fields (`intradayFlow`,
711
+ * `largePrintCount`, `largestPrintPctl`, `capabilities`), which are the same on every tier,
712
+ * previews included, and are omitted when their source is absent: `intradayFlow` before the
713
+ * day's first board or when the ticker has no row on it.
628
714
  */
629
715
  interface OptionsSummary {
630
716
  /** Session the dossier describes, ISO calendar day. */
@@ -643,6 +729,20 @@ interface OptionsSummary {
643
729
  oiWalls?: OptionsOiWalls;
644
730
  /** Top contracts by premium. */
645
731
  unusual?: OptionsUnusualContract[];
732
+ /** The ticker's row on today's intraday board. */
733
+ intradayFlow?: OptionsIntradayFlow;
734
+ /**
735
+ * Large prints for the ticker (one contract's fills clustered into a single order after the
736
+ * close) in the latest published prints session, up to 25; `0` when it has none.
737
+ */
738
+ largePrintCount?: number;
739
+ /**
740
+ * Highest percentile (0-100) among those prints, each print's premium against the ticker's
741
+ * own trailing prints. Absent when none is scored.
742
+ */
743
+ largestPrintPctl?: number;
744
+ /** Where the intraday board lives and who can open it. */
745
+ capabilities?: OptionsCapabilities;
646
746
  }
647
747
  /** Trailing window for `client.stocks.getOptionsHistory()`. */
648
748
  type OptionsHistoryWindow = "1y" | "2y" | "5y";
@@ -789,7 +889,10 @@ interface OptionsHighlight {
789
889
  * `coverageCount` describe the stock board only; the four `etf`-prefixed fields describe
790
890
  * the ETF board and are omitted entirely when a build has no ETF rows.
791
891
  *
792
- * End of day, not live: `asOf` is the latest completed session.
892
+ * End of day, not live: `asOf` is the latest completed session. The exception is
893
+ * `intradayActiveCount`, `intradayRanking` and `capabilities`, which summarize today's
894
+ * intraday board across stocks, are the same on every tier, and are omitted before the day's
895
+ * first board.
793
896
  */
794
897
  interface OptionsOverview {
795
898
  /** Session the build describes, ISO calendar day. */
@@ -820,6 +923,21 @@ interface OptionsOverview {
820
923
  etfCoverageCount?: number;
821
924
  /** Full ETF board size on a FREE response, mirroring what the envelope's `totalCount` does for stocks. */
822
925
  etfTotalCount?: number;
926
+ /** When this board was built, Unix epoch seconds (UTC). Pair it with `asOf`. */
927
+ builtAt?: number;
928
+ /**
929
+ * The rule the stock `highlights` were chosen by, `"ex0dte-v1"`. Absent when that list was
930
+ * built before the rule existed.
931
+ */
932
+ highlightPolicy?: string;
933
+ /** The same for `etfHighlights`. */
934
+ etfHighlightPolicy?: string;
935
+ /** Stocks on today's intraday board with at least one unusual contract so far. Stock board only. */
936
+ intradayActiveCount?: number;
937
+ /** Up to 25 of those tickers, most unusual for their own history first. */
938
+ intradayRanking?: string[];
939
+ /** Where the intraday board lives and who can open it. */
940
+ capabilities?: OptionsCapabilities;
823
941
  }
824
942
  /** The seven dimensions the composite is blended from, by stable `key`. */
825
943
  type RatingDimensionKey = "crowd" | "smart_money" | "options" | "analysts" | "fundamentals" | "earnings" | "technicals";
@@ -2028,11 +2146,28 @@ interface ServingMetric {
2028
2146
  }
2029
2147
  /** Distribution data returned by the v2 distribution endpoint. */
2030
2148
  interface MetricDistribution {
2149
+ /** The metric queried. */
2150
+ metricType?: string;
2151
+ /** The dimension the metric is broken down by, e.g. "source". */
2152
+ dimension?: string;
2153
+ /** Dimension value to a number whose meaning `valueType` gives. Empty when there is no data. */
2154
+ distribution?: Record<string, number>;
2155
+ /**
2156
+ * `"SHARE_PERCENT"` for a count metric (mentions, creators): each value is a percentage share
2157
+ * of the total, summing to about 100. `"MEAN"` for a value metric (sentiment): each value is
2158
+ * the mean reading on the metric's own scale, never a share.
2159
+ */
2160
+ valueType?: "SHARE_PERCENT" | "MEAN";
2031
2161
  [key: string]: unknown;
2032
2162
  }
2033
2163
  interface MarketMood {
2034
2164
  [key: string]: unknown;
2035
2165
  }
2166
+ /** Options for `MarketMoodResource.get()`. */
2167
+ interface MarketMoodOptions {
2168
+ /** Days of history to return. Omit to get the API's default of 180. */
2169
+ days?: number;
2170
+ }
2036
2171
  /** AI-generated market summary with headline and analysis. */
2037
2172
  interface MarketSummary {
2038
2173
  /** Not populated by the API (always empty); retained for backward compatibility. */
@@ -3266,10 +3401,16 @@ declare class EntityMetrics {
3266
3401
  */
3267
3402
  getMetrics(symbol: string, options?: MetricsOptions): Promise<ServingMetric[]>;
3268
3403
  /**
3269
- * Get distribution data for a metric, broken down by a dimension (default: source).
3404
+ * Get a metric broken down by dimension (default dimension: source).
3405
+ *
3406
+ * `valueType` on the response says what each number in `distribution` is. For a count metric
3407
+ * such as `"mentions"` it is `"SHARE_PERCENT"`: each source's percentage share of the total,
3408
+ * summing to about 100. For `"sentiment"` it is `"MEAN"`: each source's mean polarity over the
3409
+ * window, in [-1, 1]. `"sentisense_score"` has no per-source split and answers with an empty
3410
+ * distribution.
3270
3411
  *
3271
3412
  * @param symbol Ticker symbol (e.g. "AAPL") or entity urlSlug.
3272
- * @param metricType The metric to break down (e.g. "mentions", "sentiment").
3413
+ * @param metricType The metric to break down (e.g. "mentions" or "sentiment").
3273
3414
  * @param options Optional dimension parameter.
3274
3415
  */
3275
3416
  getDistribution(symbol: string, metricType: MetricType, options?: MetricDistributionOptions): Promise<MetricDistribution>;
@@ -3728,7 +3869,13 @@ declare class KB {
3728
3869
  declare class MarketMoodResource {
3729
3870
  private client;
3730
3871
  constructor(client: APIClient);
3731
- /** Get market mood data (scores, history, sectors). */
3872
+ /**
3873
+ * Get market mood data (scores, history, sectors).
3874
+ *
3875
+ * @param options `days` sets how many days of history to return. Omit it to get the
3876
+ * API's default of 180.
3877
+ */
3878
+ get(options?: MarketMoodOptions): Promise<MarketMood>;
3732
3879
  get(): Promise<MarketMood>;
3733
3880
  }
3734
3881
 
@@ -4248,6 +4395,6 @@ declare class APIError extends SentiSenseError {
4248
4395
  constructor(message: string, status: number, code?: string);
4249
4396
  }
4250
4397
 
4251
- declare const VERSION = "0.59.0";
4398
+ declare const VERSION = "0.61.0";
4252
4399
 
4253
- export { type AISummary, APIError, type AnalystAction, type AnalystCall, type AnalystCalledItCall, type AnalystCalledItMove, type AnalystConsensus, type AnalystConsensusHistory, type AnalystConsensusHistoryPoint, type AnalystCoverage, type AnalystCoverageAnalyst, type AnalystCoverageBookEntry, type AnalystCoverageFirm, type AnalystEarningsSurprise, type AnalystEstimate, type AnalystEstimatesResponse, type AnalystFirmRating, type AnalystFirmTenure, type AnalystNote, type AnalystProfile, type AnalystRatingBuckets, type AssetMetadata, AuthenticationError, type CalendarMeta, type ChartData, type ChartDataPoint, type ClusterBuy, type CompanyKpisData, type CongressTrade, DeepHistoryUnavailableError, type Document, type DocumentSearchResponse, type DocumentSource, type EarningsCalendarResponse, type EarningsEvent, type EarningsKpiHighlight, type EarningsOutcomeStatistics, type EarningsQuarter, type EarningsReaction, type EarningsReactionsResponse, type EarningsSource, type EarningsStatistics, type EarningsStatisticsBaseline, type EarningsStatisticsDeviation, type EarningsStatisticsThresholds, type EarningsStatisticsWindow, type EntitySearchResult, type EntitySearchType, type EtfAggregateCoverage, type EtfAnalystAggregate, type EtfAnalystContributor, type EtfHolding, type EtfHoldings, type EtfInfo, type EtfInsiderAggregate, type EtfInsiderContributor, type EtfScreenerExecuteResponse, type EtfScreenerRow, type EtfSentimentAggregate, type EtfSentimentReading, type FeaturedScreen, type FloatInfo, type Fundamentals, type FundamentalsPeriod, type FundamentalsPeriodsResponse, type GetAnalystActionsOptions, type GetAnalystCalledItOptions, type GetAnalystCallsOptions, type GetAnalystConsensusHistoryOptions, type GetAnalystCoverageOptions, type GetAnalystMarketActivityOptions, type GetEarningsCalendarOptions, type GetEarningsStatisticsOptions, type GetEarningsSummariesOptions, type GetEtfInsiderAggregateOptions, type GetHoldersOptions, type GetInsiderOptions, type GetInsightsOptions, type GetLatestInsightsOptions, type GetOptionsHistoryOptions, type GetPoliticianActivityOptions, type GetPoliticianDirectoryOptions, type GetPoliticianMemberOptions, type GetPoliticiansOptions, type GetRankedEarningsOptions, type GetRecentEarningsOptions, type GetStockInsightsRangeOptions, type GetUserInsightsOptions, type Holder, type HolderNotableChanges, type IndexConstituent, type IndexHistoryPoint, type IndexHistoryResponse, type IndexListResponse, type IndexListing, type IndexSnapshot, type InsiderActivityResponse, type InsiderActivitySummary, type InsiderTrade, type Insight, type InsightPreviewResponse, type InstitutionList, type InstitutionListResponse, type InstitutionSummary, type InstitutionalFlow, type InstitutionalFlows, type InstitutionalFlowsResponse, type KBEntity, type KpiCoverageEntry, type KpiCoverageResponse, type KpiDataPoint, type KpiSeries, type KpiTypeEntry, type ListInstitutionsOptions, type LockedInsight, type MarketMood, type MarketStatus, type MarketSummary, type MetricDistribution, type MetricDistributionOptions, type MetricType, type MetricsBreakdown, type MetricsOptions, NotFoundError, type OptionsAggregate, type OptionsContext, type OptionsHighlight, type OptionsHistory, type OptionsHistoryWindow, type OptionsOiWalls, type OptionsOverview, type OptionsOverviewRow, type OptionsSummary, type OptionsUnusualContract, type OptionsWall, type PoliticianDetail, type PoliticianDirectory, type PoliticianDirectoryEntry, type PoliticianDirectoryResponse, type PoliticianSummary, type PreviewResponse, type Quarter, type RankedEarnings, type RankedEarningsSection, type RankedReportedEarnings, type RankedUpcomingEarnings, RateLimitError, type RatingBase, type RatingDimension, type RatingDimensionKey, type RatingFlag, type RatingNotRatedReason, type RatingSubLeg, type RecentEarningsEntry, type RiskAdjustment, type RiskCondition, type ScreenerExecuteOptions, type ScreenerExecuteResponse, type ScreenerFieldCatalog, type ScreenerFieldDescriptor, type ScreenerFieldOption, type ScreenerFilter, type ScreenerPlan, type ScreenerRow, type ScreenerScreensResponse, type ScreenerSort, type SearchEntitiesOptions, type SearchStoriesOptions, SentiSense, SentiSenseError, type SentiSenseOptions, type SentimentEntry, type ServingMetric, type ShortInterest, type ShortVolume, type SimilarStock, type StockDetail, type StockEntity, type StockImage, type StockNotRated, type StockPrice, type StockProfile, type StockQuote, type StockRating, type StockRatingResponse, type StockSocialDominance, type Story, type StoryCluster, type StoryTimelineEntry, TemporarilyUnavailableError, type TickerHolders, type TrackerEvent, type TrackerGeoEntry, type TrackerHeadlineMetric, type TrackerListResponse, type TrackerListing, type TrackerMetricValue, type TrackerSignal, type TrackerSnapshot, type TrackerSnapshotResponse, type TrackerSourceRef, type TrackerTableRow, type TrackerTimeSeriesPoint, type TtmFundamentals, VERSION, type WeightedConsensus, type WeightedNetFlow, SentiSense as default };
4400
+ export { type AISummary, APIError, type AnalystAction, type AnalystCall, type AnalystCalledItCall, type AnalystCalledItMove, type AnalystConsensus, type AnalystConsensusHistory, type AnalystConsensusHistoryPoint, type AnalystCoverage, type AnalystCoverageAnalyst, type AnalystCoverageBookEntry, type AnalystCoverageFirm, type AnalystEarningsSurprise, type AnalystEstimate, type AnalystEstimatesResponse, type AnalystFirmRating, type AnalystFirmTenure, type AnalystNote, type AnalystProfile, type AnalystRatingBuckets, type AssetMetadata, AuthenticationError, type CalendarMeta, type ChartData, type ChartDataPoint, type ClusterBuy, type CompanyKpisData, type CongressTrade, DeepHistoryUnavailableError, type Document, type DocumentSearchResponse, type DocumentSource, type EarningsCalendarResponse, type EarningsEvent, type EarningsKpiHighlight, type EarningsOutcomeStatistics, type EarningsQuarter, type EarningsReaction, type EarningsReactionsResponse, type EarningsSource, type EarningsStatistics, type EarningsStatisticsBaseline, type EarningsStatisticsDeviation, type EarningsStatisticsThresholds, type EarningsStatisticsWindow, type EntitySearchResult, type EntitySearchType, type EtfAggregateCoverage, type EtfAnalystAggregate, type EtfAnalystContributor, type EtfHolding, type EtfHoldings, type EtfInfo, type EtfInsiderAggregate, type EtfInsiderContributor, type EtfScreenerExecuteResponse, type EtfScreenerRow, type EtfSentimentAggregate, type EtfSentimentReading, type FeaturedScreen, type FloatInfo, type Fundamentals, type FundamentalsPeriod, type FundamentalsPeriodsResponse, type GetAnalystActionsOptions, type GetAnalystCalledItOptions, type GetAnalystCallsOptions, type GetAnalystConsensusHistoryOptions, type GetAnalystCoverageOptions, type GetAnalystMarketActivityOptions, type GetEarningsCalendarOptions, type GetEarningsStatisticsOptions, type GetEarningsSummariesOptions, type GetEtfInsiderAggregateOptions, type GetHoldersOptions, type GetInsiderOptions, type GetInsightsOptions, type GetLatestInsightsOptions, type GetOptionsHistoryOptions, type GetPoliticianActivityOptions, type GetPoliticianDirectoryOptions, type GetPoliticianMemberOptions, type GetPoliticiansOptions, type GetRankedEarningsOptions, type GetRecentEarningsOptions, type GetStockInsightsRangeOptions, type GetUserInsightsOptions, type Holder, type HolderNotableChanges, type IndexConstituent, type IndexHistoryPoint, type IndexHistoryResponse, type IndexListResponse, type IndexListing, type IndexSnapshot, type InsiderActivityResponse, type InsiderActivitySummary, type InsiderTrade, type Insight, type InsightPreviewResponse, type InstitutionList, type InstitutionListResponse, type InstitutionSummary, type InstitutionalFlow, type InstitutionalFlows, type InstitutionalFlowsResponse, type KBEntity, type KpiCoverageEntry, type KpiCoverageResponse, type KpiDataPoint, type KpiSeries, type KpiTypeEntry, type ListInstitutionsOptions, type LockedInsight, type MarketMood, type MarketMoodOptions, type MarketStatus, type MarketSummary, type MetricDistribution, type MetricDistributionOptions, type MetricType, type MetricsBreakdown, type MetricsOptions, NotFoundError, type OptionsAggregate, type OptionsCapabilities, type OptionsContext, type OptionsHighlight, type OptionsHistory, type OptionsHistoryWindow, type OptionsIntradayBoardCapability, type OptionsIntradayFlow, type OptionsOiFollowUp, type OptionsOiWalls, type OptionsOverview, type OptionsOverviewRow, type OptionsSummary, type OptionsUnusualContract, type OptionsWall, type PoliticianDetail, type PoliticianDirectory, type PoliticianDirectoryEntry, type PoliticianDirectoryResponse, type PoliticianSummary, type PreviewResponse, type Quarter, type RankedEarnings, type RankedEarningsSection, type RankedReportedEarnings, type RankedUpcomingEarnings, RateLimitError, type RatingBase, type RatingDimension, type RatingDimensionKey, type RatingFlag, type RatingNotRatedReason, type RatingSubLeg, type RecentEarningsEntry, type RiskAdjustment, type RiskCondition, type ScreenerExecuteOptions, type ScreenerExecuteResponse, type ScreenerFieldCatalog, type ScreenerFieldDescriptor, type ScreenerFieldOption, type ScreenerFilter, type ScreenerPlan, type ScreenerRow, type ScreenerScreensResponse, type ScreenerSort, type SearchEntitiesOptions, type SearchStoriesOptions, SentiSense, SentiSenseError, type SentiSenseOptions, type SentimentEntry, type ServingMetric, type ShortInterest, type ShortVolume, type SimilarStock, type StockDetail, type StockEntity, type StockImage, type StockNotRated, type StockPrice, type StockProfile, type StockQuote, type StockRating, type StockRatingResponse, type StockSocialDominance, type Story, type StoryCluster, type StoryTimelineEntry, TemporarilyUnavailableError, type TickerHolders, type TrackerEvent, type TrackerGeoEntry, type TrackerHeadlineMetric, type TrackerListResponse, type TrackerListing, type TrackerMetricValue, type TrackerSignal, type TrackerSnapshot, type TrackerSnapshotResponse, type TrackerSourceRef, type TrackerTableRow, type TrackerTimeSeriesPoint, type TtmFundamentals, VERSION, type WeightedConsensus, type WeightedNetFlow, SentiSense as default };
package/dist/index.mjs CHANGED
@@ -408,10 +408,16 @@ var EntityMetrics = class {
408
408
  );
409
409
  }
410
410
  /**
411
- * Get distribution data for a metric, broken down by a dimension (default: source).
411
+ * Get a metric broken down by dimension (default dimension: source).
412
+ *
413
+ * `valueType` on the response says what each number in `distribution` is. For a count metric
414
+ * such as `"mentions"` it is `"SHARE_PERCENT"`: each source's percentage share of the total,
415
+ * summing to about 100. For `"sentiment"` it is `"MEAN"`: each source's mean polarity over the
416
+ * window, in [-1, 1]. `"sentisense_score"` has no per-source split and answers with an empty
417
+ * distribution.
412
418
  *
413
419
  * @param symbol Ticker symbol (e.g. "AAPL") or entity urlSlug.
414
- * @param metricType The metric to break down (e.g. "mentions", "sentiment").
420
+ * @param metricType The metric to break down (e.g. "mentions" or "sentiment").
415
421
  * @param options Optional dimension parameter.
416
422
  */
417
423
  async getDistribution(symbol, metricType, options = {}) {
@@ -802,12 +808,13 @@ var MarketMoodResource = class {
802
808
  constructor(client) {
803
809
  this.client = client;
804
810
  }
805
- /** Get market mood data (scores, history, sectors). */
806
- async get() {
807
- return this.client.get("/api/v2/market-mood");
811
+ async get(options) {
812
+ const days = options?.days;
813
+ return this.client.get(
814
+ "/api/v2/market-mood",
815
+ days === void 0 ? void 0 : { days }
816
+ );
808
817
  }
809
- // TODO: accept a `days` param to control history length (the endpoint supports ?days=N).
810
- //
811
818
  // Market Mood is also reachable through `client.indexes`, which serves it in the shared
812
819
  // index envelope alongside fed-sentiment and ai-sentiment. Use this resource when you want
813
820
  // the phase band, weekly change, per-signal breakdown and per-sector map; use `indexes`
@@ -1311,7 +1318,7 @@ var Trackers = class {
1311
1318
  };
1312
1319
 
1313
1320
  // src/version.ts
1314
- var VERSION = "0.59.0";
1321
+ var VERSION = "0.61.0";
1315
1322
 
1316
1323
  // src/client.ts
1317
1324
  var DEFAULT_BASE_URL = "https://app.sentisense.ai";