gloomberb 0.16.4 → 0.16.6
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 +14 -91
- package/package.json +5 -1
- package/src/{plugins/builtin/cloud → account}/auth-form.tsx +9 -9
- package/src/{plugins/builtin/cloud → account}/auth-model.ts +4 -4
- package/src/account/billing.ts +57 -0
- package/src/{plugins/builtin/cloud → account}/device-signin-dialog.tsx +18 -12
- package/src/{plugins/builtin/cloud → account}/device-signin.ts +2 -2
- package/src/{plugins/builtin/cloud → account}/email-auth-attempt.ts +2 -2
- package/src/account/session.ts +16 -0
- package/src/{plugins/builtin/cloud → account}/upgrade-dialog.tsx +16 -15
- package/src/{plugins/builtin/cloud → account}/upgrade-personalization.ts +7 -7
- package/src/{plugins/builtin/cloud → account}/upgrade-tickers.ts +6 -6
- package/src/{plugins/builtin/cloud → account}/verification-panel.tsx +6 -6
- package/src/api-client/central-bank-rates.ts +6 -1
- package/src/api-client/chat.ts +26 -0
- package/src/api-client/credit-boards.ts +2 -0
- package/src/api-client/data.ts +73 -3
- package/src/api-client/earnings.ts +6 -0
- package/src/api-client/europe-energy.ts +106 -0
- package/src/api-client/futures-curve.ts +56 -0
- package/src/api-client/index.ts +13 -1
- package/src/api-client/market-discovery.ts +13 -1
- package/src/api-client/normalizers.ts +32 -0
- package/src/api-client/paths.ts +7 -0
- package/src/api-client/perps.ts +8 -0
- package/src/api-client/request.ts +9 -2
- package/src/api-client/research-activity.ts +15 -10
- package/src/api-client/socket.ts +29 -0
- package/src/api-client/themes.ts +22 -1
- package/src/api-client/types.ts +78 -2
- package/src/api-client/yield-curves.ts +8 -0
- package/src/app/global-shortcuts.ts +50 -2
- package/src/app/keybindings/actions.ts +12 -1
- package/src/app/pane-runtime/plugin-bindings.ts +2 -2
- package/src/app/pane-runtime/ticker-open-runtime.ts +16 -6
- package/src/app/runtime/desktop-deeplink.ts +10 -5
- package/src/app/runtime/startup.ts +1 -1
- package/src/app.tsx +6 -0
- package/src/architecture/core-builtin-allowlist.json +8 -26
- package/src/ask-gloom/pane-context.ts +114 -0
- package/src/ask-gloom/pane-request.ts +70 -0
- package/src/ask-gloom/pane-text.ts +201 -0
- package/src/brokers/signed-in/sign-in-dialog.tsx +11 -5
- package/src/capabilities/chart-series.ts +19 -2
- package/src/capabilities/factories.ts +1 -0
- package/src/cli/central-bank-events.ts +23 -0
- package/src/cli/command-options.ts +17 -5
- package/src/cli/commands/crypto-hints.ts +35 -2
- package/src/cli/commands/fred-series.ts +146 -0
- package/src/cli/commands/market.ts +501 -115
- package/src/cli/commands/news-hints.ts +62 -0
- package/src/cli/commands/news-search.ts +53 -0
- package/src/cli/commands/options-leaps.ts +5 -2
- package/src/cli/commands/overview.ts +132 -26
- package/src/cli/commands/remote.ts +2 -1
- package/src/cli/commands/search.ts +317 -13
- package/src/cli/commands/system.ts +55 -8
- package/src/cli/commands/ticker.ts +155 -18
- package/src/cli/context.ts +45 -14
- package/src/cli/desktop-pane-shot.ts +76 -7
- package/src/cli/earnings-calendar.ts +71 -0
- package/src/cli/errors.ts +7 -5
- package/src/cli/exit-codes.ts +8 -0
- package/src/cli/export-source.ts +58 -0
- package/src/cli/freshness.ts +18 -7
- package/src/cli/glossary.ts +483 -0
- package/src/cli/help.ts +10 -0
- package/src/cli/helpers.ts +2 -5
- package/src/cli/history-rows.ts +118 -7
- package/src/cli/index-roots.ts +7 -0
- package/src/cli/index.ts +29 -9
- package/src/cli/known-gaps.ts +84 -0
- package/src/cli/listing-arg.ts +551 -97
- package/src/cli/not-a-ticker.ts +24 -9
- package/src/cli/pane-functions/access-gate.ts +13 -2
- package/src/cli/pane-functions/capabilities.ts +4 -3
- package/src/cli/pane-functions/catalog.ts +214 -40
- package/src/cli/pane-functions/data.ts +42 -8
- package/src/cli/pane-functions/discovery.ts +1 -0
- package/src/cli/pane-functions/dom.ts +37 -8
- package/src/cli/pane-functions/freshness.ts +393 -49
- package/src/cli/pane-functions/function-help.ts +31 -15
- package/src/cli/pane-functions/headless.ts +98 -30
- package/src/cli/pane-functions/index.ts +101 -19
- package/src/cli/pane-functions/market-session.ts +22 -8
- package/src/cli/pane-functions/options.ts +71 -22
- package/src/cli/pane-functions/report-notices.ts +25 -7
- package/src/cli/pane-functions/report.ts +15 -8
- package/src/cli/pane-functions/resolver.ts +74 -19
- package/src/cli/pane-functions/screenshot.ts +250 -27
- package/src/cli/perpetual-contract.ts +60 -0
- package/src/cli/registry.ts +3 -1
- package/src/cli/report-tables.ts +26 -7
- package/src/cli/result.ts +45 -11
- package/src/cli/series-search.ts +111 -0
- package/src/cli/staged-tickers.ts +52 -0
- package/src/cli/symbol-args.ts +27 -0
- package/src/cli/symbol-list.ts +154 -0
- package/src/cli/symbol-rows.ts +154 -0
- package/src/cli/ticker-resolution.ts +311 -27
- package/src/cli/types.ts +5 -0
- package/src/components/chart/composite/axis-overlays.tsx +14 -3
- package/src/components/chart/composite/composite-chart.tsx +71 -11
- package/src/components/chart/composite/crosshair-readout.tsx +150 -0
- package/src/components/chart/composite/downsample.ts +1 -1
- package/src/components/chart/composite/format.ts +29 -0
- package/src/components/chart/composite/interactions.ts +9 -2
- package/src/components/chart/composite/legend.tsx +100 -33
- package/src/components/chart/composite/panel-bitmap.ts +70 -35
- package/src/components/chart/composite/panel-labels.ts +18 -17
- package/src/components/chart/composite/panel-series.ts +1 -0
- package/src/components/chart/composite/panel-surface.tsx +46 -21
- package/src/components/chart/composite/price-axis-labels.tsx +3 -1
- package/src/components/chart/composite/rasterizer.ts +50 -8
- package/src/components/chart/composite/scene.ts +2 -1
- package/src/components/chart/composite/time-scale.ts +26 -9
- package/src/components/chart/composite/types.ts +18 -0
- package/src/components/chart/composite/use-composite-viewport.ts +30 -2
- package/src/components/chart/native/raster/crosshair.ts +8 -3
- package/src/components/chart/native/raster/primitives.ts +85 -21
- package/src/components/chart/native/surface/manager.ts +33 -8
- package/src/components/chart/surface3d/chart.tsx +1 -1
- package/src/components/command-bar/action-runtime.ts +1 -1
- package/src/components/command-bar/commands/collection-list.ts +210 -0
- package/src/components/command-bar/commands/collection.ts +40 -1
- package/src/components/command-bar/commands/direct/index.ts +4 -0
- package/src/components/command-bar/commands/registry.ts +8 -0
- package/src/components/command-bar/panel/index.tsx +11 -3
- package/src/components/command-bar/panel/runtime.ts +3 -0
- package/src/components/command-bar/panel/types.ts +2 -0
- package/src/components/command-bar/routes/root/plugin-install.ts +4 -4
- package/src/components/command-bar/routes/root/provider-search.ts +4 -3
- package/src/components/command-bar/routes/ticker-search/results.ts +12 -11
- package/src/components/command-bar/routes/ticker-search/route.ts +4 -3
- package/src/components/command-bar/routing/actions.ts +1 -1
- package/src/components/command-bar/workflow/tickers.ts +42 -17
- package/src/components/layout/detached-pane-shell.tsx +68 -39
- package/src/components/layout/floating-pane.tsx +10 -1
- package/src/components/layout/header.tsx +25 -5
- package/src/components/layout/missing-pane.tsx +3 -3
- package/src/components/layout/pane/capture-stamp.ts +41 -0
- package/src/components/layout/pane/capture-status.ts +12 -0
- package/src/components/layout/pane/content.tsx +7 -13
- package/src/components/layout/pane/footer/index.tsx +6 -2
- package/src/components/layout/pane/footer/keyboard.ts +3 -0
- package/src/components/layout/pane/footer/model.ts +41 -1
- package/src/components/layout/pane/header.tsx +50 -1
- package/src/components/layout/pane/index.tsx +21 -3
- package/src/components/layout/pane/sidebar.tsx +88 -21
- package/src/components/layout/shell/active-drag.ts +21 -5
- package/src/components/layout/shell/cursor-occlusion.ts +2 -1
- package/src/components/layout/shell/drag/index.ts +39 -9
- package/src/components/layout/shell/drag/live.ts +61 -51
- package/src/components/layout/shell/drag/runtime.ts +54 -12
- package/src/components/layout/shell/index.tsx +84 -65
- package/src/components/layout/shell/menu.ts +14 -1
- package/src/components/layout/shell/native/pointer-runtime.ts +3 -1
- package/src/components/layout/shell/pane/actions.ts +32 -10
- package/src/components/layout/shell/pane/ask.ts +131 -0
- package/src/components/layout/shell/pane/capture.ts +162 -0
- package/src/components/layout/shell/pane/layers.tsx +218 -50
- package/src/components/layout/shell/pane/management-shortcuts.ts +46 -1
- package/src/components/layout/shell/shortcuts.ts +21 -4
- package/src/components/layout/shell/terminal-pointer-runtime.ts +24 -0
- package/src/components/markdown-text.tsx +62 -20
- package/src/components/metric-treemap/heat-surface.tsx +8 -1
- package/src/components/onboarding/account-step/form-panel.tsx +1 -1
- package/src/components/onboarding/account-step/index.tsx +1 -1
- package/src/components/onboarding/account-step/qr-panel.tsx +1 -1
- package/src/components/onboarding/account-step/signed-in-panel.tsx +1 -1
- package/src/components/onboarding/onboarding-keyboard.ts +1 -1
- package/src/components/onboarding/onboarding-wizard.tsx +2 -2
- package/src/components/onboarding/use-onboarding-upgrade.ts +3 -3
- package/src/components/onboarding/wizard-account.ts +2 -2
- package/src/components/pane-template-wizard.tsx +9 -1
- package/src/components/price-selector-dialog.tsx +11 -2
- package/src/components/reader/article-reader.tsx +642 -0
- package/src/components/reader/article-text.ts +527 -0
- package/src/components/sign-in-gate.tsx +3 -3
- package/src/components/ticker/list-table-view.tsx +43 -2
- package/src/components/ui/action-row.tsx +2 -1
- package/src/components/ui/button.tsx +7 -1
- package/src/components/ui/choice-dialog.tsx +6 -4
- package/src/components/ui/confirm-dialog.tsx +28 -18
- package/src/components/ui/data-table/index.tsx +18 -6
- package/src/components/ui/data-table/opentui/index.tsx +37 -6
- package/src/components/ui/data-table/types.ts +12 -0
- package/src/components/ui/dialog-actions.tsx +64 -0
- package/src/components/ui/display.tsx +17 -3
- package/src/components/ui/frame.tsx +35 -2
- package/src/components/ui/icon.tsx +6 -1
- package/src/components/ui/query-bar.tsx +10 -1
- package/src/components/ui/text-prompt-dialog.tsx +11 -9
- package/src/data/cached-query.ts +2 -0
- package/src/data/config/store/migrations.ts +7 -0
- package/src/data/config/store/normalize.ts +7 -2
- package/src/data/config/store/portfolio-as-of-column.ts +57 -0
- package/src/data/ticker-repository.ts +5 -0
- package/src/data/ticker-store.ts +15 -0
- package/src/docs/content.ts +215 -0
- package/src/docs/load.ts +139 -0
- package/src/docs/requests.ts +39 -0
- package/src/docs/snapshot.chunk.ts +8 -0
- package/src/docs/snapshot.json +7555 -0
- package/src/docs/topics.ts +216 -0
- package/src/i18n/es.ts +65 -5
- package/src/i18n/ja.ts +65 -5
- package/src/i18n/ko.ts +65 -5
- package/src/i18n/zh-cn.ts +65 -5
- package/src/i18n/zh-tw.ts +65 -5
- package/src/layout/desks.ts +1 -1
- package/src/layout/pane-manager/dock-tree.ts +18 -0
- package/src/layout/pane-manager/index.ts +1 -0
- package/src/layout-marketplace/gallery.tsx +1 -1
- package/src/market-data/coordinator/chart.ts +10 -4
- package/src/market-data/coordinator/index.ts +6 -3
- package/src/{plugins/builtin/futures/contracts.ts → market-data/futures-board.ts} +81 -28
- package/src/market-data/futures-contract.ts +151 -0
- package/src/market-data/hooks.tsx +10 -2
- package/src/market-data/market/format.ts +39 -21
- package/src/market-data/market/freshness.ts +84 -20
- package/src/market-data/market/session-close-note.ts +3 -2
- package/src/market-data/market/status.ts +19 -23
- package/src/market-data/published-apac-sessions.ts +23 -1
- package/src/market-data/quotes/contributions.ts +5 -0
- package/src/market-data/quotes/metadata.ts +19 -24
- package/src/market-data/quotes/resolution.ts +5 -0
- package/src/market-data/quotes/screener-live-quotes.ts +5 -4
- package/src/market-data/result-types.ts +2 -0
- package/src/notifications/app-notifier.ts +17 -1
- package/src/notifications/notification-log.ts +180 -0
- package/src/plugins/auto-update-node.ts +2 -2
- package/src/plugins/auto-update.ts +2 -2
- package/src/plugins/builtin/account-management/index.tsx +1 -0
- package/src/plugins/builtin/account-management/model.ts +1 -56
- package/src/plugins/builtin/account-management/pane.tsx +6 -4
- package/src/plugins/builtin/account-management/password-dialog.tsx +1 -1
- package/src/plugins/builtin/alerts/catalysts.ts +1 -1
- package/src/plugins/builtin/alerts/cli.ts +313 -47
- package/src/plugins/builtin/alerts/events-pane.tsx +45 -7
- package/src/plugins/builtin/alerts/events.ts +23 -2
- package/src/plugins/builtin/alerts/focus.ts +27 -0
- package/src/plugins/builtin/alerts/history-pane.tsx +7 -2
- package/src/plugins/builtin/alerts/history.ts +2 -0
- package/src/plugins/builtin/alerts/index.tsx +47 -11
- package/src/plugins/builtin/alerts/pane.tsx +27 -1
- package/src/plugins/builtin/alerts/research-builder.ts +8 -3
- package/src/plugins/builtin/alerts/research-rules.ts +18 -2
- package/src/plugins/builtin/alerts/scheduled-check.ts +122 -0
- package/src/plugins/builtin/alerts/scheduled-sources.ts +25 -0
- package/src/plugins/builtin/alerts/scheduled.ts +254 -0
- package/src/plugins/builtin/alerts/targets.ts +92 -0
- package/src/plugins/builtin/analytics/index.tsx +8 -3
- package/src/plugins/builtin/analytics/risk-headless.ts +60 -27
- package/src/plugins/builtin/analytics/risk-math.ts +91 -27
- package/src/plugins/builtin/analytics/risk-model.ts +35 -5
- package/src/plugins/builtin/analytics/risk-pane.tsx +15 -8
- package/src/plugins/builtin/attention/headless.ts +1 -1
- package/src/plugins/builtin/attention/index.tsx +2 -0
- package/src/plugins/builtin/attention/pane.tsx +3 -1
- package/src/plugins/builtin/attention/series.ts +26 -0
- package/src/plugins/builtin/awards/headless.ts +88 -18
- package/src/plugins/builtin/awards/index.tsx +2 -0
- package/src/plugins/builtin/awards/model.ts +41 -1
- package/src/plugins/builtin/awards/pane.tsx +22 -13
- package/src/plugins/builtin/awards/series.ts +29 -0
- package/src/plugins/builtin/backtest/headless.ts +2 -2
- package/src/plugins/builtin/bond-calculator/model.ts +2 -1
- package/src/plugins/builtin/broker-manager/index.tsx +1 -0
- package/src/plugins/builtin/catalysts/headless.ts +1 -1
- package/src/plugins/builtin/catalysts/pane.tsx +3 -1
- package/src/plugins/builtin/cds/client.ts +49 -12
- package/src/plugins/builtin/cds/headless.ts +119 -19
- package/src/plugins/builtin/cds/index.tsx +3 -1
- package/src/plugins/builtin/cds/model.ts +214 -32
- package/src/plugins/builtin/cds/pane.tsx +58 -14
- package/src/plugins/builtin/cds/series.ts +19 -0
- package/src/plugins/builtin/central-bank-rates/client.ts +4 -0
- package/src/plugins/builtin/central-bank-rates/headless.ts +46 -16
- package/src/plugins/builtin/central-bank-rates/index.tsx +3 -1
- package/src/plugins/builtin/central-bank-rates/model.ts +99 -0
- package/src/plugins/builtin/central-bank-rates/pane.tsx +1 -1
- package/src/plugins/builtin/central-bank-rates/series.ts +36 -0
- package/src/plugins/builtin/chart-composer/catalog-inventory.ts +193 -255
- package/src/plugins/builtin/chart-composer/data-catalog-pane.tsx +84 -46
- package/src/plugins/builtin/chart-composer/editor.tsx +5 -4
- package/src/plugins/builtin/chart-composer/field-series.ts +40 -0
- package/src/plugins/builtin/chart-composer/headless-schema.ts +1 -1
- package/src/plugins/builtin/chart-composer/headless.ts +70 -5
- package/src/plugins/builtin/chart-composer/index.tsx +15 -3
- package/src/plugins/builtin/chart-composer/pane.tsx +81 -38
- package/src/plugins/builtin/chart-composer/series-catalog.ts +58 -50
- package/src/plugins/builtin/chart-composer/series-expression.ts +18 -10
- package/src/plugins/builtin/chart-composer/use-series-catalog.ts +59 -3
- package/src/plugins/builtin/chart-composer/user-series.ts +84 -0
- package/src/plugins/builtin/chat/content/composer-runtime.ts +6 -1
- package/src/plugins/builtin/chat/content/composer.tsx +5 -1
- package/src/plugins/builtin/chat/content/footer.tsx +12 -0
- package/src/plugins/builtin/chat/content/index.tsx +89 -5
- package/src/plugins/builtin/chat/content/new-dm-dialog.tsx +10 -2
- package/src/plugins/builtin/chat/content/new-messages.tsx +89 -0
- package/src/plugins/builtin/chat/content/row-activity.ts +132 -0
- package/src/plugins/builtin/chat/content/scroll.ts +127 -27
- package/src/plugins/builtin/chat/content/shortcuts.ts +2 -2
- package/src/plugins/builtin/chat/content/transcript.tsx +145 -78
- package/src/plugins/builtin/chat/content/types.ts +1 -0
- package/src/plugins/builtin/chat/controller/fetch.ts +8 -2
- package/src/plugins/builtin/chat/controller/index.ts +123 -1
- package/src/plugins/builtin/chat/controller/message-loading.ts +3 -0
- package/src/plugins/builtin/chat/controller/messages.ts +7 -2
- package/src/plugins/builtin/chat/controller/realtime.ts +10 -1
- package/src/plugins/builtin/chat/controller/send.ts +61 -1
- package/src/plugins/builtin/chat/controller/state.ts +8 -0
- package/src/plugins/builtin/chat/ghost-user.ts +20 -0
- package/src/plugins/builtin/chat/index.tsx +23 -5
- package/src/plugins/builtin/chat/layout.ts +78 -5
- package/src/plugins/builtin/chat/message/ai-badge.tsx +18 -0
- package/src/plugins/builtin/chat/message/desktop.tsx +55 -6
- package/src/plugins/builtin/chat/message/header.tsx +16 -4
- package/src/plugins/builtin/chat/message/profile-popover.tsx +5 -1
- package/src/plugins/builtin/chat/message/reactions.tsx +210 -0
- package/src/plugins/builtin/chat/message/render-state.ts +18 -2
- package/src/plugins/builtin/chat/message/terminal.tsx +43 -4
- package/src/plugins/builtin/chat/message/types.ts +12 -0
- package/src/plugins/builtin/chat/reactions.ts +197 -0
- package/src/plugins/builtin/chat/share/flow.tsx +87 -0
- package/src/plugins/builtin/chat/share/targets.ts +27 -0
- package/src/plugins/builtin/chat/status-widget.tsx +6 -3
- package/src/plugins/builtin/chat/unread-inbox-pane.tsx +148 -27
- package/src/plugins/builtin/chat/unread-inbox.ts +22 -0
- package/src/plugins/builtin/cloud/askg/attached-pane.tsx +69 -0
- package/src/plugins/builtin/cloud/askg/controller.ts +111 -19
- package/src/plugins/builtin/cloud/askg/executor.ts +57 -3
- package/src/plugins/builtin/cloud/askg/manifest.ts +32 -7
- package/src/plugins/builtin/cloud/askg/model.ts +27 -8
- package/src/plugins/builtin/cloud/askg/pane-attachment.ts +94 -0
- package/src/plugins/builtin/cloud/askg/pane.tsx +141 -12
- package/src/plugins/builtin/cloud/askg/pending-question.ts +11 -0
- package/src/plugins/builtin/cloud/askg/protocol.ts +10 -1
- package/src/plugins/builtin/cloud/askg/tool-display.ts +3 -0
- package/src/plugins/builtin/cloud/askg/undo.ts +2 -0
- package/src/plugins/builtin/cloud/auth-actions.tsx +1 -1
- package/src/plugins/builtin/cloud/auth-commands.ts +1 -1
- package/src/plugins/builtin/cloud/auth-dialog.tsx +3 -3
- package/src/plugins/builtin/cloud/company-picker.tsx +1 -1
- package/src/plugins/builtin/cloud/mcp-connect/dialog.tsx +3 -0
- package/src/plugins/builtin/cloud/plugin.tsx +19 -2
- package/src/plugins/builtin/cloud/team/model.ts +5 -0
- package/src/plugins/builtin/cloud/team/module.tsx +1 -0
- package/src/plugins/builtin/cloud/team/store.ts +8 -3
- package/src/plugins/builtin/cloud/terminal-relay/engine.ts +77 -9
- package/src/plugins/builtin/cloud/terminal-relay/manifest.ts +6 -1
- package/src/plugins/builtin/cloud/terminal-relay/policy.ts +9 -0
- package/src/plugins/builtin/cloud/terminal-relay/prompts.tsx +35 -11
- package/src/plugins/builtin/cloud/thesis/exposure.ts +1 -1
- package/src/plugins/builtin/cloud/thesis/module.tsx +1 -0
- package/src/plugins/builtin/cloud/thesis/prompts.tsx +2 -1
- package/src/plugins/builtin/company-attention/app-rank.tsx +1 -1
- package/src/plugins/builtin/company-attention/headless.ts +21 -7
- package/src/plugins/builtin/company-attention/index.tsx +2 -0
- package/src/plugins/builtin/company-attention/model.ts +26 -7
- package/src/plugins/builtin/company-attention/pane.tsx +12 -9
- package/src/plugins/builtin/company-attention/series.ts +52 -0
- package/src/plugins/builtin/company-kpis/headless.ts +97 -10
- package/src/plugins/builtin/company-kpis/model.ts +24 -2
- package/src/plugins/builtin/company-kpis/pane.tsx +17 -16
- package/src/plugins/builtin/composite-plugins.ts +19 -13
- package/src/plugins/builtin/connections/index.ts +1 -0
- package/src/plugins/builtin/cot/headless.ts +1 -1
- package/src/plugins/builtin/cot/index.tsx +3 -1
- package/src/plugins/builtin/cot/model.ts +40 -11
- package/src/plugins/builtin/cot/series.ts +27 -0
- package/src/plugins/builtin/cpi/headless.ts +3 -3
- package/src/plugins/builtin/credit-boards/cdx-pane.tsx +10 -1
- package/src/plugins/builtin/credit-boards/client.ts +6 -2
- package/src/plugins/builtin/credit-boards/headless.ts +108 -31
- package/src/plugins/builtin/credit-boards/index.tsx +2 -0
- package/src/plugins/builtin/credit-boards/model.ts +11 -1
- package/src/plugins/builtin/credit-boards/series.ts +66 -0
- package/src/plugins/builtin/credit-conditions/client.ts +12 -9
- package/src/plugins/builtin/credit-conditions/headless.ts +13 -2
- package/src/plugins/builtin/credit-conditions/index.tsx +18 -9
- package/src/plugins/builtin/credit-conditions/model.ts +19 -11
- package/src/plugins/builtin/credit-conditions/series.ts +16 -0
- package/src/plugins/builtin/credit-documents/headless.ts +33 -3
- package/src/plugins/builtin/credit-documents/pane.tsx +3 -1
- package/src/plugins/builtin/crypto-board/headless.ts +2 -3
- package/src/plugins/builtin/crypto-board/index.tsx +2 -0
- package/src/plugins/builtin/crypto-board/model.ts +12 -0
- package/src/plugins/builtin/crypto-board/pane.tsx +19 -12
- package/src/plugins/builtin/crypto-board/series.ts +48 -0
- package/src/plugins/builtin/custom-view/live-quotes.ts +2 -2
- package/src/plugins/builtin/debt-maturities/headless.ts +17 -11
- package/src/plugins/builtin/debt-maturities/index.tsx +2 -0
- package/src/plugins/builtin/debt-maturities/series.ts +45 -0
- package/src/plugins/builtin/dividend-yield/client.ts +3 -0
- package/src/plugins/builtin/dividend-yield/headless.ts +7 -4
- package/src/plugins/builtin/dividend-yield/index.tsx +3 -1
- package/src/plugins/builtin/dividend-yield/pane.tsx +3 -1
- package/src/plugins/builtin/dividend-yield/series.ts +20 -0
- package/src/plugins/builtin/dividend-yield/types.ts +2 -0
- package/src/plugins/builtin/docs/blocks.tsx +181 -0
- package/src/plugins/builtin/docs/index.tsx +68 -0
- package/src/plugins/builtin/docs/pane.tsx +426 -0
- package/src/plugins/builtin/docs/targets.ts +72 -0
- package/src/plugins/builtin/docs/use-docs.ts +60 -0
- package/src/plugins/builtin/doe/headless.ts +12 -8
- package/src/plugins/builtin/doe/index.tsx +2 -0
- package/src/plugins/builtin/doe/series.ts +62 -0
- package/src/plugins/builtin/earnings/client.ts +3 -2
- package/src/plugins/builtin/earnings/format.ts +1 -5
- package/src/plugins/builtin/earnings/headless.ts +58 -6
- package/src/plugins/builtin/earnings/history-model.ts +15 -1
- package/src/plugins/builtin/earnings/history-table.ts +13 -2
- package/src/plugins/builtin/earnings/history.tsx +7 -3
- package/src/plugins/builtin/earnings/index.tsx +9 -0
- package/src/plugins/builtin/earnings-calls/headless.ts +28 -2
- package/src/plugins/builtin/earnings-calls/index.tsx +1 -1
- package/src/plugins/builtin/earnings-ripple/index.tsx +2 -0
- package/src/plugins/builtin/econ/fred-catalog.ts +198 -0
- package/src/plugins/builtin/econ/fred-series-map.ts +0 -46
- package/src/plugins/builtin/econ/index.tsx +2 -0
- package/src/plugins/builtin/econ-statistics/defs.ts +5 -0
- package/src/plugins/builtin/econ-statistics/headless.ts +19 -4
- package/src/plugins/builtin/econ-statistics/stats.ts +1 -0
- package/src/plugins/builtin/equity-screener/headless.ts +3 -3
- package/src/plugins/builtin/equity-screener/pane.tsx +4 -11
- package/src/plugins/builtin/estimate-revisions/headless.ts +3 -3
- package/src/plugins/builtin/exposure/drivers.ts +13 -0
- package/src/plugins/builtin/exposure/headless.ts +205 -13
- package/src/plugins/builtin/exposure/holdings.ts +1 -1
- package/src/plugins/builtin/exposure/index.tsx +1 -0
- package/src/plugins/builtin/exposure/model.ts +23 -3
- package/src/plugins/builtin/exposure/pane.tsx +14 -12
- package/src/plugins/builtin/fear-greed/index.tsx +18 -10
- package/src/plugins/builtin/fear-greed/series.ts +52 -0
- package/src/plugins/builtin/futures/index.tsx +43 -3
- package/src/plugins/builtin/futures/model.ts +1 -1
- package/src/plugins/builtin/futures/returns.ts +1 -1
- package/src/plugins/builtin/futures/series.ts +13 -0
- package/src/plugins/builtin/futures/table.tsx +1 -1
- package/src/plugins/builtin/futures/use-front-returns.ts +1 -1
- package/src/plugins/builtin/futures-curve/client.ts +12 -3
- package/src/plugins/builtin/futures-curve/headless.ts +71 -10
- package/src/plugins/builtin/futures-curve/index.tsx +1 -1
- package/src/plugins/builtin/futures-curve/model.ts +66 -11
- package/src/plugins/builtin/futures-curve/pane.tsx +52 -18
- package/src/plugins/builtin/fx-matrix/client.ts +63 -0
- package/src/plugins/builtin/fx-matrix/export.ts +2 -1
- package/src/plugins/builtin/fx-matrix/headless.ts +154 -0
- package/src/plugins/builtin/fx-matrix/index.tsx +4 -4
- package/src/plugins/builtin/gpu/board.tsx +13 -10
- package/src/plugins/builtin/gpu/changes.tsx +4 -4
- package/src/plugins/builtin/gpu/client.ts +19 -1
- package/src/plugins/builtin/gpu/equities.tsx +14 -10
- package/src/plugins/builtin/gpu/headless.ts +58 -27
- package/src/plugins/builtin/gpu/history.tsx +3 -3
- package/src/plugins/builtin/gpu/index.tsx +2 -0
- package/src/plugins/builtin/gpu/model.ts +101 -16
- package/src/plugins/builtin/gpu/pane.tsx +28 -12
- package/src/plugins/builtin/gpu/series.ts +38 -0
- package/src/plugins/builtin/help/function-card.tsx +25 -6
- package/src/plugins/builtin/help/function-index.ts +2 -0
- package/src/plugins/builtin/help/index.tsx +31 -9
- package/src/plugins/builtin/holders/beneficial-model.ts +90 -3
- package/src/plugins/builtin/holders/beneficial-report.ts +57 -5
- package/src/plugins/builtin/holders/beneficial-view.tsx +55 -11
- package/src/plugins/builtin/holders/client.ts +22 -3
- package/src/plugins/builtin/holders/format.ts +18 -3
- package/src/plugins/builtin/holders/headless.ts +36 -133
- package/src/plugins/builtin/holders/pane.tsx +11 -4
- package/src/plugins/builtin/holders/report-header.ts +40 -5
- package/src/plugins/builtin/holders/report-rows.ts +240 -0
- package/src/plugins/builtin/insider/client.ts +35 -20
- package/src/plugins/builtin/insider/headless.ts +41 -11
- package/src/plugins/builtin/insider/index.tsx +26 -9
- package/src/plugins/builtin/insider/insider-data.ts +10 -0
- package/src/plugins/builtin/insider/issuer.ts +49 -0
- package/src/plugins/builtin/insider/model.ts +3 -0
- package/src/plugins/builtin/ipo-calendar/headless.ts +1 -1
- package/src/plugins/builtin/iv-history/client.ts +20 -6
- package/src/plugins/builtin/iv-history/format.ts +9 -0
- package/src/plugins/builtin/iv-history/headless.ts +56 -21
- package/src/plugins/builtin/iv-history/index.tsx +2 -0
- package/src/plugins/builtin/iv-history/model.ts +143 -8
- package/src/plugins/builtin/iv-history/screen-pane.tsx +5 -9
- package/src/plugins/builtin/iv-history/series.ts +29 -0
- package/src/plugins/builtin/jobs/headless.ts +26 -3
- package/src/plugins/builtin/jobs/index.tsx +3 -1
- package/src/plugins/builtin/jobs/series.ts +19 -0
- package/src/plugins/builtin/kelly-sizer/index.tsx +2 -0
- package/src/plugins/builtin/kelly-sizer/pane.tsx +2 -1
- package/src/plugins/builtin/kelly-sizer/portfolio.ts +0 -39
- package/src/plugins/builtin/macro-day/client.ts +44 -3
- package/src/plugins/builtin/macro-day/headless.ts +13 -10
- package/src/plugins/builtin/macro-day/model.ts +56 -10
- package/src/plugins/builtin/macro-day/pane.tsx +30 -20
- package/src/plugins/builtin/market-heatmap/headless.ts +20 -5
- package/src/plugins/builtin/market-heatmap/index.tsx +6 -0
- package/src/plugins/builtin/market-heatmap/model.ts +19 -11
- package/src/plugins/builtin/market-heatmap/portfolio.ts +2 -2
- package/src/plugins/builtin/market-movers/client.ts +7 -5
- package/src/plugins/builtin/market-movers/index.tsx +3 -2
- package/src/plugins/builtin/market-movers/model.ts +30 -0
- package/src/plugins/builtin/market-movers/screener.ts +31 -0
- package/src/plugins/builtin/market-valuation/chart-series.ts +29 -69
- package/src/plugins/builtin/market-valuation/index.tsx +3 -3
- package/src/plugins/builtin/market-valuation/indicators.ts +0 -5
- package/src/plugins/builtin/members/headless.ts +8 -3
- package/src/plugins/builtin/members/model.ts +31 -3
- package/src/plugins/builtin/members/pane.tsx +6 -8
- package/src/plugins/builtin/mna/distress/headless.ts +4 -4
- package/src/plugins/builtin/mna/headless.ts +18 -6
- package/src/plugins/builtin/money-markets/headless.ts +5 -4
- package/src/plugins/builtin/money-markets/index.tsx +2 -0
- package/src/plugins/builtin/money-markets/series.ts +41 -0
- package/src/plugins/builtin/news/index.tsx +0 -2
- package/src/plugins/builtin/news/wire/news/detail-view.tsx +53 -104
- package/src/plugins/builtin/news/wire/news/footer.ts +2 -25
- package/src/plugins/builtin/news/wire/news/preset-pane.tsx +0 -2
- package/src/plugins/builtin/notes/cli.ts +12 -7
- package/src/plugins/builtin/notes/index.tsx +1 -0
- package/src/plugins/builtin/options/index.tsx +3 -0
- package/src/plugins/builtin/options/view.tsx +1 -1
- package/src/plugins/builtin/options-calculator/inputs.ts +2 -1
- package/src/plugins/builtin/options-positioning/client.ts +7 -3
- package/src/plugins/builtin/options-positioning/headless.ts +4 -3
- package/src/plugins/builtin/options-positioning/pane.tsx +2 -2
- package/src/plugins/builtin/options-scenario/client.ts +2 -1
- package/src/plugins/builtin/options-scenario/headless.ts +1 -0
- package/src/plugins/builtin/options-scenario/hedge.ts +2 -1
- package/src/plugins/builtin/perps/client.ts +90 -16
- package/src/plugins/builtin/perps/equity-row.tsx +52 -17
- package/src/plugins/builtin/perps/freshness.ts +66 -0
- package/src/plugins/builtin/perps/headless.ts +47 -32
- package/src/plugins/builtin/perps/index.tsx +23 -4
- package/src/plugins/builtin/perps/list-perpetuals.ts +118 -0
- package/src/plugins/builtin/perps/model.ts +20 -5
- package/src/plugins/builtin/perps/open-market.ts +15 -0
- package/src/plugins/builtin/perps/pane.tsx +76 -20
- package/src/plugins/builtin/perps/series.ts +76 -0
- package/src/plugins/builtin/plugin-marketplace/index.tsx +1 -1
- package/src/plugins/builtin/plugin-marketplace/pane.tsx +73 -67
- package/src/plugins/builtin/plugin-module.ts +3 -0
- package/src/plugins/builtin/portfolio-list/account-metrics.ts +1 -1
- package/src/plugins/builtin/portfolio-list/allocation.ts +5 -4
- package/src/plugins/builtin/portfolio-list/cell-version.ts +8 -1
- package/src/plugins/builtin/portfolio-list/cli/bulk-symbols.ts +161 -0
- package/src/plugins/builtin/portfolio-list/cli/import-13f.ts +109 -0
- package/src/plugins/builtin/portfolio-list/cli/portfolio-command.ts +384 -74
- package/src/plugins/builtin/portfolio-list/cli/render.ts +437 -71
- package/src/plugins/builtin/portfolio-list/cli/shared.ts +21 -4
- package/src/plugins/builtin/portfolio-list/cli/watchlist-command.ts +121 -47
- package/src/plugins/builtin/portfolio-list/column-values.ts +104 -26
- package/src/plugins/builtin/portfolio-list/grid.tsx +1 -1
- package/src/plugins/builtin/portfolio-list/headless.ts +84 -18
- package/src/plugins/builtin/portfolio-list/imported-from.ts +8 -0
- package/src/plugins/builtin/portfolio-list/index.tsx +5 -1
- package/src/plugins/builtin/portfolio-list/live-valuation.ts +6 -2
- package/src/plugins/builtin/portfolio-list/mutations.ts +2 -9
- package/src/plugins/builtin/portfolio-list/pane/data.ts +5 -1
- package/src/plugins/builtin/portfolio-list/pane/index.tsx +52 -9
- package/src/plugins/builtin/portfolio-list/quick-add/index.tsx +33 -11
- package/src/plugins/builtin/portfolio-list/quick-add/resolution.ts +21 -1
- package/src/plugins/builtin/portfolio-list/settings.ts +17 -0
- package/src/plugins/builtin/portfolio-list/summary/index.tsx +12 -0
- package/src/plugins/builtin/portfolio-list/summary/totals.ts +9 -4
- package/src/plugins/builtin/portfolio-list/table.tsx +37 -7
- package/src/plugins/builtin/power/client.ts +16 -0
- package/src/plugins/builtin/power/evidence.ts +63 -10
- package/src/plugins/builtin/power/headless.ts +77 -9
- package/src/plugins/builtin/power/index.tsx +28 -3
- package/src/plugins/builtin/power/model.ts +73 -2
- package/src/plugins/builtin/power/pane.tsx +37 -9
- package/src/plugins/builtin/power/prices-client.ts +139 -0
- package/src/plugins/builtin/power/prices-headless.ts +137 -0
- package/src/plugins/builtin/power/prices-model.ts +103 -0
- package/src/plugins/builtin/power/prices.tsx +179 -0
- package/src/plugins/builtin/rate-path/headless.ts +46 -18
- package/src/plugins/builtin/realized-vol/headless.ts +5 -0
- package/src/plugins/builtin/relative-rotation/headless.ts +3 -3
- package/src/plugins/builtin/research/corporate-actions-pane.tsx +5 -2
- package/src/plugins/builtin/research/event-model.ts +68 -24
- package/src/plugins/builtin/research/events-headless.ts +2 -1
- package/src/plugins/builtin/research/headless.ts +2 -1
- package/src/plugins/builtin/research/index.tsx +2 -0
- package/src/plugins/builtin/research-search/article.ts +65 -0
- package/src/plugins/builtin/research-search/document-view.tsx +33 -215
- package/src/plugins/builtin/research-search/model.ts +0 -9
- package/src/plugins/builtin/research-search/pane.tsx +41 -30
- package/src/plugins/builtin/research-search/snippet.ts +0 -29
- package/src/plugins/builtin/revenue-breakdown/headless.ts +18 -6
- package/src/plugins/builtin/seasonality/client.ts +15 -7
- package/src/plugins/builtin/seasonality/headless.ts +36 -12
- package/src/plugins/builtin/seasonality/index.tsx +2 -2
- package/src/plugins/builtin/seasonality/model.ts +119 -0
- package/src/plugins/builtin/seasonality/pane.tsx +108 -37
- package/src/plugins/builtin/sec/headless.ts +25 -3
- package/src/plugins/builtin/sec/index.tsx +2 -1
- package/src/plugins/builtin/series-inventory.ts +93 -0
- package/src/plugins/builtin/shared/cloud-denied.ts +15 -0
- package/src/plugins/builtin/shared/cloud-upgrade.ts +1 -1
- package/src/plugins/builtin/shared/command-tab.ts +30 -12
- package/src/plugins/builtin/shared/earnings-report.ts +55 -0
- package/src/plugins/builtin/shared/fred-points.ts +20 -0
- package/src/plugins/builtin/shared/free-preview.ts +47 -0
- package/src/plugins/builtin/shared/fx-rate-freshness.ts +101 -0
- package/src/plugins/builtin/shared/open-description.ts +29 -0
- package/src/plugins/builtin/shared/report-freshness.ts +12 -1
- package/src/plugins/builtin/shared/series-warning.ts +5 -0
- package/src/plugins/builtin/shared/volatility/options.ts +4 -1
- package/src/plugins/builtin/short-interest/headless.ts +1 -0
- package/src/plugins/builtin/short-interest/index.tsx +2 -0
- package/src/plugins/builtin/short-interest/series.ts +36 -0
- package/src/plugins/builtin/short-interest/watch-headless.ts +3 -2
- package/src/plugins/builtin/short-interest/watch-model.ts +9 -5
- package/src/plugins/builtin/short-volume/headless.ts +2 -1
- package/src/plugins/builtin/short-volume/index.tsx +2 -0
- package/src/plugins/builtin/short-volume/series.ts +23 -0
- package/src/plugins/builtin/social-mentions/headless.ts +1 -1
- package/src/plugins/builtin/social-mentions/index.tsx +2 -0
- package/src/plugins/builtin/social-mentions/series.ts +23 -0
- package/src/plugins/builtin/supply-chain/graph-pane.tsx +3 -2
- package/src/plugins/builtin/supply-chain/headless.ts +43 -11
- package/src/plugins/builtin/supply-chain/model.ts +13 -0
- package/src/plugins/builtin/supply-chain/pane.tsx +8 -6
- package/src/plugins/builtin/themes/headless.ts +74 -10
- package/src/plugins/builtin/themes/model.ts +71 -4
- package/src/plugins/builtin/themes/pane.tsx +22 -5
- package/src/plugins/builtin/thirteenf/api.ts +1 -0
- package/src/plugins/builtin/thirteenf/data.ts +6 -4
- package/src/plugins/builtin/thirteenf/headless.ts +217 -36
- package/src/plugins/builtin/thirteenf/model.ts +39 -1
- package/src/plugins/builtin/thirteenf/overlap.ts +75 -0
- package/src/plugins/builtin/thirteenf/pane.tsx +10 -1
- package/src/plugins/builtin/thirteenf/report-notes.ts +103 -1
- package/src/plugins/builtin/thirteenf/types.ts +2 -0
- package/src/plugins/builtin/ticker-detail/data-panes/returns-history.ts +114 -0
- package/src/plugins/builtin/ticker-detail/data-panes/returns-model.ts +57 -2
- package/src/plugins/builtin/ticker-detail/data-panes/returns-pane.tsx +19 -55
- package/src/plugins/builtin/ticker-detail/headless-schema.ts +30 -0
- package/src/plugins/builtin/ticker-detail/headless.ts +86 -0
- package/src/plugins/builtin/ticker-detail/index.tsx +26 -11
- package/src/plugins/builtin/ticker-detail/overview/components.tsx +1 -1
- package/src/plugins/builtin/ticker-detail/overview/futures-contract.ts +31 -0
- package/src/plugins/builtin/ticker-detail/overview/model.ts +3 -3
- package/src/plugins/builtin/ticker-detail/overview/pane.tsx +2 -1
- package/src/plugins/builtin/ticker-detail/overview-tab.tsx +49 -5
- package/src/plugins/builtin/ticker-detail/quote-monitor/index.tsx +13 -3
- package/src/plugins/builtin/time-sales/headless.ts +2 -1
- package/src/plugins/builtin/time-sales/index.tsx +2 -1
- package/src/plugins/builtin/treasury-auctions/headless.ts +16 -2
- package/src/plugins/builtin/treasury-auctions/index.tsx +1 -0
- package/src/plugins/builtin/treasury-auctions/model.ts +8 -0
- package/src/plugins/builtin/vol-surface/evidence.ts +7 -1
- package/src/plugins/builtin/vol-surface/headless.ts +51 -17
- package/src/plugins/builtin/vol-surface/heat-grid.tsx +113 -0
- package/src/plugins/builtin/vol-surface/model.ts +39 -6
- package/src/plugins/builtin/vol-surface/pane.tsx +14 -13
- package/src/plugins/builtin/vol-surface/stored.ts +63 -3
- package/src/plugins/builtin/vol-surface/surface.tsx +30 -2
- package/src/plugins/builtin/volatility/index.tsx +2 -0
- package/src/plugins/builtin/volatility/series.ts +84 -0
- package/src/plugins/builtin/world-venue-map/basemap-layer.tsx +6 -5
- package/src/plugins/builtin/world-venue-map/basemap.ts +6 -3
- package/src/plugins/builtin/world-venue-map/geo-draw.tsx +2 -1
- package/src/plugins/builtin/world-venue-map/geo-series.ts +26 -1
- package/src/plugins/builtin/world-venue-map/geo-svg.tsx +6 -6
- package/src/plugins/builtin/world-venue-map/headless.ts +4 -1
- package/src/plugins/builtin/world-venue-map/index.ts +2 -1
- package/src/plugins/builtin/world-venue-map/layered-pane.tsx +24 -13
- package/src/plugins/builtin/world-venue-map/layers.ts +29 -0
- package/src/plugins/builtin/world-venue-map/map.tsx +144 -13
- package/src/plugins/builtin/world-venue-map/model.ts +56 -19
- package/src/plugins/builtin/world-venue-map/pane.tsx +5 -2
- package/src/plugins/builtin/yield-curve/chart.ts +2 -2
- package/src/plugins/builtin/yield-curve/curves.ts +21 -8
- package/src/plugins/builtin/yield-curve/headless.ts +71 -18
- package/src/plugins/builtin/yield-curve/index.tsx +4 -2
- package/src/plugins/builtin/yield-curve/series.ts +86 -0
- package/src/plugins/catalog-browser.ts +2 -1
- package/src/plugins/installer.ts +2 -2
- package/src/plugins/loader.ts +15 -0
- package/src/plugins/manager-node.ts +1 -1
- package/src/plugins/{builtin/plugin-marketplace → marketplace}/feed.ts +2 -2
- package/src/plugins/{builtin/plugin-marketplace → marketplace}/model.ts +6 -6
- package/src/plugins/{builtin/plugin-marketplace → marketplace}/store.ts +1 -1
- package/src/plugins/registry/host-actions.ts +11 -0
- package/src/plugins/registry/index.ts +89 -4
- package/src/portfolio/collection-name.ts +31 -0
- package/src/{plugins/builtin/portfolio-list → portfolio}/position-metrics.ts +6 -6
- package/src/portfolio/position-value.ts +40 -0
- package/src/portfolio/valuation-basis.ts +79 -0
- package/src/public/__snapshots__/public-api.test.ts.snap +7 -0
- package/src/public/time-series.ts +17 -0
- package/src/react/auto-refresh.ts +13 -3
- package/src/react/input.ts +33 -1
- package/src/react/key-repeat.ts +86 -0
- package/src/remote/app-host.tsx +20 -4
- package/src/remote/confirm-change.tsx +85 -0
- package/src/remote/controller-utils.ts +8 -1
- package/src/remote/controller.ts +144 -7
- package/src/remote/pane-screenshot.ts +47 -0
- package/src/remote/schema.ts +65 -2
- package/src/remote/types.ts +30 -0
- package/src/remote/watchlist.ts +306 -0
- package/src/renderers/browser/main.tsx +4 -3
- package/src/renderers/browser/research-entry.ts +4 -2
- package/src/renderers/cloudflare/worker.ts +1 -1
- package/src/renderers/dom/data-table/frozen-column.ts +3 -1
- package/src/renderers/dom/data-table/index.tsx +33 -6
- package/src/renderers/dom/data-table/row.tsx +30 -1
- package/src/renderers/dom/desktop/control-styles.ts +63 -1
- package/src/renderers/dom/desktop/controls.tsx +30 -23
- package/src/renderers/dom/desktop/dialog-actions.tsx +170 -0
- package/src/renderers/dom/desktop/icons.tsx +16 -0
- package/src/renderers/dom/dom-ui-host.tsx +3 -0
- package/src/renderers/dom/host/block-glyph-canvas.tsx +6 -3
- package/src/renderers/dom/host/box.tsx +8 -0
- package/src/renderers/dom/host/chart-surface.tsx +33 -2
- package/src/renderers/dom/host/live-frame.ts +6 -2
- package/src/renderers/dom/host/overflow-fade.ts +14 -1
- package/src/renderers/dom/host/scroll-box.tsx +32 -0
- package/src/renderers/dom/host/size-observer.ts +41 -0
- package/src/renderers/dom/host/sticky-scroll.ts +128 -0
- package/src/renderers/dom/host/style.ts +1 -1
- package/src/renderers/dom/host/surface-3d.tsx +19 -7
- package/src/renderers/dom/host/surface-fit.ts +406 -0
- package/src/renderers/dom/host/text.tsx +1 -1
- package/src/renderers/dom/input-host.tsx +1 -0
- package/src/renderers/dom/styles.css +102 -5
- package/src/renderers/electrobun/bun/application-menu/click.ts +18 -0
- package/src/renderers/electrobun/bun/index.ts +3 -2
- package/src/renderers/electrobun/shared/protocol.ts +1 -1
- package/src/renderers/electrobun/view/cli-pane-shot-entry.tsx +29 -2
- package/src/renderers/electrobun/view/cli-pane-shot-frame.tsx +63 -20
- package/src/renderers/electrobun/view/cli-pane-shot-health.ts +10 -26
- package/src/renderers/electrobun/view/main.tsx +5 -3
- package/src/renderers/electrobun/view/remote/asset-data-client.ts +2 -0
- package/src/renderers/opentui/chart-surface.tsx +1 -0
- package/src/renderers/opentui/frame-capture.ts +33 -0
- package/src/renderers/opentui/host.tsx +10 -13
- package/src/renderers/opentui/pane-image/glyphs-license.txt +107 -0
- package/src/renderers/opentui/pane-image/glyphs.json +1 -0
- package/src/renderers/opentui/pane-image/index.ts +107 -0
- package/src/renderers/opentui/pane-image/raster.ts +428 -0
- package/src/renderers/opentui/start.tsx +3 -3
- package/src/renderers/opentui/test-utils.tsx +3 -0
- package/src/renderers/opentui/ui-host.tsx +29 -1
- package/src/series/capability.ts +75 -0
- package/src/series/csv.ts +160 -0
- package/src/series/files.ts +107 -0
- package/src/series/registry.ts +198 -0
- package/src/series/resolve.ts +108 -0
- package/src/series/standalone.ts +48 -0
- package/src/series/types.ts +153 -0
- package/src/series/validate.ts +171 -0
- package/src/shares/chat.ts +34 -0
- package/src/shares/dialog.tsx +295 -0
- package/src/shares/flow.tsx +56 -0
- package/src/shares/live.ts +14 -22
- package/src/shares/pane-image.ts +152 -0
- package/src/shares/personal-pane.ts +64 -0
- package/src/shares/portable-layout.ts +4 -2
- package/src/shares/prepare.ts +20 -0
- package/src/sources/gloomberb-cloud/index.ts +109 -10
- package/src/sources/gloomberb-cloud/normalizers.ts +3 -0
- package/src/sources/gloomberb-cloud/perpetuals.ts +249 -0
- package/src/sources/history-result.ts +1 -0
- package/src/sources/history-retention.ts +11 -0
- package/src/sources/listing-symbols.ts +4 -1
- package/src/sources/listing-target.ts +4 -0
- package/src/sources/provider-router/batches.ts +4 -1
- package/src/sources/provider-router/cache.ts +4 -2
- package/src/sources/provider-router/cached-routes.ts +1 -1
- package/src/sources/provider-router/financial-routes.ts +1 -0
- package/src/sources/provider-router/financials.ts +13 -0
- package/src/sources/provider-router/history.ts +43 -25
- package/src/sources/provider-router/index.ts +14 -0
- package/src/sources/provider-router/search.ts +1 -0
- package/src/state/hooks/inline-tickers.ts +49 -11
- package/src/sync/core-contributors.ts +1 -0
- package/src/test-support/shell-pane-keys.tsx +1 -0
- package/src/theme/theme-context.tsx +15 -1
- package/src/tickers/company-name.ts +75 -0
- package/src/tickers/instrument-kind.ts +34 -1
- package/src/tickers/listing-name.ts +34 -0
- package/src/tickers/listing-venues.ts +132 -0
- package/src/tickers/open-target.ts +13 -4
- package/src/tickers/perpetual-listing.ts +151 -0
- package/src/tickers/prediction-listing.ts +26 -0
- package/src/tickers/search/index.ts +72 -11
- package/src/tickers/search/ranking.ts +98 -20
- package/src/tickers/search/types.ts +7 -1
- package/src/tickers/ticker-changes.ts +213 -0
- package/src/tickers/us-listing.ts +34 -0
- package/src/time-series/economic.ts +2 -6
- package/src/time-series/hooks.ts +9 -0
- package/src/time-series/ice-credit.ts +39 -0
- package/src/time-series/resolve.ts +211 -29
- package/src/time-series/studies.ts +1 -0
- package/src/time-series/types.ts +12 -2
- package/src/time-series/use-chart-resolution.ts +32 -0
- package/src/types/config.ts +10 -2
- package/src/types/data-provider.ts +11 -0
- package/src/types/financials.ts +62 -1
- package/src/types/headless.ts +113 -0
- package/src/types/instrument.ts +4 -0
- package/src/types/plugin.ts +52 -2
- package/src/types/price-history.ts +7 -0
- package/src/types/ticker-changes.ts +26 -0
- package/src/types/ticker.ts +14 -0
- package/src/ui/context-menu.tsx +13 -1
- package/src/ui/host.tsx +57 -3
- package/src/ui/live-resize.ts +91 -0
- package/src/ui/live-stretch.ts +153 -0
- package/src/ui/measured-cells.ts +58 -0
- package/src/ui/sticky-scroll.ts +7 -0
- package/src/utils/basis-points.ts +17 -0
- package/src/utils/central-banks.ts +76 -0
- package/src/utils/cli-output.ts +131 -15
- package/src/utils/concurrency.ts +25 -0
- package/src/utils/crypto-pair.ts +20 -0
- package/src/utils/currency-pair.ts +19 -0
- package/src/utils/currency-units.ts +11 -0
- package/src/utils/datetime-format.ts +27 -6
- package/src/utils/decimal-comma.ts +19 -0
- package/src/utils/dom-screenshot-css.ts +265 -0
- package/src/utils/dom-screenshot-rasters.ts +276 -0
- package/src/utils/dom-screenshot.ts +439 -52
- package/src/utils/double-escape-close.ts +15 -1
- package/src/utils/exchange-rate-snapshot.ts +6 -2
- package/src/utils/exchanges.ts +143 -1
- package/src/utils/format.ts +35 -5
- package/src/utils/forward-dividend.ts +14 -0
- package/src/utils/fundamentals.ts +66 -0
- package/src/utils/futures-generic.ts +6 -12
- package/src/utils/fx-market-hours.ts +15 -5
- package/src/utils/fx-status.ts +6 -1
- package/src/utils/inline-content-tokenizer.ts +22 -3
- package/src/utils/market-capitalization.ts +8 -0
- package/src/utils/one-shot.ts +73 -0
- package/src/utils/options.ts +37 -8
- package/src/utils/price-history.ts +99 -42
- package/src/utils/sec-eps-basis.ts +24 -11
- package/src/utils/sec.ts +61 -7
- package/src/utils/utc-time.ts +63 -4
- package/src/plugins/builtin/fx-matrix/freshness.ts +0 -65
- /package/src/plugins/{builtin/plugin-marketplace → marketplace}/activation.ts +0 -0
- /package/src/plugins/{builtin/plugin-marketplace → marketplace}/ids.ts +0 -0
- /package/src/plugins/{builtin/plugin-marketplace → marketplace}/packs.ts +0 -0
- /package/src/{plugins/builtin/cloud → tickers}/starter-symbols.ts +0 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the DOCS pane can show and how it is addressed: a function's entry, a
|
|
3
|
+
* docs page, an Academy lesson, or the index with a search. Topics travel as
|
|
4
|
+
* short keys (`fn:OMON`, `page:mcp`, `lesson:/academy/...`) so a pane
|
|
5
|
+
* instance can hold one in its params and its back stack in pane state.
|
|
6
|
+
*/
|
|
7
|
+
import { functionDocsUrl } from "../cli/pane-functions/function-help";
|
|
8
|
+
import { DOCS_SITE, type DocsFeed, type DocsFunction, type DocsLessonSummary, type DocsPage } from "./content";
|
|
9
|
+
|
|
10
|
+
export type DocsTopic =
|
|
11
|
+
| { kind: "home"; query?: string }
|
|
12
|
+
| { kind: "function"; code: string }
|
|
13
|
+
| { kind: "page"; slug: string }
|
|
14
|
+
| { kind: "lesson"; url: string };
|
|
15
|
+
|
|
16
|
+
export function docsTopicKey(topic: DocsTopic): string {
|
|
17
|
+
switch (topic.kind) {
|
|
18
|
+
case "home": return topic.query ? `home:${topic.query}` : "home";
|
|
19
|
+
case "function": return `fn:${topic.code}`;
|
|
20
|
+
case "page": return `page:${topic.slug}`;
|
|
21
|
+
case "lesson": return `lesson:${topic.url}`;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function parseDocsTopicKey(key: string): DocsTopic | null {
|
|
26
|
+
if (key === "home") return { kind: "home" };
|
|
27
|
+
const split = key.indexOf(":");
|
|
28
|
+
if (split < 0) return null;
|
|
29
|
+
const kind = key.slice(0, split);
|
|
30
|
+
const value = key.slice(split + 1);
|
|
31
|
+
if (!value) return null;
|
|
32
|
+
if (kind === "home") return { kind: "home", query: value };
|
|
33
|
+
if (kind === "fn") return { kind: "function", code: value.toUpperCase() };
|
|
34
|
+
if (kind === "page") return { kind: "page", slug: value };
|
|
35
|
+
if (kind === "lesson" && value.startsWith("/academy/")) return { kind: "lesson", url: value };
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/** The anchor the site's function list gives a mnemonic, as `functionDocsUrl` builds it. */
|
|
40
|
+
function functionAnchor(code: string): string {
|
|
41
|
+
return functionDocsUrl(code).split("#")[1] ?? "";
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function findDocsFunction(feed: DocsFeed, code: string): DocsFunction | null {
|
|
45
|
+
const wanted = code.toUpperCase();
|
|
46
|
+
return feed.functions.find((fn) => fn.code === wanted) ?? null;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function findDocsPage(feed: DocsFeed, slug: string): DocsPage | null {
|
|
50
|
+
return feed.pages.find((page) => page.slug === slug) ?? null;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function findDocsLesson(feed: DocsFeed, url: string): DocsLessonSummary | null {
|
|
54
|
+
return feed.lessons.find((lesson) => lesson.url === url) ?? null;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/** Whether the feed has what the topic names; the index always exists. */
|
|
58
|
+
export function docsTopicExists(feed: DocsFeed, topic: DocsTopic): boolean {
|
|
59
|
+
switch (topic.kind) {
|
|
60
|
+
case "home": return true;
|
|
61
|
+
case "function": return findDocsFunction(feed, topic.code) !== null;
|
|
62
|
+
case "page": return findDocsPage(feed, topic.slug) !== null;
|
|
63
|
+
case "lesson": return findDocsLesson(feed, topic.url) !== null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* A link inside docs text, read in the app when it points at the docs or a
|
|
69
|
+
* lesson. Anything else (the account page, GitHub) returns null: the reader
|
|
70
|
+
* opens it in the browser, and only when it is clicked.
|
|
71
|
+
*/
|
|
72
|
+
export function docsTopicFromHref(feed: DocsFeed, href: string): DocsTopic | null {
|
|
73
|
+
let path = href.trim();
|
|
74
|
+
if (path.startsWith(DOCS_SITE)) path = path.slice(DOCS_SITE.length) || "/";
|
|
75
|
+
if (!path.startsWith("/")) return null;
|
|
76
|
+
const [pathname = "", hash = ""] = path.split("#");
|
|
77
|
+
const clean = pathname.split("?")[0]!.replace(/\/+$/, "");
|
|
78
|
+
if (clean === "/docs") return { kind: "home" };
|
|
79
|
+
if (clean === "/docs/functions") {
|
|
80
|
+
if (!hash) return { kind: "home" };
|
|
81
|
+
const fn = feed.functions.find((candidate) => functionAnchor(candidate.code) === hash);
|
|
82
|
+
return fn ? { kind: "function", code: fn.code } : { kind: "home" };
|
|
83
|
+
}
|
|
84
|
+
if (clean.startsWith("/docs/")) {
|
|
85
|
+
const slug = clean.slice("/docs/".length);
|
|
86
|
+
return findDocsPage(feed, slug) ? { kind: "page", slug } : null;
|
|
87
|
+
}
|
|
88
|
+
if (clean.startsWith("/academy/") && findDocsLesson(feed, clean)) return { kind: "lesson", url: clean };
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/** The same topic on gloom.sh, for Open in Browser. */
|
|
93
|
+
export function docsTopicUrl(topic: DocsTopic): string {
|
|
94
|
+
switch (topic.kind) {
|
|
95
|
+
case "home": return `${DOCS_SITE}/docs`;
|
|
96
|
+
case "function": return functionDocsUrl(topic.code);
|
|
97
|
+
case "page": return `${DOCS_SITE}/docs/${topic.slug}`;
|
|
98
|
+
case "lesson": return `${DOCS_SITE}${topic.url}`;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/** Absolute address for a site-relative link in docs text. */
|
|
103
|
+
export function docsHrefUrl(href: string): string {
|
|
104
|
+
return href.startsWith("/") ? `${DOCS_SITE}${href}` : href;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/** Docs pages that go deeper on a function: those tagged with its mnemonic. */
|
|
108
|
+
export function docsPagesForFunction(feed: DocsFeed, code: string): DocsPage[] {
|
|
109
|
+
return feed.pages.filter((page) => page.tags.includes(code));
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/** One row of the index: a function, a page or a lesson. */
|
|
113
|
+
export interface DocsEntry {
|
|
114
|
+
topic: DocsTopic;
|
|
115
|
+
key: string;
|
|
116
|
+
/** The mnemonic, for a function. */
|
|
117
|
+
code?: string;
|
|
118
|
+
title: string;
|
|
119
|
+
about: string;
|
|
120
|
+
section: string;
|
|
121
|
+
/** Searched, never shown. */
|
|
122
|
+
keywords: string;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
const GUIDES_ORDER = ["Start here", "Understand the data", "Account and teams", "Advanced", "Reference"];
|
|
126
|
+
/** The function list is the index; its page would only repeat it. */
|
|
127
|
+
const INDEX_PAGES_SKIPPED = new Set(["functions"]);
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Every entry in reading order: start-here pages, then functions by task,
|
|
131
|
+
* then the other guides, then the Academy by chapter.
|
|
132
|
+
*/
|
|
133
|
+
export function docsEntries(feed: DocsFeed): DocsEntry[] {
|
|
134
|
+
const pages = feed.pages
|
|
135
|
+
.filter((page) => !INDEX_PAGES_SKIPPED.has(page.slug))
|
|
136
|
+
.map((page): DocsEntry => {
|
|
137
|
+
const topic: DocsTopic = { kind: "page", slug: page.slug };
|
|
138
|
+
return {
|
|
139
|
+
topic,
|
|
140
|
+
key: docsTopicKey(topic),
|
|
141
|
+
title: page.title,
|
|
142
|
+
about: page.lead,
|
|
143
|
+
section: page.category || "Guides",
|
|
144
|
+
keywords: page.tags.join(" "),
|
|
145
|
+
};
|
|
146
|
+
});
|
|
147
|
+
const pageRank = (entry: DocsEntry) => {
|
|
148
|
+
const rank = GUIDES_ORDER.indexOf(entry.section);
|
|
149
|
+
return rank < 0 ? GUIDES_ORDER.length : rank;
|
|
150
|
+
};
|
|
151
|
+
const startHere = pages.filter((entry) => entry.section === GUIDES_ORDER[0]);
|
|
152
|
+
const guides = pages.filter((entry) => entry.section !== GUIDES_ORDER[0])
|
|
153
|
+
.sort((left, right) => pageRank(left) - pageRank(right));
|
|
154
|
+
const categoryTitle = new Map(feed.categories.map((category) => [category.id, category.title]));
|
|
155
|
+
const categoryRank = new Map(feed.categories.map((category, index) => [category.id, index]));
|
|
156
|
+
const functions = feed.functions
|
|
157
|
+
.map((fn, index) => ({ fn, index }))
|
|
158
|
+
.sort((left, right) => (
|
|
159
|
+
(categoryRank.get(left.fn.category) ?? 99) - (categoryRank.get(right.fn.category) ?? 99) || left.index - right.index
|
|
160
|
+
))
|
|
161
|
+
.map(({ fn }): DocsEntry => {
|
|
162
|
+
const topic: DocsTopic = { kind: "function", code: fn.code };
|
|
163
|
+
return {
|
|
164
|
+
topic,
|
|
165
|
+
key: docsTopicKey(topic),
|
|
166
|
+
code: fn.code,
|
|
167
|
+
title: fn.name,
|
|
168
|
+
about: fn.description,
|
|
169
|
+
section: categoryTitle.get(fn.category) ?? "Functions",
|
|
170
|
+
keywords: `${fn.detail} ${fn.plugin?.name ?? ""}`,
|
|
171
|
+
};
|
|
172
|
+
});
|
|
173
|
+
const lessons = feed.lessons.map((lesson): DocsEntry => {
|
|
174
|
+
const topic: DocsTopic = { kind: "lesson", url: lesson.url };
|
|
175
|
+
return {
|
|
176
|
+
topic,
|
|
177
|
+
key: docsTopicKey(topic),
|
|
178
|
+
title: lesson.title,
|
|
179
|
+
about: lesson.summary,
|
|
180
|
+
section: `Academy: ${lesson.chapter}`,
|
|
181
|
+
keywords: lesson.chapter,
|
|
182
|
+
};
|
|
183
|
+
});
|
|
184
|
+
return [...startHere, ...functions, ...guides, ...lessons];
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
function entryScore(entry: DocsEntry, terms: string[], phrase: string): number {
|
|
188
|
+
const title = entry.title.toLowerCase();
|
|
189
|
+
const text = `${title} ${entry.about.toLowerCase()} ${entry.keywords.toLowerCase()}`;
|
|
190
|
+
let score = title === phrase ? 6 : 0;
|
|
191
|
+
for (const term of terms) {
|
|
192
|
+
const upper = term.toUpperCase();
|
|
193
|
+
if (entry.code === upper) score += 12;
|
|
194
|
+
else if (entry.code?.startsWith(upper)) score += 4;
|
|
195
|
+
else if (title.split(/[^a-z0-9]+/).some((word) => word.startsWith(term))) score += 3;
|
|
196
|
+
else if (text.includes(term)) score += 1;
|
|
197
|
+
else return 0;
|
|
198
|
+
}
|
|
199
|
+
// Functions and pages answer "what is this" before a lesson teaches it.
|
|
200
|
+
return score + (entry.topic.kind === "lesson" ? 0 : 0.5);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Entries matching every word, best first: a mnemonic before a title word
|
|
205
|
+
* before a mention. An empty query lists everything in reading order.
|
|
206
|
+
*/
|
|
207
|
+
export function searchDocsEntries(entries: readonly DocsEntry[], query: string): DocsEntry[] {
|
|
208
|
+
const phrase = query.trim().toLowerCase();
|
|
209
|
+
if (!phrase) return [...entries];
|
|
210
|
+
const terms = phrase.split(/\s+/).filter(Boolean);
|
|
211
|
+
return entries
|
|
212
|
+
.map((entry, index) => ({ entry, index, score: entryScore(entry, terms, phrase) }))
|
|
213
|
+
.filter(({ score }) => score > 0)
|
|
214
|
+
.sort((left, right) => right.score - left.score || left.index - right.index)
|
|
215
|
+
.map(({ entry }) => entry);
|
|
216
|
+
}
|
package/src/i18n/es.ts
CHANGED
|
@@ -268,8 +268,6 @@ export const es: Record<string, string> = {
|
|
|
268
268
|
"Upcoming earnings, with the move options imply.": "Próximos resultados, con el movimiento que implican las opciones.",
|
|
269
269
|
"The economic calendar.": "El calendario económico.",
|
|
270
270
|
"Ask Gloom: answers that cite filings, calls and news.": "Ask Gloom: respuestas que citan presentaciones, llamadas y noticias.",
|
|
271
|
-
"Not sure of a code? Press {key} and type what you want in plain words, like \"apple earnings\". The Functions tab lists everything.": "¿No sabes el código? Pulsa {key} y escribe lo que quieres con tus palabras, como \"apple earnings\". La pestaña Funciones las lista todas.",
|
|
272
|
-
"Not sure of a code? Type what you want in plain words, like \"apple earnings\". The Functions tab lists everything.": "¿No sabes el código? Escribe lo que quieres con tus palabras, como \"apple earnings\". La pestaña Funciones las lista todas.",
|
|
273
271
|
"Command Bar": "Barra de comandos",
|
|
274
272
|
"Manage Plugins...": "Gestionar plugins...",
|
|
275
273
|
"Change Theme...": "Cambiar tema...",
|
|
@@ -419,7 +417,7 @@ export const es: Record<string, string> = {
|
|
|
419
417
|
"Open a historical OHLCV table for a ticker.": "Abrir la tabla OHLCV histórica de un ticker.",
|
|
420
418
|
"Open financial statements for a ticker.": "Abrir los estados financieros de un ticker.",
|
|
421
419
|
"Open a compact quote monitor for one or more tickers": "Abrir un monitor compacto de cotizaciones para uno o más tickers",
|
|
422
|
-
"
|
|
420
|
+
"Holdings, weights and P&L of a portfolio or watchlist; set target weights to see drift and the trades that rebalance": "Posiciones, pesos y P&L de una cartera o lista; fija pesos objetivo para ver la desviación y las operaciones que la reequilibran",
|
|
423
421
|
"Open another portfolio list pane": "Abrir otro panel de lista de carteras",
|
|
424
422
|
"Open another watchlist pane": "Abrir otro panel de lista de seguimiento",
|
|
425
423
|
"Open another research pane for the selected ticker or current collection": "Abrir otro panel de análisis para el ticker o la colección actual",
|
|
@@ -503,7 +501,10 @@ export const es: Record<string, string> = {
|
|
|
503
501
|
// ── Help pane ────────────────────────────────────────────────
|
|
504
502
|
"How To Use Gloomberb": "Cómo usar Gloomberb",
|
|
505
503
|
"Gloomberb is command-bar first.": "Gloomberb se maneja ante todo con la barra de comandos.",
|
|
506
|
-
"
|
|
504
|
+
"Not sure of a code? Click the search bar at the top, or press {key}, and type what you want in plain words, like \"apple earnings\". The Functions tab lists everything.": "¿No sabes el código? Haz clic en la barra de búsqueda de arriba, o pulsa {key}, y escribe lo que quieres con tus palabras, como \"apple earnings\". La pestaña Funciones las lista todas.",
|
|
505
|
+
"Not sure of a code? Click the search bar at the top and type what you want in plain words, like \"apple earnings\". The Functions tab lists everything.": "¿No sabes el código? Haz clic en la barra de búsqueda de arriba y escribe lo que quieres con tus palabras, como \"apple earnings\". La pestaña Funciones las lista todas.",
|
|
506
|
+
"Click anything to use it; the keys shown beside actions are shortcuts.": "Haz clic en cualquier cosa para usarla; las teclas junto a las acciones son atajos.",
|
|
507
|
+
"Open Help": "Abrir la ayuda",
|
|
507
508
|
"Command Prefixes": "Prefijos de comandos",
|
|
508
509
|
"Window Templates": "Plantillas de ventana",
|
|
509
510
|
"No shortcut window templates are currently registered.": "No hay plantillas de ventana con atajo registradas.",
|
|
@@ -588,7 +589,6 @@ export const es: Record<string, string> = {
|
|
|
588
589
|
"Open the help window": "Abrir la ventana de ayuda",
|
|
589
590
|
"Set up a portfolio": "Configura una cartera",
|
|
590
591
|
"How would you like to get started?": "¿Cómo quieres empezar?",
|
|
591
|
-
"{shortcut} to get started.": "{shortcut} para empezar.",
|
|
592
592
|
"Edits later from the command bar.": "Se edita luego desde la barra de comandos.",
|
|
593
593
|
"Create Manual Portfolio": "Crear cartera manual",
|
|
594
594
|
"Add tickers and positions by hand": "Agrega tickers y posiciones a mano",
|
|
@@ -825,6 +825,9 @@ export const es: Record<string, string> = {
|
|
|
825
825
|
"Reply to @{username}...": "Responder a @{username}...",
|
|
826
826
|
"Type a message...": "Escribe un mensaje...",
|
|
827
827
|
"Loading earlier messages...": "Cargando mensajes anteriores...",
|
|
828
|
+
"1 new message": "1 mensaje nuevo",
|
|
829
|
+
"{count} new messages": "{count} mensajes nuevos",
|
|
830
|
+
"Jump to the newest message": "Ir al mensaje más reciente",
|
|
828
831
|
"No messages yet. Be the first to say something!": "Aún no hay mensajes. ¡Sé el primero en escribir!",
|
|
829
832
|
"New DM": "Nuevo DM",
|
|
830
833
|
"Recent users": "Usuarios recientes",
|
|
@@ -1083,6 +1086,8 @@ export const es: Record<string, string> = {
|
|
|
1083
1086
|
"No tickers in {name}.": "No hay tickers en {name}.",
|
|
1084
1087
|
"this collection": "esta colección",
|
|
1085
1088
|
"Press {shortcut} to add one.": "Pulsa {shortcut} para agregar uno.",
|
|
1089
|
+
"Click {button} to add one, or press {shortcut}.": "Haz clic en {button} para agregar uno, o pulsa {shortcut}.",
|
|
1090
|
+
"Add ticker": "Agregar ticker",
|
|
1086
1091
|
"PRE-MKT": "PRE-MKT",
|
|
1087
1092
|
"OPEN": "ABIERTO",
|
|
1088
1093
|
"AFTER-HRS": "POST-MKT",
|
|
@@ -1381,6 +1386,10 @@ export const es: Record<string, string> = {
|
|
|
1381
1386
|
"Continue to checkout": "Ir al pago",
|
|
1382
1387
|
"{price}, billed today. Cancel anytime.": "{price}, se cobra hoy. Cancela cuando quieras.",
|
|
1383
1388
|
"{price}. Cancel anytime.": "{price}. Cancela cuando quieras.",
|
|
1389
|
+
"Start {days}-day free trial": "Iniciar prueba gratuita de {days} días",
|
|
1390
|
+
"$0 today, free for {days} days. Card required. Cancel anytime.": "$0 hoy, gratis durante {days} días. Tarjeta necesaria. Cancela cuando quieras.",
|
|
1391
|
+
"Billed today. Cancel anytime.": "Se cobra hoy. Cancela cuando quieras.",
|
|
1392
|
+
"Card required. Cancel anytime.": "Tarjeta necesaria. Cancela cuando quieras.",
|
|
1384
1393
|
"Real-time data": "Datos en tiempo real",
|
|
1385
1394
|
"Ask Gloom, MCP": "Ask Gloom, MCP",
|
|
1386
1395
|
"Flow and X": "Flujo y X",
|
|
@@ -1469,4 +1478,55 @@ export const es: Record<string, string> = {
|
|
|
1469
1478
|
"Picked": "Elegida",
|
|
1470
1479
|
"Follow {count} companies": "Seguir {count} empresas",
|
|
1471
1480
|
"Following {count} companies. Alerts and your Monday brief will cover them.": "Sigues {count} empresas. Las alertas y tu resumen del lunes las cubrirán.",
|
|
1481
|
+
|
|
1482
|
+
// ── Dialog keys on the desktop ───────────────────────────────
|
|
1483
|
+
"newline": "nueva línea",
|
|
1484
|
+
"Denied in {seconds} s": "Se deniega en {seconds} s",
|
|
1485
|
+
"choose": "elegir",
|
|
1486
|
+
"select": "seleccionar",
|
|
1487
|
+
"confirm": "confirmar",
|
|
1488
|
+
"presets": "preajustes",
|
|
1489
|
+
"add": "añadir",
|
|
1490
|
+
"source": "fuente",
|
|
1491
|
+
"panel": "panel",
|
|
1492
|
+
"log scale": "escala log.",
|
|
1493
|
+
"use {value}": "usar {value}",
|
|
1494
|
+
"keep the default": "dejar el valor por defecto",
|
|
1495
|
+
"continue": "continuar",
|
|
1496
|
+
"new code": "nuevo código",
|
|
1497
|
+
|
|
1498
|
+
// ── Plugins pane: starter packs ─────────────────────────────
|
|
1499
|
+
"Apply a starter pack": "Aplicar un paquete inicial",
|
|
1500
|
+
"{name} pack": "Paquete {name}",
|
|
1501
|
+
"Custom set": "Selección propia",
|
|
1502
|
+
"{count} on": "{count} activados",
|
|
1503
|
+
"{count} off": "{count} desactivados",
|
|
1504
|
+
"{count} back on": "{count} reactivados",
|
|
1505
|
+
"Turn off": "Desactivar",
|
|
1506
|
+
"Turn on": "Activar",
|
|
1507
|
+
"Keep": "Mantener",
|
|
1508
|
+
"Panes are hidden, not closed. Undo brings them back.": "Los paneles se ocultan, no se cierran. Deshacer los recupera.",
|
|
1509
|
+
"Apply {name}?": "¿Aplicar {name}?",
|
|
1510
|
+
"{name} applied: {changes}.": "{name} aplicado: {changes}.",
|
|
1511
|
+
"{name} is already what you have on.": "Ya tienes {name}.",
|
|
1512
|
+
"Undo": "Deshacer",
|
|
1513
|
+
// ── Docs (DOCS, the ? on a pane) ─────────────────────────────
|
|
1514
|
+
"Docs for this pane": "Documentación de este panel",
|
|
1515
|
+
"Docs": "Documentación",
|
|
1516
|
+
"Open Docs": "Abrir la documentación",
|
|
1517
|
+
"Read in Docs": "Leer en la documentación",
|
|
1518
|
+
"Read the docs and Academy lessons in the app. The ? on a pane opens its entry.": "Lee la documentación y las lecciones de la Academia dentro de la app. El ? de un panel abre su entrada.",
|
|
1519
|
+
"Open the focused pane's help card; Enter reads its docs.": "Abre la tarjeta de ayuda del panel activo; Enter lee su documentación.",
|
|
1520
|
+
"function, page or lesson": "función, página o lección",
|
|
1521
|
+
"Guides": "Guías",
|
|
1522
|
+
"Academy": "Academia",
|
|
1523
|
+
"offline, saved copy": "sin conexión, copia guardada",
|
|
1524
|
+
"Open in Browser": "Abrir en el navegador",
|
|
1525
|
+
"No docs match \"{query}\".": "Nada en la documentación coincide con \"{query}\".",
|
|
1526
|
+
"No docs for {name} yet.": "Aún no hay documentación para {name}.",
|
|
1527
|
+
"Search the Docs": "Buscar en la documentación",
|
|
1528
|
+
"This lesson is not saved for offline reading.": "Esta lección no está guardada para leer sin conexión.",
|
|
1529
|
+
"It is kept once it has been read with a connection.": "Se guarda al leerla una vez con conexión.",
|
|
1530
|
+
"Academy: {title}": "Academia: {title}",
|
|
1531
|
+
"{minutes} min": "{minutes} min",
|
|
1472
1532
|
};
|
package/src/i18n/ja.ts
CHANGED
|
@@ -269,8 +269,6 @@ export const ja: Record<string, string> = {
|
|
|
269
269
|
"Upcoming earnings, with the move options imply.": "今後の決算と、オプションが織り込む値動き。",
|
|
270
270
|
"The economic calendar.": "経済指標カレンダー。",
|
|
271
271
|
"Ask Gloom: answers that cite filings, calls and news.": "Ask Gloom:提出書類、決算説明会、ニュースを引用して答えます。",
|
|
272
|
-
"Not sure of a code? Press {key} and type what you want in plain words, like \"apple earnings\". The Functions tab lists everything.": "コードが分からない場合は {key} を押し、\"apple earnings\" のように普段の言葉で入力してください。「関数」タブに全機能があります。",
|
|
273
|
-
"Not sure of a code? Type what you want in plain words, like \"apple earnings\". The Functions tab lists everything.": "コードが分からない場合は \"apple earnings\" のように普段の言葉で入力してください。「関数」タブに全機能があります。",
|
|
274
272
|
"Command Bar": "コマンドバー",
|
|
275
273
|
"Manage Plugins...": "プラグインを管理...",
|
|
276
274
|
"Change Theme...": "テーマを変更...",
|
|
@@ -420,7 +418,7 @@ export const ja: Record<string, string> = {
|
|
|
420
418
|
"Open a historical OHLCV table for a ticker.": "銘柄の履歴 OHLCV テーブルを開きます。",
|
|
421
419
|
"Open financial statements for a ticker.": "銘柄の財務諸表を開きます。",
|
|
422
420
|
"Open a compact quote monitor for one or more tickers": "1 つ以上の銘柄のコンパクトな株価モニターを開く",
|
|
423
|
-
"
|
|
421
|
+
"Holdings, weights and P&L of a portfolio or watchlist; set target weights to see drift and the trades that rebalance": "ポートフォリオまたはウォッチリストの保有、ウェイト、損益。目標ウェイトを設定すると、乖離とリバランスに必要な取引を表示します",
|
|
424
422
|
"Open another portfolio list pane": "別のポートフォリオ リスト ペインを開く",
|
|
425
423
|
"Open another watchlist pane": "別のウォッチリスト ペインを開く",
|
|
426
424
|
"Open another research pane for the selected ticker or current collection": "選択した銘柄または現在のコレクションの別のリサーチ ペインを開きます",
|
|
@@ -504,7 +502,10 @@ export const ja: Record<string, string> = {
|
|
|
504
502
|
// ── Help pane ────────────────────────────────────────────────
|
|
505
503
|
"How To Use Gloomberb": "Gloomberb の使用方法",
|
|
506
504
|
"Gloomberb is command-bar first.": "Gloomberb はコマンドバー中心で操作します。",
|
|
507
|
-
"
|
|
505
|
+
"Not sure of a code? Click the search bar at the top, or press {key}, and type what you want in plain words, like \"apple earnings\". The Functions tab lists everything.": "コードが分からない場合は、上部の検索バーをクリックするか {key} を押し、\"apple earnings\" のように普段の言葉で入力してください。「関数」タブに全機能があります。",
|
|
506
|
+
"Not sure of a code? Click the search bar at the top and type what you want in plain words, like \"apple earnings\". The Functions tab lists everything.": "コードが分からない場合は、上部の検索バーをクリックし、\"apple earnings\" のように普段の言葉で入力してください。「関数」タブに全機能があります。",
|
|
507
|
+
"Click anything to use it; the keys shown beside actions are shortcuts.": "どこでもクリックして操作できます。操作の横に表示されるキーはショートカットです。",
|
|
508
|
+
"Open Help": "ヘルプを開く",
|
|
508
509
|
"Command Prefixes": "コマンド接頭辞",
|
|
509
510
|
"Window Templates": "ウィンドウ テンプレート",
|
|
510
511
|
"No shortcut window templates are currently registered.": "現在、ショートカット ウィンドウ テンプレートが登録されていません。",
|
|
@@ -589,7 +590,6 @@ export const ja: Record<string, string> = {
|
|
|
589
590
|
"Open the help window": "ヘルプ ウィンドウを開く",
|
|
590
591
|
"Set up a portfolio": "ポートフォリオを設定する",
|
|
591
592
|
"How would you like to get started?": "どの方法で始めますか?",
|
|
592
|
-
"{shortcut} to get started.": "{shortcut} で開始します。",
|
|
593
593
|
"Edits later from the command bar.": "後でコマンド バーから編集します。",
|
|
594
594
|
"Create Manual Portfolio": "手動ポートフォリオを作成",
|
|
595
595
|
"Add tickers and positions by hand": "銘柄とポジションを手動で追加",
|
|
@@ -839,6 +839,9 @@ export const ja: Record<string, string> = {
|
|
|
839
839
|
"Reply to @{username}...": "@{username} に返信...",
|
|
840
840
|
"Type a message...": "メッセージを入力してください...",
|
|
841
841
|
"Loading earlier messages...": "以前のメッセージを読み込んでいます...",
|
|
842
|
+
"1 new message": "新着メッセージ 1 件",
|
|
843
|
+
"{count} new messages": "新着メッセージ {count} 件",
|
|
844
|
+
"Jump to the newest message": "最新のメッセージへ移動",
|
|
842
845
|
"No messages yet. Be the first to say something!": "まだメッセージがありません。最初に何かを言ってみましょう!",
|
|
843
846
|
"New DM": "新しい DM",
|
|
844
847
|
"Recent users": "最近のユーザー",
|
|
@@ -1097,6 +1100,8 @@ export const ja: Record<string, string> = {
|
|
|
1097
1100
|
"No tickers in {name}.": "{name} に銘柄がありません。",
|
|
1098
1101
|
"this collection": "このコレクション",
|
|
1099
1102
|
"Press {shortcut} to add one.": "{shortcut} を押して追加します。",
|
|
1103
|
+
"Click {button} to add one, or press {shortcut}.": "{button} をクリックするか {shortcut} を押して追加します。",
|
|
1104
|
+
"Add ticker": "銘柄を追加",
|
|
1100
1105
|
"PRE-MKT": "PRE-MKT",
|
|
1101
1106
|
"OPEN": "取引中",
|
|
1102
1107
|
"AFTER-HRS": "時間外",
|
|
@@ -1377,6 +1382,10 @@ export const ja: Record<string, string> = {
|
|
|
1377
1382
|
"Continue to checkout": "チェックアウトへ進む",
|
|
1378
1383
|
"{price}, billed today. Cancel anytime.": "{price}、本日請求。いつでも解約可。",
|
|
1379
1384
|
"{price}. Cancel anytime.": "{price}。いつでも解約可。",
|
|
1385
|
+
"Start {days}-day free trial": "{days}日間の無料トライアルを開始",
|
|
1386
|
+
"$0 today, free for {days} days. Card required. Cancel anytime.": "本日 $0、{days} 日間無料。カード登録が必要。いつでも解約可。",
|
|
1387
|
+
"Billed today. Cancel anytime.": "本日請求。いつでも解約可。",
|
|
1388
|
+
"Card required. Cancel anytime.": "カード登録が必要。いつでも解約可。",
|
|
1380
1389
|
"Real-time data": "リアルタイムデータ",
|
|
1381
1390
|
"Ask Gloom, MCP": "Ask Gloom、MCP",
|
|
1382
1391
|
"Flow and X": "フローと X",
|
|
@@ -1465,4 +1474,55 @@ export const ja: Record<string, string> = {
|
|
|
1465
1474
|
"Picked": "選択済み",
|
|
1466
1475
|
"Follow {count} companies": "{count} 社をフォロー",
|
|
1467
1476
|
"Following {count} companies. Alerts and your Monday brief will cover them.": "{count} 社をフォローしました。アラートと月曜のブリーフで取り上げます。",
|
|
1477
|
+
|
|
1478
|
+
// ── Dialog keys on the desktop ───────────────────────────────
|
|
1479
|
+
"newline": "改行",
|
|
1480
|
+
"Denied in {seconds} s": "{seconds} 秒後に拒否",
|
|
1481
|
+
"choose": "選ぶ",
|
|
1482
|
+
"select": "決定",
|
|
1483
|
+
"confirm": "確定",
|
|
1484
|
+
"presets": "プリセット",
|
|
1485
|
+
"add": "追加",
|
|
1486
|
+
"source": "ソース",
|
|
1487
|
+
"panel": "パネル",
|
|
1488
|
+
"log scale": "対数目盛",
|
|
1489
|
+
"use {value}": "{value} を使う",
|
|
1490
|
+
"keep the default": "既定値のまま",
|
|
1491
|
+
"continue": "続ける",
|
|
1492
|
+
"new code": "新しいコード",
|
|
1493
|
+
|
|
1494
|
+
// ── Plugins pane: starter packs ─────────────────────────────
|
|
1495
|
+
"Apply a starter pack": "スターターパックを適用",
|
|
1496
|
+
"{name} pack": "{name} パック",
|
|
1497
|
+
"Custom set": "カスタム構成",
|
|
1498
|
+
"{count} on": "{count} 件オン",
|
|
1499
|
+
"{count} off": "{count} 件オフ",
|
|
1500
|
+
"{count} back on": "{count} 件を再びオン",
|
|
1501
|
+
"Turn off": "オフにする",
|
|
1502
|
+
"Turn on": "オンにする",
|
|
1503
|
+
"Keep": "維持",
|
|
1504
|
+
"Panes are hidden, not closed. Undo brings them back.": "ペインは閉じずに非表示になります。元に戻すと再表示されます。",
|
|
1505
|
+
"Apply {name}?": "{name} を適用しますか?",
|
|
1506
|
+
"{name} applied: {changes}.": "{name} を適用しました:{changes}。",
|
|
1507
|
+
"{name} is already what you have on.": "すでに {name} の構成です。",
|
|
1508
|
+
"Undo": "元に戻す",
|
|
1509
|
+
// ── Docs (DOCS, the ? on a pane) ─────────────────────────────
|
|
1510
|
+
"Docs for this pane": "このペインのドキュメント",
|
|
1511
|
+
"Docs": "ドキュメント",
|
|
1512
|
+
"Open Docs": "ドキュメントを開く",
|
|
1513
|
+
"Read in Docs": "ドキュメントで読む",
|
|
1514
|
+
"Read the docs and Academy lessons in the app. The ? on a pane opens its entry.": "ドキュメントとアカデミーのレッスンをアプリ内で読めます。ペインの ? でその項目が開きます。",
|
|
1515
|
+
"Open the focused pane's help card; Enter reads its docs.": "フォーカス中のペインのヘルプカードを開きます。Enter でドキュメントを読めます。",
|
|
1516
|
+
"function, page or lesson": "機能、ページ、レッスン",
|
|
1517
|
+
"Guides": "ガイド",
|
|
1518
|
+
"Academy": "アカデミー",
|
|
1519
|
+
"offline, saved copy": "オフライン、保存済みのコピー",
|
|
1520
|
+
"Open in Browser": "ブラウザで開く",
|
|
1521
|
+
"No docs match \"{query}\".": "「{query}」に一致するドキュメントはありません。",
|
|
1522
|
+
"No docs for {name} yet.": "{name} のドキュメントはまだありません。",
|
|
1523
|
+
"Search the Docs": "ドキュメントを検索",
|
|
1524
|
+
"This lesson is not saved for offline reading.": "このレッスンはオフライン用に保存されていません。",
|
|
1525
|
+
"It is kept once it has been read with a connection.": "一度オンラインで読むと保存されます。",
|
|
1526
|
+
"Academy: {title}": "アカデミー: {title}",
|
|
1527
|
+
"{minutes} min": "{minutes} 分",
|
|
1468
1528
|
};
|
package/src/i18n/ko.ts
CHANGED
|
@@ -267,8 +267,6 @@ export const ko: Record<string, string> = {
|
|
|
267
267
|
"Upcoming earnings, with the move options imply.": "다가오는 실적 발표와 옵션이 반영한 예상 변동폭.",
|
|
268
268
|
"The economic calendar.": "경제 캘린더.",
|
|
269
269
|
"Ask Gloom: answers that cite filings, calls and news.": "Ask Gloom: 공시, 실적 발표, 뉴스를 인용해 답합니다.",
|
|
270
|
-
"Not sure of a code? Press {key} and type what you want in plain words, like \"apple earnings\". The Functions tab lists everything.": "코드를 모르겠다면 {key}을 누르고 \"apple earnings\"처럼 원하는 것을 평범한 말로 입력하세요. 기능 탭에 전체 목록이 있습니다.",
|
|
271
|
-
"Not sure of a code? Type what you want in plain words, like \"apple earnings\". The Functions tab lists everything.": "코드를 모르겠다면 \"apple earnings\"처럼 원하는 것을 평범한 말로 입력하세요. 기능 탭에 전체 목록이 있습니다.",
|
|
272
270
|
"Command Bar": "명령 팔레트",
|
|
273
271
|
"Manage Plugins...": "플러그인 관리...",
|
|
274
272
|
"Change Theme...": "테마 변경...",
|
|
@@ -418,7 +416,7 @@ export const ko: Record<string, string> = {
|
|
|
418
416
|
"Open a historical OHLCV table for a ticker.": "종목의 과거 OHLCV 표를 엽니다.",
|
|
419
417
|
"Open financial statements for a ticker.": "종목 재무제표를 엽니다.",
|
|
420
418
|
"Open a compact quote monitor for one or more tickers": "하나 이상의 종목에 대한 간결한 시세 모니터 열기",
|
|
421
|
-
"
|
|
419
|
+
"Holdings, weights and P&L of a portfolio or watchlist; set target weights to see drift and the trades that rebalance": "포트폴리오 또는 관심 목록의 보유 종목, 비중, 손익. 목표 비중을 설정하면 괴리와 리밸런싱 거래를 표시합니다",
|
|
422
420
|
"Open another portfolio list pane": "포트폴리오 목록 패널 추가",
|
|
423
421
|
"Open another watchlist pane": "관심 목록 패널 추가",
|
|
424
422
|
"Open another research pane for the selected ticker or current collection": "선택 종목 또는 현재 컬렉션의 리서치 패널 추가",
|
|
@@ -502,7 +500,10 @@ export const ko: Record<string, string> = {
|
|
|
502
500
|
// ── Help pane ────────────────────────────────────────────────
|
|
503
501
|
"How To Use Gloomberb": "Gloomberb 사용 방법",
|
|
504
502
|
"Gloomberb is command-bar first.": "Gloomberb은 명령 팔레트를 중심으로 작동합니다.",
|
|
505
|
-
"
|
|
503
|
+
"Not sure of a code? Click the search bar at the top, or press {key}, and type what you want in plain words, like \"apple earnings\". The Functions tab lists everything.": "코드를 모르겠다면 위쪽 검색창을 클릭하거나 {key}을 누르고 \"apple earnings\"처럼 원하는 것을 평범한 말로 입력하세요. 기능 탭에 전체 목록이 있습니다.",
|
|
504
|
+
"Not sure of a code? Click the search bar at the top and type what you want in plain words, like \"apple earnings\". The Functions tab lists everything.": "코드를 모르겠다면 위쪽 검색창을 클릭하고 \"apple earnings\"처럼 원하는 것을 평범한 말로 입력하세요. 기능 탭에 전체 목록이 있습니다.",
|
|
505
|
+
"Click anything to use it; the keys shown beside actions are shortcuts.": "무엇이든 클릭해서 사용하세요. 동작 옆에 표시된 키는 단축키입니다.",
|
|
506
|
+
"Open Help": "도움말 열기",
|
|
506
507
|
"Command Prefixes": "명령 접두사",
|
|
507
508
|
"Window Templates": "창 템플릿",
|
|
508
509
|
"No shortcut window templates are currently registered.": "현재 등록된 바로가기 창 템플릿이 없습니다.",
|
|
@@ -587,7 +588,6 @@ export const ko: Record<string, string> = {
|
|
|
587
588
|
"Open the help window": "도움말 창 열기",
|
|
588
589
|
"Set up a portfolio": "포트폴리오 설정",
|
|
589
590
|
"How would you like to get started?": "어떻게 시작하시겠습니까?",
|
|
590
|
-
"{shortcut} to get started.": "{shortcut} 로 시작하세요.",
|
|
591
591
|
"Edits later from the command bar.": "나중에 명령 팔레트에서 수정할 수 있습니다.",
|
|
592
592
|
"Create Manual Portfolio": "수동 포트폴리오 만들기",
|
|
593
593
|
"Add tickers and positions by hand": "종목과 포지션 직접 추가",
|
|
@@ -837,6 +837,9 @@ export const ko: Record<string, string> = {
|
|
|
837
837
|
"Reply to @{username}...": "@{username}에 답장을 보내세요...",
|
|
838
838
|
"Type a message...": "메시지를 입력하세요...",
|
|
839
839
|
"Loading earlier messages...": "이전 메시지 로드 중...",
|
|
840
|
+
"1 new message": "새 메시지 1개",
|
|
841
|
+
"{count} new messages": "새 메시지 {count}개",
|
|
842
|
+
"Jump to the newest message": "최신 메시지로 이동",
|
|
840
843
|
"No messages yet. Be the first to say something!": "아직 메시지가 없습니다. 가장 먼저 말해보세요!",
|
|
841
844
|
"New DM": "신규 DM",
|
|
842
845
|
"Recent users": "최근 사용자",
|
|
@@ -1095,6 +1098,8 @@ export const ko: Record<string, string> = {
|
|
|
1095
1098
|
"No tickers in {name}.": "{name}에 종목이 없습니다.",
|
|
1096
1099
|
"this collection": "이 컬렉션",
|
|
1097
1100
|
"Press {shortcut} to add one.": "{shortcut} 를 눌러 추가하세요.",
|
|
1101
|
+
"Click {button} to add one, or press {shortcut}.": "{button}을 클릭하거나 {shortcut}를 눌러 추가하세요.",
|
|
1102
|
+
"Add ticker": "종목 추가",
|
|
1098
1103
|
"PRE-MKT": "장전",
|
|
1099
1104
|
"OPEN": "장중",
|
|
1100
1105
|
"AFTER-HRS": "장후",
|
|
@@ -1375,6 +1380,10 @@ export const ko: Record<string, string> = {
|
|
|
1375
1380
|
"Continue to checkout": "결제로 이동",
|
|
1376
1381
|
"{price}, billed today. Cancel anytime.": "{price}, 오늘 청구. 언제든 해지.",
|
|
1377
1382
|
"{price}. Cancel anytime.": "{price}. 언제든 해지.",
|
|
1383
|
+
"Start {days}-day free trial": "{days}일 무료 체험 시작",
|
|
1384
|
+
"$0 today, free for {days} days. Card required. Cancel anytime.": "오늘 $0, {days}일 무료. 카드 등록 필요. 언제든 해지.",
|
|
1385
|
+
"Billed today. Cancel anytime.": "오늘 청구. 언제든 해지.",
|
|
1386
|
+
"Card required. Cancel anytime.": "카드 등록 필요. 언제든 해지.",
|
|
1378
1387
|
"Real-time data": "실시간 데이터",
|
|
1379
1388
|
"Ask Gloom, MCP": "Ask Gloom, MCP",
|
|
1380
1389
|
"Flow and X": "플로우와 X",
|
|
@@ -1463,4 +1472,55 @@ export const ko: Record<string, string> = {
|
|
|
1463
1472
|
"Picked": "선택됨",
|
|
1464
1473
|
"Follow {count} companies": "{count}개 기업 팔로우",
|
|
1465
1474
|
"Following {count} companies. Alerts and your Monday brief will cover them.": "{count}개 기업을 팔로우합니다. 알림과 월요일 브리핑에서 다룹니다.",
|
|
1475
|
+
|
|
1476
|
+
// ── Dialog keys on the desktop ───────────────────────────────
|
|
1477
|
+
"newline": "줄바꿈",
|
|
1478
|
+
"Denied in {seconds} s": "{seconds}초 후 거부",
|
|
1479
|
+
"choose": "고르기",
|
|
1480
|
+
"select": "선택",
|
|
1481
|
+
"confirm": "확인",
|
|
1482
|
+
"presets": "프리셋",
|
|
1483
|
+
"add": "추가",
|
|
1484
|
+
"source": "출처",
|
|
1485
|
+
"panel": "패널",
|
|
1486
|
+
"log scale": "로그 스케일",
|
|
1487
|
+
"use {value}": "{value} 사용",
|
|
1488
|
+
"keep the default": "기본값 유지",
|
|
1489
|
+
"continue": "계속",
|
|
1490
|
+
"new code": "새 코드",
|
|
1491
|
+
|
|
1492
|
+
// ── Plugins pane: starter packs ─────────────────────────────
|
|
1493
|
+
"Apply a starter pack": "스타터 팩 적용",
|
|
1494
|
+
"{name} pack": "{name} 팩",
|
|
1495
|
+
"Custom set": "사용자 지정 구성",
|
|
1496
|
+
"{count} on": "{count}개 켜짐",
|
|
1497
|
+
"{count} off": "{count}개 꺼짐",
|
|
1498
|
+
"{count} back on": "{count}개 다시 켜짐",
|
|
1499
|
+
"Turn off": "끄기",
|
|
1500
|
+
"Turn on": "켜기",
|
|
1501
|
+
"Keep": "유지",
|
|
1502
|
+
"Panes are hidden, not closed. Undo brings them back.": "패널은 닫히지 않고 숨겨집니다. 실행 취소하면 다시 나타납니다.",
|
|
1503
|
+
"Apply {name}?": "{name}을(를) 적용할까요?",
|
|
1504
|
+
"{name} applied: {changes}.": "{name} 적용됨: {changes}.",
|
|
1505
|
+
"{name} is already what you have on.": "이미 {name} 구성입니다.",
|
|
1506
|
+
"Undo": "실행 취소",
|
|
1507
|
+
// ── Docs (DOCS, the ? on a pane) ─────────────────────────────
|
|
1508
|
+
"Docs for this pane": "이 패널의 문서",
|
|
1509
|
+
"Docs": "문서",
|
|
1510
|
+
"Open Docs": "문서 열기",
|
|
1511
|
+
"Read in Docs": "문서에서 읽기",
|
|
1512
|
+
"Read the docs and Academy lessons in the app. The ? on a pane opens its entry.": "문서와 아카데미 강의를 앱 안에서 읽습니다. 패널의 ? 를 누르면 해당 항목이 열립니다.",
|
|
1513
|
+
"Open the focused pane's help card; Enter reads its docs.": "포커스된 패널의 도움말 카드를 엽니다. Enter로 문서를 읽습니다.",
|
|
1514
|
+
"function, page or lesson": "기능, 페이지 또는 강의",
|
|
1515
|
+
"Guides": "가이드",
|
|
1516
|
+
"Academy": "아카데미",
|
|
1517
|
+
"offline, saved copy": "오프라인, 저장된 사본",
|
|
1518
|
+
"Open in Browser": "브라우저에서 열기",
|
|
1519
|
+
"No docs match \"{query}\".": "\"{query}\"와 일치하는 문서가 없습니다.",
|
|
1520
|
+
"No docs for {name} yet.": "{name} 문서가 아직 없습니다.",
|
|
1521
|
+
"Search the Docs": "문서 검색",
|
|
1522
|
+
"This lesson is not saved for offline reading.": "이 강의는 오프라인용으로 저장되지 않았습니다.",
|
|
1523
|
+
"It is kept once it has been read with a connection.": "연결된 상태에서 한 번 읽으면 저장됩니다.",
|
|
1524
|
+
"Academy: {title}": "아카데미: {title}",
|
|
1525
|
+
"{minutes} min": "{minutes}분",
|
|
1466
1526
|
};
|