gloomberb 0.18.2 → 0.18.4
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/README.md +8 -8
- package/README.zh-CN.md +11 -11
- package/bin/{gloomberb → gloom} +3 -1
- package/package.json +6 -2
- package/patches/electrobun@1.18.1.patch +106 -5
- package/src/account/checkout-handoff.tsx +225 -0
- package/src/account/device-signin-dialog.tsx +2 -2
- package/src/account/device-signin.ts +2 -2
- package/src/account/upgrade-dialog.tsx +1 -1
- package/src/api-client/askg.ts +2 -2
- package/src/api-client/auth.ts +2 -2
- package/src/api-client/central-bank-rates.ts +6 -0
- package/src/api-client/collections.ts +5 -1
- package/src/api-client/cot.ts +2 -0
- package/src/api-client/crypto-etf-flows.ts +37 -0
- package/src/api-client/crypto-markets.ts +60 -0
- package/src/api-client/data.ts +99 -5
- package/src/api-client/doe.ts +15 -0
- package/src/api-client/equity-screener.ts +28 -0
- package/src/api-client/exchange-announcements.ts +38 -0
- package/src/api-client/fund-facts.ts +39 -0
- package/src/api-client/futures-curve.ts +9 -1
- package/src/api-client/hiring.ts +301 -0
- package/src/api-client/index.ts +24 -5
- package/src/api-client/market-discovery.ts +14 -0
- package/src/api-client/members.ts +6 -0
- package/src/api-client/mna.ts +6 -0
- package/src/api-client/paths.ts +18 -1
- package/src/api-client/request.ts +26 -7
- package/src/api-client/short-side-publications.ts +37 -0
- package/src/api-client/socket.ts +64 -4
- package/src/api-client/swap-curve.ts +35 -0
- package/src/api-client/telemetry.ts +17 -0
- package/src/api-client/themes.ts +7 -1
- package/src/api-client/types.ts +90 -2
- package/src/app/global-shortcuts.ts +1 -16
- package/src/app/pane-runtime/plugin-bindings.ts +9 -2
- package/src/app/runtime/desktop-deeplink.ts +5 -5
- package/src/app/runtime/plugin-bindings.ts +2 -2
- package/src/app/runtime/startup.ts +13 -0
- package/src/app/runtime/update.ts +28 -8
- package/src/app/star-prompt/status-line.tsx +2 -2
- package/src/architecture/core-builtin-allowlist.json +5 -2
- package/src/architecture/pane-tabs-allowlist.json +65 -0
- package/src/architecture/ui-literals-allowlist.json +3 -3
- package/src/architecture/ui-tokens-allowlist.json +1 -1
- package/src/brokers/broker-portfolio-sync.ts +37 -0
- package/src/brokers/directory.ts +11 -0
- package/src/brokers/logos.ts +3 -1
- package/src/brokers/signed-in/adapter.ts +304 -26
- package/src/brokers/signed-in/client.ts +14 -2
- package/src/brokers/signed-in/connect.ts +10 -2
- package/src/brokers/sync-broker-instance.ts +9 -1
- package/src/capabilities/chart-series.ts +22 -6
- package/src/cli/bank-section.ts +1 -1
- package/src/cli/base-converter.ts +23 -14
- package/src/cli/central-bank-events.ts +1 -1
- package/src/cli/command-options.ts +59 -4
- package/src/cli/commands/api.ts +9 -6
- package/src/cli/commands/broker.ts +2 -2
- package/src/cli/commands/command-utils.ts +2 -2
- package/src/cli/commands/crypto-hints.ts +7 -20
- package/src/cli/commands/fred-series.ts +4 -2
- package/src/cli/commands/keybindings.ts +2 -2
- package/src/cli/commands/market.ts +1189 -296
- package/src/cli/commands/news-hints.ts +2 -2
- package/src/cli/commands/news-search.ts +59 -6
- package/src/cli/commands/options-leaps.ts +41 -26
- package/src/cli/commands/overview.ts +121 -48
- package/src/cli/commands/plugins.ts +9 -9
- package/src/cli/commands/remote.ts +13 -10
- package/src/cli/commands/search.ts +64 -44
- package/src/cli/commands/system.ts +27 -19
- package/src/cli/commands/themes.ts +1 -1
- package/src/cli/commands/ticker.ts +272 -70
- package/src/cli/context.ts +3 -2
- package/src/cli/desktop-pane-shot-view.ts +2 -2
- package/src/cli/desktop-pane-shot.ts +1 -1
- package/src/cli/earnings-calendar.ts +4 -4
- package/src/cli/entry.ts +18 -1
- package/src/cli/errors.ts +20 -2
- package/src/cli/exit-codes.ts +1 -1
- package/src/cli/export-source.ts +10 -4
- package/src/cli/freshness.ts +2 -8
- package/src/cli/fx-forward.ts +130 -0
- package/src/cli/fx-pair.ts +10 -9
- package/src/cli/glossary.ts +64 -20
- package/src/cli/help.ts +20 -14
- package/src/cli/history-export.ts +126 -0
- package/src/cli/history-rows.ts +196 -43
- package/src/cli/index-roots.ts +5 -45
- package/src/cli/index.ts +32 -18
- package/src/cli/issuer-membership.ts +103 -0
- package/src/cli/known-gaps.ts +118 -25
- package/src/cli/listing-arg.ts +315 -43
- package/src/cli/name-entries.ts +73 -22
- package/src/cli/native-smoke.ts +2 -0
- package/src/cli/not-a-ticker.ts +19 -9
- package/src/cli/opentui-libc.ts +5 -0
- package/src/cli/options.ts +12 -0
- package/src/cli/pane-functions/capabilities.ts +77 -20
- package/src/cli/pane-functions/catalog.ts +40 -23
- package/src/cli/pane-functions/discovery.ts +1 -1
- package/src/cli/pane-functions/dom.ts +12 -8
- package/src/cli/pane-functions/financial-ratio-shot.ts +2 -2
- package/src/cli/pane-functions/freshness.ts +174 -23
- package/src/cli/pane-functions/function-help.ts +66 -27
- package/src/cli/pane-functions/headless.ts +48 -16
- package/src/cli/pane-functions/index.ts +82 -21
- package/src/cli/pane-functions/options.ts +22 -2
- package/src/cli/pane-functions/report-notices.ts +12 -4
- package/src/cli/pane-functions/report.ts +5 -5
- package/src/cli/pane-functions/resolver.ts +65 -14
- package/src/cli/pane-functions/screenshot-assessment.ts +322 -0
- package/src/cli/pane-functions/screenshot-bridge.ts +152 -0
- package/src/cli/pane-functions/screenshot-chart-evidence.ts +396 -0
- package/src/cli/pane-functions/screenshot-data-evidence.ts +383 -0
- package/src/cli/pane-functions/screenshot-evidence.ts +1 -1
- package/src/cli/pane-functions/screenshot-payload.ts +453 -0
- package/src/cli/pane-functions/screenshot-render.ts +316 -0
- package/src/cli/pane-functions/screenshot-types.ts +162 -0
- package/src/cli/pane-functions/shot-options.ts +8 -3
- package/src/cli/peso-dollar-rates.ts +79 -0
- package/src/cli/quote-answer.ts +38 -3
- package/src/cli/report-tables.ts +190 -27
- package/src/cli/restore-plugins.ts +29 -14
- package/src/cli/result.ts +122 -25
- package/src/cli/series-search.ts +5 -5
- package/src/cli/statement-filings.ts +19 -0
- package/src/cli/suffixed-listing-rows.ts +49 -0
- package/src/cli/symbol-args.ts +50 -15
- package/src/cli/symbol-cells.ts +120 -0
- package/src/cli/symbol-list.ts +226 -60
- package/src/cli/symbol-rows.ts +131 -25
- package/src/cli/ticker-resolution.ts +108 -11
- package/src/cli/treasury-yields.ts +5 -5
- package/src/cli/types.ts +2 -0
- package/src/cli/uncovered-instrument.ts +3 -3
- package/src/cli/unknown-command.ts +6 -6
- package/src/components/chart/composite/chart-layout.ts +131 -0
- package/src/components/chart/composite/composite-chart.tsx +387 -21
- package/src/components/chart/composite/drawing-store.ts +26 -6
- package/src/components/chart/composite/interactions.ts +9 -3
- package/src/components/chart/composite/legend.tsx +75 -3
- package/src/components/chart/composite/levels.ts +5 -0
- package/src/components/chart/composite/panel-gestures.ts +41 -0
- package/src/components/chart/composite/panel-labels.ts +2 -1
- package/src/components/chart/composite/panel-surface.tsx +316 -11
- package/src/components/chart/composite/price-axis-labels.tsx +27 -3
- package/src/components/chart/composite/rasterizer.ts +44 -19
- package/src/components/chart/composite/scene.ts +16 -4
- package/src/components/chart/composite/text-renderer.ts +48 -21
- package/src/components/chart/composite/toolbar.tsx +52 -5
- package/src/components/chart/composite/types.ts +19 -0
- package/src/components/chart/composite/use-composite-chart-keyboard.ts +120 -13
- package/src/components/chart/composite/use-composite-value-scales.ts +44 -0
- package/src/components/chart/composite/use-composite-viewport.ts +12 -3
- package/src/components/chart/composite/value-scale.ts +149 -0
- package/src/components/chart/composite/volume-profile-paint.ts +6 -3
- package/src/components/chart/core/pointer.ts +2 -0
- package/src/components/chart-table/index.ts +2 -0
- package/src/components/chart-table/read.tsx +74 -0
- package/src/components/command-bar/commands/collection-list.ts +41 -19
- package/src/components/command-bar/commands/collection.ts +9 -3
- package/src/components/command-bar/commands/direct/index.ts +1 -1
- package/src/components/command-bar/commands/direct/runtime.ts +3 -2
- package/src/components/command-bar/pane-templates/items.ts +59 -6
- package/src/components/command-bar/pane-templates/workflow.ts +10 -1
- package/src/components/command-bar/routes/root/command-items.ts +32 -6
- package/src/components/command-bar/routes/root/plugin-install.ts +1 -1
- package/src/components/command-bar/routes/root/provider-search.ts +42 -11
- package/src/components/command-bar/routes/root/results.ts +18 -4
- package/src/components/command-bar/routes/root/runtime.ts +15 -3
- package/src/components/command-bar/routes/root/search-providers.ts +25 -2
- package/src/components/command-bar/routes/root/selection.ts +6 -1
- package/src/components/command-bar/routes/root/shortcut-feedback.ts +4 -1
- package/src/components/command-bar/routes/root/shortcuts.ts +30 -3
- package/src/components/command-bar/routes/ticker-search/results.ts +73 -4
- package/src/components/command-bar/selection-runtime.ts +50 -10
- package/src/components/command-bar/surface/index.tsx +24 -2
- package/src/components/command-bar/view-model.ts +7 -0
- package/src/components/command-bar/workflow/broker.ts +2 -2
- package/src/components/command-bar/workflow/collection-actions.ts +46 -7
- package/src/components/command-bar/workflow/collection-ticker.ts +32 -4
- package/src/components/command-bar/workflow/fields.ts +8 -2
- package/src/components/command-bar/workflow/ops.ts +18 -4
- package/src/components/command-bar/workflow/portfolio-position.ts +53 -4
- package/src/components/command-bar/workflow/submit.ts +3 -2
- package/src/components/command-bar/workflow/tickers.ts +5 -1
- package/src/components/company-logo.tsx +39 -0
- package/src/components/data-table/sections.ts +4 -2
- package/src/components/data-table/view.tsx +23 -3
- package/src/components/form-modal/confirm.tsx +2 -1
- package/src/components/form-modal/request.ts +5 -0
- package/src/components/form-modal/routes.ts +4 -1
- package/src/components/index.ts +13 -6
- package/src/components/layout/detached-pane-shell.tsx +1 -0
- package/src/components/layout/floating-pane.tsx +1 -0
- package/src/components/layout/header.tsx +234 -60
- package/src/components/layout/market-summary.ts +9 -6
- package/src/components/layout/pane/capture-status.ts +1 -1
- package/src/components/layout/pane/footer/model.ts +11 -5
- package/src/components/layout/pane/header.tsx +10 -3
- package/src/components/layout/pane/index.tsx +1 -0
- package/src/components/layout/pane/pane-tabs.tsx +9 -1
- package/src/components/layout/shell/chrome.ts +19 -6
- package/src/components/layout/shell/index.tsx +2 -1
- package/src/components/layout/shell/pane/layers.tsx +19 -1
- package/src/components/layout/status-bar.tsx +2 -2
- package/src/components/market-board/index.tsx +11 -3
- package/src/components/onboarding/onboarding-wizard.tsx +1 -0
- package/src/components/onboarding/portfolio-step/broker-setup-panel.tsx +2 -2
- package/src/components/onboarding/wizard-broker-sync.ts +4 -1
- package/src/components/pane-settings-dialog/desktop.tsx +20 -7
- package/src/components/pane-settings-dialog/tui.tsx +17 -9
- package/src/components/pane-settings-dialog/value.ts +8 -1
- package/src/components/pane-settings-dialog.tsx +44 -13
- package/src/components/sign-in-code-panel.tsx +27 -19
- package/src/components/ui/column-grid.tsx +48 -4
- package/src/components/ui/country-flag-art.tsx +180 -0
- package/src/components/ui/country-flag.tsx +118 -12
- package/src/components/ui/data-table/opentui/index.tsx +61 -2
- package/src/components/ui/data-table/opentui/model.ts +109 -2
- package/src/components/ui/data-table/types.ts +1 -1
- package/src/components/ui/display.tsx +5 -1
- package/src/components/ui/index.ts +3 -1
- package/src/components/ui/logo-mark.tsx +11 -2
- package/src/components/ui/query-bar.tsx +1 -1
- package/src/components/ui/row-notes.ts +79 -0
- package/src/components/ui/stat-grid.tsx +28 -3
- package/src/components/ui/status.tsx +3 -1
- package/src/core/app-services.ts +4 -0
- package/src/core/state/app/layout.ts +4 -4
- package/src/data/cached-query.ts +8 -1
- package/src/data/config/chart-settings.ts +3 -3
- package/src/data/config/home.ts +10 -2
- package/src/data/config/layout.ts +4 -1
- package/src/data/config/store/node.ts +4 -0
- package/src/data/config/store/normalize.ts +13 -3
- package/src/data/config/store/portfolio-as-of-column.ts +2 -2
- package/src/data/json-storage.ts +2 -0
- package/src/data/saved-copies.ts +84 -0
- package/src/docs/snapshot.json +65 -32
- package/src/i18n/es.ts +51 -12
- package/src/i18n/ja.ts +51 -12
- package/src/i18n/ko.ts +51 -12
- package/src/i18n/zh-cn.ts +51 -12
- package/src/i18n/zh-tw.ts +51 -12
- package/src/layout/desks.ts +1 -1
- package/src/layout/launch-layout.ts +1 -1
- package/src/layout/pane-manager/floating-actions.ts +5 -3
- package/src/layout/pane-manager/floating.ts +43 -1
- package/src/layout/pane-manager/index.ts +2 -0
- package/src/layout/selected-ticker.ts +74 -0
- package/src/market-data/depositary-pair.ts +251 -0
- package/src/market-data/futures-board.ts +1 -1
- package/src/market-data/futures-contract.ts +124 -40
- package/src/market-data/fx-closes.ts +17 -2
- package/src/market-data/hooks.tsx +19 -11
- package/src/market-data/market/change-basis.ts +49 -7
- package/src/market-data/market/freshness.ts +34 -5
- package/src/market-data/market/period-return.ts +163 -0
- package/src/market-data/market/trading-sessions.ts +13 -0
- package/src/market-data/market/year-to-date.ts +8 -13
- package/src/market-data/performance.ts +20 -14
- package/src/market-data/perpetual-premium.ts +32 -0
- package/src/market-data/published-apac-sessions.ts +2 -1
- package/src/market-data/published-futures-sessions.ts +69 -0
- package/src/market-data/quotes/contributions.ts +5 -1
- package/src/market-data/quotes/freshness.ts +42 -0
- package/src/market-data/quotes/intraday-bar.ts +37 -0
- package/src/market-data/quotes/regular-session-valuation.ts +13 -8
- package/src/market-data/quotes/resolution.ts +4 -2
- package/src/market-data/tax-equivalent.ts +1 -1
- package/src/market-data/ticker-price-returns.ts +3 -1
- package/src/news/aggregator.ts +5 -1
- package/src/news/news-model.ts +4 -0
- package/src/news/types.ts +11 -0
- package/src/notifications/app-notifier.ts +1 -1
- package/src/plugins/auto-update.ts +2 -2
- package/src/plugins/builtin/account-management/index.tsx +1 -0
- package/src/plugins/builtin/account-management/pane.tsx +9 -8
- package/src/plugins/builtin/alerts/alert-engine.ts +30 -18
- package/src/plugins/builtin/alerts/calendar-events.ts +378 -0
- package/src/plugins/builtin/alerts/cli.ts +485 -76
- package/src/plugins/builtin/alerts/command.ts +5 -10
- package/src/plugins/builtin/alerts/event-rows.ts +9 -5
- package/src/plugins/builtin/alerts/events-pane.tsx +71 -56
- package/src/plugins/builtin/alerts/events.ts +108 -5
- package/src/plugins/builtin/alerts/fired-log.ts +78 -0
- package/src/plugins/builtin/alerts/format.ts +2 -1
- package/src/plugins/builtin/alerts/headless.ts +100 -39
- package/src/plugins/builtin/alerts/history-pane.tsx +105 -62
- package/src/plugins/builtin/alerts/history-rows.ts +89 -0
- package/src/plugins/builtin/alerts/index.tsx +45 -18
- package/src/plugins/builtin/alerts/iv-level.ts +365 -0
- package/src/plugins/builtin/alerts/levels.ts +3 -3
- package/src/plugins/builtin/alerts/pane.tsx +97 -29
- package/src/plugins/builtin/alerts/price.ts +35 -0
- package/src/plugins/builtin/alerts/quotes.ts +24 -0
- package/src/plugins/builtin/alerts/research-builder.ts +84 -11
- package/src/plugins/builtin/alerts/research-rules.ts +77 -3
- package/src/plugins/builtin/alerts/scheduled-check.ts +206 -32
- package/src/plugins/builtin/alerts/scheduled-sources.ts +26 -3
- package/src/plugins/builtin/alerts/scheduled.ts +188 -29
- package/src/plugins/builtin/alerts/storage.ts +13 -10
- package/src/plugins/builtin/alerts/targets.ts +12 -3
- package/src/plugins/builtin/analytics/index.tsx +8 -2
- package/src/plugins/builtin/analytics/metrics.ts +1 -1
- package/src/plugins/builtin/analytics/risk-book.ts +215 -0
- package/src/plugins/builtin/analytics/risk-client.ts +13 -6
- package/src/plugins/builtin/analytics/risk-headless.ts +55 -21
- package/src/plugins/builtin/analytics/risk-math.ts +6 -3
- package/src/plugins/builtin/analytics/risk-model.ts +297 -104
- package/src/plugins/builtin/analytics/risk-options.ts +17 -2
- package/src/plugins/builtin/analytics/risk-pane.tsx +107 -43
- package/src/plugins/builtin/attention/pane.tsx +22 -16
- package/src/plugins/builtin/awards/headless.ts +7 -3
- package/src/plugins/builtin/awards/model.ts +18 -0
- package/src/plugins/builtin/awards/pane.tsx +12 -9
- package/src/plugins/builtin/backtest/export.ts +1 -1
- package/src/plugins/builtin/backtest/headless.ts +3 -3
- package/src/plugins/builtin/backtest/rules.ts +41 -5
- package/src/plugins/builtin/broker-manager/add-flow.tsx +12 -7
- package/src/plugins/builtin/broker-manager/detail.tsx +47 -19
- package/src/plugins/builtin/broker-manager/footer.ts +27 -11
- package/src/plugins/builtin/broker-manager/index.tsx +21 -12
- package/src/plugins/builtin/broker-manager/keyboard.ts +1 -1
- package/src/plugins/builtin/broker-manager/model.ts +12 -2
- package/src/plugins/builtin/broker-manager/pane-actions.tsx +183 -57
- package/src/plugins/builtin/broker-manager/table.ts +28 -12
- package/src/plugins/builtin/broker-trading/account-picker.tsx +2 -1
- package/src/plugins/builtin/broker-trading/chart-levels.ts +82 -13
- package/src/plugins/builtin/broker-trading/controller.ts +45 -13
- package/src/plugins/builtin/broker-trading/dock.tsx +24 -4
- package/src/plugins/builtin/broker-trading/headless.ts +2 -1
- package/src/plugins/builtin/broker-trading/index.tsx +7 -1
- package/src/plugins/builtin/broker-trading/linked-orders.ts +148 -0
- package/src/plugins/builtin/broker-trading/order-feed.ts +75 -7
- package/src/plugins/builtin/broker-trading/orders.tsx +109 -31
- package/src/plugins/builtin/broker-trading/overview-orders.tsx +9 -3
- package/src/plugins/builtin/broker-trading/pane-model.ts +30 -2
- package/src/plugins/builtin/broker-trading/pane.tsx +115 -26
- package/src/plugins/builtin/broker-trading/ticket-parts.tsx +36 -7
- package/src/plugins/builtin/broker-trading/ticket.tsx +122 -36
- package/src/plugins/builtin/buildout/cells.tsx +4 -0
- package/src/plugins/builtin/buildout/detail/index.tsx +5 -1
- package/src/plugins/builtin/buildout/detail/ui.tsx +7 -4
- package/src/plugins/builtin/buildout/pane/index.tsx +34 -18
- package/src/plugins/builtin/buildout/pane/status.tsx +0 -4
- package/src/plugins/builtin/builtin-plugin-meta.ts +1 -1
- package/src/plugins/builtin/catalysts/client.ts +2 -2
- package/src/plugins/builtin/catalysts/detail.tsx +3 -2
- package/src/plugins/builtin/catalysts/index.tsx +1 -1
- package/src/plugins/builtin/catalysts/model.ts +49 -4
- package/src/plugins/builtin/catalysts/pane.tsx +9 -11
- package/src/plugins/builtin/central-bank-rates/client.ts +5 -0
- package/src/plugins/builtin/central-bank-rates/headless.ts +36 -10
- package/src/plugins/builtin/central-bank-rates/model.ts +33 -8
- package/src/plugins/builtin/changelog/index.tsx +1 -0
- package/src/plugins/builtin/chart-composer/catalog-inventory.ts +1 -0
- package/src/plugins/builtin/chart-composer/chart-spec-edit.ts +2 -1
- package/src/plugins/builtin/chart-composer/chart-spec.ts +7 -0
- package/src/plugins/builtin/chart-composer/cli-options.ts +2 -5
- package/src/plugins/builtin/chart-composer/data-catalog-pane.tsx +2 -1
- package/src/plugins/builtin/chart-composer/editor/controller.ts +2 -0
- package/src/plugins/builtin/chart-composer/editor.tsx +4 -1
- package/src/plugins/builtin/chart-composer/headless-schema.ts +28 -26
- package/src/plugins/builtin/chart-composer/headless.ts +253 -35
- package/src/plugins/builtin/chart-composer/index.tsx +12 -2
- package/src/plugins/builtin/chart-composer/leverage-overlay.ts +142 -0
- package/src/plugins/builtin/chart-composer/pane.tsx +128 -28
- package/src/plugins/builtin/chart-composer/series-catalog.ts +1 -0
- package/src/plugins/builtin/chart-composer/series-expression.ts +65 -6
- package/src/plugins/builtin/chart-composer/session-history.ts +15 -21
- package/src/plugins/builtin/chart-composer/session-range.ts +4 -2
- package/src/plugins/builtin/chart-composer/settings.ts +31 -19
- package/src/plugins/builtin/chart-composer/use-series-catalog.ts +5 -6
- package/src/plugins/builtin/chart-composer/viewport-labels.ts +18 -8
- package/src/plugins/builtin/chat/attachments/model.ts +3 -1
- package/src/plugins/builtin/chat/content/index.tsx +1 -1
- package/src/plugins/builtin/chat/pane-links/open.ts +1 -1
- package/src/plugins/builtin/chat/people.ts +1 -1
- package/src/plugins/builtin/clinical-trials/client.ts +5 -2
- package/src/plugins/builtin/clinical-trials/model.ts +13 -4
- package/src/plugins/builtin/clinical-trials/pane.tsx +32 -12
- package/src/plugins/builtin/clinical-trials/ticker-sponsor.ts +17 -0
- package/src/plugins/builtin/cloud/askg/controller.ts +1 -1
- package/src/plugins/builtin/cloud/askg/lock-note.ts +1 -1
- package/src/plugins/builtin/cloud/askg/tool-display.ts +1 -1
- package/src/plugins/builtin/cloud/auth-commands.ts +3 -3
- package/src/plugins/builtin/cloud/team/pane-sections.tsx +105 -47
- package/src/plugins/builtin/cloud/team/pane-ui.tsx +42 -4
- package/src/plugins/builtin/cloud/team/pane.tsx +204 -64
- package/src/plugins/builtin/cloud/thesis/store.ts +45 -22
- package/src/plugins/builtin/cloud-tweets/registration.ts +1 -0
- package/src/plugins/builtin/commodities-energy/index.tsx +29 -2
- package/src/plugins/builtin/commodities-energy/view-state.ts +2 -0
- package/src/plugins/builtin/commodity-balances/pane.tsx +14 -8
- package/src/plugins/builtin/company-attention/app-rank.tsx +11 -10
- package/src/plugins/builtin/company-attention/building-model.ts +222 -0
- package/src/plugins/builtin/company-attention/building.tsx +172 -0
- package/src/plugins/builtin/company-attention/client.ts +117 -1
- package/src/plugins/builtin/company-attention/evidence.ts +16 -3
- package/src/plugins/builtin/company-attention/headless.ts +101 -5
- package/src/plugins/builtin/company-attention/index.tsx +6 -3
- package/src/plugins/builtin/company-attention/model.ts +33 -7
- package/src/plugins/builtin/company-attention/moves-model.ts +253 -0
- package/src/plugins/builtin/company-attention/moves.tsx +159 -0
- package/src/plugins/builtin/company-attention/pane.tsx +89 -31
- package/src/plugins/builtin/company-attention/signals-model.ts +229 -0
- package/src/plugins/builtin/company-attention/signals.tsx +160 -0
- package/src/plugins/builtin/company-kpis/headless.ts +3 -2
- package/src/plugins/builtin/company-kpis/model.ts +2 -2
- package/src/plugins/builtin/company-kpis/pane.tsx +5 -4
- package/src/plugins/builtin/composite-plugins.ts +2 -1
- package/src/plugins/builtin/congress-trades/headless.ts +1 -1
- package/src/plugins/builtin/connections/index.ts +1 -0
- package/src/plugins/builtin/correlation/headless-schema.ts +3 -2
- package/src/plugins/builtin/correlation/headless.ts +7 -4
- package/src/plugins/builtin/correlation/relationship/model.ts +1 -0
- package/src/plugins/builtin/correlation/settings.ts +1 -0
- package/src/plugins/builtin/cot/headless.ts +28 -6
- package/src/plugins/builtin/cot/model.ts +12 -0
- package/src/plugins/builtin/cot/pane.tsx +7 -5
- package/src/plugins/builtin/cpi/headless.ts +5 -1
- package/src/plugins/builtin/cpi/pane.tsx +11 -9
- package/src/plugins/builtin/credit-boards/model.ts +2 -0
- package/src/plugins/builtin/credit-documents/headless.ts +1 -1
- package/src/plugins/builtin/credit-documents/pane.tsx +8 -7
- package/src/plugins/builtin/crypto-board/client.ts +86 -0
- package/src/plugins/builtin/crypto-board/defi-view.tsx +218 -0
- package/src/plugins/builtin/crypto-board/defi.ts +239 -0
- package/src/plugins/builtin/crypto-board/headless.ts +117 -6
- package/src/plugins/builtin/crypto-board/index.tsx +8 -3
- package/src/plugins/builtin/crypto-board/model.ts +40 -8
- package/src/plugins/builtin/crypto-board/pane.tsx +55 -21
- package/src/plugins/builtin/crypto-board/series.ts +19 -1
- package/src/plugins/builtin/crypto-etf-flows/client.ts +60 -0
- package/src/plugins/builtin/crypto-etf-flows/headless.ts +132 -0
- package/src/plugins/builtin/crypto-etf-flows/index.tsx +44 -0
- package/src/plugins/builtin/crypto-etf-flows/model.ts +121 -0
- package/src/plugins/builtin/crypto-etf-flows/pane.tsx +193 -0
- package/src/plugins/builtin/debt-maturities/pane.tsx +4 -3
- package/src/plugins/builtin/debug/index.tsx +1 -0
- package/src/plugins/builtin/dividend-yield/index.tsx +1 -1
- package/src/plugins/builtin/docs/index.tsx +1 -1
- package/src/plugins/builtin/docs/pane.tsx +2 -2
- package/src/plugins/builtin/docs/targets.ts +1 -1
- package/src/plugins/builtin/doe/client.ts +5 -1
- package/src/plugins/builtin/doe/headless.ts +12 -6
- package/src/plugins/builtin/doe/model.ts +43 -6
- package/src/plugins/builtin/doe/pane.tsx +19 -12
- package/src/plugins/builtin/earnings/board-model.ts +13 -6
- package/src/plugins/builtin/earnings/board-table.ts +4 -1
- package/src/plugins/builtin/earnings/board.tsx +253 -50
- package/src/plugins/builtin/earnings/calendar-model.ts +188 -0
- package/src/plugins/builtin/earnings/calendar.tsx +338 -0
- package/src/plugins/builtin/earnings/client.ts +4 -3
- package/src/plugins/builtin/earnings/headless.ts +53 -15
- package/src/plugins/builtin/earnings/history-model.ts +53 -36
- package/src/plugins/builtin/earnings/index.tsx +15 -22
- package/src/plugins/builtin/earnings/model.ts +17 -12
- package/src/plugins/builtin/earnings/scope.ts +89 -0
- package/src/plugins/builtin/earnings-calls/calendar.tsx +310 -0
- package/src/plugins/builtin/earnings-calls/data.ts +146 -2
- package/src/plugins/builtin/earnings-calls/headless.ts +151 -9
- package/src/plugins/builtin/earnings-calls/index.tsx +3 -3
- package/src/plugins/builtin/earnings-calls/lock-note.ts +1 -1
- package/src/plugins/builtin/earnings-calls/pane.tsx +149 -31
- package/src/plugins/builtin/earnings-calls/upcoming.ts +195 -0
- package/src/plugins/builtin/earnings-ripple/pane.tsx +10 -5
- package/src/plugins/builtin/econ/calendar-model.ts +132 -20
- package/src/plugins/builtin/econ/detail-view.tsx +48 -10
- package/src/plugins/builtin/econ/fred-catalog.ts +23 -6
- package/src/plugins/builtin/econ/fred-series-map.ts +4 -0
- package/src/plugins/builtin/econ/index.tsx +112 -25
- package/src/plugins/builtin/econ/print-watch.ts +2 -1
- package/src/plugins/builtin/econ/types.ts +32 -1
- package/src/plugins/builtin/econ-statistics/client.ts +16 -3
- package/src/plugins/builtin/econ-statistics/defs.ts +4 -0
- package/src/plugins/builtin/econ-statistics/detail.tsx +2 -2
- package/src/plugins/builtin/econ-statistics/headless.ts +13 -2
- package/src/plugins/builtin/econ-statistics/index.tsx +3 -3
- package/src/plugins/builtin/econ-statistics/pane.tsx +2 -1
- package/src/plugins/builtin/econ-statistics/stats.ts +103 -0
- package/src/plugins/builtin/econ-statistics/view.ts +16 -1
- package/src/plugins/builtin/equity-screener/client.ts +21 -3
- package/src/plugins/builtin/equity-screener/headless.ts +77 -5
- package/src/plugins/builtin/equity-screener/live.ts +1 -1
- package/src/plugins/builtin/equity-screener/model.ts +34 -0
- package/src/plugins/builtin/equity-screener/pane.tsx +148 -106
- package/src/plugins/builtin/equity-screener/screen-check.ts +90 -0
- package/src/plugins/builtin/equity-screener/ticker-check.tsx +148 -0
- package/src/plugins/builtin/estimate-revisions/headless.ts +3 -1
- package/src/plugins/builtin/estimate-revisions/lock-note.ts +3 -3
- package/src/plugins/builtin/estimate-revisions/model.ts +8 -10
- package/src/plugins/builtin/exposure/headless.ts +51 -6
- package/src/plugins/builtin/exposure/index.tsx +28 -2
- package/src/plugins/builtin/exposure/model.ts +7 -0
- package/src/plugins/builtin/exposure/pane.tsx +16 -10
- package/src/plugins/builtin/fear-greed/index.tsx +1 -1
- package/src/plugins/builtin/filing-events/index.tsx +1 -1
- package/src/plugins/builtin/futures/model.ts +10 -9
- package/src/plugins/builtin/futures/returns.ts +8 -36
- package/src/plugins/builtin/futures/table.tsx +1 -1
- package/src/plugins/builtin/futures-curve/client.ts +40 -9
- package/src/plugins/builtin/futures-curve/headless.ts +39 -17
- package/src/plugins/builtin/futures-curve/model.ts +258 -69
- package/src/plugins/builtin/futures-curve/pane.tsx +46 -17
- package/src/plugins/builtin/fx-matrix/client.ts +15 -8
- package/src/plugins/builtin/fx-matrix/headless.ts +32 -14
- package/src/plugins/builtin/fx-matrix/index.tsx +13 -11
- package/src/plugins/builtin/fx-matrix/live-legs.ts +22 -0
- package/src/plugins/builtin/fx-matrix/settings.ts +2 -1
- package/src/plugins/builtin/gpu/board.tsx +4 -1
- package/src/plugins/builtin/gpu/changes.tsx +10 -10
- package/src/plugins/builtin/gpu/equities.tsx +4 -1
- package/src/plugins/builtin/gpu/headless.ts +9 -4
- package/src/plugins/builtin/gpu/history.tsx +4 -2
- package/src/plugins/builtin/gpu/pane.tsx +5 -3
- package/src/plugins/builtin/help/index.tsx +13 -3
- package/src/plugins/builtin/holders/beneficial-model.ts +8 -11
- package/src/plugins/builtin/holders/beneficial-report.ts +6 -5
- package/src/plugins/builtin/holders/beneficial-view.tsx +7 -3
- package/src/plugins/builtin/holders/client.ts +15 -2
- package/src/plugins/builtin/holders/format.ts +28 -17
- package/src/plugins/builtin/holders/headless.ts +48 -8
- package/src/plugins/builtin/holders/index-holders.ts +264 -0
- package/src/plugins/builtin/holders/pane.tsx +79 -15
- package/src/plugins/builtin/holders/report-rows.ts +35 -7
- package/src/plugins/builtin/holders/table-model.ts +2 -1
- package/src/plugins/builtin/holders/thirteenf-match.ts +3 -1
- package/src/plugins/builtin/holders/treemap.tsx +2 -2
- package/src/plugins/builtin/insider/base-values.ts +11 -7
- package/src/plugins/builtin/insider/client.ts +3 -0
- package/src/plugins/builtin/insider/headless.ts +20 -7
- package/src/plugins/builtin/insider/index.tsx +17 -8
- package/src/plugins/builtin/insider/issuer.ts +34 -4
- package/src/plugins/builtin/insider/signals-client.ts +3 -3
- package/src/plugins/builtin/insider/signals.tsx +1 -1
- package/src/plugins/builtin/insider/table-model.ts +35 -13
- package/src/plugins/builtin/insider/table.tsx +5 -2
- package/src/plugins/builtin/ipo-calendar/pane.tsx +7 -4
- package/src/plugins/builtin/iv-history/client.ts +20 -0
- package/src/plugins/builtin/iv-history/events.ts +145 -0
- package/src/plugins/builtin/iv-history/format.ts +3 -0
- package/src/plugins/builtin/iv-history/headless.ts +91 -7
- package/src/plugins/builtin/iv-history/index.tsx +1 -1
- package/src/plugins/builtin/iv-history/model.ts +13 -4
- package/src/plugins/builtin/iv-history/series.ts +3 -1
- package/src/plugins/builtin/jobs/lock-note.ts +1 -1
- package/src/plugins/builtin/jobs/model.ts +4 -15
- package/src/plugins/builtin/jobs/pane.tsx +7 -5
- package/src/plugins/builtin/jobs/share-bars.tsx +11 -5
- package/src/plugins/builtin/jodi/pane.tsx +14 -8
- package/src/plugins/builtin/layout-manager/index.tsx +1 -0
- package/src/plugins/builtin/macro-day/headless.ts +20 -7
- package/src/plugins/builtin/macro-day/index.tsx +3 -2
- package/src/plugins/builtin/macro-day/model.ts +29 -8
- package/src/plugins/builtin/macro-day/pane.tsx +46 -10
- package/src/plugins/builtin/macro-day/releases.ts +55 -13
- package/src/plugins/builtin/market-heatmap/data.ts +9 -2
- package/src/plugins/builtin/market-heatmap/evidence.ts +1 -1
- package/src/plugins/builtin/market-heatmap/headless.ts +9 -6
- package/src/plugins/builtin/market-heatmap/index.tsx +3 -3
- package/src/plugins/builtin/market-heatmap/model.ts +10 -7
- package/src/plugins/builtin/market-movers/client.ts +36 -21
- package/src/plugins/builtin/market-movers/headless.ts +8 -2
- package/src/plugins/builtin/market-movers/index.tsx +16 -10
- package/src/plugins/builtin/market-movers/screener.ts +33 -11
- package/src/plugins/builtin/market-movers/session-body.tsx +4 -2
- package/src/plugins/builtin/market-movers/session-table.ts +4 -2
- package/src/plugins/builtin/market-movers/table.ts +4 -1
- package/src/plugins/builtin/market-valuation/headless.ts +2 -0
- package/src/plugins/builtin/market-valuation/view.ts +5 -0
- package/src/plugins/builtin/members/headless.ts +6 -5
- package/src/plugins/builtin/members/pane.tsx +11 -4
- package/src/plugins/builtin/mna/client.ts +1 -0
- package/src/plugins/builtin/mna/detail.tsx +20 -32
- package/src/plugins/builtin/mna/distress/detail.tsx +16 -4
- package/src/plugins/builtin/mna/distress/model.ts +3 -2
- package/src/plugins/builtin/mna/distress/pane.tsx +7 -4
- package/src/plugins/builtin/mna/headless.ts +6 -13
- package/src/plugins/builtin/mna/model.ts +93 -15
- package/src/plugins/builtin/mna/pane.tsx +5 -4
- package/src/plugins/builtin/news/headless.ts +12 -6
- package/src/plugins/builtin/news/index.tsx +10 -1
- package/src/plugins/builtin/news/wire/index.tsx +3 -2
- package/src/plugins/builtin/news/wire/news/command-bar-search.ts +26 -10
- package/src/plugins/builtin/news/wire/news/query-presets.ts +6 -2
- package/src/plugins/builtin/news/wire/rss/cli.ts +3 -3
- package/src/plugins/builtin/notes/cli.ts +50 -15
- package/src/plugins/builtin/notes/export.ts +17 -6
- package/src/plugins/builtin/notes/files.ts +16 -5
- package/src/plugins/builtin/openfda/pane.tsx +1 -1
- package/src/plugins/builtin/options/carry.ts +2 -2
- package/src/plugins/builtin/options/enrichment-model.ts +10 -9
- package/src/plugins/builtin/options/index.tsx +1 -1
- package/src/plugins/builtin/options/model-spot.ts +70 -4
- package/src/plugins/builtin/options/view.tsx +51 -23
- package/src/plugins/builtin/options-calculator/headless.ts +46 -7
- package/src/plugins/builtin/options-calculator/pane.tsx +3 -2
- package/src/plugins/builtin/options-positioning/headless.ts +11 -3
- package/src/plugins/builtin/options-positioning/model.ts +24 -0
- package/src/plugins/builtin/options-positioning/pane.tsx +10 -12
- package/src/plugins/builtin/options-scenario/client.ts +142 -29
- package/src/plugins/builtin/options-scenario/collar.ts +8 -6
- package/src/plugins/builtin/options-scenario/csp-screen-headless.ts +127 -0
- package/src/plugins/builtin/options-scenario/csp-screen-pane.tsx +165 -0
- package/src/plugins/builtin/options-scenario/csp-screen.ts +258 -0
- package/src/plugins/builtin/options-scenario/csp.ts +101 -21
- package/src/plugins/builtin/options-scenario/headless.ts +49 -21
- package/src/plugins/builtin/options-scenario/hedge.ts +20 -14
- package/src/plugins/builtin/options-scenario/index.tsx +28 -3
- package/src/plugins/builtin/options-scenario/model.ts +13 -0
- package/src/plugins/builtin/options-scenario/pane.tsx +22 -10
- package/src/plugins/builtin/perps/equity-row.tsx +11 -3
- package/src/plugins/builtin/perps/freshness.ts +8 -5
- package/src/plugins/builtin/perps/headless.ts +3 -1
- package/src/plugins/builtin/perps/list-perpetuals.ts +25 -4
- package/src/plugins/builtin/perps/live-rows.ts +161 -0
- package/src/plugins/builtin/perps/markets-section.tsx +154 -0
- package/src/plugins/builtin/perps/pane.tsx +36 -17
- package/src/plugins/builtin/perps/venue-markets.ts +96 -0
- package/src/plugins/builtin/plugin-marketplace/index.tsx +2 -1
- package/src/plugins/builtin/plugin-marketplace/pane.tsx +145 -60
- package/src/plugins/builtin/portfolio-list/cli/bulk-symbols.ts +78 -27
- package/src/plugins/builtin/portfolio-list/cli/portfolio-command.ts +158 -141
- package/src/plugins/builtin/portfolio-list/cli/render.ts +49 -20
- package/src/plugins/builtin/portfolio-list/cli/shared.ts +3 -3
- package/src/plugins/builtin/portfolio-list/cli/watchlist-command.ts +29 -24
- package/src/plugins/builtin/portfolio-list/headless.ts +6 -3
- package/src/plugins/builtin/portfolio-list/income.ts +13 -2
- package/src/plugins/builtin/portfolio-list/index.tsx +9 -2
- package/src/plugins/builtin/portfolio-list/pane/index.tsx +21 -8
- package/src/plugins/builtin/portfolio-list/pane/purchase-date-fx.ts +46 -0
- package/src/plugins/builtin/portfolio-list/summary/live-accounts.ts +16 -9
- package/src/plugins/builtin/portfolio-list/summary/totals.ts +2 -15
- package/src/plugins/builtin/power/client.ts +6 -3
- package/src/plugins/builtin/power/evidence.ts +22 -7
- package/src/plugins/builtin/power/gas.tsx +5 -1
- package/src/plugins/builtin/power/pane.tsx +44 -32
- package/src/plugins/builtin/power/prices.tsx +10 -3
- package/src/plugins/builtin/research/analyst-headless.ts +25 -8
- package/src/plugins/builtin/research/analyst-model.ts +68 -3
- package/src/plugins/builtin/research/corporate-actions-pane.tsx +63 -14
- package/src/plugins/builtin/research/event-model.ts +3 -1
- package/src/plugins/builtin/research/event-sources.ts +12 -4
- package/src/plugins/builtin/research/index.tsx +2 -1
- package/src/plugins/builtin/research/relative-valuation-basis.ts +58 -0
- package/src/plugins/builtin/research/relative-valuation-columns.ts +31 -2
- package/src/plugins/builtin/research/relative-valuation-currency.ts +12 -5
- package/src/plugins/builtin/research/relative-valuation-headless.ts +84 -26
- package/src/plugins/builtin/research/relative-valuation-model.ts +88 -19
- package/src/plugins/builtin/research/relative-valuation-pane.tsx +76 -9
- package/src/plugins/builtin/research/relative-valuation-peers.ts +1 -1
- package/src/plugins/builtin/reverse-dcf/client.ts +2 -1
- package/src/plugins/builtin/reverse-dcf/model.ts +10 -5
- package/src/plugins/builtin/risk-factors/index.tsx +2 -2
- package/src/plugins/builtin/scanner/lock-note.ts +1 -1
- package/src/plugins/builtin/seasonality/client.ts +2 -1
- package/src/plugins/builtin/sec/forms.ts +13 -0
- package/src/plugins/builtin/sec/fund-abroad.ts +32 -0
- package/src/plugins/builtin/sec/fund-facts.ts +68 -8
- package/src/plugins/builtin/sec/headless.ts +85 -8
- package/src/plugins/builtin/sec/index.tsx +58 -12
- package/src/plugins/builtin/sectors/client.ts +6 -4
- package/src/plugins/builtin/sectors/sector-model.ts +11 -15
- package/src/plugins/builtin/series-inventory.ts +2 -0
- package/src/plugins/builtin/shared/broker-reconnect.ts +107 -22
- package/src/plugins/builtin/shared/cloud-resource.ts +15 -2
- package/src/plugins/builtin/shared/cloud-upgrade.ts +34 -6
- package/src/plugins/builtin/shared/earnings-calendar.ts +375 -0
- package/src/plugins/builtin/{earnings/estimate-basis.ts → shared/earnings-estimate-basis.ts} +1 -1
- package/src/plugins/builtin/shared/earnings-report.ts +3 -3
- package/src/plugins/builtin/shared/fx-rate-freshness.ts +23 -1
- package/src/plugins/builtin/shared/job-posting.ts +129 -0
- package/src/plugins/builtin/shared/pro-lock-note.ts +3 -3
- package/src/plugins/builtin/shared/report-freshness.ts +3 -0
- package/src/plugins/builtin/shared/research-trading.tsx +23 -0
- package/src/plugins/builtin/shared/series-cache.ts +2 -0
- package/src/plugins/builtin/shared/series-list-detail.tsx +3 -1
- package/src/plugins/builtin/shared/ticker-surface.ts +2 -1
- package/src/plugins/builtin/shared/volatility/options.ts +2 -1
- package/src/plugins/builtin/short-interest/client.ts +2 -0
- package/src/plugins/builtin/short-interest/headless.ts +41 -12
- package/src/plugins/builtin/short-interest/index.tsx +23 -1
- package/src/plugins/builtin/short-interest/model.ts +70 -19
- package/src/plugins/builtin/short-interest/pane.tsx +19 -2
- package/src/plugins/builtin/short-interest/publications-client.ts +82 -0
- package/src/plugins/builtin/short-interest/publications-headless.ts +29 -0
- package/src/plugins/builtin/short-interest/publications-model.ts +50 -0
- package/src/plugins/builtin/short-interest/publications-pane.tsx +66 -0
- package/src/plugins/builtin/short-interest/schedule.ts +35 -2
- package/src/plugins/builtin/short-interest/surface.tsx +11 -4
- package/src/plugins/builtin/short-interest/types.ts +9 -0
- package/src/plugins/builtin/short-interest/watch-client.ts +14 -8
- package/src/plugins/builtin/short-interest/watch-model.ts +12 -25
- package/src/plugins/builtin/short-interest/watch-pane.tsx +5 -1
- package/src/plugins/builtin/social-mentions/client.ts +2 -1
- package/src/plugins/builtin/supply-chain/flow.tsx +33 -9
- package/src/plugins/builtin/supply-chain/model.ts +51 -3
- package/src/plugins/builtin/supply-chain/pane.tsx +78 -39
- package/src/plugins/builtin/supply-chain/row-evidence.tsx +1 -1
- package/src/plugins/builtin/themes/headless.ts +8 -5
- package/src/plugins/builtin/themes/model.ts +14 -4
- package/src/plugins/builtin/themes/pane.tsx +24 -5
- package/src/plugins/builtin/thirteenf/headless.ts +5 -5
- package/src/plugins/builtin/thirteenf/signals.ts +3 -1
- package/src/plugins/builtin/ticker-detail/adr-pair/headless.ts +123 -0
- package/src/plugins/builtin/ticker-detail/adr-pair/model.ts +132 -0
- package/src/plugins/builtin/ticker-detail/adr-pair/tab.tsx +87 -0
- package/src/plugins/builtin/ticker-detail/data-panes/historical-prices.tsx +40 -26
- package/src/plugins/builtin/ticker-detail/data-panes/history-bars.ts +8 -4
- package/src/plugins/builtin/ticker-detail/data-panes/returns-history.ts +67 -3
- package/src/plugins/builtin/ticker-detail/data-panes/returns-model.ts +112 -5
- package/src/plugins/builtin/ticker-detail/data-panes/returns-pane.tsx +17 -2
- package/src/plugins/builtin/ticker-detail/financials/aggregation.ts +21 -7
- package/src/plugins/builtin/ticker-detail/financials/model.ts +36 -1
- package/src/plugins/builtin/ticker-detail/financials/offerings.ts +56 -0
- package/src/plugins/builtin/ticker-detail/financials/ratios.ts +62 -13
- package/src/plugins/builtin/ticker-detail/financials/tab.tsx +30 -4
- package/src/plugins/builtin/ticker-detail/headless-schema.ts +14 -2
- package/src/plugins/builtin/ticker-detail/headless.ts +148 -35
- package/src/plugins/builtin/ticker-detail/index.tsx +37 -5
- package/src/plugins/builtin/ticker-detail/overview/model.ts +65 -10
- package/src/plugins/builtin/ticker-detail/overview/pane.tsx +9 -1
- package/src/plugins/builtin/ticker-detail/overview-tab.tsx +68 -11
- package/src/plugins/builtin/ticker-detail/pane.tsx +11 -0
- package/src/plugins/builtin/ticker-detail/quote-footer.ts +8 -3
- package/src/plugins/builtin/ticker-detail/research-tabs.ts +11 -0
- package/src/plugins/builtin/vol-surface/client.ts +28 -7
- package/src/plugins/builtin/vol-surface/headless.ts +43 -15
- package/src/plugins/builtin/vol-surface/model.ts +34 -12
- package/src/plugins/builtin/vol-surface/pane.tsx +33 -13
- package/src/plugins/builtin/vol-surface/stored.ts +34 -3
- package/src/plugins/builtin/vol-surface/tables.ts +14 -0
- package/src/plugins/builtin/volatility/model.ts +5 -10
- package/src/plugins/builtin/world-venue-map/basemap-layer.tsx +4 -3
- package/src/plugins/builtin/world-venue-map/basemap.ts +3 -1
- package/src/plugins/builtin/world-venue-map/chokepoint-chart.ts +40 -0
- package/src/plugins/builtin/world-venue-map/evidence.ts +1 -1
- package/src/plugins/builtin/world-venue-map/geo-series.ts +90 -11
- package/src/plugins/builtin/world-venue-map/headless.ts +1 -1
- package/src/plugins/builtin/world-venue-map/index.ts +3 -26
- package/src/plugins/builtin/world-venue-map/layers.ts +1 -1
- package/src/plugins/builtin/world-venue-map/map.tsx +2 -1
- package/src/plugins/builtin/world-venue-map/pane.tsx +4 -2
- package/src/plugins/builtin/world-venue-map/venue-header.tsx +15 -4
- package/src/plugins/builtin/yield-curve/client.ts +25 -0
- package/src/plugins/builtin/yield-curve/curves.ts +7 -4
- package/src/plugins/builtin/yield-curve/headless.ts +38 -4
- package/src/plugins/builtin/yield-curve/history.ts +4 -3
- package/src/plugins/builtin/yield-curve/index.tsx +12 -6
- package/src/plugins/builtin/yield-curve/swaps-model.ts +93 -0
- package/src/plugins/builtin/yield-curve/swaps.tsx +99 -0
- package/src/plugins/bundle.ts +1 -1
- package/src/plugins/catalog-browser.ts +2 -1
- package/src/plugins/compat.ts +3 -3
- package/src/plugins/dependencies.ts +75 -14
- package/src/plugins/extracted-plugins.ts +132 -34
- package/src/plugins/host-link.ts +149 -34
- package/src/plugins/installer.ts +35 -10
- package/src/plugins/loader.ts +206 -38
- package/src/plugins/manager-node.ts +2 -2
- package/src/plugins/marketplace/deactivation.ts +22 -0
- package/src/plugins/marketplace/model.ts +2 -2
- package/src/plugins/marketplace/packs.ts +1 -1
- package/src/plugins/ownership.ts +1 -1
- package/src/plugins/peer-retry.ts +155 -0
- package/src/plugins/registry/contributions.ts +3 -1
- package/src/plugins/registry/index.ts +4 -3
- package/src/plugins/registry/plugin-state.ts +3 -0
- package/src/plugins/seed-notice.ts +20 -0
- package/src/plugins/shortcut-argument.ts +39 -0
- package/src/portfolio/allocation.ts +1 -1
- package/src/portfolio/collection-name.ts +31 -0
- package/src/portfolio/column-values.ts +10 -8
- package/src/portfolio/cost-fx.ts +296 -19
- package/src/portfolio/manual-lots.ts +75 -0
- package/src/portfolio/mutations.ts +60 -22
- package/src/portfolio/suffixed-listings.ts +209 -0
- package/src/portfolio/totals-currency.ts +24 -0
- package/src/public/__snapshots__/public-api.test.ts.snap +14 -0
- package/src/public/time-series.ts +11 -8
- package/src/remote/schema.ts +1 -1
- package/src/renderers/browser/config-host.ts +3 -0
- package/src/renderers/browser/main.tsx +23 -3
- package/src/renderers/dom/boot-frame-page.ts +187 -0
- package/src/renderers/dom/boot-frame.ts +237 -0
- package/src/renderers/dom/build-assets.ts +46 -8
- package/src/renderers/dom/desktop/controls.tsx +1 -1
- package/src/renderers/dom/desktop/query-bar.tsx +2 -0
- package/src/renderers/dom/dom-ui-host.tsx +4 -29
- package/src/renderers/dom/host/ascii-text.ts +16 -2
- package/src/renderers/dom/host/box.tsx +43 -2
- package/src/renderers/dom/host/chart-surface.tsx +2 -0
- package/src/renderers/dom/host/hls.chunk.ts +3 -0
- package/src/renderers/dom/host/image-surface.tsx +49 -0
- package/src/renderers/dom/host/media-surface.tsx +24 -18
- package/src/renderers/dom/host/mouse.ts +30 -0
- package/src/renderers/dom/host/size-observer.ts +1 -1
- package/src/renderers/dom/host/style.ts +1 -1
- package/src/renderers/dom/host/tabs.tsx +16 -5
- package/src/renderers/dom/host/top-surface.ts +127 -0
- package/src/renderers/dom/styles.css +115 -0
- package/src/renderers/dom/test-utils.tsx +2 -1
- package/src/renderers/electrobun/bun/application-menu/index.ts +3 -3
- package/src/renderers/electrobun/bun/core-capabilities.ts +9 -1
- package/src/renderers/electrobun/bun/desktop/backend-requests.ts +3 -0
- package/src/renderers/electrobun/bun/desktop/backend.ts +56 -3
- package/src/renderers/electrobun/bun/desktop/detached-windows.ts +1 -1
- package/src/renderers/electrobun/bun/desktop/host-requests.ts +9 -3
- package/src/renderers/electrobun/bun/desktop/initialization.ts +81 -18
- package/src/renderers/electrobun/bun/desktop/update.ts +210 -30
- package/src/renderers/electrobun/bun/external-plugins.ts +29 -7
- package/src/renderers/electrobun/bun/index.ts +11 -1
- package/src/renderers/electrobun/bun/window/boot-frame.ts +67 -0
- package/src/renderers/electrobun/bun/window/create.ts +4 -1
- package/src/renderers/electrobun/shared/boot-frame.ts +7 -0
- package/src/renderers/electrobun/shared/protocol.ts +6 -1
- package/src/renderers/electrobun/view/cli-pane-shot-entry.tsx +1 -1
- package/src/renderers/electrobun/view/config-host.ts +3 -0
- package/src/renderers/electrobun/view/fatal-screen.tsx +1 -1
- package/src/renderers/electrobun/view/main.tsx +30 -4
- package/src/renderers/electrobun/view/news-source.ts +9 -7
- package/src/renderers/electrobun/view/remote/asset-data-client.ts +9 -2
- package/src/renderers/electrobun/view/ui-host.tsx +1 -1
- package/src/renderers/opentui/browser-open.ts +88 -0
- package/src/renderers/opentui/host.tsx +5 -14
- package/src/renderers/opentui/image/loader.ts +3 -2
- package/src/renderers/opentui/native-smoke.ts +10 -1
- package/src/renderers/opentui/pane-image/index.ts +2 -1
- package/src/renderers/opentui/render-lib.ts +253 -0
- package/src/renderers/opentui/render-timing-smoke.ts +1 -1
- package/src/renderers/opentui/start.tsx +8 -1
- package/src/renderers/share/layout-view.tsx +2 -2
- package/src/renderers/share/main.tsx +4 -4
- package/src/renderers/share/view.tsx +1 -1
- package/src/series/resolve.ts +22 -6
- package/src/series/standalone.ts +30 -2
- package/src/series/types.ts +8 -1
- package/src/shares/api.ts +4 -1
- package/src/shares/pane.ts +1 -1
- package/src/sources/gloomberb-cloud/fred-series.ts +46 -1
- package/src/sources/gloomberb-cloud/index.ts +39 -16
- package/src/sources/gloomberb-cloud/news.ts +39 -0
- package/src/sources/gloomberb-cloud/normalizers.ts +14 -1
- package/src/sources/gloomberb-cloud/perpetuals.ts +49 -1
- package/src/sources/listing-symbols.ts +37 -0
- package/src/sources/provider-errors.ts +16 -2
- package/src/sources/provider-router/financial-routes.ts +21 -3
- package/src/sources/provider-router/financials.ts +15 -2
- package/src/sources/provider-router/history.ts +30 -8
- package/src/sources/provider-router/index.ts +16 -0
- package/src/sources/provider-router/primary.ts +1 -1
- package/src/state/app/bootstrap.ts +23 -0
- package/src/state/hooks/inline-tickers.ts +30 -5
- package/src/sync/controller.ts +1 -1
- package/src/sync/core-contributors.ts +46 -14
- package/src/team/collections-sync.ts +2 -1
- package/src/team/collections.ts +178 -17
- package/src/telemetry/crash-reports.ts +21 -4
- package/src/telemetry/update-failures-node.ts +59 -0
- package/src/telemetry/update-failures.ts +307 -0
- package/src/test-support/builtin-panes.ts +1 -1
- package/src/theme/colors.ts +3 -30
- package/src/theme/ui-tokens.ts +37 -1
- package/src/tickers/company-name-listing.ts +215 -36
- package/src/tickers/company-name.ts +43 -0
- package/src/tickers/index-roots.ts +47 -0
- package/src/tickers/instrument-label.ts +5 -1
- package/src/tickers/listing-fate.ts +30 -0
- package/src/tickers/metadata.ts +10 -0
- package/src/tickers/perpetual-listing.ts +5 -2
- package/src/tickers/search/home-listing.ts +75 -0
- package/src/tickers/search/index.ts +76 -27
- package/src/tickers/search/ranking.ts +54 -4
- package/src/tickers/search/upsert.ts +29 -0
- package/src/tickers/terminal-codes.ts +416 -40
- package/src/time-series/bar-aggregation.ts +243 -0
- package/src/time-series/base-series.ts +307 -0
- package/src/time-series/chart-bounds.ts +349 -0
- package/src/time-series/chart-seed.ts +142 -0
- package/src/time-series/economic.ts +5 -0
- package/src/time-series/fundamentals.ts +18 -3
- package/src/time-series/history-acquisition.ts +499 -0
- package/src/time-series/leverage.ts +100 -0
- package/src/time-series/market-resolution.ts +4 -2
- package/src/time-series/market.ts +2 -1
- package/src/time-series/price-comparison.ts +175 -30
- package/src/time-series/range.ts +9 -1
- package/src/time-series/resolution.ts +174 -16
- package/src/time-series/resolve-context.ts +157 -0
- package/src/time-series/resolve.ts +126 -1577
- package/src/time-series/series-name.ts +38 -0
- package/src/time-series/series-presentation.ts +208 -0
- package/src/time-series/spec.ts +11 -6
- package/src/time-series/studies.ts +109 -12
- package/src/time-series/tail-reconcile.ts +121 -0
- package/src/time-series/types.ts +29 -2
- package/src/time-series/use-chart-resolution.ts +4 -5
- package/src/types/broker.ts +10 -0
- package/src/types/config.ts +14 -0
- package/src/types/data-provider.ts +20 -0
- package/src/types/exchange-rate.ts +6 -0
- package/src/types/financials.ts +104 -7
- package/src/types/headless.ts +83 -6
- package/src/types/instrument.ts +3 -0
- package/src/types/issuer-listings.ts +28 -0
- package/src/types/plugin.ts +65 -8
- package/src/types/price-history.ts +2 -0
- package/src/types/ticker.ts +13 -0
- package/src/types/trading.ts +59 -1
- package/src/ui/ascii-font.ts +13 -1
- package/src/ui/host.tsx +6 -1
- package/src/updater/command-names.ts +175 -0
- package/src/updater/failure.ts +163 -0
- package/src/updater/index.ts +97 -28
- package/src/utils/calendar-date.ts +32 -15
- package/src/utils/cash-runway.ts +241 -0
- package/src/utils/central-banks.ts +42 -0
- package/src/utils/cli-output.ts +259 -80
- package/src/utils/contract-month.ts +16 -0
- package/src/utils/crypto-pair.ts +61 -3
- package/src/utils/currency-pair.ts +26 -0
- package/src/utils/currency-units.ts +29 -0
- package/src/utils/datetime-format.ts +10 -0
- package/src/utils/debug-log.ts +1 -1
- package/src/utils/decimal-comma.ts +39 -6
- package/src/utils/exchange-announcements.ts +71 -0
- package/src/utils/exchange-rate-snapshot.ts +10 -0
- package/src/utils/financial-statements.ts +83 -4
- package/src/utils/format.ts +34 -16
- package/src/utils/fundamentals.ts +150 -34
- package/src/utils/fx-market-hours.ts +10 -1
- package/src/utils/latest-financial-period.ts +8 -0
- package/src/utils/linux-libc.ts +54 -0
- package/src/utils/market-capitalization.ts +111 -15
- package/src/utils/max-drawdown.ts +64 -0
- package/src/utils/network-failure.ts +83 -0
- package/src/utils/option-expiry.ts +139 -7
- package/src/utils/price-earnings.ts +11 -5
- package/src/utils/price-history.ts +18 -8
- package/src/utils/price-window.ts +131 -0
- package/src/utils/release-date.ts +47 -0
- package/src/utils/sec.ts +71 -0
- package/src/utils/throttled-fetch.ts +11 -4
- package/src/utils/trailing-eps.ts +67 -0
- package/src/utils/typed-text.ts +21 -0
- package/src/utils/utc-time.ts +24 -1
- package/src/version.ts +6 -0
- package/src/cli/pane-functions/screenshot.ts +0 -2122
package/src/time-series/types.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChartResolution, TimeRange } from "./range";
|
|
1
|
+
import type { ChartResolution, CustomChartResolution, TimeRange } from "./range";
|
|
2
2
|
import type { ChartResolutionSupport, ManualChartResolution } from "./resolution";
|
|
3
3
|
import type { InstrumentRef } from "../market-data/request-types";
|
|
4
4
|
import type { SeriesAttribution } from "../series/types";
|
|
@@ -69,7 +69,20 @@ export type ChartStudyKind =
|
|
|
69
69
|
| "spread"
|
|
70
70
|
| "correlation"
|
|
71
71
|
/** A weighted sum of any number of series over a divisor: `(2*42*RB=F + 42*HO=F - 3*CL=F)/3`. */
|
|
72
|
-
| "formula"
|
|
72
|
+
| "formula"
|
|
73
|
+
/**
|
|
74
|
+
* A leveraged or inverse fund's objective drawn from its index fund: `factor`
|
|
75
|
+
* times the index fund's return each session, compounded (3× daily QQQ beside
|
|
76
|
+
* TQQQ). Inputs: the index fund.
|
|
77
|
+
*/
|
|
78
|
+
| "leverage"
|
|
79
|
+
/**
|
|
80
|
+
* How far a leveraged fund falls short of its objective, in percentage
|
|
81
|
+
* points: the fund against the `factor`× daily line, and that line against
|
|
82
|
+
* `factor` times the index fund's return over the period. Inputs: the fund,
|
|
83
|
+
* then the index fund.
|
|
84
|
+
*/
|
|
85
|
+
| "leverage-decay";
|
|
73
86
|
|
|
74
87
|
export interface ChartStudySpec {
|
|
75
88
|
id: string;
|
|
@@ -113,6 +126,13 @@ export interface TimeSeriesPoint {
|
|
|
113
126
|
date: Date;
|
|
114
127
|
observedAt: Date;
|
|
115
128
|
availableAt?: Date;
|
|
129
|
+
/**
|
|
130
|
+
* The day the figure was released (`2026-10-20`), when its source says so for
|
|
131
|
+
* this point alone: FRED's newest observation from Gloom Cloud. The report
|
|
132
|
+
* line reads it; unlike `availableAt`, it never moves where the point is
|
|
133
|
+
* drawn or aligned, so the newest figure stays at its period like the rest.
|
|
134
|
+
*/
|
|
135
|
+
releasedOn?: string;
|
|
116
136
|
value: number | null;
|
|
117
137
|
/** Original primary scalar before any presentation transform, including missing values. */
|
|
118
138
|
rawValue?: number | null;
|
|
@@ -182,6 +202,11 @@ export interface ResolvedSeries {
|
|
|
182
202
|
unreportedPeriod?: "quarterly";
|
|
183
203
|
/** Acquired market-history cadence; null is explicitly unknown, undefined is legacy or nonmarket. */
|
|
184
204
|
historyResolution?: ManualChartResolution | null;
|
|
205
|
+
/**
|
|
206
|
+
* The bar size the points were built in from `historyResolution` bars
|
|
207
|
+
* (`4h` from `1h`, `2d` from `1d`). Absent when the points are the source's own bars.
|
|
208
|
+
*/
|
|
209
|
+
barSize?: CustomChartResolution;
|
|
185
210
|
/**
|
|
186
211
|
* When known, the first bar this listing has at `historyResolution`: the
|
|
187
212
|
* source keeps nothing older, so the chart stops there instead of asking.
|
|
@@ -290,4 +315,6 @@ export interface ChartResolutionResult {
|
|
|
290
315
|
viewport?: { start: Date; end: Date };
|
|
291
316
|
/** Bar resolution the loaded market history was fetched at. */
|
|
292
317
|
resolution?: ManualChartResolution;
|
|
318
|
+
/** The bar size the market series were built in from `resolution` bars, when the source does not serve it. */
|
|
319
|
+
barSize?: CustomChartResolution;
|
|
293
320
|
}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { logFailure } from "../utils/log-failure";
|
|
2
2
|
import { useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
3
|
+
import { resolveChartSpecData } from "./resolve";
|
|
3
4
|
import {
|
|
4
5
|
ChartResolveCache,
|
|
5
|
-
chartSeedResolution,
|
|
6
|
-
reconcileChartTail,
|
|
7
|
-
resolveChartSpecData,
|
|
8
|
-
seedChartResolutionResult,
|
|
9
6
|
type ChartResolveOptions,
|
|
10
7
|
type ChartResolveSources,
|
|
11
|
-
} from "./resolve";
|
|
8
|
+
} from "./resolve-context";
|
|
9
|
+
import { chartSeedResolution, seedChartResolutionResult } from "./chart-seed";
|
|
10
|
+
import { reconcileChartTail } from "./tail-reconcile";
|
|
12
11
|
import type { ChartResolutionResult, ChartSpec } from "./types";
|
|
13
12
|
import {
|
|
14
13
|
chartQuoteOverrideKeyForSource,
|
package/src/types/broker.ts
CHANGED
|
@@ -69,6 +69,11 @@ export interface BrokerConfigField {
|
|
|
69
69
|
export interface BrokerConnectionStatus {
|
|
70
70
|
state: "disconnected" | "connecting" | "connected" | "error";
|
|
71
71
|
message?: string;
|
|
72
|
+
/**
|
|
73
|
+
* With `error`: only a new sign-in, to Gloom or the broker, gets the profile
|
|
74
|
+
* going again, so Brokers says "Sign-in needed" rather than "Error".
|
|
75
|
+
*/
|
|
76
|
+
needsSignIn?: boolean;
|
|
72
77
|
mode?: string;
|
|
73
78
|
/**
|
|
74
79
|
* Timeliness of the quotes this session streams, when the broker knows it.
|
|
@@ -124,6 +129,11 @@ export interface BrokerAdapter {
|
|
|
124
129
|
* profile). Hosts that honor it export `LOCAL_BROKER_MARKET_DATA` from `gloomberb/broker`.
|
|
125
130
|
*/
|
|
126
131
|
readonly localMarketData?: boolean;
|
|
132
|
+
/**
|
|
133
|
+
* `getQuote` answers the order ticket only, so the market data router never asks this broker:
|
|
134
|
+
* for a broker whose quotes count against a small request allowance (SnapTrade, signed in).
|
|
135
|
+
*/
|
|
136
|
+
readonly ticketQuotesOnly?: boolean;
|
|
127
137
|
validate(instance: BrokerInstanceConfig): Promise<boolean>;
|
|
128
138
|
importPositions(instance: BrokerInstanceConfig): Promise<BrokerPosition[]>;
|
|
129
139
|
importPortfolioSnapshot?(instance: BrokerInstanceConfig): Promise<{ accounts: BrokerAccount[]; positions: BrokerPosition[] }>;
|
package/src/types/config.ts
CHANGED
|
@@ -272,6 +272,13 @@ export interface RecentCommand {
|
|
|
272
272
|
arg?: string;
|
|
273
273
|
}
|
|
274
274
|
|
|
275
|
+
/** What a launch's plugin seed could not install. */
|
|
276
|
+
export interface PluginSeedFailure {
|
|
277
|
+
/** Extracted plugin ids, sorted. */
|
|
278
|
+
plugins: string[];
|
|
279
|
+
gitMissing: boolean;
|
|
280
|
+
}
|
|
281
|
+
|
|
275
282
|
export interface AppConfig {
|
|
276
283
|
dataDir: string;
|
|
277
284
|
configVersion: number;
|
|
@@ -291,6 +298,13 @@ export interface AppConfig {
|
|
|
291
298
|
* not fought with.
|
|
292
299
|
*/
|
|
293
300
|
seededPlugins?: string[];
|
|
301
|
+
/**
|
|
302
|
+
* The extracted plugins the last launch's seed could not install, and
|
|
303
|
+
* whether git was missing then. Absent until a seed fails, and again once
|
|
304
|
+
* one installs everything. `doctor` fails on it, and the launch notice that
|
|
305
|
+
* Gloom tries again is said once per failure.
|
|
306
|
+
*/
|
|
307
|
+
pluginSeedFailure?: PluginSeedFailure;
|
|
294
308
|
/**
|
|
295
309
|
* Manual portfolios have taken the one currency their positions share. Runs
|
|
296
310
|
* once per install, so later holdings never move a portfolio's currency.
|
|
@@ -2,6 +2,7 @@ import type { ExchangeRateSnapshot } from "./exchange-rate";
|
|
|
2
2
|
import type {
|
|
3
3
|
AnalystResearchData,
|
|
4
4
|
CorporateActionsData,
|
|
5
|
+
EarningsDateStatus,
|
|
5
6
|
EarningsEpsBasis,
|
|
6
7
|
Quote,
|
|
7
8
|
QuoteMetadata,
|
|
@@ -16,6 +17,7 @@ import type { BrokerContractRef, InstrumentSearchResult } from "./instrument";
|
|
|
16
17
|
import type { CachePolicyMap } from "./persistence";
|
|
17
18
|
import type { CachedQueryHandle } from "../data/cached-query";
|
|
18
19
|
import type { TickerChanges } from "./ticker-changes";
|
|
20
|
+
import type { IssuerListings } from "./issuer-listings";
|
|
19
21
|
|
|
20
22
|
export type CachedAssetMethod = "getExchangeRate" | "getHolders" | "getAnalystResearch" | "getCorporateActions"
|
|
21
23
|
| "getOptionsChain" | "getSecFilings" | "getSecFilingDocuments" | "getSecFilingContent" | "getArticleSummary";
|
|
@@ -52,6 +54,13 @@ export interface SecFilingItem {
|
|
|
52
54
|
* does not say (an older server).
|
|
53
55
|
*/
|
|
54
56
|
fileNumber?: string;
|
|
57
|
+
/**
|
|
58
|
+
* In a fund's list from a trust that runs several funds: whether EDGAR
|
|
59
|
+
* lists the filing under the fund's own series. Absent when the source does
|
|
60
|
+
* not say (another registrant, an older server, a filing older than the
|
|
61
|
+
* series list reaches).
|
|
62
|
+
*/
|
|
63
|
+
fundSeries?: boolean;
|
|
55
64
|
}
|
|
56
65
|
|
|
57
66
|
export interface SecFilingDocument {
|
|
@@ -88,6 +97,12 @@ export interface EarningsEvent {
|
|
|
88
97
|
earningsDate: Date;
|
|
89
98
|
earningsCallDate?: Date | null;
|
|
90
99
|
isDateEstimate?: boolean | null;
|
|
100
|
+
/**
|
|
101
|
+
* The report's status as Gloom Cloud holds it: reported once the report is
|
|
102
|
+
* out, before the calendar has its actual. Absent from servers that do not
|
|
103
|
+
* say; `isDateEstimate` and `epsActual` tell the rest.
|
|
104
|
+
*/
|
|
105
|
+
dateStatus?: EarningsDateStatus | null;
|
|
91
106
|
estimateBasis?: Partial<Record<EarningsEstimateField, EarningsEstimateBasis>>;
|
|
92
107
|
epsEstimate: number | null;
|
|
93
108
|
epsLow?: number | null;
|
|
@@ -252,6 +267,11 @@ export interface AssetDataProvider {
|
|
|
252
267
|
* answer for is left out; null when the source cannot answer a batch at all.
|
|
253
268
|
*/
|
|
254
269
|
getTickerChangesBatch?(symbols: string[], options?: { signal?: AbortSignal }): Promise<Map<string, TickerChanges | null> | null>;
|
|
270
|
+
/**
|
|
271
|
+
* Every listing of the company a listing belongs to (RCI and RCI.B:TSX are
|
|
272
|
+
* Rogers). Null when the source does not hold the company.
|
|
273
|
+
*/
|
|
274
|
+
getIssuerListings?(symbol: string, exchange?: string, options?: { signal?: AbortSignal }): Promise<IssuerListings | null>;
|
|
255
275
|
/**
|
|
256
276
|
* Several searches in a few requests, each answered with the rows `search`
|
|
257
277
|
* gives it from this source (up to `limit`), by query as asked. A query the
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { QuoteIntradayBar } from "./financials";
|
|
2
|
+
|
|
1
3
|
/** Quote currency units per one base-currency unit; conversion rates use USD. */
|
|
2
4
|
export interface ExchangeRateSnapshot {
|
|
3
5
|
fromCurrency: string;
|
|
@@ -10,4 +12,8 @@ export interface ExchangeRateSnapshot {
|
|
|
10
12
|
staleAt?: string;
|
|
11
13
|
stale: boolean;
|
|
12
14
|
delayMinutes?: number;
|
|
15
|
+
/** The rate is the close of this intraday bar of the pair's, its print having stopped behind it; asOf is the bar's end. */
|
|
16
|
+
intradayBar?: QuoteIntradayBar;
|
|
17
|
+
/** Why a stale rate stands, in Gloom Cloud's words. */
|
|
18
|
+
staleReason?: string;
|
|
13
19
|
}
|
package/src/types/financials.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { PerpBoardRow } from "../api-client/perps";
|
|
1
2
|
import type { PriceBasis } from "./instrument";
|
|
2
3
|
|
|
3
4
|
export type MarketState = "PRE" | "REGULAR" | "POST" | "PREPRE" | "POSTPOST" | "CLOSED";
|
|
@@ -72,12 +73,28 @@ export interface QuoteMetadata {
|
|
|
72
73
|
*/
|
|
73
74
|
export type ShareBasis = "depositary_receipt" | "ordinary";
|
|
74
75
|
|
|
76
|
+
/**
|
|
77
|
+
* A depositary receipt and the listings of the ordinary shares it represents,
|
|
78
|
+
* as Gloom Cloud serves it on both sides' records: GGAL with ratio 10 and
|
|
79
|
+
* GGAL.BA, on GGAL's quote and on GGAL.BA's alike.
|
|
80
|
+
*/
|
|
81
|
+
export interface DepositaryPair {
|
|
82
|
+
/** The receipt's US symbol. */
|
|
83
|
+
receipt: string;
|
|
84
|
+
/** Ordinary shares one receipt represents. */
|
|
85
|
+
ratio: number;
|
|
86
|
+
/** Listings of the ordinary shares (GGAL.BA), the home line first. */
|
|
87
|
+
ordinary: string[];
|
|
88
|
+
}
|
|
89
|
+
|
|
75
90
|
/** How a depositary receipt relates to the ordinary shares, as Gloom Cloud states it. */
|
|
76
91
|
interface DepositaryReceiptFacts {
|
|
77
92
|
/** Whether the listing is a depositary receipt; absent when unknown. */
|
|
78
93
|
isDepositaryReceipt?: boolean;
|
|
79
94
|
/** Ordinary shares per receipt, on a receipt's own records. */
|
|
80
95
|
adrRatio?: number;
|
|
96
|
+
/** The receipt and its home lines, on the receipt's records and each home line's. */
|
|
97
|
+
depositaryPair?: DepositaryPair;
|
|
81
98
|
}
|
|
82
99
|
|
|
83
100
|
export interface Quote extends DepositaryReceiptFacts {
|
|
@@ -121,6 +138,14 @@ export interface Quote extends DepositaryReceiptFacts {
|
|
|
121
138
|
receivedAt?: number; // local receipt timestamp ms for streamed/display freshness
|
|
122
139
|
delivery?: QuoteDelivery;
|
|
123
140
|
stale?: boolean;
|
|
141
|
+
/**
|
|
142
|
+
* The price is the close of this intraday bar of a currency pair's, not a
|
|
143
|
+
* print: Gloom Cloud took the bar because the pair's print had stopped
|
|
144
|
+
* behind it. lastUpdated is the bar's end.
|
|
145
|
+
*/
|
|
146
|
+
intradayBar?: QuoteIntradayBar;
|
|
147
|
+
/** Why a stale currency pair's price stands, in Gloom Cloud's words: its bars have nothing newer, or could not be read in time. */
|
|
148
|
+
staleReason?: string;
|
|
124
149
|
/** The listing no longer trades: the price is its last trade (ListingDelisting). */
|
|
125
150
|
delisting?: ListingDelisting;
|
|
126
151
|
exchangeName?: string;
|
|
@@ -181,6 +206,18 @@ export interface Quote extends DepositaryReceiptFacts {
|
|
|
181
206
|
provenance?: QuoteProvenance;
|
|
182
207
|
/** Freshness class for the quote data. Provider identity lives in providerId/provenance. */
|
|
183
208
|
dataSource?: QuoteDataSource;
|
|
209
|
+
/**
|
|
210
|
+
* A perpetual contract's whole market row as of this quote (funding, open
|
|
211
|
+
* interest, premium), so every view of the contract reads the figures that
|
|
212
|
+
* came with its price, streamed or fetched.
|
|
213
|
+
*/
|
|
214
|
+
perpetual?: PerpBoardRow;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/** A bar a quote's price is the close of: its start (epoch ms) and its length in minutes. */
|
|
218
|
+
export interface QuoteIntradayBar {
|
|
219
|
+
start: number;
|
|
220
|
+
minutes: number;
|
|
184
221
|
}
|
|
185
222
|
|
|
186
223
|
export interface QuoteContribution extends Quote {
|
|
@@ -195,7 +232,7 @@ export interface TtmConversion {
|
|
|
195
232
|
from: string;
|
|
196
233
|
/** Units of `financialCurrency` per unit of `from` for revenue, income and cash flow; absent when not measured. */
|
|
197
234
|
rate?: number;
|
|
198
|
-
/** YYYY-MM-DD the converted figures were fetched. */
|
|
235
|
+
/** YYYY-MM-DD the converted figures were fetched; once the app converts them again at its own rate (ttmAtAppRate), the ISO time of that rate. */
|
|
199
236
|
asOf?: string;
|
|
200
237
|
/** EPS is converted at the rate of each report date, so a P/E on it divides a spot price by EPS at older rates. */
|
|
201
238
|
eps?: "report_date";
|
|
@@ -205,20 +242,28 @@ export interface TtmConversion {
|
|
|
205
242
|
* How a served enterprise value ties to market cap + total debt - cash from the latest balance sheet served beside it.
|
|
206
243
|
* `matches` within 5%; `differs` beyond it (or beyond 2% on the other side of the market cap from net debt), within
|
|
207
244
|
* 0.7x to 1.5x, shown labelled as the provider's; `withdrawn` outside that band, with no EV or EV/revenue; `unchecked`
|
|
208
|
-
* without a recent balance sheet carrying both lines.
|
|
245
|
+
* without a recent balance sheet carrying both lines. `computed`: an insurer's or a holding company's EV, which is
|
|
246
|
+
* `computed` itself, its investment book kept in (`investmentsKept`). `not-meaningful`: the EV comes out at or below
|
|
247
|
+
* zero, served as no EV or EV/revenue, with `reason`; shown N/M.
|
|
209
248
|
*/
|
|
210
249
|
export interface EnterpriseValueCheck {
|
|
211
|
-
status: "matches" | "differs" | "withdrawn" | "unchecked";
|
|
212
|
-
/** The provider's enterprise value, served as `enterpriseValue` unless withdrawn. */
|
|
213
|
-
source
|
|
214
|
-
currency
|
|
215
|
-
|
|
250
|
+
status: "matches" | "differs" | "withdrawn" | "unchecked" | "computed" | "not-meaningful";
|
|
251
|
+
/** The provider's enterprise value, served as `enterpriseValue` unless withdrawn, computed or not meaningful; absent when it served none. */
|
|
252
|
+
source?: number;
|
|
253
|
+
/** The currency of the EV and the market cap. Absent, with `marketCap`, only on a not-meaningful source EV the block names no currency for. */
|
|
254
|
+
currency?: string;
|
|
255
|
+
/** The market cap the EV is measured on; absent only on a not-meaningful source EV served without one. */
|
|
256
|
+
marketCap?: number;
|
|
216
257
|
totalDebt?: number;
|
|
217
258
|
cash?: number;
|
|
218
259
|
/** YYYY-MM-DD of the balance sheet the debt and cash come from. */
|
|
219
260
|
balanceSheetDate?: string;
|
|
220
261
|
/** marketCap + totalDebt - cash. */
|
|
221
262
|
computed?: number;
|
|
263
|
+
/** `cash` is cash and equivalents alone: an insurer's or a holding company's investments stay in its EV. */
|
|
264
|
+
investmentsKept?: true;
|
|
265
|
+
/** Why the EV is not meaningful (`not-meaningful`). */
|
|
266
|
+
reason?: string;
|
|
222
267
|
}
|
|
223
268
|
|
|
224
269
|
/** How a trailing P/E converts the EPS it divides by, when that EPS is in another currency than the price. */
|
|
@@ -229,6 +274,23 @@ export interface TrailingPEConversion {
|
|
|
229
274
|
rate: number;
|
|
230
275
|
}
|
|
231
276
|
|
|
277
|
+
/** How a share count and market cap were put on the basis after a split. */
|
|
278
|
+
export interface SplitShareBasis {
|
|
279
|
+
/** The split's ex-date, YYYY-MM-DD. */
|
|
280
|
+
exDate: string;
|
|
281
|
+
/** What a price from before the split is multiplied by: 15 for a 1-for-15 reverse split, 0.1 for a 10-for-1 split. */
|
|
282
|
+
priceFactor: number;
|
|
283
|
+
/**
|
|
284
|
+
* `filing`: the count a filing reported as of `reportedAsOf`, moved by the split, the cap that count times the price.
|
|
285
|
+
* `provider_cap`: the provider's cap, its share count (`reportedShares`) being from before the split.
|
|
286
|
+
*/
|
|
287
|
+
method: "filing" | "provider_cap";
|
|
288
|
+
reportedShares: number;
|
|
289
|
+
reportedAsOf?: string;
|
|
290
|
+
/** The provider's market cap the shown one replaced. */
|
|
291
|
+
providerMarketCap?: number;
|
|
292
|
+
}
|
|
293
|
+
|
|
232
294
|
export interface Fundamentals extends DepositaryReceiptFacts {
|
|
233
295
|
/** Every share count here is on this basis, the basis of the listing's price and market cap; absent when unproven. */
|
|
234
296
|
shareBasis?: ShareBasis;
|
|
@@ -284,8 +346,14 @@ export interface Fundamentals extends DepositaryReceiptFacts {
|
|
|
284
346
|
return3Y?: number;
|
|
285
347
|
lastQuarterGrowth?: number;
|
|
286
348
|
sharesOutstanding?: number;
|
|
349
|
+
/** Set when a recent split put `sharesOutstanding` and `marketCap` on the basis the listing trades on. */
|
|
350
|
+
splitShareBasis?: SplitShareBasis;
|
|
351
|
+
/** YYYY-MM-DD `sharesOutstanding` was counted, when it is a 10-K or 10-Q cover count; a source's own count is undated. */
|
|
352
|
+
sharesOutstandingAsOf?: string;
|
|
287
353
|
/** Free float: shares outstanding less insider and strategic holdings, never above `sharesOutstanding`. */
|
|
288
354
|
floatShares?: number;
|
|
355
|
+
/** YYYY-MM-DD `floatShares` was counted, when it is a dated count itself (held at a cover count); a source's own float is undated. */
|
|
356
|
+
floatSharesAsOf?: string;
|
|
289
357
|
beta?: number;
|
|
290
358
|
/** Shares short at the latest FINRA settlement, the one `SI` and `SIW` show; dated by `shortInterestDate`. */
|
|
291
359
|
sharesShort?: number;
|
|
@@ -308,11 +376,15 @@ export interface HolderRecord {
|
|
|
308
376
|
providerId?: string;
|
|
309
377
|
ownerType: HolderOwnerType;
|
|
310
378
|
name: string;
|
|
379
|
+
/** The 13F filer's CIK, on a row from the SEC 13F holder index. */
|
|
380
|
+
cik?: string;
|
|
311
381
|
reportDate?: string;
|
|
312
382
|
shares?: number;
|
|
313
383
|
value?: number;
|
|
384
|
+
/** The stake as a fraction of the shares outstanding: 0.0519 is 5.19%. */
|
|
314
385
|
percentHeld?: number;
|
|
315
386
|
changeShares?: number;
|
|
387
|
+
/** The quarter's change as a fraction of the prior position: 1.086 is +108.6%, -0.6 is -60%. */
|
|
316
388
|
changePercent?: number;
|
|
317
389
|
/** Set when the position's filing ties it to the receipts or to the ordinary shares. */
|
|
318
390
|
shareBasis?: ShareBasis;
|
|
@@ -482,6 +554,12 @@ export interface CorporateActionsData {
|
|
|
482
554
|
|
|
483
555
|
export interface CompanyProfile {
|
|
484
556
|
description?: string;
|
|
557
|
+
/**
|
|
558
|
+
* Who published the description and where, when it is quoted from a
|
|
559
|
+
* document rather than the data provider's own text: a fund's issuer page,
|
|
560
|
+
* or the key facts its exchange publishes.
|
|
561
|
+
*/
|
|
562
|
+
descriptionSource?: { publisher: string; url: string };
|
|
485
563
|
sector?: string;
|
|
486
564
|
industry?: string;
|
|
487
565
|
employees?: number;
|
|
@@ -522,6 +600,18 @@ export interface IncomeStatementSource {
|
|
|
522
600
|
*/
|
|
523
601
|
export type StatementGapField = IncomeStatementField | "totalRevenue" | "operatingRevenue" | "pretaxIncome" | "taxProvision";
|
|
524
602
|
|
|
603
|
+
/** Lines Gloom Cloud fills from a listing's exchange for a year the statements source does not have yet. */
|
|
604
|
+
export type StatementFillField = "totalRevenue" | "netIncome" | "totalAssets" | "totalLiabilities";
|
|
605
|
+
|
|
606
|
+
/** Where a row's filled lines came from: the exchange's figures, its page, and when they were read. */
|
|
607
|
+
export interface StatementFill {
|
|
608
|
+
source: "asx";
|
|
609
|
+
page: string;
|
|
610
|
+
retrievedAt: string;
|
|
611
|
+
/** The lines taken from the exchange; the row's other figures are the statements source's. */
|
|
612
|
+
fields: StatementFillField[];
|
|
613
|
+
}
|
|
614
|
+
|
|
525
615
|
/** Per-share earnings lines that can be declared unavailable. */
|
|
526
616
|
export type EarningsField = "basicEps" | "eps";
|
|
527
617
|
|
|
@@ -646,6 +736,8 @@ export interface FinancialStatement {
|
|
|
646
736
|
fieldSources?: Partial<Record<IncomeStatementField, IncomeStatementSource>>;
|
|
647
737
|
/** Lines unavailable for this period; another source or income basis must not fill them. */
|
|
648
738
|
unavailableFields?: StatementGapField[];
|
|
739
|
+
/** Lines filled from the listing's exchange for a year the statements source lacks. */
|
|
740
|
+
filledFrom?: StatementFill;
|
|
649
741
|
// Income Statement
|
|
650
742
|
totalRevenue?: number;
|
|
651
743
|
costOfRevenue?: number;
|
|
@@ -812,6 +904,11 @@ export interface PricePoint {
|
|
|
812
904
|
low?: number;
|
|
813
905
|
close: number;
|
|
814
906
|
volume?: number;
|
|
907
|
+
/**
|
|
908
|
+
* The trades of one venue alone, when the market's volume for the bar is unavailable: never its volume, so no sum
|
|
909
|
+
* or comparison with a day's count takes it.
|
|
910
|
+
*/
|
|
911
|
+
venueVolume?: { venue: string; volume: number };
|
|
815
912
|
/** The bar's period had not ended when it was served: its close is the latest price, and it may have no volume yet. */
|
|
816
913
|
partial?: boolean;
|
|
817
914
|
/** The bar's prices were rebuilt from shorter bars where the source left it empty or too coarse. */
|
package/src/types/headless.ts
CHANGED
|
@@ -67,8 +67,22 @@ export interface HeadlessPaneOptionDef {
|
|
|
67
67
|
* own key, or `shotState`.
|
|
68
68
|
*/
|
|
69
69
|
shot?: { reportOnly: string };
|
|
70
|
+
/**
|
|
71
|
+
* Options this one stands in for (`--from` for `--range`): typed together
|
|
72
|
+
* they are refused, since only one is read. The other's default does not
|
|
73
|
+
* count.
|
|
74
|
+
*/
|
|
75
|
+
replaces?: readonly string[];
|
|
70
76
|
/** The value's name in the catalog's flag, `--expiration <date|unix>`; the type when absent. */
|
|
71
77
|
placeholder?: string;
|
|
78
|
+
/**
|
|
79
|
+
* How many words one value is, for a value typed as a pair on the command
|
|
80
|
+
* line (`--fx-shift TRY -20`): `fn` and `shot` read the words after the flag
|
|
81
|
+
* into it. A word that ends with a comma starts another value of the list
|
|
82
|
+
* (`--fx-shift TRY -20, EUR 5`), and so does the flag typed again. One when
|
|
83
|
+
* absent.
|
|
84
|
+
*/
|
|
85
|
+
valueWords?: number;
|
|
72
86
|
/** The option in use as typed after the function, such as `--expiration 2028-01-21`; the catalog shows it as an example. */
|
|
73
87
|
example?: string;
|
|
74
88
|
/** The example runs without the function's optional argument, as an option that works only then does (`fn INS --side sell`). */
|
|
@@ -103,6 +117,8 @@ export interface HeadlessPaneContext {
|
|
|
103
117
|
/** Effective instance settings, after template creation and option normalization. */
|
|
104
118
|
settings?: Record<string, unknown>;
|
|
105
119
|
capabilities?: CapabilityInvoker;
|
|
120
|
+
/** The catalog's name for the series charted as an expression (`FRED:DFII10`); undefined for one it does not list. */
|
|
121
|
+
catalogSeriesName?: (expression: string) => string | undefined;
|
|
106
122
|
/** Locally registered broker adapters. Reports may read account data; they never submit orders. */
|
|
107
123
|
resolveBroker?: (brokerType: string) => import("./broker").BrokerAdapter | null;
|
|
108
124
|
/** Read one local portfolio without passing holdings through a remote endpoint. */
|
|
@@ -124,6 +140,11 @@ export interface HeadlessPaneContext {
|
|
|
124
140
|
* that listing instead (`BDI:TSX`), for the retry each listing offers.
|
|
125
141
|
*/
|
|
126
142
|
resolveListing?: (symbol: string, argumentWith: (key: string) => string) => Promise<{ symbol: string; exchange?: string; name?: string } | null>;
|
|
143
|
+
/**
|
|
144
|
+
* What a plugin keeps on this device only (its `ctx.resume` state, never
|
|
145
|
+
* synced), such as ALRT's log of the alerts the app fired; null when none.
|
|
146
|
+
*/
|
|
147
|
+
readDeviceState?: <T = unknown>(pluginId: string, key: string) => T | null;
|
|
127
148
|
}
|
|
128
149
|
|
|
129
150
|
export type HeadlessPaneRow = Record<string, unknown>;
|
|
@@ -141,18 +162,25 @@ export interface HeadlessPaneColumn {
|
|
|
141
162
|
textHeader?: string;
|
|
142
163
|
align?: "left" | "right" | "center";
|
|
143
164
|
width?: number;
|
|
144
|
-
/**
|
|
165
|
+
/**
|
|
166
|
+
* A narrow text table never cuts a cell by default: text wraps in its cell
|
|
167
|
+
* and columns move under their rows. False keeps the column on one line;
|
|
168
|
+
* true lets the table cut it, for free text that names nothing (a
|
|
169
|
+
* description), down to `minWidth`.
|
|
170
|
+
*/
|
|
145
171
|
shrink?: boolean;
|
|
146
|
-
/** The narrowest a text column
|
|
172
|
+
/** The narrowest a text column wraps to, or a `shrink: true` column is cut to, in a narrow text table. */
|
|
147
173
|
minWidth?: number;
|
|
148
174
|
/**
|
|
149
|
-
* When the text table
|
|
150
|
-
*
|
|
151
|
-
*
|
|
175
|
+
* When the text table does not fit a narrow width, columns move to lines
|
|
176
|
+
* under their row, each value whole: a higher priority moves sooner, then
|
|
177
|
+
* long text, then rightmost first. The first column stays.
|
|
152
178
|
*/
|
|
153
179
|
stackPriority?: number;
|
|
154
180
|
/** Once moved under the rows, only the first `stackRows` rows print the column; 0 leaves it out of a narrow table. */
|
|
155
181
|
stackRows?: number;
|
|
182
|
+
/** The text table leaves the column out when fitted to fewer terminal columns than this; exports and piped output keep it. */
|
|
183
|
+
minTableWidth?: number;
|
|
156
184
|
description?: string;
|
|
157
185
|
format?: (value: unknown, row: HeadlessPaneRow) => string;
|
|
158
186
|
/** What the text report prints when it can say more than an export should (a unit word beside a number); CSV and NDJSON keep `format`. */
|
|
@@ -161,9 +189,13 @@ export interface HeadlessPaneColumn {
|
|
|
161
189
|
* The row field naming the unit of this column's number, for a column whose
|
|
162
190
|
* rows are quoted in different units (CDX spreads in `bp`, prices in
|
|
163
191
|
* `price`). Exports write the bare number and that unit: in the header when
|
|
164
|
-
* every row shares it, otherwise in a `<header> unit` column.
|
|
192
|
+
* every row shares it, otherwise in a `<header> unit` column. A column whose
|
|
193
|
+
* unit is the row's own (`rowUnitKey`) exports the bare number under its own
|
|
194
|
+
* header, the row's `currency_or_unit` naming the unit.
|
|
165
195
|
*/
|
|
166
196
|
unitKey?: string;
|
|
197
|
+
/** With `unitKey`: always a `<header> unit` column, so the header is the same whichever rows loaded. */
|
|
198
|
+
unitColumn?: boolean;
|
|
167
199
|
/**
|
|
168
200
|
* The text report prints the value on its own lines under the row instead
|
|
169
201
|
* of in a column, for a footnote that belongs to that row; an empty value
|
|
@@ -242,6 +274,19 @@ export interface HeadlessPaneFreshness {
|
|
|
242
274
|
* so it names that month.
|
|
243
275
|
*/
|
|
244
276
|
periodicity?: "monthly" | "quarterly" | "semiannual" | "annual";
|
|
277
|
+
/**
|
|
278
|
+
* How often the oldest observation publishes, when it is dated by its period
|
|
279
|
+
* and the newest is not (a monthly statistic charted beside daily closes):
|
|
280
|
+
* the report names its period, `Fri 23 Oct 2026 (oldest Sep 2026)`.
|
|
281
|
+
*/
|
|
282
|
+
oldestPeriodicity?: "monthly" | "quarterly" | "semiannual" | "annual" | null;
|
|
283
|
+
/**
|
|
284
|
+
* When the newest observation was released, for figures dated by the period
|
|
285
|
+
* they cover (a monthly statistic's 1 Sep): a date, or the time when the
|
|
286
|
+
* publisher states it. The report is then as of that release and names both,
|
|
287
|
+
* `Sep 2026, released Tue 20 Oct`; its age and staleness stay the period's.
|
|
288
|
+
*/
|
|
289
|
+
releasedOn?: string | number | Date | null;
|
|
245
290
|
/**
|
|
246
291
|
* The newest row is a weekly or monthly bar whose period had not ended when
|
|
247
292
|
* it was served (October's bar on 16 Oct), and the last day it covers so
|
|
@@ -313,6 +358,14 @@ export interface HeadlessPaneFreshness {
|
|
|
313
358
|
sources?: Array<{ source: string; asOf: string | number | Date }>;
|
|
314
359
|
/** Say how old the oldest observation is (`oldest 4 min`): rows polled apart from one source. */
|
|
315
360
|
oldestAge?: boolean;
|
|
361
|
+
/**
|
|
362
|
+
* Say how old the data is, the newest observation's time and `oldest 4 min`, and no more: no status word.
|
|
363
|
+
* For rows priced apart from a snapshot refreshed on a schedule (CRYP's board), where `live` would call prices
|
|
364
|
+
* that are minutes old real-time and `delayed` would call a snapshot renewed every few seconds held back. A row
|
|
365
|
+
* that states its own feed (`dataSource`, `delayMinutes`) still says it, and so does a declared `status`.
|
|
366
|
+
* Says how old the oldest observation is, as `oldestAge` does.
|
|
367
|
+
*/
|
|
368
|
+
ageOnly?: boolean;
|
|
316
369
|
/**
|
|
317
370
|
* Rows quoted on several markets (a US line beside Xetra and Paris ones)
|
|
318
371
|
* date each market's session in the status line, `US, XETRA and EPA Tue 13
|
|
@@ -332,12 +385,23 @@ export interface HeadlessPaneFreshness {
|
|
|
332
385
|
asOfLabel?: string;
|
|
333
386
|
/** What the figures are, said after the status: `funding = current estimate, pays 08:00 UTC`. */
|
|
334
387
|
note?: string;
|
|
388
|
+
/**
|
|
389
|
+
* Shorter forms of `note`, longest first, that a capture's status line too
|
|
390
|
+
* narrow for the whole note says instead before it leaves the note out.
|
|
391
|
+
*/
|
|
392
|
+
noteVariants?: string[];
|
|
335
393
|
/**
|
|
336
394
|
* When the figures reach readers and when the next ones are due, said right
|
|
337
395
|
* after the as-of date: `published Fri 9 Oct, next settlement Thu 15 Oct,
|
|
338
396
|
* published Mon 26 Oct` for a settlement a regulator publishes days later.
|
|
339
397
|
*/
|
|
340
398
|
schedule?: string;
|
|
399
|
+
/**
|
|
400
|
+
* Shorter forms of `schedule`, longest first, that a status line too narrow
|
|
401
|
+
* for the whole one says instead, with the not-a-feed basis left out first:
|
|
402
|
+
* when the figures were published outlasts what kind of data they are.
|
|
403
|
+
*/
|
|
404
|
+
scheduleVariants?: string[];
|
|
341
405
|
}
|
|
342
406
|
|
|
343
407
|
interface HeadlessPaneResultBase {
|
|
@@ -395,6 +459,8 @@ export interface HeadlessRowsResult extends HeadlessPaneResultBase {
|
|
|
395
459
|
* (an ISO date or instant), for rows of several series dated apart: each
|
|
396
460
|
* exported row names them in `currency_or_unit`, `symbol_or_series` and
|
|
397
461
|
* `as_of`, as a bundle section's `rowUnitKey`, `rowSymbolKey` and `rowAsOfKey` do.
|
|
462
|
+
* A column whose `unitKey` is `rowUnitKey` exports its figures bare under its
|
|
463
|
+
* own header, the row's unit named once in `currency_or_unit`.
|
|
398
464
|
*/
|
|
399
465
|
rowUnitKey?: string;
|
|
400
466
|
rowSymbolKey?: string;
|
|
@@ -516,6 +582,10 @@ export interface HeadlessSeries {
|
|
|
516
582
|
symbol?: string;
|
|
517
583
|
/** The bar interval or observation frequency the points are at (`1d`, `1mo`, `daily`), as served, not as asked. */
|
|
518
584
|
interval?: string;
|
|
585
|
+
/** Decimal places the text report prints the latest value to (a correlation to 3); JSON and CSV keep every digit. */
|
|
586
|
+
textDecimals?: number;
|
|
587
|
+
/** Each point's `value` is its bar's close: `--csv` and `--ndjson` write Close alone, JSON keeps both. */
|
|
588
|
+
valueIsClose?: boolean;
|
|
519
589
|
points: HeadlessSeriesPoint[];
|
|
520
590
|
}
|
|
521
591
|
|
|
@@ -542,6 +612,13 @@ export interface HeadlessPaneDefinition<Shape extends HeadlessPaneShape = Headle
|
|
|
542
612
|
discovery?: {
|
|
543
613
|
id?: string;
|
|
544
614
|
aliases?: string[];
|
|
615
|
+
/**
|
|
616
|
+
* Words that are no function's code but ask for this function's data
|
|
617
|
+
* (IVOL, IV for implied volatility). They do not open it, since one word
|
|
618
|
+
* can mean several functions: `fn IVOL` answers with the functions it
|
|
619
|
+
* means and the commands that run them, and `catalog ivol` lists them first.
|
|
620
|
+
*/
|
|
621
|
+
suggestFor?: string[];
|
|
545
622
|
intents?: string[];
|
|
546
623
|
dataRequirements?: string[];
|
|
547
624
|
limitations?: string[];
|
package/src/types/instrument.ts
CHANGED
|
@@ -81,4 +81,7 @@ export interface InstrumentSearchResult {
|
|
|
81
81
|
formerIssuer?: { symbol: string; name: string; until: string; successor?: { symbol: string; name: string | null } };
|
|
82
82
|
/** A US listing that no longer trades, found by its exact symbol (TWTR). Untrusted until parsed. */
|
|
83
83
|
delisting?: ListingDelisting;
|
|
84
|
+
/** The company's home line, its common stock on its home exchange (7203 on JPX for Toyota), sent by newer
|
|
85
|
+
* cloud servers. Search lists it before the company's depositary receipts and other lines. Only `true` counts. */
|
|
86
|
+
homeListing?: boolean;
|
|
84
87
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every listing of one company, as Gloom Cloud's company universe groups
|
|
3
|
+
* them: share classes, a US receipt and its home line, dual listings. RCI on
|
|
4
|
+
* the NYSE and RCI.B on the TSX are both Rogers Communications.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/** One listing, written as the service writes it: bare on a US venue (RCI), SYMBOL:EXCHANGE elsewhere (RCI.B:TSX). */
|
|
8
|
+
interface IssuerListing {
|
|
9
|
+
symbol: string;
|
|
10
|
+
/** The canonical venue code. */
|
|
11
|
+
exchange: string;
|
|
12
|
+
name: string;
|
|
13
|
+
/** The company's primary line. */
|
|
14
|
+
primary: boolean;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface IssuerListings {
|
|
18
|
+
/** The service's key for the company (cik:733099). */
|
|
19
|
+
issuer: string;
|
|
20
|
+
name: string;
|
|
21
|
+
/**
|
|
22
|
+
* Where the company is from, ISO 3166 alpha-2: its primary line's country,
|
|
23
|
+
* or the SEC address of a foreign company whose only lines are in the US.
|
|
24
|
+
*/
|
|
25
|
+
country: string;
|
|
26
|
+
/** The primary line first. */
|
|
27
|
+
listings: IssuerListing[];
|
|
28
|
+
}
|