sentisense 0.51.0 → 0.53.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
@@ -892,6 +892,37 @@ interface StoryCluster {
892
892
  averageSentiment: number;
893
893
  /** Unix timestamp in seconds when the cluster was assembled by our pipeline. */
894
894
  clusteredAt: number;
895
+ /**
896
+ * How the story was authored: `"ORIGINAL"` for an editorially authored SentiSense
897
+ * Original, `"AI"` for a pipeline-generated story. Optional because an older API
898
+ * build omits it, in which case it is `undefined` rather than `"AI"`.
899
+ */
900
+ storySource?: "ORIGINAL" | "AI";
901
+ /**
902
+ * True while the story is still being revised as the event develops. Optional
903
+ * because an older API build omits it, in which case it is `undefined` rather than
904
+ * `false`: read that as "not known", not as "settled".
905
+ */
906
+ isLive?: boolean;
907
+ }
908
+ /**
909
+ * One dated update on a live story, as served inside the story detail response's
910
+ * `timeline` array (newest first, empty when a story has none).
911
+ *
912
+ * `documents.getStoryDetail()` returns `unknown`, so this type is exported for callers
913
+ * that narrow the response themselves.
914
+ */
915
+ interface StoryTimelineEntry {
916
+ /** Publication time of this update, Unix milliseconds. */
917
+ publishedAt: number;
918
+ /**
919
+ * `"INITIAL"`, `"UPDATE"` or `"CORRECTION"`. Left open: an unrecognised label is
920
+ * served through rather than rejected, so branch on the three known values and let
921
+ * anything else fall through to a neutral rendering.
922
+ */
923
+ updateType: "INITIAL" | "UPDATE" | "CORRECTION" | (string & {});
924
+ /** The update text, markdown. */
925
+ content: string;
895
926
  }
896
927
  interface Story {
897
928
  cluster: StoryCluster;
@@ -2607,7 +2638,14 @@ declare class Documents {
2607
2638
  getBySource(source: DocumentSource, options?: GetBySourceOptions): Promise<DocumentSearchResponse>;
2608
2639
  /** Get AI-curated news story clusters. */
2609
2640
  getStories(options?: GetStoriesOptions): Promise<Story[]>;
2610
- /** Get full story detail by cluster ID. */
2641
+ /**
2642
+ * Get full story detail by cluster ID.
2643
+ *
2644
+ * Deliberately untyped: narrow it yourself. The response carries `storySource` and
2645
+ * `isLive` alongside the story body, plus a `timeline` array of dated updates,
2646
+ * newest first and empty when the story has none. {@link StoryTimelineEntry} is
2647
+ * exported for that array.
2648
+ */
2611
2649
  getStoryDetail(clusterId: string): Promise<unknown>;
2612
2650
  /** Get stories for a specific stock. */
2613
2651
  getStoriesByTicker(ticker: string, options?: GetStoriesByTickerOptions): Promise<Story[]>;
@@ -3085,11 +3123,48 @@ declare class Institutional {
3085
3123
  getInstitutionDetail(slugOrCik: string): Promise<unknown>;
3086
3124
  }
3087
3125
 
3126
+ /** Public entity types the search `type` filter accepts, and that come back on a hit. */
3127
+ type EntitySearchType = "person" | "company" | "product" | "organization" | "etf" | "topic" | "country";
3128
+ /**
3129
+ * One ranked match from {@link KB.searchEntities}.
3130
+ *
3131
+ * `urlSlug` is the handle the metric endpoints address an entity by, which is the reason
3132
+ * this endpoint exists: it answers "what is the handle for the thing I typed".
3133
+ */
3134
+ interface EntitySearchResult {
3135
+ name: string;
3136
+ /** Stable handle for this entity, or `null` when it has none. */
3137
+ urlSlug: string | null;
3138
+ /** `"person"`, `"company"`, `"product"`, `"organization"`, `"etf"`, `"topic"`, `"country"`. */
3139
+ type: EntitySearchType | string | null;
3140
+ /** The listed symbol for a tradeable entity, `null` for everything else. */
3141
+ ticker: string | null;
3142
+ }
3143
+ interface SearchEntitiesOptions {
3144
+ /** Narrow to one entity type. An unrecognised value is rejected with a 400. */
3145
+ type?: EntitySearchType | string;
3146
+ /** Matches to return, 1 to 25. Omitted, the API applies its own default of 10. */
3147
+ limit?: number;
3148
+ }
3088
3149
  declare class KB {
3089
3150
  private client;
3090
3151
  constructor(client: APIClient);
3091
3152
  /** Get popular entities for search suggestions. */
3092
3153
  getPopularEntities(): Promise<KBEntity[]>;
3154
+ /**
3155
+ * Resolve a name, alias, ticker or slug to the entities we track, best match first.
3156
+ *
3157
+ * This is resolution, not enumeration: the query must be at least 2 characters and the
3158
+ * result count is capped, so it answers "which handle did the user mean" rather than
3159
+ * dumping the graph. Use it when someone typed "Tesla" and the rest of your code needs
3160
+ * `TSLA`, or when you need the `urlSlug` an entity's metric series is addressed by.
3161
+ *
3162
+ * Returns a bare array, not a `PreviewResponse` envelope, and an empty array is the
3163
+ * normal answer for a query that matches nothing.
3164
+ *
3165
+ * @param q What the user typed. At least 2 characters, or the API answers 400.
3166
+ */
3167
+ searchEntities(q: string, options?: SearchEntitiesOptions): Promise<EntitySearchResult[]>;
3093
3168
  }
3094
3169
 
3095
3170
  declare class MarketMoodResource {
@@ -3602,6 +3677,6 @@ declare class APIError extends SentiSenseError {
3602
3677
  constructor(message: string, status: number, code?: string);
3603
3678
  }
3604
3679
 
3605
- declare const VERSION = "0.51.0";
3680
+ declare const VERSION = "0.53.0";
3606
3681
 
3607
- export { type AISummary, APIError, type AnalystAction, type AnalystCall, type AnalystConsensus, 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 EarningsQuarter, type EarningsSource, 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 GetAnalystCallsOptions, type GetAnalystCoverageOptions, type GetAnalystMarketActivityOptions, type GetEarningsCalendarOptions, type GetEarningsSummariesOptions, type GetEtfInsiderAggregateOptions, type GetHoldersOptions, type GetInsiderOptions, type GetInsightsOptions, type GetLatestInsightsOptions, type GetOptionsHistoryOptions, type GetPoliticianActivityOptions, type GetPoliticianDirectoryOptions, type GetPoliticianMemberOptions, type GetPoliticiansOptions, 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 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, 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, 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 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 };
3682
+ export { type AISummary, APIError, type AnalystAction, type AnalystCall, type AnalystConsensus, 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 EarningsQuarter, type EarningsSource, 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 GetAnalystCallsOptions, type GetAnalystCoverageOptions, type GetAnalystMarketActivityOptions, type GetEarningsCalendarOptions, type GetEarningsSummariesOptions, type GetEtfInsiderAggregateOptions, type GetHoldersOptions, type GetInsiderOptions, type GetInsightsOptions, type GetLatestInsightsOptions, type GetOptionsHistoryOptions, type GetPoliticianActivityOptions, type GetPoliticianDirectoryOptions, type GetPoliticianMemberOptions, type GetPoliticiansOptions, 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 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, 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, 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, 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
@@ -892,6 +892,37 @@ interface StoryCluster {
892
892
  averageSentiment: number;
893
893
  /** Unix timestamp in seconds when the cluster was assembled by our pipeline. */
894
894
  clusteredAt: number;
895
+ /**
896
+ * How the story was authored: `"ORIGINAL"` for an editorially authored SentiSense
897
+ * Original, `"AI"` for a pipeline-generated story. Optional because an older API
898
+ * build omits it, in which case it is `undefined` rather than `"AI"`.
899
+ */
900
+ storySource?: "ORIGINAL" | "AI";
901
+ /**
902
+ * True while the story is still being revised as the event develops. Optional
903
+ * because an older API build omits it, in which case it is `undefined` rather than
904
+ * `false`: read that as "not known", not as "settled".
905
+ */
906
+ isLive?: boolean;
907
+ }
908
+ /**
909
+ * One dated update on a live story, as served inside the story detail response's
910
+ * `timeline` array (newest first, empty when a story has none).
911
+ *
912
+ * `documents.getStoryDetail()` returns `unknown`, so this type is exported for callers
913
+ * that narrow the response themselves.
914
+ */
915
+ interface StoryTimelineEntry {
916
+ /** Publication time of this update, Unix milliseconds. */
917
+ publishedAt: number;
918
+ /**
919
+ * `"INITIAL"`, `"UPDATE"` or `"CORRECTION"`. Left open: an unrecognised label is
920
+ * served through rather than rejected, so branch on the three known values and let
921
+ * anything else fall through to a neutral rendering.
922
+ */
923
+ updateType: "INITIAL" | "UPDATE" | "CORRECTION" | (string & {});
924
+ /** The update text, markdown. */
925
+ content: string;
895
926
  }
896
927
  interface Story {
897
928
  cluster: StoryCluster;
@@ -2607,7 +2638,14 @@ declare class Documents {
2607
2638
  getBySource(source: DocumentSource, options?: GetBySourceOptions): Promise<DocumentSearchResponse>;
2608
2639
  /** Get AI-curated news story clusters. */
2609
2640
  getStories(options?: GetStoriesOptions): Promise<Story[]>;
2610
- /** Get full story detail by cluster ID. */
2641
+ /**
2642
+ * Get full story detail by cluster ID.
2643
+ *
2644
+ * Deliberately untyped: narrow it yourself. The response carries `storySource` and
2645
+ * `isLive` alongside the story body, plus a `timeline` array of dated updates,
2646
+ * newest first and empty when the story has none. {@link StoryTimelineEntry} is
2647
+ * exported for that array.
2648
+ */
2611
2649
  getStoryDetail(clusterId: string): Promise<unknown>;
2612
2650
  /** Get stories for a specific stock. */
2613
2651
  getStoriesByTicker(ticker: string, options?: GetStoriesByTickerOptions): Promise<Story[]>;
@@ -3085,11 +3123,48 @@ declare class Institutional {
3085
3123
  getInstitutionDetail(slugOrCik: string): Promise<unknown>;
3086
3124
  }
3087
3125
 
3126
+ /** Public entity types the search `type` filter accepts, and that come back on a hit. */
3127
+ type EntitySearchType = "person" | "company" | "product" | "organization" | "etf" | "topic" | "country";
3128
+ /**
3129
+ * One ranked match from {@link KB.searchEntities}.
3130
+ *
3131
+ * `urlSlug` is the handle the metric endpoints address an entity by, which is the reason
3132
+ * this endpoint exists: it answers "what is the handle for the thing I typed".
3133
+ */
3134
+ interface EntitySearchResult {
3135
+ name: string;
3136
+ /** Stable handle for this entity, or `null` when it has none. */
3137
+ urlSlug: string | null;
3138
+ /** `"person"`, `"company"`, `"product"`, `"organization"`, `"etf"`, `"topic"`, `"country"`. */
3139
+ type: EntitySearchType | string | null;
3140
+ /** The listed symbol for a tradeable entity, `null` for everything else. */
3141
+ ticker: string | null;
3142
+ }
3143
+ interface SearchEntitiesOptions {
3144
+ /** Narrow to one entity type. An unrecognised value is rejected with a 400. */
3145
+ type?: EntitySearchType | string;
3146
+ /** Matches to return, 1 to 25. Omitted, the API applies its own default of 10. */
3147
+ limit?: number;
3148
+ }
3088
3149
  declare class KB {
3089
3150
  private client;
3090
3151
  constructor(client: APIClient);
3091
3152
  /** Get popular entities for search suggestions. */
3092
3153
  getPopularEntities(): Promise<KBEntity[]>;
3154
+ /**
3155
+ * Resolve a name, alias, ticker or slug to the entities we track, best match first.
3156
+ *
3157
+ * This is resolution, not enumeration: the query must be at least 2 characters and the
3158
+ * result count is capped, so it answers "which handle did the user mean" rather than
3159
+ * dumping the graph. Use it when someone typed "Tesla" and the rest of your code needs
3160
+ * `TSLA`, or when you need the `urlSlug` an entity's metric series is addressed by.
3161
+ *
3162
+ * Returns a bare array, not a `PreviewResponse` envelope, and an empty array is the
3163
+ * normal answer for a query that matches nothing.
3164
+ *
3165
+ * @param q What the user typed. At least 2 characters, or the API answers 400.
3166
+ */
3167
+ searchEntities(q: string, options?: SearchEntitiesOptions): Promise<EntitySearchResult[]>;
3093
3168
  }
3094
3169
 
3095
3170
  declare class MarketMoodResource {
@@ -3602,6 +3677,6 @@ declare class APIError extends SentiSenseError {
3602
3677
  constructor(message: string, status: number, code?: string);
3603
3678
  }
3604
3679
 
3605
- declare const VERSION = "0.51.0";
3680
+ declare const VERSION = "0.53.0";
3606
3681
 
3607
- export { type AISummary, APIError, type AnalystAction, type AnalystCall, type AnalystConsensus, 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 EarningsQuarter, type EarningsSource, 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 GetAnalystCallsOptions, type GetAnalystCoverageOptions, type GetAnalystMarketActivityOptions, type GetEarningsCalendarOptions, type GetEarningsSummariesOptions, type GetEtfInsiderAggregateOptions, type GetHoldersOptions, type GetInsiderOptions, type GetInsightsOptions, type GetLatestInsightsOptions, type GetOptionsHistoryOptions, type GetPoliticianActivityOptions, type GetPoliticianDirectoryOptions, type GetPoliticianMemberOptions, type GetPoliticiansOptions, 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 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, 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, 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 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 };
3682
+ export { type AISummary, APIError, type AnalystAction, type AnalystCall, type AnalystConsensus, 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 EarningsQuarter, type EarningsSource, 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 GetAnalystCallsOptions, type GetAnalystCoverageOptions, type GetAnalystMarketActivityOptions, type GetEarningsCalendarOptions, type GetEarningsSummariesOptions, type GetEtfInsiderAggregateOptions, type GetHoldersOptions, type GetInsiderOptions, type GetInsightsOptions, type GetLatestInsightsOptions, type GetOptionsHistoryOptions, type GetPoliticianActivityOptions, type GetPoliticianDirectoryOptions, type GetPoliticianMemberOptions, type GetPoliticiansOptions, 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 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, 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, 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, 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
@@ -221,7 +221,14 @@ var Documents = class {
221
221
  async getStories(options) {
222
222
  return this.client.get("/api/v1/documents/stories", options);
223
223
  }
224
- /** Get full story detail by cluster ID. */
224
+ /**
225
+ * Get full story detail by cluster ID.
226
+ *
227
+ * Deliberately untyped: narrow it yourself. The response carries `storySource` and
228
+ * `isLive` alongside the story body, plus a `timeline` array of dated updates,
229
+ * newest first and empty when the story has none. {@link StoryTimelineEntry} is
230
+ * exported for that array.
231
+ */
225
232
  async getStoryDetail(clusterId) {
226
233
  return this.client.get(`/api/v1/documents/stories/${encodeURIComponent(clusterId)}`);
227
234
  }
@@ -676,6 +683,22 @@ var KB = class {
676
683
  async getPopularEntities() {
677
684
  return this.client.get("/api/v1/kb/entities/popular");
678
685
  }
686
+ /**
687
+ * Resolve a name, alias, ticker or slug to the entities we track, best match first.
688
+ *
689
+ * This is resolution, not enumeration: the query must be at least 2 characters and the
690
+ * result count is capped, so it answers "which handle did the user mean" rather than
691
+ * dumping the graph. Use it when someone typed "Tesla" and the rest of your code needs
692
+ * `TSLA`, or when you need the `urlSlug` an entity's metric series is addressed by.
693
+ *
694
+ * Returns a bare array, not a `PreviewResponse` envelope, and an empty array is the
695
+ * normal answer for a query that matches nothing.
696
+ *
697
+ * @param q What the user typed. At least 2 characters, or the API answers 400.
698
+ */
699
+ async searchEntities(q, options) {
700
+ return this.client.get("/api/v1/kb/entities/search", { q, ...options });
701
+ }
679
702
  };
680
703
 
681
704
  // src/resources/marketMood.ts
@@ -1192,7 +1215,7 @@ var Trackers = class {
1192
1215
  };
1193
1216
 
1194
1217
  // src/version.ts
1195
- var VERSION = "0.51.0";
1218
+ var VERSION = "0.53.0";
1196
1219
 
1197
1220
  // src/client.ts
1198
1221
  var DEFAULT_BASE_URL = "https://app.sentisense.ai";