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.
Files changed (527) hide show
  1. package/package.json +4 -1
  2. package/src/api-client/askg.ts +43 -0
  3. package/src/api-client/auth.ts +15 -0
  4. package/src/api-client/beneficial-owners.ts +4 -0
  5. package/src/api-client/chat.ts +19 -0
  6. package/src/api-client/company-kpis.ts +14 -2
  7. package/src/api-client/data.ts +34 -16
  8. package/src/api-client/index.ts +12 -0
  9. package/src/api-client/normalizers.ts +27 -0
  10. package/src/api-client/paths.ts +88 -23
  11. package/src/api-client/request.ts +2 -1
  12. package/src/api-client/research-activity.ts +31 -0
  13. package/src/api-client/socket.ts +39 -8
  14. package/src/api-client/types.ts +57 -1
  15. package/src/api-client/upgrade-experiment.ts +90 -0
  16. package/src/app/global-shortcuts.ts +11 -1
  17. package/src/app/keybindings/actions.ts +10 -0
  18. package/src/app/pane-runtime/index.tsx +8 -0
  19. package/src/app/pane-runtime/pane-template-runtime.ts +5 -0
  20. package/src/app/pane-runtime/plugin-bindings.ts +65 -25
  21. package/src/app/pane-runtime/ticker-inspector-runtime.ts +12 -0
  22. package/src/app/pane-runtime/ticker-open-runtime.ts +18 -1
  23. package/src/app/runtime/desktop-deeplink.ts +5 -0
  24. package/src/app/star-prompt/model.ts +98 -0
  25. package/src/app/star-prompt/runtime.ts +41 -0
  26. package/src/app/star-prompt/status-line.tsx +190 -0
  27. package/src/app.tsx +13 -7
  28. package/src/architecture/core-builtin-allowlist.json +70 -0
  29. package/src/brokers/account-cache.ts +45 -0
  30. package/src/brokers/signed-in/adapter.ts +33 -2
  31. package/src/brokers/signed-in/client.ts +10 -0
  32. package/src/brokers/signed-in/sign-in-dialog.tsx +23 -9
  33. package/src/brokers/signed-in/sign-in.ts +62 -5
  34. package/src/capabilities/registry.ts +8 -1
  35. package/src/capabilities/types.ts +2 -0
  36. package/src/cli/command-options.ts +74 -0
  37. package/src/cli/commands/command-utils.ts +29 -0
  38. package/src/cli/commands/crypto-hints.ts +12 -4
  39. package/src/cli/commands/market.ts +524 -148
  40. package/src/cli/commands/options-chain.ts +172 -0
  41. package/src/cli/commands/options-leaps.ts +422 -0
  42. package/src/cli/commands/overview.ts +223 -42
  43. package/src/cli/commands/search.ts +29 -8
  44. package/src/cli/commands/system.ts +99 -19
  45. package/src/cli/commands/themes.ts +64 -0
  46. package/src/cli/commands/ticker.ts +200 -73
  47. package/src/cli/desktop-pane-shot.ts +100 -16
  48. package/src/cli/errors.ts +25 -2
  49. package/src/cli/freshness.ts +7 -4
  50. package/src/cli/fx-pair.ts +57 -0
  51. package/src/cli/help.ts +40 -7
  52. package/src/cli/history-rows.ts +187 -15
  53. package/src/cli/index-roots.ts +51 -0
  54. package/src/cli/index.ts +21 -13
  55. package/src/cli/listing-arg.ts +211 -3
  56. package/src/cli/not-a-ticker.ts +37 -0
  57. package/src/cli/options.ts +55 -7
  58. package/src/cli/pane-functions/capabilities.ts +13 -2
  59. package/src/cli/pane-functions/catalog.ts +13 -2
  60. package/src/cli/pane-functions/data.ts +36 -5
  61. package/src/cli/pane-functions/dom.ts +89 -28
  62. package/src/cli/pane-functions/freshness.ts +205 -26
  63. package/src/cli/pane-functions/function-help.ts +71 -24
  64. package/src/cli/pane-functions/headless.ts +168 -35
  65. package/src/cli/pane-functions/index.ts +12 -2
  66. package/src/cli/pane-functions/market-session.ts +133 -0
  67. package/src/cli/pane-functions/options.ts +15 -4
  68. package/src/cli/pane-functions/report-notices.ts +63 -0
  69. package/src/cli/pane-functions/report.ts +12 -1
  70. package/src/cli/pane-functions/resolver.ts +32 -8
  71. package/src/cli/pane-functions/screenshot-evidence.ts +2 -0
  72. package/src/cli/pane-functions/screenshot.ts +109 -23
  73. package/src/cli/registry.ts +8 -4
  74. package/src/cli/report-tables.ts +460 -0
  75. package/src/cli/result.ts +63 -16
  76. package/src/cli/row-window.ts +76 -0
  77. package/src/cli/scroll-truncation.ts +34 -0
  78. package/src/components/chart/composite/composite-chart.tsx +43 -4
  79. package/src/components/chart/composite/legend.tsx +39 -6
  80. package/src/components/chart/composite/rasterizer.ts +64 -4
  81. package/src/components/chart/composite/series-cues.ts +71 -0
  82. package/src/components/chart/composite/text-renderer.ts +16 -8
  83. package/src/components/chart/composite/types.ts +3 -0
  84. package/src/components/command-bar/commands/direct/index.ts +9 -1
  85. package/src/components/command-bar/commands/plugin/items.ts +3 -1
  86. package/src/components/command-bar/commands/registry.ts +7 -0
  87. package/src/components/command-bar/layout-items/focused-pane.ts +38 -0
  88. package/src/components/command-bar/pane-templates/workflow.ts +5 -0
  89. package/src/components/command-bar/routes/root/command-items.ts +2 -0
  90. package/src/components/command-bar/routes/root/plugin-turn-on.ts +92 -0
  91. package/src/components/command-bar/routes/root/results.ts +40 -10
  92. package/src/components/command-bar/routes/root/runtime.ts +8 -0
  93. package/src/components/command-bar/routes/root/search-providers.ts +97 -14
  94. package/src/components/command-bar/surface/index.tsx +18 -4
  95. package/src/components/command-bar/theme-picker.tsx +48 -13
  96. package/src/components/command-bar/workflow/ops.ts +5 -3
  97. package/src/components/data-table/export.ts +6 -51
  98. package/src/components/data-table/view.tsx +31 -10
  99. package/src/components/layout/floating-pane.tsx +6 -2
  100. package/src/components/layout/market-summary.ts +23 -9
  101. package/src/components/layout/pane/content.tsx +46 -29
  102. package/src/components/layout/pane/cycle-order.ts +2 -11
  103. package/src/components/layout/pane/header.tsx +2 -1
  104. package/src/components/layout/pane/title.ts +1 -1
  105. package/src/components/layout/presentation.ts +22 -0
  106. package/src/components/layout/shell/active-drag.ts +67 -35
  107. package/src/components/layout/shell/cursor-occlusion.ts +6 -5
  108. package/src/components/layout/shell/drag/index.ts +16 -7
  109. package/src/components/layout/shell/drag/live.ts +193 -0
  110. package/src/components/layout/shell/drag/overlays.tsx +179 -35
  111. package/src/components/layout/shell/drag/runtime.ts +62 -50
  112. package/src/components/layout/shell/drag/slide.ts +10 -0
  113. package/src/components/layout/shell/index.tsx +84 -57
  114. package/src/components/layout/shell/layout-state.ts +5 -11
  115. package/src/components/layout/shell/menu.ts +28 -1
  116. package/src/components/layout/shell/native/pointer-runtime.ts +13 -13
  117. package/src/components/layout/shell/native/surfaces.ts +30 -14
  118. package/src/components/layout/shell/pane/actions.ts +2 -1
  119. package/src/components/layout/shell/pane/layers.tsx +461 -180
  120. package/src/components/layout/shell/pane/management-shortcuts.ts +5 -0
  121. package/src/components/layout/shell/pane/new-layout.ts +116 -0
  122. package/src/components/layout/shell/shortcuts.ts +5 -2
  123. package/src/components/layout/shell/terminal-pointer-runtime.ts +18 -18
  124. package/src/components/layout/shell/visible-layout.ts +44 -1
  125. package/src/components/layout/shell/window-mode/overlays.tsx +12 -4
  126. package/src/components/layout/status-bar.tsx +4 -1
  127. package/src/components/markdown-text.tsx +9 -5
  128. package/src/components/metric-treemap/heat-surface.tsx +27 -8
  129. package/src/components/metric-treemap/heat-tiles.ts +48 -17
  130. package/src/components/onboarding/onboarding-frame.tsx +33 -10
  131. package/src/components/onboarding/onboarding-wizard.tsx +49 -40
  132. package/src/components/onboarding/portfolio-step/positions-panel.tsx +5 -2
  133. package/src/components/onboarding/pro-step-layout.ts +86 -0
  134. package/src/components/onboarding/use-onboarding-upgrade.ts +6 -2
  135. package/src/components/ui/button.tsx +10 -0
  136. package/src/components/ui/data-table/index.tsx +38 -0
  137. package/src/components/ui/data-table/types.ts +8 -1
  138. package/src/components/ui/data-table/visible-range.ts +2 -0
  139. package/src/components/ui/icon.tsx +11 -2
  140. package/src/components/ui/index.ts +1 -1
  141. package/src/core/connection-health.ts +1 -1
  142. package/src/core/state/app/layout-reducer.ts +89 -3
  143. package/src/core/state/app/state.ts +8 -5
  144. package/src/core/state/app/types.ts +13 -2
  145. package/src/data/config/layout.ts +55 -21
  146. package/src/data/config/store/fold-panes.ts +149 -0
  147. package/src/data/config/store/migrations.ts +7 -0
  148. package/src/data/config/store/node.ts +27 -6
  149. package/src/data/config/store/normalize.ts +37 -3
  150. package/src/data/json-persistence.ts +17 -3
  151. package/src/data/json-storage.ts +2 -0
  152. package/src/data/memory-resource-store.ts +46 -0
  153. package/src/i18n/es.ts +14 -1
  154. package/src/i18n/ja.ts +14 -1
  155. package/src/i18n/ko.ts +14 -1
  156. package/src/i18n/zh-cn.ts +14 -1
  157. package/src/i18n/zh-tw.ts +14 -1
  158. package/src/layout/desks.ts +1 -2
  159. package/src/layout/pane-layout-move.ts +264 -0
  160. package/src/layout/pane-manager/hidden-panes.ts +160 -0
  161. package/src/layout/pane-manager/index.ts +1 -0
  162. package/src/market-data/coordinator/entries.ts +7 -1
  163. package/src/market-data/coordinator/quotes.ts +2 -2
  164. package/src/market-data/market/freshness.ts +156 -11
  165. package/src/market-data/market/status.ts +40 -0
  166. package/src/market-data/options-alternatives.ts +69 -0
  167. package/src/market-data/quotes/contributions.ts +19 -2
  168. package/src/market-data/quotes/freshness.ts +5 -0
  169. package/src/market-data/quotes/metadata.ts +16 -0
  170. package/src/market-data/quotes/screener-live-quotes.ts +56 -5
  171. package/src/plugins/builtin/account-management/keyboard.ts +3 -0
  172. package/src/plugins/builtin/account-management/model.ts +1 -0
  173. package/src/plugins/builtin/account-management/navigation.ts +1 -1
  174. package/src/plugins/builtin/account-management/pane.tsx +31 -4
  175. package/src/plugins/builtin/alerts/quotes.ts +3 -0
  176. package/src/plugins/builtin/analytics/pane-model.ts +10 -6
  177. package/src/plugins/builtin/analytics/risk-headless.ts +3 -1
  178. package/src/plugins/builtin/analytics/risk-model.ts +37 -8
  179. package/src/plugins/builtin/analytics/risk-pane.tsx +8 -4
  180. package/src/plugins/builtin/attention/pane.tsx +1 -1
  181. package/src/plugins/builtin/backtest/pane.tsx +1 -1
  182. package/src/plugins/builtin/broker-manager/detail.tsx +4 -0
  183. package/src/plugins/builtin/broker-manager/index.tsx +7 -3
  184. package/src/plugins/builtin/broker-manager/model.ts +8 -0
  185. package/src/plugins/builtin/broker-manager/pane-actions.tsx +8 -2
  186. package/src/plugins/builtin/broker-manager/sign-in-end.ts +82 -0
  187. package/src/plugins/builtin/broker-manager/table.ts +5 -0
  188. package/src/plugins/builtin/builtin-plugin-meta.ts +121 -11
  189. package/src/plugins/builtin/catalysts/detail.tsx +1 -1
  190. package/src/plugins/builtin/chart-composer/pane.tsx +1 -1
  191. package/src/plugins/builtin/chat/channels.ts +34 -36
  192. package/src/plugins/builtin/chat/command-bar.ts +138 -0
  193. package/src/plugins/builtin/chat/composer-commands.ts +21 -1
  194. package/src/plugins/builtin/chat/content/composer-runtime.ts +11 -1
  195. package/src/plugins/builtin/chat/content/footer.tsx +5 -3
  196. package/src/plugins/builtin/chat/content/index.tsx +21 -1
  197. package/src/plugins/builtin/chat/content/mentions.ts +2 -1
  198. package/src/plugins/builtin/chat/content/user-map.ts +3 -1
  199. package/src/plugins/builtin/chat/controller/index.ts +48 -0
  200. package/src/plugins/builtin/chat/conversations.ts +256 -0
  201. package/src/plugins/builtin/chat/discord-command.ts +91 -0
  202. package/src/plugins/builtin/chat/edit-window.ts +12 -6
  203. package/src/plugins/builtin/chat/ghost-user.ts +14 -0
  204. package/src/plugins/builtin/chat/index.tsx +40 -2
  205. package/src/plugins/builtin/chat/layout.ts +2 -0
  206. package/src/plugins/builtin/chat/message/desktop.tsx +2 -1
  207. package/src/plugins/builtin/chat/message/header.tsx +24 -15
  208. package/src/plugins/builtin/chat/message/profile-popover.tsx +2 -1
  209. package/src/plugins/builtin/chat/message/render-state.ts +3 -0
  210. package/src/plugins/builtin/chat/pane-requests.ts +60 -0
  211. package/src/plugins/builtin/chat/pane-state.ts +32 -2
  212. package/src/plugins/builtin/chat/pane.tsx +8 -0
  213. package/src/plugins/builtin/cloud/askg/controller.ts +112 -4
  214. package/src/plugins/builtin/cloud/askg/conversation-store.ts +21 -0
  215. package/src/plugins/builtin/cloud/askg/manifest.ts +1 -0
  216. package/src/plugins/builtin/cloud/askg/model.ts +129 -70
  217. package/src/plugins/builtin/cloud/askg/pane.tsx +772 -377
  218. package/src/plugins/builtin/cloud/askg/protocol.ts +40 -2
  219. package/src/plugins/builtin/cloud/askg/tool-display.ts +437 -0
  220. package/src/plugins/builtin/cloud/askg/tool-timeline.tsx +403 -0
  221. package/src/plugins/builtin/cloud/company-picker.tsx +1 -9
  222. package/src/plugins/builtin/cloud/mcp-connect/command.ts +24 -0
  223. package/src/plugins/builtin/cloud/mcp-connect/dialog.tsx +360 -0
  224. package/src/plugins/builtin/cloud/mcp-connect/model.ts +135 -0
  225. package/src/plugins/builtin/cloud/mcp-connect/sections.ts +62 -0
  226. package/src/plugins/builtin/cloud/plugin.tsx +36 -1
  227. package/src/plugins/builtin/cloud/starter-symbols.ts +8 -0
  228. package/src/plugins/builtin/cloud/terminal-relay/acm-tab.tsx +89 -0
  229. package/src/plugins/builtin/cloud/terminal-relay/client.ts +97 -0
  230. package/src/plugins/builtin/cloud/terminal-relay/connect-section.tsx +57 -0
  231. package/src/plugins/builtin/cloud/terminal-relay/engine.ts +666 -0
  232. package/src/plugins/builtin/cloud/terminal-relay/grants.ts +137 -0
  233. package/src/plugins/builtin/cloud/terminal-relay/host.tsx +81 -0
  234. package/src/plugins/builtin/cloud/terminal-relay/indicator.tsx +82 -0
  235. package/src/plugins/builtin/cloud/terminal-relay/manifest.ts +234 -0
  236. package/src/plugins/builtin/cloud/terminal-relay/policy.ts +153 -0
  237. package/src/plugins/builtin/cloud/terminal-relay/prompts.tsx +168 -0
  238. package/src/plugins/builtin/cloud/terminal-relay/redact.ts +73 -0
  239. package/src/plugins/builtin/cloud/terminal-relay/summary.ts +62 -0
  240. package/src/plugins/builtin/cloud/upgrade-dialog.tsx +26 -2
  241. package/src/plugins/builtin/cloud/upgrade-personalization.ts +57 -0
  242. package/src/plugins/builtin/cloud/upgrade-tickers.ts +124 -0
  243. package/src/plugins/builtin/comment-letters/client.ts +1 -3
  244. package/src/plugins/builtin/company-attention/pane.tsx +1 -1
  245. package/src/plugins/builtin/company-kpis/client.ts +23 -8
  246. package/src/plugins/builtin/company-kpis/headless.ts +3 -1
  247. package/src/plugins/builtin/company-kpis/pane.tsx +15 -7
  248. package/src/plugins/builtin/company-kpis/screenshot-evidence.ts +10 -3
  249. package/src/plugins/builtin/composite-plugins.ts +107 -64
  250. package/src/plugins/builtin/credit-boards/cdx-pane.tsx +4 -4
  251. package/src/plugins/builtin/credit-boards/index.tsx +21 -21
  252. package/src/plugins/builtin/credit-boards/model.ts +0 -1
  253. package/src/plugins/builtin/credit-boards/pane.tsx +30 -0
  254. package/src/plugins/builtin/credit-boards/sovr-pane.tsx +4 -4
  255. package/src/plugins/builtin/debt-maturities/client.ts +37 -9
  256. package/src/plugins/builtin/debt-maturities/headless.ts +3 -1
  257. package/src/plugins/builtin/debt-maturities/pane.tsx +5 -4
  258. package/src/plugins/builtin/dividend-yield/index.tsx +1 -1
  259. package/src/plugins/builtin/dividend-yield/pane.tsx +1 -1
  260. package/src/plugins/builtin/earnings-calls/data.ts +28 -7
  261. package/src/plugins/builtin/earnings-calls/headless.ts +3 -2
  262. package/src/plugins/builtin/earnings-calls/pane.tsx +10 -5
  263. package/src/plugins/builtin/econ/calendar-model.ts +42 -17
  264. package/src/plugins/builtin/econ/detail-view.tsx +2 -2
  265. package/src/plugins/builtin/econ/index.tsx +68 -22
  266. package/src/plugins/builtin/econ-statistics/headless.ts +12 -2
  267. package/src/plugins/builtin/econ-statistics/pane.tsx +1 -1
  268. package/src/plugins/builtin/econ-statistics/view.ts +17 -0
  269. package/src/plugins/builtin/executives/data.ts +17 -6
  270. package/src/plugins/builtin/executives/pane.tsx +16 -7
  271. package/src/plugins/builtin/filing-events/pane.tsx +22 -5
  272. package/src/plugins/builtin/fx-matrix/freshness.ts +65 -0
  273. package/src/plugins/builtin/fx-matrix/index.tsx +22 -1
  274. package/src/plugins/builtin/fx-matrix/pairs.ts +1 -1
  275. package/src/plugins/builtin/fx-matrix/settings.ts +42 -2
  276. package/src/plugins/builtin/gpu/headless.ts +9 -3
  277. package/src/plugins/builtin/gpu/model.ts +14 -5
  278. package/src/plugins/builtin/help/index.tsx +1 -0
  279. package/src/plugins/builtin/holders/beneficial-client.ts +29 -7
  280. package/src/plugins/builtin/holders/beneficial-view.tsx +7 -3
  281. package/src/plugins/builtin/holders/client.ts +3 -6
  282. package/src/plugins/builtin/holders/format.ts +31 -1
  283. package/src/plugins/builtin/holders/headless.ts +32 -6
  284. package/src/plugins/builtin/holders/pane.tsx +25 -13
  285. package/src/plugins/builtin/holders/report-header.ts +46 -5
  286. package/src/plugins/builtin/insider/index.tsx +4 -4
  287. package/src/plugins/builtin/iv-history/charts.tsx +21 -7
  288. package/src/plugins/builtin/iv-history/client.ts +12 -2
  289. package/src/plugins/builtin/iv-history/format.ts +33 -2
  290. package/src/plugins/builtin/iv-history/headless.ts +22 -10
  291. package/src/plugins/builtin/iv-history/index.tsx +3 -3
  292. package/src/plugins/builtin/iv-history/model.ts +61 -13
  293. package/src/plugins/builtin/iv-history/pane.tsx +11 -3
  294. package/src/plugins/builtin/iv-history/screen-pane.tsx +42 -18
  295. package/src/plugins/builtin/jobs/pane.tsx +1 -1
  296. package/src/plugins/builtin/kelly-sizer/headless.ts +149 -0
  297. package/src/plugins/builtin/kelly-sizer/history.ts +80 -0
  298. package/src/plugins/builtin/kelly-sizer/index.tsx +2 -0
  299. package/src/plugins/builtin/kelly-sizer/pane.tsx +121 -45
  300. package/src/plugins/builtin/kelly-sizer/portfolio.ts +25 -0
  301. package/src/plugins/builtin/kelly-sizer/sections.tsx +14 -0
  302. package/src/plugins/builtin/kelly-sizer/types.ts +9 -1
  303. package/src/plugins/builtin/layout-manager/index.tsx +9 -1
  304. package/src/plugins/builtin/macro-day/client.ts +24 -0
  305. package/src/plugins/builtin/macro-day/headless.ts +11 -8
  306. package/src/plugins/builtin/macro-day/index.tsx +3 -0
  307. package/src/plugins/builtin/macro-day/model.ts +11 -6
  308. package/src/plugins/builtin/macro-day/pane.tsx +12 -8
  309. package/src/plugins/builtin/macro-day/release-table.ts +40 -0
  310. package/src/plugins/builtin/macro-day/releases.ts +62 -44
  311. package/src/plugins/builtin/market-heatmap/data.ts +25 -5
  312. package/src/plugins/builtin/market-heatmap/evidence.ts +90 -0
  313. package/src/plugins/builtin/market-heatmap/index.tsx +144 -63
  314. package/src/plugins/builtin/market-heatmap/model.ts +94 -3
  315. package/src/plugins/builtin/market-heatmap/portfolio.ts +12 -2
  316. package/src/plugins/builtin/market-movers/headless.ts +31 -4
  317. package/src/plugins/builtin/market-movers/index.tsx +8 -1
  318. package/src/plugins/builtin/market-movers/model.ts +71 -17
  319. package/src/plugins/builtin/market-movers/table.ts +50 -23
  320. package/src/plugins/builtin/members/pane.tsx +10 -0
  321. package/src/plugins/builtin/news/headless.ts +9 -2
  322. package/src/plugins/builtin/news/wire/news/footer.ts +10 -0
  323. package/src/plugins/builtin/openfda/client.ts +1 -1
  324. package/src/plugins/builtin/options/carry.ts +95 -0
  325. package/src/plugins/builtin/options/index.tsx +58 -5
  326. package/src/plugins/builtin/options/strike-window.ts +183 -0
  327. package/src/plugins/builtin/options/table.ts +55 -3
  328. package/src/plugins/builtin/options/types.ts +8 -1
  329. package/src/plugins/builtin/options/view.tsx +161 -12
  330. package/src/plugins/builtin/options-positioning/headless.ts +4 -2
  331. package/src/plugins/builtin/options-scenario/charts.tsx +2 -2
  332. package/src/plugins/builtin/options-scenario/client.ts +73 -17
  333. package/src/plugins/builtin/options-scenario/headless.ts +71 -24
  334. package/src/plugins/builtin/options-scenario/hedge.ts +284 -0
  335. package/src/plugins/builtin/options-scenario/index.tsx +9 -2
  336. package/src/plugins/builtin/options-scenario/model.ts +33 -0
  337. package/src/plugins/builtin/options-scenario/pane.tsx +40 -16
  338. package/src/plugins/builtin/pe-band/model.ts +2 -2
  339. package/src/plugins/builtin/pe-band/report-dates.ts +11 -7
  340. package/src/plugins/builtin/perps/equity-row.tsx +8 -5
  341. package/src/plugins/builtin/perps/model.ts +16 -5
  342. package/src/plugins/builtin/perps/pane.tsx +1 -1
  343. package/src/plugins/builtin/plugin-marketplace/model.ts +64 -21
  344. package/src/plugins/builtin/plugin-marketplace/packs.ts +118 -0
  345. package/src/plugins/builtin/plugin-marketplace/pane.tsx +344 -32
  346. package/src/plugins/builtin/plugin-marketplace/store.ts +7 -1
  347. package/src/plugins/builtin/plugin-module.ts +87 -4
  348. package/src/plugins/builtin/portfolio-list/account-metrics.ts +16 -1
  349. package/src/plugins/builtin/portfolio-list/allocation.ts +3 -0
  350. package/src/plugins/builtin/portfolio-list/cached-account.ts +18 -9
  351. package/src/plugins/builtin/portfolio-list/cli/portfolio-command.ts +71 -36
  352. package/src/plugins/builtin/portfolio-list/cli/render.ts +89 -18
  353. package/src/plugins/builtin/portfolio-list/cli/shared.ts +2 -16
  354. package/src/plugins/builtin/portfolio-list/headless.ts +40 -7
  355. package/src/plugins/builtin/portfolio-list/pane/index.tsx +7 -4
  356. package/src/plugins/builtin/portfolio-list/summary/index.tsx +22 -4
  357. package/src/plugins/builtin/portfolio-list/summary/live-accounts.ts +11 -1
  358. package/src/plugins/builtin/realized-vol/headless.ts +3 -0
  359. package/src/plugins/builtin/realized-vol/pane.tsx +1 -1
  360. package/src/plugins/builtin/research/corporate-actions-pane.tsx +2 -2
  361. package/src/plugins/builtin/research/equity-diagnostic-pane.tsx +1 -1
  362. package/src/plugins/builtin/research/relative-valuation-model.ts +7 -3
  363. package/src/plugins/builtin/revenue-breakdown/client.ts +13 -6
  364. package/src/plugins/builtin/revenue-breakdown/headless.ts +4 -1
  365. package/src/plugins/builtin/revenue-breakdown/pane.tsx +7 -4
  366. package/src/plugins/builtin/reverse-dcf/headless.ts +5 -1
  367. package/src/plugins/builtin/reverse-dcf/model.ts +2 -1
  368. package/src/plugins/builtin/reverse-dcf/pane.tsx +1 -1
  369. package/src/plugins/builtin/risk-factors/data.ts +23 -9
  370. package/src/plugins/builtin/risk-factors/headless.ts +5 -2
  371. package/src/plugins/builtin/risk-factors/pane.tsx +6 -5
  372. package/src/plugins/builtin/seasonality/pane.tsx +1 -1
  373. package/src/plugins/builtin/sec/index.tsx +5 -5
  374. package/src/plugins/builtin/sectors/client.ts +10 -2
  375. package/src/plugins/builtin/sectors/headless.ts +35 -6
  376. package/src/plugins/builtin/sectors/index.tsx +18 -1
  377. package/src/plugins/builtin/sectors/sector-model.ts +150 -41
  378. package/src/plugins/builtin/shared/command-tab.ts +51 -0
  379. package/src/plugins/builtin/shared/headless-market-data.ts +33 -1
  380. package/src/plugins/builtin/shared/members-menu.tsx +260 -0
  381. package/src/plugins/builtin/shared/report-freshness.ts +50 -2
  382. package/src/plugins/builtin/shared/ticker-request.ts +25 -1
  383. package/src/plugins/builtin/shared/use-quote-board.ts +25 -5
  384. package/src/plugins/builtin/shared/volatility/options.ts +1 -46
  385. package/src/plugins/builtin/short-interest/index.tsx +19 -4
  386. package/src/plugins/builtin/short-interest/surface.tsx +4 -4
  387. package/src/plugins/builtin/short-volume/index.tsx +1 -10
  388. package/src/plugins/builtin/short-volume/pane.tsx +1 -1
  389. package/src/plugins/builtin/social-mentions/pane.tsx +1 -1
  390. package/src/plugins/builtin/supply-chain/model.ts +1 -1
  391. package/src/plugins/builtin/themes/pane.tsx +3 -0
  392. package/src/plugins/builtin/ticker-detail/financials/aggregation.ts +4 -0
  393. package/src/plugins/builtin/ticker-detail/financials/model.ts +25 -2
  394. package/src/plugins/builtin/ticker-detail/headless.ts +63 -25
  395. package/src/plugins/builtin/ticker-detail/overview/model.ts +9 -4
  396. package/src/plugins/builtin/ticker-detail/overview-tab.tsx +3 -2
  397. package/src/plugins/builtin/ticker-detail/pane.tsx +4 -5
  398. package/src/plugins/builtin/ticker-detail/quote-monitor/card.tsx +94 -6
  399. package/src/plugins/builtin/treasury-auctions/cache.ts +5 -2
  400. package/src/plugins/builtin/treasury-auctions/client.ts +22 -8
  401. package/src/plugins/builtin/treasury-auctions/headless.ts +40 -4
  402. package/src/plugins/builtin/treasury-auctions/index.tsx +11 -9
  403. package/src/plugins/builtin/treasury-auctions/model.ts +197 -30
  404. package/src/plugins/builtin/treasury-auctions/pane.tsx +35 -11
  405. package/src/plugins/builtin/treasury-auctions/types.ts +11 -1
  406. package/src/plugins/builtin/vol-surface/charts.tsx +1 -3
  407. package/src/plugins/builtin/vol-surface/client.ts +6 -2
  408. package/src/plugins/builtin/vol-surface/evidence.ts +11 -6
  409. package/src/plugins/builtin/vol-surface/headless.ts +124 -20
  410. package/src/plugins/builtin/vol-surface/model.ts +23 -11
  411. package/src/plugins/builtin/vol-surface/pane.tsx +38 -27
  412. package/src/plugins/builtin/vol-surface/tables.ts +124 -0
  413. package/src/plugins/builtin/world-indices/client.ts +22 -4
  414. package/src/plugins/builtin/world-indices/headless.ts +54 -27
  415. package/src/plugins/builtin/world-indices/model.ts +4 -2
  416. package/src/plugins/builtin/world-indices/table.tsx +13 -2
  417. package/src/plugins/builtin/world-venue-map/basemap-layer.tsx +2 -0
  418. package/src/plugins/builtin/world-venue-map/basemap.ts +18 -0
  419. package/src/plugins/builtin/world-venue-map/country-labels.ts +78 -0
  420. package/src/plugins/builtin/world-venue-map/geo-series.ts +1 -1
  421. package/src/plugins/builtin/world-venue-map/geo-svg.tsx +2 -1
  422. package/src/plugins/builtin/world-venue-map/index.ts +6 -6
  423. package/src/plugins/builtin/world-venue-map/layered-pane.tsx +27 -14
  424. package/src/plugins/builtin/world-venue-map/layers.ts +68 -10
  425. package/src/plugins/builtin/world-venue-map/map.tsx +198 -62
  426. package/src/plugins/builtin/world-venue-map/model.ts +16 -0
  427. package/src/plugins/builtin/world-venue-map/natural-earth/index.chunk.ts +3 -0
  428. package/src/plugins/builtin/world-venue-map/natural-earth/labels.chunk.ts +244 -0
  429. package/src/plugins/builtin/world-venue-map/pane.tsx +16 -10
  430. package/src/plugins/builtin/yield-curve/index.tsx +1 -1
  431. package/src/plugins/builtin-editorial.ts +126 -0
  432. package/src/plugins/catalog-backend.ts +16 -9
  433. package/src/plugins/catalog-browser.ts +127 -63
  434. package/src/plugins/catalog-manifest.ts +73 -40
  435. package/src/plugins/catalog-ui.ts +26 -6
  436. package/src/plugins/extracted-plugins.ts +7 -1
  437. package/src/plugins/ownership.ts +150 -7
  438. package/src/plugins/plugin-functions.ts +54 -0
  439. package/src/plugins/plugin-off.ts +36 -0
  440. package/src/plugins/registry/host-actions.ts +16 -0
  441. package/src/plugins/registry/index.ts +84 -24
  442. package/src/plugins/registry/plugin-state.ts +25 -1
  443. package/src/plugins/runtime/context.tsx +29 -0
  444. package/src/react/input.ts +48 -1
  445. package/src/remote/app-host.tsx +5 -0
  446. package/src/remote/controller.ts +3 -53
  447. package/src/remote/matching.ts +69 -0
  448. package/src/remote/schema.ts +1 -1
  449. package/src/remote/semantic-tree.tsx +14 -0
  450. package/src/remote/types.ts +2 -0
  451. package/src/renderers/browser/app-services.ts +3 -1
  452. package/src/renderers/dom/data-table/dom.ts +31 -0
  453. package/src/renderers/dom/data-table/index.tsx +5 -0
  454. package/src/renderers/dom/desktop/icons.tsx +14 -0
  455. package/src/renderers/dom/desktop/query-bar.tsx +59 -32
  456. package/src/renderers/dom/host/box.tsx +113 -17
  457. package/src/renderers/dom/host/drag-shield.ts +35 -0
  458. package/src/renderers/dom/host/live-frame.ts +62 -0
  459. package/src/renderers/dom/host/mouse.ts +8 -1
  460. package/src/renderers/dom/host/scroll-box.tsx +6 -5
  461. package/src/renderers/dom/host/tabs.tsx +3 -2
  462. package/src/renderers/dom/input-host.tsx +6 -1
  463. package/src/renderers/dom/styles.css +26 -5
  464. package/src/renderers/electrobun/bun/desktop/backend-requests.ts +7 -0
  465. package/src/renderers/electrobun/bun/desktop/backend.ts +7 -1
  466. package/src/renderers/electrobun/bun/desktop/detached-windows.ts +12 -1
  467. package/src/renderers/electrobun/bun/desktop/initialization.ts +15 -1
  468. package/src/renderers/electrobun/shared/protocol.ts +12 -1
  469. package/src/renderers/electrobun/view/cli-pane-shot-entry.tsx +4 -1
  470. package/src/renderers/electrobun/view/cli-pane-shot-frame.tsx +101 -5
  471. package/src/renderers/electrobun/view/host/native.ts +0 -10
  472. package/src/renderers/electrobun/view/host/window-move.ts +28 -0
  473. package/src/renderers/electrobun/view/main.tsx +4 -1
  474. package/src/renderers/electrobun/view/remote/persistence.ts +15 -2
  475. package/src/renderers/electrobun/view/ui-host.tsx +2 -5
  476. package/src/renderers/opentui/input-host.tsx +6 -1
  477. package/src/renderers/opentui/start.tsx +9 -0
  478. package/src/renderers/opentui/ui-host.tsx +7 -1
  479. package/src/shares/portable-layout.ts +16 -6
  480. package/src/sources/gloomberb-cloud/index.ts +19 -10
  481. package/src/sources/gloomberb-cloud/normalizers.ts +20 -21
  482. package/src/sources/listing-symbols.ts +11 -5
  483. package/src/sources/provider-errors.ts +88 -3
  484. package/src/sources/provider-router/batches.ts +3 -3
  485. package/src/sources/provider-router/cached-routes.ts +8 -4
  486. package/src/sources/provider-router/financial-routes.ts +13 -7
  487. package/src/sources/provider-router/financials.ts +106 -16
  488. package/src/sources/provider-router/history.ts +27 -11
  489. package/src/sources/provider-router/index.ts +1 -1
  490. package/src/sources/provider-router/primary.ts +24 -6
  491. package/src/sources/sec-edgar.ts +68 -8
  492. package/src/state/pane-scroll-registry.tsx +67 -35
  493. package/src/sync/core-contributors.ts +4 -3
  494. package/src/test-support/cli-context.ts +2 -1
  495. package/src/test-support/data-provider.ts +34 -0
  496. package/src/test-support/margin-account.ts +108 -0
  497. package/src/test-support/shell-pane-keys.tsx +1 -0
  498. package/src/theme/series-colors.ts +46 -0
  499. package/src/theme/themes.ts +149 -0
  500. package/src/tickers/search/index.ts +22 -2
  501. package/src/tickers/search/ranking.ts +45 -1
  502. package/src/tickers/search/types.ts +3 -1
  503. package/src/time-series/resolution.ts +15 -0
  504. package/src/time-series/resolve.ts +1 -14
  505. package/src/types/config.ts +61 -1
  506. package/src/types/financials.ts +32 -3
  507. package/src/types/headless.ts +11 -0
  508. package/src/types/instrument.ts +8 -0
  509. package/src/types/plugin.ts +49 -3
  510. package/src/ui/host.tsx +16 -0
  511. package/src/ui/index.tsx +10 -3
  512. package/src/ui/scroll-box-axis.ts +26 -0
  513. package/src/utils/cli-output.ts +14 -1
  514. package/src/utils/currency-units.ts +8 -3
  515. package/src/utils/depositary-receipt.ts +54 -10
  516. package/src/utils/display-number.ts +63 -0
  517. package/src/utils/exchanges.ts +13 -0
  518. package/src/utils/format.ts +2 -1
  519. package/src/utils/fundamentals.ts +17 -1
  520. package/src/utils/fx-market-hours.ts +34 -0
  521. package/src/utils/option-expiry.ts +126 -0
  522. package/src/utils/price-history-integrity.ts +19 -6
  523. package/src/utils/price-history.ts +39 -6
  524. package/src/utils/rpc-timeout-error.ts +6 -2
  525. package/src/utils/sec-eps-basis.ts +159 -30
  526. package/src/utils/sec.ts +38 -34
  527. package/src/utils/throttled-fetch.ts +51 -22
@@ -21,6 +21,9 @@ export interface FunctionHelpKey {
21
21
  label: string;
22
22
  }
23
23
 
24
+ /** A function Free cannot fully open: Pro only, or a limited preview on Free. */
25
+ export type FunctionAccess = "pro" | "preview";
26
+
24
27
  /** How fresh the function's data is on each plan, in the words a pane footer uses. */
25
28
  export interface FunctionFreshness {
26
29
  free: string;
@@ -36,14 +39,21 @@ export interface FunctionHelp {
36
39
  keys: readonly FunctionHelpKey[];
37
40
  /** Null when the function shows no market data (settings, your own notes). */
38
41
  data: FunctionFreshness | null;
42
+ /**
43
+ * What Free gets: `pro` when only Pro opens it, `preview` when Free sees a
44
+ * limited preview of the same data. Absent when Free gets the whole
45
+ * function, even where Pro makes it fresher.
46
+ */
47
+ access?: FunctionAccess;
39
48
  /** The Bloomberg mnemonics it stands in for; empty when Bloomberg has none. */
40
49
  bloomberg: readonly string[];
41
- /** The docs entry when it is filed under another mnemonic (BTST under BT). */
50
+ /** The docs entry when it is filed under another mnemonic (BTST under BT), or the full URL of a page of its own. */
42
51
  docs?: string;
43
52
  }
44
53
 
45
- /** The docs page's anchor for a mnemonic, as the page builds heading ids. */
54
+ /** The docs page's anchor for a mnemonic, as the page builds heading ids, or a full docs URL as is. */
46
55
  export function functionDocsUrl(code: string): string {
56
+ if (code.startsWith("https://")) return code;
47
57
  const anchor = code.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
48
58
  return anchor ? `${FUNCTION_DOCS_URL}#${anchor}` : FUNCTION_DOCS_URL;
49
59
  }
@@ -81,6 +91,8 @@ const SEARCH = key("/", "search");
81
91
  const OPEN_SOURCE = key("o", "pen source");
82
92
  const POP_OUT = key("p", "op out");
83
93
  const STEP = key("←/→", " step");
94
+ /** THEM and MEMB members: open them in RRG, CORR, SIW or RIPL, or save them as a watchlist. */
95
+ const MEMBERS_MENU = key(".", " open members in, save as watchlist");
84
96
  const CHART_KEYS = [key("s", "eries"), key("i", "ndicators"), key("t", "imeframe"), key("f", "ormulas")];
85
97
 
86
98
  export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
@@ -220,8 +232,9 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
220
232
  bloomberg: ["EQS"],
221
233
  },
222
234
  OMON: {
223
- summary: "Calls and puts by expiry with bid, ask, volume, open interest, implied volatility and Greeks.",
224
- usage: ["OMON NVDA"],
235
+ summary: "Calls and puts by expiry with bid, ask, spread, volume, open interest, implied volatility, Greeks, extrinsic per year and a put's cost as a percent of spot. "
236
+ + "The Strikes filter lists every strike, a count either side of the money, or a delta band such as .70 to .90 for deep in-the-money LEAPS.",
237
+ usage: ["OMON NVDA", "gloomberb fn OMON NVDA --expiration 2028-01-21"],
225
238
  keys: [key("c", "alc"), key("a", "dd to OSA"), key("s", "urface")],
226
239
  data: OPTIONS,
227
240
  bloomberg: ["OMON"],
@@ -249,21 +262,23 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
249
262
  bloomberg: ["OVME", "OVML"],
250
263
  },
251
264
  OSA: {
252
- summary: "Build a multi-leg options position and value it at any spot, date and vol shift: payoff, P&L grid, breakevens and Greeks. European pricing, so no early exercise.",
253
- usage: ["OSA AAPL"],
265
+ summary: "Build a multi-leg options position and value it at any spot, date and vol shift: payoff, P&L grid, breakevens and Greeks. European pricing, so no early exercise. "
266
+ + "With a NAV and a budget in bps it sizes the position as a hedge: contracts, premium, notional protected and coverage of an equity sleeve.",
267
+ usage: ["OSA AAPL", "gloomberb fn OSA AAPL --strategy vertical --expiration 2027-01-15",
268
+ "gloomberb fn OSA SPY --strategy put --strike 700 --expiration 2027-01-15 --nav 100m --budget-bps 50 --sleeve 100m"],
254
269
  keys: [key("a", "dd leg"), key("c", "hain"), key("d", "ate"), key("v", "ol shift")],
255
270
  data: OPTIONS,
256
271
  bloomberg: ["OSA"],
257
272
  },
258
273
  OVDV: {
259
274
  summary: "The implied volatility surface fitted from option quotes: 3D sheet, table, smiles, ATM term structure, 25-delta skew and forwards, live or on stored daily closes.",
260
- usage: ["OVDV NVDA"],
275
+ usage: ["OVDV NVDA", "gloomberb fn OVDV NVDA --tab skew --expiration 2027-01-15"],
261
276
  keys: [key("v", "iew"), key("c", "hain"), key("m", "ore expiries"), key("t", " stored dates")],
262
277
  data: { free: `${DELAYED}; stored dates at the close`, pro: "Real-time; stored dates at the close" },
263
278
  bloomberg: ["OVDV"],
264
279
  },
265
280
  HIVG: {
266
- summary: "Daily 30- and 90-day at-the-money implied vol since February 2024 against realized vol, with each measure's 52-week rank and percentile.",
281
+ summary: "Daily 30-day, 90-day and one-year at-the-money implied vol since February 2024 against realized vol, with each measure's 52-week rank and percentile.",
267
282
  usage: ["HIVG AAPL"],
268
283
  keys: [key("s", "urface")],
269
284
  data: IV_DAILY,
@@ -320,7 +335,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
320
335
  bloomberg: [],
321
336
  },
322
337
  VCA: {
323
- summary: "IV rank, term slope, skew and IV against realized vol for up to 60 US tickers, flagged rich or cheap against each name's own year. Alone it screens index and sector ETFs.",
338
+ summary: "IV rank, one-year IV and its percentile, term slope, skew and IV against realized vol for up to 60 US tickers, flagged rich or cheap against each name's own year. Alone it screens index and sector ETFs.",
324
339
  usage: ["VCA", "VCA NVDA, AAPL, TSLA"],
325
340
  keys: [OPEN],
326
341
  data: IV_DAILY,
@@ -384,7 +399,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
384
399
  bloomberg: ["DVD"],
385
400
  },
386
401
  SI: {
387
- summary: "FINRA short interest settlements with shares short, days to cover and average daily volume over time.",
402
+ summary: "FINRA short interest settlements with shares short, days to cover and average daily volume over time. Daily volume is the other tab.",
388
403
  usage: ["SI AAPL"],
389
404
  keys: [key("v", "iew"), STEP],
390
405
  data: same("Twice a month, as FINRA publishes"),
@@ -398,9 +413,9 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
398
413
  bloomberg: [],
399
414
  },
400
415
  SIV: {
401
- summary: "FINRA daily off-exchange short volume as a share of volume, against its one-year range. Not short interest; SI has that.",
416
+ summary: "The short interest pane on Daily volume: FINRA off-exchange short volume as a share of volume, against its one-year range.",
402
417
  usage: ["SIV TSLA"],
403
- keys: [STEP, OPEN_SOURCE],
418
+ keys: [key("v", "iew"), STEP, OPEN_SOURCE],
404
419
  data: same("Daily, the evening after each session"),
405
420
  bloomberg: [],
406
421
  },
@@ -409,6 +424,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
409
424
  usage: ["DIAG NVDA"],
410
425
  keys: [OPEN_SOURCE],
411
426
  data: { free: "A preview of the latest report, verified email", pro: "The full report, rerun on demand" },
427
+ access: "preview",
412
428
  bloomberg: [],
413
429
  },
414
430
  RISK: {
@@ -416,6 +432,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
416
432
  usage: ["RISK TSLA"],
417
433
  keys: [key("y", "ear"), key("o", "pen filing")],
418
434
  data: pro(AS_FILED.pro),
435
+ access: "pro",
419
436
  bloomberg: [],
420
437
  },
421
438
  EXEC: {
@@ -423,6 +440,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
423
440
  usage: ["EXEC NVDA"],
424
441
  keys: [key("y", "ear"), key("o", "pen filing")],
425
442
  data: pro(AS_FILED.pro),
443
+ access: "pro",
426
444
  bloomberg: ["MGMT"],
427
445
  },
428
446
  EK: {
@@ -430,6 +448,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
430
448
  usage: ["EK NVDA"],
431
449
  keys: [key("o", "pen filing")],
432
450
  data: pro(AS_FILED.pro),
451
+ access: "pro",
433
452
  bloomberg: ["CF"],
434
453
  },
435
454
  CALLS: {
@@ -437,6 +456,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
437
456
  usage: ["CALLS", "CALLS NVDA"],
438
457
  keys: [OPEN, key("/", "find"), OPEN_SOURCE],
439
458
  data: pro("Within hours of the call"),
459
+ access: "pro",
440
460
  bloomberg: ["EVT"],
441
461
  },
442
462
  JOBS: {
@@ -444,6 +464,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
444
464
  usage: ["JOBS", "JOBS NVDA"],
445
465
  keys: [key("1-4", " section"), key("o", "pen role"), key("c", "areers site")],
446
466
  data: pro("Daily"),
467
+ access: "pro",
447
468
  bloomberg: [],
448
469
  },
449
470
  SRCH: {
@@ -451,6 +472,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
451
472
  usage: ["SRCH data center capex"],
452
473
  keys: [SEARCH, key("Ctrl+S", " save search"), key("a", "lerts")],
453
474
  data: pro("As calls, stories and filings arrive"),
475
+ access: "pro",
454
476
  bloomberg: ["NSE"],
455
477
  },
456
478
  COVN: {
@@ -458,6 +480,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
458
480
  usage: ["COVN FICO"],
459
481
  keys: [TABS, OPEN, OPEN_SOURCE, key("f", "a"), key("m", "aturities")],
460
482
  data: { free: "As filed; three supported rows per section", pro: "As filed; all covenants, evidence and revisions" },
483
+ access: "preview",
461
484
  bloomberg: ["CAST"],
462
485
  },
463
486
  CRDOC: {
@@ -465,6 +488,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
465
488
  usage: ["CRDOC FICO", "COVN AAPL"],
466
489
  keys: [TABS, OPEN, OPEN_SOURCE, key("d", "es"), key("f", "a"), key("m", "aturities"), key("c", "ds")],
467
490
  data: { free: "As filed; three rows per section with supporting evidence", pro: "As filed; all stored terms, revisions and risk screens" },
491
+ access: "preview",
468
492
  bloomberg: ["CAST", "DDIS"],
469
493
  },
470
494
  ATTN: {
@@ -472,6 +496,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
472
496
  usage: ["ATTN", "ATTN 6758:JPX"],
473
497
  keys: [OPEN, key("e", "vidence"), key("d", "es"), key("g", "raph"), key("n", "ews")],
474
498
  data: { free: "Three published rows per section and the latest history point", pro: "All published rows and hourly history; minimum one-hour publication lag" },
499
+ access: "preview",
475
500
  bloomberg: [],
476
501
  },
477
502
  HIRE: {
@@ -479,6 +504,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
479
504
  usage: ["HIRE", "HIRE NET", "HIRE 0700:HKEX"],
480
505
  keys: [TABS, OPEN, key("e", "vidence"), key("o", "pen source"), key("d", "es"), key("g", "raph")],
481
506
  data: { free: "Latest values and three rows per section", pro: "Weekly history, all stored observations and evidence" },
507
+ access: "preview",
482
508
  bloomberg: [],
483
509
  },
484
510
  APPS: {
@@ -486,6 +512,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
486
512
  usage: ["APPS", "APPS META", "APPS 0700:HKEX"],
487
513
  keys: [TABS, OPEN, key("e", "vidence"), key("o", "pen source"), key("d", "es"), key("g", "raph")],
488
514
  data: { free: "Latest values and three rows per section", pro: "Daily observations, full history, countries and evidence" },
515
+ access: "preview",
489
516
  bloomberg: [],
490
517
  },
491
518
  CATL: {
@@ -493,6 +520,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
493
520
  usage: ["CATL", "CATL PFE", "CATL NOVN:SIX"],
494
521
  keys: [TABS, OPEN, OPEN_SOURCE, key("a", "lert"), key("d", "es")],
495
522
  data: { free: "Three events with primary-source evidence", pro: "All stored events, revision history and local alerts" },
523
+ access: "preview",
496
524
  bloomberg: [],
497
525
  },
498
526
  LITI: {
@@ -500,6 +528,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
500
528
  usage: ["LITI AAPL", "LITI MSFT"],
501
529
  keys: [TABS, OPEN, OPEN_SOURCE, key("t", "o calendar")],
502
530
  data: { free: "Three company events with evidence", pro: "All stored company dockets and history" },
531
+ access: "preview",
503
532
  bloomberg: ["LITI"],
504
533
  },
505
534
  KPIS: {
@@ -507,6 +536,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
507
536
  usage: ["KPIS CRM", "KPIS 005930:KRX"],
508
537
  keys: [TABS, OPEN, key("e", "vidence"), OPEN_SOURCE],
509
538
  data: { free: "Pro dataset; fixed latest preview with evidence", pro: "As disclosed; all stored observations and history" },
539
+ access: "preview",
510
540
  bloomberg: [],
511
541
  },
512
542
  GUIDE: {
@@ -514,6 +544,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
514
544
  usage: ["GUIDE DAL", "GUIDE CRM"],
515
545
  keys: [TABS, OPEN, key("e", "vidence"), OPEN_SOURCE],
516
546
  data: { free: "Pro dataset; fixed latest preview with evidence", pro: "As issued; full guidance history and actual matches" },
547
+ access: "preview",
517
548
  bloomberg: [],
518
549
  },
519
550
  EXPO: {
@@ -521,6 +552,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
521
552
  usage: ["EXPO AAPL=60% NVDA=40%", "EXPO PORT:portfolio-id", "EXPO WATCH:watchlist-id"],
522
553
  keys: [TABS, OPEN, key("s", "cenario and holdings"), key("e", "vidence"), key("a", "ll company disclosures"), key("v", "isibility"), key("o", "pen source")],
523
554
  data: { free: "One holding and one-hop evidence preview", pro: "Full holdings and up to four-hop paths, as filed" },
555
+ access: "preview",
524
556
  bloomberg: ["PORT", "SPLC"],
525
557
  },
526
558
  SPLC: {
@@ -528,6 +560,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
528
560
  usage: ["SPLC NVDA", "SUPPLY AAPL", "SPLC 005930.KS", "SPLC 8035.T"],
529
561
  keys: [OPEN, key("e", "vidence"), key("d", "es"), key("g", "raph")],
530
562
  data: { free: "Three relationships per role with evidence and a one-hop graph preview", pro: "Full evidence tiers, one-to-four-hop graphs and ranked paths" },
563
+ access: "preview",
531
564
  bloomberg: ["SPLC"],
532
565
  },
533
566
  AWARDS: {
@@ -535,6 +568,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
535
568
  usage: ["AWARDS", "AWARDS LMT", "AWARDS BA.:LSE"],
536
569
  keys: [TABS, OPEN, SEARCH, key("e", "vidence"), key("o", "pen source"), key("d", "es"), key("f", "a"), key("g", "raph"), key("s", "plc"), key("c", "alendar")],
537
570
  data: { free: "Pro preview: three rows per section", pro: "All collected awards, history, revisions and relationships" },
571
+ access: "preview",
538
572
  bloomberg: [],
539
573
  },
540
574
  SEG: {
@@ -542,6 +576,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
542
576
  usage: ["SEG AAPL"],
543
577
  keys: [],
544
578
  data: { free: "First two lines, about five weeks after each filing", pro: "Every line, about five weeks after each filing" },
579
+ access: "preview",
545
580
  bloomberg: [],
546
581
  },
547
582
  TAS: {
@@ -589,7 +624,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
589
624
  ASKG: {
590
625
  summary: "Ask a question about what is on screen and watch the tools Gloom runs to answer it.",
591
626
  usage: ["ASKG why is NVDA down today"],
592
- keys: [key("n", "ew conversation"), key("t", "ickers"), key("o", "pen pane")],
627
+ keys: [key("n", "ew conversation"), key("g", "ood answer"), key("b", "ad answer"), key("t", "ickers"), key("o", "pen pane")],
593
628
  data: null,
594
629
  bloomberg: ["ASKB"],
595
630
  },
@@ -663,14 +698,14 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
663
698
  MEMB: {
664
699
  summary: "ETF holdings with weights, shares, member returns, daily contributions and index changes. SPX and SPY use IVV holdings.",
665
700
  usage: ["MEMB", "MEMB SPY", "MEMB IWM"],
666
- keys: [TABS, OPEN],
701
+ keys: [TABS, OPEN, MEMBERS_MENU],
667
702
  data: same("Dated fund holdings and partial delayed member returns. Nasdaq-100 is not covered."),
668
703
  bloomberg: ["MEMB", "MRR", "IMOV"],
669
704
  },
670
705
  THEM: {
671
706
  summary: "Curated thematic baskets with equal-weight returns and breadth. Open a theme to see its members, leaders and laggards. The Themes tab of BI.",
672
707
  usage: ["THEM", "THEM nuclear"],
673
- keys: [TABS, OPEN, key("Esc", "back")],
708
+ keys: [TABS, OPEN, key("Esc", "back"), MEMBERS_MENU],
674
709
  data: same("Updated every 15 minutes"),
675
710
  bloomberg: ["IMAP", "custom baskets"],
676
711
  },
@@ -689,7 +724,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
689
724
  bloomberg: ["IMAP"],
690
725
  },
691
726
  FXC: {
692
- summary: "A cross-rate matrix for the major currencies, or for any of 45 chosen in its settings.",
727
+ summary: "A cross-rate matrix for the major currencies, or for any of 45 chosen in its settings or with --currencies from the command line (gloomberb fn FXC --currencies USD,ZAR,NGN).",
693
728
  usage: ["FXC"],
694
729
  keys: [],
695
730
  data: FX,
@@ -700,6 +735,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
700
735
  usage: ["PERP", "PERP BTC", "PERP TSLA"],
701
736
  keys: [TABS, OPEN, SEARCH, key("e", "vidence"), key("a", "lert")],
702
737
  data: { free: "A fixed preview and any one market's latest values", pro: "Every market, full rankings and stored history; source timestamps retained" },
738
+ access: "preview",
703
739
  bloomberg: [],
704
740
  },
705
741
  CRYP: {
@@ -749,6 +785,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
749
785
  usage: ["POWER", "POWER NEE"],
750
786
  keys: [SEARCH, key("o", "pen source"), key("d", "es"), key("f", "a"), key("g", "raph"), key("s", "plc"), key("c", "ompute"), key("t", "BO")],
751
787
  data: { free: "Three rows per section; limited history", pro: "Snapshots as public registers update; coverage by region" },
788
+ access: "preview",
752
789
  bloomberg: [],
753
790
  },
754
791
  GPU: {
@@ -756,6 +793,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
756
793
  usage: ["GPU", "GPU H100", "GPU B200"],
757
794
  keys: [key("t", "BO")],
758
795
  data: same("Hourly asks and AWS spot; other published prices every 6 or 24 hours"),
796
+ access: "preview",
759
797
  bloomberg: [],
760
798
  },
761
799
  NGS: {
@@ -792,6 +830,7 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
792
830
  usage: ["FLOW"],
793
831
  keys: [OPEN],
794
832
  data: pro(REAL_TIME),
833
+ access: "pro",
795
834
  bloomberg: ["FLOW"],
796
835
  },
797
836
  HALT: {
@@ -874,8 +913,8 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
874
913
  bloomberg: ["CRD"],
875
914
  },
876
915
  AUCT: {
877
- summary: "Bill, note, bond and TIPS auction results: high rate, bid-to-cover, indirect share and size, with the auctions announced next.",
878
- usage: ["AUCT", "AUCT 10-year"],
916
+ summary: "Bill, note, bond and TIPS auction results: high rate, stop-out versus average, bid-to-cover, indirect, direct and dealer takedown and size, with the auctions announced next. Searchable by benchmark (10Y) or CUSIP; history reaches back 10 years.",
917
+ usage: ["AUCT", "AUCT 10Y", "AUCT 91282CRF0"],
879
918
  keys: [SEARCH, key("f", "ilter"), OPEN],
880
919
  data: same("Daily, after each auction"),
881
920
  bloomberg: ["AUCT"],
@@ -895,16 +934,16 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
895
934
  bloomberg: ["CDS"],
896
935
  },
897
936
  CDX: {
898
- summary: "CDX IG, HY and EM with iTraxx Main and Crossover on the run: the 5Y level, 1D and 1W moves, 1Y percentile and the day's print count. IG and iTraxx in spread, HY and EM in price.",
937
+ summary: "CDX IG, HY and EM with iTraxx Main and Crossover on the run: the 5Y level, 1D and 1W moves, 1Y percentile and the day's print count. IG and iTraxx in spread, HY and EM in price. Sovereign CDS is the other tab.",
899
938
  usage: ["CDX"],
900
- keys: [OPEN],
939
+ keys: [TABS, OPEN],
901
940
  data: same("Delayed, as trades are disseminated"),
902
941
  bloomberg: ["CDX"],
903
942
  },
904
943
  SOVR: {
905
- summary: "Sovereign 5Y CDS ranked by the month's move, beside the local currency's move against the dollar, with each country's year of history.",
944
+ summary: "The CDS pane on Sovereign: 5Y CDS ranked by the month's move, beside the local currency's move against the dollar, with each country's year of history.",
906
945
  usage: ["SOVR"],
907
- keys: [OPEN],
946
+ keys: [TABS, OPEN],
908
947
  data: same("Delayed, as trades are disseminated"),
909
948
  bloomberg: ["SOVR", "WCDS"],
910
949
  },
@@ -1125,6 +1164,14 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
1125
1164
  data: null,
1126
1165
  bloomberg: [],
1127
1166
  },
1167
+ MCP: {
1168
+ summary: "Connects Claude Code, Codex, Cursor or any MCP client to Gloom's research tools: the command to copy, or a key to create.",
1169
+ usage: ["MCP"],
1170
+ keys: [key("c", "opy"), key("←/→", " client"), key("k", "ey")],
1171
+ data: null,
1172
+ bloomberg: [],
1173
+ docs: "https://gloom.sh/docs/mcp",
1174
+ },
1128
1175
  BR: {
1129
1176
  summary: "Broker profiles, account sync and connection status. Every broker is a plugin you install first.",
1130
1177
  usage: ["BR"],
@@ -1177,9 +1224,9 @@ export const FUNCTION_HELP: Readonly<Record<string, FunctionHelp>> = {
1177
1224
  bloomberg: [],
1178
1225
  },
1179
1226
  PL: {
1180
- summary: "The plugin directory: install from GitHub, and enable or disable the plugins you have.",
1227
+ summary: "What Gloomberb is made of: switch built-ins on and off, one by one or with a starter pack, and install plugins from GitHub.",
1181
1228
  usage: ["PL"],
1182
- keys: [key("i", "nstall"), key("e", "nable"), key("s", "etup"), SEARCH],
1229
+ keys: [key("e", "nable"), key("a", " packs"), key("i", "nstall"), SEARCH],
1183
1230
  data: null,
1184
1231
  bloomberg: [],
1185
1232
  },