gloomberb 0.16.2 → 0.16.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/package.json +4 -1
- package/src/api-client/askg.ts +43 -0
- package/src/api-client/auth.ts +15 -0
- package/src/api-client/beneficial-owners.ts +4 -0
- package/src/api-client/chat.ts +19 -0
- package/src/api-client/company-kpis.ts +14 -2
- package/src/api-client/data.ts +34 -16
- package/src/api-client/index.ts +12 -0
- package/src/api-client/normalizers.ts +27 -0
- package/src/api-client/paths.ts +88 -23
- package/src/api-client/request.ts +2 -1
- package/src/api-client/research-activity.ts +31 -0
- package/src/api-client/socket.ts +39 -8
- package/src/api-client/types.ts +57 -1
- package/src/api-client/upgrade-experiment.ts +90 -0
- package/src/app/global-shortcuts.ts +11 -1
- package/src/app/keybindings/actions.ts +10 -0
- package/src/app/pane-runtime/index.tsx +8 -0
- package/src/app/pane-runtime/pane-template-runtime.ts +5 -0
- package/src/app/pane-runtime/plugin-bindings.ts +65 -25
- package/src/app/pane-runtime/ticker-inspector-runtime.ts +12 -0
- package/src/app/pane-runtime/ticker-open-runtime.ts +18 -1
- package/src/app/runtime/desktop-deeplink.ts +5 -0
- package/src/app/star-prompt/model.ts +98 -0
- package/src/app/star-prompt/runtime.ts +41 -0
- package/src/app/star-prompt/status-line.tsx +190 -0
- package/src/app.tsx +13 -7
- package/src/architecture/core-builtin-allowlist.json +70 -0
- package/src/brokers/account-cache.ts +45 -0
- package/src/brokers/signed-in/adapter.ts +33 -2
- package/src/brokers/signed-in/client.ts +10 -0
- package/src/brokers/signed-in/sign-in-dialog.tsx +23 -9
- package/src/brokers/signed-in/sign-in.ts +62 -5
- package/src/capabilities/registry.ts +8 -1
- package/src/capabilities/types.ts +2 -0
- package/src/cli/command-options.ts +74 -0
- package/src/cli/commands/command-utils.ts +29 -0
- package/src/cli/commands/crypto-hints.ts +12 -4
- package/src/cli/commands/market.ts +524 -148
- package/src/cli/commands/options-chain.ts +172 -0
- package/src/cli/commands/options-leaps.ts +422 -0
- package/src/cli/commands/overview.ts +223 -42
- package/src/cli/commands/search.ts +29 -8
- package/src/cli/commands/system.ts +99 -19
- package/src/cli/commands/themes.ts +64 -0
- package/src/cli/commands/ticker.ts +200 -73
- package/src/cli/desktop-pane-shot.ts +100 -16
- package/src/cli/errors.ts +25 -2
- package/src/cli/freshness.ts +7 -4
- package/src/cli/fx-pair.ts +57 -0
- package/src/cli/help.ts +40 -7
- package/src/cli/history-rows.ts +187 -15
- package/src/cli/index-roots.ts +51 -0
- package/src/cli/index.ts +21 -13
- package/src/cli/listing-arg.ts +211 -3
- package/src/cli/not-a-ticker.ts +37 -0
- package/src/cli/options.ts +55 -7
- package/src/cli/pane-functions/capabilities.ts +13 -2
- package/src/cli/pane-functions/catalog.ts +13 -2
- package/src/cli/pane-functions/data.ts +36 -5
- package/src/cli/pane-functions/dom.ts +89 -28
- package/src/cli/pane-functions/freshness.ts +205 -26
- package/src/cli/pane-functions/function-help.ts +71 -24
- package/src/cli/pane-functions/headless.ts +168 -35
- package/src/cli/pane-functions/index.ts +12 -2
- package/src/cli/pane-functions/market-session.ts +133 -0
- package/src/cli/pane-functions/options.ts +15 -4
- package/src/cli/pane-functions/report-notices.ts +63 -0
- package/src/cli/pane-functions/report.ts +12 -1
- package/src/cli/pane-functions/resolver.ts +32 -8
- package/src/cli/pane-functions/screenshot-evidence.ts +2 -0
- package/src/cli/pane-functions/screenshot.ts +109 -23
- package/src/cli/registry.ts +8 -4
- package/src/cli/report-tables.ts +460 -0
- package/src/cli/result.ts +63 -16
- package/src/cli/row-window.ts +76 -0
- package/src/cli/scroll-truncation.ts +34 -0
- package/src/components/chart/composite/composite-chart.tsx +43 -4
- package/src/components/chart/composite/legend.tsx +39 -6
- package/src/components/chart/composite/rasterizer.ts +64 -4
- package/src/components/chart/composite/series-cues.ts +71 -0
- package/src/components/chart/composite/text-renderer.ts +16 -8
- package/src/components/chart/composite/types.ts +3 -0
- package/src/components/command-bar/commands/direct/index.ts +9 -1
- package/src/components/command-bar/commands/plugin/items.ts +3 -1
- package/src/components/command-bar/commands/registry.ts +7 -0
- package/src/components/command-bar/layout-items/focused-pane.ts +38 -0
- package/src/components/command-bar/pane-templates/workflow.ts +5 -0
- package/src/components/command-bar/routes/root/command-items.ts +2 -0
- package/src/components/command-bar/routes/root/plugin-turn-on.ts +92 -0
- package/src/components/command-bar/routes/root/results.ts +40 -10
- package/src/components/command-bar/routes/root/runtime.ts +8 -0
- package/src/components/command-bar/routes/root/search-providers.ts +97 -14
- package/src/components/command-bar/surface/index.tsx +18 -4
- package/src/components/command-bar/theme-picker.tsx +48 -13
- package/src/components/command-bar/workflow/ops.ts +5 -3
- package/src/components/data-table/export.ts +6 -51
- package/src/components/data-table/view.tsx +31 -10
- package/src/components/layout/floating-pane.tsx +6 -2
- package/src/components/layout/market-summary.ts +23 -9
- package/src/components/layout/pane/content.tsx +46 -29
- package/src/components/layout/pane/cycle-order.ts +2 -11
- package/src/components/layout/pane/header.tsx +2 -1
- package/src/components/layout/pane/title.ts +1 -1
- package/src/components/layout/presentation.ts +22 -0
- package/src/components/layout/shell/active-drag.ts +67 -35
- package/src/components/layout/shell/cursor-occlusion.ts +6 -5
- package/src/components/layout/shell/drag/index.ts +16 -7
- package/src/components/layout/shell/drag/live.ts +193 -0
- package/src/components/layout/shell/drag/overlays.tsx +179 -35
- package/src/components/layout/shell/drag/runtime.ts +62 -50
- package/src/components/layout/shell/drag/slide.ts +10 -0
- package/src/components/layout/shell/index.tsx +84 -57
- package/src/components/layout/shell/layout-state.ts +5 -11
- package/src/components/layout/shell/menu.ts +28 -1
- package/src/components/layout/shell/native/pointer-runtime.ts +13 -13
- package/src/components/layout/shell/native/surfaces.ts +30 -14
- package/src/components/layout/shell/pane/actions.ts +2 -1
- package/src/components/layout/shell/pane/layers.tsx +461 -180
- package/src/components/layout/shell/pane/management-shortcuts.ts +5 -0
- package/src/components/layout/shell/pane/new-layout.ts +116 -0
- package/src/components/layout/shell/shortcuts.ts +5 -2
- package/src/components/layout/shell/terminal-pointer-runtime.ts +18 -18
- package/src/components/layout/shell/visible-layout.ts +44 -1
- package/src/components/layout/shell/window-mode/overlays.tsx +12 -4
- package/src/components/layout/status-bar.tsx +4 -1
- package/src/components/markdown-text.tsx +9 -5
- package/src/components/metric-treemap/heat-surface.tsx +27 -8
- package/src/components/metric-treemap/heat-tiles.ts +48 -17
- package/src/components/onboarding/onboarding-frame.tsx +33 -10
- package/src/components/onboarding/onboarding-wizard.tsx +49 -40
- package/src/components/onboarding/portfolio-step/positions-panel.tsx +5 -2
- package/src/components/onboarding/pro-step-layout.ts +86 -0
- package/src/components/onboarding/use-onboarding-upgrade.ts +6 -2
- package/src/components/ui/button.tsx +10 -0
- package/src/components/ui/data-table/index.tsx +38 -0
- package/src/components/ui/data-table/types.ts +8 -1
- package/src/components/ui/data-table/visible-range.ts +2 -0
- package/src/components/ui/icon.tsx +11 -2
- package/src/components/ui/index.ts +1 -1
- package/src/core/connection-health.ts +1 -1
- package/src/core/state/app/layout-reducer.ts +89 -3
- package/src/core/state/app/state.ts +8 -5
- package/src/core/state/app/types.ts +13 -2
- package/src/data/config/layout.ts +55 -21
- package/src/data/config/store/fold-panes.ts +149 -0
- package/src/data/config/store/migrations.ts +7 -0
- package/src/data/config/store/node.ts +27 -6
- package/src/data/config/store/normalize.ts +37 -3
- package/src/data/json-persistence.ts +17 -3
- package/src/data/json-storage.ts +2 -0
- package/src/data/memory-resource-store.ts +46 -0
- package/src/i18n/es.ts +14 -1
- package/src/i18n/ja.ts +14 -1
- package/src/i18n/ko.ts +14 -1
- package/src/i18n/zh-cn.ts +14 -1
- package/src/i18n/zh-tw.ts +14 -1
- package/src/layout/desks.ts +1 -2
- package/src/layout/pane-layout-move.ts +264 -0
- package/src/layout/pane-manager/hidden-panes.ts +160 -0
- package/src/layout/pane-manager/index.ts +1 -0
- package/src/market-data/coordinator/entries.ts +7 -1
- package/src/market-data/coordinator/quotes.ts +2 -2
- package/src/market-data/market/freshness.ts +156 -11
- package/src/market-data/market/status.ts +40 -0
- package/src/market-data/options-alternatives.ts +69 -0
- package/src/market-data/quotes/contributions.ts +19 -2
- package/src/market-data/quotes/freshness.ts +5 -0
- package/src/market-data/quotes/metadata.ts +16 -0
- package/src/market-data/quotes/screener-live-quotes.ts +56 -5
- package/src/plugins/builtin/account-management/keyboard.ts +3 -0
- package/src/plugins/builtin/account-management/model.ts +1 -0
- package/src/plugins/builtin/account-management/navigation.ts +1 -1
- package/src/plugins/builtin/account-management/pane.tsx +31 -4
- package/src/plugins/builtin/alerts/quotes.ts +3 -0
- package/src/plugins/builtin/analytics/pane-model.ts +10 -6
- package/src/plugins/builtin/analytics/risk-headless.ts +3 -1
- package/src/plugins/builtin/analytics/risk-model.ts +37 -8
- package/src/plugins/builtin/analytics/risk-pane.tsx +8 -4
- package/src/plugins/builtin/attention/pane.tsx +1 -1
- package/src/plugins/builtin/backtest/pane.tsx +1 -1
- package/src/plugins/builtin/broker-manager/detail.tsx +4 -0
- package/src/plugins/builtin/broker-manager/index.tsx +7 -3
- package/src/plugins/builtin/broker-manager/model.ts +8 -0
- package/src/plugins/builtin/broker-manager/pane-actions.tsx +8 -2
- package/src/plugins/builtin/broker-manager/sign-in-end.ts +82 -0
- package/src/plugins/builtin/broker-manager/table.ts +5 -0
- package/src/plugins/builtin/builtin-plugin-meta.ts +121 -11
- package/src/plugins/builtin/catalysts/detail.tsx +1 -1
- package/src/plugins/builtin/chart-composer/pane.tsx +1 -1
- package/src/plugins/builtin/chat/channels.ts +34 -36
- package/src/plugins/builtin/chat/command-bar.ts +138 -0
- package/src/plugins/builtin/chat/composer-commands.ts +21 -1
- package/src/plugins/builtin/chat/content/composer-runtime.ts +11 -1
- package/src/plugins/builtin/chat/content/footer.tsx +5 -3
- package/src/plugins/builtin/chat/content/index.tsx +21 -1
- package/src/plugins/builtin/chat/content/mentions.ts +2 -1
- package/src/plugins/builtin/chat/content/user-map.ts +3 -1
- package/src/plugins/builtin/chat/controller/index.ts +48 -0
- package/src/plugins/builtin/chat/conversations.ts +256 -0
- package/src/plugins/builtin/chat/discord-command.ts +91 -0
- package/src/plugins/builtin/chat/edit-window.ts +12 -6
- package/src/plugins/builtin/chat/ghost-user.ts +14 -0
- package/src/plugins/builtin/chat/index.tsx +40 -2
- package/src/plugins/builtin/chat/layout.ts +2 -0
- package/src/plugins/builtin/chat/message/desktop.tsx +2 -1
- package/src/plugins/builtin/chat/message/header.tsx +24 -15
- package/src/plugins/builtin/chat/message/profile-popover.tsx +2 -1
- package/src/plugins/builtin/chat/message/render-state.ts +3 -0
- package/src/plugins/builtin/chat/pane-requests.ts +60 -0
- package/src/plugins/builtin/chat/pane-state.ts +32 -2
- package/src/plugins/builtin/chat/pane.tsx +8 -0
- package/src/plugins/builtin/cloud/askg/controller.ts +112 -4
- package/src/plugins/builtin/cloud/askg/conversation-store.ts +21 -0
- package/src/plugins/builtin/cloud/askg/manifest.ts +1 -0
- package/src/plugins/builtin/cloud/askg/model.ts +129 -70
- package/src/plugins/builtin/cloud/askg/pane.tsx +772 -377
- package/src/plugins/builtin/cloud/askg/protocol.ts +40 -2
- package/src/plugins/builtin/cloud/askg/tool-display.ts +437 -0
- package/src/plugins/builtin/cloud/askg/tool-timeline.tsx +403 -0
- package/src/plugins/builtin/cloud/company-picker.tsx +1 -9
- package/src/plugins/builtin/cloud/mcp-connect/command.ts +24 -0
- package/src/plugins/builtin/cloud/mcp-connect/dialog.tsx +360 -0
- package/src/plugins/builtin/cloud/mcp-connect/model.ts +135 -0
- package/src/plugins/builtin/cloud/mcp-connect/sections.ts +62 -0
- package/src/plugins/builtin/cloud/plugin.tsx +36 -1
- package/src/plugins/builtin/cloud/starter-symbols.ts +8 -0
- package/src/plugins/builtin/cloud/terminal-relay/acm-tab.tsx +89 -0
- package/src/plugins/builtin/cloud/terminal-relay/client.ts +97 -0
- package/src/plugins/builtin/cloud/terminal-relay/connect-section.tsx +57 -0
- package/src/plugins/builtin/cloud/terminal-relay/engine.ts +666 -0
- package/src/plugins/builtin/cloud/terminal-relay/grants.ts +137 -0
- package/src/plugins/builtin/cloud/terminal-relay/host.tsx +81 -0
- package/src/plugins/builtin/cloud/terminal-relay/indicator.tsx +82 -0
- package/src/plugins/builtin/cloud/terminal-relay/manifest.ts +234 -0
- package/src/plugins/builtin/cloud/terminal-relay/policy.ts +153 -0
- package/src/plugins/builtin/cloud/terminal-relay/prompts.tsx +168 -0
- package/src/plugins/builtin/cloud/terminal-relay/redact.ts +73 -0
- package/src/plugins/builtin/cloud/terminal-relay/summary.ts +62 -0
- package/src/plugins/builtin/cloud/upgrade-dialog.tsx +26 -2
- package/src/plugins/builtin/cloud/upgrade-personalization.ts +57 -0
- package/src/plugins/builtin/cloud/upgrade-tickers.ts +124 -0
- package/src/plugins/builtin/comment-letters/client.ts +1 -3
- package/src/plugins/builtin/company-attention/pane.tsx +1 -1
- package/src/plugins/builtin/company-kpis/client.ts +23 -8
- package/src/plugins/builtin/company-kpis/headless.ts +3 -1
- package/src/plugins/builtin/company-kpis/pane.tsx +15 -7
- package/src/plugins/builtin/company-kpis/screenshot-evidence.ts +10 -3
- package/src/plugins/builtin/composite-plugins.ts +107 -64
- package/src/plugins/builtin/credit-boards/cdx-pane.tsx +4 -4
- package/src/plugins/builtin/credit-boards/index.tsx +21 -21
- package/src/plugins/builtin/credit-boards/model.ts +0 -1
- package/src/plugins/builtin/credit-boards/pane.tsx +30 -0
- package/src/plugins/builtin/credit-boards/sovr-pane.tsx +4 -4
- package/src/plugins/builtin/debt-maturities/client.ts +37 -9
- package/src/plugins/builtin/debt-maturities/headless.ts +3 -1
- package/src/plugins/builtin/debt-maturities/pane.tsx +5 -4
- package/src/plugins/builtin/dividend-yield/index.tsx +1 -1
- package/src/plugins/builtin/dividend-yield/pane.tsx +1 -1
- package/src/plugins/builtin/earnings-calls/data.ts +28 -7
- package/src/plugins/builtin/earnings-calls/headless.ts +3 -2
- package/src/plugins/builtin/earnings-calls/pane.tsx +10 -5
- package/src/plugins/builtin/econ/calendar-model.ts +42 -17
- package/src/plugins/builtin/econ/detail-view.tsx +2 -2
- package/src/plugins/builtin/econ/index.tsx +68 -22
- package/src/plugins/builtin/econ-statistics/headless.ts +12 -2
- package/src/plugins/builtin/econ-statistics/pane.tsx +1 -1
- package/src/plugins/builtin/econ-statistics/view.ts +17 -0
- package/src/plugins/builtin/executives/data.ts +17 -6
- package/src/plugins/builtin/executives/pane.tsx +16 -7
- package/src/plugins/builtin/filing-events/pane.tsx +22 -5
- package/src/plugins/builtin/fx-matrix/freshness.ts +65 -0
- package/src/plugins/builtin/fx-matrix/index.tsx +22 -1
- package/src/plugins/builtin/fx-matrix/pairs.ts +1 -1
- package/src/plugins/builtin/fx-matrix/settings.ts +42 -2
- package/src/plugins/builtin/gpu/headless.ts +9 -3
- package/src/plugins/builtin/gpu/model.ts +14 -5
- package/src/plugins/builtin/help/index.tsx +1 -0
- package/src/plugins/builtin/holders/beneficial-client.ts +29 -7
- package/src/plugins/builtin/holders/beneficial-view.tsx +7 -3
- package/src/plugins/builtin/holders/client.ts +3 -6
- package/src/plugins/builtin/holders/format.ts +31 -1
- package/src/plugins/builtin/holders/headless.ts +32 -6
- package/src/plugins/builtin/holders/pane.tsx +25 -13
- package/src/plugins/builtin/holders/report-header.ts +46 -5
- package/src/plugins/builtin/insider/index.tsx +4 -4
- package/src/plugins/builtin/iv-history/charts.tsx +21 -7
- package/src/plugins/builtin/iv-history/client.ts +12 -2
- package/src/plugins/builtin/iv-history/format.ts +33 -2
- package/src/plugins/builtin/iv-history/headless.ts +22 -10
- package/src/plugins/builtin/iv-history/index.tsx +3 -3
- package/src/plugins/builtin/iv-history/model.ts +61 -13
- package/src/plugins/builtin/iv-history/pane.tsx +11 -3
- package/src/plugins/builtin/iv-history/screen-pane.tsx +42 -18
- package/src/plugins/builtin/jobs/pane.tsx +1 -1
- package/src/plugins/builtin/kelly-sizer/headless.ts +149 -0
- package/src/plugins/builtin/kelly-sizer/history.ts +80 -0
- package/src/plugins/builtin/kelly-sizer/index.tsx +2 -0
- package/src/plugins/builtin/kelly-sizer/pane.tsx +121 -45
- package/src/plugins/builtin/kelly-sizer/portfolio.ts +25 -0
- package/src/plugins/builtin/kelly-sizer/sections.tsx +14 -0
- package/src/plugins/builtin/kelly-sizer/types.ts +9 -1
- package/src/plugins/builtin/layout-manager/index.tsx +9 -1
- package/src/plugins/builtin/macro-day/client.ts +24 -0
- package/src/plugins/builtin/macro-day/headless.ts +11 -8
- package/src/plugins/builtin/macro-day/index.tsx +3 -0
- package/src/plugins/builtin/macro-day/model.ts +11 -6
- package/src/plugins/builtin/macro-day/pane.tsx +12 -8
- package/src/plugins/builtin/macro-day/release-table.ts +40 -0
- package/src/plugins/builtin/macro-day/releases.ts +62 -44
- package/src/plugins/builtin/market-heatmap/data.ts +25 -5
- package/src/plugins/builtin/market-heatmap/evidence.ts +90 -0
- package/src/plugins/builtin/market-heatmap/index.tsx +144 -63
- package/src/plugins/builtin/market-heatmap/model.ts +94 -3
- package/src/plugins/builtin/market-heatmap/portfolio.ts +12 -2
- package/src/plugins/builtin/market-movers/headless.ts +31 -4
- package/src/plugins/builtin/market-movers/index.tsx +8 -1
- package/src/plugins/builtin/market-movers/model.ts +71 -17
- package/src/plugins/builtin/market-movers/table.ts +50 -23
- package/src/plugins/builtin/members/pane.tsx +10 -0
- package/src/plugins/builtin/news/headless.ts +9 -2
- package/src/plugins/builtin/news/wire/news/footer.ts +10 -0
- package/src/plugins/builtin/openfda/client.ts +1 -1
- package/src/plugins/builtin/options/carry.ts +95 -0
- package/src/plugins/builtin/options/index.tsx +58 -5
- package/src/plugins/builtin/options/strike-window.ts +183 -0
- package/src/plugins/builtin/options/table.ts +55 -3
- package/src/plugins/builtin/options/types.ts +8 -1
- package/src/plugins/builtin/options/view.tsx +161 -12
- package/src/plugins/builtin/options-positioning/headless.ts +4 -2
- package/src/plugins/builtin/options-scenario/charts.tsx +2 -2
- package/src/plugins/builtin/options-scenario/client.ts +73 -17
- package/src/plugins/builtin/options-scenario/headless.ts +71 -24
- package/src/plugins/builtin/options-scenario/hedge.ts +284 -0
- package/src/plugins/builtin/options-scenario/index.tsx +9 -2
- package/src/plugins/builtin/options-scenario/model.ts +33 -0
- package/src/plugins/builtin/options-scenario/pane.tsx +40 -16
- package/src/plugins/builtin/pe-band/model.ts +2 -2
- package/src/plugins/builtin/pe-band/report-dates.ts +11 -7
- package/src/plugins/builtin/perps/equity-row.tsx +8 -5
- package/src/plugins/builtin/perps/model.ts +16 -5
- package/src/plugins/builtin/perps/pane.tsx +1 -1
- package/src/plugins/builtin/plugin-marketplace/model.ts +64 -21
- package/src/plugins/builtin/plugin-marketplace/packs.ts +118 -0
- package/src/plugins/builtin/plugin-marketplace/pane.tsx +344 -32
- package/src/plugins/builtin/plugin-marketplace/store.ts +7 -1
- package/src/plugins/builtin/plugin-module.ts +87 -4
- package/src/plugins/builtin/portfolio-list/account-metrics.ts +16 -1
- package/src/plugins/builtin/portfolio-list/allocation.ts +3 -0
- package/src/plugins/builtin/portfolio-list/cached-account.ts +18 -9
- package/src/plugins/builtin/portfolio-list/cli/portfolio-command.ts +71 -36
- package/src/plugins/builtin/portfolio-list/cli/render.ts +89 -18
- package/src/plugins/builtin/portfolio-list/cli/shared.ts +2 -16
- package/src/plugins/builtin/portfolio-list/headless.ts +40 -7
- package/src/plugins/builtin/portfolio-list/pane/index.tsx +7 -4
- package/src/plugins/builtin/portfolio-list/summary/index.tsx +22 -4
- package/src/plugins/builtin/portfolio-list/summary/live-accounts.ts +11 -1
- package/src/plugins/builtin/realized-vol/headless.ts +3 -0
- package/src/plugins/builtin/realized-vol/pane.tsx +1 -1
- package/src/plugins/builtin/research/corporate-actions-pane.tsx +2 -2
- package/src/plugins/builtin/research/equity-diagnostic-pane.tsx +1 -1
- package/src/plugins/builtin/research/relative-valuation-model.ts +7 -3
- package/src/plugins/builtin/revenue-breakdown/client.ts +13 -6
- package/src/plugins/builtin/revenue-breakdown/headless.ts +4 -1
- package/src/plugins/builtin/revenue-breakdown/pane.tsx +7 -4
- package/src/plugins/builtin/reverse-dcf/headless.ts +5 -1
- package/src/plugins/builtin/reverse-dcf/model.ts +2 -1
- package/src/plugins/builtin/reverse-dcf/pane.tsx +1 -1
- package/src/plugins/builtin/risk-factors/data.ts +23 -9
- package/src/plugins/builtin/risk-factors/headless.ts +5 -2
- package/src/plugins/builtin/risk-factors/pane.tsx +6 -5
- package/src/plugins/builtin/seasonality/pane.tsx +1 -1
- package/src/plugins/builtin/sec/index.tsx +5 -5
- package/src/plugins/builtin/sectors/client.ts +10 -2
- package/src/plugins/builtin/sectors/headless.ts +35 -6
- package/src/plugins/builtin/sectors/index.tsx +18 -1
- package/src/plugins/builtin/sectors/sector-model.ts +150 -41
- package/src/plugins/builtin/shared/command-tab.ts +51 -0
- package/src/plugins/builtin/shared/headless-market-data.ts +33 -1
- package/src/plugins/builtin/shared/members-menu.tsx +260 -0
- package/src/plugins/builtin/shared/report-freshness.ts +50 -2
- package/src/plugins/builtin/shared/ticker-request.ts +25 -1
- package/src/plugins/builtin/shared/use-quote-board.ts +25 -5
- package/src/plugins/builtin/shared/volatility/options.ts +1 -46
- package/src/plugins/builtin/short-interest/index.tsx +19 -4
- package/src/plugins/builtin/short-interest/surface.tsx +4 -4
- package/src/plugins/builtin/short-volume/index.tsx +1 -10
- package/src/plugins/builtin/short-volume/pane.tsx +1 -1
- package/src/plugins/builtin/social-mentions/pane.tsx +1 -1
- package/src/plugins/builtin/supply-chain/model.ts +1 -1
- package/src/plugins/builtin/themes/pane.tsx +3 -0
- package/src/plugins/builtin/ticker-detail/financials/aggregation.ts +4 -0
- package/src/plugins/builtin/ticker-detail/financials/model.ts +25 -2
- package/src/plugins/builtin/ticker-detail/headless.ts +63 -25
- package/src/plugins/builtin/ticker-detail/overview/model.ts +9 -4
- package/src/plugins/builtin/ticker-detail/overview-tab.tsx +3 -2
- package/src/plugins/builtin/ticker-detail/pane.tsx +4 -5
- package/src/plugins/builtin/ticker-detail/quote-monitor/card.tsx +94 -6
- package/src/plugins/builtin/treasury-auctions/cache.ts +5 -2
- package/src/plugins/builtin/treasury-auctions/client.ts +22 -8
- package/src/plugins/builtin/treasury-auctions/headless.ts +40 -4
- package/src/plugins/builtin/treasury-auctions/index.tsx +11 -9
- package/src/plugins/builtin/treasury-auctions/model.ts +197 -30
- package/src/plugins/builtin/treasury-auctions/pane.tsx +35 -11
- package/src/plugins/builtin/treasury-auctions/types.ts +11 -1
- package/src/plugins/builtin/vol-surface/charts.tsx +1 -3
- package/src/plugins/builtin/vol-surface/client.ts +6 -2
- package/src/plugins/builtin/vol-surface/evidence.ts +11 -6
- package/src/plugins/builtin/vol-surface/headless.ts +124 -20
- package/src/plugins/builtin/vol-surface/model.ts +23 -11
- package/src/plugins/builtin/vol-surface/pane.tsx +38 -27
- package/src/plugins/builtin/vol-surface/tables.ts +124 -0
- package/src/plugins/builtin/world-indices/client.ts +22 -4
- package/src/plugins/builtin/world-indices/headless.ts +54 -27
- package/src/plugins/builtin/world-indices/model.ts +4 -2
- package/src/plugins/builtin/world-indices/table.tsx +13 -2
- package/src/plugins/builtin/world-venue-map/basemap-layer.tsx +2 -0
- package/src/plugins/builtin/world-venue-map/basemap.ts +18 -0
- package/src/plugins/builtin/world-venue-map/country-labels.ts +78 -0
- package/src/plugins/builtin/world-venue-map/geo-series.ts +1 -1
- package/src/plugins/builtin/world-venue-map/geo-svg.tsx +2 -1
- package/src/plugins/builtin/world-venue-map/index.ts +6 -6
- package/src/plugins/builtin/world-venue-map/layered-pane.tsx +27 -14
- package/src/plugins/builtin/world-venue-map/layers.ts +68 -10
- package/src/plugins/builtin/world-venue-map/map.tsx +198 -62
- package/src/plugins/builtin/world-venue-map/model.ts +16 -0
- package/src/plugins/builtin/world-venue-map/natural-earth/index.chunk.ts +3 -0
- package/src/plugins/builtin/world-venue-map/natural-earth/labels.chunk.ts +244 -0
- package/src/plugins/builtin/world-venue-map/pane.tsx +16 -10
- package/src/plugins/builtin/yield-curve/index.tsx +1 -1
- package/src/plugins/builtin-editorial.ts +126 -0
- package/src/plugins/catalog-backend.ts +16 -9
- package/src/plugins/catalog-browser.ts +127 -63
- package/src/plugins/catalog-manifest.ts +73 -40
- package/src/plugins/catalog-ui.ts +26 -6
- package/src/plugins/extracted-plugins.ts +7 -1
- package/src/plugins/ownership.ts +150 -7
- package/src/plugins/plugin-functions.ts +54 -0
- package/src/plugins/plugin-off.ts +36 -0
- package/src/plugins/registry/host-actions.ts +16 -0
- package/src/plugins/registry/index.ts +84 -24
- package/src/plugins/registry/plugin-state.ts +25 -1
- package/src/plugins/runtime/context.tsx +29 -0
- package/src/react/input.ts +48 -1
- package/src/remote/app-host.tsx +5 -0
- package/src/remote/controller.ts +3 -53
- package/src/remote/matching.ts +69 -0
- package/src/remote/schema.ts +1 -1
- package/src/remote/semantic-tree.tsx +14 -0
- package/src/remote/types.ts +2 -0
- package/src/renderers/browser/app-services.ts +3 -1
- package/src/renderers/dom/data-table/dom.ts +31 -0
- package/src/renderers/dom/data-table/index.tsx +5 -0
- package/src/renderers/dom/desktop/icons.tsx +14 -0
- package/src/renderers/dom/desktop/query-bar.tsx +59 -32
- package/src/renderers/dom/host/box.tsx +113 -17
- package/src/renderers/dom/host/drag-shield.ts +35 -0
- package/src/renderers/dom/host/live-frame.ts +62 -0
- package/src/renderers/dom/host/mouse.ts +8 -1
- package/src/renderers/dom/host/scroll-box.tsx +6 -5
- package/src/renderers/dom/host/tabs.tsx +3 -2
- package/src/renderers/dom/input-host.tsx +6 -1
- package/src/renderers/dom/styles.css +26 -5
- package/src/renderers/electrobun/bun/desktop/backend-requests.ts +7 -0
- package/src/renderers/electrobun/bun/desktop/backend.ts +7 -1
- package/src/renderers/electrobun/bun/desktop/detached-windows.ts +12 -1
- package/src/renderers/electrobun/bun/desktop/initialization.ts +15 -1
- package/src/renderers/electrobun/shared/protocol.ts +12 -1
- package/src/renderers/electrobun/view/cli-pane-shot-entry.tsx +4 -1
- package/src/renderers/electrobun/view/cli-pane-shot-frame.tsx +101 -5
- package/src/renderers/electrobun/view/host/native.ts +0 -10
- package/src/renderers/electrobun/view/host/window-move.ts +28 -0
- package/src/renderers/electrobun/view/main.tsx +4 -1
- package/src/renderers/electrobun/view/remote/persistence.ts +15 -2
- package/src/renderers/electrobun/view/ui-host.tsx +2 -5
- package/src/renderers/opentui/input-host.tsx +6 -1
- package/src/renderers/opentui/start.tsx +9 -0
- package/src/renderers/opentui/ui-host.tsx +7 -1
- package/src/shares/portable-layout.ts +16 -6
- package/src/sources/gloomberb-cloud/index.ts +19 -10
- package/src/sources/gloomberb-cloud/normalizers.ts +20 -21
- package/src/sources/listing-symbols.ts +11 -5
- package/src/sources/provider-errors.ts +88 -3
- package/src/sources/provider-router/batches.ts +3 -3
- package/src/sources/provider-router/cached-routes.ts +8 -4
- package/src/sources/provider-router/financial-routes.ts +13 -7
- package/src/sources/provider-router/financials.ts +106 -16
- package/src/sources/provider-router/history.ts +27 -11
- package/src/sources/provider-router/index.ts +1 -1
- package/src/sources/provider-router/primary.ts +24 -6
- package/src/sources/sec-edgar.ts +68 -8
- package/src/state/pane-scroll-registry.tsx +67 -35
- package/src/sync/core-contributors.ts +4 -3
- package/src/test-support/cli-context.ts +2 -1
- package/src/test-support/data-provider.ts +34 -0
- package/src/test-support/margin-account.ts +108 -0
- package/src/test-support/shell-pane-keys.tsx +1 -0
- package/src/theme/series-colors.ts +46 -0
- package/src/theme/themes.ts +149 -0
- package/src/tickers/search/index.ts +22 -2
- package/src/tickers/search/ranking.ts +45 -1
- package/src/tickers/search/types.ts +3 -1
- package/src/time-series/resolution.ts +15 -0
- package/src/time-series/resolve.ts +1 -14
- package/src/types/config.ts +61 -1
- package/src/types/financials.ts +32 -3
- package/src/types/headless.ts +11 -0
- package/src/types/instrument.ts +8 -0
- package/src/types/plugin.ts +49 -3
- package/src/ui/host.tsx +16 -0
- package/src/ui/index.tsx +10 -3
- package/src/ui/scroll-box-axis.ts +26 -0
- package/src/utils/cli-output.ts +14 -1
- package/src/utils/currency-units.ts +8 -3
- package/src/utils/depositary-receipt.ts +54 -10
- package/src/utils/display-number.ts +63 -0
- package/src/utils/exchanges.ts +13 -0
- package/src/utils/format.ts +2 -1
- package/src/utils/fundamentals.ts +17 -1
- package/src/utils/fx-market-hours.ts +34 -0
- package/src/utils/option-expiry.ts +126 -0
- package/src/utils/price-history-integrity.ts +19 -6
- package/src/utils/price-history.ts +39 -6
- package/src/utils/rpc-timeout-error.ts +6 -2
- package/src/utils/sec-eps-basis.ts +159 -30
- package/src/utils/sec.ts +38 -34
- package/src/utils/throttled-fetch.ts +51 -22
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
// Natural Earth 1:50m admin-0 country label points (public domain). Generated by scripts/generate-world-map-data.ts; do not edit.
|
|
2
|
+
/** Name, longitude, latitude, the web-map zoom it first shows at, rank: most prominent first. */
|
|
3
|
+
export const COUNTRY_LABELS: readonly (readonly [string, number, number, number, number])[] = [
|
|
4
|
+
["Australia",134.05,-24.13,1.7,2],
|
|
5
|
+
["Brazil",-49.56,-12.1,1.7,2],
|
|
6
|
+
["Canada",-101.91,60.32,1.7,2],
|
|
7
|
+
["Chile",-72.32,-38.15,1.7,2],
|
|
8
|
+
["China",106.34,32.5,1.7,2],
|
|
9
|
+
["Egypt",29.45,26.19,1.7,2],
|
|
10
|
+
["France",2.55,46.7,1.7,2],
|
|
11
|
+
["Germany",9.68,50.96,1.7,2],
|
|
12
|
+
["India",79.36,22.69,1.7,2],
|
|
13
|
+
["Indonesia",101.89,-0.95,1.7,2],
|
|
14
|
+
["Japan",138.44,36.14,1.7,2],
|
|
15
|
+
["Kenya",37.91,0.55,1.7,2],
|
|
16
|
+
["Nigeria",7.5,9.44,1.7,2],
|
|
17
|
+
["Russia",44.69,58.25,1.7,2],
|
|
18
|
+
["Saudi Arabia",44.7,23.81,1.7,2],
|
|
19
|
+
["South Africa",23.67,-29.71,1.7,2],
|
|
20
|
+
["United Kingdom",-2.12,54.4,1.7,2],
|
|
21
|
+
["United States",-97.48,39.54,1.7,2],
|
|
22
|
+
["Greenland",-39.34,74.32,1.7,3],
|
|
23
|
+
["Argentina",-64.17,-33.5,2,2],
|
|
24
|
+
["Dem. Rep. Congo",23.46,-1.86,2,2],
|
|
25
|
+
["Ethiopia",39.09,8.03,2,2],
|
|
26
|
+
["Italy",11.08,44.73,2,2],
|
|
27
|
+
["Mexico",-102.29,23.92,2,2],
|
|
28
|
+
["New Zealand",172.79,-39.76,2,2],
|
|
29
|
+
["Peru",-72.9,-12.98,2,2],
|
|
30
|
+
["Spain",-3.46,40.09,2,2],
|
|
31
|
+
["Turkey",34.51,39.35,2,2],
|
|
32
|
+
["Vietnam",105.39,21.72,2,2],
|
|
33
|
+
["Iceland",-18.67,64.78,2,3],
|
|
34
|
+
["Sweden",19.02,65.86,2,3],
|
|
35
|
+
["Iran",54.93,32.17,2.5,2],
|
|
36
|
+
["Papua New Guinea",143.91,-5.7,2.5,2],
|
|
37
|
+
["Philippines",122.47,11.2,2.5,2],
|
|
38
|
+
["South Korea",128.13,36.38,2.5,2],
|
|
39
|
+
["Algeria",2.81,27.4,2.5,3],
|
|
40
|
+
["Côte d'Ivoire",-5.57,7.49,2.5,3],
|
|
41
|
+
["Poland",19.49,51.99,2.5,3],
|
|
42
|
+
["Sudan",29.26,16.33,2.5,3],
|
|
43
|
+
["Venezuela",-64.6,7.18,2.5,3],
|
|
44
|
+
["Zimbabwe",29.93,-18.91,2.5,3],
|
|
45
|
+
["Costa Rica",-84.08,10.07,2.5,5],
|
|
46
|
+
["Pakistan",68.55,29.33,2.7,2],
|
|
47
|
+
["Cuba",-77.98,21.33,2.7,3],
|
|
48
|
+
["Ghana",-1.04,7.72,2.7,3],
|
|
49
|
+
["Greece",21.73,39.49,2.7,3],
|
|
50
|
+
["Kazakhstan",68.69,49.05,2.7,3],
|
|
51
|
+
["Madagascar",46.7,-18.63,2.7,3],
|
|
52
|
+
["Morocco",-7.19,31.65,2.7,3],
|
|
53
|
+
["Senegal",-14.78,15.14,2.7,3],
|
|
54
|
+
["Thailand",101.07,15.46,2.7,3],
|
|
55
|
+
["Ukraine",32.14,49.72,2.7,3],
|
|
56
|
+
["Colombia",-73.17,3.37,3,2],
|
|
57
|
+
["Portugal",-8.27,39.61,3,2],
|
|
58
|
+
["Afghanistan",66.5,34.16,3,3],
|
|
59
|
+
["Angola",17.98,-12.18,3,3],
|
|
60
|
+
["Bangladesh",89.68,24.21,3,3],
|
|
61
|
+
["Bolivia",-64.59,-16.67,3,3],
|
|
62
|
+
["Burkina Faso",-1.36,12.67,3,3],
|
|
63
|
+
["Cambodia",104.5,12.65,3,3],
|
|
64
|
+
["Cameroon",12.47,4.59,3,3],
|
|
65
|
+
["Chad",18.65,15.14,3,3],
|
|
66
|
+
["Ecuador",-78.19,-1.26,3,3],
|
|
67
|
+
["Finland",27.28,63.25,3,3],
|
|
68
|
+
["Guatemala",-90.5,14.98,3,3],
|
|
69
|
+
["Guinea",-10.02,10.62,3,3],
|
|
70
|
+
["Iraq",43.26,33.09,3,3],
|
|
71
|
+
["Ireland",-7.8,53.08,3,3],
|
|
72
|
+
["Libya",18.01,26.64,3,3],
|
|
73
|
+
["Malaysia",113.84,2.53,3,3],
|
|
74
|
+
["Mali",-2.04,18.69,3,3],
|
|
75
|
+
["Mauritania",-9.74,19.59,3,3],
|
|
76
|
+
["Mongolia",104.15,46,3,3],
|
|
77
|
+
["Mozambique",37.84,-13.94,3,3],
|
|
78
|
+
["Myanmar",95.8,21.57,3,3],
|
|
79
|
+
["Namibia",17.11,-20.58,3,3],
|
|
80
|
+
["Nepal",83.64,28.3,3,3],
|
|
81
|
+
["Niger",9.5,17.45,3,3],
|
|
82
|
+
["North Korea",126.44,39.89,3,3],
|
|
83
|
+
["Norway",9.68,61.36,3,3],
|
|
84
|
+
["Romania",24.97,45.73,3,3],
|
|
85
|
+
["Rwanda",30.1,-1.9,3,3],
|
|
86
|
+
["S. Sudan",30.39,7.23,3,3],
|
|
87
|
+
["Solomon Is.",159.17,-8.03,3,3],
|
|
88
|
+
["Sri Lanka",80.7,7.58,3,3],
|
|
89
|
+
["Syria",38.28,35.01,3,3],
|
|
90
|
+
["Tanzania",34.96,-6.05,3,3],
|
|
91
|
+
["Tunisia",9.01,33.69,3,3],
|
|
92
|
+
["Uganda",32.95,1.97,3,3],
|
|
93
|
+
["Uzbekistan",64.01,41.69,3,3],
|
|
94
|
+
["Yemen",45.87,15.33,3,3],
|
|
95
|
+
["Zambia",26.4,-14.66,3,3],
|
|
96
|
+
["Austria",14.13,47.52,3,4],
|
|
97
|
+
["Belarus",28.42,53.82,3,4],
|
|
98
|
+
["Denmark",9.02,55.97,3,4],
|
|
99
|
+
["Gabon",11.84,-0.44,3,4],
|
|
100
|
+
["Israel",34.85,30.91,3,4],
|
|
101
|
+
["Kyrgyzstan",74.53,41.67,3,4],
|
|
102
|
+
["Paraguay",-60.15,-21.67,3,4],
|
|
103
|
+
["Samoa",-172.44,-13.64,3,4],
|
|
104
|
+
["Turkmenistan",58.68,39.86,3,4],
|
|
105
|
+
["Uruguay",-55.97,-32.96,3,4],
|
|
106
|
+
["Puerto Rico",-66.48,18.23,3,5],
|
|
107
|
+
["Estonia",25.87,58.72,3,6],
|
|
108
|
+
["Fiji",177.98,-17.83,3,6],
|
|
109
|
+
["Guam",144.7,13.35,3,6],
|
|
110
|
+
["Fr. Polynesia",-149.46,-17.63,3.5,4],
|
|
111
|
+
["Belgium",4.8,50.79,4,2],
|
|
112
|
+
["American Samoa",-170.75,-14.33,4,4],
|
|
113
|
+
["Bahamas",-77.15,26.4,4,4],
|
|
114
|
+
["Bahrain",50.55,26.06,4,4],
|
|
115
|
+
["Botswana",24.18,-22.1,4,4],
|
|
116
|
+
["Bulgaria",25.16,42.51,4,4],
|
|
117
|
+
["Cabo Verde",-23.64,15.07,4,4],
|
|
118
|
+
["Central African Rep.",20.91,6.99,4,4],
|
|
119
|
+
["Congo",15.9,0.14,4,4],
|
|
120
|
+
["Cook Is.",-159.79,-21.22,4,4],
|
|
121
|
+
["Eq. Guinea",8.99,2.33,4,4],
|
|
122
|
+
["Eritrea",38.29,15.79,4,4],
|
|
123
|
+
["eSwatini",31.47,-26.53,4,4],
|
|
124
|
+
["Guyana",-58.94,5.12,4,4],
|
|
125
|
+
["Hong Kong",114.1,22.45,4,4],
|
|
126
|
+
["Jamaica",-77.32,18.14,4,4],
|
|
127
|
+
["Jordan",36.38,30.81,4,4],
|
|
128
|
+
["Laos",102.53,19.43,4,4],
|
|
129
|
+
["Liberia",-9.46,6.45,4,4],
|
|
130
|
+
["Macao",113.56,22.13,4,4],
|
|
131
|
+
["Niue",-169.86,-19.05,4,4],
|
|
132
|
+
["Oman",57.34,22.12,4,4],
|
|
133
|
+
["Panama",-80.35,8.72,4,4],
|
|
134
|
+
["Sierra Leone",-11.76,8.62,4,4],
|
|
135
|
+
["Suriname",-55.91,4.14,4,4],
|
|
136
|
+
["Switzerland",7.46,46.72,4,4],
|
|
137
|
+
["Tajikistan",72.59,38.2,4,4],
|
|
138
|
+
["Tonga",-175.16,-21.21,4,4],
|
|
139
|
+
["United Arab Emirates",54.55,23.47,4,4],
|
|
140
|
+
["Vanuatu",166.91,-15.37,4,4],
|
|
141
|
+
["Azerbaijan",47.21,40.4,4,5],
|
|
142
|
+
["Benin",2.35,10.32,4,5],
|
|
143
|
+
["Bhutan",90.04,27.54,4,5],
|
|
144
|
+
["Czechia",15.38,49.88,4,5],
|
|
145
|
+
["Djibouti",42.5,11.98,4,5],
|
|
146
|
+
["Georgia",43.74,41.87,4,5],
|
|
147
|
+
["Haiti",-72.22,19.26,4,5],
|
|
148
|
+
["Hungary",19.45,47.09,4,5],
|
|
149
|
+
["Latvia",25.46,57.07,4,5],
|
|
150
|
+
["Lebanon",35.99,34.13,4,5],
|
|
151
|
+
["Lithuania",24.09,55.1,4,5],
|
|
152
|
+
["Maldives",73.51,4.17,4,5],
|
|
153
|
+
["Malta",14.43,35.89,4,5],
|
|
154
|
+
["Mauritius",57.57,-20.3,4,5],
|
|
155
|
+
["Netherlands",5.61,52.42,4,5],
|
|
156
|
+
["Nicaragua",-85.07,12.67,4,5],
|
|
157
|
+
["Qatar",51.14,25.24,4,5],
|
|
158
|
+
["Serbia",20.79,44.19,4,5],
|
|
159
|
+
["Timor-Leste",125.85,-8.8,4,5],
|
|
160
|
+
["Bermuda",-64.76,32.3,4,6],
|
|
161
|
+
["Brunei",114.55,4.45,4,6],
|
|
162
|
+
["Burundi",29.92,-3.33,4,6],
|
|
163
|
+
["Comoros",43.32,-11.73,4,6],
|
|
164
|
+
["Croatia",16.37,45.81,4,6],
|
|
165
|
+
["Dominica",-61.34,15.46,4,6],
|
|
166
|
+
["Faeroe Is.",-7.06,62.19,4,6],
|
|
167
|
+
["Fr. S. Antarctic Lands",69.12,-49.3,4,6],
|
|
168
|
+
["Grenada",-61.68,12.11,4,6],
|
|
169
|
+
["Lesotho",28.25,-29.48,4,6],
|
|
170
|
+
["Malawi",33.61,-13.39,4,6],
|
|
171
|
+
["Singapore",103.82,1.37,4,6],
|
|
172
|
+
["Slovakia",19.05,48.73,4,6],
|
|
173
|
+
["Somalia",45.19,3.57,4,6],
|
|
174
|
+
["Taiwan",120.87,23.65,4.5,3],
|
|
175
|
+
["Ashmore and Cartier Is.",123.59,-12.43,4.5,5],
|
|
176
|
+
["Barbados",-59.57,13.16,4.5,5],
|
|
177
|
+
["Bosnia and Herz.",18.07,44.09,4.5,5],
|
|
178
|
+
["Cyprus",33.08,34.91,4.5,5],
|
|
179
|
+
["Dominican Rep.",-70.65,19.1,4.5,5],
|
|
180
|
+
["Falkland Is.",-58.74,-51.61,4.5,5],
|
|
181
|
+
["Heard I. and McDonald Is.",73.51,-53.1,4.5,5],
|
|
182
|
+
["Honduras",-86.89,14.79,4.5,5],
|
|
183
|
+
["Norfolk Island",167.95,-29.03,4.5,5],
|
|
184
|
+
["Palestine",35.29,32.05,4.5,5],
|
|
185
|
+
["Somaliland",46.73,9.44,4.5,5],
|
|
186
|
+
["Trinidad and Tobago",-60.92,11,4.5,5],
|
|
187
|
+
["New Caledonia",165.08,-21.06,4.6,3],
|
|
188
|
+
["Wallis and Futuna Is.",-178.14,-14.29,4.7,4],
|
|
189
|
+
["Pitcairn Is.",-128.32,-24.36,5,4],
|
|
190
|
+
["S. Geo. and the Is.",-31.06,-55.68,5,4],
|
|
191
|
+
["St. Pierre and Miquelon",-56.33,47.04,5,4],
|
|
192
|
+
["Aruba",-69.97,12.52,5,5],
|
|
193
|
+
["Br. Indian Ocean Ter.",71.35,-6.19,5,5],
|
|
194
|
+
["Cayman Is.",-81.24,19.32,5,5],
|
|
195
|
+
["Curaçao",-68.92,12.15,5,5],
|
|
196
|
+
["Indian Ocean Ter.",105.67,-10.49,5,5],
|
|
197
|
+
["Åland",19.87,60.16,5,6],
|
|
198
|
+
["Albania",20.11,40.65,5,6],
|
|
199
|
+
["Andorra",1.54,42.55,5,6],
|
|
200
|
+
["Anguilla",-63.03,18.24,5,6],
|
|
201
|
+
["Antigua and Barb.",-61.79,17.35,5,6],
|
|
202
|
+
["Armenia",44.8,40.46,5,6],
|
|
203
|
+
["Belize",-88.71,17.2,5,6],
|
|
204
|
+
["British Virgin Is.",-64.64,18.43,5,6],
|
|
205
|
+
["El Salvador",-88.89,13.69,5,6],
|
|
206
|
+
["Gambia",-15,13.64,5,6],
|
|
207
|
+
["Guernsey",-2.56,49.46,5,6],
|
|
208
|
+
["Guinea-Bissau",-14.52,12.16,5,6],
|
|
209
|
+
["Isle of Man",-4.53,54.22,5,6],
|
|
210
|
+
["Jersey",-2.09,49.22,5,6],
|
|
211
|
+
["Kiribati",-157.38,1.82,5,6],
|
|
212
|
+
["Kosovo",20.86,42.59,5,6],
|
|
213
|
+
["Kuwait",47.31,29.41,5,6],
|
|
214
|
+
["Liechtenstein",9.56,47.11,5,6],
|
|
215
|
+
["Marshall Is.",171.19,7.08,5,6],
|
|
216
|
+
["Micronesia",158.23,6.89,5,6],
|
|
217
|
+
["Moldova",28.49,47.43,5,6],
|
|
218
|
+
["Monaco",7.4,43.74,5,6],
|
|
219
|
+
["Montenegro",19.14,42.8,5,6],
|
|
220
|
+
["Montserrat",-62.19,16.74,5,6],
|
|
221
|
+
["N. Mariana Is.",145.73,15.19,5,6],
|
|
222
|
+
["Nauru",166.93,-0.52,5,6],
|
|
223
|
+
["North Macedonia",21.56,41.56,5,6],
|
|
224
|
+
["Palau",134.58,7.52,5,6],
|
|
225
|
+
["Saint Helena",-5.71,-15.95,5,6],
|
|
226
|
+
["Saint Lucia",-60.98,13.89,5,6],
|
|
227
|
+
["San Marino",12.44,43.93,5,6],
|
|
228
|
+
["São Tomé and Principe",7.02,0.97,5,6],
|
|
229
|
+
["Seychelles",55.48,-4.68,5,6],
|
|
230
|
+
["Sint Maarten",-63.07,18.04,5,6],
|
|
231
|
+
["Slovenia",14.92,46.06,5,6],
|
|
232
|
+
["St-Martin",-63.05,18.08,5,6],
|
|
233
|
+
["St. Kitts and Nevis",-62.76,17.34,5,6],
|
|
234
|
+
["St. Vin. and Gren.",-61.34,13.09,5,6],
|
|
235
|
+
["Togo",1.06,8.81,5,6],
|
|
236
|
+
["Turks and Caicos Is.",-71.75,21.82,5,6],
|
|
237
|
+
["Tuvalu",179.21,-8.51,5,6],
|
|
238
|
+
["U.S. Virgin Is.",-64.78,17.75,5,6],
|
|
239
|
+
["Vatican",12.45,41.9,5,6],
|
|
240
|
+
["Luxembourg",6.08,49.73,5.7,6],
|
|
241
|
+
["St-Barthélemy",-62.83,17.9,5.7,6],
|
|
242
|
+
["N. Cyprus",33.69,35.22,6,6],
|
|
243
|
+
["W. Sahara",-12.63,23.97,6,7],
|
|
244
|
+
];
|
|
@@ -24,7 +24,7 @@ import { Box, TextAttributes, useUiCapabilities } from "../../../ui";
|
|
|
24
24
|
import { loadWorldVenues } from "./client";
|
|
25
25
|
import { WORLD_VENUE_MAP_PANE_ID } from "./ids";
|
|
26
26
|
import { LayeredMapView } from "./layered-pane";
|
|
27
|
-
import {
|
|
27
|
+
import { activeLayerTokens, isPlainMap, LAYERS_SETTING_KEY, resolveActiveLayers, VENUES_SETTING_KEY } from "./layers";
|
|
28
28
|
import { WorldVenueMap } from "./map";
|
|
29
29
|
import { filterWorldVenues, formatVenueLocalTime } from "./model";
|
|
30
30
|
import { useGeoCatalog } from "./use-geo";
|
|
@@ -47,19 +47,22 @@ function venueColumns(width: number): VenueColumn[] {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
|
-
* One map for anything with a place.
|
|
51
|
-
* come from the server's catalog, so a
|
|
52
|
-
* map exactly as it was.
|
|
50
|
+
* One map for anything with a place. A plain MAP shows venues under the
|
|
51
|
+
* server's default layers; geo layers come from the server's catalog, so a
|
|
52
|
+
* server without them leaves the venue map exactly as it was.
|
|
53
53
|
*/
|
|
54
54
|
export function WorldVenueMapPane(props: PaneProps) {
|
|
55
55
|
const [layerSetting] = usePaneSettingValue<unknown>(LAYERS_SETTING_KEY, null);
|
|
56
|
-
const
|
|
56
|
+
const [venuesSetting] = usePaneSettingValue<boolean | undefined>(VENUES_SETTING_KEY, undefined);
|
|
57
57
|
const { catalog, settled } = useGeoCatalog();
|
|
58
|
+
const settings = useMemo(() => ({ [LAYERS_SETTING_KEY]: layerSetting, [VENUES_SETTING_KEY]: venuesSetting }), [layerSetting, venuesSetting]);
|
|
59
|
+
const plain = isPlainMap(settings);
|
|
60
|
+
const tokens = useMemo(() => activeLayerTokens(settings, catalog?.layers), [catalog, settings]);
|
|
58
61
|
const layers = useMemo(() => resolveActiveLayers(tokens, catalog?.layers), [catalog, tokens]);
|
|
59
|
-
if (layers.length) return <LayeredMapView {...props} layers={layers} tokens={tokens} />;
|
|
60
|
-
// A preset waits for the catalog rather than flashing the venue map first.
|
|
61
|
-
if (tokens.length && !settled) {
|
|
62
|
-
return <PaneStatusBody loading align="center" width={props.width} height={props.height} loadingLabel="Loading map
|
|
62
|
+
if (layers.length) return <LayeredMapView {...props} layers={layers} tokens={tokens} plain={plain} />;
|
|
63
|
+
// A preset or a plain map waits for the catalog rather than flashing the venue map first.
|
|
64
|
+
if ((plain || tokens.length) && !settled) {
|
|
65
|
+
return <PaneStatusBody loading align="center" width={props.width} height={props.height} loadingLabel="Loading map..." />;
|
|
63
66
|
}
|
|
64
67
|
return <VenueMapView {...props} />;
|
|
65
68
|
}
|
|
@@ -119,6 +122,7 @@ function VenueMapView({ focused, width, height }: PaneProps) {
|
|
|
119
122
|
|
|
120
123
|
const { nativePaneChrome } = useUiCapabilities();
|
|
121
124
|
const [storedSidebarWidth, setStoredSidebarWidth] = usePluginPaneState<number | null>("sidebarWidth", null);
|
|
125
|
+
const [savedViewport, setSavedViewport] = usePluginPaneState<unknown>("map:viewport", null);
|
|
122
126
|
const [draggedSidebarWidth, setDraggedSidebarWidth] = useState<number | null>(null);
|
|
123
127
|
const horizontal = shouldShowPaneSidebar(data?.venues.length ?? 0, width, height);
|
|
124
128
|
// Venue names need more room than a conversation list, so the width the pane
|
|
@@ -208,7 +212,7 @@ function VenueMapView({ focused, width, height }: PaneProps) {
|
|
|
208
212
|
}
|
|
209
213
|
|
|
210
214
|
const map = (
|
|
211
|
-
<Box flexDirection="column" width={mapWidth} height={mapSectionHeight} overflow="hidden">
|
|
215
|
+
<Box key="map" flexDirection="column" width={mapWidth} height={mapSectionHeight} overflow="hidden">
|
|
212
216
|
<SelectedVenueHeader venue={selectedVenue} checkedAt={data.checkedAt} now={now} width={mapWidth} />
|
|
213
217
|
<WorldVenueMap
|
|
214
218
|
venues={venues}
|
|
@@ -216,6 +220,8 @@ function VenueMapView({ focused, width, height }: PaneProps) {
|
|
|
216
220
|
width={mapWidth}
|
|
217
221
|
height={mapHeight}
|
|
218
222
|
onSelect={(venue) => setSelectedMic(venue.mic)}
|
|
223
|
+
savedViewport={savedViewport}
|
|
224
|
+
onViewportSettled={setSavedViewport}
|
|
219
225
|
/>
|
|
220
226
|
</Box>
|
|
221
227
|
);
|
|
@@ -18,7 +18,7 @@ import type { PluginModule } from "../plugin-module";
|
|
|
18
18
|
import { useAutoRefresh } from "../../../react/auto-refresh";
|
|
19
19
|
import { usePaneStatusFooter } from "../../../components/layout/pane/status-footer";
|
|
20
20
|
import { formatPercentileRank } from "../../../utils/format";
|
|
21
|
-
import { SERIES_COLORS } from "../../../
|
|
21
|
+
import { SERIES_COLORS } from "../../../theme/series-colors";
|
|
22
22
|
import type { CurveSeries } from "../../../components/chart/curve";
|
|
23
23
|
import { yieldCurveHeadless } from "./headless";
|
|
24
24
|
import {
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// Editorial copy for the built-in plugins: what the Plugins pane and the
|
|
2
|
+
// plugin directory at gloom.sh say about each one beyond its catalog entry.
|
|
3
|
+
// Import-free, so the pane can read it without pulling in the catalog.
|
|
4
|
+
|
|
5
|
+
export interface BuiltinEditorial {
|
|
6
|
+
/** Curated, since the catalog has no notion of categories. */
|
|
7
|
+
categories: string[];
|
|
8
|
+
featured?: true;
|
|
9
|
+
/** Path to artwork in this repo, resolved by the directory against HEAD. */
|
|
10
|
+
icon?: string;
|
|
11
|
+
/** Ten words and 45 characters at most, for a row or a card; the description says the rest. */
|
|
12
|
+
tagline?: string;
|
|
13
|
+
/** The codes a row or card shows, at most three; the first three otherwise. */
|
|
14
|
+
highlights?: readonly string[];
|
|
15
|
+
/**
|
|
16
|
+
* Codes whose capture the directory shows, at most three, best first. Each
|
|
17
|
+
* names a reviewed image at gloom.sh/screenshots/fn/<CODE>.png.
|
|
18
|
+
*/
|
|
19
|
+
screenshots?: readonly string[];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Anything missing here is reported by `generate-plugin-manifest.ts` rather
|
|
24
|
+
* than silently defaulted, so a new built-in cannot slip into the directory
|
|
25
|
+
* uncategorised.
|
|
26
|
+
*/
|
|
27
|
+
export const BUILTIN_EDITORIAL: Readonly<Record<string, BuiltinEditorial>> = {
|
|
28
|
+
"gloomberb-cloud": {
|
|
29
|
+
categories: ["data", "cloud"],
|
|
30
|
+
featured: true,
|
|
31
|
+
tagline: "Account, chat, Ask Gloom and Cloud data.",
|
|
32
|
+
icon: "plugin-icons/gloomberb-cloud.webp",
|
|
33
|
+
},
|
|
34
|
+
alerts: { categories: ["alerts"], tagline: "Price, market and filing alerts." },
|
|
35
|
+
"alt-data": {
|
|
36
|
+
categories: ["research", "data"],
|
|
37
|
+
tagline: "Supply chains, hiring, apps, GPUs and power.",
|
|
38
|
+
highlights: ["SPLC", "GPU", "JOBS"],
|
|
39
|
+
screenshots: ["SPLC", "GPU", "JOBS"],
|
|
40
|
+
},
|
|
41
|
+
application: { categories: ["core"] },
|
|
42
|
+
broker: { categories: ["broker"], tagline: "Broker accounts, sync and connections." },
|
|
43
|
+
"clinical-trials": { categories: ["research"], tagline: "Clinical trials by drug, condition, sponsor." },
|
|
44
|
+
"comment-letters": { categories: ["research"], tagline: "SEC comment letters and company replies." },
|
|
45
|
+
credit: {
|
|
46
|
+
categories: ["macro", "markets"],
|
|
47
|
+
tagline: "CDS, credit spreads, auctions and bonds.",
|
|
48
|
+
highlights: ["CDS", "CRD", "YAS"],
|
|
49
|
+
screenshots: ["CDX", "SOVR", "YAS"],
|
|
50
|
+
},
|
|
51
|
+
crypto: {
|
|
52
|
+
categories: ["markets", "crypto"],
|
|
53
|
+
tagline: "Crypto prices, funding and open interest.",
|
|
54
|
+
screenshots: ["CRYP"],
|
|
55
|
+
},
|
|
56
|
+
"custom-view": { categories: ["data", "productivity"] },
|
|
57
|
+
debug: { categories: ["developer"], tagline: "Debug logs to read and export." },
|
|
58
|
+
earnings: {
|
|
59
|
+
categories: ["research", "markets"],
|
|
60
|
+
tagline: "Earnings calendar, calls and the ripple.",
|
|
61
|
+
screenshots: ["ERN"],
|
|
62
|
+
},
|
|
63
|
+
"fear-greed": { categories: ["markets", "sentiment"], icon: "plugin-icons/fear-greed.webp", tagline: "The Fear & Greed index and its inputs." },
|
|
64
|
+
filings: {
|
|
65
|
+
categories: ["research"],
|
|
66
|
+
tagline: "SEC filings, 8-Ks, risk factors, litigation.",
|
|
67
|
+
highlights: ["SEC", "EK", "RISK"],
|
|
68
|
+
screenshots: ["EK", "RISK"],
|
|
69
|
+
},
|
|
70
|
+
"futures-commodities": {
|
|
71
|
+
categories: ["markets", "macro"],
|
|
72
|
+
tagline: "Futures, curves, positioning, energy data.",
|
|
73
|
+
screenshots: ["CTM", "COT", "FUT"],
|
|
74
|
+
},
|
|
75
|
+
"global-markets": {
|
|
76
|
+
categories: ["markets"],
|
|
77
|
+
tagline: "World indices, map, sectors, FX, rotation.",
|
|
78
|
+
highlights: ["WEI", "MAP", "RRG"],
|
|
79
|
+
screenshots: ["MAP", "RRG", "WEI"],
|
|
80
|
+
},
|
|
81
|
+
"ipo-calendar": { categories: ["macro", "markets"], icon: "plugin-icons/ipo-calendar.webp", tagline: "Upcoming and recent IPOs worldwide." },
|
|
82
|
+
"market-halts": { categories: ["markets"], icon: "plugin-icons/market-halts.webp", tagline: "US trading halts, current and recent." },
|
|
83
|
+
"market-heatmap": { categories: ["markets"], icon: "plugin-icons/market-heatmap.webp", tagline: "The largest US stocks and ETFs as a heatmap." },
|
|
84
|
+
members: { categories: ["markets", "research"], tagline: "ETF holdings and index changes." },
|
|
85
|
+
news: { categories: ["news"], tagline: "Market news wire and company news." },
|
|
86
|
+
notes: { categories: ["productivity"], tagline: "Notes on tickers, personal or shared." },
|
|
87
|
+
openfda: { categories: ["research"], tagline: "FDA adverse events and drug recalls." },
|
|
88
|
+
"options-volatility": {
|
|
89
|
+
categories: ["research", "markets"],
|
|
90
|
+
tagline: "Option chains, positioning and volatility.",
|
|
91
|
+
highlights: ["OMON", "OPX", "OVDV"],
|
|
92
|
+
screenshots: ["OPX", "HIVG", "HVG"],
|
|
93
|
+
},
|
|
94
|
+
ownership: {
|
|
95
|
+
categories: ["research"],
|
|
96
|
+
tagline: "Holders, 13F funds, insiders, short interest.",
|
|
97
|
+
highlights: ["HDS", "INS", "SI"],
|
|
98
|
+
screenshots: ["INS", "SI"],
|
|
99
|
+
},
|
|
100
|
+
portfolio: { categories: ["portfolio"], tagline: "Portfolios, watchlists and position sizing." },
|
|
101
|
+
quant: {
|
|
102
|
+
categories: ["markets", "research"],
|
|
103
|
+
tagline: "Correlations, backtests and seasonality.",
|
|
104
|
+
highlights: ["CORR", "BT", "SEAS"],
|
|
105
|
+
screenshots: ["BT", "CORR", "SEAS"],
|
|
106
|
+
},
|
|
107
|
+
"rates-macro": {
|
|
108
|
+
categories: ["macro"],
|
|
109
|
+
tagline: "Economic data, yield curves, the rate path.",
|
|
110
|
+
highlights: ["ECO", "GC", "WIRP"],
|
|
111
|
+
screenshots: ["WIRP", "CPI", "GC"],
|
|
112
|
+
},
|
|
113
|
+
"research-search": { categories: ["research", "news"], tagline: "Search calls, wires and filings." },
|
|
114
|
+
screeners: {
|
|
115
|
+
categories: ["markets"],
|
|
116
|
+
tagline: "Screener, movers, highs and lows, flow.",
|
|
117
|
+
highlights: ["EQS", "MOST", "FLOW"],
|
|
118
|
+
screenshots: ["EQS", "MOST"],
|
|
119
|
+
},
|
|
120
|
+
"ticker-core": {
|
|
121
|
+
categories: ["research"],
|
|
122
|
+
tagline: "Quotes, charts, financials and estimates.",
|
|
123
|
+
highlights: ["DES", "G", "FA"],
|
|
124
|
+
screenshots: ["DES", "G", "FA"],
|
|
125
|
+
},
|
|
126
|
+
};
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import type { GloomPlugin } from "../types/plugin";
|
|
2
|
-
import {
|
|
3
|
-
import { composeBuiltinPlugin } from "./builtin/plugin-module";
|
|
2
|
+
import { withoutRendererOnlyModules } from "./builtin/plugin-module";
|
|
4
3
|
import { getLoadablePlugins } from "./catalog";
|
|
5
4
|
import { loadExternalPlugins, type LoadedExternalPlugin } from "./loader";
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Every loadable plugin, in the same order and under the same ids as the
|
|
8
|
+
* renderer's, so toggles and state line up; built-ins leave out the modules
|
|
9
|
+
* they mark renderer-only.
|
|
10
|
+
*/
|
|
9
11
|
export function getDesktopBackendPlugins(
|
|
10
12
|
externalPlugins: LoadedExternalPlugin[] = [],
|
|
11
13
|
): GloomPlugin[] {
|
|
12
|
-
return getLoadablePlugins(externalPlugins).map(
|
|
13
|
-
if (plugin.id === "ticker-research") return tickerResearchBackendPlugin;
|
|
14
|
-
return plugin;
|
|
15
|
-
});
|
|
14
|
+
return getLoadablePlugins(externalPlugins).map(withoutRendererOnlyModules);
|
|
16
15
|
}
|
|
17
16
|
|
|
18
17
|
export interface DesktopBackendPlugins {
|
|
@@ -22,9 +21,17 @@ export interface DesktopBackendPlugins {
|
|
|
22
21
|
* that fails to register is marked failed rather than failing the launch.
|
|
23
22
|
*/
|
|
24
23
|
externalPlugins: LoadedExternalPlugin[];
|
|
24
|
+
/**
|
|
25
|
+
* Each pane type's plugin, renderer-only modules included, so the windows
|
|
26
|
+
* of a switched-off plugin's popped-out panes can be hidden with it.
|
|
27
|
+
*/
|
|
28
|
+
paneOwners: ReadonlyMap<string, string>;
|
|
25
29
|
}
|
|
26
30
|
|
|
27
31
|
export async function loadDesktopBackendPlugins(): Promise<DesktopBackendPlugins> {
|
|
28
32
|
const externalPlugins = await loadExternalPlugins("desktop");
|
|
29
|
-
|
|
33
|
+
const paneOwners = new Map(getLoadablePlugins(externalPlugins).flatMap((plugin) => (
|
|
34
|
+
(plugin.panes ?? []).map((pane) => [pane.id, plugin.id] as const)
|
|
35
|
+
)));
|
|
36
|
+
return { plugins: getDesktopBackendPlugins(externalPlugins), externalPlugins, paneOwners };
|
|
30
37
|
}
|