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,344 @@
1
+ **ICE Fixed Income Excel Formula Guide**
2
+
3
+ **Intro**
4
+ You have full access to ICE fixed income data through the ICE XL Excel Add-in, but you should only pull ICE data **when the user explicitly tells you to**. ICE (Intercontinental Exchange) provides comprehensive pricing, analytics, and reference data for bonds, derivatives, and other fixed income instruments. You can retrieve any data point by writing RTD formulas directly in Excel cells.
5
+
6
+ **IMPORTANT:** Before completing a task involving ICE, you must verify:
7
+ 1. Your RTD formulas do not return errors.
8
+ 2. All values should seem reasonable and make intuitive sense based on your general knowledge of fixed income markets.
9
+ 3. Use cell references for symbols and fields when possible as opposed to hardcoded values.
10
+ 4. Be aware of symbol conventions - different instrument types have different formats.
11
+ 5. Real-time data requires active market connection; historical data uses different request types.
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 symbol formats. Please correct the formula until it outputs the proper value.
14
+
15
+ **Note:** ICE XL is a Pattern B integration. Standard pricing and analytics work directly, but some advanced features or custom fields may require reference to ICE platform documentation.
16
+
17
+ ---
18
+
19
+ **ICE XL Excel Functions Overview**
20
+
21
+ ICE XL uses Excel's RTD (Real-Time Data) function:
22
+
23
+ | Function | Purpose | Use Case |
24
+ |----------|---------|----------|
25
+ | RTD (ice.xl) | Real-time/historical data | All ICE data retrieval |
26
+
27
+ **Request Types:**
28
+ | Type | Description |
29
+ |------|-------------|
30
+ | `*Q` | Real-time quote |
31
+ | `*H` | Historical data |
32
+ | `*R` | Reference data |
33
+ | `*A` | Analytics |
34
+
35
+ ---
36
+
37
+ **1. RTD Formula Syntax**
38
+
39
+ **Real-Time Quote:**
40
+ =RTD("ice.xl",,"*Q","Symbol","Field")
41
+
42
+ **Historical Data:**
43
+ =RTD("ice.xl",,"*H","Symbol","Field","Granularity","Date")
44
+
45
+ **Reference Data:**
46
+ =RTD("ice.xl",,"*R","Symbol","Field")
47
+
48
+ **Parameters:**
49
+ | Parameter | Description | Required |
50
+ |-----------|-------------|----------|
51
+ | "ice.xl" | ICE XL server name | Yes |
52
+ | (blank) | Server parameter (leave empty) | Yes |
53
+ | Request Type | *Q, *H, *R, or *A | Yes |
54
+ | Symbol | Instrument identifier | Yes |
55
+ | Field | Data field name | Yes |
56
+ | Granularity | Time frequency (for *H) | For historical |
57
+ | Date | Point-in-time date (for *H) | For historical |
58
+
59
+ ---
60
+
61
+ **2. Real-Time Quotes (*Q)**
62
+
63
+ Returns live market data for tradeable instruments.
64
+
65
+ **Syntax:** =RTD("ice.xl",,"*Q","Symbol","Field")
66
+
67
+ **Examples:**
68
+ =RTD("ice.xl",,"*Q","BRN 1!-ICE","Last")
69
+ -> Brent crude front month last price.
70
+
71
+ =RTD("ice.xl",,"*Q","UST10Y","Yield")
72
+ -> 10-year US Treasury yield.
73
+
74
+ =RTD("ice.xl",,"*Q","EUR=","Bid")
75
+ -> EUR/USD bid price.
76
+
77
+ =RTD("ice.xl",,"*Q","ES 1!-CME","Last")
78
+ -> S&P 500 E-mini front month.
79
+
80
+ ---
81
+
82
+ **3. Historical Data (*H)**
83
+
84
+ Returns historical time series data.
85
+
86
+ **Syntax:** =RTD("ice.xl",,"*H","Symbol","Field","Granularity","Date")
87
+
88
+ **Granularity Codes:**
89
+ | Code | Description |
90
+ |------|-------------|
91
+ | D | Daily |
92
+ | W | Weekly |
93
+ | M | Monthly |
94
+ | I1 | 1-minute bars |
95
+ | I5 | 5-minute bars |
96
+ | I15 | 15-minute bars |
97
+ | I60 | 60-minute bars |
98
+
99
+ **Examples:**
100
+ =RTD("ice.xl",,"*H","BRN 1!-ICE","Last","D",DATE(2024,9,10))
101
+ -> Brent crude price on Sep 10, 2024.
102
+
103
+ =RTD("ice.xl",,"*H","UST10Y","Yield","D",DATE(2024,1,1))
104
+ -> 10Y Treasury yield on Jan 1, 2024.
105
+
106
+ =RTD("ice.xl",,"*H","GC 1!-CMX","Last","W",DATE(2024,6,1))
107
+ -> Gold weekly price as of June 1, 2024.
108
+
109
+ ---
110
+
111
+ **4. Symbol Formats**
112
+
113
+ **Futures:**
114
+ | Market | Format | Example |
115
+ |--------|--------|---------|
116
+ | ICE Brent | `BRN {month}!-ICE` | `BRN 1!-ICE` (front month) |
117
+ | ICE WTI | `WTI {month}!-ICE` | `WTI 1!-ICE` |
118
+ | ICE Gas Oil | `GAS {month}!-ICE` | `GAS 1!-ICE` |
119
+ | CME Gold | `GC {month}!-CMX` | `GC 1!-CMX` |
120
+ | CME S&P 500 | `ES {month}!-CME` | `ES 1!-CME` |
121
+ | CME Eurodollar | `ED {month}!-CME` | `ED 1!-CME` |
122
+
123
+ **Month Codes:** 1! = front month, 2! = second month, etc.
124
+
125
+ **Government Bonds:**
126
+ | Instrument | Symbol |
127
+ |------------|--------|
128
+ | US 10Y Treasury | `UST10Y` |
129
+ | US 2Y Treasury | `UST2Y` |
130
+ | US 5Y Treasury | `UST5Y` |
131
+ | US 30Y Treasury | `UST30Y` |
132
+ | German 10Y Bund | `DE10Y` |
133
+ | UK 10Y Gilt | `UK10Y` |
134
+ | Japan 10Y JGB | `JP10Y` |
135
+
136
+ **Corporate Bonds (by identifier):**
137
+ | Format | Example |
138
+ |--------|---------|
139
+ | CUSIP | `037833100` |
140
+ | ISIN | `US037833100` |
141
+ | SEDOL | `2046251` |
142
+
143
+ **FX:**
144
+ | Pair | Symbol |
145
+ |------|--------|
146
+ | EUR/USD | `EUR=` |
147
+ | GBP/USD | `GBP=` |
148
+ | USD/JPY | `JPY=` |
149
+ | USD/CHF | `CHF=` |
150
+
151
+ **Indices:**
152
+ | Index | Symbol |
153
+ |-------|--------|
154
+ | ICE US Dollar Index | `DXY` |
155
+ | VIX | `VIX` |
156
+
157
+ ---
158
+
159
+ **5. Common Fields Reference**
160
+
161
+ **Pricing Fields:**
162
+ | Field | Description |
163
+ |-------|-------------|
164
+ | `Last` | Last traded price |
165
+ | `Bid` | Bid price |
166
+ | `Ask` | Ask price |
167
+ | `Mid` | Mid price ((Bid+Ask)/2) |
168
+ | `Open` | Opening price |
169
+ | `High` | Session high |
170
+ | `Low` | Session low |
171
+ | `Close` | Previous close |
172
+ | `Settlement` | Settlement price |
173
+ | `Volume` | Trading volume |
174
+
175
+ **Yield/Spread Fields:**
176
+ | Field | Description |
177
+ |-------|-------------|
178
+ | `Yield` | Yield to maturity |
179
+ | `YieldChange` | Daily yield change |
180
+ | `Spread` | Credit spread |
181
+ | `OAS` | Option-adjusted spread |
182
+ | `ZSpread` | Z-spread |
183
+ | `GSpread` | G-spread (vs govt) |
184
+
185
+ **Bond Analytics:**
186
+ | Field | Description |
187
+ |-------|-------------|
188
+ | `Duration` | Modified duration |
189
+ | `EffDuration` | Effective duration |
190
+ | `Convexity` | Convexity |
191
+ | `DV01` | Dollar value of 01 |
192
+ | `AccruedInterest` | Accrued interest |
193
+ | `CleanPrice` | Clean price |
194
+ | `DirtyPrice` | Dirty price (full) |
195
+
196
+ **Reference Data:**
197
+ | Field | Description |
198
+ |-------|-------------|
199
+ | `Coupon` | Coupon rate |
200
+ | `Maturity` | Maturity date |
201
+ | `IssueDate` | Issue date |
202
+ | `Issuer` | Issuer name |
203
+ | `Currency` | Currency code |
204
+ | `Rating` | Credit rating |
205
+ | `Sector` | Industry sector |
206
+ | `Country` | Country of risk |
207
+
208
+ **Futures-Specific:**
209
+ | Field | Description |
210
+ |-------|-------------|
211
+ | `OpenInterest` | Open interest |
212
+ | `ExpiryDate` | Contract expiry |
213
+ | `ContractSize` | Contract size |
214
+ | `TickSize` | Minimum price move |
215
+
216
+ ---
217
+
218
+ **6. Example Formulas by Use Case**
219
+
220
+ **Energy Futures:**
221
+ =RTD("ice.xl",,"*Q","BRN 1!-ICE","Last")
222
+ -> Brent crude front month.
223
+
224
+ =RTD("ice.xl",,"*Q","BRN 1!-ICE","Bid")
225
+ -> Brent crude bid price.
226
+
227
+ =RTD("ice.xl",,"*Q","WTI 1!-ICE","Last")
228
+ -> WTI crude front month.
229
+
230
+ =RTD("ice.xl",,"*Q","GAS 1!-ICE","Settlement")
231
+ -> ICE Gas Oil settlement.
232
+
233
+ **Treasury Yields:**
234
+ =RTD("ice.xl",,"*Q","UST10Y","Yield")
235
+ -> 10Y Treasury yield.
236
+
237
+ =RTD("ice.xl",,"*Q","UST2Y","Yield")
238
+ -> 2Y Treasury yield.
239
+
240
+ =RTD("ice.xl",,"*Q","UST10Y","Yield") - RTD("ice.xl",,"*Q","UST2Y","Yield")
241
+ -> 10Y-2Y spread (yield curve).
242
+
243
+ **Historical Prices:**
244
+ =RTD("ice.xl",,"*H","BRN 1!-ICE","Last","D",DATE(2024,9,10))
245
+ -> Brent on specific date.
246
+
247
+ =RTD("ice.xl",,"*H","UST10Y","Yield","D",DATE(2024,1,1))
248
+ -> 10Y yield on specific date.
249
+
250
+ =RTD("ice.xl",,"*H","UST10Y","Yield","M",DATE(2024,6,1))
251
+ -> 10Y yield monthly (June 2024).
252
+
253
+ **Corporate Bonds:**
254
+ =RTD("ice.xl",,"*Q","912828ZQ6","Last")
255
+ -> Treasury bond by CUSIP.
256
+
257
+ =RTD("ice.xl",,"*Q","US037833100","Yield")
258
+ -> Corporate bond yield by ISIN.
259
+
260
+ =RTD("ice.xl",,"*R","US037833100","Coupon")
261
+ -> Bond coupon rate.
262
+
263
+ =RTD("ice.xl",,"*R","US037833100","Maturity")
264
+ -> Bond maturity date.
265
+
266
+ **Bond Analytics:**
267
+ =RTD("ice.xl",,"*A","US037833100","Duration")
268
+ -> Bond modified duration.
269
+
270
+ =RTD("ice.xl",,"*A","US037833100","OAS")
271
+ -> Option-adjusted spread.
272
+
273
+ **FX Rates:**
274
+ =RTD("ice.xl",,"*Q","EUR=","Mid")
275
+ -> EUR/USD mid rate.
276
+
277
+ =RTD("ice.xl",,"*Q","DXY","Last")
278
+ -> US Dollar Index.
279
+
280
+ **Metals:**
281
+ =RTD("ice.xl",,"*Q","GC 1!-CMX","Last")
282
+ -> Gold front month.
283
+
284
+ =RTD("ice.xl",,"*Q","SI 1!-CMX","Last")
285
+ -> Silver front month.
286
+
287
+ ---
288
+
289
+ **7. Session Limits and Notes**
290
+
291
+ **Data Limits:**
292
+ - Maximum 250 symbols per session
293
+ - Real-time data requires active connection
294
+ - Historical depth varies by instrument
295
+
296
+ **Refresh Behavior:**
297
+ - Real-time quotes update automatically
298
+ - Use F9 or Ctrl+Alt+F5 to force refresh
299
+ - Historical data does not auto-refresh
300
+
301
+ **Time Zones:**
302
+ - Prices typically in exchange local time
303
+ - Treasury yields in US Eastern time
304
+ - Check instrument specifications for details
305
+
306
+ ---
307
+
308
+ **8. Error Handling**
309
+
310
+ **Common Errors:**
311
+ | Error | Cause | Solution |
312
+ |-------|-------|----------|
313
+ | #N/A | Invalid symbol | Check symbol format for instrument type |
314
+ | #VALUE! | Wrong field name | Verify field name spelling |
315
+ | #REF! | Connection issue | Check ICE XL connection status |
316
+ | Stale data | Market closed | Normal for non-trading hours |
317
+ | 0 or blank | No data | Symbol may not be active |
318
+
319
+ **Debugging Tips:**
320
+ 1. Verify symbol format matches instrument type
321
+ 2. For futures, use correct exchange suffix (-ICE, -CME, -CMX)
322
+ 3. Check ICE XL connection in Excel add-in ribbon
323
+ 4. For bonds, try multiple identifier types (CUSIP, ISIN)
324
+ 5. Historical dates must be valid trading days
325
+ 6. Some fields only available for certain instrument types
326
+
327
+ ---
328
+
329
+ **Final Checklist:**
330
+ - What instrument type? (Futures, bonds, FX, indices)
331
+ - What symbol format? (Check section 4 for conventions)
332
+ - Is this real-time (*Q) or historical (*H)?
333
+ - What field is needed? (Price, yield, analytics, reference)
334
+ - For historical, what granularity and date?
335
+ - Is the ICE XL add-in connected?
336
+ - Is the symbol within session limits?
337
+
338
+ ---
339
+
340
+ **Additional Resources:**
341
+ - ICE Data Services: https://www.ice.com/market-data
342
+ - ICE XL Documentation: https://download.dataservices.theice.com/products/iceexcel/help/
343
+ - Symbol Guide: Available within ICE XL add-in
344
+ - ICE Connect Portal: https://connect.theice.com/
@@ -0,0 +1,313 @@
1
+ **Moody's Analytics Excel Formula Guide**
2
+
3
+ **Intro**
4
+ You have full access to Moody's Analytics credit data through the Moody's Analytics Excel Add-in, but you should only pull Moody's data **when the user explicitly tells you to**. Moody's Analytics specializes in credit risk metrics including Expected Default Frequencies (EDF), credit ratings, loss given default estimates, and fair value spreads for public companies worldwide. You can retrieve any data point by writing MA formulas directly in Excel cells.
5
+
6
+ **IMPORTANT:** Before completing a task involving Moody's Analytics, you must verify:
7
+ 1. Your MADS and MADR formulas do not return errors.
8
+ 2. All values should seem reasonable and make intuitive sense based on your general knowledge of credit risk.
9
+ 3. Use cell references for identifiers and metrics when possible as opposed to hardcoded values.
10
+ 4. Be aware that EDF values are expressed as percentages (e.g., 0.25 = 0.25% probability of default).
11
+ 5. Coverage includes ~40,000+ public companies globally with varying data depth.
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 metric codes. Please correct the formula until it outputs the proper value.
14
+
15
+ **Note:** Moody's Analytics is a Pattern B integration. Standard credit metrics work directly, but some advanced features may require familiarity with Moody's platform for full utilization.
16
+
17
+ ---
18
+
19
+ **Moody's Analytics Excel Functions Overview**
20
+
21
+ Moody's Analytics provides these main Excel functions:
22
+
23
+ | Function | Purpose | Use Case |
24
+ |----------|---------|----------|
25
+ | MADS | Moody's Analytics Data Static | Current/point-in-time data |
26
+ | MADR | Moody's Analytics Data Range | Historical time series data |
27
+ | MAINFO | Company information | Metadata and identifiers |
28
+ | MALIST | Security lists | Portfolio screening |
29
+
30
+ ---
31
+
32
+ **1. MADS - Static Data (Single Value)**
33
+
34
+ Returns current or point-in-time credit metrics.
35
+
36
+ **Syntax:** =MADS("Identifier", "Metric")
37
+
38
+ **Parameters:**
39
+ | Parameter | Description | Required |
40
+ |-----------|-------------|----------|
41
+ | Identifier | Ticker, CUSIP, or ISIN | Yes |
42
+ | Metric | Credit metric name | Yes |
43
+
44
+ **Examples:**
45
+ =MADS("AAPL", "EDF1Y")
46
+ -> Apple's 1-year probability of default.
47
+
48
+ =MADS("MSFT", "ImpliedRating")
49
+ -> Microsoft's EDF-implied credit rating.
50
+
51
+ =MADS("037833100", "DistanceToDefault")
52
+ -> Apple's distance to default (using CUSIP).
53
+
54
+ **Using Cell References:**
55
+ =MADS(A1, "EDF1Y")
56
+ -> EDF for identifier in cell A1.
57
+
58
+ =MADS("AAPL", B1)
59
+ -> Metric specified in cell B1 for Apple.
60
+
61
+ ---
62
+
63
+ **2. MADR - Range Data (Time Series)**
64
+
65
+ Returns historical credit metrics over a date range.
66
+
67
+ **Syntax:** =MADR("Identifier", "Metric", "StartDate", "EndDate")
68
+
69
+ **Parameters:**
70
+ | Parameter | Description | Required |
71
+ |-----------|-------------|----------|
72
+ | Identifier | Ticker, CUSIP, or ISIN | Yes |
73
+ | Metric | Credit metric name | Yes |
74
+ | StartDate | Start date (MM/DD/YYYY) | Yes |
75
+ | EndDate | End date (MM/DD/YYYY) | Yes |
76
+
77
+ **Examples:**
78
+ =MADR("AAPL", "EDF1Y", "01/01/2024", "12/31/2024")
79
+ -> Apple's daily EDF history for 2024.
80
+
81
+ =MADR("JPM", "ImpliedRating", "01/01/2020", "12/31/2024")
82
+ -> JPMorgan's implied rating history.
83
+
84
+ =MADR("GE", "DistanceToDefault", "01/01/2023", "12/31/2023")
85
+ -> GE's distance to default for 2023.
86
+
87
+ ---
88
+
89
+ **3. Identifier Formats**
90
+
91
+ Moody's Analytics accepts multiple identifier types:
92
+
93
+ | Type | Format | Example |
94
+ |------|--------|---------|
95
+ | Ticker | Standard ticker | `AAPL`, `MSFT`, `JPM` |
96
+ | CUSIP | 9-character CUSIP | `037833100` (Apple) |
97
+ | ISIN | 12-character ISIN | `US0378331005` (Apple) |
98
+ | Moody's ID | Internal ID | Provided by platform |
99
+
100
+ **Notes:**
101
+ - US tickers work without suffix
102
+ - International companies may require ISIN or CUSIP
103
+ - For subsidiaries, use specific entity identifier
104
+
105
+ ---
106
+
107
+ **4. Credit Metrics Reference**
108
+
109
+ **Expected Default Frequency (EDF):**
110
+ | Metric | Description |
111
+ |--------|-------------|
112
+ | `EDF1Y` | 1-year probability of default (%) |
113
+ | `EDF5Y` | 5-year cumulative probability of default (%) |
114
+ | `EDF10Y` | 10-year cumulative probability of default (%) |
115
+ | `EDFTerm` | EDF term structure (array) |
116
+
117
+ **Distance to Default:**
118
+ | Metric | Description |
119
+ |--------|-------------|
120
+ | `DistanceToDefault` | Standard deviations from default point |
121
+ | `DD` | Alias for DistanceToDefault |
122
+ | `DDVol` | Volatility of distance to default |
123
+
124
+ **Credit Ratings:**
125
+ | Metric | Description |
126
+ |--------|-------------|
127
+ | `ImpliedRating` | EDF-derived credit rating (Aaa, Aa1, etc.) |
128
+ | `MIR` | Market Implied Rating |
129
+ | `AgencyRating` | Actual agency rating (if available) |
130
+ | `RatingNotch` | Numeric rating (1=Aaa, 21=C) |
131
+
132
+ **Loss Given Default:**
133
+ | Metric | Description |
134
+ |--------|-------------|
135
+ | `LGD` | Loss given default (%) |
136
+ | `LGDSenior` | Senior unsecured LGD |
137
+ | `LGDSubordinated` | Subordinated LGD |
138
+ | `RecoveryRate` | Expected recovery rate (1 - LGD) |
139
+
140
+ **Fair Value Spreads:**
141
+ | Metric | Description |
142
+ |--------|-------------|
143
+ | `FVS` | Fair value spread (bps) |
144
+ | `FVS1Y` | 1-year fair value spread |
145
+ | `FVS5Y` | 5-year fair value spread |
146
+ | `CreditSpread` | Current credit spread |
147
+
148
+ **Market Data:**
149
+ | Metric | Description |
150
+ |--------|-------------|
151
+ | `MarketCap` | Market capitalization |
152
+ | `AssetValue` | Estimated asset value |
153
+ | `AssetVol` | Asset volatility |
154
+ | `EquityVol` | Equity volatility |
155
+ | `DebtValue` | Total debt value |
156
+
157
+ **Financial Ratios (Credit):**
158
+ | Metric | Description |
159
+ |--------|-------------|
160
+ | `Leverage` | Debt/Assets ratio |
161
+ | `InterestCoverage` | EBIT/Interest expense |
162
+ | `DebtToEBITDA` | Debt/EBITDA ratio |
163
+ | `CashToDebt` | Cash/Total debt |
164
+
165
+ ---
166
+
167
+ **5. Rating Scale Reference**
168
+
169
+ Moody's uses a 21-notch rating scale:
170
+
171
+ | Rating | Notch | Description |
172
+ |--------|-------|-------------|
173
+ | Aaa | 1 | Prime, minimal credit risk |
174
+ | Aa1 | 2 | High grade |
175
+ | Aa2 | 3 | High grade |
176
+ | Aa3 | 4 | High grade |
177
+ | A1 | 5 | Upper medium grade |
178
+ | A2 | 6 | Upper medium grade |
179
+ | A3 | 7 | Upper medium grade |
180
+ | Baa1 | 8 | Lower medium grade |
181
+ | Baa2 | 9 | Lower medium grade |
182
+ | Baa3 | 10 | Lower medium grade |
183
+ | Ba1 | 11 | Non-investment grade |
184
+ | Ba2 | 12 | Non-investment grade |
185
+ | Ba3 | 13 | Non-investment grade |
186
+ | B1 | 14 | Highly speculative |
187
+ | B2 | 15 | Highly speculative |
188
+ | B3 | 16 | Highly speculative |
189
+ | Caa1 | 17 | Substantial risk |
190
+ | Caa2 | 18 | Substantial risk |
191
+ | Caa3 | 19 | Substantial risk |
192
+ | Ca | 20 | Extremely speculative |
193
+ | C | 21 | Default imminent |
194
+
195
+ **Investment Grade:** Baa3 (notch 10) and above
196
+ **High Yield:** Ba1 (notch 11) and below
197
+
198
+ ---
199
+
200
+ **6. Example Formulas by Use Case**
201
+
202
+ **Credit Risk Assessment:**
203
+ =MADS("AAPL", "EDF1Y")
204
+ -> Apple 1-year default probability.
205
+
206
+ =MADS("TSLA", "DistanceToDefault")
207
+ -> Tesla distance to default.
208
+
209
+ =MADS("JPM", "ImpliedRating")
210
+ -> JPMorgan implied credit rating.
211
+
212
+ **Credit Comparison:**
213
+ =MADS("AAPL", "EDF1Y") vs =MADS("MSFT", "EDF1Y")
214
+ -> Compare Apple vs Microsoft default risk.
215
+
216
+ **Portfolio Screening:**
217
+ =MADS(A2, "EDF1Y") for each ticker in column A
218
+ -> Drag down for portfolio EDF screening.
219
+
220
+ **Historical Credit Trends:**
221
+ =MADR("GE", "EDF1Y", "01/01/2015", "12/31/2024")
222
+ -> GE's 10-year EDF history.
223
+
224
+ =MADR("F", "ImpliedRating", "01/01/2020", "12/31/2024")
225
+ -> Ford's rating history through COVID.
226
+
227
+ **Loss Analysis:**
228
+ =MADS("HYG", "LGD")
229
+ -> High yield bond LGD estimate.
230
+
231
+ =MADS("XYZ", "RecoveryRate")
232
+ -> Expected recovery in default scenario.
233
+
234
+ **Spread Analysis:**
235
+ =MADS("IBM", "FVS5Y")
236
+ -> IBM 5-year fair value spread.
237
+
238
+ =MADS("T", "CreditSpread")
239
+ -> AT&T current credit spread.
240
+
241
+ **Leverage Metrics:**
242
+ =MADS("NFLX", "Leverage")
243
+ -> Netflix debt/assets ratio.
244
+
245
+ =MADS("BA", "DebtToEBITDA")
246
+ -> Boeing debt/EBITDA.
247
+
248
+ **Volatility Analysis:**
249
+ =MADS("TSLA", "EquityVol")
250
+ -> Tesla equity volatility.
251
+
252
+ =MADS("NVDA", "AssetVol")
253
+ -> NVIDIA asset volatility.
254
+
255
+ ---
256
+
257
+ **7. EDF Interpretation Guide**
258
+
259
+ **EDF Ranges and Risk Levels:**
260
+ | EDF Range | Risk Level | Approximate Rating |
261
+ |-----------|------------|-------------------|
262
+ | 0.01% - 0.05% | Very Low | Aaa - Aa |
263
+ | 0.05% - 0.20% | Low | A |
264
+ | 0.20% - 0.75% | Moderate | Baa |
265
+ | 0.75% - 2.00% | Elevated | Ba |
266
+ | 2.00% - 5.00% | High | B |
267
+ | 5.00% - 15.00% | Very High | Caa |
268
+ | 15.00%+ | Distressed | Ca - C |
269
+
270
+ **Key Insights:**
271
+ - EDF is forward-looking (market-based)
272
+ - Ratings are often lagging indicators
273
+ - EDF can signal deterioration before rating changes
274
+ - Compare EDF to peers for relative credit risk
275
+
276
+ ---
277
+
278
+ **8. Error Handling**
279
+
280
+ **Common Errors:**
281
+ | Error | Cause | Solution |
282
+ |-------|-------|----------|
283
+ | #VALUE! | Invalid identifier | Verify ticker, CUSIP, or ISIN |
284
+ | #N/A | No coverage | Company may not be in database |
285
+ | #REF! | Invalid metric | Check metric name spelling |
286
+ | 0 or blank | No data | Metric may not be available for entity |
287
+ | Old date | Stale data | Check company is still public/active |
288
+
289
+ **Debugging Tips:**
290
+ 1. Verify company is publicly traded
291
+ 2. Try alternate identifier (CUSIP vs ticker)
292
+ 3. Check metric name is exact match
293
+ 4. For historical data, verify date format (MM/DD/YYYY)
294
+ 5. Some metrics only available for certain entity types
295
+
296
+ ---
297
+
298
+ **Final Checklist:**
299
+ - Is the company publicly traded and covered?
300
+ - What identifier format? (Ticker, CUSIP, ISIN)
301
+ - What credit metric? (EDF, rating, LGD, spread)
302
+ - Is this current data (MADS) or historical (MADR)?
303
+ - For time series, are dates in MM/DD/YYYY format?
304
+ - Is the Moody's Analytics add-in connected?
305
+ - Do you have appropriate subscription access?
306
+
307
+ ---
308
+
309
+ **Additional Resources:**
310
+ - Moody's Analytics Platform: https://www.moodysanalytics.com/
311
+ - CreditEdge Documentation: https://www.moodysanalytics.com/product-list/creditedge
312
+ - EDF Methodology: https://www.moodysanalytics.com/product-list/edf-expected-default-frequency
313
+ - Excel Add-in Support: Contact Moody's Analytics support