shortcutxl 0.2.0

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 (423) hide show
  1. package/README.md +59 -0
  2. package/agent-docs/README.md +397 -0
  3. package/agent-docs/docs/compaction.md +390 -0
  4. package/agent-docs/docs/custom-provider.md +580 -0
  5. package/agent-docs/docs/development.md +69 -0
  6. package/agent-docs/docs/extensions.md +1971 -0
  7. package/agent-docs/docs/json.md +79 -0
  8. package/agent-docs/docs/keybindings.md +174 -0
  9. package/agent-docs/docs/models.md +293 -0
  10. package/agent-docs/docs/packages.md +209 -0
  11. package/agent-docs/docs/prompt-templates.md +67 -0
  12. package/agent-docs/docs/providers.md +186 -0
  13. package/agent-docs/docs/rpc.md +1317 -0
  14. package/agent-docs/docs/sdk.md +962 -0
  15. package/agent-docs/docs/session.md +412 -0
  16. package/agent-docs/docs/settings.md +223 -0
  17. package/agent-docs/docs/shell-aliases.md +13 -0
  18. package/agent-docs/docs/skills.md +231 -0
  19. package/agent-docs/docs/terminal-setup.md +70 -0
  20. package/agent-docs/docs/termux.md +127 -0
  21. package/agent-docs/docs/themes.md +295 -0
  22. package/agent-docs/docs/tree.md +219 -0
  23. package/agent-docs/docs/tui.md +887 -0
  24. package/agent-docs/docs/windows.md +17 -0
  25. package/agent-docs/examples/README.md +25 -0
  26. package/agent-docs/examples/extensions/README.md +205 -0
  27. package/agent-docs/examples/extensions/antigravity-image-gen.ts +447 -0
  28. package/agent-docs/examples/extensions/auto-commit-on-exit.ts +49 -0
  29. package/agent-docs/examples/extensions/bash-spawn-hook.ts +30 -0
  30. package/agent-docs/examples/extensions/bookmark.ts +50 -0
  31. package/agent-docs/examples/extensions/built-in-tool-renderer.ts +256 -0
  32. package/agent-docs/examples/extensions/claude-rules.ts +86 -0
  33. package/agent-docs/examples/extensions/commands.ts +75 -0
  34. package/agent-docs/examples/extensions/confirm-destructive.ts +59 -0
  35. package/agent-docs/examples/extensions/custom-compaction.ts +126 -0
  36. package/agent-docs/examples/extensions/custom-footer.ts +63 -0
  37. package/agent-docs/examples/extensions/custom-header.ts +73 -0
  38. package/agent-docs/examples/extensions/custom-provider-anthropic/index.ts +660 -0
  39. package/agent-docs/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
  40. package/agent-docs/examples/extensions/custom-provider-anthropic/package.json +19 -0
  41. package/agent-docs/examples/extensions/custom-provider-gitlab-duo/index.ts +362 -0
  42. package/agent-docs/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
  43. package/agent-docs/examples/extensions/custom-provider-gitlab-duo/test.ts +88 -0
  44. package/agent-docs/examples/extensions/custom-provider-qwen-cli/index.ts +349 -0
  45. package/agent-docs/examples/extensions/custom-provider-qwen-cli/package.json +16 -0
  46. package/agent-docs/examples/extensions/dirty-repo-guard.ts +56 -0
  47. package/agent-docs/examples/extensions/doom-overlay/README.md +46 -0
  48. package/agent-docs/examples/extensions/doom-overlay/doom/build.sh +152 -0
  49. package/agent-docs/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
  50. package/agent-docs/examples/extensions/doom-overlay/doom-component.ts +133 -0
  51. package/agent-docs/examples/extensions/doom-overlay/doom-engine.ts +186 -0
  52. package/agent-docs/examples/extensions/doom-overlay/doom-keys.ts +108 -0
  53. package/agent-docs/examples/extensions/doom-overlay/index.ts +74 -0
  54. package/agent-docs/examples/extensions/doom-overlay/wad-finder.ts +51 -0
  55. package/agent-docs/examples/extensions/dynamic-resources/SKILL.md +8 -0
  56. package/agent-docs/examples/extensions/dynamic-resources/dynamic.json +79 -0
  57. package/agent-docs/examples/extensions/dynamic-resources/dynamic.md +5 -0
  58. package/agent-docs/examples/extensions/dynamic-resources/index.ts +15 -0
  59. package/agent-docs/examples/extensions/dynamic-tools.ts +77 -0
  60. package/agent-docs/examples/extensions/event-bus.ts +43 -0
  61. package/agent-docs/examples/extensions/file-trigger.ts +41 -0
  62. package/agent-docs/examples/extensions/git-checkpoint.ts +53 -0
  63. package/agent-docs/examples/extensions/handoff.ts +155 -0
  64. package/agent-docs/examples/extensions/hello.ts +25 -0
  65. package/agent-docs/examples/extensions/inline-bash.ts +94 -0
  66. package/agent-docs/examples/extensions/input-transform.ts +43 -0
  67. package/agent-docs/examples/extensions/interactive-shell.ts +209 -0
  68. package/agent-docs/examples/extensions/mac-system-theme.ts +47 -0
  69. package/agent-docs/examples/extensions/message-renderer.ts +59 -0
  70. package/agent-docs/examples/extensions/minimal-mode.ts +430 -0
  71. package/agent-docs/examples/extensions/modal-editor.ts +90 -0
  72. package/agent-docs/examples/extensions/model-status.ts +31 -0
  73. package/agent-docs/examples/extensions/notify.ts +55 -0
  74. package/agent-docs/examples/extensions/overlay-qa-tests.ts +936 -0
  75. package/agent-docs/examples/extensions/overlay-test.ts +159 -0
  76. package/agent-docs/examples/extensions/permission-gate.ts +37 -0
  77. package/agent-docs/examples/extensions/pirate.ts +47 -0
  78. package/agent-docs/examples/extensions/plan-mode/README.md +65 -0
  79. package/agent-docs/examples/extensions/plan-mode/index.ts +363 -0
  80. package/agent-docs/examples/extensions/plan-mode/utils.ts +173 -0
  81. package/agent-docs/examples/extensions/preset.ts +418 -0
  82. package/agent-docs/examples/extensions/protected-paths.ts +30 -0
  83. package/agent-docs/examples/extensions/qna.ts +122 -0
  84. package/agent-docs/examples/extensions/question.ts +278 -0
  85. package/agent-docs/examples/extensions/questionnaire.ts +440 -0
  86. package/agent-docs/examples/extensions/rainbow-editor.ts +90 -0
  87. package/agent-docs/examples/extensions/reload-runtime.ts +37 -0
  88. package/agent-docs/examples/extensions/rpc-demo.ts +124 -0
  89. package/agent-docs/examples/extensions/sandbox/index.ts +324 -0
  90. package/agent-docs/examples/extensions/sandbox/package-lock.json +92 -0
  91. package/agent-docs/examples/extensions/sandbox/package.json +19 -0
  92. package/agent-docs/examples/extensions/send-user-message.ts +97 -0
  93. package/agent-docs/examples/extensions/session-name.ts +27 -0
  94. package/agent-docs/examples/extensions/shutdown-command.ts +69 -0
  95. package/agent-docs/examples/extensions/snake.ts +343 -0
  96. package/agent-docs/examples/extensions/space-invaders.ts +566 -0
  97. package/agent-docs/examples/extensions/ssh.ts +233 -0
  98. package/agent-docs/examples/extensions/status-line.ts +40 -0
  99. package/agent-docs/examples/extensions/subagent/README.md +172 -0
  100. package/agent-docs/examples/extensions/subagent/agents/planner.md +37 -0
  101. package/agent-docs/examples/extensions/subagent/agents/reviewer.md +35 -0
  102. package/agent-docs/examples/extensions/subagent/agents/scout.md +50 -0
  103. package/agent-docs/examples/extensions/subagent/agents/worker.md +24 -0
  104. package/agent-docs/examples/extensions/subagent/agents.ts +130 -0
  105. package/agent-docs/examples/extensions/subagent/index.ts +1068 -0
  106. package/agent-docs/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
  107. package/agent-docs/examples/extensions/subagent/prompts/implement.md +10 -0
  108. package/agent-docs/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
  109. package/agent-docs/examples/extensions/summarize.ts +206 -0
  110. package/agent-docs/examples/extensions/system-prompt-header.ts +17 -0
  111. package/agent-docs/examples/extensions/timed-confirm.ts +72 -0
  112. package/agent-docs/examples/extensions/titlebar-spinner.ts +58 -0
  113. package/agent-docs/examples/extensions/todo.ts +314 -0
  114. package/agent-docs/examples/extensions/tool-override.ts +146 -0
  115. package/agent-docs/examples/extensions/tools.ts +145 -0
  116. package/agent-docs/examples/extensions/trigger-compact.ts +40 -0
  117. package/agent-docs/examples/extensions/truncated-tool.ts +194 -0
  118. package/agent-docs/examples/extensions/widget-placement.ts +17 -0
  119. package/agent-docs/examples/extensions/with-deps/index.ts +37 -0
  120. package/agent-docs/examples/extensions/with-deps/package-lock.json +31 -0
  121. package/agent-docs/examples/extensions/with-deps/package.json +22 -0
  122. package/agent-docs/examples/rpc-extension-ui.ts +654 -0
  123. package/agent-docs/examples/sdk/01-minimal.ts +22 -0
  124. package/agent-docs/examples/sdk/02-custom-model.ts +48 -0
  125. package/agent-docs/examples/sdk/03-custom-prompt.ts +55 -0
  126. package/agent-docs/examples/sdk/04-skills.ts +53 -0
  127. package/agent-docs/examples/sdk/05-tools.ts +56 -0
  128. package/agent-docs/examples/sdk/06-extensions.ts +88 -0
  129. package/agent-docs/examples/sdk/07-context-files.ts +40 -0
  130. package/agent-docs/examples/sdk/08-prompt-templates.ts +47 -0
  131. package/agent-docs/examples/sdk/09-api-keys-and-oauth.ts +48 -0
  132. package/agent-docs/examples/sdk/10-settings.ts +54 -0
  133. package/agent-docs/examples/sdk/11-sessions.ts +48 -0
  134. package/agent-docs/examples/sdk/12-full-control.ts +82 -0
  135. package/agent-docs/examples/sdk/README.md +144 -0
  136. package/agent-docs/xll-skill.md +61 -0
  137. package/agent-docs/xll-spec.md +110 -0
  138. package/dist/cli/args.js +290 -0
  139. package/dist/cli/config-selector.js +31 -0
  140. package/dist/cli/file-processor.js +79 -0
  141. package/dist/cli/list-models.js +92 -0
  142. package/dist/cli/package-commands.js +210 -0
  143. package/dist/cli/report-settings-errors.js +11 -0
  144. package/dist/cli/session-picker.js +34 -0
  145. package/dist/cli.js +19 -0
  146. package/dist/config.js +288 -0
  147. package/dist/core/abort.js +15 -0
  148. package/dist/core/agent-loop.js +352 -0
  149. package/dist/core/agent-session.js +2019 -0
  150. package/dist/core/agent.js +410 -0
  151. package/dist/core/auth-storage.js +456 -0
  152. package/dist/core/bash-executor.js +222 -0
  153. package/dist/core/compaction/branch-summarization.js +242 -0
  154. package/dist/core/compaction/compaction.js +610 -0
  155. package/dist/core/compaction/index.js +7 -0
  156. package/dist/core/compaction/utils.js +139 -0
  157. package/dist/core/defaults.js +6 -0
  158. package/dist/core/diagnostics.js +2 -0
  159. package/dist/core/event-bus.js +25 -0
  160. package/dist/core/exec.js +71 -0
  161. package/dist/core/export-html/ansi-to-html.js +256 -0
  162. package/dist/core/export-html/index.js +238 -0
  163. package/dist/core/export-html/session-view-model.js +342 -0
  164. package/dist/core/export-html/template.css +1110 -0
  165. package/dist/core/export-html/template.html +76 -0
  166. package/dist/core/export-html/template.js +1990 -0
  167. package/dist/core/export-html/tool-renderer.js +63 -0
  168. package/dist/core/export-html/vendor/highlight.min.js +7725 -0
  169. package/dist/core/export-html/vendor/marked.min.js +1803 -0
  170. package/dist/core/extensions/index.js +9 -0
  171. package/dist/core/extensions/loader.js +422 -0
  172. package/dist/core/extensions/runner.js +651 -0
  173. package/dist/core/extensions/types.js +35 -0
  174. package/dist/core/extensions/wrapper.js +102 -0
  175. package/dist/core/footer-data-provider.js +162 -0
  176. package/dist/core/index.js +9 -0
  177. package/dist/core/keybindings.js +153 -0
  178. package/dist/core/messages.js +133 -0
  179. package/dist/core/model-registry.js +539 -0
  180. package/dist/core/model-resolver.js +370 -0
  181. package/dist/core/package-manager.js +1485 -0
  182. package/dist/core/prompt-templates.js +253 -0
  183. package/dist/core/resolve-config-value.js +59 -0
  184. package/dist/core/resource-loader.js +700 -0
  185. package/dist/core/sdk.js +197 -0
  186. package/dist/core/session-bash.js +99 -0
  187. package/dist/core/session-compaction.js +165 -0
  188. package/dist/core/session-manager.js +1153 -0
  189. package/dist/core/session-models.js +99 -0
  190. package/dist/core/session-retry.js +155 -0
  191. package/dist/core/settings-manager.js +572 -0
  192. package/dist/core/skills.js +382 -0
  193. package/dist/core/slash-commands.js +31 -0
  194. package/dist/core/system-prompt.js +161 -0
  195. package/dist/core/theme.js +770 -0
  196. package/dist/core/timings.js +26 -0
  197. package/dist/core/tools/bash.js +258 -0
  198. package/dist/core/tools/edit-diff.js +245 -0
  199. package/dist/core/tools/edit.js +148 -0
  200. package/dist/core/tools/find.js +208 -0
  201. package/dist/core/tools/grep.js +246 -0
  202. package/dist/core/tools/index.js +67 -0
  203. package/dist/core/tools/ls.js +123 -0
  204. package/dist/core/tools/path-utils.js +81 -0
  205. package/dist/core/tools/read.js +160 -0
  206. package/dist/core/tools/truncate.js +70 -0
  207. package/dist/core/tools/write.js +82 -0
  208. package/dist/custom/agents/action.js +13 -0
  209. package/dist/custom/agents/document-reader.js +70 -0
  210. package/dist/custom/agents/general.js +26 -0
  211. package/dist/custom/agents/index.js +49 -0
  212. package/dist/custom/agents/installation.js +13 -0
  213. package/dist/custom/agents/types.js +7 -0
  214. package/dist/custom/auth/refresh-timer.js +33 -0
  215. package/dist/custom/auth/shortcut-oauth.js +145 -0
  216. package/dist/custom/constants.js +21 -0
  217. package/dist/custom/context/workbook-summary.js +73 -0
  218. package/dist/custom/credits/shortcut-credits.js +29 -0
  219. package/dist/custom/cron/cron-daemon-entry.js +18 -0
  220. package/dist/custom/cron/daemon-ipc.js +131 -0
  221. package/dist/custom/cron/daemon.js +224 -0
  222. package/dist/custom/cron/jobs.js +226 -0
  223. package/dist/custom/cron/run-log.js +51 -0
  224. package/dist/custom/cron/schedule.js +72 -0
  225. package/dist/custom/cron/status-line.js +98 -0
  226. package/dist/custom/cron/store.js +87 -0
  227. package/dist/custom/cron/types.js +8 -0
  228. package/dist/custom/dev/index.js +59 -0
  229. package/dist/custom/dev/trace-export.js +58 -0
  230. package/dist/custom/ensure-excel.js +63 -0
  231. package/dist/custom/excel-config.js +36 -0
  232. package/dist/custom/preflight.js +422 -0
  233. package/dist/custom/prompts/action.js +100 -0
  234. package/dist/custom/prompts/api.js +66 -0
  235. package/dist/custom/prompts/installation.js +124 -0
  236. package/dist/custom/prompts/shared.js +138 -0
  237. package/dist/custom/providers/llm-usage.js +42 -0
  238. package/dist/custom/providers/message-converter.js +74 -0
  239. package/dist/custom/providers/provider-ids.js +9 -0
  240. package/dist/custom/providers/register-openai-codex-provider.js +27 -0
  241. package/dist/custom/providers/register-shortcut-provider.js +52 -0
  242. package/dist/custom/providers/shortcut-invoke.js +117 -0
  243. package/dist/custom/providers/shortcut-stream.js +252 -0
  244. package/dist/custom/providers/sse-protocol.js +38 -0
  245. package/dist/custom/sync-xll.js +130 -0
  246. package/dist/custom/tools/cron.js +413 -0
  247. package/dist/custom/tools/excel-exec.js +167 -0
  248. package/dist/custom/tools/excel-range.js +50 -0
  249. package/dist/custom/tools/llm-analysis.js +265 -0
  250. package/dist/custom/tools/render-helpers.js +38 -0
  251. package/dist/custom/tools/switch-mode.js +94 -0
  252. package/dist/custom/tools/task/agents.js +6 -0
  253. package/dist/custom/tools/task/index.js +8 -0
  254. package/dist/custom/tools/task/render.js +348 -0
  255. package/dist/custom/tools/task/subprocess.js +320 -0
  256. package/dist/custom/tools/task/task.js +205 -0
  257. package/dist/custom/tools/todo-list.js +195 -0
  258. package/dist/custom/tracing/session-upload.js +93 -0
  259. package/dist/index.js +45 -0
  260. package/dist/main.js +613 -0
  261. package/dist/migrations.js +265 -0
  262. package/dist/modes/index.js +8 -0
  263. package/dist/modes/interactive/components/armin.js +337 -0
  264. package/dist/modes/interactive/components/assistant-message.js +94 -0
  265. package/dist/modes/interactive/components/bash-execution.js +171 -0
  266. package/dist/modes/interactive/components/bordered-loader.js +51 -0
  267. package/dist/modes/interactive/components/branch-summary-message.js +45 -0
  268. package/dist/modes/interactive/components/compaction-summary-message.js +46 -0
  269. package/dist/modes/interactive/components/config-selector.js +488 -0
  270. package/dist/modes/interactive/components/countdown-timer.js +33 -0
  271. package/dist/modes/interactive/components/custom-editor.js +93 -0
  272. package/dist/modes/interactive/components/custom-message.js +81 -0
  273. package/dist/modes/interactive/components/daxnuts.js +140 -0
  274. package/dist/modes/interactive/components/diff.js +133 -0
  275. package/dist/modes/interactive/components/dynamic-border.js +21 -0
  276. package/dist/modes/interactive/components/extension-editor.js +105 -0
  277. package/dist/modes/interactive/components/extension-input.js +61 -0
  278. package/dist/modes/interactive/components/extension-selector.js +78 -0
  279. package/dist/modes/interactive/components/footer.js +309 -0
  280. package/dist/modes/interactive/components/index.js +33 -0
  281. package/dist/modes/interactive/components/keybinding-hints.js +61 -0
  282. package/dist/modes/interactive/components/layout.js +64 -0
  283. package/dist/modes/interactive/components/login-dialog.js +148 -0
  284. package/dist/modes/interactive/components/model-selector.js +237 -0
  285. package/dist/modes/interactive/components/oauth-selector.js +111 -0
  286. package/dist/modes/interactive/components/session-selector-search.js +157 -0
  287. package/dist/modes/interactive/components/session-selector.js +860 -0
  288. package/dist/modes/interactive/components/settings-selector.js +123 -0
  289. package/dist/modes/interactive/components/show-images-selector.js +35 -0
  290. package/dist/modes/interactive/components/skill-invocation-message.js +48 -0
  291. package/dist/modes/interactive/components/theme-selector.js +47 -0
  292. package/dist/modes/interactive/components/thinking-selector.js +47 -0
  293. package/dist/modes/interactive/components/tool-execution.js +789 -0
  294. package/dist/modes/interactive/components/tool-group.js +106 -0
  295. package/dist/modes/interactive/components/tree-selector.js +962 -0
  296. package/dist/modes/interactive/components/user-message-selector.js +115 -0
  297. package/dist/modes/interactive/components/user-message.js +48 -0
  298. package/dist/modes/interactive/components/visual-truncate.js +33 -0
  299. package/dist/modes/interactive/file-attachments.js +135 -0
  300. package/dist/modes/interactive/interactive-mode.js +3775 -0
  301. package/dist/modes/interactive/theme/dark.json +85 -0
  302. package/dist/modes/interactive/theme/light.json +85 -0
  303. package/dist/modes/interactive/theme/theme-schema.json +335 -0
  304. package/dist/modes/interactive/theme/theme.js +177 -0
  305. package/dist/modes/print-mode.js +101 -0
  306. package/dist/modes/rpc/rpc-client.js +387 -0
  307. package/dist/modes/rpc/rpc-mode.js +509 -0
  308. package/dist/modes/rpc/rpc-types.js +8 -0
  309. package/dist/subagent-entry.js +145 -0
  310. package/dist/tool-names.js +34 -0
  311. package/dist/tui/autocomplete.js +596 -0
  312. package/dist/tui/components/box.js +104 -0
  313. package/dist/tui/components/cancellable-loader.js +35 -0
  314. package/dist/tui/components/editor.js +1679 -0
  315. package/dist/tui/components/image.js +69 -0
  316. package/dist/tui/components/input.js +433 -0
  317. package/dist/tui/components/loader.js +49 -0
  318. package/dist/tui/components/markdown.js +629 -0
  319. package/dist/tui/components/select-list.js +152 -0
  320. package/dist/tui/components/settings-list.js +185 -0
  321. package/dist/tui/components/spacer.js +23 -0
  322. package/dist/tui/components/text.js +89 -0
  323. package/dist/tui/components/truncated-text.js +51 -0
  324. package/dist/tui/editor-component.js +2 -0
  325. package/dist/tui/fuzzy.js +107 -0
  326. package/dist/tui/get-east-asian-width/index.js +32 -0
  327. package/dist/tui/get-east-asian-width/lookup.js +404 -0
  328. package/dist/tui/index.js +32 -0
  329. package/dist/tui/keybindings.js +114 -0
  330. package/dist/tui/keys.js +959 -0
  331. package/dist/tui/kill-ring.js +44 -0
  332. package/dist/tui/stdin-buffer.js +317 -0
  333. package/dist/tui/terminal-image.js +288 -0
  334. package/dist/tui/terminal.js +249 -0
  335. package/dist/tui/tui/autocomplete.js +596 -0
  336. package/dist/tui/tui/components/box.js +106 -0
  337. package/dist/tui/tui/components/cancellable-loader.js +35 -0
  338. package/dist/tui/tui/components/editor.js +1679 -0
  339. package/dist/tui/tui/components/image.js +69 -0
  340. package/dist/tui/tui/components/input.js +433 -0
  341. package/dist/tui/tui/components/loader.js +49 -0
  342. package/dist/tui/tui/components/markdown.js +629 -0
  343. package/dist/tui/tui/components/select-list.js +152 -0
  344. package/dist/tui/tui/components/settings-list.js +185 -0
  345. package/dist/tui/tui/components/spacer.js +23 -0
  346. package/dist/tui/tui/components/text.js +91 -0
  347. package/dist/tui/tui/components/truncated-text.js +51 -0
  348. package/dist/tui/tui/editor-component.js +2 -0
  349. package/dist/tui/tui/fuzzy.js +107 -0
  350. package/dist/tui/tui/get-east-asian-width/index.js +32 -0
  351. package/dist/tui/tui/get-east-asian-width/lookup.js +404 -0
  352. package/dist/tui/tui/index.js +32 -0
  353. package/dist/tui/tui/keybindings.js +114 -0
  354. package/dist/tui/tui/keys.js +959 -0
  355. package/dist/tui/tui/kill-ring.js +44 -0
  356. package/dist/tui/tui/stdin-buffer.js +317 -0
  357. package/dist/tui/tui/terminal-image.js +288 -0
  358. package/dist/tui/tui/terminal.js +249 -0
  359. package/dist/tui/tui/tui.js +955 -0
  360. package/dist/tui/tui/undo-stack.js +25 -0
  361. package/dist/tui/tui/utils.js +800 -0
  362. package/dist/tui/tui.js +955 -0
  363. package/dist/tui/undo-stack.js +25 -0
  364. package/dist/tui/utils.js +800 -0
  365. package/dist/utils/changelog.js +87 -0
  366. package/dist/utils/clipboard-image.js +164 -0
  367. package/dist/utils/clipboard-native.js +14 -0
  368. package/dist/utils/clipboard.js +67 -0
  369. package/dist/utils/frontmatter.js +26 -0
  370. package/dist/utils/git.js +166 -0
  371. package/dist/utils/image-convert.js +35 -0
  372. package/dist/utils/image-resize.js +183 -0
  373. package/dist/utils/mime.js +26 -0
  374. package/dist/utils/photon.js +121 -0
  375. package/dist/utils/shell.js +217 -0
  376. package/dist/utils/sleep.js +17 -0
  377. package/dist/utils/tools-manager.js +259 -0
  378. package/package.json +78 -0
  379. package/skills/excel-com-api/SKILL.md +74 -0
  380. package/skills/excel-com-api/excel-type-library.py +27767 -0
  381. package/skills/excel-com-api/office-type-library.py +10867 -0
  382. package/skills/integrations/SKILL.md +138 -0
  383. package/skills/integrations/alphasense.md +457 -0
  384. package/skills/integrations/bloomberg.md +803 -0
  385. package/skills/integrations/calcbench.md +315 -0
  386. package/skills/integrations/capiq.md +848 -0
  387. package/skills/integrations/dynamics-365-finance.md +354 -0
  388. package/skills/integrations/earnings_transcripts.md +387 -0
  389. package/skills/integrations/factset.md +758 -0
  390. package/skills/integrations/ice-fixed-income.md +344 -0
  391. package/skills/integrations/moodys-analytics.md +313 -0
  392. package/skills/integrations/morningstar.md +433 -0
  393. package/skills/integrations/nasdaq-data-link.md +249 -0
  394. package/skills/integrations/pitchbook.md +413 -0
  395. package/skills/integrations/preqin.md +422 -0
  396. package/skills/integrations/quickbooks.md +289 -0
  397. package/skills/integrations/quickfs.md +314 -0
  398. package/skills/integrations/refinitiv.md +473 -0
  399. package/skills/integrations/sage-intacct.md +401 -0
  400. package/skills/integrations/visible-alpha.md +320 -0
  401. package/skills/integrations/xero.md +393 -0
  402. package/skills/integrations/ycharts.md +306 -0
  403. package/skills/pdf-creation/SKILL.md +93 -0
  404. package/skills/pdf-extraction/SKILL.md +32 -0
  405. package/skills/powerpoint-creation/SKILL.md +110 -0
  406. package/skills/sec-edgar/SKILL.md +127 -0
  407. package/skills/sec-edgar/sec_to_pdf.py +109 -0
  408. package/xll/ShortcutXL.xll +0 -0
  409. package/xll/modules/debug_render.py +272 -0
  410. package/xll/modules/gameboy.py +241 -0
  411. package/xll/modules/pong.py +188 -0
  412. package/xll/modules/shortcut_xl/__init__.py +18 -0
  413. package/xll/modules/shortcut_xl/_categorize.py +200 -0
  414. package/xll/modules/shortcut_xl/_com.py +108 -0
  415. package/xll/modules/shortcut_xl/_format.py +252 -0
  416. package/xll/modules/shortcut_xl/_log.py +12 -0
  417. package/xll/modules/shortcut_xl/_managed.py +116 -0
  418. package/xll/modules/shortcut_xl/_registry.py +44 -0
  419. package/xll/modules/shortcut_xl/_threading.py +161 -0
  420. package/xll/modules/shortcut_xl/_tracking.py +283 -0
  421. package/xll/modules/stocks.py +100 -0
  422. package/xll/python3.dll +0 -0
  423. package/xll/python312.dll +0 -0
@@ -0,0 +1,433 @@
1
+ **Morningstar Direct Excel Add-In Guide**
2
+
3
+ **Intro**
4
+ You have full access to Morningstar Direct through the Excel Add-In, but you should only pull Morningstar data **when the user explicitly tells you to**. Morningstar provides comprehensive investment data including mutual funds, ETFs, closed-end funds, stocks, money market funds, hedge funds, separate accounts, market indices, and portfolio analytics. You can retrieve data by writing Morningstar formulas directly in Excel cells.
5
+
6
+ **IMPORTANT:** Before completing a task involving Morningstar, you must verify:
7
+ 1. Your Morningstar formulas do not return errors.
8
+ 2. All values should seem reasonable and make intuitive sense based on your general knowledge of investments.
9
+ 3. Use cell references for identifiers when possible as opposed to hardcoded values.
10
+
11
+ You should essentially gut check every value that shows up. If there are any errors or the values seem wrong, you likely wrote the formula syntax incorrectly. Please correct the formula until it outputs the proper value.
12
+
13
+ ---
14
+
15
+ **Morningstar Excel Add-In Overview**
16
+
17
+ The Morningstar Excel Add-In provides five main functions:
18
+
19
+ | Function | Purpose | Use Case |
20
+ |----------|---------|----------|
21
+ | MSDP | Morningstar Data Point | Single current data points |
22
+ | MSTS | Morningstar Time Series | Historical data over time |
23
+ | MSHOLDING | Holdings | Portfolio/fund holdings |
24
+ | MSMEMBER | Member List | Investment list members |
25
+ | MSDate | Date Conversion | Date formatting |
26
+
27
+ ---
28
+
29
+ **1. MSDP - Morningstar Data Point**
30
+
31
+ Returns a single current data point for a security.
32
+
33
+ **Syntax:**
34
+ =MSDP(Security_Identifier, Data_Attribute, [Options])
35
+
36
+ **Parameters:**
37
+ - Security_Identifier: Ticker, ISIN, CUSIP, or SecID
38
+ - Data_Attribute: The data point name/code
39
+ - Options: Optional parameters (Dates, Freq, etc.)
40
+
41
+ **Examples:**
42
+ =MSDP("VFIAX", "Name")
43
+ → Returns fund name: "Vanguard 500 Index Adm"
44
+
45
+ =MSDP("NAS:AAPL", "close")
46
+ → Returns Apple's closing price.
47
+
48
+ =MSDP("FXAIX", "MorningstarCategory")
49
+ → Returns Morningstar Category for the fund.
50
+
51
+ =MSDP("NAS:VFIAX", "NAV_daily", "Dates=True")
52
+ → Returns latest daily NAV with date.
53
+
54
+ =MSDP("NAS:VFIAX", "NAV_daily", "Freq=m")
55
+ → Returns daily NAV as of last month end.
56
+
57
+ =MSDP("NAS:VFIAX", "NAV_daily", "Freq=y")
58
+ → Returns daily NAV as of last year end.
59
+
60
+ ---
61
+
62
+ **2. MSTS - Morningstar Time Series**
63
+
64
+ Returns historical time series data.
65
+
66
+ **Syntax:**
67
+ =MSTS(Security_Identifier, Data_Attribute, Start_Date, End_Date, [Options])
68
+
69
+ **Parameters:**
70
+ - Security_Identifier: Ticker, ISIN, CUSIP, or SecID
71
+ - Data_Attribute: The time series data point
72
+ - Start_Date: Begin date (MM/DD/YYYY or relative)
73
+ - End_Date: End date (MM/DD/YYYY or relative)
74
+ - Options: Additional parameters (Dates, Freq, etc.)
75
+
76
+ **Examples:**
77
+ =MSTS("COLB", "close", "3/1/2011", "3/31/2011")
78
+ → Columbia Banking daily close prices for March 2011.
79
+
80
+ =MSTS("NAS:VIFSX", "NAV_daily", "4/4/2011", "SD+6D", "Dates=True")
81
+ → Daily NAV from 4/4/2011 for next 6 days with dates.
82
+
83
+ =MSTS("AAPL", "ret_market", "1/1/2020", "12/31/2020", "Freq=m")
84
+ → Apple monthly market returns for 2020.
85
+
86
+ ---
87
+
88
+ **3. MSHOLDING - Holdings Data**
89
+
90
+ Returns portfolio holdings for a fund or portfolio.
91
+
92
+ **Syntax:**
93
+ =MSHOLDING(Portfolio_ID, Position_ID, [Date], [Options])
94
+
95
+ **Parameters:**
96
+ - Portfolio_ID: Ticker, ISIN, CUSIP, or SecID
97
+ - Position_ID: Type of position data to retrieve
98
+ - Date: Optional specific date (defaults to latest)
99
+
100
+ **Example:**
101
+ =MSHOLDING("VFIAX", "WeightPercent")
102
+ → Returns holding weights for Vanguard 500 Index.
103
+
104
+ ---
105
+
106
+ **4. MSMEMBER - List Members**
107
+
108
+ Returns members of an investment list or saved search.
109
+
110
+ **Syntax:**
111
+ =MSMEMBER(Source_ID, Group_Value, Security_ID)
112
+
113
+ **Parameters:**
114
+ - Source_ID: "L" for investment list, "S" for search
115
+ - Group_Value: Name of the list or search
116
+ - Security_ID: Output format (SecId, ISIN, Ticker, CUSIP)
117
+
118
+ **Example:**
119
+ =MSMEMBER("L", "SAMPLE-US OE", "SecId")
120
+ → Returns SecIDs of all funds in the "SAMPLE-US OE" list.
121
+
122
+ =MSMEMBER("S", "Large Cap Growth Funds", "Ticker")
123
+ → Returns tickers from saved search "Large Cap Growth Funds".
124
+
125
+ ---
126
+
127
+ **5. Security Identifiers**
128
+
129
+ **Accepted Identifier Types:**
130
+ | Type | Format | Example |
131
+ |------|--------|---------|
132
+ | Ticker (Long) | EXCHANGE:TICKER | NAS:AAPL |
133
+ | Ticker (Short) | TICKER | AAPL |
134
+ | ISIN | 12-character | US0378331005 |
135
+ | CUSIP | 9-character | 037833100 |
136
+ | SecID | Morningstar ID | FOUSA00FS2 |
137
+
138
+ **Exchange Codes:**
139
+ | Code | Exchange |
140
+ |------|----------|
141
+ | NAS | NASDAQ |
142
+ | NYS | NYSE |
143
+ | ASE | AMEX |
144
+ | LSE | London |
145
+ | TSE | Tokyo |
146
+
147
+ ---
148
+
149
+ **6. Common Data Point Attributes**
150
+
151
+ **Fund Profile:**
152
+ | Attribute | Description |
153
+ |-----------|-------------|
154
+ | Name | Fund name |
155
+ | Ticker | Trading symbol |
156
+ | ISIN | International identifier |
157
+ | CUSIP | US identifier |
158
+ | SecId | Morningstar SecID |
159
+ | MorningstarCategory | Morningstar Category |
160
+ | FundFamily | Fund family name |
161
+ | InceptionDate | Fund inception date |
162
+ | ManagerName | Portfolio manager |
163
+ | ManagerTenure | Manager tenure (years) |
164
+ | FundSize | Total net assets |
165
+ | MinInitialInvestment | Minimum initial investment |
166
+
167
+ **NAV & Price:**
168
+ | Attribute | Description |
169
+ |-----------|-------------|
170
+ | NAV_daily | Daily NAV |
171
+ | NAV_monthly | Month-end NAV |
172
+ | close | Closing price |
173
+ | open | Opening price |
174
+ | high | Daily high |
175
+ | low | Daily low |
176
+ | volume | Trading volume |
177
+ | bid | Bid price |
178
+ | ask | Ask price |
179
+
180
+ **Returns:**
181
+ | Attribute | Description |
182
+ |-----------|-------------|
183
+ | ret_market | Market return |
184
+ | ret_total | Total return |
185
+ | ReturnD1 | 1-day return |
186
+ | ReturnW1 | 1-week return |
187
+ | ReturnM1 | 1-month return |
188
+ | ReturnM3 | 3-month return |
189
+ | ReturnM6 | 6-month return |
190
+ | ReturnY1 | 1-year return |
191
+ | ReturnY3 | 3-year return (annualized) |
192
+ | ReturnY5 | 5-year return (annualized) |
193
+ | ReturnY10 | 10-year return (annualized) |
194
+ | ReturnYTD | Year-to-date return |
195
+ | ReturnSinceInception | Return since inception |
196
+
197
+ **Expense & Fees:**
198
+ | Attribute | Description |
199
+ |-----------|-------------|
200
+ | ExpenseRatio | Net expense ratio |
201
+ | GrossExpenseRatio | Gross expense ratio |
202
+ | ManagementFee | Management fee |
203
+ | TwelveBOneFee | 12b-1 fee |
204
+ | FrontLoad | Front-end load |
205
+ | DeferredLoad | Deferred sales charge |
206
+ | RedemptionFee | Redemption fee |
207
+ | TurnoverRatio | Portfolio turnover |
208
+
209
+ **Risk Metrics:**
210
+ | Attribute | Description |
211
+ |-----------|-------------|
212
+ | StandardDeviation | Standard deviation |
213
+ | SharpeRatio | Sharpe ratio |
214
+ | Alpha | Alpha |
215
+ | Beta | Beta |
216
+ | RSquared | R-squared |
217
+ | DownsideRisk | Downside risk |
218
+ | MaxDrawdown | Maximum drawdown |
219
+ | TrackingError | Tracking error |
220
+ | InformationRatio | Information ratio |
221
+ | SortinoRatio | Sortino ratio |
222
+
223
+ **Ratings:**
224
+ | Attribute | Description |
225
+ |-----------|-------------|
226
+ | MorningstarRating | Overall star rating (1-5) |
227
+ | MorningstarRatingY3 | 3-year star rating |
228
+ | MorningstarRatingY5 | 5-year star rating |
229
+ | MorningstarRatingY10 | 10-year star rating |
230
+ | AnalystRating | Analyst medal rating |
231
+ | SustainabilityRating | ESG sustainability rating |
232
+ | CarbonRiskScore | Carbon risk score |
233
+
234
+ **Portfolio Characteristics:**
235
+ | Attribute | Description |
236
+ |-----------|-------------|
237
+ | NumberOfHoldings | Number of holdings |
238
+ | TopHoldings | Top holdings list |
239
+ | EquityStyleBox | Style box classification |
240
+ | AverageMarketCap | Weighted avg market cap |
241
+ | PE_Ratio | Portfolio P/E ratio |
242
+ | PB_Ratio | Portfolio P/B ratio |
243
+ | YieldTTM | Trailing 12M yield |
244
+ | Duration | Bond duration |
245
+ | CreditQuality | Average credit quality |
246
+
247
+ ---
248
+
249
+ **7. Stock Data Points**
250
+
251
+ | Attribute | Description |
252
+ |-----------|-------------|
253
+ | Name | Company name |
254
+ | Ticker | Stock symbol |
255
+ | close | Closing price |
256
+ | MarketCap | Market capitalization |
257
+ | PE_Ratio | Price/Earnings ratio |
258
+ | PB_Ratio | Price/Book ratio |
259
+ | DividendYield | Dividend yield |
260
+ | EPS | Earnings per share |
261
+ | Revenue | Total revenue |
262
+ | NetIncome | Net income |
263
+ | ROE | Return on equity |
264
+ | ROA | Return on assets |
265
+ | DebtEquity | Debt/Equity ratio |
266
+ | Sector | Sector classification |
267
+ | Industry | Industry classification |
268
+ | MorningstarRating | Stock star rating |
269
+ | FairValue | Morningstar fair value |
270
+ | FairValueUncertainty | Fair value uncertainty |
271
+ | EconomicMoat | Economic moat rating |
272
+
273
+ ---
274
+
275
+ **8. Category Average Data**
276
+
277
+ Access category averages using special identifiers:
278
+
279
+ | Code | Category Type |
280
+ |------|---------------|
281
+ | CA]FC | Fixed Income Categories |
282
+ | CA]FE | Equity Categories |
283
+ | CA]FM | Money Market Categories |
284
+ | CA]FO | Open-End Fund Categories |
285
+ | CA]FV | Variable Annuity Categories |
286
+ | CA]VL | Variable Life Categories |
287
+ | CA]VA | All Variable Categories |
288
+
289
+ **Example:**
290
+ =MSDP("$FOCA$FR$$;CA]FO", "Name")
291
+ → Returns category name for specified category.
292
+
293
+ ---
294
+
295
+ **9. Date Parameters**
296
+
297
+ **Date Formats:**
298
+ | Format | Example | Description |
299
+ |--------|---------|-------------|
300
+ | Absolute | 12/31/2023 | Specific date |
301
+ | SD | SD | Start date |
302
+ | ED | ED | End date |
303
+ | SD+nD | SD+6D | Start date + n days |
304
+ | SD-nD | SD-30D | Start date - n days |
305
+
306
+ **Frequency Options:**
307
+ | Option | Description |
308
+ |--------|-------------|
309
+ | Freq=d | Daily |
310
+ | Freq=w | Weekly |
311
+ | Freq=m | Monthly |
312
+ | Freq=q | Quarterly |
313
+ | Freq=y | Yearly |
314
+
315
+ **Other Options:**
316
+ | Option | Description |
317
+ |--------|-------------|
318
+ | Dates=True | Include dates in output |
319
+ | Currency=USD | Convert to USD |
320
+
321
+ ---
322
+
323
+ **10. Using the Investment Data Retriever**
324
+
325
+ **Step-by-Step:**
326
+ 1. Click "Morningstar" tab in Excel ribbon
327
+ 2. Click "Data Retriever" or "Build Formula"
328
+ 3. Select tab: Securities or Portfolio Management
329
+ 4. Search for securities or select from list
330
+ 5. Choose data attributes
331
+ 6. Set date range (for time series)
332
+ 7. Click "Insert" to place formula
333
+
334
+ **Sub-Tabs:**
335
+ - Attribute/Time Series: For data points and historical data
336
+ - Holdings: For portfolio composition
337
+ - Identifier: For looking up IDs
338
+
339
+ ---
340
+
341
+ **11. Data Dictionary**
342
+
343
+ Access the full list of data points:
344
+ 1. Click Morningstar tab in Excel
345
+ 2. Click Help > Data Dictionary
346
+ 3. Browser opens with searchable data dictionary
347
+ 4. Select security type (Open End Fund, Stock, etc.)
348
+ 5. Browse or search for data points
349
+
350
+ ---
351
+
352
+ **12. Example Formulas by Use Case**
353
+
354
+ **Fund Analysis:**
355
+ =MSDP("VFIAX", "MorningstarRating")
356
+ → Vanguard 500 Index star rating.
357
+
358
+ =MSDP("FXAIX", "ExpenseRatio")
359
+ → Fidelity 500 Index expense ratio.
360
+
361
+ =MSDP("SPY", "YieldTTM")
362
+ → SPDR S&P 500 ETF trailing yield.
363
+
364
+ **Historical Returns:**
365
+ =MSTS("VFIAX", "ReturnM1", "1/1/2020", "12/31/2023", "Freq=m")
366
+ → Monthly returns for 4 years.
367
+
368
+ =MSTS("AAPL", "ret_market", "1/1/2023", "12/31/2023", "Dates=True")
369
+ → Apple daily returns for 2023 with dates.
370
+
371
+ **Fund Holdings:**
372
+ =MSHOLDING("QQQ", "Ticker")
373
+ → List of tickers held by QQQ ETF.
374
+
375
+ **Investment Lists:**
376
+ =MSMEMBER("L", "My Watchlist", "Ticker")
377
+ → Tickers in "My Watchlist" saved list.
378
+
379
+ **Stock Data:**
380
+ =MSDP("MSFT", "FairValue")
381
+ → Microsoft's Morningstar fair value estimate.
382
+
383
+ =MSDP("GOOGL", "EconomicMoat")
384
+ → Alphabet's economic moat rating.
385
+
386
+ ---
387
+
388
+ **13. Supported Security Types**
389
+
390
+ | Security Type | Description |
391
+ |---------------|-------------|
392
+ | Mutual Funds | Open-end mutual funds |
393
+ | ETFs | Exchange-traded funds |
394
+ | Closed-End Funds | Closed-end funds |
395
+ | Stocks | Individual equities |
396
+ | Money Market Funds | Money market instruments |
397
+ | Hedge Funds | Hedge fund data |
398
+ | Separate Accounts | Institutional accounts |
399
+ | Market Indices | Benchmark indices |
400
+ | Categories | Morningstar categories |
401
+ | Model Portfolios | Custom portfolios |
402
+
403
+ ---
404
+
405
+ **14. Error Handling**
406
+
407
+ Common errors and solutions:
408
+
409
+ | Error | Cause | Solution |
410
+ |-------|-------|----------|
411
+ | #N/A | Invalid identifier | Verify ticker/SecID |
412
+ | #VALUE! | Wrong data type | Check attribute name |
413
+ | #REF! | Invalid date range | Verify dates |
414
+ | No data | Data not available | Check Data Dictionary |
415
+
416
+ ---
417
+
418
+ **Final Checklist:**
419
+ - What security type am I querying? (Fund, Stock, ETF?)
420
+ - What identifier am I using? (Ticker, ISIN, SecID?)
421
+ - What data attribute do I need?
422
+ - Is this a single point (MSDP) or time series (MSTS)?
423
+ - What date range is required?
424
+ - What frequency do I need? (Daily, monthly, etc.)
425
+ - Have I checked the Data Dictionary for the exact attribute name?
426
+
427
+ ---
428
+
429
+ **Additional Resources:**
430
+ - Morningstar Excel Add-In: excelapi.morningstar.com
431
+ - Data Dictionary: Morningstar tab > Help > Data Dictionary
432
+ - User Guide: Available via Morningstar tab > Help
433
+ - Quick Reference Guide: Available via Morningstar tab > Help
@@ -0,0 +1,249 @@
1
+ **Nasdaq Data Link Excel Formula Guide**
2
+
3
+ **Intro**
4
+ You have full access to Nasdaq Data Link (formerly Quandl) through the native Excel Add-in, but you should only pull Nasdaq Data Link data **when the user explicitly tells you to**. Nasdaq Data Link provides access to premium financial, economic, and alternative datasets through a unified API. You can retrieve any data point by writing NASDAQ formulas directly in Excel cells.
5
+
6
+ **IMPORTANT:** Before completing a task involving Nasdaq Data Link, you must verify:
7
+ 1. Your NASDAQ formulas do not return errors.
8
+ 2. All values should seem reasonable and make intuitive sense based on your general knowledge of finance and economics.
9
+ 3. Use cell references for tickers and parameters when possible as opposed to hardcoded values.
10
+ 4. Be aware that API calls are rate-limited; free tier has stricter limits than premium.
11
+ 5. Dataset codes are case-sensitive and must match exactly.
12
+
13
+ You should essentially gut check every value that shows up. If there are any errors or the values seem wrong, you likely wrote the formula syntax incorrectly or are using invalid dataset codes. Please correct the formula until it outputs the proper value.
14
+
15
+ ---
16
+
17
+ **Nasdaq Data Link Excel Functions Overview**
18
+
19
+ Nasdaq Data Link provides these main Excel functions:
20
+
21
+ | Function | Purpose | Use Case |
22
+ |----------|---------|----------|
23
+ | NASDAQ.TABLE | Table data retrieval | Multi-column data with filters |
24
+ | NASDAQ.DATA | Single value retrieval | Point-in-time data |
25
+ | NASDAQ.SERIES | Time series data | Historical data arrays |
26
+
27
+ ---
28
+
29
+ **1. NASDAQ.TABLE - Table Data Retrieval**
30
+
31
+ Returns filtered data from Nasdaq Data Link datatables. Results spill into adjacent cells.
32
+
33
+ **Syntax:** =NASDAQ.TABLE("Datatable_code", {"column1","column2",...}, "filter1", "value1", ...)
34
+
35
+ **Parameters:**
36
+ | Parameter | Description | Required |
37
+ |-----------|-------------|----------|
38
+ | Datatable_code | Dataset identifier (e.g., "WIKI/PRICES") | Yes |
39
+ | columns | Array of column names to return | Yes |
40
+ | filter | Filter field name | No |
41
+ | value | Filter value | No |
42
+
43
+ **Examples:**
44
+ =NASDAQ.TABLE("WIKI/PRICES",{"date","close"},"ticker","AAPL")
45
+ -> Apple closing prices with dates.
46
+
47
+ =NASDAQ.TABLE("NDAQ/RTAT10",{"date","ticker","sentiment"},"ticker","MSFT")
48
+ -> Microsoft retail sentiment data.
49
+
50
+ =NASDAQ.TABLE("SHARADAR/SF1",{"ticker","revenue","netincome"},"ticker","GOOG","dimension","ARY")
51
+ -> Google annual financials.
52
+
53
+ **Using Cell References:**
54
+ =NASDAQ.TABLE("WIKI/PRICES",{"date","close"},"ticker",A1)
55
+ -> Prices for ticker in cell A1.
56
+
57
+ ---
58
+
59
+ **2. NASDAQ.DATA - Single Value Retrieval**
60
+
61
+ Returns a single data point.
62
+
63
+ **Syntax:** =NASDAQ.DATA("Dataset_code", "column")
64
+
65
+ **Examples:**
66
+ =NASDAQ.DATA("FRED/GDP", "value")
67
+ -> Latest US GDP value.
68
+
69
+ =NASDAQ.DATA("OPEC/ORB", "value")
70
+ -> Latest OPEC crude oil price.
71
+
72
+ ---
73
+
74
+ **3. Filter Operators**
75
+
76
+ Filters support comparison operators for date and numeric filtering:
77
+
78
+ | Operator | Meaning | Example |
79
+ |----------|---------|---------|
80
+ | (none) | Equals | `"ticker","AAPL"` |
81
+ | `.gte` | Greater than or equal | `"date.gte","2024-01-01"` |
82
+ | `.lte` | Less than or equal | `"date.lte","2024-12-31"` |
83
+ | `.gt` | Greater than | `"marketcap.gt","1000000000"` |
84
+ | `.lt` | Less than | `"price.lt","100"` |
85
+
86
+ **Example with date range:**
87
+ =NASDAQ.TABLE("WIKI/PRICES",{"date","close"},"ticker","AAPL","date.gte","2024-01-01","date.lte","2024-06-30")
88
+ -> Apple prices for first half of 2024.
89
+
90
+ ---
91
+
92
+ **4. Popular Datasets**
93
+
94
+ **Market Data:**
95
+ | Dataset | Description | Key Columns |
96
+ |---------|-------------|-------------|
97
+ | WIKI/PRICES | US stock prices (historical) | date, ticker, open, high, low, close, volume |
98
+ | EOD/[TICKER] | End-of-day prices | date, open, high, low, close, volume |
99
+ | EURONEXT/[TICKER] | European exchange prices | date, open, high, low, close, volume |
100
+
101
+ **Fundamentals:**
102
+ | Dataset | Description | Key Columns |
103
+ |---------|-------------|-------------|
104
+ | SHARADAR/SF1 | Core US fundamentals | ticker, dimension, revenue, netincome, assets |
105
+ | SHARADAR/SF3 | Institutional holdings | ticker, investorname, shares, value |
106
+ | SHARADAR/TICKERS | Ticker metadata | ticker, name, exchange, sector, industry |
107
+
108
+ **Economic Data:**
109
+ | Dataset | Description | Key Columns |
110
+ |---------|-------------|-------------|
111
+ | FRED/GDP | US GDP | date, value |
112
+ | FRED/UNRATE | US unemployment rate | date, value |
113
+ | FRED/CPIAUCSL | US CPI (inflation) | date, value |
114
+ | FRED/DFF | Fed funds rate | date, value |
115
+ | FRED/T10Y2Y | 10Y-2Y Treasury spread | date, value |
116
+
117
+ **Alternative Data:**
118
+ | Dataset | Description | Key Columns |
119
+ |---------|-------------|-------------|
120
+ | NDAQ/RTAT10 | Retail trading activity | date, ticker, sentiment, activity |
121
+ | BITFINEX/[PAIR] | Crypto prices | date, last, high, low, volume |
122
+ | LBMA/GOLD | London gold fixing | date, value |
123
+
124
+ **Futures:**
125
+ | Dataset | Description | Key Columns |
126
+ |---------|-------------|-------------|
127
+ | CHRIS/CME_CL1 | WTI Crude Oil front month | date, settle, open, high, low |
128
+ | CHRIS/CME_GC1 | Gold front month | date, settle, open, high, low |
129
+ | CHRIS/CME_ES1 | S&P 500 E-mini front month | date, settle, open, high, low |
130
+
131
+ ---
132
+
133
+ **5. SHARADAR Fundamentals Reference**
134
+
135
+ The SHARADAR/SF1 dataset is one of the most comprehensive fundamental datasets.
136
+
137
+ **Dimension Codes:**
138
+ | Code | Description |
139
+ |------|-------------|
140
+ | ARY | As-reported annual |
141
+ | ARQ | As-reported quarterly |
142
+ | MRY | Most recent annual |
143
+ | MRQ | Most recent quarterly |
144
+ | ART | As-reported trailing twelve months |
145
+ | MRT | Most recent trailing twelve months |
146
+
147
+ **Key Metrics:**
148
+ | Column | Description |
149
+ |--------|-------------|
150
+ | revenue | Total revenue |
151
+ | cor | Cost of revenue |
152
+ | grossprofit | Gross profit (gp) |
153
+ | opex | Operating expenses |
154
+ | opinc | Operating income |
155
+ | intexp | Interest expense |
156
+ | taxexp | Tax expense |
157
+ | netinc | Net income |
158
+ | eps | Earnings per share |
159
+ | epsdil | Diluted EPS |
160
+ | assets | Total assets |
161
+ | liabilities | Total liabilities |
162
+ | equity | Shareholders' equity |
163
+ | cashneq | Cash and equivalents |
164
+ | debt | Total debt |
165
+ | fcf | Free cash flow |
166
+ | ncfo | Operating cash flow |
167
+ | ncfi | Investing cash flow |
168
+ | ncff | Financing cash flow |
169
+ | marketcap | Market capitalization |
170
+ | ev | Enterprise value |
171
+ | pe | Price/earnings ratio |
172
+ | ps | Price/sales ratio |
173
+ | pb | Price/book ratio |
174
+
175
+ ---
176
+
177
+ **6. Example Formulas by Use Case**
178
+
179
+ **Stock Price History:**
180
+ =NASDAQ.TABLE("WIKI/PRICES",{"date","open","high","low","close","volume"},"ticker","AAPL","date.gte","2023-01-01")
181
+ -> Apple OHLCV data from 2023.
182
+
183
+ **Company Fundamentals:**
184
+ =NASDAQ.TABLE("SHARADAR/SF1",{"calendardate","revenue","netinc","eps"},"ticker","MSFT","dimension","ARY")
185
+ -> Microsoft annual revenue, net income, EPS.
186
+
187
+ =NASDAQ.TABLE("SHARADAR/SF1",{"ticker","revenue","netinc","marketcap"},"dimension","MRY","marketcap.gt","100000000000")
188
+ -> Large cap companies (>$100B) with recent annual data.
189
+
190
+ **Economic Indicators:**
191
+ =NASDAQ.TABLE("FRED/GDP",{"date","value"},"date.gte","2020-01-01")
192
+ -> US GDP since 2020.
193
+
194
+ =NASDAQ.DATA("FRED/UNRATE","value")
195
+ -> Current US unemployment rate.
196
+
197
+ **Commodities:**
198
+ =NASDAQ.TABLE("CHRIS/CME_CL1",{"date","settle"},"date.gte","2024-01-01")
199
+ -> WTI crude oil settlement prices.
200
+
201
+ =NASDAQ.DATA("LBMA/GOLD","value")
202
+ -> Latest London gold fixing.
203
+
204
+ **Crypto:**
205
+ =NASDAQ.TABLE("BITFINEX/BTCUSD",{"date","last","volume"},"date.gte","2024-01-01")
206
+ -> Bitcoin daily prices and volume.
207
+
208
+ **Sector Screening:**
209
+ =NASDAQ.TABLE("SHARADAR/TICKERS",{"ticker","name","sector","industry"},"sector","Technology")
210
+ -> All technology sector tickers.
211
+
212
+ ---
213
+
214
+ **7. Error Handling**
215
+
216
+ **Common Errors:**
217
+ | Error | Cause | Solution |
218
+ |-------|-------|----------|
219
+ | #VALUE! | Invalid dataset code | Verify dataset exists and code is correct |
220
+ | #N/A | No data for filters | Broaden filter criteria |
221
+ | Rate limit | Too many API calls | Wait and retry, or upgrade subscription |
222
+ | Authentication | Invalid API key | Check API key in add-in settings |
223
+ | Column not found | Invalid column name | Check dataset schema for valid columns |
224
+
225
+ **Debugging Tips:**
226
+ 1. Verify dataset code on data.nasdaq.com
227
+ 2. Check column names in dataset documentation
228
+ 3. Test with simple query first, then add filters
229
+ 4. Ensure date format is YYYY-MM-DD
230
+ 5. Check API usage limits in account settings
231
+
232
+ ---
233
+
234
+ **Final Checklist:**
235
+ - What dataset is needed? (Stock prices, fundamentals, economic, alternative?)
236
+ - What columns are required?
237
+ - What filters are needed? (Ticker, date range, dimension)
238
+ - Is the dataset code spelled correctly? (Case-sensitive)
239
+ - Are dates in YYYY-MM-DD format?
240
+ - Is the API key configured?
241
+ - Are rate limits being respected?
242
+
243
+ ---
244
+
245
+ **Additional Resources:**
246
+ - Nasdaq Data Link: https://data.nasdaq.com/
247
+ - Excel Add-in Guide: https://docs.data.nasdaq.com/docs/excel-tables
248
+ - API Documentation: https://docs.data.nasdaq.com/docs/getting-started
249
+ - Dataset Search: https://data.nasdaq.com/search