sentisense 0.33.0 → 0.34.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
@@ -49,6 +49,17 @@ interface StockQuote {
49
49
  dividendYield: number | null;
50
50
  /** 200-day simple moving average of daily closes. Null when fewer than 200 trading days of history exist. */
51
51
  movingAverage200Day: number | null;
52
+ /**
53
+ * Currency the issuer reports its financials in ("USD", "TWD", "JPY", ...). Absent when
54
+ * the currency is unknown, which is not the same as implicitly USD. Same field and same
55
+ * meaning as {@link Fundamentals.reportedCurrency}.
56
+ *
57
+ * Price fields on this response are always in the listing currency of the quoted symbol,
58
+ * so on an ADR filing in a home currency the price and the per-share statement figures are
59
+ * in different units. The valuation ratios derived from both (`peRatio`, `epsTTM`) are
60
+ * omitted rather than computed in that case, so treat them as possibly absent, not zero.
61
+ */
62
+ reportedCurrency?: string;
52
63
  timestamp: number | null;
53
64
  /** Extended-hours view (pre-market or after-hours). Null/absent during RTH, overnight, and weekends. */
54
65
  extendedHours?: ExtendedHoursInfo | null;
@@ -89,10 +100,15 @@ interface StockEntity {
89
100
  }
90
101
  /** Per-source tone for a stock: where the conversation is, and how it leans. */
91
102
  interface SentimentSourceTone {
103
+ /** "News", "Reddit", "X", "YouTube", "Substack". */
92
104
  source: string;
93
105
  /** "Bullish" | "Neutral" | "Bearish". */
94
106
  direction: string;
95
- /** Share of this stock's mentions coming from this source. */
107
+ /**
108
+ * Whole-number percent of this stock's mentions, not a fraction. Each source's share is
109
+ * rounded independently, so the array sums to about 100 rather than exactly 100: 101 is
110
+ * common and is not a data error. Do not use the shares to reconstruct per-source counts.
111
+ */
96
112
  mentionShare: number;
97
113
  /** Exact polarity in [-1, 1]. */
98
114
  value?: number;
@@ -127,7 +143,9 @@ interface StockSentiment {
127
143
  mentions?: number;
128
144
  /** 30-day average mentions per day. */
129
145
  mentionsAvg30d?: number;
146
+ /** Latest share of voice, as a fraction (0.021 = 2.1%). Note this is NOT the same unit as `mentionShare`. */
130
147
  socialDominance?: number;
148
+ /** Per-source tone, loudest source first. */
131
149
  bySource?: SentimentSourceTone[];
132
150
  relatedTickers?: Array<{
133
151
  ticker: string;
@@ -263,9 +281,14 @@ interface AISummary {
263
281
  }
264
282
  interface GetChartOptions {
265
283
  /**
266
- * Chart range. "MAX" returns the full available history (up to ~26 years); "10Y" and "5Y"
267
- * return weekly bars. Ranges of "5Y" and longer are split- and dividend-adjusted; shorter
268
- * ranges are split-adjusted only.
284
+ * Chart range. "MAX" returns the full available history (up to ~26 years) as monthly bars;
285
+ * "10Y" and "5Y" return weekly bars.
286
+ *
287
+ * Price basis differs by range, so do not compare closes across two ranges without
288
+ * checking this: "10Y" and "MAX" are split- and dividend-adjusted, while "5Y" and every
289
+ * shorter range are split-adjusted only. A "5Y" weekly close equals the "1Y" daily close of
290
+ * that week's last trading day; the "10Y" bar for the same week is lower by the dividends
291
+ * paid since, and the gap widens the further back you read.
269
292
  *
270
293
  * "ALL" is a legacy alias of "5Y", retained so existing code keeps compiling.
271
294
  */
@@ -310,6 +333,15 @@ interface Document {
310
333
  id: string;
311
334
  url: string;
312
335
  source: "NEWS" | "REDDIT" | "X" | "SUBSTACK" | "YOUTUBE";
336
+ /**
337
+ * Publisher name for a news article, e.g. `"The Motley Fool"`. Null on social sources,
338
+ * where the publisher is the platform already named in `source`, so fall back to
339
+ * `source` for a label rather than printing an empty string.
340
+ *
341
+ * Typed optional so existing object literals keep compiling; the API sends the key on
342
+ * every document row.
343
+ */
344
+ sourceName?: string | null;
313
345
  published: number;
314
346
  averageSentiment: number;
315
347
  reliability: number;
@@ -430,7 +462,7 @@ interface InstitutionalFlow {
430
462
  avgClosePrice?: number | null;
431
463
  /**
432
464
  * Dollar-weighted net flow: `netSharesChange × avgClosePrice`. 0 when
433
- * `avgClosePrice` is missing — fall back to displaying `netSharesChange`.
465
+ * `avgClosePrice` is missing, so fall back to displaying `netSharesChange`.
434
466
  */
435
467
  dollarFlowUsd: number;
436
468
  }
@@ -443,6 +475,36 @@ interface Holder {
443
475
  changeType: "NEW" | "INCREASED" | "DECREASED" | "SOLD_OUT" | "UNCHANGED";
444
476
  sharesChange: number;
445
477
  sharesChangePct: number;
478
+ /**
479
+ * URL slug for this filer, to pass straight to
480
+ * `institutional.getInstitutionDetail()`. Null when the filer has no curated
481
+ * institution page, so check it before building a link.
482
+ *
483
+ * Typed optional so existing object literals keep compiling; the API sends the key
484
+ * on every holder row.
485
+ */
486
+ entitySlug?: string | null;
487
+ /**
488
+ * Number of SEC filer CIKs rolled up into this row, when the row aggregates a
489
+ * multi-filer manager. Null for a single-CIK filer, which is the common case, so
490
+ * read it as "1 or unknown" rather than zero.
491
+ */
492
+ cikCount?: number | null;
493
+ }
494
+ /**
495
+ * A server-side shortlist of the quarter's significant position changes, so a caller
496
+ * paging through thousands of rows does not have to fetch them all to find the movers.
497
+ *
498
+ * Scoped to the whole ticker, not to the page you asked for: the same values come back
499
+ * whatever `limit` and `offset` you send. The server picks both the threshold behind
500
+ * `count` and the ranking behind `top`, and neither is part of the API contract, so treat
501
+ * this as a display aid and re-derive anything you need to sort or filter on from `holders`.
502
+ */
503
+ interface HolderNotableChanges {
504
+ /** How many holders the server judged to have changed significantly this quarter. */
505
+ count: number;
506
+ /** The shortlist itself, already ranked. Same row shape as `holders`. */
507
+ top: Holder[];
446
508
  }
447
509
  /**
448
510
  * Institutional ownership for one ticker: the `data` payload of
@@ -456,8 +518,25 @@ interface TickerHolders {
456
518
  reportDate: string;
457
519
  totalInstitutionalShares: number;
458
520
  totalInstitutionalValue: number;
521
+ /** Every institutional holder of this ticker for the quarter, ignoring any paging. */
459
522
  holderCount: number;
460
523
  holders: Holder[];
524
+ /**
525
+ * Rows actually returned in `holders`. Sent only when you passed `limit`, so use
526
+ * `holders.length` if you need a count that is always there. On the last page it is
527
+ * smaller than the `limit` you asked for, which is how you know to stop.
528
+ */
529
+ returnedCount?: number;
530
+ /**
531
+ * Row offset these `holders` start at, echoing the request. Sent only when you passed
532
+ * `limit`; the unpaged response omits it rather than sending 0.
533
+ */
534
+ offset?: number;
535
+ /**
536
+ * Ticker-wide summary of the quarter's biggest position changes. Sent only when you
537
+ * passed `limit`, since it exists to spare a paging caller a full scan.
538
+ */
539
+ notableChanges?: HolderNotableChanges;
461
540
  }
462
541
  /**
463
542
  * The flows payload inside the response envelope: `institutional.getFlows()` returns
@@ -494,6 +573,27 @@ type InstitutionalFlowsResponse = InstitutionalFlows;
494
573
  interface GetFlowsOptions {
495
574
  limit?: number;
496
575
  }
576
+ /**
577
+ * Paging and sort options for `institutional.getHolders`.
578
+ *
579
+ * `limit` is the switch for the whole set: sent on its own it pages, and it is also what
580
+ * turns on `offset`, `sortBy`, `sortDir`, and the `returnedCount` / `offset` /
581
+ * `notableChanges` fields on the response. Send any of the others without `limit` and the
582
+ * server ignores them and returns the full unsorted list, silently, with a 200.
583
+ */
584
+ interface GetHoldersOptions {
585
+ /**
586
+ * Maximum holder rows to return. Must be >= 1; values above 1000 are capped
587
+ * server-side. Omit to get the full, unbounded holder list.
588
+ */
589
+ limit?: number;
590
+ /** Row offset to start from. Server default is 0. Requires `limit`. */
591
+ offset?: number;
592
+ /** Sort field. Server default is `"shares"`. Requires `limit`. */
593
+ sortBy?: "shares" | "valueUsd" | "sharesChangePct";
594
+ /** Sort direction. Server default is `"desc"`. Requires `limit`. */
595
+ sortDir?: "asc" | "desc";
596
+ }
497
597
  /** A single institution summary from the discovery list. */
498
598
  interface InstitutionSummary {
499
599
  /** SEC Central Index Key of the (rolled-up) institution. */
@@ -669,6 +769,26 @@ interface GetPoliticiansOptions {
669
769
  /** Number of days to look back (1-365). Defaults to 90. */
670
770
  lookbackDays?: number;
671
771
  }
772
+ /**
773
+ * Options for `politicians.getActivity`, which pages on top of the shared lookback window.
774
+ *
775
+ * The market-wide feed is far longer than one response: a 90-day window is routinely well
776
+ * over a thousand disclosures and the server returns 200 of them by default. Read
777
+ * `totalCount` on the envelope to size the walk, then step through with `limit` and
778
+ * `offset`. Omitting both keeps the original single 200-row request.
779
+ */
780
+ interface GetPoliticianActivityOptions extends GetPoliticiansOptions {
781
+ /**
782
+ * Rows to return. Must be >= 1; the server rejects 0 or negative with HTTP 400
783
+ * (`invalid_limit`) and caps anything above 500 at 500. Omit for the default 200.
784
+ */
785
+ limit?: number;
786
+ /**
787
+ * Row offset to start from. Defaults to 0, and unlike the holders endpoint it works
788
+ * without `limit`. An offset past the end returns an empty `data` array, not an error.
789
+ */
790
+ offset?: number;
791
+ }
672
792
  /** Generic preview wrapper used by PRO-gated endpoints. */
673
793
  interface EarningsEvent {
674
794
  ticker: string;
@@ -718,9 +838,15 @@ interface PreviewResponse<T> {
718
838
  isPreview: boolean;
719
839
  previewReason: "PRO_REQUIRED" | null;
720
840
  /**
721
- * Number of items in the full PRO dataset, before preview truncation.
722
- * Present on preview (free-tier) list responses so callers can show
723
- * "showing N of totalCount". Absent on full PRO responses.
841
+ * Size of the full result set, before any truncation your response went through.
842
+ *
843
+ * Sent whenever the server knows that number and the response might not hold all of it:
844
+ * on a preview (`isPreview: true`), so you can render "showing N of totalCount", and on a
845
+ * paged endpoint such as `politicians.getActivity`, where it is the full match count for
846
+ * your filters on every tier, including a PRO response with `isPreview: false`.
847
+ *
848
+ * Absent on the endpoints that simply return everything, so a missing `totalCount` means
849
+ * "ask `data` for the count", never "zero results".
724
850
  */
725
851
  totalCount?: number;
726
852
  data: T;
@@ -930,7 +1056,7 @@ interface TrackerListing {
930
1056
  interface TrackerListResponse {
931
1057
  trackers: TrackerListing[];
932
1058
  }
933
- /** One row of a `viewType: "table"` tracker — a ranked leaderboard cell. */
1059
+ /** One row of a `viewType: "table"` tracker: a ranked leaderboard cell. */
934
1060
  interface TrackerTableRow {
935
1061
  /** 1-based rank on the sort the tracker is built for; may be null. */
936
1062
  rank: number | null;
@@ -1218,18 +1344,18 @@ interface EtfHolding {
1218
1344
  name: string | null;
1219
1345
  /** Weight in the fund as a percentage (0-100). */
1220
1346
  weightPct: number;
1221
- /** ISO date "YYYY-MM-DD" — first date this holding appeared in the composition. */
1347
+ /** ISO date "YYYY-MM-DD". First date this holding appeared in the composition. */
1222
1348
  firstSeen: string | null;
1223
1349
  }
1224
1350
  interface EtfHoldings {
1225
1351
  ticker: string;
1226
1352
  issuer: string;
1227
1353
  issuerEndpoint: string | null;
1228
- /** ISO date "YYYY-MM-DD" — composition snapshot date from the issuer. */
1354
+ /** ISO date "YYYY-MM-DD". Composition snapshot date from the issuer. */
1229
1355
  asOfDate: string;
1230
1356
  /** Epoch seconds when SentiSense refreshed the composition. */
1231
1357
  fetchedAt: number | null;
1232
- /** ISO date "YYYY-MM-DD" — when the composition is scheduled to be refreshed next. */
1358
+ /** ISO date "YYYY-MM-DD". When the composition is scheduled to be refreshed next. */
1233
1359
  nextRefreshDue: string;
1234
1360
  totalHoldings: number;
1235
1361
  holdings: EtfHolding[];
@@ -1263,7 +1389,7 @@ interface EtfAnalystContributor {
1263
1389
  }
1264
1390
  interface EtfAnalystAggregate {
1265
1391
  ticker: string;
1266
- /** ISO date "YYYY-MM-DD" — composition snapshot date. */
1392
+ /** ISO date "YYYY-MM-DD". Composition snapshot date. */
1267
1393
  asOfDate: string | null;
1268
1394
  /** Epoch seconds when this rollup was computed. */
1269
1395
  computedAt: number;
@@ -1294,7 +1420,7 @@ interface EtfInsiderContributor {
1294
1420
  }
1295
1421
  interface EtfInsiderAggregate {
1296
1422
  ticker: string;
1297
- /** ISO date "YYYY-MM-DD" — composition snapshot date. */
1423
+ /** ISO date "YYYY-MM-DD". Composition snapshot date. */
1298
1424
  asOfDate: string | null;
1299
1425
  /** Epoch seconds when this rollup was computed. */
1300
1426
  computedAt: number;
@@ -1313,7 +1439,7 @@ interface EtfSentimentReading {
1313
1439
  }
1314
1440
  interface EtfSentimentAggregate {
1315
1441
  ticker: string;
1316
- /** ISO date "YYYY-MM-DD" — composition snapshot date. */
1442
+ /** ISO date "YYYY-MM-DD". Composition snapshot date. */
1317
1443
  asOfDate: string | null;
1318
1444
  /** Epoch seconds when this aggregate was assembled. */
1319
1445
  computedAt: number;
@@ -1402,8 +1528,21 @@ declare class Politicians {
1402
1528
  *
1403
1529
  * PRO-gated. Free/unauthenticated users receive a preview (top 5 trades)
1404
1530
  * with `isPreview: true` in the response.
1531
+ *
1532
+ * The feed is longer than one response: a default 90-day window is routinely well over a
1533
+ * thousand disclosures, and without `limit` the server sends the first 200 with no marker
1534
+ * that it stopped. `totalCount` on the envelope is the real size on every tier, so page
1535
+ * with `limit` and `offset` rather than reading `data.length` as the total.
1536
+ *
1537
+ * ```typescript
1538
+ * const first = await client.politicians.getActivity({ limit: 100 });
1539
+ * for (let offset = 100; offset < first.totalCount!; offset += 100) {
1540
+ * const page = await client.politicians.getActivity({ limit: 100, offset });
1541
+ * // ... page.data
1542
+ * }
1543
+ * ```
1405
1544
  */
1406
- getActivity(options?: GetPoliticiansOptions): Promise<PreviewResponse<CongressTrade[]>>;
1545
+ getActivity(options?: GetPoliticianActivityOptions): Promise<PreviewResponse<CongressTrade[]>>;
1407
1546
  /**
1408
1547
  * Get congressional trades for a specific stock.
1409
1548
  *
@@ -1512,8 +1651,17 @@ declare class Institutional {
1512
1651
  * are two levels down: `(await getHolders(t, d)).data.holders`, alongside ticker-level
1513
1652
  * totals like `holderCount`. Free callers get a truncated `holders` array with
1514
1653
  * `isPreview: true`.
1654
+ *
1655
+ * A widely held ticker returns thousands of rows: a megacap quarter is about
1656
+ * 6,000 holders and 1.5 MB. Pass `limit` unless you really want all of them.
1657
+ * Omitting `options` sends the original unbounded request.
1658
+ *
1659
+ * `limit` is the switch for the whole option set. With it, the response also carries
1660
+ * `returnedCount`, `offset`, and a `notableChanges` summary, so you can walk the list
1661
+ * without re-counting it. Without it, `offset` / `sortBy` / `sortDir` are ignored by the
1662
+ * server and you get the full unsorted list back with a 200.
1515
1663
  */
1516
- getHolders(ticker: string, reportDate: string): Promise<PreviewResponse<TickerHolders>>;
1664
+ getHolders(ticker: string, reportDate: string, options?: GetHoldersOptions): Promise<PreviewResponse<TickerHolders>>;
1517
1665
  /**
1518
1666
  * Get activist investor positions (NEW or INCREASED).
1519
1667
  *
@@ -1666,8 +1814,8 @@ declare class Stocks {
1666
1814
  */
1667
1815
  listKpiCoverage(): Promise<KpiCoverageResponse>;
1668
1816
  /**
1669
- * List the KPI metadata tuples available for a ticker — `id, name, category,
1670
- * chartType` — without paying the cost of the full series payload. Mirrors
1817
+ * List the KPI metadata tuples available for a ticker (`id, name, category,
1818
+ * chartType`) without paying the cost of the full series payload. Mirrors
1671
1819
  * the `/api/v1/insights/stock/{ticker}/types` precedent.
1672
1820
  *
1673
1821
  * Auth: API key required, no quota cost. 404 if the ticker has no curated KPIs.
@@ -1676,10 +1824,10 @@ declare class Stocks {
1676
1824
  }
1677
1825
 
1678
1826
  /**
1679
- * Trackers — observational data products published as a standardized
1827
+ * Trackers: observational data products published as a standardized
1680
1828
  * `TrackerSnapshot` envelope. Every tracker (institution rankings,
1681
1829
  * hedge-fund reported returns, social trackers, surveillance dashboards)
1682
- * returns the same shape — consumers write one renderer per `viewType` and
1830
+ * returns the same shape, so consumers write one renderer per `viewType` and
1683
1831
  * get every current and future SentiSense tracker for free.
1684
1832
  *
1685
1833
  * @see TrackerSnapshot
@@ -1688,7 +1836,7 @@ declare class Trackers {
1688
1836
  private client;
1689
1837
  constructor(client: APIClient);
1690
1838
  /**
1691
- * List every publicly-visible tracker — id, display name, category,
1839
+ * List every publicly-visible tracker: id, display name, category,
1692
1840
  * one-line description, and the methodology anchor to link out to.
1693
1841
  */
1694
1842
  list(): Promise<TrackerListResponse>;
@@ -1700,8 +1848,8 @@ declare class Trackers {
1700
1848
  * `"choropleth"` they live at `data.geo[]`; etc. Dispatch on `viewType`
1701
1849
  * in your renderer.
1702
1850
  *
1703
- * @param trackerId — slug from {@link list}, e.g. `"institution-concentration"`.
1704
- * @param params — provider-specific query params (e.g. `{ scope: "us" }` for
1851
+ * @param trackerId slug from {@link list}, e.g. `"institution-concentration"`.
1852
+ * @param params provider-specific query params (e.g. `{ scope: "us" }` for
1705
1853
  * geographically-scoped trackers like hantavirus). Unknown keys are ignored.
1706
1854
  */
1707
1855
  get(trackerId: string, params?: Record<string, string | number | boolean>): Promise<TrackerSnapshotResponse>;
@@ -1763,6 +1911,12 @@ declare class DeepHistoryUnavailableError extends SentiSenseError {
1763
1911
  constructor(message: string, retryAfter?: number);
1764
1912
  }
1765
1913
  declare class RateLimitError extends SentiSenseError {
1914
+ /**
1915
+ * Seconds to wait before retrying, from the server's `Retry-After` header, clamped to
1916
+ * `[0.5, 120]`. Always either a finite number or `undefined`: an absent header, or one
1917
+ * carrying an HTTP-date instead of a number of seconds, leaves it undefined rather than
1918
+ * `NaN`, so `setTimeout(fn, err.retryAfter * 1000)` can never fire immediately.
1919
+ */
1766
1920
  retryAfter?: number;
1767
1921
  constructor(message: string, code?: string, retryAfter?: number);
1768
1922
  }
@@ -1770,6 +1924,6 @@ declare class APIError extends SentiSenseError {
1770
1924
  constructor(message: string, status: number, code?: string);
1771
1925
  }
1772
1926
 
1773
- declare const VERSION = "0.33.0";
1927
+ declare const VERSION = "0.34.0";
1774
1928
 
1775
- export { type AISummary, APIError, type AnalystAction, type AnalystConsensus, type AnalystEarningsSurprise, type AnalystEstimate, type AnalystEstimatesResponse, 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 EtfAggregateCoverage, type EtfAnalystAggregate, type EtfAnalystContributor, type EtfHolding, type EtfHoldings, type EtfInfo, type EtfInsiderAggregate, type EtfInsiderContributor, type EtfSentimentAggregate, type EtfSentimentReading, type FloatInfo, type Fundamentals, type FundamentalsPeriod, type FundamentalsPeriodsResponse, type GetAnalystActionsOptions, type GetAnalystMarketActivityOptions, type GetEarningsCalendarOptions, type GetEtfInsiderAggregateOptions, type GetInsiderOptions, type GetInsightsOptions, type GetLatestInsightsOptions, type GetPoliticiansOptions, type GetStockInsightsRangeOptions, type GetUserInsightsOptions, type Holder, 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 PoliticianDetail, type PoliticianSummary, type PreviewResponse, type Quarter, RateLimitError, SentiSense, SentiSenseError, type SentiSenseOptions, type SentimentEntry, type ServingMetric, type ShortInterest, type ShortVolume, type SimilarStock, type StockDetail, type StockEntity, type StockImage, type StockPrice, type StockProfile, type StockQuote, 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 };
1929
+ export { type AISummary, APIError, type AnalystAction, type AnalystConsensus, type AnalystEarningsSurprise, type AnalystEstimate, type AnalystEstimatesResponse, 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 EtfAggregateCoverage, type EtfAnalystAggregate, type EtfAnalystContributor, type EtfHolding, type EtfHoldings, type EtfInfo, type EtfInsiderAggregate, type EtfInsiderContributor, type EtfSentimentAggregate, type EtfSentimentReading, type FloatInfo, type Fundamentals, type FundamentalsPeriod, type FundamentalsPeriodsResponse, type GetAnalystActionsOptions, type GetAnalystMarketActivityOptions, type GetEarningsCalendarOptions, type GetEtfInsiderAggregateOptions, type GetHoldersOptions, type GetInsiderOptions, type GetInsightsOptions, type GetLatestInsightsOptions, type GetPoliticianActivityOptions, type GetPoliticiansOptions, type GetStockInsightsRangeOptions, type GetUserInsightsOptions, type Holder, type HolderNotableChanges, 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 PoliticianDetail, type PoliticianSummary, type PreviewResponse, type Quarter, RateLimitError, SentiSense, SentiSenseError, type SentiSenseOptions, type SentimentEntry, type ServingMetric, type ShortInterest, type ShortVolume, type SimilarStock, type StockDetail, type StockEntity, type StockImage, type StockPrice, type StockProfile, type StockQuote, 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 };