gloomberb 0.15.3 → 0.15.5
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 +3 -1
- package/package.json +4 -3
- package/src/api-client/askg.ts +2 -2
- package/src/api-client/cot.ts +3 -3
- package/src/api-client/crypto-markets.ts +1 -1
- package/src/api-client/data.ts +17 -0
- package/src/api-client/debt-maturities.ts +2 -2
- package/src/api-client/earnings.ts +3 -3
- package/src/api-client/equity-screener.ts +2 -2
- package/src/api-client/estimate-revisions.ts +5 -5
- package/src/api-client/index.ts +8 -10
- package/src/api-client/ipo.ts +4 -4
- package/src/api-client/market-movers.ts +1 -1
- package/src/api-client/mna.ts +2 -2
- package/src/api-client/normalizers.ts +1 -1
- package/src/api-client/paths.ts +2 -2
- package/src/api-client/plan-rules.ts +2 -2
- package/src/api-client/rates.ts +1 -1
- package/src/api-client/request.ts +1 -1
- package/src/api-client/social-mentions.ts +1 -1
- package/src/api-client/types.ts +32 -32
- package/src/api-client/yield-curves.ts +47 -0
- package/src/app/app-bootstrap-state.ts +0 -2
- package/src/app/global-shortcuts.ts +21 -0
- package/src/app/keybindings/actions.ts +9 -1
- package/src/app/keybindings/chord.ts +1 -1
- package/src/app/keybindings/index.ts +0 -14
- package/src/app/keybindings/labels.ts +1 -1
- package/src/app/keybindings/resolve.ts +1 -8
- package/src/app/pane-runtime/index.tsx +7 -14
- package/src/app/pane-runtime/layout-placement.ts +1 -30
- package/src/app/pane-runtime/plugin-bindings.ts +184 -180
- package/src/app/pane-runtime/ticker-inspector-runtime.ts +5 -5
- package/src/app/pane-runtime/ticker-open-runtime.ts +5 -5
- package/src/app/pane-template-dialog-wizard.tsx +13 -5
- package/src/app/runtime/broker-import.ts +1 -1
- package/src/app/runtime/desktop-deeplink.ts +4 -4
- package/src/app/runtime/desktop-menu.ts +4 -4
- package/src/app/runtime/layout-warmup.ts +1 -1
- package/src/app/runtime/plugin-bindings.ts +187 -188
- package/src/app/runtime/update.ts +1 -1
- package/src/app.tsx +3 -3
- package/src/brokers/signed-in/adapter.ts +1 -1
- package/src/brokers/signed-in/client.ts +1 -1
- package/src/brokers/signed-in/connect.ts +1 -1
- package/src/brokers/signed-in/sign-in.ts +1 -1
- package/src/cli/commands/plugins.ts +3 -3
- package/src/cli/desktop-pane-shot.ts +3 -3
- package/src/cli/errors.ts +3 -3
- package/src/cli/pane-functions/capabilities.ts +2 -2
- package/src/cli/pane-functions/dom.ts +1 -1
- package/src/cli/pane-functions/function-help.ts +1031 -0
- package/src/cli/pane-functions/headless.ts +1 -1
- package/src/cli/pane-functions/options.ts +1 -1
- package/src/cli/pane-functions/report.ts +1 -1
- package/src/cli/pane-functions/screenshot-evidence.ts +3 -3
- package/src/cli/pane-functions/screenshot.ts +5 -6
- package/src/cli/restore-plugins.ts +1 -1
- package/src/components/chart/composite/column-layout.ts +1 -1
- package/src/components/chart/composite/composite-chart.tsx +298 -24
- package/src/components/chart/composite/downsample.ts +1 -1
- package/src/components/chart/composite/index.ts +0 -1
- package/src/components/chart/composite/interactions.ts +2 -0
- package/src/components/chart/composite/levels.ts +154 -0
- package/src/components/chart/composite/rasterizer.ts +9 -1
- package/src/components/chart/composite/scene.ts +60 -1
- package/src/components/chart/composite/session-shading.ts +99 -0
- package/src/components/chart/composite/text-renderer.ts +5 -0
- package/src/components/chart/composite/time-axis.ts +1 -1
- package/src/components/chart/composite/tools.ts +1 -1
- package/src/components/chart/composite/types.ts +42 -3
- package/src/components/chart/composite/volume-profile-paint.ts +77 -0
- package/src/components/chart/curve/index.ts +2 -2
- package/src/components/chart/curve/model.ts +7 -4
- package/src/components/chart/native/kitty/support.ts +1 -1
- package/src/components/chart/static/index.ts +0 -2
- package/src/components/chart/static/series.ts +3 -0
- package/src/components/chart/static/trail-chart-surface.tsx +1 -1
- package/src/components/chart/surface3d/model.ts +4 -4
- package/src/components/chart/surface3d/software.ts +1 -1
- package/src/components/chart-table/axis.ts +20 -0
- package/src/components/chart-table/index.ts +4 -8
- package/src/components/chart-table/layout.ts +3 -3
- package/src/components/chart-table/selection.ts +1 -1
- package/src/components/command-bar/assist/model.ts +1 -1
- package/src/components/command-bar/commands/registry.ts +4 -1
- package/src/components/command-bar/keyboard-handlers.ts +1 -1
- package/src/components/command-bar/keyboard-shortcuts.ts +1 -1
- package/src/components/command-bar/layout-items/current-layout.ts +2 -2
- package/src/components/command-bar/layout-items/focused-pane.ts +3 -3
- package/src/components/command-bar/layout-items.ts +1 -1
- package/src/components/command-bar/list/badge.ts +1 -1
- package/src/components/command-bar/multi-select-picker.tsx +1 -1
- package/src/components/command-bar/pane-actions.ts +3 -3
- package/src/components/command-bar/pane-settings.ts +1 -1
- package/src/components/command-bar/pane-templates/workflow.ts +1 -1
- package/src/components/command-bar/panel/layout.ts +1 -1
- package/src/components/command-bar/panel/runtime.ts +1 -1
- package/src/components/command-bar/panel/types.ts +1 -1
- package/src/components/command-bar/picker-activation.ts +3 -3
- package/src/components/command-bar/routes/root/help-items.ts +66 -0
- package/src/components/command-bar/routes/root/results.ts +9 -0
- package/src/components/command-bar/routes/root/search-report.ts +1 -1
- package/src/components/command-bar/routes/root/selection.ts +7 -1
- package/src/components/command-bar/routes/ticker-search/results.ts +1 -1
- package/src/components/command-bar/surface/environment.ts +0 -4
- package/src/components/command-bar/surface/index.tsx +3 -4
- package/src/components/command-bar/workflow/collection-actions.ts +9 -9
- package/src/components/command-bar/workflow/fields.ts +35 -13
- package/src/components/command-bar/workflow/ops.ts +6 -5
- package/src/components/command-bar/workflow/route-actions.ts +2 -3
- package/src/components/command-bar/workflow/submit.ts +2 -2
- package/src/components/feedback-dialog.tsx +1 -1
- package/src/components/layout/detached-pane-shell.tsx +4 -10
- package/src/components/layout/pane/cycle-order.ts +1 -1
- package/src/components/layout/pane/footer/index.tsx +0 -3
- package/src/components/layout/pane/footer/registration.tsx +0 -12
- package/src/components/layout/pane/header.tsx +1 -1
- package/src/components/layout/pane/sidebar.tsx +0 -1
- package/src/components/layout/shell/active-drag.ts +1 -1
- package/src/components/layout/shell/chrome.ts +1 -1
- package/src/components/layout/shell/cursor-occlusion.ts +1 -1
- package/src/components/layout/shell/drag/index.ts +1 -1
- package/src/components/layout/shell/drag/overlays.tsx +1 -1
- package/src/components/layout/shell/drag/runtime.ts +1 -1
- package/src/components/layout/shell/fullscreen.ts +1 -1
- package/src/components/layout/shell/index.tsx +7 -18
- package/src/components/layout/shell/layout-state.ts +1 -1
- package/src/components/layout/shell/menu.ts +1 -1
- package/src/components/layout/shell/native/pointer-runtime.ts +1 -1
- package/src/components/layout/shell/native/surfaces.ts +1 -1
- package/src/components/layout/shell/native/window-state.ts +1 -1
- package/src/components/layout/shell/pane/actions.ts +3 -3
- package/src/components/layout/shell/pane/layers.tsx +1 -1
- package/src/components/layout/shell/pane-occlusion.ts +1 -1
- package/src/components/layout/shell/terminal-pointer-runtime.ts +1 -1
- package/src/components/layout/shell/ticker-link-menu.ts +1 -1
- package/src/components/layout/shell/visible-layout.ts +1 -1
- package/src/components/layout/shell/window-mode/index.ts +2 -9
- package/src/components/layout/shell/window-mode/overlays.tsx +1 -1
- package/src/components/layout/status-bar-groups.ts +1 -1
- package/src/components/layout/status-bar.tsx +5 -6
- package/src/components/layout/titlebar-overlay.ts +1 -1
- package/src/components/layout/window-edit/mode.ts +1 -1
- package/src/components/layout/window-edit/presentation.ts +1 -1
- package/src/components/layout/window-edit/status.tsx +1 -1
- package/src/components/layout/window-fullscreen.ts +1 -1
- package/src/components/onboarding/first-run-workspace.ts +2 -2
- package/src/components/onboarding/onboarding-wizard.tsx +1 -1
- package/src/components/onboarding/wizard-account.ts +43 -132
- package/src/components/onboarding/wizard-broker-sync.ts +1 -1
- package/src/components/onboarding/wizard-positions.ts +1 -1
- package/src/components/quote-flash.ts +2 -2
- package/src/components/ticker/badge/index.tsx +2 -2
- package/src/components/ui/data-table/stable-columns.ts +1 -1
- package/src/components/ui/data-table/types.ts +1 -1
- package/src/components/ui/external-link.tsx +6 -2
- package/src/components/ui/index.ts +0 -1
- package/src/components/ui/multi-select/dialog.tsx +18 -8
- package/src/components/ui/number-prompt-dialog.tsx +1 -1
- package/src/components/ui/split-bar.tsx +1 -1
- package/src/components/ui/table-layout.ts +1 -1
- package/src/components/ui/text-prompt-dialog.tsx +4 -1
- package/src/core/app-runtime.ts +8 -6
- package/src/core/connection-health.ts +2 -2
- package/src/core/state/app/layout-reducer.ts +0 -12
- package/src/core/state/app/layout.ts +7 -19
- package/src/core/state/app/state.ts +6 -13
- package/src/core/state/app/types.ts +10 -2
- package/src/core/state/session-persistence.ts +3 -5
- package/src/data/config/chart-settings.ts +1 -1
- package/src/data/config/home.ts +1 -1
- package/src/data/config/store/node.ts +1 -1
- package/src/data/config/store/normalize.ts +0 -3
- package/src/i18n/es.ts +11 -0
- package/src/i18n/index.ts +0 -2
- package/src/i18n/ja.ts +11 -0
- package/src/i18n/ko.ts +11 -0
- package/src/i18n/languages.ts +1 -1
- package/src/i18n/zh-cn.ts +11 -0
- package/src/i18n/zh-tw.ts +11 -0
- package/src/{plugins → layout}/launch-layout.ts +0 -1
- package/src/{plugins/pane-manager.ts → layout/pane-manager/index.ts} +8 -9
- package/src/layout-marketplace/api.ts +1 -1
- package/src/layout-marketplace/cloud.ts +3 -3
- package/src/layout-marketplace/gallery.tsx +1 -1
- package/src/layout-marketplace/geometry.ts +1 -1
- package/src/layout-marketplace/linked-sync.ts +1 -1
- package/src/layout-marketplace/linked.ts +2 -2
- package/src/layout-marketplace/model.ts +2 -2
- package/src/layout-marketplace/use-marketplace.ts +3 -3
- package/src/market-data/coordinator/index.ts +0 -1
- package/src/market-data/coordinator/quotes.ts +3 -3
- package/src/market-data/frame-scheduler.ts +1 -1
- package/src/market-data/history-session.ts +1 -1
- package/src/market-data/market/freshness.ts +64 -0
- package/src/market-data/market/trading-sessions.ts +72 -0
- package/src/market-data/realized-volatility.ts +2 -2
- package/src/market-data/snapshot-provider.ts +1 -1
- package/src/news/hooks.ts +1 -1
- package/src/news/news-model.ts +1 -1
- package/src/news/types.ts +1 -1
- package/src/plugins/auto-update-node.ts +2 -1
- package/src/plugins/auto-update.ts +2 -2
- package/src/plugins/builtin/alerts/levels.ts +60 -0
- package/src/plugins/builtin/alerts/research-rules.ts +2 -2
- package/src/plugins/builtin/analytics/index.tsx +0 -1
- package/src/plugins/builtin/analytics/pane-model.ts +1 -1
- package/src/plugins/builtin/analytics/risk-client.ts +2 -2
- package/src/plugins/builtin/analytics/risk-evidence.ts +4 -4
- package/src/plugins/builtin/analytics/risk-math.ts +3 -3
- package/src/plugins/builtin/analytics/risk-model.ts +2 -2
- package/src/plugins/builtin/analytics/risk-test-data.ts +1 -0
- package/src/plugins/builtin/analytics/sharpe-cadence.ts +1 -1
- package/src/plugins/builtin/backtest/client.ts +1 -1
- package/src/plugins/builtin/backtest/engine.ts +1 -1
- package/src/plugins/builtin/backtest/rules.ts +5 -5
- package/src/plugins/builtin/bond-calculator/math.ts +3 -3
- package/src/plugins/builtin/buildout/detail/company.tsx +1 -1
- package/src/plugins/builtin/buildout/format.ts +1 -1
- package/src/plugins/builtin/cds/client.ts +1 -1
- package/src/plugins/builtin/cds/headless.ts +1 -1
- package/src/plugins/builtin/chart-composer/catalog-inventory.ts +2 -2
- package/src/plugins/builtin/chart-composer/chart-spec-edit.ts +502 -0
- package/src/plugins/builtin/chart-composer/editor/controller.ts +6 -7
- package/src/plugins/builtin/chart-composer/editor/model.ts +2 -2
- package/src/plugins/builtin/chart-composer/follow-binding.ts +1 -1
- package/src/plugins/builtin/chart-composer/headless.ts +5 -3
- package/src/plugins/builtin/chart-composer/pane.tsx +272 -25
- package/src/plugins/builtin/chart-composer/presets.ts +7 -836
- package/src/plugins/builtin/chart-composer/price-levels.ts +80 -0
- package/src/plugins/builtin/chart-composer/quick-add.tsx +4 -4
- package/src/plugins/builtin/chart-composer/series-catalog.ts +1 -4
- package/src/plugins/builtin/chart-composer/series-expression.ts +189 -0
- package/src/{time-series → plugins/builtin/chart-composer}/session-history.ts +14 -14
- package/src/plugins/builtin/chart-composer/settings.ts +35 -14
- package/src/plugins/builtin/chart-composer/studies.ts +242 -0
- package/src/plugins/builtin/chat/channel-labels.ts +1 -1
- package/src/plugins/builtin/chat/channels.ts +1 -1
- package/src/plugins/builtin/chat/content/transcript.tsx +0 -1
- package/src/plugins/builtin/chat/layout.ts +2 -2
- package/src/plugins/builtin/chat/message/profile-popover.tsx +1 -1
- package/src/plugins/builtin/chat/pane.tsx +0 -2
- package/src/plugins/builtin/chat/profile-popover.ts +1 -1
- package/src/plugins/builtin/chat/sidebar-store.ts +2 -2
- package/src/plugins/builtin/cloud/askg/executor.ts +3 -3
- package/src/plugins/builtin/cloud/askg/manifest.ts +3 -3
- package/src/plugins/builtin/cloud/askg/model.ts +5 -5
- package/src/plugins/builtin/cloud/askg/pane.tsx +1 -1
- package/src/plugins/builtin/cloud/askg/protocol.ts +14 -14
- package/src/plugins/builtin/cloud/auth-dialog.tsx +1 -1
- package/src/plugins/builtin/cloud/auth-form.tsx +31 -94
- package/src/plugins/builtin/cloud/auth-model.ts +1 -1
- package/src/plugins/builtin/cloud/device-signin-dialog.tsx +1 -1
- package/src/plugins/builtin/cloud/email-auth-attempt.ts +173 -0
- package/src/plugins/builtin/cloud/team/capability.ts +1 -1
- package/src/plugins/builtin/cloud/team/collections.ts +1 -1
- package/src/plugins/builtin/cloud/team/command.ts +2 -2
- package/src/plugins/builtin/cloud/team/model.ts +1 -1
- package/src/plugins/builtin/cloud/team/pane-sections.tsx +1 -1
- package/src/plugins/builtin/cloud/team/pane-ui.tsx +1 -1
- package/src/plugins/builtin/cloud/team/pane.tsx +1 -1
- package/src/plugins/builtin/cloud/team/views.ts +2 -2
- package/src/plugins/builtin/cloud/thesis/exposure.ts +2 -2
- package/src/plugins/builtin/cloud/thesis/ticker-tab.tsx +0 -1
- package/src/plugins/builtin/cloud/upgrade-dialog.tsx +2 -2
- package/src/plugins/builtin/cloud-tweets/model.ts +1 -1
- package/src/{utils → plugins/builtin/cloud-tweets}/tweet-text.ts +1 -1
- package/src/plugins/builtin/composite-plugins.ts +4 -0
- package/src/plugins/builtin/congress-trades/detail.tsx +1 -1
- package/src/plugins/builtin/congress-trades/model.ts +1 -1
- package/src/plugins/builtin/congress-trades/table.tsx +1 -1
- package/src/plugins/builtin/connections/pane.tsx +1 -1
- package/src/plugins/builtin/correlation/index.tsx +2 -2
- package/src/plugins/builtin/correlation/relationship/pane.tsx +1 -1
- package/src/plugins/builtin/correlation/relationship/view-model.ts +1 -1
- package/src/plugins/builtin/cot/client.ts +1 -1
- package/src/plugins/builtin/credit-boards/client.ts +2 -2
- package/src/plugins/builtin/credit-boards/model.ts +5 -11
- package/src/plugins/builtin/credit-conditions/client.ts +1 -1
- package/src/plugins/builtin/credit-conditions/headless.ts +2 -2
- package/src/plugins/builtin/crypto-board/model.ts +4 -4
- package/src/plugins/builtin/crypto-board/pane.tsx +1 -1
- package/src/plugins/builtin/custom-view/live-quotes.ts +1 -1
- package/src/plugins/builtin/custom-view/pane.tsx +35 -23
- package/src/plugins/builtin/custom-view/view-spec.ts +9 -9
- package/src/plugins/builtin/debt-maturities/model.ts +2 -18
- package/src/plugins/builtin/debt-maturities/pane.tsx +2 -2
- package/src/plugins/builtin/earnings/board-model.ts +1 -1
- package/src/plugins/builtin/earnings/client.ts +2 -2
- package/src/plugins/builtin/earnings/data/cache.ts +1 -1
- package/src/plugins/builtin/earnings/estimate-basis.ts +2 -7
- package/src/plugins/builtin/earnings/headless.ts +3 -3
- package/src/plugins/builtin/earnings/history-model.ts +1 -1
- package/src/plugins/builtin/earnings-calls/headless.ts +1 -1
- package/src/plugins/builtin/econ/detail-view.tsx +1 -1
- package/src/plugins/builtin/econ/index.tsx +1 -1
- package/src/plugins/builtin/econ-statistics/detail.tsx +1 -1
- package/src/plugins/builtin/econ-statistics/pane.tsx +1 -1
- package/src/plugins/builtin/econ-statistics/view.ts +3 -3
- package/src/plugins/builtin/fear-greed/headless.ts +1 -1
- package/src/plugins/builtin/fear-greed/index.tsx +0 -2
- package/src/plugins/builtin/futures/index.tsx +1 -1
- package/src/plugins/builtin/futures/returns.ts +1 -1
- package/src/plugins/builtin/futures/use-front-returns.ts +1 -1
- package/src/plugins/builtin/futures-curve/model.ts +2 -2
- package/src/plugins/builtin/help/function-card.tsx +202 -0
- package/src/plugins/builtin/help/function-index.ts +193 -0
- package/src/plugins/builtin/help/index.tsx +31 -1
- package/src/plugins/builtin/help/shortcut-model.ts +1 -1
- package/src/plugins/builtin/help/table-cells.tsx +1 -1
- package/src/plugins/builtin/insider/client.ts +1 -1
- package/src/plugins/builtin/insider/model.ts +1 -1
- package/src/plugins/builtin/ipo-calendar/headless.ts +1 -1
- package/src/plugins/builtin/ipo-calendar/model.ts +1 -1
- package/src/plugins/builtin/iv-history/charts.tsx +1 -1
- package/src/plugins/builtin/iv-history/client.ts +2 -2
- package/src/plugins/builtin/iv-history/model.ts +4 -4
- package/src/plugins/builtin/jobs/client.ts +1 -1
- package/src/plugins/builtin/jobs/model.ts +3 -3
- package/src/plugins/builtin/jobs/pane.tsx +2 -2
- package/src/plugins/builtin/kelly-sizer/model.ts +1 -1
- package/src/plugins/builtin/kelly-sizer/test-support.tsx +1 -1
- package/src/plugins/builtin/kelly-sizer/types.ts +1 -1
- package/src/plugins/builtin/layout-manager/index.tsx +1 -1
- package/src/plugins/builtin/macro-resources.ts +1 -1
- package/src/plugins/builtin/market-halts/pane.tsx +5 -1
- package/src/plugins/builtin/market-heatmap/data.ts +4 -4
- package/src/plugins/builtin/market-movers/screener.ts +1 -1
- package/src/plugins/builtin/market-valuation/align.ts +1 -1
- package/src/plugins/builtin/market-valuation/chart-projection.ts +1 -1
- package/src/plugins/builtin/market-valuation/defs.ts +3 -3
- package/src/plugins/builtin/market-valuation/headless.ts +1 -1
- package/src/plugins/builtin/market-valuation/indicators.ts +4 -4
- package/src/plugins/builtin/market-valuation/series.ts +1 -1
- package/src/plugins/builtin/market-valuation/settings.ts +1 -1
- package/src/plugins/builtin/market-valuation/sources.ts +1 -1
- package/src/plugins/builtin/market-valuation/view.ts +1 -1
- package/src/plugins/builtin/market-valuation/zone-scale/model.ts +1 -1
- package/src/plugins/builtin/mna/client.ts +3 -3
- package/src/plugins/builtin/mna/detail.tsx +1 -1
- package/src/plugins/builtin/mna/model.ts +2 -7
- package/src/plugins/builtin/mna/pane.tsx +2 -2
- package/src/plugins/builtin/news/headless.ts +1 -1
- package/src/plugins/builtin/news/wire/breaking/filters.ts +5 -5
- package/src/plugins/builtin/notes/store.ts +1 -1
- package/src/plugins/builtin/options/enrichment.ts +1 -1
- package/src/plugins/builtin/options/footer.ts +2 -2
- package/src/plugins/builtin/options/live-quotes.ts +4 -4
- package/src/plugins/builtin/options/types.ts +1 -1
- package/src/plugins/builtin/options-positioning/client.ts +100 -0
- package/src/plugins/builtin/options-positioning/headless.ts +112 -0
- package/src/plugins/builtin/options-positioning/index.tsx +69 -0
- package/src/plugins/builtin/options-positioning/model.ts +158 -0
- package/src/plugins/builtin/options-positioning/pane.tsx +582 -0
- package/src/plugins/builtin/options-scenario/model.ts +3 -3
- package/src/plugins/builtin/plugin-marketplace/model.ts +1 -1
- package/src/plugins/builtin/plugin-marketplace/store.ts +1 -1
- package/src/plugins/builtin/portfolio-list/account-metrics.ts +1 -1
- package/src/plugins/builtin/portfolio-list/pane/index.tsx +0 -1
- package/src/plugins/builtin/portfolio-list/position-metrics.ts +1 -1
- package/src/plugins/builtin/portfolio-list/summary/index.tsx +1 -1
- package/src/plugins/builtin/portfolio-list/summary/live-accounts.ts +1 -1
- package/src/plugins/builtin/portfolio-list/summary/totals.ts +1 -1
- package/src/plugins/builtin/rate-path/model.ts +1 -1
- package/src/plugins/builtin/realized-vol/chart-model.ts +1 -1
- package/src/plugins/builtin/realized-vol/evidence.ts +1 -1
- package/src/plugins/builtin/realized-vol/model.ts +2 -2
- package/src/plugins/builtin/relative-rotation/model.ts +3 -3
- package/src/plugins/builtin/research/corporate-actions-pane.tsx +1 -1
- package/src/plugins/builtin/research/events-headless.ts +1 -1
- package/src/plugins/builtin/research/headless.ts +1 -1
- package/src/plugins/builtin/research-search/model.ts +1 -1
- package/src/plugins/builtin/revenue-breakdown/bars.tsx +1 -1
- package/src/plugins/builtin/revenue-breakdown/client.ts +1 -1
- package/src/plugins/builtin/revenue-breakdown/model.ts +1 -1
- package/src/plugins/builtin/revenue-breakdown/pane.tsx +1 -1
- package/src/plugins/builtin/scanner/flow-model.ts +3 -3
- package/src/plugins/builtin/scanner/flow-pane.tsx +1 -1
- package/src/plugins/builtin/scanner/headless.ts +5 -5
- package/src/plugins/builtin/scanner/hilo-model.ts +3 -3
- package/src/plugins/builtin/seasonality/client.ts +41 -0
- package/src/plugins/builtin/seasonality/headless.ts +38 -0
- package/src/plugins/builtin/seasonality/index.tsx +20 -0
- package/src/plugins/builtin/seasonality/model.ts +124 -0
- package/src/plugins/builtin/seasonality/pane.tsx +156 -0
- package/src/plugins/builtin/sec/model.ts +1 -1
- package/src/plugins/builtin/shared/cloud-upgrade.ts +2 -2
- package/src/plugins/builtin/shared/mine-tickers.ts +1 -1
- package/src/plugins/builtin/shared/series-cache.ts +2 -2
- package/src/plugins/builtin/shared/use-quote-board.ts +1 -1
- package/src/plugins/builtin/shared/volatility/options.ts +1 -1
- package/src/plugins/builtin/short-interest/model.ts +1 -1
- package/src/plugins/builtin/short-volume/model.ts +1 -1
- package/src/plugins/builtin/social-mentions/index.tsx +1 -1
- package/src/plugins/builtin/social-mentions/model.ts +1 -1
- package/src/plugins/builtin/thirteenf/model.ts +1 -1
- package/src/plugins/builtin/thirteenf/signals.ts +1 -1
- package/src/plugins/builtin/ticker-detail/data-panes/historical-prices.tsx +1 -1
- package/src/plugins/builtin/ticker-detail/financials/ratios.ts +1 -1
- package/src/plugins/builtin/ticker-detail/financials/schema.ts +0 -1
- package/src/plugins/builtin/ticker-detail/overview/components.tsx +95 -16
- package/src/plugins/builtin/ticker-detail/overview/model.ts +108 -2
- package/src/plugins/builtin/ticker-detail/overview/pane.tsx +12 -0
- package/src/plugins/builtin/ticker-detail/overview/types.ts +21 -0
- package/src/plugins/builtin/ticker-detail/overview-tab.tsx +27 -34
- package/src/plugins/builtin/ticker-detail/pane.tsx +15 -6
- package/src/plugins/builtin/ticker-detail/research-tab-navigation.tsx +14 -0
- package/src/plugins/builtin/time-sales/model.ts +1 -1
- package/src/plugins/builtin/treasury-auctions/headless.ts +2 -2
- package/src/plugins/builtin/treasury-auctions/model.ts +1 -1
- package/src/plugins/builtin/vol-surface/client.ts +4 -4
- package/src/plugins/builtin/vol-surface/live.ts +1 -1
- package/src/plugins/builtin/vol-surface/model.ts +7 -7
- package/src/plugins/builtin/vol-surface/pane.tsx +1 -1
- package/src/plugins/builtin/vol-surface/stored.ts +1 -1
- package/src/plugins/builtin/volatility/client.ts +4 -4
- package/src/plugins/builtin/volatility/headless.ts +1 -1
- package/src/plugins/builtin/volatility/model.ts +5 -5
- package/src/plugins/builtin/world-indices/headless.ts +3 -3
- package/src/plugins/builtin/yield-curve/chart.ts +61 -16
- package/src/plugins/builtin/yield-curve/curves.ts +171 -0
- package/src/plugins/builtin/yield-curve/forward.ts +102 -0
- package/src/plugins/builtin/yield-curve/headless.ts +96 -41
- package/src/plugins/builtin/yield-curve/index.tsx +331 -120
- package/src/plugins/builtin/yield-curve/world.ts +53 -0
- package/src/plugins/bundle.ts +1 -1
- package/src/plugins/catalog-browser.ts +4 -0
- package/src/plugins/catalog-manifest.ts +1 -1
- package/src/plugins/compat.ts +7 -3
- package/src/plugins/dependencies.ts +76 -0
- package/src/plugins/external-runtime.ts +1 -1
- package/src/plugins/host-link.ts +48 -10
- package/src/plugins/host-modules.ts +4 -1
- package/src/plugins/host-resolver.ts +4 -1
- package/src/plugins/installer.ts +16 -3
- package/src/plugins/loader.ts +12 -1
- package/src/plugins/ownership.ts +1 -1
- package/src/plugins/plugin-names.ts +1 -1
- package/src/plugins/registry/host-actions.ts +237 -0
- package/src/plugins/registry/index.ts +79 -146
- package/src/plugins/registry/plugin-state.ts +1 -1
- package/src/plugins/runtime/context.tsx +2 -25
- package/src/plugins/runtime/state.ts +2 -2
- package/src/public/__snapshots__/public-api.test.ts.snap +1 -0
- package/src/public/layout.ts +2 -2
- package/src/public/test-support.ts +9 -1
- package/src/react/ticker-source.ts +1 -1
- package/src/remote/controller-utils.ts +2 -3
- package/src/remote/controller.ts +14 -14
- package/src/remote/resources.ts +10 -4
- package/src/remote/schema.ts +2 -2
- package/src/remote/semantic-helpers.ts +1 -1
- package/src/remote/types.ts +3 -3
- package/src/renderers/browser/bundled-plugins.ts +31 -1
- package/src/renderers/browser/main.tsx +4 -4
- package/src/renderers/browser/ui-host.tsx +1 -1
- package/src/renderers/{electrobun/view → dom}/build-assets.ts +3 -2
- package/src/renderers/{electrobun/view → dom}/data-frames.ts +2 -2
- package/src/renderers/{electrobun/view → dom}/data-table/dom.ts +3 -3
- package/src/renderers/{electrobun/view → dom}/data-table/index.tsx +9 -9
- package/src/renderers/{electrobun/view → dom}/data-table/row.tsx +5 -5
- package/src/renderers/{electrobun/view → dom}/desktop/control-styles.ts +2 -2
- package/src/renderers/{electrobun/view → dom}/desktop/controls.tsx +16 -16
- package/src/renderers/{electrobun/view → dom}/desktop/icons.tsx +1 -1
- package/src/renderers/{electrobun/view → dom}/desktop/list-view.tsx +5 -5
- package/src/renderers/{electrobun/view → dom}/desktop/menu.tsx +1 -1
- package/src/renderers/{electrobun/view → dom}/desktop/popover.tsx +3 -3
- package/src/renderers/{electrobun/view → dom}/desktop/query-bar.tsx +1 -1
- package/src/renderers/{electrobun/view → dom}/desktop/select-field.tsx +6 -6
- package/src/renderers/{electrobun/view → dom}/dialog-host.tsx +4 -4
- package/src/renderers/{electrobun/view → dom}/dom-host-providers.tsx +2 -2
- package/src/renderers/{electrobun/view → dom}/dom-ui-host.tsx +3 -3
- package/src/renderers/{electrobun/view → dom}/host/ascii-text.ts +2 -2
- package/src/renderers/{electrobun/view → dom}/host/chart-surface.tsx +1 -1
- package/src/renderers/{electrobun/view → dom}/host/input.tsx +3 -3
- package/src/renderers/{electrobun/view → dom}/host/media-surface.tsx +1 -1
- package/src/renderers/{electrobun/view → dom}/host/mouse.ts +2 -2
- package/src/renderers/{electrobun/view → dom}/host/scroll-box.tsx +2 -2
- package/src/renderers/{electrobun/view → dom}/host/style.ts +2 -2
- package/src/renderers/{electrobun/view → dom}/host/surface-3d.tsx +4 -4
- package/src/renderers/{electrobun/view → dom}/host/tabs.tsx +2 -2
- package/src/renderers/{electrobun/view → dom}/host/text.tsx +3 -3
- package/src/renderers/{electrobun/view → dom}/input-host.tsx +3 -3
- package/src/renderers/{electrobun/view → dom}/native-renderer.ts +2 -2
- package/src/renderers/{electrobun/view → dom}/test-utils.tsx +3 -3
- package/src/renderers/{electrobun/view → dom}/toast-host.tsx +2 -2
- package/src/{theme → renderers/electrobun/bun/desktop}/app-icon.ts +5 -5
- package/src/renderers/electrobun/bun/desktop/backend-requests.ts +45 -93
- package/src/renderers/electrobun/bun/desktop/backend.ts +514 -0
- package/src/renderers/electrobun/bun/desktop/capability-bridge.ts +1 -1
- package/src/renderers/electrobun/bun/desktop/detached-windows.ts +36 -54
- package/src/renderers/electrobun/bun/desktop/host-requests.ts +62 -53
- package/src/renderers/electrobun/bun/desktop/initialization.ts +25 -78
- package/src/renderers/electrobun/bun/desktop/macos-dock-icon.ts +1 -1
- package/src/renderers/electrobun/bun/desktop/state-broadcaster.ts +1 -1
- package/src/renderers/electrobun/bun/desktop/workspace/index.ts +2 -10
- package/src/renderers/electrobun/bun/desktop/workspace/requests.ts +20 -47
- package/src/renderers/electrobun/bun/index.ts +14 -648
- package/src/renderers/electrobun/bun/window/frame.ts +1 -1
- package/src/renderers/electrobun/shared/protocol.ts +11 -11
- package/src/renderers/electrobun/view/backend-rpc.ts +1 -1
- package/src/renderers/electrobun/view/cli-pane-shot-entry.tsx +3 -4
- package/src/renderers/electrobun/view/main.tsx +3 -3
- package/src/renderers/electrobun/view/ui-host.tsx +1 -1
- package/src/renderers/opentui/host.tsx +12 -6
- package/src/renderers/opentui/test-utils.tsx +104 -3
- package/src/renderers/share/layout-view.tsx +1 -1
- package/src/renderers/share/main.tsx +1 -1
- package/src/shares/pane.ts +3 -3
- package/src/shares/payload.ts +7 -7
- package/src/{layout-marketplace/payload.ts → shares/portable-layout.ts} +3 -3
- package/src/{data → sources/gloomberb-cloud}/fred-series.ts +4 -4
- package/src/sources/gloomberb-cloud/normalizers.ts +16 -1
- package/src/sources/history-retention.ts +2 -2
- package/src/sources/provider-router/financial-routes.ts +0 -1
- package/src/sources/provider-router/financials.ts +2 -0
- package/src/sources/yahoo-finance/mappers.ts +1 -1
- package/src/state/app/bootstrap.ts +1 -1
- package/src/state/app/context/index.tsx +1 -5
- package/src/state/hooks/inline-tickers.ts +1 -1
- package/src/state/hooks/live-ticker-financials.ts +2 -2
- package/src/state/hooks/quote-streaming.ts +1 -1
- package/src/state/hooks/session-snapshot.ts +0 -2
- package/src/sync/controller.ts +1 -1
- package/src/sync/core-contributors.ts +40 -2
- package/src/sync/types.ts +4 -4
- package/src/telemetry/crash-reports-node.ts +5 -5
- package/src/test-support/broker.ts +4 -3
- package/src/test-support/plugin-runtime.ts +2 -18
- package/src/theme/font-scale.ts +2 -2
- package/src/{plugins/builtin/correlation/colors.ts → theme/heat-colors.ts} +26 -13
- package/src/time-series/alignment.ts +1 -1
- package/src/time-series/fundamentals.ts +2 -2
- package/src/time-series/hooks.ts +2 -2
- package/src/time-series/live-bars.ts +1 -1
- package/src/time-series/price-comparison.ts +1 -1
- package/src/time-series/resolve.ts +12 -4
- package/src/time-series/spec.ts +5 -1
- package/src/time-series/studies.ts +330 -2
- package/src/time-series/trader-studies.ts +188 -0
- package/src/time-series/types.ts +18 -0
- package/src/types/config.ts +4 -0
- package/src/types/desktop-deeplink.ts +1 -0
- package/src/types/desktop-window.ts +2 -1
- package/src/types/financials.ts +31 -0
- package/src/types/plugin.ts +1 -0
- package/src/ui/context-menu.tsx +1 -1
- package/src/ui/host.tsx +5 -1
- package/src/ui/toast.tsx +2 -0
- package/src/utils/back-navigation.ts +1 -1
- package/src/utils/futures-generic.ts +23 -2
- package/src/utils/http-proxy-response.ts +1 -1
- package/src/utils/sec-eps-basis.ts +1 -1
- /package/src/{plugins → layout}/pane-manager/dock-tree.ts +0 -0
- /package/src/{plugins → layout}/pane-manager/docking.ts +0 -0
- /package/src/{plugins → layout}/pane-manager/floating-actions.ts +0 -0
- /package/src/{plugins → layout}/pane-manager/floating.ts +0 -0
- /package/src/{plugins → layout}/pane-manager/gridlock-inference.ts +0 -0
- /package/src/{plugins → layout}/pane-manager/gridlock.ts +0 -0
- /package/src/{plugins → layout}/pane-manager/layout-state.ts +0 -0
- /package/src/{plugins → layout}/pane-manager/queries.ts +0 -0
- /package/src/{plugins → layout}/pane-manager/types.ts +0 -0
- /package/src/{plugins → layout}/pane-state.ts +0 -0
- /package/src/{plugins → layout}/ticker-navigation.ts +0 -0
- /package/src/plugins/{seed.ts → extracted-plugins.ts} +0 -0
- /package/src/renderers/{electrobun/view → dom}/data-table/frozen-column.ts +0 -0
- /package/src/renderers/{electrobun/view → dom}/desktop/stack-header.ts +0 -0
- /package/src/renderers/{electrobun/view → dom}/host/block-glyph-canvas.tsx +0 -0
- /package/src/renderers/{electrobun/view → dom}/host/box.tsx +0 -0
- /package/src/renderers/{electrobun/view → dom}/host/focus-scope.ts +0 -0
- /package/src/renderers/{electrobun/view → dom}/host/overflow-fade.ts +0 -0
- /package/src/renderers/{electrobun/view → dom}/host/top-surface.ts +0 -0
- /package/src/renderers/{electrobun/view → dom}/key-event.ts +0 -0
- /package/src/renderers/{electrobun/view → dom}/scrollbar-activity.ts +0 -0
- /package/src/renderers/{electrobun/view → dom}/styles.css +0 -0
- /package/src/renderers/electrobun/{view → shared}/rpc-codec.ts +0 -0
- /package/src/{utils → renderers/opentui}/terminal-input-reset.ts +0 -0
package/README.md
CHANGED
|
@@ -72,7 +72,9 @@ Press `Ctrl+P` to open the command bar, or press `` ` `` to search for a ticker.
|
|
|
72
72
|
| `DES AAPL` | Company details |
|
|
73
73
|
| `GP NVDA` | Price chart |
|
|
74
74
|
| `OVDV AAPL` | Implied-volatility surface and options term structure |
|
|
75
|
+
| `OPX SPY` / `GEX SPY` | Open interest by strike and expiry, max pain and dealer gamma ([method](docs/options-positioning.md)) |
|
|
75
76
|
| `HVG AAPL` / `HVT AAPL` | Realized volatility and volatility cones |
|
|
77
|
+
| `SEAS AAPL` | Seasonality: monthly returns by year and year overlays |
|
|
76
78
|
| `COT [code or root]` | CFTC positioning and cross-market extremes |
|
|
77
79
|
| `TOP` | Market stories |
|
|
78
80
|
| `WIRP` / `FFIP` | US rate path and conditional FOMC probabilities |
|
|
@@ -117,7 +119,7 @@ The app also counts how often you open each function, from the command bar, a me
|
|
|
117
119
|
|
|
118
120
|
Neither contains anything from your workspace: no tickers, arguments, portfolios, watchlists, layouts, settings or queries. Both carry a random install id stored in `~/.gloomberb/install-id` (in the browser, in local storage).
|
|
119
121
|
|
|
120
|
-
The usage setting also covers command bar searches. When you are signed in, a search you finish in the command bar (you pause typing or run something, never each keystroke) is stored with your account to improve search: its text, the AI suggestions it got and the result you picked. Searches are
|
|
122
|
+
The usage setting also covers command bar searches. When you are signed in, a search you finish in the command bar (you pause typing or run something, never each keystroke) is stored with your account to improve search: its text, the AI suggestions it got and the result you picked. Searches are deleted with your account.
|
|
121
123
|
|
|
122
124
|
To turn either off, run `Crash Reports` or `Usage Counts` from the command bar, or:
|
|
123
125
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gloomberb",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.5",
|
|
4
4
|
"packageManager": "bun@1.3.11",
|
|
5
5
|
"description": "Market research and portfolio tracker for the terminal",
|
|
6
6
|
"module": "src/public/index.ts",
|
|
@@ -67,11 +67,13 @@
|
|
|
67
67
|
"plugins:registry:check": "bun run scripts/check-registry-plugins.ts",
|
|
68
68
|
"web:proxy-hosts": "bun run scripts/generate-web-proxy-hosts.ts",
|
|
69
69
|
"web:proxy-hosts:check": "bun run scripts/generate-web-proxy-hosts.ts --check",
|
|
70
|
-
"typecheck": "bun run typecheck:opentui && bun run typecheck:dom && bun run typecheck:cloudflare && bun run typecheck:scripts",
|
|
70
|
+
"typecheck": "bun run typecheck:opentui && bun run typecheck:dom && bun run typecheck:cloudflare && bun run typecheck:scripts && bun run typecheck:plugin-tests",
|
|
71
71
|
"typecheck:opentui": "tsc --project tsconfig.opentui.json",
|
|
72
72
|
"typecheck:dom": "tsc --project tsconfig.dom.json",
|
|
73
73
|
"typecheck:cloudflare": "tsc --project tsconfig.cloudflare.json",
|
|
74
74
|
"typecheck:scripts": "tsc --project tsconfig.scripts.json",
|
|
75
|
+
"typecheck:plugin-tests": "tsc --project tsconfig.plugin-tests.json",
|
|
76
|
+
"knip": "bunx knip@6.39.0",
|
|
75
77
|
"test": "bun test",
|
|
76
78
|
"benchmark:tui:navigation": "bun run scripts/benchmark-tui-navigation.ts",
|
|
77
79
|
"benchmark:tui:compare": "bun run scripts/benchmark-tui-compare.ts",
|
|
@@ -108,7 +110,6 @@
|
|
|
108
110
|
"@opentui/core": "^0.3.2",
|
|
109
111
|
"@opentui/react": "^0.3.2",
|
|
110
112
|
"@tanstack/react-virtual": "^3.14.2",
|
|
111
|
-
"fast-xml-parser": "5.7.3",
|
|
112
113
|
"hls.js": "1.6.13",
|
|
113
114
|
"jimp": "1.6.1",
|
|
114
115
|
"qrcode-generator": "^2.0.4",
|
package/src/api-client/askg.ts
CHANGED
|
@@ -83,7 +83,7 @@ export interface ASKGConversationTool {
|
|
|
83
83
|
note?: string;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
interface ASKGConversationMessage {
|
|
87
87
|
seq: number;
|
|
88
88
|
role: "user" | "assistant";
|
|
89
89
|
text: string;
|
|
@@ -224,7 +224,7 @@ function isAskgEvent(value: unknown): value is ASKGSseEvent {
|
|
|
224
224
|
}
|
|
225
225
|
|
|
226
226
|
/** Parses one frame payload, ignoring keep-alives and unknown shapes. */
|
|
227
|
-
|
|
227
|
+
function parseASKGFrame(frame: SseFrame): ASKGSseEvent | null {
|
|
228
228
|
const data = frame.data.trim();
|
|
229
229
|
if (!data || data === "[DONE]") return null;
|
|
230
230
|
try {
|
package/src/api-client/cot.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type CotFamily = "legacy" | "disaggregated"
|
|
2
2
|
export type CotClass = "noncommercial" | "commercial" | "producer" | "swap" | "managed-money" | "other-reportable" | "nonreportable"
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
interface CotPosition { long: number | null; short: number | null; spreading: number | null }
|
|
4
|
+
interface CotPercentile {
|
|
5
5
|
value: number | null
|
|
6
6
|
rank: number | null
|
|
7
7
|
sampleCount: number
|
|
@@ -24,7 +24,7 @@ export interface CotClassSummary extends CotPosition {
|
|
|
24
24
|
percentile1Y: CotPercentile
|
|
25
25
|
percentile3Y: CotPercentile
|
|
26
26
|
}
|
|
27
|
-
|
|
27
|
+
interface CotMarket {
|
|
28
28
|
contractCode: string
|
|
29
29
|
marketName: string
|
|
30
30
|
exchangeCode: string
|
package/src/api-client/data.ts
CHANGED
|
@@ -6,6 +6,7 @@ import type { CryptoMarketsPayload } from "./crypto-markets";
|
|
|
6
6
|
import type { CentralBankRatesPayload } from "./central-bank-rates";
|
|
7
7
|
import type { EstimateRevisionsPayload } from "./estimate-revisions";
|
|
8
8
|
import type { MoneyMarketsPayload } from "./money-markets";
|
|
9
|
+
import type { CloudCurveId, CloudCurveView, CloudWorldCurves } from "./yield-curves";
|
|
9
10
|
import type { CdxBoardPayload, CloudCreditBoardParams, SovrBoardPayload } from "./credit-boards";
|
|
10
11
|
import type { ShortVolumePayload, ShortVolumeScope } from "./short-volume";
|
|
11
12
|
import type { SocialMentionDayPosts, SocialMentionsPayload, SocialMentionsRange } from "./social-mentions";
|
|
@@ -159,6 +160,11 @@ export class CloudDataApi {
|
|
|
159
160
|
return this.request<T>(`/cloud/iv/${path}`, init);
|
|
160
161
|
}
|
|
161
162
|
|
|
163
|
+
/** Options positioning (OPX): open interest by strike and expiry, max pain, dealer gamma. */
|
|
164
|
+
optionsPositioning<T>(path: string, init?: RequestInit) {
|
|
165
|
+
return this.request<T>(`/cloud/options/${path}`, init);
|
|
166
|
+
}
|
|
167
|
+
|
|
162
168
|
async searchInstruments(
|
|
163
169
|
query: string,
|
|
164
170
|
limit = 10,
|
|
@@ -360,6 +366,17 @@ export class CloudDataApi {
|
|
|
360
366
|
return this.request<CloudYieldPointPayload[]>("/cloud/econ/yield-curve");
|
|
361
367
|
}
|
|
362
368
|
|
|
369
|
+
/** A curve's session on or before `date` (latest without one), with look-backs and spreads. */
|
|
370
|
+
async getCloudCurve(curve: CloudCurveId, date?: string | null): Promise<CloudCurveView> {
|
|
371
|
+
const query = date ? `?${new URLSearchParams({ date })}` : "";
|
|
372
|
+
return this.request<CloudCurveView>(`/cloud/econ/curves/${encodeURIComponent(curve)}${query}`, { signal: AbortSignal.timeout(30_000) });
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
/** Each market's latest curve and the session before, each on its own date. */
|
|
376
|
+
async getCloudWorldCurves(): Promise<CloudWorldCurves> {
|
|
377
|
+
return this.request<CloudWorldCurves>("/cloud/econ/curves", { signal: AbortSignal.timeout(30_000) });
|
|
378
|
+
}
|
|
379
|
+
|
|
363
380
|
async getCloudCryptoMarkets(): Promise<CryptoMarketsPayload> {
|
|
364
381
|
return this.request<CryptoMarketsPayload>("/cloud/crypto/markets", { signal: AbortSignal.timeout(45_000) });
|
|
365
382
|
}
|
|
@@ -8,7 +8,7 @@ export interface DebtFact {
|
|
|
8
8
|
filed: string;
|
|
9
9
|
form: string;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
interface DebtBorrowingCost {
|
|
12
12
|
value: number;
|
|
13
13
|
interest: DebtFact;
|
|
14
14
|
opening: DebtFact[];
|
|
@@ -16,7 +16,7 @@ export interface DebtBorrowingCost {
|
|
|
16
16
|
periodStart: string;
|
|
17
17
|
periodEnd: string;
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
interface DebtPercentile {
|
|
20
20
|
value: number | null;
|
|
21
21
|
rank: number | null;
|
|
22
22
|
sampleCount: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Before the open, during the session, after the close. */
|
|
2
2
|
export type EarningsTiming = "bmo" | "dmh" | "amc";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
interface EarningsImpliedMove {
|
|
5
5
|
/** Straddle over spot, the move priced in either direction. */
|
|
6
6
|
move: number;
|
|
7
7
|
straddle: number;
|
|
@@ -16,7 +16,7 @@ export interface EarningsImpliedMove {
|
|
|
16
16
|
at: string;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
interface EarningsRealizedMove {
|
|
20
20
|
/** Signed: the close after the report over the close before it, minus one. */
|
|
21
21
|
move: number;
|
|
22
22
|
baseSession: string;
|
|
@@ -59,7 +59,7 @@ export interface EarningsCalendarPayload {
|
|
|
59
59
|
reports: EarningsCalendarReport[];
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
interface EarningsHistoryReport extends EarningsReport {
|
|
63
63
|
revenueActual: number | null;
|
|
64
64
|
}
|
|
65
65
|
|
|
@@ -56,7 +56,7 @@ export const CATEGORY_FIELDS = [
|
|
|
56
56
|
"industry",
|
|
57
57
|
] as const;
|
|
58
58
|
export type NumericField = (typeof NUMERIC_FIELDS)[number];
|
|
59
|
-
|
|
59
|
+
type CategoryField = (typeof CATEGORY_FIELDS)[number];
|
|
60
60
|
export type ScreenField = NumericField | CategoryField;
|
|
61
61
|
export type ScreenOperator =
|
|
62
62
|
"gte" | "lte" | "gt" | "lt" | "eq" | "between" | "in" | "present" | "missing";
|
|
@@ -110,7 +110,7 @@ export interface ScreenRow {
|
|
|
110
110
|
metrics: Record<NumericField, ScreenMetric>;
|
|
111
111
|
warnings: string[];
|
|
112
112
|
}
|
|
113
|
-
|
|
113
|
+
interface ScreenCoverage {
|
|
114
114
|
covered: number;
|
|
115
115
|
skipped: number;
|
|
116
116
|
knownByField: Record<NumericField, number>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
interface PercentileStatistics {
|
|
2
2
|
percentile: number | null;
|
|
3
3
|
rank: number | null;
|
|
4
4
|
samples: number;
|
|
@@ -6,8 +6,8 @@ export interface PercentileStatistics {
|
|
|
6
6
|
max: number | null;
|
|
7
7
|
mean: number | null;
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
type EstimateStatus = "available" | "partial" | "unavailable";
|
|
10
|
+
interface EstimateSourceState {
|
|
11
11
|
status: EstimateStatus;
|
|
12
12
|
fetchedAt: string | null;
|
|
13
13
|
stale: boolean;
|
|
@@ -24,7 +24,7 @@ export interface EstimateObservation {
|
|
|
24
24
|
relativeRange: number | null;
|
|
25
25
|
source: "yahoo" | "yahoo-eps-trend";
|
|
26
26
|
}
|
|
27
|
-
|
|
27
|
+
interface RevisionBreadth {
|
|
28
28
|
days: 7 | 30;
|
|
29
29
|
up: number | null;
|
|
30
30
|
down: number | null;
|
|
@@ -76,7 +76,7 @@ export interface EstimateSurprise {
|
|
|
76
76
|
samples: number;
|
|
77
77
|
source: string;
|
|
78
78
|
}
|
|
79
|
-
|
|
79
|
+
interface EstimateGuidance {
|
|
80
80
|
callDate: string | null;
|
|
81
81
|
fiscalYear: number;
|
|
82
82
|
fiscalQuarter: number;
|
package/src/api-client/index.ts
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
parseMarketplaceLayoutList,
|
|
5
5
|
type LayoutMarketplaceEntry,
|
|
6
6
|
type LayoutMarketplacePayload,
|
|
7
|
-
} from "../layout
|
|
7
|
+
} from "../shares/portable-layout";
|
|
8
8
|
import {
|
|
9
9
|
type CloudLayoutEntry,
|
|
10
10
|
type LayoutRequirement,
|
|
@@ -38,18 +38,14 @@ import type {
|
|
|
38
38
|
PersistedAuthUser
|
|
39
39
|
} from "./types";
|
|
40
40
|
|
|
41
|
-
export { ASKGTransportError } from "./askg";
|
|
42
|
-
export type { ASKGToolResultOutcome, ASKGTransport } from "./askg";
|
|
43
41
|
export { setCloudApiFetchTransport } from "./request";
|
|
44
42
|
export { NoteConflictError } from "./notes";
|
|
45
43
|
export { ThesisConflictError, ThesisGoalpostError } from "./theses";
|
|
46
44
|
export { TeamRevisionConflictError } from "./views";
|
|
47
|
-
export { TEAM_ACCENT_COLORS } from "./types";
|
|
48
45
|
export type * from "./types";
|
|
49
46
|
export type {
|
|
50
47
|
CommandSearchChoice,
|
|
51
48
|
CommandSearchOutcome,
|
|
52
|
-
CommandSearchReport,
|
|
53
49
|
CrashReportError,
|
|
54
50
|
CrashReportKind,
|
|
55
51
|
CrashReportSurface,
|
|
@@ -542,8 +538,9 @@ class GloomApiClient {
|
|
|
542
538
|
* Resolves a natural-language command-bar query into runnable command-bar
|
|
543
539
|
* inputs. Requires a verified session; free accounts are included. The
|
|
544
540
|
* request is bounded client-side so a stalled upstream cannot hold the
|
|
545
|
-
* command bar in its loading state. The server keeps the query
|
|
546
|
-
*
|
|
541
|
+
* command bar in its loading state. The server keeps the query and answers
|
|
542
|
+
* with a `searchId` unless told `log: false`, so an opt-out has to be sent
|
|
543
|
+
* explicitly.
|
|
547
544
|
*/
|
|
548
545
|
async assistCommand(
|
|
549
546
|
query: string,
|
|
@@ -565,7 +562,7 @@ class GloomApiClient {
|
|
|
565
562
|
body: JSON.stringify({
|
|
566
563
|
query: query.trim().slice(0, ASSIST_QUERY_MAX_LENGTH),
|
|
567
564
|
commands: commands.slice(0, ASSIST_COMMAND_LIMIT).map(capAssistArgOptions),
|
|
568
|
-
...(options?.log
|
|
565
|
+
...(options?.log !== undefined ? { log: options.log } : {}),
|
|
569
566
|
}),
|
|
570
567
|
signal: controller.signal,
|
|
571
568
|
});
|
|
@@ -700,6 +697,7 @@ class GloomApiClient {
|
|
|
700
697
|
getCloudMoneyMarkets = this.data.getCloudMoneyMarkets.bind(this.data);
|
|
701
698
|
equityScreener = this.data.equityScreener.bind(this.data);
|
|
702
699
|
impliedVolatility = this.data.impliedVolatility.bind(this.data);
|
|
700
|
+
optionsPositioning = this.data.optionsPositioning.bind(this.data);
|
|
703
701
|
getCloudDebtMaturities = this.data.getCloudDebtMaturities.bind(this.data);
|
|
704
702
|
getCloudRevenueBreakdown = this.data.getCloudRevenueBreakdown.bind(this.data);
|
|
705
703
|
getCloudMnaDeals = this.data.getCloudMnaDeals.bind(this.data);
|
|
@@ -716,6 +714,8 @@ class GloomApiClient {
|
|
|
716
714
|
getCloudCotContract = this.data.getCloudCotContract.bind(this.data);
|
|
717
715
|
getCloudTape = this.data.getCloudTape.bind(this.data);
|
|
718
716
|
getCloudYieldCurve = this.data.getCloudYieldCurve.bind(this.data);
|
|
717
|
+
getCloudCurve = this.data.getCloudCurve.bind(this.data);
|
|
718
|
+
getCloudWorldCurves = this.data.getCloudWorldCurves.bind(this.data);
|
|
719
719
|
getCloudCds = this.data.getCloudCds.bind(this.data);
|
|
720
720
|
getCloudCdsHistory = this.data.getCloudCdsHistory.bind(this.data);
|
|
721
721
|
getCloudCdxBoard = this.data.getCloudCdxBoard.bind(this.data);
|
|
@@ -748,5 +748,3 @@ class GloomApiClient {
|
|
|
748
748
|
}
|
|
749
749
|
|
|
750
750
|
export const apiClient = new GloomApiClient();
|
|
751
|
-
|
|
752
|
-
export type { FuturesCurveAsOfPayload, FuturesCurvePayload, FuturesContract } from "./futures-curve";
|
package/src/api-client/ipo.ts
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
/** Where a deal is in its life. A deal moves forward, except to postponed or withdrawn. */
|
|
7
7
|
export type IpoStatus = "filed" | "upcoming" | "priced" | "listed" | "postponed" | "withdrawn";
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
type IpoListingType = "ipo" | "spac" | "direct" | "reit" | "introduction" | "dual" | "other";
|
|
10
10
|
|
|
11
11
|
/** How sure the listing date is: a target, a date the venue has set, or the day it traded. */
|
|
12
|
-
|
|
12
|
+
type IpoDateKind = "expected" | "confirmed" | "actual";
|
|
13
13
|
|
|
14
14
|
export type IpoRegion = "us" | "apac" | "europe" | "other";
|
|
15
15
|
|
|
@@ -17,9 +17,9 @@ export type IpoRegion = "us" | "apac" | "europe" | "other";
|
|
|
17
17
|
* ISO 10383 MIC of a listing venue, such as `XNAS`, `XHKG` or `XTKS`. The
|
|
18
18
|
* server adds venues over time, so any code may arrive.
|
|
19
19
|
*/
|
|
20
|
-
|
|
20
|
+
type IpoMic = string;
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
interface IpoFirstDay {
|
|
23
23
|
/** The first session's venue-local date. */
|
|
24
24
|
session: string;
|
|
25
25
|
open: number | null;
|
|
@@ -13,7 +13,7 @@ export type CloudSessionMoversSide = "up" | "down" | "active";
|
|
|
13
13
|
export type CloudSessionPhase = "pre" | "regular" | "post" | "closed";
|
|
14
14
|
|
|
15
15
|
/** A trading halt, an 8-K, or a news story in the list's own window (see docs/quote-board-data.md). */
|
|
16
|
-
|
|
16
|
+
type CloudSessionCatalyst = "halt" | "filing" | "news";
|
|
17
17
|
|
|
18
18
|
export interface CloudSessionMoverItem {
|
|
19
19
|
rank: number;
|
package/src/api-client/mna.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
/** Reported talks, a signed or launched deal, or its end. */
|
|
8
8
|
export type MnaStatus = "talks" | "pending" | "completed" | "terminated";
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
type MnaConsideration = "cash" | "stock" | "mixed" | "undisclosed";
|
|
11
11
|
|
|
12
12
|
export interface MnaParty {
|
|
13
13
|
name: string;
|
|
@@ -88,7 +88,7 @@ export interface MnaDealsPayload {
|
|
|
88
88
|
asOf: string;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
|
|
91
|
+
type MnaEventKind =
|
|
92
92
|
| "talks"
|
|
93
93
|
| "announced"
|
|
94
94
|
| "amended"
|
|
@@ -38,7 +38,7 @@ export function normalizeSavedSearchResponse(
|
|
|
38
38
|
* join it into search text, and hand it to a badge, and a null reaches each of
|
|
39
39
|
* those as an empty chip, the literal "null", or a crash.
|
|
40
40
|
*/
|
|
41
|
-
|
|
41
|
+
function normalizeSearchHit(hit: CloudSearchHit): CloudSearchHit {
|
|
42
42
|
return hit.ticker ? hit : { ...hit, ticker: "" };
|
|
43
43
|
}
|
|
44
44
|
|
package/src/api-client/paths.ts
CHANGED
|
@@ -35,7 +35,7 @@ export type CloudCdsHistoryParams = {
|
|
|
35
35
|
days?: number;
|
|
36
36
|
};
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
type CloudCongressChamber = "all" | "house" | "senate";
|
|
39
39
|
|
|
40
40
|
export type CloudCongressHouseParams = {
|
|
41
41
|
/** Which feed to read; House when omitted. */
|
|
@@ -104,7 +104,7 @@ const CRYPTO_QUOTE = /[-/](USD|USDT|USDC|EUR|GBP|BTC)$/;
|
|
|
104
104
|
|
|
105
105
|
export type CloudLogoKind = "ticker" | "crypto";
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
function normalizeCloudLogoSymbol(
|
|
108
108
|
kind: CloudLogoKind,
|
|
109
109
|
symbol: string,
|
|
110
110
|
): string | null {
|
|
@@ -41,7 +41,7 @@ export function resolveTrialEndsAt(user: PlanAccessUser | null | undefined): Dat
|
|
|
41
41
|
return Number.isNaN(endsAt.getTime()) ? null : endsAt;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
function isTrialActive(user: PlanAccessUser | null | undefined, now = Date.now()): boolean {
|
|
45
45
|
if (user?.emailVerified !== true) return false;
|
|
46
46
|
// Card-backed trials run as plan "pro" with a trialing subscription; the server
|
|
47
47
|
// only sends `trialEndsAt` while the subscription is actually in its trial.
|
|
@@ -49,7 +49,7 @@ export function isTrialActive(user: PlanAccessUser | null | undefined, now = Dat
|
|
|
49
49
|
return !!endsAt && endsAt.getTime() > now;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
function trialDaysLeft(user: PlanAccessUser | null | undefined, now = Date.now()): number {
|
|
53
53
|
const endsAt = resolveTrialEndsAt(user);
|
|
54
54
|
if (!endsAt) return 0;
|
|
55
55
|
const remainingMs = endsAt.getTime() - now;
|
package/src/api-client/rates.ts
CHANGED
|
@@ -66,7 +66,7 @@ export function setCloudApiFetchTransport(
|
|
|
66
66
|
* The fetch to use for a response that must be read while it arrives, or null
|
|
67
67
|
* when the installed transport buffers whole responses.
|
|
68
68
|
*/
|
|
69
|
-
|
|
69
|
+
function getCloudApiStreamFetch(): CloudApiStreamFetch | null {
|
|
70
70
|
if (cloudApiTransportInstalled) {
|
|
71
71
|
if (cloudApiStreamFetch) return cloudApiStreamFetch;
|
|
72
72
|
// A transport that declares streaming returns a real Response.
|