@continuumdao/continuum-node-sdk 1.3.25 → 1.3.28

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 (586) hide show
  1. package/README.md +15 -1
  2. package/dist/agent-host-catalog.json +189 -0
  3. package/dist/core/agent/agent-chart-data-access-assert.d.ts +7 -0
  4. package/dist/core/agent/agent-chart-data-access-assert.d.ts.map +1 -0
  5. package/dist/core/agent/agent-chart-data-access-assert.js +27 -0
  6. package/dist/core/agent/agent-chart-data-access-assert.js.map +1 -0
  7. package/dist/core/agent/agent-chart-data-access.d.ts +11 -0
  8. package/dist/core/agent/agent-chart-data-access.d.ts.map +1 -0
  9. package/dist/core/agent/agent-chart-data-access.js +42 -0
  10. package/dist/core/agent/agent-chart-data-access.js.map +1 -0
  11. package/dist/core/agent/environment-variables.d.ts +8 -1
  12. package/dist/core/agent/environment-variables.d.ts.map +1 -1
  13. package/dist/core/agent/environment-variables.js +44 -1
  14. package/dist/core/agent/environment-variables.js.map +1 -1
  15. package/dist/core/agent/mcp-servers.d.ts +8 -1
  16. package/dist/core/agent/mcp-servers.d.ts.map +1 -1
  17. package/dist/core/agent/mcp-servers.js +50 -1
  18. package/dist/core/agent/mcp-servers.js.map +1 -1
  19. package/dist/core/agent/skills.d.ts +6 -0
  20. package/dist/core/agent/skills.d.ts.map +1 -1
  21. package/dist/core/agent/skills.js +40 -1
  22. package/dist/core/agent/skills.js.map +1 -1
  23. package/dist/core/candlestick-patterns/calibration-weights.d.ts +3 -0
  24. package/dist/core/candlestick-patterns/calibration-weights.d.ts.map +1 -0
  25. package/dist/core/candlestick-patterns/calibration-weights.js +3 -0
  26. package/dist/core/candlestick-patterns/calibration-weights.js.map +1 -0
  27. package/dist/core/candlestick-patterns/candle-settings.d.ts +50 -0
  28. package/dist/core/candlestick-patterns/candle-settings.d.ts.map +1 -0
  29. package/dist/core/candlestick-patterns/candle-settings.js +127 -0
  30. package/dist/core/candlestick-patterns/candle-settings.js.map +1 -0
  31. package/dist/core/candlestick-patterns/catalog.d.ts +7 -0
  32. package/dist/core/candlestick-patterns/catalog.d.ts.map +1 -0
  33. package/dist/core/candlestick-patterns/catalog.js +191 -0
  34. package/dist/core/candlestick-patterns/catalog.js.map +1 -0
  35. package/dist/core/candlestick-patterns/index.d.ts +7 -0
  36. package/dist/core/candlestick-patterns/index.d.ts.map +1 -0
  37. package/dist/core/candlestick-patterns/index.js +6 -0
  38. package/dist/core/candlestick-patterns/index.js.map +1 -0
  39. package/dist/core/candlestick-patterns/patterns/detect.d.ts +21 -0
  40. package/dist/core/candlestick-patterns/patterns/detect.d.ts.map +1 -0
  41. package/dist/core/candlestick-patterns/patterns/detect.js +515 -0
  42. package/dist/core/candlestick-patterns/patterns/detect.js.map +1 -0
  43. package/dist/core/candlestick-patterns/recommendation.d.ts +3 -0
  44. package/dist/core/candlestick-patterns/recommendation.d.ts.map +1 -0
  45. package/dist/core/candlestick-patterns/recommendation.js +92 -0
  46. package/dist/core/candlestick-patterns/recommendation.js.map +1 -0
  47. package/dist/core/candlestick-patterns/scan.d.ts +8 -0
  48. package/dist/core/candlestick-patterns/scan.d.ts.map +1 -0
  49. package/dist/core/candlestick-patterns/scan.js +70 -0
  50. package/dist/core/candlestick-patterns/scan.js.map +1 -0
  51. package/dist/core/candlestick-patterns/types.d.ts +47 -0
  52. package/dist/core/candlestick-patterns/types.d.ts.map +1 -0
  53. package/dist/core/candlestick-patterns/types.js +2 -0
  54. package/dist/core/candlestick-patterns/types.js.map +1 -0
  55. package/dist/core/chart/analysis/analysis-agent-view.d.ts +6 -0
  56. package/dist/core/chart/analysis/analysis-agent-view.d.ts.map +1 -0
  57. package/dist/core/chart/analysis/analysis-agent-view.js +224 -0
  58. package/dist/core/chart/analysis/analysis-agent-view.js.map +1 -0
  59. package/dist/core/chart/analysis/analysis-catalog.d.ts +18 -0
  60. package/dist/core/chart/analysis/analysis-catalog.d.ts.map +1 -0
  61. package/dist/core/chart/analysis/analysis-catalog.js +108 -0
  62. package/dist/core/chart/analysis/analysis-catalog.js.map +1 -0
  63. package/dist/core/chart/analysis/analysis-meta.d.ts +97 -0
  64. package/dist/core/chart/analysis/analysis-meta.d.ts.map +1 -0
  65. package/dist/core/chart/analysis/analysis-meta.js +86 -0
  66. package/dist/core/chart/analysis/analysis-meta.js.map +1 -0
  67. package/dist/core/chart/analysis/analyze-tools.d.ts +668 -0
  68. package/dist/core/chart/analysis/analyze-tools.d.ts.map +1 -0
  69. package/dist/core/chart/analysis/analyze-tools.js +859 -0
  70. package/dist/core/chart/analysis/analyze-tools.js.map +1 -0
  71. package/dist/core/chart/analysis/candlestick-highlight.d.ts +55 -0
  72. package/dist/core/chart/analysis/candlestick-highlight.d.ts.map +1 -0
  73. package/dist/core/chart/analysis/candlestick-highlight.js +71 -0
  74. package/dist/core/chart/analysis/candlestick-highlight.js.map +1 -0
  75. package/dist/core/chart/analysis/candlestick-patterns-tools.d.ts +164 -0
  76. package/dist/core/chart/analysis/candlestick-patterns-tools.d.ts.map +1 -0
  77. package/dist/core/chart/analysis/candlestick-patterns-tools.js +205 -0
  78. package/dist/core/chart/analysis/candlestick-patterns-tools.js.map +1 -0
  79. package/dist/core/chart/analysis/chart-patterns-drawings-tools.d.ts +105 -0
  80. package/dist/core/chart/analysis/chart-patterns-drawings-tools.d.ts.map +1 -0
  81. package/dist/core/chart/analysis/chart-patterns-drawings-tools.js +512 -0
  82. package/dist/core/chart/analysis/chart-patterns-drawings-tools.js.map +1 -0
  83. package/dist/core/chart/analysis/chart-patterns-tools.d.ts +542 -0
  84. package/dist/core/chart/analysis/chart-patterns-tools.d.ts.map +1 -0
  85. package/dist/core/chart/analysis/chart-patterns-tools.js +283 -0
  86. package/dist/core/chart/analysis/chart-patterns-tools.js.map +1 -0
  87. package/dist/core/chart/analysis/key-fib-drawings-tools.d.ts +42 -0
  88. package/dist/core/chart/analysis/key-fib-drawings-tools.d.ts.map +1 -0
  89. package/dist/core/chart/analysis/key-fib-drawings-tools.js +140 -0
  90. package/dist/core/chart/analysis/key-fib-drawings-tools.js.map +1 -0
  91. package/dist/core/chart/analysis/key-level-break-detect.d.ts +27 -0
  92. package/dist/core/chart/analysis/key-level-break-detect.d.ts.map +1 -0
  93. package/dist/core/chart/analysis/key-level-break-detect.js +156 -0
  94. package/dist/core/chart/analysis/key-level-break-detect.js.map +1 -0
  95. package/dist/core/chart/analysis/key-level-drawings-shared.d.ts +109 -0
  96. package/dist/core/chart/analysis/key-level-drawings-shared.d.ts.map +1 -0
  97. package/dist/core/chart/analysis/key-level-drawings-shared.js +335 -0
  98. package/dist/core/chart/analysis/key-level-drawings-shared.js.map +1 -0
  99. package/dist/core/chart/analysis/key-level-drawings-tools.d.ts +42 -0
  100. package/dist/core/chart/analysis/key-level-drawings-tools.d.ts.map +1 -0
  101. package/dist/core/chart/analysis/key-level-drawings-tools.js +140 -0
  102. package/dist/core/chart/analysis/key-level-drawings-tools.js.map +1 -0
  103. package/dist/core/chart/analysis/key-level-menu-summary.d.ts +84 -0
  104. package/dist/core/chart/analysis/key-level-menu-summary.d.ts.map +1 -0
  105. package/dist/core/chart/analysis/key-level-menu-summary.js +257 -0
  106. package/dist/core/chart/analysis/key-level-menu-summary.js.map +1 -0
  107. package/dist/core/chart/analysis/key-levels-dataset.d.ts +17 -0
  108. package/dist/core/chart/analysis/key-levels-dataset.d.ts.map +1 -0
  109. package/dist/core/chart/analysis/key-levels-dataset.js +44 -0
  110. package/dist/core/chart/analysis/key-levels-dataset.js.map +1 -0
  111. package/dist/core/chart/analysis/momentum-highlight.d.ts +31 -0
  112. package/dist/core/chart/analysis/momentum-highlight.d.ts.map +1 -0
  113. package/dist/core/chart/analysis/momentum-highlight.js +59 -0
  114. package/dist/core/chart/analysis/momentum-highlight.js.map +1 -0
  115. package/dist/core/chart/analysis/ohlcv-input.d.ts +39 -0
  116. package/dist/core/chart/analysis/ohlcv-input.d.ts.map +1 -0
  117. package/dist/core/chart/analysis/ohlcv-input.js +89 -0
  118. package/dist/core/chart/analysis/ohlcv-input.js.map +1 -0
  119. package/dist/core/chart/analysis/ohlcv-live-merge.d.ts +39 -0
  120. package/dist/core/chart/analysis/ohlcv-live-merge.d.ts.map +1 -0
  121. package/dist/core/chart/analysis/ohlcv-live-merge.js +158 -0
  122. package/dist/core/chart/analysis/ohlcv-live-merge.js.map +1 -0
  123. package/dist/core/chart/analysis/range-volatility-highlight.d.ts +31 -0
  124. package/dist/core/chart/analysis/range-volatility-highlight.d.ts.map +1 -0
  125. package/dist/core/chart/analysis/range-volatility-highlight.js +53 -0
  126. package/dist/core/chart/analysis/range-volatility-highlight.js.map +1 -0
  127. package/dist/core/chart/analysis/time-series-analyze-tools.d.ts +98 -0
  128. package/dist/core/chart/analysis/time-series-analyze-tools.d.ts.map +1 -0
  129. package/dist/core/chart/analysis/time-series-analyze-tools.js +343 -0
  130. package/dist/core/chart/analysis/time-series-analyze-tools.js.map +1 -0
  131. package/dist/core/chart/analysis/time-series-input.d.ts +15 -0
  132. package/dist/core/chart/analysis/time-series-input.d.ts.map +1 -0
  133. package/dist/core/chart/analysis/time-series-input.js +155 -0
  134. package/dist/core/chart/analysis/time-series-input.js.map +1 -0
  135. package/dist/core/chart/analysis/trade-setups/build-trade-uniswap.d.ts +10 -0
  136. package/dist/core/chart/analysis/trade-setups/build-trade-uniswap.d.ts.map +1 -0
  137. package/dist/core/chart/analysis/trade-setups/build-trade-uniswap.js +128 -0
  138. package/dist/core/chart/analysis/trade-setups/build-trade-uniswap.js.map +1 -0
  139. package/dist/core/chart/analysis/trade-setups/build-trade.d.ts +46 -0
  140. package/dist/core/chart/analysis/trade-setups/build-trade.d.ts.map +1 -0
  141. package/dist/core/chart/analysis/trade-setups/build-trade.js +298 -0
  142. package/dist/core/chart/analysis/trade-setups/build-trade.js.map +1 -0
  143. package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.d.ts +48 -0
  144. package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.d.ts.map +1 -0
  145. package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.js +76 -0
  146. package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.js.map +1 -0
  147. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.d.ts +56 -0
  148. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.d.ts.map +1 -0
  149. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.js +223 -0
  150. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.js.map +1 -0
  151. package/dist/core/chart/analysis/trade-setups/index.d.ts +13 -0
  152. package/dist/core/chart/analysis/trade-setups/index.d.ts.map +1 -0
  153. package/dist/core/chart/analysis/trade-setups/index.js +13 -0
  154. package/dist/core/chart/analysis/trade-setups/index.js.map +1 -0
  155. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.d.ts +105 -0
  156. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.d.ts.map +1 -0
  157. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.js +452 -0
  158. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.js.map +1 -0
  159. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.d.ts +110 -0
  160. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.d.ts.map +1 -0
  161. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.js +344 -0
  162. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.js.map +1 -0
  163. package/dist/core/chart/analysis/trade-setups/momentum-trade-setup.d.ts +39 -0
  164. package/dist/core/chart/analysis/trade-setups/momentum-trade-setup.d.ts.map +1 -0
  165. package/dist/core/chart/analysis/trade-setups/momentum-trade-setup.js +68 -0
  166. package/dist/core/chart/analysis/trade-setups/momentum-trade-setup.js.map +1 -0
  167. package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.d.ts +42 -0
  168. package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.d.ts.map +1 -0
  169. package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.js +395 -0
  170. package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.js.map +1 -0
  171. package/dist/core/chart/analysis/trade-setups/range-volatility-trade-setup.d.ts +52 -0
  172. package/dist/core/chart/analysis/trade-setups/range-volatility-trade-setup.d.ts.map +1 -0
  173. package/dist/core/chart/analysis/trade-setups/range-volatility-trade-setup.js +119 -0
  174. package/dist/core/chart/analysis/trade-setups/range-volatility-trade-setup.js.map +1 -0
  175. package/dist/core/chart/analysis/trade-setups/shared.d.ts +21 -0
  176. package/dist/core/chart/analysis/trade-setups/shared.d.ts.map +1 -0
  177. package/dist/core/chart/analysis/trade-setups/shared.js +48 -0
  178. package/dist/core/chart/analysis/trade-setups/shared.js.map +1 -0
  179. package/dist/core/chart/analysis/trade-setups/trade-consensus.d.ts +22 -0
  180. package/dist/core/chart/analysis/trade-setups/trade-consensus.d.ts.map +1 -0
  181. package/dist/core/chart/analysis/trade-setups/trade-consensus.js +95 -0
  182. package/dist/core/chart/analysis/trade-setups/trade-consensus.js.map +1 -0
  183. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.d.ts +11 -0
  184. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.d.ts.map +1 -0
  185. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.js +13 -0
  186. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.js.map +1 -0
  187. package/dist/core/chart/analysis/trade-setups/trade-entry-gates.d.ts +40 -0
  188. package/dist/core/chart/analysis/trade-setups/trade-entry-gates.d.ts.map +1 -0
  189. package/dist/core/chart/analysis/trade-setups/trade-entry-gates.js +84 -0
  190. package/dist/core/chart/analysis/trade-setups/trade-entry-gates.js.map +1 -0
  191. package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts +46 -0
  192. package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts.map +1 -0
  193. package/dist/core/chart/analysis/trade-setups/trade-idea-list.js +98 -0
  194. package/dist/core/chart/analysis/trade-setups/trade-idea-list.js.map +1 -0
  195. package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts +76 -0
  196. package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts.map +1 -0
  197. package/dist/core/chart/analysis/trade-setups/trade-idea.js +187 -0
  198. package/dist/core/chart/analysis/trade-setups/trade-idea.js.map +1 -0
  199. package/dist/core/chart/analysis/trade-setups/trade-purpose-format.d.ts +43 -0
  200. package/dist/core/chart/analysis/trade-setups/trade-purpose-format.d.ts.map +1 -0
  201. package/dist/core/chart/analysis/trade-setups/trade-purpose-format.js +183 -0
  202. package/dist/core/chart/analysis/trade-setups/trade-purpose-format.js.map +1 -0
  203. package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.d.ts +59 -0
  204. package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.d.ts.map +1 -0
  205. package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.js +138 -0
  206. package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.js.map +1 -0
  207. package/dist/core/chart/analysis/trend-line-drawings-tools.d.ts +56 -0
  208. package/dist/core/chart/analysis/trend-line-drawings-tools.d.ts.map +1 -0
  209. package/dist/core/chart/analysis/trend-line-drawings-tools.js +271 -0
  210. package/dist/core/chart/analysis/trend-line-drawings-tools.js.map +1 -0
  211. package/dist/core/chart/analysis/trend-line-menu-summary.d.ts +38 -0
  212. package/dist/core/chart/analysis/trend-line-menu-summary.d.ts.map +1 -0
  213. package/dist/core/chart/analysis/trend-line-menu-summary.js +94 -0
  214. package/dist/core/chart/analysis/trend-line-menu-summary.js.map +1 -0
  215. package/dist/core/chart/apply-chart-drawings.d.ts +3 -0
  216. package/dist/core/chart/apply-chart-drawings.d.ts.map +1 -1
  217. package/dist/core/chart/apply-chart-drawings.js +101 -31
  218. package/dist/core/chart/apply-chart-drawings.js.map +1 -1
  219. package/dist/core/chart/chart-agent-view.d.ts +4 -0
  220. package/dist/core/chart/chart-agent-view.d.ts.map +1 -0
  221. package/dist/core/chart/chart-agent-view.js +27 -0
  222. package/dist/core/chart/chart-agent-view.js.map +1 -0
  223. package/dist/core/chart/chart-data-validation.d.ts +63 -0
  224. package/dist/core/chart/chart-data-validation.d.ts.map +1 -0
  225. package/dist/core/chart/chart-data-validation.js +320 -0
  226. package/dist/core/chart/chart-data-validation.js.map +1 -0
  227. package/dist/core/chart/chart-ohlcv-load-status.d.ts +39 -0
  228. package/dist/core/chart/chart-ohlcv-load-status.d.ts.map +1 -0
  229. package/dist/core/chart/chart-ohlcv-load-status.js +281 -0
  230. package/dist/core/chart/chart-ohlcv-load-status.js.map +1 -0
  231. package/dist/core/chart/chart-ohlcv-summary.d.ts +58 -0
  232. package/dist/core/chart/chart-ohlcv-summary.d.ts.map +1 -0
  233. package/dist/core/chart/chart-ohlcv-summary.js +118 -0
  234. package/dist/core/chart/chart-ohlcv-summary.js.map +1 -0
  235. package/dist/core/chart/chart-pattern-session-store.d.ts +39 -0
  236. package/dist/core/chart/chart-pattern-session-store.d.ts.map +1 -0
  237. package/dist/core/chart/chart-pattern-session-store.js +94 -0
  238. package/dist/core/chart/chart-pattern-session-store.js.map +1 -0
  239. package/dist/core/chart/customization-catalog.d.ts.map +1 -1
  240. package/dist/core/chart/customization-catalog.js +8 -2
  241. package/dist/core/chart/customization-catalog.js.map +1 -1
  242. package/dist/core/chart/display-downsample.d.ts +9 -0
  243. package/dist/core/chart/display-downsample.d.ts.map +1 -0
  244. package/dist/core/chart/display-downsample.js +79 -0
  245. package/dist/core/chart/display-downsample.js.map +1 -0
  246. package/dist/core/chart/index.d.ts +2 -1
  247. package/dist/core/chart/index.d.ts.map +1 -1
  248. package/dist/core/chart/index.js +2 -1
  249. package/dist/core/chart/index.js.map +1 -1
  250. package/dist/core/chart/levels/calculate-tools.d.ts +8 -0
  251. package/dist/core/chart/levels/calculate-tools.d.ts.map +1 -1
  252. package/dist/core/chart/levels/calculate-tools.js +9 -3
  253. package/dist/core/chart/levels/calculate-tools.js.map +1 -1
  254. package/dist/core/chart/levels/trend-lines.d.ts +3 -0
  255. package/dist/core/chart/levels/trend-lines.d.ts.map +1 -1
  256. package/dist/core/chart/levels/trend-lines.js +6 -3
  257. package/dist/core/chart/levels/trend-lines.js.map +1 -1
  258. package/dist/core/chart/live/binding-extract.d.ts.map +1 -1
  259. package/dist/core/chart/live/binding-extract.js +10 -1
  260. package/dist/core/chart/live/binding-extract.js.map +1 -1
  261. package/dist/core/chart/live/fetch-tick.d.ts +4 -0
  262. package/dist/core/chart/live/fetch-tick.d.ts.map +1 -0
  263. package/dist/core/chart/live/fetch-tick.js +73 -0
  264. package/dist/core/chart/live/fetch-tick.js.map +1 -0
  265. package/dist/core/chart/live/index.d.ts +1 -0
  266. package/dist/core/chart/live/index.d.ts.map +1 -1
  267. package/dist/core/chart/live/index.js +1 -0
  268. package/dist/core/chart/live/index.js.map +1 -1
  269. package/dist/core/chart/ohlcv-integrity-messages.d.ts +5 -0
  270. package/dist/core/chart/ohlcv-integrity-messages.d.ts.map +1 -0
  271. package/dist/core/chart/ohlcv-integrity-messages.js +12 -0
  272. package/dist/core/chart/ohlcv-integrity-messages.js.map +1 -0
  273. package/dist/core/chart/ohlcv-integrity.d.ts +82 -0
  274. package/dist/core/chart/ohlcv-integrity.d.ts.map +1 -0
  275. package/dist/core/chart/ohlcv-integrity.js +266 -0
  276. package/dist/core/chart/ohlcv-integrity.js.map +1 -0
  277. package/dist/core/chart/ohlcv-session-store.d.ts +38 -0
  278. package/dist/core/chart/ohlcv-session-store.d.ts.map +1 -0
  279. package/dist/core/chart/ohlcv-session-store.js +107 -0
  280. package/dist/core/chart/ohlcv-session-store.js.map +1 -0
  281. package/dist/core/chart/ohlcv-window-expectations.d.ts +77 -0
  282. package/dist/core/chart/ohlcv-window-expectations.d.ts.map +1 -0
  283. package/dist/core/chart/ohlcv-window-expectations.js +426 -0
  284. package/dist/core/chart/ohlcv-window-expectations.js.map +1 -0
  285. package/dist/core/chart/ohlcv-window.d.ts +36 -0
  286. package/dist/core/chart/ohlcv-window.d.ts.map +1 -0
  287. package/dist/core/chart/ohlcv-window.js +238 -0
  288. package/dist/core/chart/ohlcv-window.js.map +1 -0
  289. package/dist/core/chart/overlay-schemas.d.ts +545 -0
  290. package/dist/core/chart/overlay-schemas.d.ts.map +1 -1
  291. package/dist/core/chart/overlay-schemas.js +116 -1
  292. package/dist/core/chart/overlay-schemas.js.map +1 -1
  293. package/dist/core/chart/overlays.d.ts.map +1 -1
  294. package/dist/core/chart/overlays.js +283 -11
  295. package/dist/core/chart/overlays.js.map +1 -1
  296. package/dist/core/chart/point-normalize.d.ts.map +1 -1
  297. package/dist/core/chart/point-normalize.js +21 -14
  298. package/dist/core/chart/point-normalize.js.map +1 -1
  299. package/dist/core/chart/prepare-core.d.ts.map +1 -1
  300. package/dist/core/chart/prepare-core.js +5 -1
  301. package/dist/core/chart/prepare-core.js.map +1 -1
  302. package/dist/core/chart/prepare-from-rows.d.ts +202 -1
  303. package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
  304. package/dist/core/chart/prepare-from-rows.js +81 -11
  305. package/dist/core/chart/prepare-from-rows.js.map +1 -1
  306. package/dist/core/chart/schemas.d.ts +686 -6
  307. package/dist/core/chart/schemas.d.ts.map +1 -1
  308. package/dist/core/chart/schemas.js +49 -6
  309. package/dist/core/chart/schemas.js.map +1 -1
  310. package/dist/core/chart-patterns/atr.d.ts +15 -0
  311. package/dist/core/chart-patterns/atr.d.ts.map +1 -0
  312. package/dist/core/chart-patterns/atr.js +57 -0
  313. package/dist/core/chart-patterns/atr.js.map +1 -0
  314. package/dist/core/chart-patterns/catalog.d.ts +7 -0
  315. package/dist/core/chart-patterns/catalog.d.ts.map +1 -0
  316. package/dist/core/chart-patterns/catalog.js +221 -0
  317. package/dist/core/chart-patterns/catalog.js.map +1 -0
  318. package/dist/core/chart-patterns/confidence.d.ts +12 -0
  319. package/dist/core/chart-patterns/confidence.d.ts.map +1 -0
  320. package/dist/core/chart-patterns/confidence.js +58 -0
  321. package/dist/core/chart-patterns/confidence.js.map +1 -0
  322. package/dist/core/chart-patterns/drawing-spec.d.ts +44 -0
  323. package/dist/core/chart-patterns/drawing-spec.d.ts.map +1 -0
  324. package/dist/core/chart-patterns/drawing-spec.js +425 -0
  325. package/dist/core/chart-patterns/drawing-spec.js.map +1 -0
  326. package/dist/core/chart-patterns/geometry-to-overlay.d.ts +34 -0
  327. package/dist/core/chart-patterns/geometry-to-overlay.d.ts.map +1 -0
  328. package/dist/core/chart-patterns/geometry-to-overlay.js +401 -0
  329. package/dist/core/chart-patterns/geometry-to-overlay.js.map +1 -0
  330. package/dist/core/chart-patterns/index.d.ts +13 -0
  331. package/dist/core/chart-patterns/index.d.ts.map +1 -0
  332. package/dist/core/chart-patterns/index.js +12 -0
  333. package/dist/core/chart-patterns/index.js.map +1 -0
  334. package/dist/core/chart-patterns/interpretation.d.ts +6 -0
  335. package/dist/core/chart-patterns/interpretation.d.ts.map +1 -0
  336. package/dist/core/chart-patterns/interpretation.js +49 -0
  337. package/dist/core/chart-patterns/interpretation.js.map +1 -0
  338. package/dist/core/chart-patterns/measured-move.d.ts +3 -0
  339. package/dist/core/chart-patterns/measured-move.d.ts.map +1 -0
  340. package/dist/core/chart-patterns/measured-move.js +196 -0
  341. package/dist/core/chart-patterns/measured-move.js.map +1 -0
  342. package/dist/core/chart-patterns/pattern-enrich.d.ts +4 -0
  343. package/dist/core/chart-patterns/pattern-enrich.d.ts.map +1 -0
  344. package/dist/core/chart-patterns/pattern-enrich.js +20 -0
  345. package/dist/core/chart-patterns/pattern-enrich.js.map +1 -0
  346. package/dist/core/chart-patterns/pattern-id-aliases.d.ts +3 -0
  347. package/dist/core/chart-patterns/pattern-id-aliases.d.ts.map +1 -0
  348. package/dist/core/chart-patterns/pattern-id-aliases.js +17 -0
  349. package/dist/core/chart-patterns/pattern-id-aliases.js.map +1 -0
  350. package/dist/core/chart-patterns/pattern-menu-summary.d.ts +21 -0
  351. package/dist/core/chart-patterns/pattern-menu-summary.d.ts.map +1 -0
  352. package/dist/core/chart-patterns/pattern-menu-summary.js +68 -0
  353. package/dist/core/chart-patterns/pattern-menu-summary.js.map +1 -0
  354. package/dist/core/chart-patterns/patterns/channel.d.ts +4 -0
  355. package/dist/core/chart-patterns/patterns/channel.d.ts.map +1 -0
  356. package/dist/core/chart-patterns/patterns/channel.js +137 -0
  357. package/dist/core/chart-patterns/patterns/channel.js.map +1 -0
  358. package/dist/core/chart-patterns/patterns/cup-and-handle.d.ts +4 -0
  359. package/dist/core/chart-patterns/patterns/cup-and-handle.d.ts.map +1 -0
  360. package/dist/core/chart-patterns/patterns/cup-and-handle.js +89 -0
  361. package/dist/core/chart-patterns/patterns/cup-and-handle.js.map +1 -0
  362. package/dist/core/chart-patterns/patterns/doubles.d.ts +4 -0
  363. package/dist/core/chart-patterns/patterns/doubles.d.ts.map +1 -0
  364. package/dist/core/chart-patterns/patterns/doubles.js +163 -0
  365. package/dist/core/chart-patterns/patterns/doubles.js.map +1 -0
  366. package/dist/core/chart-patterns/patterns/flag.d.ts +4 -0
  367. package/dist/core/chart-patterns/patterns/flag.d.ts.map +1 -0
  368. package/dist/core/chart-patterns/patterns/flag.js +64 -0
  369. package/dist/core/chart-patterns/patterns/flag.js.map +1 -0
  370. package/dist/core/chart-patterns/patterns/head-and-shoulders.d.ts +5 -0
  371. package/dist/core/chart-patterns/patterns/head-and-shoulders.d.ts.map +1 -0
  372. package/dist/core/chart-patterns/patterns/head-and-shoulders.js +69 -0
  373. package/dist/core/chart-patterns/patterns/head-and-shoulders.js.map +1 -0
  374. package/dist/core/chart-patterns/patterns/inverse-head-and-shoulders.d.ts +4 -0
  375. package/dist/core/chart-patterns/patterns/inverse-head-and-shoulders.d.ts.map +1 -0
  376. package/dist/core/chart-patterns/patterns/inverse-head-and-shoulders.js +66 -0
  377. package/dist/core/chart-patterns/patterns/inverse-head-and-shoulders.js.map +1 -0
  378. package/dist/core/chart-patterns/patterns/pennant.d.ts +4 -0
  379. package/dist/core/chart-patterns/patterns/pennant.d.ts.map +1 -0
  380. package/dist/core/chart-patterns/patterns/pennant.js +66 -0
  381. package/dist/core/chart-patterns/patterns/pennant.js.map +1 -0
  382. package/dist/core/chart-patterns/patterns/trendline-breakout.d.ts +10 -0
  383. package/dist/core/chart-patterns/patterns/trendline-breakout.d.ts.map +1 -0
  384. package/dist/core/chart-patterns/patterns/trendline-breakout.js +241 -0
  385. package/dist/core/chart-patterns/patterns/trendline-breakout.js.map +1 -0
  386. package/dist/core/chart-patterns/patterns/triangles.d.ts +4 -0
  387. package/dist/core/chart-patterns/patterns/triangles.d.ts.map +1 -0
  388. package/dist/core/chart-patterns/patterns/triangles.js +113 -0
  389. package/dist/core/chart-patterns/patterns/triangles.js.map +1 -0
  390. package/dist/core/chart-patterns/patterns/utils.d.ts +20 -0
  391. package/dist/core/chart-patterns/patterns/utils.d.ts.map +1 -0
  392. package/dist/core/chart-patterns/patterns/utils.js +60 -0
  393. package/dist/core/chart-patterns/patterns/utils.js.map +1 -0
  394. package/dist/core/chart-patterns/patterns/wedge.d.ts +4 -0
  395. package/dist/core/chart-patterns/patterns/wedge.d.ts.map +1 -0
  396. package/dist/core/chart-patterns/patterns/wedge.js +88 -0
  397. package/dist/core/chart-patterns/patterns/wedge.js.map +1 -0
  398. package/dist/core/chart-patterns/recommendation.d.ts +5 -0
  399. package/dist/core/chart-patterns/recommendation.d.ts.map +1 -0
  400. package/dist/core/chart-patterns/recommendation.js +84 -0
  401. package/dist/core/chart-patterns/recommendation.js.map +1 -0
  402. package/dist/core/chart-patterns/scan.d.ts +5 -0
  403. package/dist/core/chart-patterns/scan.d.ts.map +1 -0
  404. package/dist/core/chart-patterns/scan.js +121 -0
  405. package/dist/core/chart-patterns/scan.js.map +1 -0
  406. package/dist/core/chart-patterns/smoothing.d.ts +10 -0
  407. package/dist/core/chart-patterns/smoothing.d.ts.map +1 -0
  408. package/dist/core/chart-patterns/smoothing.js +45 -0
  409. package/dist/core/chart-patterns/smoothing.js.map +1 -0
  410. package/dist/core/chart-patterns/swings.d.ts +12 -0
  411. package/dist/core/chart-patterns/swings.d.ts.map +1 -0
  412. package/dist/core/chart-patterns/swings.js +135 -0
  413. package/dist/core/chart-patterns/swings.js.map +1 -0
  414. package/dist/core/chart-patterns/trade-setup.d.ts +2 -0
  415. package/dist/core/chart-patterns/trade-setup.d.ts.map +1 -0
  416. package/dist/core/chart-patterns/trade-setup.js +2 -0
  417. package/dist/core/chart-patterns/trade-setup.js.map +1 -0
  418. package/dist/core/chart-patterns/types.d.ts +225 -0
  419. package/dist/core/chart-patterns/types.d.ts.map +1 -0
  420. package/dist/core/chart-patterns/types.js +2 -0
  421. package/dist/core/chart-patterns/types.js.map +1 -0
  422. package/dist/core/chart-patterns/volume-confirmation.d.ts +13 -0
  423. package/dist/core/chart-patterns/volume-confirmation.d.ts.map +1 -0
  424. package/dist/core/chart-patterns/volume-confirmation.js +172 -0
  425. package/dist/core/chart-patterns/volume-confirmation.js.map +1 -0
  426. package/dist/core/coinmarketcap/api-key.d.ts +8 -0
  427. package/dist/core/coinmarketcap/api-key.d.ts.map +1 -0
  428. package/dist/core/coinmarketcap/api-key.js +30 -0
  429. package/dist/core/coinmarketcap/api-key.js.map +1 -0
  430. package/dist/core/coinmarketcap/client.d.ts +8 -0
  431. package/dist/core/coinmarketcap/client.d.ts.map +1 -0
  432. package/dist/core/coinmarketcap/client.js +103 -0
  433. package/dist/core/coinmarketcap/client.js.map +1 -0
  434. package/dist/core/coinmarketcap/index.d.ts +7 -0
  435. package/dist/core/coinmarketcap/index.d.ts.map +1 -0
  436. package/dist/core/coinmarketcap/index.js +7 -0
  437. package/dist/core/coinmarketcap/index.js.map +1 -0
  438. package/dist/core/coinmarketcap/kline-fallback.d.ts +11 -0
  439. package/dist/core/coinmarketcap/kline-fallback.d.ts.map +1 -0
  440. package/dist/core/coinmarketcap/kline-fallback.js +35 -0
  441. package/dist/core/coinmarketcap/kline-fallback.js.map +1 -0
  442. package/dist/core/coinmarketcap/kline-window.d.ts +26 -0
  443. package/dist/core/coinmarketcap/kline-window.d.ts.map +1 -0
  444. package/dist/core/coinmarketcap/kline-window.js +75 -0
  445. package/dist/core/coinmarketcap/kline-window.js.map +1 -0
  446. package/dist/core/coinmarketcap/kline.d.ts +13 -0
  447. package/dist/core/coinmarketcap/kline.d.ts.map +1 -0
  448. package/dist/core/coinmarketcap/kline.js +49 -0
  449. package/dist/core/coinmarketcap/kline.js.map +1 -0
  450. package/dist/core/coinmarketcap/mcp-server-choice.d.ts +24 -0
  451. package/dist/core/coinmarketcap/mcp-server-choice.d.ts.map +1 -0
  452. package/dist/core/coinmarketcap/mcp-server-choice.js +77 -0
  453. package/dist/core/coinmarketcap/mcp-server-choice.js.map +1 -0
  454. package/dist/core/coinmarketcap/public-api.d.ts +24 -0
  455. package/dist/core/coinmarketcap/public-api.d.ts.map +1 -0
  456. package/dist/core/coinmarketcap/public-api.js +277 -0
  457. package/dist/core/coinmarketcap/public-api.js.map +1 -0
  458. package/dist/core/coinmarketcap/schemas.d.ts +231 -0
  459. package/dist/core/coinmarketcap/schemas.d.ts.map +1 -0
  460. package/dist/core/coinmarketcap/schemas.js +153 -0
  461. package/dist/core/coinmarketcap/schemas.js.map +1 -0
  462. package/dist/core/mpc/mpa-fee-status.d.ts +2 -0
  463. package/dist/core/mpc/mpa-fee-status.d.ts.map +1 -1
  464. package/dist/core/mpc/mpa-fee-status.js +8 -1
  465. package/dist/core/mpc/mpa-fee-status.js.map +1 -1
  466. package/dist/core/node-info.d.ts +3 -1
  467. package/dist/core/node-info.d.ts.map +1 -1
  468. package/dist/core/node-info.js +37 -1
  469. package/dist/core/node-info.js.map +1 -1
  470. package/dist/index.d.ts +6 -4
  471. package/dist/index.d.ts.map +1 -1
  472. package/dist/index.js +6 -4
  473. package/dist/index.js.map +1 -1
  474. package/dist/mcp/agent-chart-data-access-gate.d.ts +5 -0
  475. package/dist/mcp/agent-chart-data-access-gate.d.ts.map +1 -0
  476. package/dist/mcp/agent-chart-data-access-gate.js +20 -0
  477. package/dist/mcp/agent-chart-data-access-gate.js.map +1 -0
  478. package/dist/mcp/agent-environment-variables.d.ts.map +1 -1
  479. package/dist/mcp/agent-environment-variables.js +13 -2
  480. package/dist/mcp/agent-environment-variables.js.map +1 -1
  481. package/dist/mcp/agent-host-catalog.d.ts +27 -0
  482. package/dist/mcp/agent-host-catalog.d.ts.map +1 -0
  483. package/dist/mcp/agent-host-catalog.js +88 -0
  484. package/dist/mcp/agent-host-catalog.js.map +1 -0
  485. package/dist/mcp/agent-mcp-servers.d.ts.map +1 -1
  486. package/dist/mcp/agent-mcp-servers.js +32 -3
  487. package/dist/mcp/agent-mcp-servers.js.map +1 -1
  488. package/dist/mcp/agent-skills.d.ts.map +1 -1
  489. package/dist/mcp/agent-skills.js +13 -1
  490. package/dist/mcp/agent-skills.js.map +1 -1
  491. package/dist/mcp/chart.d.ts.map +1 -1
  492. package/dist/mcp/chart.js +282 -25
  493. package/dist/mcp/chart.js.map +1 -1
  494. package/dist/mcp/coinmarketcap-public/register.d.ts +6 -0
  495. package/dist/mcp/coinmarketcap-public/register.d.ts.map +1 -0
  496. package/dist/mcp/coinmarketcap-public/register.js +99 -0
  497. package/dist/mcp/coinmarketcap-public/register.js.map +1 -0
  498. package/dist/mcp/deferred/discovery-tools.d.ts +6 -0
  499. package/dist/mcp/deferred/discovery-tools.d.ts.map +1 -0
  500. package/dist/mcp/deferred/discovery-tools.js +138 -0
  501. package/dist/mcp/deferred/discovery-tools.js.map +1 -0
  502. package/dist/mcp/deferred/optional-endpoint-groups.d.ts +12 -0
  503. package/dist/mcp/deferred/optional-endpoint-groups.d.ts.map +1 -0
  504. package/dist/mcp/deferred/optional-endpoint-groups.js +51 -0
  505. package/dist/mcp/deferred/optional-endpoint-groups.js.map +1 -0
  506. package/dist/mcp/deferred/session.d.ts +56 -0
  507. package/dist/mcp/deferred/session.d.ts.map +1 -0
  508. package/dist/mcp/deferred/session.js +242 -0
  509. package/dist/mcp/deferred/session.js.map +1 -0
  510. package/dist/mcp/deferred/tool-group-map.d.ts +23 -0
  511. package/dist/mcp/deferred/tool-group-map.d.ts.map +1 -0
  512. package/dist/mcp/deferred/tool-group-map.js +317 -0
  513. package/dist/mcp/deferred/tool-group-map.js.map +1 -0
  514. package/dist/mcp/defi/context.d.ts +2 -0
  515. package/dist/mcp/defi/context.d.ts.map +1 -1
  516. package/dist/mcp/defi/defi-protocol-fetch-meta.d.ts +30 -0
  517. package/dist/mcp/defi/defi-protocol-fetch-meta.d.ts.map +1 -0
  518. package/dist/mcp/defi/defi-protocol-fetch-meta.js +76 -0
  519. package/dist/mcp/defi/defi-protocol-fetch-meta.js.map +1 -0
  520. package/dist/mcp/defi/discovery.d.ts +2 -1
  521. package/dist/mcp/defi/discovery.d.ts.map +1 -1
  522. package/dist/mcp/defi/discovery.js +46 -6
  523. package/dist/mcp/defi/discovery.js.map +1 -1
  524. package/dist/mcp/defi/handler.d.ts.map +1 -1
  525. package/dist/mcp/defi/handler.js +6 -3
  526. package/dist/mcp/defi/handler.js.map +1 -1
  527. package/dist/mcp/defi/input-adapter.d.ts +6 -0
  528. package/dist/mcp/defi/input-adapter.d.ts.map +1 -1
  529. package/dist/mcp/defi/input-adapter.js +29 -12
  530. package/dist/mcp/defi/input-adapter.js.map +1 -1
  531. package/dist/mcp/defi/ohlcv-chart-workflow.d.ts +5 -1
  532. package/dist/mcp/defi/ohlcv-chart-workflow.d.ts.map +1 -1
  533. package/dist/mcp/defi/ohlcv-chart-workflow.js +28 -6
  534. package/dist/mcp/defi/ohlcv-chart-workflow.js.map +1 -1
  535. package/dist/mcp/defi/register-protocol-tools.d.ts +2 -1
  536. package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
  537. package/dist/mcp/defi/register-protocol-tools.js +12 -3
  538. package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
  539. package/dist/mcp/defi/trade-bridge.d.ts +2 -0
  540. package/dist/mcp/defi/trade-bridge.d.ts.map +1 -0
  541. package/dist/mcp/defi/trade-bridge.js +2 -0
  542. package/dist/mcp/defi/trade-bridge.js.map +1 -0
  543. package/dist/mcp/keygen.js +1 -1
  544. package/dist/mcp/keygen.js.map +1 -1
  545. package/dist/mcp/management-signer.d.ts.map +1 -1
  546. package/dist/mcp/management-signer.js +1 -1
  547. package/dist/mcp/management-signer.js.map +1 -1
  548. package/dist/mcp/node.d.ts.map +1 -1
  549. package/dist/mcp/node.js +7 -2
  550. package/dist/mcp/node.js.map +1 -1
  551. package/dist/mcp/ohlcv-session-context.d.ts +4 -0
  552. package/dist/mcp/ohlcv-session-context.d.ts.map +1 -0
  553. package/dist/mcp/ohlcv-session-context.js +13 -0
  554. package/dist/mcp/ohlcv-session-context.js.map +1 -0
  555. package/dist/mcp/ohlcv-session-wrapper.d.ts +8 -0
  556. package/dist/mcp/ohlcv-session-wrapper.d.ts.map +1 -0
  557. package/dist/mcp/ohlcv-session-wrapper.js +138 -0
  558. package/dist/mcp/ohlcv-session-wrapper.js.map +1 -0
  559. package/dist/mcp/register.d.ts +3 -1
  560. package/dist/mcp/register.d.ts.map +1 -1
  561. package/dist/mcp/register.js +24 -5
  562. package/dist/mcp/register.js.map +1 -1
  563. package/dist/mcp/resources/agent-cron-jobs.md +25 -0
  564. package/dist/mcp/resources/agent-mcp-servers.md +21 -0
  565. package/dist/mcp/resources/chart-analysis.md +368 -0
  566. package/dist/mcp/resources/chart.md +71 -24
  567. package/dist/mcp/resources/coinmarketcap-public.md +109 -0
  568. package/dist/mcp/resources/keygen.md +1 -1
  569. package/dist/mcp/resources/trade-defaults-skill.md +69 -0
  570. package/dist/mcp/server/http-transport.d.ts.map +1 -1
  571. package/dist/mcp/server/http-transport.js +9 -2
  572. package/dist/mcp/server/http-transport.js.map +1 -1
  573. package/dist/mcp/server/index.js +3 -0
  574. package/dist/mcp/server/index.js.map +1 -1
  575. package/dist/mcp/tool-utils.d.ts.map +1 -1
  576. package/dist/mcp/tool-utils.js +7 -1
  577. package/dist/mcp/tool-utils.js.map +1 -1
  578. package/dist/mcp/trade-tools.d.ts +7 -0
  579. package/dist/mcp/trade-tools.d.ts.map +1 -0
  580. package/dist/mcp/trade-tools.js +201 -0
  581. package/dist/mcp/trade-tools.js.map +1 -0
  582. package/dist/schemas/extended.d.ts +30 -0
  583. package/dist/schemas/extended.d.ts.map +1 -1
  584. package/dist/schemas/extended.js +40 -0
  585. package/dist/schemas/extended.js.map +1 -1
  586. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-tools.js","sourceRoot":"","sources":["../../../../src/core/chart/analysis/analyze-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ export type CandlestickPreviewBar = {
2
+ index: number;
3
+ open: number;
4
+ high: number;
5
+ low: number;
6
+ close: number;
7
+ isFocus: boolean;
8
+ };
9
+ export type CandlestickPatternFound = {
10
+ id: string;
11
+ name: string;
12
+ direction: 'bullish' | 'bearish' | 'neutral';
13
+ confidence: number;
14
+ };
15
+ export type CandlestickHighlight = {
16
+ summary: string;
17
+ recommendation: 'buy' | 'sell' | 'hold';
18
+ recommendationConfidence: number;
19
+ primaryPattern: {
20
+ id: string;
21
+ name: string;
22
+ description: string;
23
+ direction?: 'bullish' | 'bearish' | 'neutral';
24
+ } | null;
25
+ patternsFound: CandlestickPatternFound[];
26
+ focusBarIndex: number;
27
+ previewBars: CandlestickPreviewBar[];
28
+ previewBarCount: number;
29
+ };
30
+ type OhlcBar = {
31
+ open: number;
32
+ high: number;
33
+ low: number;
34
+ close: number;
35
+ };
36
+ export declare function buildCandlestickHighlight(input: {
37
+ bars: OhlcBar[];
38
+ focusBarIndex: number;
39
+ primaryPattern: {
40
+ id: string;
41
+ name: string;
42
+ description: string;
43
+ } | null;
44
+ patterns: Array<{
45
+ id: string;
46
+ name: string;
47
+ direction: 'bullish' | 'bearish' | 'neutral';
48
+ confidence: number;
49
+ }>;
50
+ recommendation: 'buy' | 'sell' | 'hold';
51
+ recommendationConfidence: number;
52
+ previewCount?: number;
53
+ }): CandlestickHighlight;
54
+ export {};
55
+ //# sourceMappingURL=candlestick-highlight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candlestick-highlight.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/analysis/candlestick-highlight.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,wBAAwB,EAAE,MAAM,CAAC;IACjC,cAAc,EAAE;QACf,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;KAC9C,GAAG,IAAI,CAAC;IACT,aAAa,EAAE,uBAAuB,EAAE,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC;CACxB,CAAC;AAIF,KAAK,OAAO,GAAG;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AA4BF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAChD,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE;QACf,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI,CAAC;IACT,QAAQ,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;QAC7C,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,wBAAwB,EAAE,MAAM,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,oBAAoB,CAiDvB"}
@@ -0,0 +1,71 @@
1
+ const PREVIEW_BAR_COUNT = 5;
2
+ function recommendationLabel(recommendation) {
3
+ if (recommendation === 'buy') {
4
+ return 'bullish';
5
+ }
6
+ if (recommendation === 'sell') {
7
+ return 'bearish';
8
+ }
9
+ return 'neutral';
10
+ }
11
+ function buildHighlightSummary(input) {
12
+ if (!input.primaryPattern) {
13
+ return 'No candlestick pattern detected on the focus bar — neutral / indecision.';
14
+ }
15
+ const bias = recommendationLabel(input.recommendation);
16
+ const extra = input.patternsFound.length > 1
17
+ ? ` (${input.patternsFound.length} patterns on focus bar)`
18
+ : '';
19
+ return `${input.primaryPattern.name} — ${bias} signal${extra}.`;
20
+ }
21
+ export function buildCandlestickHighlight(input) {
22
+ const previewCount = Math.max(1, Math.min(input.previewCount ?? PREVIEW_BAR_COUNT, 8));
23
+ const startIndex = Math.max(0, input.focusBarIndex - previewCount + 1);
24
+ const previewBars = [];
25
+ for (let i = startIndex; i <= input.focusBarIndex; i++) {
26
+ const bar = input.bars[i];
27
+ if (!bar) {
28
+ continue;
29
+ }
30
+ previewBars.push({
31
+ index: i,
32
+ open: bar.open,
33
+ high: bar.high,
34
+ low: bar.low,
35
+ close: bar.close,
36
+ isFocus: i === input.focusBarIndex,
37
+ });
38
+ }
39
+ const patternsFound = input.patterns.map(hit => ({
40
+ id: hit.id,
41
+ name: hit.name,
42
+ direction: hit.direction,
43
+ confidence: hit.confidence,
44
+ }));
45
+ const primaryHit = input.primaryPattern
46
+ ? input.patterns.find(p => p.id === input.primaryPattern.id)
47
+ : undefined;
48
+ const primaryPattern = input.primaryPattern
49
+ ? {
50
+ id: input.primaryPattern.id,
51
+ name: input.primaryPattern.name,
52
+ description: input.primaryPattern.description,
53
+ ...(primaryHit ? { direction: primaryHit.direction } : {}),
54
+ }
55
+ : null;
56
+ return {
57
+ summary: buildHighlightSummary({
58
+ primaryPattern,
59
+ recommendation: input.recommendation,
60
+ patternsFound,
61
+ }),
62
+ recommendation: input.recommendation,
63
+ recommendationConfidence: input.recommendationConfidence,
64
+ primaryPattern,
65
+ patternsFound,
66
+ focusBarIndex: input.focusBarIndex,
67
+ previewBars,
68
+ previewBarCount: previewBars.length,
69
+ };
70
+ }
71
+ //# sourceMappingURL=candlestick-highlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candlestick-highlight.js","sourceRoot":"","sources":["../../../../src/core/chart/analysis/candlestick-highlight.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,164 @@
1
+ import { z } from 'zod';
2
+ import type { SdkResult } from '../../result.js';
3
+ export declare const AnalyzeCandlestickPatternsInputSchema: z.ZodPreprocess<z.ZodObject<{
4
+ toolResult: z.ZodOptional<z.ZodUnknown>;
5
+ rows: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
6
+ title: z.ZodOptional<z.ZodString>;
7
+ label: z.ZodOptional<z.ZodString>;
8
+ ohlcvDigest: z.ZodOptional<z.ZodString>;
9
+ mergeLive: z.ZodOptional<z.ZodBoolean>;
10
+ liveTick: z.ZodOptional<z.ZodObject<{
11
+ timeMs: z.ZodNumber;
12
+ price: z.ZodNumber;
13
+ volume: z.ZodOptional<z.ZodNumber>;
14
+ }, z.core.$strict>>;
15
+ allowRowsOnly: z.ZodOptional<z.ZodBoolean>;
16
+ patterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
+ focusBar: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"last">, z.ZodNumber]>>;
18
+ minConfidence: z.ZodOptional<z.ZodNumber>;
19
+ }, z.core.$strict>>;
20
+ export declare const AnalyzeCandlestickPatternsOutputSchema: z.ZodObject<{
21
+ analysis: z.ZodObject<{
22
+ focusBarIndex: z.ZodNumber;
23
+ focusTime: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
24
+ year: z.ZodNumber;
25
+ month: z.ZodNumber;
26
+ day: z.ZodNumber;
27
+ }, z.core.$strict>, z.ZodNull]>;
28
+ focusBar: z.ZodObject<{
29
+ open: z.ZodNumber;
30
+ high: z.ZodNumber;
31
+ low: z.ZodNumber;
32
+ close: z.ZodNumber;
33
+ }, z.core.$strict>;
34
+ patterns: z.ZodArray<z.ZodObject<{
35
+ id: z.ZodString;
36
+ name: z.ZodString;
37
+ description: z.ZodString;
38
+ taLibName: z.ZodString;
39
+ signal: z.ZodNumber;
40
+ direction: z.ZodEnum<{
41
+ neutral: "neutral";
42
+ bullish: "bullish";
43
+ bearish: "bearish";
44
+ }>;
45
+ confidence: z.ZodNumber;
46
+ barIndex: z.ZodNumber;
47
+ }, z.core.$strict>>;
48
+ primaryPattern: z.ZodNullable<z.ZodObject<{
49
+ id: z.ZodString;
50
+ name: z.ZodString;
51
+ description: z.ZodString;
52
+ }, z.core.$strict>>;
53
+ recommendation: z.ZodEnum<{
54
+ buy: "buy";
55
+ sell: "sell";
56
+ hold: "hold";
57
+ }>;
58
+ recommendationConfidence: z.ZodNumber;
59
+ rationale: z.ZodString;
60
+ candlestickTradeSetup: z.ZodNullable<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
61
+ candlestickHighlight: z.ZodObject<{
62
+ summary: z.ZodString;
63
+ recommendation: z.ZodEnum<{
64
+ buy: "buy";
65
+ sell: "sell";
66
+ hold: "hold";
67
+ }>;
68
+ recommendationConfidence: z.ZodNumber;
69
+ primaryPattern: z.ZodNullable<z.ZodObject<{
70
+ id: z.ZodString;
71
+ name: z.ZodString;
72
+ description: z.ZodString;
73
+ direction: z.ZodOptional<z.ZodEnum<{
74
+ neutral: "neutral";
75
+ bullish: "bullish";
76
+ bearish: "bearish";
77
+ }>>;
78
+ }, z.core.$strict>>;
79
+ patternsFound: z.ZodArray<z.ZodObject<{
80
+ id: z.ZodString;
81
+ name: z.ZodString;
82
+ direction: z.ZodEnum<{
83
+ neutral: "neutral";
84
+ bullish: "bullish";
85
+ bearish: "bearish";
86
+ }>;
87
+ confidence: z.ZodNumber;
88
+ }, z.core.$strict>>;
89
+ focusBarIndex: z.ZodNumber;
90
+ previewBars: z.ZodArray<z.ZodObject<{
91
+ index: z.ZodNumber;
92
+ open: z.ZodNumber;
93
+ high: z.ZodNumber;
94
+ low: z.ZodNumber;
95
+ close: z.ZodNumber;
96
+ isFocus: z.ZodBoolean;
97
+ }, z.core.$strict>>;
98
+ previewBarCount: z.ZodNumber;
99
+ }, z.core.$strict>;
100
+ }, z.core.$strict>;
101
+ meta: z.ZodObject<{
102
+ barCount: z.ZodNumber;
103
+ title: z.ZodOptional<z.ZodString>;
104
+ ohlcvSummary: z.ZodOptional<z.ZodObject<{
105
+ barCount: z.ZodNumber;
106
+ timeStartSec: z.ZodNumber;
107
+ timeEndSec: z.ZodNumber;
108
+ low: z.ZodNumber;
109
+ high: z.ZodNumber;
110
+ lastClose: z.ZodNumber;
111
+ }, z.core.$strict>>;
112
+ ohlcvFingerprint: z.ZodOptional<z.ZodObject<{
113
+ version: z.ZodLiteral<1>;
114
+ barCount: z.ZodNumber;
115
+ timeStartSec: z.ZodNumber;
116
+ timeEndSec: z.ZodNumber;
117
+ low: z.ZodNumber;
118
+ high: z.ZodNumber;
119
+ lastClose: z.ZodNumber;
120
+ digest: z.ZodString;
121
+ }, z.core.$strict>>;
122
+ fetchContext: z.ZodOptional<z.ZodObject<{
123
+ interval: z.ZodNullable<z.ZodString>;
124
+ intervalSec: z.ZodNullable<z.ZodNumber>;
125
+ lookbackDays: z.ZodNullable<z.ZodNumber>;
126
+ lookbackHours: z.ZodNullable<z.ZodNumber>;
127
+ lookbackLabel: z.ZodNullable<z.ZodString>;
128
+ coin: z.ZodNullable<z.ZodString>;
129
+ declaredBarCount: z.ZodNullable<z.ZodNumber>;
130
+ windowExpectedBarCount: z.ZodNullable<z.ZodNumber>;
131
+ expectedBarCount: z.ZodNullable<z.ZodNumber>;
132
+ }, z.core.$strict>>;
133
+ windowExpectation: z.ZodOptional<z.ZodObject<{
134
+ interval: z.ZodNullable<z.ZodString>;
135
+ intervalSec: z.ZodNullable<z.ZodNumber>;
136
+ lookbackLabel: z.ZodNullable<z.ZodString>;
137
+ expectedBarCount: z.ZodNullable<z.ZodNumber>;
138
+ minBarCount: z.ZodNullable<z.ZodNumber>;
139
+ sources: z.ZodArray<z.ZodString>;
140
+ }, z.core.$strict>>;
141
+ liveMerge: z.ZodOptional<z.ZodObject<{
142
+ attempted: z.ZodBoolean;
143
+ merged: z.ZodBoolean;
144
+ livePrice: z.ZodOptional<z.ZodNumber>;
145
+ liveTickTimeMs: z.ZodOptional<z.ZodNumber>;
146
+ priorLastClose: z.ZodOptional<z.ZodNumber>;
147
+ barRolledOver: z.ZodOptional<z.ZodBoolean>;
148
+ skippedReason: z.ZodOptional<z.ZodString>;
149
+ }, z.core.$strict>>;
150
+ patternsScanned: z.ZodOptional<z.ZodNumber>;
151
+ dataPolicy: z.ZodString;
152
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
153
+ sessionBind: z.ZodOptional<z.ZodObject<{
154
+ ohlcvDigest: z.ZodString;
155
+ title: z.ZodOptional<z.ZodString>;
156
+ reuseInput: z.ZodObject<{
157
+ title: z.ZodOptional<z.ZodString>;
158
+ ohlcvDigest: z.ZodString;
159
+ }, z.core.$strict>;
160
+ }, z.core.$strict>>;
161
+ }, z.core.$strict>;
162
+ }, z.core.$strict>;
163
+ export declare function analyzeCandlestickPatterns(input: unknown): Promise<SdkResult<z.infer<typeof AnalyzeCandlestickPatternsOutputSchema>>>;
164
+ //# sourceMappingURL=candlestick-patterns-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candlestick-patterns-tools.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/analysis/candlestick-patterns-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAoB/C,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;mBAOjD,CAAC;AAeF,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2EzC,CAAC;AAmBX,wBAAsB,0BAA0B,CAC/C,KAAK,EAAE,OAAO,GACZ,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,sCAAsC,CAAC,CAAC,CAAC,CAqG5E"}
@@ -0,0 +1,205 @@
1
+ import { z } from 'zod';
2
+ import { buildPatternRecommendation, filterPatternIds, maxLookback, scanCandlestickPatterns, } from '../../candlestick-patterns/index.js';
3
+ import { normalizeCandleRow } from '../point-normalize.js';
4
+ import { buildCandlestickHighlight } from './candlestick-highlight.js';
5
+ import { buildCandlestickTradeSetup } from './trade-setups/candlestick-trade-setup.js';
6
+ import { buildOhlcvAnalysisMeta, OhlcvAnalysisMetaSchema } from './analysis-meta.js';
7
+ import { prepareOhlcvBarsForAnalysis } from './ohlcv-live-merge.js';
8
+ import { ohlcvToolRejectIfLineOnly } from './time-series-analyze-tools.js';
9
+ import { missingOhlcvBarsReason, OhlcvToolInputSchema, preprocessOhlcvToolInput, } from './ohlcv-input.js';
10
+ export const AnalyzeCandlestickPatternsInputSchema = z.preprocess(preprocessOhlcvToolInput, OhlcvToolInputSchema.extend({
11
+ patterns: z.array(z.string().trim().min(1).max(64)).optional(),
12
+ focusBar: z.union([z.literal('last'), z.number().int().min(0)]).optional(),
13
+ minConfidence: z.number().min(0).max(1).optional(),
14
+ }));
15
+ const patternHitSchema = z
16
+ .object({
17
+ id: z.string(),
18
+ name: z.string(),
19
+ description: z.string(),
20
+ taLibName: z.string(),
21
+ signal: z.number(),
22
+ direction: z.enum(['bullish', 'bearish', 'neutral']),
23
+ confidence: z.number(),
24
+ barIndex: z.number().int(),
25
+ })
26
+ .strict();
27
+ export const AnalyzeCandlestickPatternsOutputSchema = z
28
+ .object({
29
+ analysis: z
30
+ .object({
31
+ focusBarIndex: z.number().int(),
32
+ focusTime: z.union([
33
+ z.number(),
34
+ z.object({ year: z.number(), month: z.number(), day: z.number() }).strict(),
35
+ z.null(),
36
+ ]),
37
+ focusBar: z
38
+ .object({
39
+ open: z.number(),
40
+ high: z.number(),
41
+ low: z.number(),
42
+ close: z.number(),
43
+ })
44
+ .strict(),
45
+ patterns: z.array(patternHitSchema),
46
+ primaryPattern: z
47
+ .object({
48
+ id: z.string(),
49
+ name: z.string(),
50
+ description: z.string(),
51
+ })
52
+ .strict()
53
+ .nullable(),
54
+ recommendation: z.enum(['buy', 'sell', 'hold']),
55
+ recommendationConfidence: z.number(),
56
+ rationale: z.string(),
57
+ candlestickTradeSetup: z.object({}).catchall(z.unknown()).nullable(),
58
+ candlestickHighlight: z
59
+ .object({
60
+ summary: z.string(),
61
+ recommendation: z.enum(['buy', 'sell', 'hold']),
62
+ recommendationConfidence: z.number(),
63
+ primaryPattern: z
64
+ .object({
65
+ id: z.string(),
66
+ name: z.string(),
67
+ description: z.string(),
68
+ direction: z.enum(['bullish', 'bearish', 'neutral']).optional(),
69
+ })
70
+ .strict()
71
+ .nullable(),
72
+ patternsFound: z.array(z
73
+ .object({
74
+ id: z.string(),
75
+ name: z.string(),
76
+ direction: z.enum(['bullish', 'bearish', 'neutral']),
77
+ confidence: z.number(),
78
+ })
79
+ .strict()),
80
+ focusBarIndex: z.number().int(),
81
+ previewBars: z.array(z
82
+ .object({
83
+ index: z.number().int(),
84
+ open: z.number(),
85
+ high: z.number(),
86
+ low: z.number(),
87
+ close: z.number(),
88
+ isFocus: z.boolean(),
89
+ })
90
+ .strict()),
91
+ previewBarCount: z.number().int(),
92
+ })
93
+ .strict(),
94
+ })
95
+ .strict(),
96
+ meta: OhlcvAnalysisMetaSchema,
97
+ })
98
+ .strict();
99
+ function normalizedBarsFromInput(rawBars) {
100
+ const out = [];
101
+ for (const row of rawBars) {
102
+ const bar = normalizeCandleRow(row);
103
+ if (bar) {
104
+ out.push(bar);
105
+ }
106
+ }
107
+ return out;
108
+ }
109
+ export async function analyzeCandlestickPatterns(input) {
110
+ const parsed = AnalyzeCandlestickPatternsInputSchema.safeParse(input);
111
+ if (!parsed.success) {
112
+ return { ok: false, reason: parsed.error.message };
113
+ }
114
+ const lineReject = ohlcvToolRejectIfLineOnly(parsed.data);
115
+ if (lineReject) {
116
+ return lineReject;
117
+ }
118
+ const prepared = await prepareOhlcvBarsForAnalysis(parsed.data);
119
+ if (!prepared.ok) {
120
+ return prepared;
121
+ }
122
+ const { bars: rawBars, liveMerge, fingerprint } = prepared.data;
123
+ if (!rawBars.length) {
124
+ return { ok: false, reason: missingOhlcvBarsReason(parsed.data) };
125
+ }
126
+ const bars = normalizedBarsFromInput(rawBars);
127
+ if (!bars.length) {
128
+ return { ok: false, reason: 'No valid OHLCV bars after normalization.' };
129
+ }
130
+ const patternIds = filterPatternIds(parsed.data.patterns);
131
+ const minBars = maxLookback();
132
+ if (bars.length < minBars) {
133
+ return {
134
+ ok: false,
135
+ reason: `Need at least ${minBars} OHLCV bars for candlestick pattern lookback (got ${bars.length}).`,
136
+ };
137
+ }
138
+ let focusBarIndex = bars.length - 1;
139
+ if (parsed.data.focusBar !== undefined && parsed.data.focusBar !== 'last') {
140
+ focusBarIndex = parsed.data.focusBar;
141
+ }
142
+ if (focusBarIndex < 0 || focusBarIndex >= bars.length) {
143
+ return {
144
+ ok: false,
145
+ reason: `focusBar index ${focusBarIndex} out of range (0..${bars.length - 1}).`,
146
+ };
147
+ }
148
+ let hits = scanCandlestickPatterns(bars, {
149
+ patternIds: patternIds,
150
+ barIndex: focusBarIndex,
151
+ });
152
+ if (parsed.data.minConfidence != null) {
153
+ hits = hits.filter(h => h.confidence >= parsed.data.minConfidence);
154
+ }
155
+ const { recommendation, recommendationConfidence, rationale, primaryPattern } = buildPatternRecommendation(hits);
156
+ const focusBar = bars[focusBarIndex];
157
+ const lastClose = bars[bars.length - 1].close;
158
+ const candlestickTradeSetup = buildCandlestickTradeSetup({
159
+ primaryPattern,
160
+ patterns: hits,
161
+ recommendation,
162
+ recommendationConfidence,
163
+ focusBarIndex,
164
+ focusBarClose: focusBar.close,
165
+ lastClose,
166
+ });
167
+ const candlestickHighlight = buildCandlestickHighlight({
168
+ bars,
169
+ focusBarIndex,
170
+ primaryPattern,
171
+ patterns: hits,
172
+ recommendation,
173
+ recommendationConfidence,
174
+ });
175
+ return {
176
+ ok: true,
177
+ data: {
178
+ analysis: {
179
+ focusBarIndex,
180
+ focusTime: focusBar.time ?? null,
181
+ focusBar: {
182
+ open: focusBar.open,
183
+ high: focusBar.high,
184
+ low: focusBar.low,
185
+ close: focusBar.close,
186
+ },
187
+ patterns: hits,
188
+ primaryPattern,
189
+ recommendation,
190
+ recommendationConfidence,
191
+ rationale,
192
+ candlestickTradeSetup,
193
+ candlestickHighlight,
194
+ },
195
+ meta: buildOhlcvAnalysisMeta(rawBars, {
196
+ title: parsed.data.title,
197
+ toolResult: parsed.data.toolResult,
198
+ patternsScanned: patternIds?.length ?? 18,
199
+ liveMerge,
200
+ ohlcvFingerprint: fingerprint,
201
+ }),
202
+ },
203
+ };
204
+ }
205
+ //# sourceMappingURL=candlestick-patterns-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candlestick-patterns-tools.js","sourceRoot":"","sources":["../../../../src/core/chart/analysis/candlestick-patterns-tools.ts"],"names":[],"mappings":"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"}