jesse 3.3.3__tar.gz → 3.3.4__tar.gz

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 (1270) hide show
  1. {jesse-3.3.3/jesse.egg-info → jesse-3.3.4}/PKG-INFO +1 -1
  2. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/agent_rules.md +22 -4
  3. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/mcp_config.py +33 -1
  4. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/live_trading.md +6 -0
  5. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/session_analysis.md +4 -0
  6. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/server.py +3 -0
  7. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/backtest.py +1 -0
  8. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/monte_carlo.py +3 -0
  9. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/optimization.py +3 -0
  10. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/backtest.py +4 -1
  11. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/live.py +1 -0
  12. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/monte_carlo.py +7 -1
  13. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/optimization.py +6 -1
  14. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/session_analysis.py +30 -6
  15. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/significance_test.py +4 -1
  16. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/session_results.py +15 -8
  17. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/significance_test.py +2 -0
  18. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/live_history.py +2 -1
  19. jesse-3.3.4/jesse/version.py +1 -0
  20. {jesse-3.3.3 → jesse-3.3.4/jesse.egg-info}/PKG-INFO +1 -1
  21. {jesse-3.3.3 → jesse-3.3.4}/tests/test_dashboard_url.py +84 -0
  22. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_live_history.py +26 -0
  23. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_live_sessions.py +1 -0
  24. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_session_results.py +24 -0
  25. jesse-3.3.3/jesse/version.py +0 -1
  26. {jesse-3.3.3 → jesse-3.3.4}/LICENSE +0 -0
  27. {jesse-3.3.3 → jesse-3.3.4}/MANIFEST.in +0 -0
  28. {jesse-3.3.3 → jesse-3.3.4}/README.md +0 -0
  29. {jesse-3.3.3 → jesse-3.3.4}/jesse/__init__.py +0 -0
  30. {jesse-3.3.3 → jesse-3.3.4}/jesse/app.py +0 -0
  31. {jesse-3.3.3 → jesse-3.3.4}/jesse/candle_pipelines/__init__.py +0 -0
  32. {jesse-3.3.3 → jesse-3.3.4}/jesse/candle_pipelines/base_candles.py +0 -0
  33. {jesse-3.3.3 → jesse-3.3.4}/jesse/candle_pipelines/gaussian_noise.py +0 -0
  34. {jesse-3.3.3 → jesse-3.3.4}/jesse/candle_pipelines/gaussian_resampler.py +0 -0
  35. {jesse-3.3.3 → jesse-3.3.4}/jesse/candle_pipelines/moving_block_bootstrap.py +0 -0
  36. {jesse-3.3.3 → jesse-3.3.4}/jesse/cli.py +0 -0
  37. {jesse-3.3.3 → jesse-3.3.4}/jesse/config.py +0 -0
  38. {jesse-3.3.3 → jesse-3.3.4}/jesse/constants.py +0 -0
  39. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/__init__.py +0 -0
  40. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/ai_model_controller.py +0 -0
  41. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/analysis_controller.py +0 -0
  42. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/auth_controller.py +0 -0
  43. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/backtest_controller.py +0 -0
  44. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/candles_controller.py +0 -0
  45. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/closed_trade_controller.py +0 -0
  46. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/config_controller.py +0 -0
  47. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/data_provider_credentials_controller.py +0 -0
  48. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/e2e_controller.py +0 -0
  49. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/exchange_controller.py +0 -0
  50. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/file_controller.py +0 -0
  51. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/live_controller.py +0 -0
  52. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/lsp_controller.py +0 -0
  53. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/mcp_controller.py +0 -0
  54. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/monte_carlo_controller.py +0 -0
  55. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/notification_controller.py +0 -0
  56. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/optimization_controller.py +0 -0
  57. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/order_controller.py +0 -0
  58. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/period_templates_controller.py +0 -0
  59. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/project_files_controller.py +0 -0
  60. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/research_scripts_controller.py +0 -0
  61. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/route_templates_controller.py +0 -0
  62. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/session_results_controller.py +0 -0
  63. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/significance_test_controller.py +0 -0
  64. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/strategy_controller.py +0 -0
  65. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/system_controller.py +0 -0
  66. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/tabs_controller.py +0 -0
  67. {jesse-3.3.3 → jesse-3.3.4}/jesse/controllers/websocket_controller.py +0 -0
  68. {jesse-3.3.3 → jesse-3.3.4}/jesse/enums/__init__.py +0 -0
  69. {jesse-3.3.3 → jesse-3.3.4}/jesse/exceptions/__init__.py +0 -0
  70. {jesse-3.3.3 → jesse-3.3.4}/jesse/exchanges/__init__.py +0 -0
  71. {jesse-3.3.3 → jesse-3.3.4}/jesse/exchanges/exchange.py +0 -0
  72. {jesse-3.3.3 → jesse-3.3.4}/jesse/exchanges/sandbox/Sandbox.py +0 -0
  73. {jesse-3.3.3 → jesse-3.3.4}/jesse/exchanges/sandbox/__init__.py +0 -0
  74. {jesse-3.3.3 → jesse-3.3.4}/jesse/factories/__init__.py +0 -0
  75. {jesse-3.3.3 → jesse-3.3.4}/jesse/factories/candle_factory.py +0 -0
  76. {jesse-3.3.3 → jesse-3.3.4}/jesse/factories/order_factory.py +0 -0
  77. {jesse-3.3.3 → jesse-3.3.4}/jesse/helpers.py +0 -0
  78. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/__init__.py +0 -0
  79. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/acosc.py +0 -0
  80. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/ad.py +0 -0
  81. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/adosc.py +0 -0
  82. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/adx.py +0 -0
  83. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/adxr.py +0 -0
  84. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/alligator.py +0 -0
  85. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/alma.py +0 -0
  86. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/ao.py +0 -0
  87. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/apo.py +0 -0
  88. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/aroon.py +0 -0
  89. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/aroonosc.py +0 -0
  90. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/atr.py +0 -0
  91. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/avgprice.py +0 -0
  92. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/bandpass.py +0 -0
  93. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/beta.py +0 -0
  94. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/bollinger_bands.py +0 -0
  95. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/bollinger_bands_width.py +0 -0
  96. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/bop.py +0 -0
  97. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/cc.py +0 -0
  98. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/cci.py +0 -0
  99. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/cfo.py +0 -0
  100. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/cg.py +0 -0
  101. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/chande.py +0 -0
  102. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/chop.py +0 -0
  103. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/cksp.py +0 -0
  104. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/cmo.py +0 -0
  105. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/correl.py +0 -0
  106. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/correlation_cycle.py +0 -0
  107. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/cvi.py +0 -0
  108. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/cwma.py +0 -0
  109. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/damiani_volatmeter.py +0 -0
  110. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/dec_osc.py +0 -0
  111. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/decycler.py +0 -0
  112. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/dema.py +0 -0
  113. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/devstop.py +0 -0
  114. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/di.py +0 -0
  115. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/dm.py +0 -0
  116. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/donchian.py +0 -0
  117. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/dpo.py +0 -0
  118. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/dti.py +0 -0
  119. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/dx.py +0 -0
  120. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/edcf.py +0 -0
  121. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/efi.py +0 -0
  122. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/ema.py +0 -0
  123. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/emd.py +0 -0
  124. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/emv.py +0 -0
  125. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/epma.py +0 -0
  126. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/er.py +0 -0
  127. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/eri.py +0 -0
  128. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/fisher.py +0 -0
  129. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/fosc.py +0 -0
  130. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/frama.py +0 -0
  131. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/fwma.py +0 -0
  132. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/gatorosc.py +0 -0
  133. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/gauss.py +0 -0
  134. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/heikin_ashi_candles.py +0 -0
  135. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/high_pass.py +0 -0
  136. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/high_pass_2_pole.py +0 -0
  137. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/hma.py +0 -0
  138. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/hull_suit.py +0 -0
  139. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/hurst_exponent.py +0 -0
  140. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/hwma.py +0 -0
  141. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/ichimoku_cloud.py +0 -0
  142. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/ichimoku_cloud_seq.py +0 -0
  143. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/ift_rsi.py +0 -0
  144. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/itrend.py +0 -0
  145. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/jma.py +0 -0
  146. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/jsa.py +0 -0
  147. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/kama.py +0 -0
  148. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/kaufmanstop.py +0 -0
  149. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/kdj.py +0 -0
  150. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/keltner.py +0 -0
  151. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/kst.py +0 -0
  152. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/kurtosis.py +0 -0
  153. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/kvo.py +0 -0
  154. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/linearreg.py +0 -0
  155. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/linearreg_angle.py +0 -0
  156. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/linearreg_intercept.py +0 -0
  157. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/linearreg_slope.py +0 -0
  158. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/lrsi.py +0 -0
  159. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/ma.py +0 -0
  160. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/maaq.py +0 -0
  161. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/mab.py +0 -0
  162. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/macd.py +0 -0
  163. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/mama.py +0 -0
  164. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/marketfi.py +0 -0
  165. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/mass.py +0 -0
  166. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/mcginley_dynamic.py +0 -0
  167. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/mean_ad.py +0 -0
  168. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/median_ad.py +0 -0
  169. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/medprice.py +0 -0
  170. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/mfi.py +0 -0
  171. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/midpoint.py +0 -0
  172. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/midprice.py +0 -0
  173. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/minmax.py +0 -0
  174. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/mom.py +0 -0
  175. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/mwdx.py +0 -0
  176. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/natr.py +0 -0
  177. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/nma.py +0 -0
  178. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/nvi.py +0 -0
  179. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/obv.py +0 -0
  180. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/pfe.py +0 -0
  181. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/pivot.py +0 -0
  182. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/pma.py +0 -0
  183. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/ppo.py +0 -0
  184. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/pvi.py +0 -0
  185. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/pwma.py +0 -0
  186. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/qstick.py +0 -0
  187. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/reflex.py +0 -0
  188. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/rma.py +0 -0
  189. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/roc.py +0 -0
  190. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/rocp.py +0 -0
  191. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/rocr.py +0 -0
  192. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/rocr100.py +0 -0
  193. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/roofing.py +0 -0
  194. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/rsi.py +0 -0
  195. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/rsmk.py +0 -0
  196. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/rsx.py +0 -0
  197. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/rvi.py +0 -0
  198. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/safezonestop.py +0 -0
  199. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/sar.py +0 -0
  200. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/sinwma.py +0 -0
  201. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/skew.py +0 -0
  202. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/sma.py +0 -0
  203. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/smma.py +0 -0
  204. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/squeeze_momentum.py +0 -0
  205. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/sqwma.py +0 -0
  206. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/srsi.py +0 -0
  207. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/srwma.py +0 -0
  208. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/stc.py +0 -0
  209. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/stddev.py +0 -0
  210. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/stiffness.py +0 -0
  211. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/stochastic.py +0 -0
  212. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/stochf.py +0 -0
  213. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/supersmoother.py +0 -0
  214. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/supersmoother_3_pole.py +0 -0
  215. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/supertrend.py +0 -0
  216. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/support_resistance_with_break.py +0 -0
  217. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/swma.py +0 -0
  218. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/t3.py +0 -0
  219. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/tema.py +0 -0
  220. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/trange.py +0 -0
  221. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/trendflex.py +0 -0
  222. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/trima.py +0 -0
  223. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/trix.py +0 -0
  224. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/tsf.py +0 -0
  225. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/tsi.py +0 -0
  226. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/ttm_squeeze.py +0 -0
  227. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/ttm_trend.py +0 -0
  228. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/typprice.py +0 -0
  229. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/ui.py +0 -0
  230. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/ultosc.py +0 -0
  231. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/var.py +0 -0
  232. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/vi.py +0 -0
  233. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/vidya.py +0 -0
  234. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/vlma.py +0 -0
  235. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/volume.py +0 -0
  236. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/vosc.py +0 -0
  237. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/voss.py +0 -0
  238. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/vpci.py +0 -0
  239. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/vpt.py +0 -0
  240. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/vpwma.py +0 -0
  241. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/vwap.py +0 -0
  242. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/vwma.py +0 -0
  243. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/vwmacd.py +0 -0
  244. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/wad.py +0 -0
  245. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/waddah_attr_explosion.py +0 -0
  246. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/wclprice.py +0 -0
  247. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/wilders.py +0 -0
  248. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/willr.py +0 -0
  249. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/wma.py +0 -0
  250. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/wt.py +0 -0
  251. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/zlema.py +0 -0
  252. {jesse-3.3.3 → jesse-3.3.4}/jesse/indicators/zscore.py +0 -0
  253. {jesse-3.3.3 → jesse-3.3.4}/jesse/info.py +0 -0
  254. {jesse-3.3.3 → jesse-3.3.4}/jesse/libs/__init__.py +0 -0
  255. {jesse-3.3.3 → jesse-3.3.4}/jesse/libs/custom_json/__init__.py +0 -0
  256. {jesse-3.3.3 → jesse-3.3.4}/jesse/libs/dynamic_numpy_array/__init__.py +0 -0
  257. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/USAGE_LIMITS.md +0 -0
  258. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/__init__.py +0 -0
  259. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/agent_rules.py +0 -0
  260. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/auth.py +0 -0
  261. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/manager.py +0 -0
  262. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/__init__.py +0 -0
  263. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/backtest_management.md +0 -0
  264. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/backtest_metrics.md +0 -0
  265. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/candle.md +0 -0
  266. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/charts.md +0 -0
  267. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/configuration.md +0 -0
  268. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/credentials.md +0 -0
  269. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/indicator.md +0 -0
  270. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/monte_carlo.md +0 -0
  271. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/optimization.md +0 -0
  272. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/position_risk.md +0 -0
  273. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/research_scripts.md +0 -0
  274. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/significance_test.md +0 -0
  275. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/strategy.md +0 -0
  276. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/strategy_catalog.md +0 -0
  277. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/strategy_examples.md +0 -0
  278. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/resources/utilities.md +0 -0
  279. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/test.py +0 -0
  280. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/__init__.py +0 -0
  281. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/analysis.py +0 -0
  282. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/candles.py +0 -0
  283. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/config.py +0 -0
  284. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/credentials.py +0 -0
  285. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/general.py +0 -0
  286. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/indicator.py +0 -0
  287. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/live.py +0 -0
  288. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/offload.py +0 -0
  289. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/project_files.py +0 -0
  290. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/research_scripts.py +0 -0
  291. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/__init__.py +0 -0
  292. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/auth.py +0 -0
  293. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/candles.py +0 -0
  294. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/config.py +0 -0
  295. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/credentials.py +0 -0
  296. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/general.py +0 -0
  297. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/indicator.py +0 -0
  298. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/locks.py +0 -0
  299. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/project_files.py +0 -0
  300. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/session_config.py +0 -0
  301. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/strategy.py +0 -0
  302. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/services/strategy_catalog.py +0 -0
  303. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/strategy.py +0 -0
  304. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/strategy_catalog.py +0 -0
  305. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/tools/strict_arguments.py +0 -0
  306. {jesse-3.3.3 → jesse-3.3.4}/jesse/mcp/usage_limits.py +0 -0
  307. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/AiModel.py +0 -0
  308. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/BacktestSession.py +0 -0
  309. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/Candle.py +0 -0
  310. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/ClosedTrade.py +0 -0
  311. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/DataProviderCredentials.py +0 -0
  312. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/Exchange.py +0 -0
  313. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/ExchangeApiKeys.py +0 -0
  314. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/FuturesExchange.py +0 -0
  315. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/LiveChart.py +0 -0
  316. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/LiveEquitySnapshot.py +0 -0
  317. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/LiveSession.py +0 -0
  318. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/Log.py +0 -0
  319. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/MonteCarloSession.py +0 -0
  320. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/NotificationApiKeys.py +0 -0
  321. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/OpenTab.py +0 -0
  322. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/OptimizationSession.py +0 -0
  323. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/Option.py +0 -0
  324. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/Order.py +0 -0
  325. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/Orderbook.py +0 -0
  326. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/PeriodTemplate.py +0 -0
  327. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/Position.py +0 -0
  328. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/Route.py +0 -0
  329. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/RouteTemplate.py +0 -0
  330. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/SignificanceTestSession.py +0 -0
  331. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/SpotExchange.py +0 -0
  332. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/Ticker.py +0 -0
  333. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/Trade.py +0 -0
  334. {jesse-3.3.3 → jesse-3.3.4}/jesse/models/__init__.py +0 -0
  335. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/__init__.py +0 -0
  336. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/backtest_mode.py +0 -0
  337. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/data_provider.py +0 -0
  338. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/exchange_api_keys.py +0 -0
  339. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/__init__.py +0 -0
  340. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Apex/ApexOmniPerpetual.py +0 -0
  341. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Apex/ApexOmniPerpetualMain.py +0 -0
  342. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Apex/ApexOmniPerpetualTestnet.py +0 -0
  343. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Apex/__init__.py +0 -0
  344. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Apex/apex_omni_utils.py +0 -0
  345. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/__init__.py +0 -0
  346. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk-arm.dylib +0 -0
  347. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk-x86.dylib +0 -0
  348. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk.dylib +0 -0
  349. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk.so +0 -0
  350. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk-arm.py +0 -0
  351. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk-pc.py +0 -0
  352. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk-x86.py +0 -0
  353. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk.dll +0 -0
  354. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk.py +0 -0
  355. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Binance/BinanceMain.py +0 -0
  356. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Binance/BinancePerpetualFutures.py +0 -0
  357. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Binance/BinancePerpetualFuturesTestnet.py +0 -0
  358. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Binance/BinanceSpot.py +0 -0
  359. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Binance/BinanceUSSpot.py +0 -0
  360. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Binance/__init__.py +0 -0
  361. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Binance/binance_utils.py +0 -0
  362. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Bitfinex/BitfinexSpot.py +0 -0
  363. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Bitfinex/__init__.py +0 -0
  364. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Bitfinex/bitfinex_utils.py +0 -0
  365. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Bybit/BybitMain.py +0 -0
  366. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Bybit/BybitSpot.py +0 -0
  367. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Bybit/BybitSpotTestnet.py +0 -0
  368. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDCPerpetual.py +0 -0
  369. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDCPerpetualTestnet.py +0 -0
  370. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDTPerpetual.py +0 -0
  371. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDTPerpetualTestnet.py +0 -0
  372. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Bybit/__init__.py +0 -0
  373. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Bybit/bybit_utils.py +0 -0
  374. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Coinbase/CoinbaseSpot.py +0 -0
  375. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Coinbase/__init__.py +0 -0
  376. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Coinbase/coinbase_utils.py +0 -0
  377. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Gate/GateSpot.py +0 -0
  378. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Gate/GateSpotMain.py +0 -0
  379. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Gate/GateUSDTMain.py +0 -0
  380. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Gate/GateUSDTPerpetual.py +0 -0
  381. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Gate/__init__.py +0 -0
  382. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Gate/gate_utils.py +0 -0
  383. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Hyperliquid/HyperliquidPerpetual.py +0 -0
  384. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Hyperliquid/HyperliquidPerpetualMain.py +0 -0
  385. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Hyperliquid/HyperliquidPerpetualTestnet.py +0 -0
  386. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Hyperliquid/__init__.py +0 -0
  387. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Hyperliquid/hyperliquid_utils.py +0 -0
  388. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenPerpetual.py +0 -0
  389. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenPerpetualMain.py +0 -0
  390. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenPerpetualTestnet.py +0 -0
  391. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenSpot.py +0 -0
  392. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenSpotMain.py +0 -0
  393. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Kraken/__init__.py +0 -0
  394. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Kraken/kraken_utils.py +0 -0
  395. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinFuturesMain.py +0 -0
  396. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinSpot.py +0 -0
  397. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinSpotMain.py +0 -0
  398. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinUSDTPerpetual.py +0 -0
  399. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/KuCoin/__init__.py +0 -0
  400. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/KuCoin/kucoin_utils.py +0 -0
  401. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Lighter/LighterMain.py +0 -0
  402. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Lighter/LighterPerpetual.py +0 -0
  403. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Lighter/LighterPerpetualTestnet.py +0 -0
  404. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Lighter/__init__.py +0 -0
  405. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Lighter/lighter_utils.py +0 -0
  406. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/__init__.py +0 -0
  407. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-darwin-arm64.dylib +0 -0
  408. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-linux-amd64.so +0 -0
  409. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-linux-arm64.so +0 -0
  410. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-windows-amd64.dll +0 -0
  411. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/__init__.py +0 -0
  412. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/import_candles_mode/drivers/interface.py +0 -0
  413. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/monte_carlo_mode/MonteCarloRunner.py +0 -0
  414. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/monte_carlo_mode/__init__.py +0 -0
  415. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/notification_api_keys.py +0 -0
  416. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/optimize_mode/Optimize.py +0 -0
  417. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/optimize_mode/__init__.py +0 -0
  418. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/optimize_mode/fitness.py +0 -0
  419. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/significance_test_mode/SignificanceTestRunner.py +0 -0
  420. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/significance_test_mode/__init__.py +0 -0
  421. {jesse-3.3.3 → jesse-3.3.4}/jesse/modes/utils.py +0 -0
  422. {jesse-3.3.3 → jesse-3.3.4}/jesse/repositories/__init__.py +0 -0
  423. {jesse-3.3.3 → jesse-3.3.4}/jesse/repositories/candle_repository.py +0 -0
  424. {jesse-3.3.3 → jesse-3.3.4}/jesse/repositories/closed_trade_repository.py +0 -0
  425. {jesse-3.3.3 → jesse-3.3.4}/jesse/repositories/data_provider_credentials_repository.py +0 -0
  426. {jesse-3.3.3 → jesse-3.3.4}/jesse/repositories/live_chart_repository.py +0 -0
  427. {jesse-3.3.3 → jesse-3.3.4}/jesse/repositories/live_equity_repository.py +0 -0
  428. {jesse-3.3.3 → jesse-3.3.4}/jesse/repositories/live_session_repository.py +0 -0
  429. {jesse-3.3.3 → jesse-3.3.4}/jesse/repositories/open_tab_repository.py +0 -0
  430. {jesse-3.3.3 → jesse-3.3.4}/jesse/repositories/order_repository.py +0 -0
  431. {jesse-3.3.3 → jesse-3.3.4}/jesse/repositories/period_template_repository.py +0 -0
  432. {jesse-3.3.3 → jesse-3.3.4}/jesse/repositories/route_template_repository.py +0 -0
  433. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/__init__.py +0 -0
  434. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/backtest.py +0 -0
  435. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/candles.py +0 -0
  436. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/import_candles.py +0 -0
  437. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/ml.py +0 -0
  438. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/monte_carlo/__init__.py +0 -0
  439. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/monte_carlo/common.py +0 -0
  440. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/monte_carlo/monte_carlo_candles.py +0 -0
  441. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/monte_carlo/monte_carlo_trades.py +0 -0
  442. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/optimize/__init__.py +0 -0
  443. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/rule_significance_testing/__init__.py +0 -0
  444. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/rule_significance_testing/bootstrap.py +0 -0
  445. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/rule_significance_testing/common.py +0 -0
  446. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/rule_significance_testing/plots.py +0 -0
  447. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/rule_significance_testing/rule_significance.py +0 -0
  448. {jesse-3.3.3 → jesse-3.3.4}/jesse/research/rule_significance_testing/simulator.py +0 -0
  449. {jesse-3.3.3 → jesse-3.3.4}/jesse/routes/__init__.py +0 -0
  450. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/__init__.py +0 -0
  451. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/analysis_jobs.py +0 -0
  452. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/api.py +0 -0
  453. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/auth.py +0 -0
  454. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/broker.py +0 -0
  455. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/cache.py +0 -0
  456. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/candle_service.py +0 -0
  457. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/charts.py +0 -0
  458. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/closed_trade_service.py +0 -0
  459. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/color.py +0 -0
  460. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/coordination_client.py +0 -0
  461. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/coordination_runtime.py +0 -0
  462. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/custom_candle_import.py +0 -0
  463. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/dashboard_url.py +0 -0
  464. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/db.py +0 -0
  465. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/e2e_database.py +0 -0
  466. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/env.py +0 -0
  467. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/exchange_service.py +0 -0
  468. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/failure.py +0 -0
  469. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/file.py +0 -0
  470. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/general_info.py +0 -0
  471. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/historical_data/__init__.py +0 -0
  472. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/historical_data/contracts.py +0 -0
  473. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/historical_data/credential_validation.py +0 -0
  474. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/historical_data/errors.py +0 -0
  475. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/historical_data/massive_stocks.py +0 -0
  476. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/historical_data/providers/__init__.py +0 -0
  477. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/historical_data/registry.py +0 -0
  478. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/installer.py +0 -0
  479. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/jesse_trade.py +0 -0
  480. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/live_chart_service.py +0 -0
  481. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/logger.py +0 -0
  482. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/lsp.py +0 -0
  483. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/lsp_download.py +0 -0
  484. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/metrics.py +0 -0
  485. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/migrator.py +0 -0
  486. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/multiprocessing.py +0 -0
  487. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/nofollow_fs.py +0 -0
  488. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/notifier.py +0 -0
  489. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/order_service.py +0 -0
  490. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/position_service.py +0 -0
  491. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/process_tree.py +0 -0
  492. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/progress.py +0 -0
  493. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/progressbar.py +0 -0
  494. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/project_files.py +0 -0
  495. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/ray_runtime.py +0 -0
  496. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/redis.py +0 -0
  497. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/report.py +0 -0
  498. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/research_jobs.py +0 -0
  499. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/session_results.py +0 -0
  500. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/simulation_assumptions.py +0 -0
  501. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/strategy_handler/ExampleStrategy/__init__.py +0 -0
  502. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/strategy_handler/__init__.py +0 -0
  503. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/strategy_service.py +0 -0
  504. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/symbol_catalog.py +0 -0
  505. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/table.py +0 -0
  506. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/timescale.py +0 -0
  507. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/trading_hours.py +0 -0
  508. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/transformers.py +0 -0
  509. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/validators.py +0 -0
  510. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/web.py +0 -0
  511. {jesse-3.3.3 → jesse-3.3.4}/jesse/services/ws_manager.py +0 -0
  512. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/200.html +0 -0
  513. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/404.html +0 -0
  514. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/-QFIf-8y.js +0 -0
  515. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/08VXUWAP.js +0 -0
  516. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/0ONmXmPL.js +0 -0
  517. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/1OJtSa29.js +0 -0
  518. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/2IIEA8gg.js +0 -0
  519. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/2LnYzLCR.js +0 -0
  520. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/32DixAac.js +0 -0
  521. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/32_DOadk.js +0 -0
  522. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/35Gd1l6b.js +0 -0
  523. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/3KuTZQMl.js +0 -0
  524. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/3kHYRJ9h.js +0 -0
  525. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/43DmfD33.js +0 -0
  526. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/4G7pJPwS.js +0 -0
  527. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/5eyTD99u.js +0 -0
  528. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/6RTg0lbw.js +0 -0
  529. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/6d_DINYp.js +0 -0
  530. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/95zPyYrn.js +0 -0
  531. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/9S921ylM.js +0 -0
  532. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/9SuGUQxQ.js +0 -0
  533. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Agoi6m7K.js +0 -0
  534. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Aw9tIJeK.js +0 -0
  535. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B1E1h4Tw.js +0 -0
  536. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B26H0THF.js +0 -0
  537. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B2OO5cIa.js +0 -0
  538. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B2kYdT-M.js +0 -0
  539. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B3Tmza7s.js +0 -0
  540. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B40NqdSB.js +0 -0
  541. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B4CnDxnp.js +0 -0
  542. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B4t1Dpxy.js +0 -0
  543. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B5-_aFwp.js +0 -0
  544. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B55fAccV.js +0 -0
  545. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B5W6OYN7.js +0 -0
  546. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B5e22D9r.js +0 -0
  547. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B5ulf6Jh.js +0 -0
  548. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B68TUdTA.js +0 -0
  549. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B6UiomQj.js +0 -0
  550. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B6cMlEJd.js +0 -0
  551. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B6kMFxG1.js +0 -0
  552. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B8J7ngcE.js +0 -0
  553. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B8_t_EnB.js +0 -0
  554. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B9C647eN.js +0 -0
  555. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B9JPFI3C.js +0 -0
  556. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BA0WJkYB.js +0 -0
  557. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BB8QmrLY.js +0 -0
  558. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BBDov63s.js +0 -0
  559. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BBRdoL6s.js +0 -0
  560. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BC-YRYM7.js +0 -0
  561. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BD87b4dR.js +0 -0
  562. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BDNMzG2s.js +0 -0
  563. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BDy3RgVq.js +0 -0
  564. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BEEn4gHE.js +0 -0
  565. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BEtHBSE6.js +0 -0
  566. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BGFFIZX_.js +0 -0
  567. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BGRKdXyl.js +0 -0
  568. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BG_RkxjH.js +0 -0
  569. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BHVL4DrI.js +0 -0
  570. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BHWKrbxM.js +0 -0
  571. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BI3Y1cOA.js +0 -0
  572. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BIEGKqOo.js +0 -0
  573. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BIfCV4Ms.js +0 -0
  574. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BK0UMAm8.js +0 -0
  575. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BKD0O2_Q.js +0 -0
  576. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BKPLz4po.js +0 -0
  577. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BKcRqSit.js +0 -0
  578. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BKc_k7G-.js +0 -0
  579. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BKxtCVv1.js +0 -0
  580. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BLhvb9Y-.js +0 -0
  581. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BMrGqELX.js +0 -0
  582. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BN08jTvb.js +0 -0
  583. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BOINE9jH.js +0 -0
  584. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BOotOW0E.js +0 -0
  585. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BQYoEE-E.js +0 -0
  586. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BRSARzao.js +0 -0
  587. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BRgglKlM.js +0 -0
  588. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BSFCf8l4.js +0 -0
  589. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BSSBbjzH.js +0 -0
  590. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BSWPekZh.js +0 -0
  591. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BSkKS2hE.js +0 -0
  592. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BSt81nX4.js +0 -0
  593. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BTkZN-kY.js +0 -0
  594. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BUvLBkUT.js +0 -0
  595. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BWB_6_ms.js +0 -0
  596. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BWPQTe0t.js +0 -0
  597. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BXViO-2h.js +0 -0
  598. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BY-ye-pC.js +0 -0
  599. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BYdfvclj.js +0 -0
  600. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BYgofb2h.js +0 -0
  601. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BZ4HG2rr.js +0 -0
  602. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BZCL-v6S.js +0 -0
  603. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B_aZeMMh.js +0 -0
  604. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/B_tTalzw.js +0 -0
  605. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Ba7i2nA0.js +0 -0
  606. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BaTYBKiJ.js +0 -0
  607. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BacktestTabs.BijLvS3O.css +0 -0
  608. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BbAZZZ7p.js +0 -0
  609. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BbMWPibr.js +0 -0
  610. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Bc_sGQ0U.js +0 -0
  611. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BdwtN8NV.js +0 -0
  612. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BeGwcela.js +0 -0
  613. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Beywemwu.js +0 -0
  614. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Bf9kHOm6.js +0 -0
  615. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BfbyNUB7.js +0 -0
  616. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Bh7THQLS.js +0 -0
  617. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BhjAJghj.js +0 -0
  618. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BiX_3ZGn.js +0 -0
  619. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Bk0mhOc9.js +0 -0
  620. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Bkml37m-.js +0 -0
  621. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BkrtENUF.js +0 -0
  622. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Bm3Qr25_.js +0 -0
  623. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BmHiIK7b.js +0 -0
  624. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Bn7V5xpM.js +0 -0
  625. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BnjxR4X6.js +0 -0
  626. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Bnr-372i.js +0 -0
  627. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Bo9Dl7tn.js +0 -0
  628. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BoEzQrVW.js +0 -0
  629. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BoK4YRpC.js +0 -0
  630. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BolyLLo5.js +0 -0
  631. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Bp8RYZPa.js +0 -0
  632. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Bpxkdeyh.js +0 -0
  633. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BrD0VTWt.js +0 -0
  634. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Bri6UV-V.js +0 -0
  635. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Brm5PLIv.js +0 -0
  636. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BtUnaqJ2.js +0 -0
  637. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Btx78D0D.js +0 -0
  638. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Buu8uHmp.js +0 -0
  639. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BvzEE6Lm.js +0 -0
  640. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BwWrilGY.js +0 -0
  641. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BwjZg7Kw.js +0 -0
  642. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Bx1FflLF.js +0 -0
  643. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Bxkupp3x.js +0 -0
  644. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/By-L4I7w.js +0 -0
  645. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/By1ptfmn.js +0 -0
  646. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/ByqV7_Wn.js +0 -0
  647. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Bz4Y3fRF.js +0 -0
  648. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BzGFDp20.js +0 -0
  649. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BzMNZVT7.js +0 -0
  650. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/BzRncHX3.js +0 -0
  651. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/C-LZuMrd.js +0 -0
  652. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/C-y9NEjX.js +0 -0
  653. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/C1BzkLxr.js +0 -0
  654. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/C1IaaOeX.js +0 -0
  655. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/C25aelnV.js +0 -0
  656. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/C2u17_gr.js +0 -0
  657. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/C44XaChS.js +0 -0
  658. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/C531GsRP.js +0 -0
  659. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/C5_-GSwl.js +0 -0
  660. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/C7h46wYY.js +0 -0
  661. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/C8468PWD.js +0 -0
  662. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/C8Ef5oNN.js +0 -0
  663. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/C8r90Shi.js +0 -0
  664. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CAi0_s86.js +0 -0
  665. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CC2rA5mh.js +0 -0
  666. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CC3Dc58n.js +0 -0
  667. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CCQjLJmZ.js +0 -0
  668. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CCUjCBK5.js +0 -0
  669. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CDeNXAV0.js +0 -0
  670. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CErjEBUy.js +0 -0
  671. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CFAvbRBv.js +0 -0
  672. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CGx505Mf.js +0 -0
  673. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CHQ94UKr.js +0 -0
  674. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CIPQ_RoX.js +0 -0
  675. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CIpIsXEF.js +0 -0
  676. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CJ3rzSJv.js +0 -0
  677. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CKgYSDhl.js +0 -0
  678. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CNhAU_yo.js +0 -0
  679. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/COeFqPAd.js +0 -0
  680. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/COju__tp.js +0 -0
  681. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CQihkeLA.js +0 -0
  682. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CRal5XOA.js +0 -0
  683. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CRfGWb83.js +0 -0
  684. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CRyZUaTi.js +0 -0
  685. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CRzLMJPS.js +0 -0
  686. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CSDNxAMC.js +0 -0
  687. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CTweb8Dz.js +0 -0
  688. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CUKGrt9p.js +0 -0
  689. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CVaqCwHa.js +0 -0
  690. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CW42rLZD.js +0 -0
  691. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CWDvEqlu.js +0 -0
  692. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CXHoNUfW.js +0 -0
  693. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CXtmUGW6.js +0 -0
  694. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CXuuVbXE.js +0 -0
  695. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CYsHHI_Y.js +0 -0
  696. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CZLZPU9y.js +0 -0
  697. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CZiHAFz-.js +0 -0
  698. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CZoCCMwk.js +0 -0
  699. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CZsCp6_J.js +0 -0
  700. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/C_8bwKvT.js +0 -0
  701. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CaLoWpdj.js +0 -0
  702. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CaP30uTv.js +0 -0
  703. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Cb4Vim4T.js +0 -0
  704. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Cba4tSYP.js +0 -0
  705. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CcwsVR0C.js +0 -0
  706. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CdkpiU2Y.js +0 -0
  707. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Ce441ncu.js +0 -0
  708. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Ceyelwdz.js +0 -0
  709. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Cf9Ao90m.js +0 -0
  710. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CfSJPG6W.js +0 -0
  711. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Cfl0F_Ix.js +0 -0
  712. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CfvQ0GVj.js +0 -0
  713. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/ChJth8dy.js +0 -0
  714. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Cimd5fb3.js +0 -0
  715. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CircleProgressbar.yGgm_qEa.css +0 -0
  716. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CjM6HreG.js +0 -0
  717. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CjSZG47B.js +0 -0
  718. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CkJ3IzwM.js +0 -0
  719. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CkRax0sH.js +0 -0
  720. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Cl4KV_tk.js +0 -0
  721. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/ClA4MMiD.js +0 -0
  722. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/ClQpkZ_L.js +0 -0
  723. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/ClamHrr6.js +0 -0
  724. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Cm7r79vr.js +0 -0
  725. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Cn3B6b9t.js +0 -0
  726. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Cnfgdmp5.js +0 -0
  727. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CoKYUvtC.js +0 -0
  728. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CoMST1W2.js +0 -0
  729. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/ComPDbET.js +0 -0
  730. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CopQ2nXW.js +0 -0
  731. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CowLSvep.js +0 -0
  732. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CozAH55r.js +0 -0
  733. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CpL23Fmb.js +0 -0
  734. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CpzslTdj.js +0 -0
  735. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Cr7JoK-F.js +0 -0
  736. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CrVSgIkM.js +0 -0
  737. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CroGarxd.js +0 -0
  738. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Cs2F2srj.js +0 -0
  739. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CsQS60Ue.js +0 -0
  740. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CsvMBhTu.js +0 -0
  741. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Cu5M3efA.js +0 -0
  742. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CvrMaf9k.js +0 -0
  743. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CximN0RY.js +0 -0
  744. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CyaoTIaz.js +0 -0
  745. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/CytPyiJO.js +0 -0
  746. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Cz7rf_X8.js +0 -0
  747. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Czxs1Lr1.js +0 -0
  748. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D-9WcGfc.js +0 -0
  749. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D-kcNTYM.js +0 -0
  750. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D-oSqn_W.js +0 -0
  751. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D-ptJ9y-.js +0 -0
  752. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D05T4iGw.js +0 -0
  753. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D0mw5jGK.js +0 -0
  754. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D1Ny8MsW.js +0 -0
  755. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D2VuFIIh.js +0 -0
  756. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D2ymy_yS.js +0 -0
  757. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D3hlyOfw.js +0 -0
  758. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D4-rlkSU.js +0 -0
  759. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D5GhRiPb.js +0 -0
  760. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D5ROd09N.js +0 -0
  761. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D76weKjv.js +0 -0
  762. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D94iqX0Y.js +0 -0
  763. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D9y3cZ0N.js +0 -0
  764. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DBG_jd69.js +0 -0
  765. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DBrRvF6k.js +0 -0
  766. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DCMvuGdi.js +0 -0
  767. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DCQb3MpD.js +0 -0
  768. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DD3ehtKZ.js +0 -0
  769. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DDpmG2fV.js +0 -0
  770. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DDwmkQR0.js +0 -0
  771. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DE9FIzhz.js +0 -0
  772. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DEzv-VFF.js +0 -0
  773. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DFfOA-Hn.js +0 -0
  774. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DFfgcuRt.js +0 -0
  775. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DFwEHpFD.js +0 -0
  776. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DGnxmmBi.js +0 -0
  777. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DHBI_yxQ.js +0 -0
  778. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DHPkxzYJ.js +0 -0
  779. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DHpiXF5c.js +0 -0
  780. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DIMkf-bt.js +0 -0
  781. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DISqw1ZD.js +0 -0
  782. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DJW761E_.js +0 -0
  783. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DK0GhfdP.js +0 -0
  784. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DKCQ3kY7.js +0 -0
  785. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DLJdWeDZ.js +0 -0
  786. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DLMcThcU.js +0 -0
  787. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DLSXrvMj.js +0 -0
  788. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DMUM7wLl.js +0 -0
  789. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DMZUnbo6.js +0 -0
  790. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DMnEoi8l.js +0 -0
  791. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DNvWHFeH.js +0 -0
  792. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DOTl9kKz.js +0 -0
  793. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DOwBwxAc.js +0 -0
  794. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DPDvM2ct.js +0 -0
  795. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DPUBG1Sa.js +0 -0
  796. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DQ-b8cau.js +0 -0
  797. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DQPPsGdR.js +0 -0
  798. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DQU07tlD.js +0 -0
  799. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DQeMqN38.js +0 -0
  800. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DQwYfKfQ.js +0 -0
  801. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DRFjx7u4.js +0 -0
  802. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DRQTUBBy.js +0 -0
  803. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DSRkZAVd.js +0 -0
  804. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DSh2HLQt.js +0 -0
  805. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DSxVysNG.js +0 -0
  806. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DT7zqm-g.js +0 -0
  807. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DTj74zXo.js +0 -0
  808. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DUxEecLs.js +0 -0
  809. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DV17i1UV.js +0 -0
  810. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DV3o63ZY.js +0 -0
  811. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DVG0V4jx.js +0 -0
  812. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DVQuIRkW.js +0 -0
  813. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DWiCCCWX.js +0 -0
  814. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DX9HmIul.js +0 -0
  815. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DXG-b-1a.js +0 -0
  816. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DXgieCCJ.js +0 -0
  817. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DYRyhno9.js +0 -0
  818. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DYlRzrDj.js +0 -0
  819. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DZFCIeNp.js +0 -0
  820. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DZWexK4Q.js +0 -0
  821. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D_Lu-MrJ.js +0 -0
  822. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D_Qp7VhD.js +0 -0
  823. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D_Sm39l5.js +0 -0
  824. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/D_XYh1V1.js +0 -0
  825. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DajP-uHd.js +0 -0
  826. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DauUninz.js +0 -0
  827. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DaxD0QDq.js +0 -0
  828. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DaxQctDl.js +0 -0
  829. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Db4fpp4X.js +0 -0
  830. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DbInun42.js +0 -0
  831. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Dbw3yKNo.js +0 -0
  832. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Dc0bEyG5.js +0 -0
  833. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DdL9SqIa.js +0 -0
  834. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DdZzhEjZ.js +0 -0
  835. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Dduc7CfM.js +0 -0
  836. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/De2hgUGE.js +0 -0
  837. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DezsRK8O.js +0 -0
  838. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Df2xbC6M.js +0 -0
  839. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DfC9-Oas.js +0 -0
  840. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DgPtEepw.js +0 -0
  841. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DgfQ8roX.js +0 -0
  842. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DhmEMT88.js +0 -0
  843. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DiqhDmo8.js +0 -0
  844. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Diy88_8O.js +0 -0
  845. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DjAgHZrJ.js +0 -0
  846. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DkiUMXvE.js +0 -0
  847. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DkmNSMHY.js +0 -0
  848. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DkqhCAOL.js +0 -0
  849. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Dl3pNQBR.js +0 -0
  850. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DlxfLgwf.js +0 -0
  851. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DmFYnCc9.js +0 -0
  852. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DmHpPYUd.js +0 -0
  853. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DmNVVboZ.js +0 -0
  854. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Dmf8Y0ON.js +0 -0
  855. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Dmhjelgj.js +0 -0
  856. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DmnVzVBc.js +0 -0
  857. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DnKPLd6d.js +0 -0
  858. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DnToyrRv.js +0 -0
  859. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Do35n8oq.js +0 -0
  860. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DpFanUEy.js +0 -0
  861. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DpTtcPZs.js +0 -0
  862. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Dpc0kmwU.js +0 -0
  863. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Dq8dNoUO.js +0 -0
  864. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DqJzYO7Y.js +0 -0
  865. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DqXIJaHE.js +0 -0
  866. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DrH0SRf2.js +0 -0
  867. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Ds29f9ZA.js +0 -0
  868. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Ds9iBrvx.js +0 -0
  869. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Dt39crSB.js +0 -0
  870. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Dt9aNFbE.js +0 -0
  871. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DtX02f_x.js +0 -0
  872. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DtiqU4Ud.js +0 -0
  873. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DtqQGdEG.js +0 -0
  874. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Dw3KmPTn.js +0 -0
  875. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/DxSv1ANE.js +0 -0
  876. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Dxj8dFzq.js +0 -0
  877. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Dxp_UTNE.js +0 -0
  878. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Dyqgk9ID.js +0 -0
  879. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Dz8kfdTw.js +0 -0
  880. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/E1ZWqqYd.js +0 -0
  881. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/EJNjM-U5.js +0 -0
  882. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/EUqPIrTm.js +0 -0
  883. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/EkTgQK41.js +0 -0
  884. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Ffc-wpi1.js +0 -0
  885. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/FvmIjYaQ.js +0 -0
  886. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/G2qN-x4c.js +0 -0
  887. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/HSRijeU2.js +0 -0
  888. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/HVfn8BjE.js +0 -0
  889. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/HbO86Wj8.js +0 -0
  890. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Hsn-rFuA.js +0 -0
  891. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Hza2DNlp.js +0 -0
  892. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/ICt9zdTY.js +0 -0
  893. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/IKeJ43Xq.js +0 -0
  894. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/IXshMDJQ.js +0 -0
  895. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Inter-VariableFont_slnt_wght.Cl4AQHp9.ttf +0 -0
  896. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/J0iKGLDy.js +0 -0
  897. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/JVoApnG_.js +0 -0
  898. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/JjuYFqoF.js +0 -0
  899. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/JpkrmRYq.js +0 -0
  900. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/JxrqHDML.js +0 -0
  901. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/KgIFLbLy.js +0 -0
  902. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/L2jIIa9o.js +0 -0
  903. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/LO_BkMJ8.js +0 -0
  904. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/LiveTabs.rsQh4sN8.css +0 -0
  905. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/MajH5w9w.js +0 -0
  906. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/NEE52Syq.js +0 -0
  907. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/OwFc4i_0.js +0 -0
  908. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/ProgressStatusText.BQK0FaGL.css +0 -0
  909. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/QZfQtQzF.js +0 -0
  910. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/QoymgQo0.js +0 -0
  911. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/SOo6toE5.js +0 -0
  912. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/SRo1HocX.js +0 -0
  913. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/StrategiesSidebar.B-brLowb.css +0 -0
  914. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/TDhf81zB.js +0 -0
  915. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/TGksF7tq.js +0 -0
  916. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/TradeHistoryChart.Bs0aEPiQ.css +0 -0
  917. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/VbXTXTou.js +0 -0
  918. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/WF6tEroY.js +0 -0
  919. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/WFnVOHr3.js +0 -0
  920. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/WGRu4rDx.js +0 -0
  921. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/WZ5HE0X3.js +0 -0
  922. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Y2pL5qgw.js +0 -0
  923. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/YdFKNLmY.js +0 -0
  924. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/Z5eAx3Zn.js +0 -0
  925. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/_3zCpt1T.js +0 -0
  926. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/_7BVYBMY.js +0 -0
  927. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/_b8AQjYy.js +0 -0
  928. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/_id_.B7_JgFfA.css +0 -0
  929. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/_id_.Cb3WvDCW.css +0 -0
  930. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/_id_.j0n5fqTK.css +0 -0
  931. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/_z_6LxFK.js +0 -0
  932. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/aYLzAr85.js +0 -0
  933. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/axvP9fKg.js +0 -0
  934. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/b50CsBaQ.js +0 -0
  935. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/bBgN0Y0r.js +0 -0
  936. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/bTuwJoIa.js +0 -0
  937. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/bWuRL8Ho.js +0 -0
  938. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/codicon.Brq4_Ui5.ttf +0 -0
  939. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/css.worker-B_vtbeex.js +0 -0
  940. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/dhy_KTgc.js +0 -0
  941. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/eENhBx9Z.js +0 -0
  942. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/editor.BVn6Eoal.css +0 -0
  943. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/entry.DU6LnkKz.css +0 -0
  944. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/error-404.DjFB7pgG.css +0 -0
  945. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/error-500.BG9pmads.css +0 -0
  946. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/fmXr3nnJ.js +0 -0
  947. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/foABv0nJ.js +0 -0
  948. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/fwtXNY1n.js +0 -0
  949. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/gEsa7Idh.js +0 -0
  950. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/gp-XZpBa.js +0 -0
  951. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/hBpBmjHp.js +0 -0
  952. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/hdxB67uV.js +0 -0
  953. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/hePW80VL.js +0 -0
  954. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/html.worker-C0o__ma4.js +0 -0
  955. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/i0X4ZdIN.js +0 -0
  956. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/ibI1KQep.js +0 -0
  957. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/j5_BjaI1.js +0 -0
  958. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/json.worker-YsJGeJy7.js +0 -0
  959. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/jz3gp08z.js +0 -0
  960. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/lP7_xLqx.js +0 -0
  961. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/live.BHsUui2i.css +0 -0
  962. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/logo-dark.tKoQPl1k.svg +0 -0
  963. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/logo-light.CS4l4ePq.png +0 -0
  964. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/mnTiCSRt.js +0 -0
  965. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/monte-carlo.SA-Jni4T.css +0 -0
  966. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/nFMaYfgc.js +0 -0
  967. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/nr791fC2.js +0 -0
  968. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/nrRF7I-f.js +0 -0
  969. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/nuxt-monaco-editor/node_modules/monaco-editor/esm/metadata.d.ts +0 -0
  970. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/nuxt-monaco-editor/node_modules/monaco-editor/esm/metadata.js +0 -0
  971. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/oN7GSZWc.js +0 -0
  972. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/onAF5SnQ.js +0 -0
  973. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/oz_6vUea.js +0 -0
  974. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/paCCX65n.js +0 -0
  975. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/pages.2jeyaLEx.css +0 -0
  976. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/qpEHnBAB.js +0 -0
  977. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/sB-x3p7T.js +0 -0
  978. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/sBoK_t0W.js +0 -0
  979. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/sTdyETAW.js +0 -0
  980. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/significance-test.C3_9t58f.css +0 -0
  981. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/sltzmVWM.js +0 -0
  982. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/strategies.CZAezJwX.css +0 -0
  983. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/toggleHighContrast.BIHgMxab.css +0 -0
  984. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/ts.worker-BN13fC-t.js +0 -0
  985. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/u9_Y1g7K.js +0 -0
  986. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/uFMmaQO6.js +0 -0
  987. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/uHUmCDd7.js +0 -0
  988. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/uR-B8b7I.js +0 -0
  989. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/u_o9HDF2.js +0 -0
  990. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/uhdI0v04.js +0 -0
  991. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/v-e-WZYS.js +0 -0
  992. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/v5am0c2l.js +0 -0
  993. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/vC0cNbDJ.js +0 -0
  994. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/vc9XnyOF.js +0 -0
  995. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/wbypxrpR.js +0 -0
  996. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/xAOFb7cl.js +0 -0
  997. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/xQegFPeJ.js +0 -0
  998. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/xgNQ-z8D.js +0 -0
  999. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/xk2_4sNk.js +0 -0
  1000. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/y2WM_oP3.js +0 -0
  1001. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/y_x7m0Ik.js +0 -0
  1002. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/yjvMp0c6.js +0 -0
  1003. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/_nuxt/yqdSDlAg.js +0 -0
  1004. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/favicon.ico +0 -0
  1005. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/favicons/android-chrome-192x192.png +0 -0
  1006. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/favicons/android-chrome-512x512.png +0 -0
  1007. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/favicons/apple-touch-icon.png +0 -0
  1008. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/favicons/favicon-16x16.png +0 -0
  1009. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/favicons/favicon-32x32.png +0 -0
  1010. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/index.html +0 -0
  1011. {jesse-3.3.3 → jesse-3.3.4}/jesse/static/robots.txt +0 -0
  1012. {jesse-3.3.3 → jesse-3.3.4}/jesse/store/__init__.py +0 -0
  1013. {jesse-3.3.3 → jesse-3.3.4}/jesse/store/state_app.py +0 -0
  1014. {jesse-3.3.3 → jesse-3.3.4}/jesse/store/state_candles.py +0 -0
  1015. {jesse-3.3.3 → jesse-3.3.4}/jesse/store/state_closed_trades.py +0 -0
  1016. {jesse-3.3.3 → jesse-3.3.4}/jesse/store/state_exchanges.py +0 -0
  1017. {jesse-3.3.3 → jesse-3.3.4}/jesse/store/state_logs.py +0 -0
  1018. {jesse-3.3.3 → jesse-3.3.4}/jesse/store/state_orderbook.py +0 -0
  1019. {jesse-3.3.3 → jesse-3.3.4}/jesse/store/state_orders.py +0 -0
  1020. {jesse-3.3.3 → jesse-3.3.4}/jesse/store/state_positions.py +0 -0
  1021. {jesse-3.3.3 → jesse-3.3.4}/jesse/store/state_tickers.py +0 -0
  1022. {jesse-3.3.3 → jesse-3.3.4}/jesse/store/state_trades.py +0 -0
  1023. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/CanAddClosedTradeToStore/__init__.py +0 -0
  1024. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/RealStrategyRegression1/__init__.py +0 -0
  1025. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/RealStrategyRegression2/__init__.py +0 -0
  1026. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/RealStrategyRegression3/__init__.py +0 -0
  1027. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Strategy.py +0 -0
  1028. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test01/__init__.py +0 -0
  1029. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test02/__init__.py +0 -0
  1030. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test04/__init__.py +0 -0
  1031. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test05/__init__.py +0 -0
  1032. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test06/__init__.py +0 -0
  1033. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test07/__init__.py +0 -0
  1034. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test08/__init__.py +0 -0
  1035. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test09/__init__.py +0 -0
  1036. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test10/__init__.py +0 -0
  1037. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test11/__init__.py +0 -0
  1038. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test12/__init__.py +0 -0
  1039. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test13/__init__.py +0 -0
  1040. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test14/__init__.py +0 -0
  1041. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test15/__init__.py +0 -0
  1042. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test16/__init__.py +0 -0
  1043. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test17/__init__.py +0 -0
  1044. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test18/__init__.py +0 -0
  1045. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test19/__init__.py +0 -0
  1046. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test20/__init__.py +0 -0
  1047. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test21/__init__.py +0 -0
  1048. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test22/__init__.py +0 -0
  1049. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test23/__init__.py +0 -0
  1050. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test24/__init__.py +0 -0
  1051. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test25/__init__.py +0 -0
  1052. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test26/__init__.py +0 -0
  1053. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test27/__init__.py +0 -0
  1054. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test28/__init__.py +0 -0
  1055. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test29/__init__.py +0 -0
  1056. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test30/__init__.py +0 -0
  1057. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test31/__init__.py +0 -0
  1058. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test32/__init__.py +0 -0
  1059. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test33/__init__.py +0 -0
  1060. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test34/__init__.py +0 -0
  1061. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test35/__init__.py +0 -0
  1062. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test36/__init__.py +0 -0
  1063. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test37/__init__.py +0 -0
  1064. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test38/__init__.py +0 -0
  1065. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test39/__init__.py +0 -0
  1066. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test40/__init__.py +0 -0
  1067. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test41/__init__.py +0 -0
  1068. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test44/__init__.py +0 -0
  1069. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test45/__init__.py +0 -0
  1070. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test46/__init__.py +0 -0
  1071. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test47/__init__.py +0 -0
  1072. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/Test48/__init__.py +0 -0
  1073. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestAddHorizontalLineToCandleChart/__init__.py +0 -0
  1074. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestAddHorizontalLineToExtraChart/__init__.py +0 -0
  1075. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestAddLineToCandleChart/__init__.py +0 -0
  1076. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestAddLineToExtraChart/__init__.py +0 -0
  1077. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestAfterMethod/__init__.py +0 -0
  1078. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestAverageEntryPriceProperty/__init__.py +0 -0
  1079. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestBalanceAndFeeReductionWorksCorrectlyInSpotModeInBothBuyAndSellOrders/__init__.py +0 -0
  1080. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestBalancesAreHandledCorrectlyForCancellingOrdersInSpot/__init__.py +0 -0
  1081. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestBaseAndQuoteAssetProperties/__init__.py +0 -0
  1082. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestBeforeMethod/__init__.py +0 -0
  1083. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestBeforeTerminate/__init__.py +0 -0
  1084. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionLong1/__init__.py +0 -0
  1085. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionLong2/__init__.py +0 -0
  1086. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionShort1/__init__.py +0 -0
  1087. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionShort2/__init__.py +0 -0
  1088. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCanOpenANewPositionImmediatelyAfterClosingViaUpdatePosition/__init__.py +0 -0
  1089. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCanRunWithoutShorting/__init__.py +0 -0
  1090. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCanSubmitStopLossOrderWithSizeEqualToCurrentPositionQty/__init__.py +0 -0
  1091. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCanSubmitStopLossOrderWithSizeLessThanCurrentPositionQty/__init__.py +0 -0
  1092. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCanSubmitTakeProfitAndStopLossAtSameTimeInSpot/__init__.py +0 -0
  1093. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCanSubmitTakeProfitOrderWithSizeEqualToCurrentPositionQty/__init__.py +0 -0
  1094. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCanSubmitTakeProfitOrderWithSizeLessThanCurrentPositionQty/__init__.py +0 -0
  1095. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCannotSetStopLossOrderInGoLong/__init__.py +0 -0
  1096. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCannotSetTakeProfitOrderInGoLong/__init__.py +0 -0
  1097. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCannotSpendMoreThanAvailableBalance/__init__.py +0 -0
  1098. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCannotSubmitStopLossOrderWithSizeMoreThanCurrentPositionQty/__init__.py +0 -0
  1099. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCannotSubmitTakeProfitOrderWithSizeMoreThanCurrentPositionQty/__init__.py +0 -0
  1100. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCapitalPropertyRaisesNotImplementedError/__init__.py +0 -0
  1101. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestClosedTradeAfterExitingTrade/__init__.py +0 -0
  1102. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCommonWarmupStart/__init__.py +0 -0
  1103. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCurrentRouteIndex1/__init__.py +0 -0
  1104. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestCurrentRouteIndex2/__init__.py +0 -0
  1105. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestDailyBalanceStoresPortfolioValue/__init__.py +0 -0
  1106. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestDailyBalancesProperty/__init__.py +0 -0
  1107. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestDataRoutes1/__init__.py +0 -0
  1108. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestDataRoutes2/__init__.py +0 -0
  1109. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestDefaultHyperparameters/__init__.py +0 -0
  1110. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestDnaMethod/__init__.py +0 -0
  1111. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestEmptyStrategy/__init__.py +0 -0
  1112. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestEntryOrdersAndExitOrdersProperties/__init__.py +0 -0
  1113. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestExchangeTypeProperty1/__init__.py +0 -0
  1114. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestExchangeTypeProperty2/__init__.py +0 -0
  1115. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestFuturesExchangeAvailableMargin/__init__.py +0 -0
  1116. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestGeneratedDataRouteExecutionBTC/__init__.py +0 -0
  1117. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestGeneratedDataRouteExecutionETH/__init__.py +0 -0
  1118. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestHasLongAndShortEntryOrdersPropertiesInFilters/__init__.py +0 -0
  1119. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestHasLongEntryOrdersProperty/__init__.py +0 -0
  1120. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestHasShortEntryOrdersProperty/__init__.py +0 -0
  1121. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestIncreasedAndReducedCount/__init__.py +0 -0
  1122. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestIncreasingShortPosition/__init__.py +0 -0
  1123. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestInsufficientMargin1/__init__.py +0 -0
  1124. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestInsufficientMargin2/__init__.py +0 -0
  1125. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestInsufficientMargin3/__init__.py +0 -0
  1126. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestLeverageProperty1/__init__.py +0 -0
  1127. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestLeverageProperty2/__init__.py +0 -0
  1128. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestLiquidationInCrossModeForShortTrade/__init__.py +0 -0
  1129. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestLiquidationInIsolatedModeForLongTrade/__init__.py +0 -0
  1130. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestLiquidationInIsolatedModeForShortTrade/__init__.py +0 -0
  1131. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestLogMethodInStrategyClass/__init__.py +0 -0
  1132. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestLongLifecycleAcrossTradingModes/__init__.py +0 -0
  1133. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestLongSparseGap/__init__.py +0 -0
  1134. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestMarkPrice/__init__.py +0 -0
  1135. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestMarketOrderForLowPriceDifference/__init__.py +0 -0
  1136. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestMetrics1/__init__.py +0 -0
  1137. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestMultiInstrumentReplayA/__init__.py +0 -0
  1138. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestMultiInstrumentReplayB/__init__.py +0 -0
  1139. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestMultipleEntryOrdersUpdateEntryLongPositions/__init__.py +0 -0
  1140. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestMultipleEntryOrdersUpdateEntryShortPositions/__init__.py +0 -0
  1141. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestOnCancelMethod/__init__.py +0 -0
  1142. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestOnClosePosition/__init__.py +0 -0
  1143. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestOnRouteOpenPosition/__init__.py +0 -0
  1144. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestOnRouteOpenPosition2/__init__.py +0 -0
  1145. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestOptimizationIsolation/__init__.py +0 -0
  1146. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestOrderIsStopLossProperty/__init__.py +0 -0
  1147. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestOrderIsTakeProfitProperty/__init__.py +0 -0
  1148. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestOrderPriceCannotBeGreaterThanZero/__init__.py +0 -0
  1149. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestOrderValueProperty/__init__.py +0 -0
  1150. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestOrdersAreSortedBeforeExecution/__init__.py +0 -0
  1151. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestOversizedReduceOnlyExitAccounting/__init__.py +0 -0
  1152. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestPortfolioValue/__init__.py +0 -0
  1153. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestPortfolioValueIncludesPositionValueAndOpenOrdersValue/__init__.py +0 -0
  1154. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestPositionExchangeTypeProperty1/__init__.py +0 -0
  1155. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestPositionExchangeTypeProperty2/__init__.py +0 -0
  1156. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestPositionOpenIncreaseReduceCloseEventsInSpot/__init__.py +0 -0
  1157. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestPositionTotalCostProperty/__init__.py +0 -0
  1158. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestPositionWithLeverage1/__init__.py +0 -0
  1159. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestPositionWithLeverage2/__init__.py +0 -0
  1160. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestPositions/__init__.py +0 -0
  1161. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestProperBalanceHanldingInSpotAfterOrderCancellation/__init__.py +0 -0
  1162. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestProtectiveOrdersAcrossTradingModes/__init__.py +0 -0
  1163. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestReduceOnlyMarketOrders/__init__.py +0 -0
  1164. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestRuleSignificanceAlignment/__init__.py +0 -0
  1165. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestRuleSignificanceFailure/__init__.py +0 -0
  1166. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestShortInSpot/__init__.py +0 -0
  1167. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestSparseTimestampRoutes/__init__.py +0 -0
  1168. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestStopLossPriceIsReplacedWithMarketOrderForBetterPriceLongPosition/__init__.py +0 -0
  1169. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestStopLossPriceIsReplacedWithMarketOrderForBetterPriceShortPosition/__init__.py +0 -0
  1170. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestStopOrderShouldConsiderExecutedTakeProfitOrdersInSpot/__init__.py +0 -0
  1171. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestStrategyChartsReport/__init__.py +0 -0
  1172. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestStrategyVariablesAreResetBeforeOpeningNewPosition/__init__.py +0 -0
  1173. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestTakeProfitPriceIsReplacedWithMarketOrderWhenMoreConvenientLongPosition/__init__.py +0 -0
  1174. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestTakeProfitPriceIsReplacedWithMarketOrderWhenMoreConvenientShortPosition/__init__.py +0 -0
  1175. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestTerminate/__init__.py +0 -0
  1176. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestTradingHours/__init__.py +0 -0
  1177. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestUsageOfShouldCancelRaisesNotImplementedError/__init__.py +0 -0
  1178. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestVanillaStrategy/__init__.py +0 -0
  1179. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestWalletBalance/__init__.py +0 -0
  1180. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/TestWithoutCancelMethod/__init__.py +0 -0
  1181. {jesse-3.3.3 → jesse-3.3.4}/jesse/strategies/__init__.py +0 -0
  1182. {jesse-3.3.3 → jesse-3.3.4}/jesse/testing_utils.py +0 -0
  1183. {jesse-3.3.3 → jesse-3.3.4}/jesse/utils.py +0 -0
  1184. {jesse-3.3.3 → jesse-3.3.4}/jesse.egg-info/SOURCES.txt +0 -0
  1185. {jesse-3.3.3 → jesse-3.3.4}/jesse.egg-info/dependency_links.txt +0 -0
  1186. {jesse-3.3.3 → jesse-3.3.4}/jesse.egg-info/entry_points.txt +0 -0
  1187. {jesse-3.3.3 → jesse-3.3.4}/jesse.egg-info/requires.txt +0 -0
  1188. {jesse-3.3.3 → jesse-3.3.4}/jesse.egg-info/top_level.txt +0 -0
  1189. {jesse-3.3.3 → jesse-3.3.4}/requirements.txt +0 -0
  1190. {jesse-3.3.3 → jesse-3.3.4}/setup.cfg +0 -0
  1191. {jesse-3.3.3 → jesse-3.3.4}/setup.py +0 -0
  1192. {jesse-3.3.3 → jesse-3.3.4}/tests/__init__.py +0 -0
  1193. {jesse-3.3.3 → jesse-3.3.4}/tests/conftest.py +0 -0
  1194. {jesse-3.3.3 → jesse-3.3.4}/tests/data/__init__.py +0 -0
  1195. {jesse-3.3.3 → jesse-3.3.4}/tests/data/test_candles_0.py +0 -0
  1196. {jesse-3.3.3 → jesse-3.3.4}/tests/data/test_candles_1.py +0 -0
  1197. {jesse-3.3.3 → jesse-3.3.4}/tests/data/test_candles_indicators.py +0 -0
  1198. {jesse-3.3.3 → jesse-3.3.4}/tests/mcp_tool_adapters.py +0 -0
  1199. {jesse-3.3.3 → jesse-3.3.4}/tests/test_backtest.py +0 -0
  1200. {jesse-3.3.3 → jesse-3.3.4}/tests/test_backtest_session_chart_data.py +0 -0
  1201. {jesse-3.3.3 → jesse-3.3.4}/tests/test_backtest_session_chart_images.py +0 -0
  1202. {jesse-3.3.3 → jesse-3.3.4}/tests/test_broker.py +0 -0
  1203. {jesse-3.3.3 → jesse-3.3.4}/tests/test_candle_copy.py +0 -0
  1204. {jesse-3.3.3 → jesse-3.3.4}/tests/test_candle_service.py +0 -0
  1205. {jesse-3.3.3 → jesse-3.3.4}/tests/test_candle_timeframe_filter.py +0 -0
  1206. {jesse-3.3.3 → jesse-3.3.4}/tests/test_chart_data_serialization.py +0 -0
  1207. {jesse-3.3.3 → jesse-3.3.4}/tests/test_completed_trade.py +0 -0
  1208. {jesse-3.3.3 → jesse-3.3.4}/tests/test_config_safety.py +0 -0
  1209. {jesse-3.3.3 → jesse-3.3.4}/tests/test_conflicting_orders.py +0 -0
  1210. {jesse-3.3.3 → jesse-3.3.4}/tests/test_coordination.py +0 -0
  1211. {jesse-3.3.3 → jesse-3.3.4}/tests/test_coordination_helpers.py +0 -0
  1212. {jesse-3.3.3 → jesse-3.3.4}/tests/test_dynamic_numpy_array.py +0 -0
  1213. {jesse-3.3.3 → jesse-3.3.4}/tests/test_e2e_database.py +0 -0
  1214. {jesse-3.3.3 → jesse-3.3.4}/tests/test_exchange.py +0 -0
  1215. {jesse-3.3.3 → jesse-3.3.4}/tests/test_helpers.py +0 -0
  1216. {jesse-3.3.3 → jesse-3.3.4}/tests/test_historical_data_contracts.py +0 -0
  1217. {jesse-3.3.3 → jesse-3.3.4}/tests/test_import_and_backtest_request_boundaries.py +0 -0
  1218. {jesse-3.3.3 → jesse-3.3.4}/tests/test_import_candle_drivers.py +0 -0
  1219. {jesse-3.3.3 → jesse-3.3.4}/tests/test_import_candles.py +0 -0
  1220. {jesse-3.3.3 → jesse-3.3.4}/tests/test_import_candles_workflow.py +0 -0
  1221. {jesse-3.3.3 → jesse-3.3.4}/tests/test_indicators.py +0 -0
  1222. {jesse-3.3.3 → jesse-3.3.4}/tests/test_isolated_backtest.py +0 -0
  1223. {jesse-3.3.3 → jesse-3.3.4}/tests/test_jesse_trade_routes.py +0 -0
  1224. {jesse-3.3.3 → jesse-3.3.4}/tests/test_live_session_chart_data.py +0 -0
  1225. {jesse-3.3.3 → jesse-3.3.4}/tests/test_live_strategy_charts.py +0 -0
  1226. {jesse-3.3.3 → jesse-3.3.4}/tests/test_lsp.py +0 -0
  1227. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_analysis.py +0 -0
  1228. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_auth.py +0 -0
  1229. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_candle_management.py +0 -0
  1230. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_config.py +0 -0
  1231. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_credentials.py +0 -0
  1232. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_project_files.py +0 -0
  1233. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_proxy.py +0 -0
  1234. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_research_scripts.py +0 -0
  1235. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_resources.py +0 -0
  1236. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_session_analysis_integration.py +0 -0
  1237. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_strategy_catalog.py +0 -0
  1238. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_strategy_reports.py +0 -0
  1239. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_tool_offloading.py +0 -0
  1240. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_usage_limits.py +0 -0
  1241. {jesse-3.3.3 → jesse-3.3.4}/tests/test_mcp_worker_port.py +0 -0
  1242. {jesse-3.3.3 → jesse-3.3.4}/tests/test_metrics.py +0 -0
  1243. {jesse-3.3.3 → jesse-3.3.4}/tests/test_optimization_and_monte_carlo_session_failures.py +0 -0
  1244. {jesse-3.3.3 → jesse-3.3.4}/tests/test_order.py +0 -0
  1245. {jesse-3.3.3 → jesse-3.3.4}/tests/test_parent_strategy.py +0 -0
  1246. {jesse-3.3.3 → jesse-3.3.4}/tests/test_position.py +0 -0
  1247. {jesse-3.3.3 → jesse-3.3.4}/tests/test_price_gap_backtest.py +0 -0
  1248. {jesse-3.3.3 → jesse-3.3.4}/tests/test_progressbar.py +0 -0
  1249. {jesse-3.3.3 → jesse-3.3.4}/tests/test_ray_runtime.py +0 -0
  1250. {jesse-3.3.3 → jesse-3.3.4}/tests/test_real_strategy_regression.py +0 -0
  1251. {jesse-3.3.3 → jesse-3.3.4}/tests/test_research.py +0 -0
  1252. {jesse-3.3.3 → jesse-3.3.4}/tests/test_research_monte_carlo.py +0 -0
  1253. {jesse-3.3.3 → jesse-3.3.4}/tests/test_research_optimization_isolation.py +0 -0
  1254. {jesse-3.3.3 → jesse-3.3.4}/tests/test_research_session_lifecycle.py +0 -0
  1255. {jesse-3.3.3 → jesse-3.3.4}/tests/test_router.py +0 -0
  1256. {jesse-3.3.3 → jesse-3.3.4}/tests/test_rule_significance_testing.py +0 -0
  1257. {jesse-3.3.3 → jesse-3.3.4}/tests/test_session_scoped_configuration.py +0 -0
  1258. {jesse-3.3.3 → jesse-3.3.4}/tests/test_significance_test_session.py +0 -0
  1259. {jesse-3.3.3 → jesse-3.3.4}/tests/test_simulator_parity.py +0 -0
  1260. {jesse-3.3.3 → jesse-3.3.4}/tests/test_spot_mode.py +0 -0
  1261. {jesse-3.3.3 → jesse-3.3.4}/tests/test_state_candle.py +0 -0
  1262. {jesse-3.3.3 → jesse-3.3.4}/tests/test_state_exchanges.py +0 -0
  1263. {jesse-3.3.3 → jesse-3.3.4}/tests/test_state_logs.py +0 -0
  1264. {jesse-3.3.3 → jesse-3.3.4}/tests/test_state_orderbook.py +0 -0
  1265. {jesse-3.3.3 → jesse-3.3.4}/tests/test_state_orders.py +0 -0
  1266. {jesse-3.3.3 → jesse-3.3.4}/tests/test_state_ticker.py +0 -0
  1267. {jesse-3.3.3 → jesse-3.3.4}/tests/test_state_trades.py +0 -0
  1268. {jesse-3.3.3 → jesse-3.3.4}/tests/test_trading_hours.py +0 -0
  1269. {jesse-3.3.3 → jesse-3.3.4}/tests/test_trading_mode_contracts.py +0 -0
  1270. {jesse-3.3.3 → jesse-3.3.4}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jesse
3
- Version: 3.3.3
3
+ Version: 3.3.4
4
4
  Summary: A trading framework for cryptocurrencies
5
5
  Home-page: https://jesse.trade
6
6
  Author: Saleh Mir
@@ -193,27 +193,45 @@ Code Generation:
193
193
 
194
194
  ### CRITICAL: Always surface the dashboard URL in every reply that reports a session
195
195
 
196
- Every backtest, optimization, Monte Carlo, and rule significance test
197
- response from the MCP carries a `dashboard_url` field. This is the single highest-
198
- leverage piece of information you give the user — one click and they
196
+ Every backtest, optimization, Monte Carlo, rule significance test, and
197
+ live/paper session response from the MCP carries a `dashboard_url` field. This is
198
+ the single highest-leverage piece of information you give the user — one click and they
199
199
  see the equity curve, trades table, scenario charts, and everything
200
200
  else you can't fit in a chat reply.
201
201
 
202
+ Where to find it:
203
+ - Responses about one session (create/update draft, run, start, stop, cancel, notes,
204
+ `get_*_session`, and every `get_session_results` summary or section page): the
205
+ top-level `dashboard_url`.
206
+ - Session lists (`get_backtest_sessions`, `get_optimization_sessions`,
207
+ `get_monte_carlo_sessions`, `get_significance_test_sessions`, `get_live_sessions`):
208
+ each session row has its own `dashboard_url`.
209
+ - `get_live_trades` / `get_live_orders`: replace `{session_id}` in
210
+ `session_dashboard_url_template` with a record's `session_id`.
211
+
202
212
  You MUST include the dashboard URL whenever you mention a session in
203
213
  a user-facing reply. This is not optional. It applies to:
204
214
  - Final result summaries ("Backtest finished. Sharpe = …")
205
215
  - Interim progress updates ("Running, 40% done")
206
216
  - Error reports ("Stopped with exception …")
207
217
  - Iteration logs in optimization workflows
218
+ - Live/paper sessions you list, start, stop, or report on
208
219
  - The Markdown report file (see below)
209
220
 
221
+ Lead with the link, not the ID. A session ID is of no use to the user on its own:
222
+ when they ask for "the URL", "the link", or just "the one running on <exchange>",
223
+ the answer starts with the dashboard link of that session. If you only know the
224
+ session from an earlier reply, call the list tool or `get_session_results` again to
225
+ get its `dashboard_url` rather than answering with the ID.
226
+
210
227
  Format:
211
228
  - **Chat replies**: Markdown link using the exact `dashboard_url` value, e.g.
212
229
  `[View on dashboard](<dashboard_url>)`. Never rewrite its host or port;
213
230
  it already points at the address the user opens the dashboard from.
214
231
  - **Report file**: a `Dashboard:` line with the plain URL
215
232
  - If `dashboard_url` is empty in the response, say "dashboard URL
216
- unavailable" — do NOT silently omit the line.
233
+ unavailable" — do NOT silently omit the line, and do NOT build one from a
234
+ host or port you guessed.
217
235
 
218
236
  Do not wait for the user to ask for the URL. If you just received a
219
237
  response with a `dashboard_url`, the URL goes in your next reply.
@@ -8,7 +8,7 @@ are stored here to avoid circular imports.
8
8
  The worker entry point (jesse.mcp.server) sets these values before registering tools.
9
9
  """
10
10
 
11
- from typing import Optional
11
+ from typing import Any, Optional
12
12
  from urllib.parse import quote
13
13
 
14
14
  # Internal Jesse API URL. Tools call the API on this machine through it (loopback or the
@@ -83,3 +83,35 @@ def dashboard_url(category: str, session_id: str) -> str:
83
83
  if not path or not session_id:
84
84
  return ''
85
85
  return f"{DASHBOARD_URL}/#/{path}/{quote(str(session_id), safe='')}"
86
+
87
+
88
+ def with_dashboard_urls(category: str, sessions: Any) -> Any:
89
+ """
90
+ Return the rows of a session list with each one's `dashboard_url` added (from its `id`).
91
+
92
+ The user asks for "the link to the one running on X" far more often than for an ID, so
93
+ every list a tool returns carries the links ready to use. Anything that is not a list of
94
+ session rows is returned unchanged.
95
+ """
96
+ if not isinstance(sessions, list):
97
+ return sessions
98
+ return [
99
+ {**row, 'dashboard_url': dashboard_url(category, row.get('id'))} if isinstance(row, dict) else row
100
+ for row in sessions
101
+ ]
102
+
103
+
104
+ def dashboard_url_template(category: str) -> str:
105
+ """
106
+ The dashboard link of any session of a category, with a literal `{session_id}` placeholder.
107
+
108
+ For responses that name many sessions under a fixed size budget (the live history pages):
109
+ one constant-size field instead of a link per session. Session IDs are UUIDs, so they need
110
+ no escaping when they replace the placeholder.
111
+ """
112
+ if not DASHBOARD_URL:
113
+ return ''
114
+ path = _DASHBOARD_PATHS.get(category)
115
+ if not path:
116
+ return ''
117
+ return f"{DASHBOARD_URL}/#/{path}/{{session_id}}"
@@ -48,6 +48,12 @@ session's saved credential values redacted. For a period across sessions ("my tr
48
48
  days"), use `get_live_trades` / `get_live_orders` (Jesse's records, not the exchange account's
49
49
  history; live only unless `mode` says otherwise). See `jesse://session_analysis`.
50
50
 
51
+ Every one of these, like the tools above, returns the session's dashboard link: `dashboard_url` on
52
+ a single session's response and on each row of `get_live_sessions()`, and
53
+ `session_dashboard_url_template` (replace `{session_id}`) on the history pages. When the user asks
54
+ for a session, or for its URL, answer with that link first; the session ID alone does not help
55
+ them. Opening it loads the session into a dashboard Live tab.
56
+
51
57
  ## What stopping does
52
58
 
53
59
  Stopping asks the session process to end; a running session notices within about a second, one
@@ -38,6 +38,10 @@ get_session_results(session_type="backtest", session_id="<uuid>", section="trade
38
38
  find session IDs. `get_backtest_session` and the other `get_*_session` tools return the
39
39
  raw dashboard record, including every trade and curve point; prefer
40
40
  `get_session_results` for reading results.
41
+ - Every successful `get_session_results` response (summary or section) has `dashboard_url`,
42
+ and every row of the list tools has its own. Give the user that link whenever you mention
43
+ a session, and lead with it when they ask for a session or its URL; the ID alone does not
44
+ help them.
41
45
 
42
46
  Live and paper sessions:
43
47
  - Readable only when the live trading plugin is installed and enabled
@@ -57,6 +57,9 @@ INSTRUCTIONS = (
57
57
  "Read stored session results, including live/paper sessions, with get_session_results "
58
58
  "(summary first); Jesse's recorded live/paper trades and orders of a date window across "
59
59
  "sessions with get_live_trades / get_live_orders (not the exchange account's history). "
60
+ "Whenever you mention a session to the user, or they ask for its URL or link, give the "
61
+ "`dashboard_url` from the tool response as a link, before any other detail; a session ID "
62
+ "alone is of no use to them. "
60
63
  "To analyze, compare, or chart results, use run_analysis, which runs in a "
61
64
  "temporary workspace and never needs research_scripts/; see jesse://session_analysis."
62
65
  )
@@ -392,6 +392,7 @@ def register_backtest_tools(mcp):
392
392
  "finish_date": "YYYY-MM-DD",
393
393
  "total_trades": int,
394
394
  "net_profit": float,
395
+ "dashboard_url": "<dashboard origin>/#/backtest/uuid-string",
395
396
  ...
396
397
  }
397
398
  ],
@@ -274,6 +274,9 @@ def register_monte_carlo_tools(mcp):
274
274
  title_search: Case-insensitive substring on title.
275
275
  status_filter: One of "draft", "running", "finished", "stopped", "terminated".
276
276
  date_filter: One of "7_days", "30_days", "90_days".
277
+
278
+ Each session row has "dashboard_url", its page on the dashboard: give the user that
279
+ link, not the bare ID.
277
280
  """
278
281
  return await run_blocking(
279
282
  get_monte_carlo_sessions_service,
@@ -225,6 +225,9 @@ def register_optimization_tools(mcp):
225
225
  title_search: case-insensitive title substring.
226
226
  status_filter: "running" | "paused" | "finished" | "stopped" | "terminated".
227
227
  date_filter: "today" | "this_week" | "this_month" | "this_year".
228
+
229
+ Each session row has "dashboard_url", its page on the dashboard: give the user that
230
+ link, not the bare ID.
228
231
  """
229
232
  return await run_blocking(
230
233
  get_optimization_sessions_service,
@@ -452,6 +452,7 @@ def update_backtest_draft_service(backtest_id: str, state: str) -> dict:
452
452
  'status': 'success',
453
453
  'backtest_id': backtest_id,
454
454
  'draft_state': state_dict,
455
+ 'dashboard_url': mcp_config.dashboard_url('backtest', backtest_id),
455
456
  'message': 'Backtest draft updated successfully'
456
457
  }
457
458
  elif response.status_code == 401:
@@ -541,6 +542,7 @@ def update_backtest_notes_service(
541
542
  'description': description,
542
543
  'strategy_code_keys': list(parsed_strategy_codes.keys()) if parsed_strategy_codes else [],
543
544
  'strategy_codes_captured': len(parsed_strategy_codes) if parsed_strategy_codes else 0,
545
+ 'dashboard_url': mcp_config.dashboard_url('backtest', session_id),
544
546
  'message': 'Backtest session notes updated successfully'
545
547
  }
546
548
 
@@ -700,7 +702,7 @@ def get_backtest_sessions_service(
700
702
  data = response.json()
701
703
  return {
702
704
  'status': 'success',
703
- 'sessions': data.get('sessions', []),
705
+ 'sessions': mcp_config.with_dashboard_urls('backtest', data.get('sessions', [])),
704
706
  'count': data.get('count', 0),
705
707
  'message': f'Retrieved {data.get("count", 0)} backtest session(s)'
706
708
  }
@@ -890,6 +892,7 @@ def cancel_backtest_service(session_id: str) -> dict:
890
892
  return {
891
893
  'status': 'success',
892
894
  'session_id': session_id,
895
+ 'dashboard_url': mcp_config.dashboard_url('backtest', session_id),
893
896
  'message': f'Backtest {session_id} cancellation requested'
894
897
  }
895
898
  elif response.status_code == 401:
@@ -807,6 +807,7 @@ def update_live_session_notes_service(session_id: str, title: Optional[str] = No
807
807
  'session_id': session_id,
808
808
  'title': title,
809
809
  'description': description,
810
+ 'dashboard_url': mcp_config.dashboard_url('live', session_id),
810
811
  'message': 'Session notes updated.',
811
812
  }
812
813
 
@@ -330,6 +330,7 @@ def update_monte_carlo_draft_service(session_id: str, state: str) -> dict:
330
330
  'status': 'success',
331
331
  'session_id': session_id,
332
332
  'draft_state': state_dict,
333
+ 'dashboard_url': mcp_config.dashboard_url('monte_carlo', session_id),
333
334
  'message': 'Monte Carlo draft updated successfully',
334
335
  }
335
336
  if response.status_code == 401:
@@ -371,6 +372,7 @@ def update_monte_carlo_notes_service(
371
372
  'description': description,
372
373
  'strategy_code_keys': list(parsed_codes.keys()) if parsed_codes else [],
373
374
  'strategy_codes_captured': len(parsed_codes) if parsed_codes else 0,
375
+ 'dashboard_url': mcp_config.dashboard_url('monte_carlo', session_id),
374
376
  'message': 'Monte Carlo session notes updated successfully',
375
377
  }
376
378
  return result
@@ -448,7 +450,7 @@ def get_monte_carlo_sessions_service(
448
450
  data = response.json()
449
451
  return {
450
452
  'status': 'success',
451
- 'sessions': data.get('sessions', []),
453
+ 'sessions': mcp_config.with_dashboard_urls('monte_carlo', data.get('sessions', [])),
452
454
  'count': data.get('count', 0),
453
455
  'message': f'Retrieved {data.get("count", 0)} Monte Carlo session(s)',
454
456
  }
@@ -480,6 +482,7 @@ def get_monte_carlo_equity_curves_service(session_id: str) -> dict:
480
482
  'session_id': session_id,
481
483
  'trades': data.get('trades'),
482
484
  'candles': data.get('candles'),
485
+ 'dashboard_url': mcp_config.dashboard_url('monte_carlo', session_id),
483
486
  'message': 'Equity curves retrieved successfully',
484
487
  }
485
488
  if response.status_code == 404:
@@ -511,6 +514,7 @@ def get_monte_carlo_logs_service(session_id: str) -> dict:
511
514
  'status': 'success',
512
515
  'session_id': session_id,
513
516
  'logs': data.get('logs', ''),
517
+ 'dashboard_url': mcp_config.dashboard_url('monte_carlo', session_id),
514
518
  'message': 'Logs retrieved successfully',
515
519
  }
516
520
  if response.status_code == 404:
@@ -687,6 +691,7 @@ def cancel_monte_carlo_service(session_id: str) -> dict:
687
691
  )
688
692
  if response.status_code == 202:
689
693
  return {'status': 'success', 'session_id': session_id,
694
+ 'dashboard_url': mcp_config.dashboard_url('monte_carlo', session_id),
690
695
  'message': f'Monte Carlo {session_id} cancellation requested'}
691
696
  if response.status_code == 401:
692
697
  return {'status': 'error', 'message': 'Authentication failed'}
@@ -712,6 +717,7 @@ def terminate_monte_carlo_service(session_id: str) -> dict:
712
717
  )
713
718
  if response.status_code == 202:
714
719
  return {'status': 'success', 'session_id': session_id,
720
+ 'dashboard_url': mcp_config.dashboard_url('monte_carlo', session_id),
715
721
  'message': f'Monte Carlo {session_id} terminated'}
716
722
  if response.status_code == 401:
717
723
  return {'status': 'error', 'message': 'Authentication failed'}
@@ -330,6 +330,7 @@ def update_optimization_draft_service(session_id: str, state: str) -> dict:
330
330
  'status': 'success',
331
331
  'session_id': session_id,
332
332
  'draft_state': state_dict,
333
+ 'dashboard_url': mcp_config.dashboard_url('optimization', session_id),
333
334
  'message': 'Optimization draft updated successfully',
334
335
  }
335
336
  if response.status_code == 401:
@@ -371,6 +372,7 @@ def update_optimization_notes_service(
371
372
  'description': description,
372
373
  'strategy_code_keys': list(parsed_codes.keys()) if parsed_codes else [],
373
374
  'strategy_codes_captured': len(parsed_codes) if parsed_codes else 0,
375
+ 'dashboard_url': mcp_config.dashboard_url('optimization', session_id),
374
376
  'message': 'Optimization session notes updated successfully',
375
377
  }
376
378
  return result
@@ -448,7 +450,7 @@ def get_optimization_sessions_service(
448
450
  data = response.json()
449
451
  return {
450
452
  'status': 'success',
451
- 'sessions': data.get('sessions', []),
453
+ 'sessions': mcp_config.with_dashboard_urls('optimization', data.get('sessions', [])),
452
454
  'count': data.get('count', 0),
453
455
  'message': f'Retrieved {data.get("count", 0)} optimization session(s)',
454
456
  }
@@ -479,6 +481,7 @@ def get_optimization_logs_service(session_id: str) -> dict:
479
481
  'status': 'success',
480
482
  'session_id': session_id,
481
483
  'logs': data.get('logs', ''),
484
+ 'dashboard_url': mcp_config.dashboard_url('optimization', session_id),
482
485
  'message': 'Logs retrieved successfully',
483
486
  }
484
487
  if response.status_code == 404:
@@ -687,6 +690,7 @@ def cancel_optimization_service(session_id: str) -> dict:
687
690
  )
688
691
  if response.status_code == 202:
689
692
  return {'status': 'success', 'session_id': session_id,
693
+ 'dashboard_url': mcp_config.dashboard_url('optimization', session_id),
690
694
  'message': f'Optimization {session_id} cancellation requested'}
691
695
  if response.status_code == 401:
692
696
  return {'status': 'error', 'message': 'Authentication failed'}
@@ -712,6 +716,7 @@ def terminate_optimization_service(session_id: str) -> dict:
712
716
  )
713
717
  if response.status_code == 202:
714
718
  return {'status': 'success', 'session_id': session_id,
719
+ 'dashboard_url': mcp_config.dashboard_url('optimization', session_id),
715
720
  'message': f'Optimization {session_id} terminated'}
716
721
  if response.status_code == 401:
717
722
  return {'status': 'error', 'message': 'Authentication failed'}
@@ -7,6 +7,7 @@ running Jesse, so these tools work the same when the assistant runs on another c
7
7
  """
8
8
  from typing import Any, List, Optional
9
9
 
10
+ import jesse.mcp.mcp_config as mcp_config
10
11
  from .project_files import CANCEL_TIMEOUT_SECONDS, REQUEST_TIMEOUT_SECONDS, TRANSFER_TIMEOUT_SECONDS, _call
11
12
 
12
13
  # Result pages are bounded by the API (128 KiB of JSON), but a large Monte Carlo record is
@@ -14,47 +15,70 @@ from .project_files import CANCEL_TIMEOUT_SECONDS, REQUEST_TIMEOUT_SECONDS, TRAN
14
15
  RESULTS_TIMEOUT_SECONDS = 60
15
16
 
16
17
 
18
+ def _succeeded(result: dict) -> bool:
19
+ return result.get('status') == 'success'
20
+
21
+
17
22
  def get_session_results_service(session_type: str, session_id: str, section: str = 'summary',
18
23
  offset: int = 0, limit: int = 50) -> dict:
19
- return _call(
24
+ result = _call(
20
25
  'get_session_results', '/session-results/get',
21
26
  {'session_type': session_type, 'session_id': session_id, 'section': section, 'offset': offset, 'limit': limit},
22
27
  RESULTS_TIMEOUT_SECONDS,
23
28
  )
29
+ if _succeeded(result):
30
+ # From the type and ID the API echoes back (validated and normalized), so every summary and
31
+ # section page of an existing session carries its link. Page budgets cover the items only.
32
+ result['dashboard_url'] = mcp_config.dashboard_url(result.get('session_type'), result.get('session_id'))
33
+ return result
24
34
 
25
35
 
26
36
  def get_live_sessions_service(limit: int = 20, offset: int = 0, status_filter: Optional[str] = None,
27
37
  mode_filter: Optional[str] = None, title_search: Optional[str] = None) -> dict:
28
- return _call(
38
+ result = _call(
29
39
  'get_live_sessions', '/session-results/live-sessions',
30
40
  {'limit': limit, 'offset': offset, 'status_filter': status_filter, 'mode_filter': mode_filter,
31
41
  'title_search': title_search},
32
42
  RESULTS_TIMEOUT_SECONDS,
33
43
  )
44
+ if _succeeded(result):
45
+ result['sessions'] = mcp_config.with_dashboard_urls('live', result.get('sessions'))
46
+ return result
47
+
48
+
49
+ def _with_session_link_template(result: dict) -> dict:
50
+ """
51
+ Add the live session link template to a history page. A page is cut to a byte budget on the
52
+ Jesse host (live_history.MAX_RESPONSE_BYTES), so it gets this one constant-size field, which
53
+ fits the budget's transport allowance, rather than a link per session.
54
+ """
55
+ if _succeeded(result):
56
+ result['session_dashboard_url_template'] = mcp_config.dashboard_url_template('live')
57
+ return result
34
58
 
35
59
 
36
60
  def get_live_trades_service(start: Any = None, end: Any = None, recent_days: Any = None, mode: Any = 'live',
37
61
  exchange: Any = None, symbol: Any = None, session_id: Any = None,
38
62
  order: Any = 'newest_first', cursor: Any = None, limit: Any = 100) -> dict:
39
- return _call(
63
+ return _with_session_link_template(_call(
40
64
  'get_live_trades', '/session-results/live-trades',
41
65
  {'start': start, 'end': end, 'recent_days': recent_days, 'mode': mode, 'exchange': exchange,
42
66
  'symbol': symbol, 'session_id': session_id, 'order': order, 'cursor': cursor, 'limit': limit},
43
67
  RESULTS_TIMEOUT_SECONDS,
44
- )
68
+ ))
45
69
 
46
70
 
47
71
  def get_live_orders_service(start: Any = None, end: Any = None, recent_days: Any = None, mode: Any = 'live',
48
72
  exchange: Any = None, symbol: Any = None, session_id: Any = None,
49
73
  time_field: Any = 'created_at', status: Any = None, order: Any = 'newest_first',
50
74
  cursor: Any = None, limit: Any = 100) -> dict:
51
- return _call(
75
+ return _with_session_link_template(_call(
52
76
  'get_live_orders', '/session-results/live-orders',
53
77
  {'start': start, 'end': end, 'recent_days': recent_days, 'mode': mode, 'exchange': exchange,
54
78
  'symbol': symbol, 'session_id': session_id, 'time_field': time_field, 'status': status, 'order': order,
55
79
  'cursor': cursor, 'limit': limit},
56
80
  RESULTS_TIMEOUT_SECONDS,
57
- )
81
+ ))
58
82
 
59
83
 
60
84
  def run_analysis_service(code: str, inputs: Optional[List[dict]] = None, timeout_minutes: int = 5) -> dict:
@@ -258,6 +258,7 @@ def update_significance_test_draft_service(session_id: str, state: str) -> dict:
258
258
  'status': 'success',
259
259
  'session_id': session_id,
260
260
  'draft_state': state_dict,
261
+ 'dashboard_url': mcp_config.dashboard_url('significance_test', session_id),
261
262
  'message': 'Significance test draft updated successfully',
262
263
  }
263
264
  if response.status_code == 401:
@@ -299,6 +300,7 @@ def update_significance_test_notes_service(
299
300
  'description': description,
300
301
  'strategy_code_keys': list(parsed_codes.keys()) if parsed_codes else [],
301
302
  'strategy_codes_captured': len(parsed_codes) if parsed_codes else 0,
303
+ 'dashboard_url': mcp_config.dashboard_url('significance_test', session_id),
302
304
  'message': 'Significance test session notes updated successfully',
303
305
  }
304
306
  return result
@@ -376,7 +378,7 @@ def get_significance_test_sessions_service(
376
378
  data = response.json()
377
379
  return {
378
380
  'status': 'success',
379
- 'sessions': data.get('sessions', []),
381
+ 'sessions': mcp_config.with_dashboard_urls('significance_test', data.get('sessions', [])),
380
382
  'count': data.get('count', 0),
381
383
  'message': f'Retrieved {data.get("count", 0)} significance test session(s)',
382
384
  }
@@ -491,6 +493,7 @@ def cancel_significance_test_service(session_id: str) -> dict:
491
493
  )
492
494
  if response.status_code == 202:
493
495
  return {'status': 'success', 'session_id': session_id,
496
+ 'dashboard_url': mcp_config.dashboard_url('significance_test', session_id),
494
497
  'message': f'Significance test {session_id} cancellation requested'}
495
498
  if response.status_code == 401:
496
499
  return {'status': 'error', 'message': 'Authentication failed'}
@@ -77,7 +77,9 @@ _HISTORY_COMMON = """
77
77
  your code the complete selection on the Jesse host in its own database view.
78
78
 
79
79
  Each record carries session_id; "sessions" describes the sessions on this page (title,
80
- mode, exchange, status; {"exists": false} for a deleted one); "is_active" and a
80
+ mode, exchange, status; {"exists": false} for a deleted one). To link a session for the
81
+ user, replace {session_id} in "session_dashboard_url_template" with its ID ("" when
82
+ no dashboard URL is known; a deleted session has no page). "is_active" and a
81
83
  stopped status for a session left marked running come from Jesse's worker registry at
82
84
  that moment, best effort, not from the page's database view. Saved key and
83
85
  notification credential values are redacted per record's session (every saved key's
@@ -130,7 +132,9 @@ def register_session_results_tools(mcp):
130
132
  "session_id", "session_status", "status_note" (for unfinished runs), "title", "form",
131
133
  results, "error" (exception + traceback tail) and "sections"/"counts". For other
132
134
  sections: {"section", "items", "offset", "limit", "returned", "total",
133
- "next_offset", "has_more", "truncated_by_size"}. Values are exactly as stored;
135
+ "next_offset", "has_more", "truncated_by_size"}. Every successful response, summary
136
+ or section, also has "dashboard_url": the session's page on the dashboard. Give the
137
+ user that link, not the bare session ID. Values are exactly as stored;
134
138
  NaN/infinite numbers are null. Errors: {"status": "error", "error_type", "message"}
135
139
  with error_type "not_found", "invalid_request", "item_too_large" (use
136
140
  run_analysis), "offset_too_large", "live_plugin_unavailable" (live sessions need
@@ -161,9 +165,11 @@ def register_session_results_tools(mcp):
161
165
  Returns:
162
166
  dict: {"status": "success", "sessions": [{"id", "title", "status", "is_active",
163
167
  "session_mode", "exchange", "routes", "created_at", "updated_at", "finished_at",
164
- "has_error"}], "next_offset"} or an error with error_type
165
- "live_plugin_unavailable" or "invalid_request". Read one with
166
- get_session_results(session_type="live", session_id=...).
168
+ "has_error", "dashboard_url"}], "next_offset"} or an error with error_type
169
+ "live_plugin_unavailable" or "invalid_request". "dashboard_url" opens that session
170
+ on the dashboard: when the user asks for a session or its link, answer with it, not
171
+ with the bare ID. Read one with get_session_results(session_type="live",
172
+ session_id=...).
167
173
  """
168
174
  return await run_blocking(get_live_sessions_service, limit, offset, status_filter, mode_filter, title_search)
169
175
 
@@ -197,7 +203,8 @@ def register_session_results_tools(mcp):
197
203
  dict: {"status": "success", "dataset": "live_trades", "source", "range",
198
204
  "filters", "order", "items", "limit", "returned", "total", "has_more",
199
205
  "truncated_by_size", "truncated_by_orders", "all_records_returned", "next_page",
200
- "sessions", "open_trades_not_included", "note", "paging"} or an error with
206
+ "sessions", "session_dashboard_url_template", "open_trades_not_included", "note",
207
+ "paging"} or an error with
201
208
  error_type "invalid_request", "invalid_cursor", "mode_mismatch",
202
209
  "too_many_orders" (a trade with over 10,000 executed orders), "item_too_large",
203
210
  "live_plugin_unavailable", "read_failed", "authentication_failed", or
@@ -230,8 +237,8 @@ def register_session_results_tools(mcp):
230
237
  dict: {"status": "success", "dataset": "live_orders", "source", "range",
231
238
  "filters", "order", "items", "limit", "returned", "total", "has_more",
232
239
  "truncated_by_size", "truncated_by_orders" (always false), "all_records_returned",
233
- "next_page", "sessions", "counts_by_status", "note", "paging"} or an error like
234
- get_live_trades.
240
+ "next_page", "sessions", "session_dashboard_url_template", "counts_by_status",
241
+ "note", "paging"} or an error like get_live_trades.
235
242
  """
236
243
  mcp.tool()(get_live_orders)
237
244
  # A misspelled filter must be refused, not dropped, and the text "null" must stay text: either
@@ -221,6 +221,8 @@ def register_significance_test_tools(mcp):
221
221
 
222
222
  Returns:
223
223
  { "status": "success", "sessions": [...], "count": int, "message": ... }
224
+ Each session row has "dashboard_url", its page on the dashboard: give the user
225
+ that link, not the bare ID.
224
226
  """
225
227
  return await run_blocking(
226
228
  get_significance_test_sessions_service,
@@ -81,7 +81,8 @@ MAX_LIMIT = session_results.MAX_LIMIT
81
81
  # the JSON-RPC message. Same 128 KiB (~30k tokens) budget as get_session_results pages.
82
82
  MAX_RESPONSE_BYTES = 128 * 1024
83
83
  # Reserved within that budget for what wraps the page after it is built: the route's "status",
84
- # the MCP service's "action" and "location" (~130 bytes), the JSON-RPC result object (~120
84
+ # the MCP service's "action", "location" (~130 bytes), and "session_dashboard_url_template" (one
85
+ # link, up to ~350 bytes for the longest valid DASHBOARD_URL), the JSON-RPC result object (~120
85
86
  # bytes), and SSE framing (~25 bytes).
86
87
  TRANSPORT_ALLOWANCE = 2 * 1024
87
88
  # Cursors are small base64url JSON objects (~140 characters); anything longer is not one.
@@ -0,0 +1 @@
1
+ __version__ = "3.3.4"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jesse
3
- Version: 3.3.3
3
+ Version: 3.3.4
4
4
  Summary: A trading framework for cryptocurrencies
5
5
  Home-page: https://jesse.trade
6
6
  Author: Saleh Mir
@@ -217,3 +217,87 @@ def test_session_tools_call_internal_api_but_link_to_public_dashboard(
217
217
 
218
218
  assert requested_urls == [f'http://127.0.0.1:9000/{api_path}/sessions/session-id']
219
219
  assert result['dashboard_url'] == f'https://jesse.example.com/#/{route}/session-id'
220
+
221
+
222
+ def test_session_rows_get_their_own_dashboard_link(monkeypatch):
223
+ monkeypatch.setattr(mcp_config, 'DASHBOARD_URL', 'https://jesse.example.com')
224
+ rows = [{'id': 'abc-123', 'title': 'one'}, {'title': 'no id'}, 'not a row']
225
+
226
+ assert mcp_config.with_dashboard_urls('live', rows) == [
227
+ {'id': 'abc-123', 'title': 'one', 'dashboard_url': 'https://jesse.example.com/#/live/abc-123'},
228
+ {'title': 'no id', 'dashboard_url': ''},
229
+ 'not a row',
230
+ ]
231
+ assert rows[0] == {'id': 'abc-123', 'title': 'one'}
232
+ assert mcp_config.with_dashboard_urls('live', None) is None
233
+
234
+
235
+ def test_dashboard_link_template_keeps_a_literal_session_id_placeholder(monkeypatch):
236
+ monkeypatch.setattr(mcp_config, 'DASHBOARD_URL', 'https://jesse.example.com')
237
+ template = mcp_config.dashboard_url_template('live')
238
+ assert template == 'https://jesse.example.com/#/live/{session_id}'
239
+ assert template.replace('{session_id}', 'abc-123') == mcp_config.dashboard_url('live', 'abc-123')
240
+ assert mcp_config.dashboard_url_template('unknown') == ''
241
+
242
+ monkeypatch.setattr(mcp_config, 'DASHBOARD_URL', None)
243
+ assert mcp_config.dashboard_url_template('live') == ''
244
+
245
+
246
+ SESSION_SERVICES = [
247
+ (backtest_service, 'backtest', 'backtest'),
248
+ (optimization_service, 'optimization', 'optimization'),
249
+ (monte_carlo_service, 'monte_carlo', 'monte-carlo'),
250
+ (significance_test_service, 'significance_test', 'significance-test'),
251
+ ]
252
+
253
+
254
+ def _fake_api(monkeypatch, service, status_code: int, payload: dict) -> None:
255
+ monkeypatch.setattr(mcp_config, 'JESSE_API_URL', 'http://127.0.0.1:9000')
256
+ monkeypatch.setattr(mcp_config, 'JESSE_PASSWORD', 'test-password')
257
+ monkeypatch.setattr(mcp_config, 'DASHBOARD_URL', 'https://jesse.example.com')
258
+ monkeypatch.setattr(
259
+ service.requests, 'post',
260
+ lambda _url, **_kwargs: SimpleNamespace(status_code=status_code, text='', json=lambda: payload),
261
+ )
262
+
263
+
264
+ @pytest.mark.parametrize(('service', 'name', 'route'), SESSION_SERVICES)
265
+ def test_session_lists_link_every_row_to_the_public_dashboard(monkeypatch, service, name, route):
266
+ _fake_api(monkeypatch, service, 200, {'sessions': [{'id': 'first'}, {'id': 'second'}], 'count': 2})
267
+
268
+ result = getattr(service, f'get_{name}_sessions_service')()
269
+
270
+ assert [row['dashboard_url'] for row in result['sessions']] == [
271
+ f'https://jesse.example.com/#/{route}/first', f'https://jesse.example.com/#/{route}/second',
272
+ ]
273
+
274
+
275
+ @pytest.mark.parametrize(('service', 'name', 'route'), SESSION_SERVICES)
276
+ def test_cancelling_a_session_still_returns_its_dashboard_link(monkeypatch, service, name, route):
277
+ _fake_api(monkeypatch, service, 202, {})
278
+
279
+ result = getattr(service, f'cancel_{name}_service')('session-id')
280
+
281
+ assert result['status'] == 'success'
282
+ assert result['dashboard_url'] == f'https://jesse.example.com/#/{route}/session-id'
283
+
284
+
285
+ @pytest.mark.parametrize(
286
+ ('service', 'function_name', 'payload', 'route'),
287
+ [
288
+ (optimization_service, 'get_optimization_logs_service', {'logs': 'line'}, 'optimization'),
289
+ (optimization_service, 'terminate_optimization_service', {}, 'optimization'),
290
+ (monte_carlo_service, 'get_monte_carlo_logs_service', {'logs': 'line'}, 'monte-carlo'),
291
+ (monte_carlo_service, 'get_monte_carlo_equity_curves_service', {'trades': [], 'candles': []}, 'monte-carlo'),
292
+ (monte_carlo_service, 'terminate_monte_carlo_service', {}, 'monte-carlo'),
293
+ ],
294
+ )
295
+ def test_other_single_session_reads_and_actions_return_the_dashboard_link(
296
+ monkeypatch, service, function_name, payload, route,
297
+ ):
298
+ _fake_api(monkeypatch, service, 202 if function_name.startswith('terminate') else 200, payload)
299
+
300
+ result = getattr(service, function_name)('session-id')
301
+
302
+ assert result['status'] == 'success'
303
+ assert result['dashboard_url'] == f'https://jesse.example.com/#/{route}/session-id'