jesse 3.2.1__tar.gz → 3.2.2__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.
- {jesse-3.2.1/jesse.egg-info → jesse-3.2.2}/PKG-INFO +2 -2
- {jesse-3.2.1 → jesse-3.2.2}/jesse/cli.py +13 -4
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/agent_rules.md +2 -2
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/resources/strategy.md +60 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/server.py +10 -2
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/strategy.py +16 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/lsp.py +137 -123
- jesse-3.2.2/jesse/services/lsp_download.py +23 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/trading_hours.py +16 -14
- jesse-3.2.2/jesse/version.py +1 -0
- {jesse-3.2.1 → jesse-3.2.2/jesse.egg-info}/PKG-INFO +2 -2
- {jesse-3.2.1 → jesse-3.2.2}/jesse.egg-info/SOURCES.txt +1 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse.egg-info/requires.txt +1 -1
- {jesse-3.2.1 → jesse-3.2.2}/requirements.txt +1 -1
- {jesse-3.2.1 → jesse-3.2.2}/setup.py +1 -1
- jesse-3.2.1/jesse/version.py +0 -1
- {jesse-3.2.1 → jesse-3.2.2}/LICENSE +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/MANIFEST.in +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/README.md +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/candle_pipelines/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/candle_pipelines/base_candles.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/candle_pipelines/gaussian_noise.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/candle_pipelines/gaussian_resampler.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/candle_pipelines/moving_block_bootstrap.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/config.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/constants.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/ai_model_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/auth_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/backtest_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/candles_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/closed_trade_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/config_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/data_provider_credentials_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/e2e_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/exchange_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/file_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/live_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/lsp_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/monte_carlo_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/notification_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/optimization_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/order_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/period_templates_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/route_templates_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/significance_test_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/strategy_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/system_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/tabs_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/controllers/websocket_controller.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/enums/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/exceptions/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/exchanges/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/exchanges/exchange.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/exchanges/sandbox/Sandbox.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/exchanges/sandbox/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/factories/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/factories/candle_factory.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/factories/order_factory.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/helpers.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/acosc.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/ad.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/adosc.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/adx.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/adxr.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/alligator.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/alma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/ao.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/apo.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/aroon.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/aroonosc.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/atr.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/avgprice.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/bandpass.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/beta.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/bollinger_bands.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/bollinger_bands_width.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/bop.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/cc.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/cci.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/cfo.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/cg.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/chande.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/chop.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/cksp.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/cmo.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/correl.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/correlation_cycle.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/cvi.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/cwma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/damiani_volatmeter.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/dec_osc.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/decycler.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/dema.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/devstop.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/di.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/dm.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/donchian.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/dpo.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/dti.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/dx.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/edcf.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/efi.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/ema.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/emd.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/emv.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/epma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/er.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/eri.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/fisher.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/fosc.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/frama.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/fwma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/gatorosc.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/gauss.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/heikin_ashi_candles.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/high_pass.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/high_pass_2_pole.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/hma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/hull_suit.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/hurst_exponent.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/hwma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/ichimoku_cloud.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/ichimoku_cloud_seq.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/ift_rsi.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/itrend.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/jma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/jsa.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/kama.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/kaufmanstop.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/kdj.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/keltner.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/kst.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/kurtosis.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/kvo.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/linearreg.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/linearreg_angle.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/linearreg_intercept.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/linearreg_slope.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/lrsi.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/ma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/maaq.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/mab.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/macd.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/mama.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/marketfi.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/mass.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/mcginley_dynamic.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/mean_ad.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/median_ad.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/medprice.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/mfi.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/midpoint.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/midprice.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/minmax.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/mom.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/mwdx.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/natr.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/nma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/nvi.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/obv.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/pfe.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/pivot.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/pma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/ppo.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/pvi.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/pwma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/qstick.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/reflex.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/rma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/roc.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/rocp.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/rocr.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/rocr100.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/roofing.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/rsi.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/rsmk.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/rsx.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/rvi.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/safezonestop.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/sar.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/sinwma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/skew.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/sma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/smma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/squeeze_momentum.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/sqwma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/srsi.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/srwma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/stc.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/stddev.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/stiffness.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/stochastic.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/stochf.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/supersmoother.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/supersmoother_3_pole.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/supertrend.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/support_resistance_with_break.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/swma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/t3.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/tema.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/trange.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/trendflex.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/trima.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/trix.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/tsf.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/tsi.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/ttm_squeeze.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/ttm_trend.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/typprice.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/ui.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/ultosc.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/var.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/vi.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/vidya.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/vlma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/volume.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/vosc.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/voss.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/vpci.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/vpt.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/vpwma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/vwap.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/vwma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/vwmacd.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/wad.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/waddah_attr_explosion.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/wclprice.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/wilders.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/willr.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/wma.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/wt.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/zlema.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/indicators/zscore.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/info.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/libs/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/libs/custom_json/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/libs/dynamic_numpy_array/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/USAGE_LIMITS.md +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/agent_rules.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/manager.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/mcp_config.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/resources/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/resources/backtest_management.md +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/resources/backtest_metrics.md +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/resources/candle.md +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/resources/charts.md +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/resources/configuration.md +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/resources/credentials.md +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/resources/indicator.md +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/resources/monte_carlo.md +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/resources/optimization.md +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/resources/position_risk.md +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/resources/significance_test.md +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/resources/strategy_examples.md +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/resources/utilities.md +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/test.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/backtest.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/candles.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/config.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/credentials.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/general.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/indicator.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/monte_carlo.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/optimization.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/services/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/services/auth.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/services/backtest.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/services/candles.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/services/config.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/services/credentials.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/services/general.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/services/indicator.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/services/monte_carlo.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/services/optimization.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/services/session_config.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/services/significance_test.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/services/strategy.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/tools/significance_test.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/mcp/usage_limits.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/AiModel.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/BacktestSession.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/Candle.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/ClosedTrade.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/DataProviderCredentials.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/Exchange.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/ExchangeApiKeys.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/FuturesExchange.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/LiveChart.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/LiveEquitySnapshot.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/LiveSession.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/Log.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/MonteCarloSession.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/NotificationApiKeys.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/OpenTab.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/OptimizationSession.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/Option.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/Order.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/Orderbook.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/PeriodTemplate.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/Position.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/Route.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/RouteTemplate.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/SignificanceTestSession.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/SpotExchange.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/Ticker.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/Trade.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/models/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/backtest_mode.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/data_provider.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/exchange_api_keys.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/ApexOmniPerpetual.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/ApexOmniPerpetualMain.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/ApexOmniPerpetualTestnet.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/apex_omni_utils.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk-arm.dylib +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk-x86.dylib +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk.dylib +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/libzklink_sdk.so +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk-arm.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk-pc.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk-x86.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk.dll +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Apex/omni_files/zklink_sdk.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Binance/BinanceMain.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Binance/BinancePerpetualFutures.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Binance/BinancePerpetualFuturesTestnet.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Binance/BinanceSpot.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Binance/BinanceUSSpot.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Binance/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Binance/binance_utils.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bitfinex/BitfinexSpot.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bitfinex/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bitfinex/bitfinex_utils.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/BybitMain.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/BybitSpot.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/BybitSpotTestnet.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDCPerpetual.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDCPerpetualTestnet.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDTPerpetual.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/BybitUSDTPerpetualTestnet.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Bybit/bybit_utils.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Coinbase/CoinbaseSpot.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Coinbase/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Coinbase/coinbase_utils.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Gate/GateSpot.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Gate/GateSpotMain.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Gate/GateUSDTMain.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Gate/GateUSDTPerpetual.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Gate/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Gate/gate_utils.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Hyperliquid/HyperliquidPerpetual.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Hyperliquid/HyperliquidPerpetualMain.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Hyperliquid/HyperliquidPerpetualTestnet.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Hyperliquid/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Hyperliquid/hyperliquid_utils.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenPerpetual.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenPerpetualMain.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenPerpetualTestnet.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenSpot.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Kraken/KrakenSpotMain.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Kraken/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Kraken/kraken_utils.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinFuturesMain.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinSpot.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinSpotMain.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/KuCoin/KuCoinUSDTPerpetual.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/KuCoin/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/KuCoin/kucoin_utils.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/LighterMain.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/LighterPerpetual.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/LighterPerpetualTestnet.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/lighter_utils.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-darwin-arm64.dylib +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-linux-amd64.so +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-linux-arm64.so +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/Lighter/signer_libs/lighter-signer-windows-amd64.dll +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/import_candles_mode/drivers/interface.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/monte_carlo_mode/MonteCarloRunner.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/monte_carlo_mode/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/notification_api_keys.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/optimize_mode/Optimize.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/optimize_mode/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/optimize_mode/fitness.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/significance_test_mode/SignificanceTestRunner.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/significance_test_mode/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/modes/utils.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/repositories/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/repositories/candle_repository.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/repositories/closed_trade_repository.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/repositories/data_provider_credentials_repository.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/repositories/live_chart_repository.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/repositories/live_equity_repository.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/repositories/live_session_repository.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/repositories/open_tab_repository.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/repositories/order_repository.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/repositories/period_template_repository.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/repositories/route_template_repository.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/backtest.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/candles.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/import_candles.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/ml.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/monte_carlo/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/monte_carlo/common.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/monte_carlo/monte_carlo_candles.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/monte_carlo/monte_carlo_trades.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/optimize/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/rule_significance_testing/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/rule_significance_testing/bootstrap.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/rule_significance_testing/common.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/rule_significance_testing/plots.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/rule_significance_testing/rule_significance.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/research/rule_significance_testing/simulator.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/routes/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/api.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/auth.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/broker.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/cache.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/candle_service.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/charts.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/closed_trade_service.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/color.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/custom_candle_import.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/db.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/e2e_database.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/env.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/exchange_service.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/failure.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/file.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/general_info.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/historical_data/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/historical_data/contracts.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/historical_data/credential_validation.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/historical_data/errors.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/historical_data/massive_stocks.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/historical_data/providers/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/historical_data/registry.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/installer.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/jesse_trade.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/live_chart_service.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/logger.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/metrics.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/migrator.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/multiprocessing.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/notifier.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/order_service.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/position_service.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/progressbar.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/redis.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/report.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/simulation_assumptions.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/strategy_handler/ExampleStrategy/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/strategy_handler/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/strategy_service.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/symbol_catalog.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/table.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/transformers.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/validators.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/web.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/services/ws_manager.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/200.html +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/404.html +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/08VXUWAP.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/0ONmXmPL.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/1XVEVF4R.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/1lwvrZu5.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/1uxVtXhK2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/25FdeeAd.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/2IIEA8gg2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/2k_QeT3T.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/32DixAac.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/35Gd1l6b.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/3KuTZQMl2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/43DmfD332.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/4G7pJPwS2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/5eyTD99u.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/6RTg0lbw.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/6d_DINYp2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/6hrdeXKO.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/9SMx-Yg9.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/9SuGUQxQ.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/AGOgedFG2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/AsfNJWWT.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B-yKKtcE2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B01W0raW.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B02lME3Q.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B2-f6Wu2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B2OO5cIa2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B2kYdT-M.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B3Tmza7s2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B4Wc4BFL2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B4t1Dpxy.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B5-_aFwp.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B5W6OYN72.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B5e22D9r.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B68TUdTA.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B6UiomQj.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B8J7ngcE.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B8_r5oP7.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B8rOtbmR.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B8xNgNWT.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B9JPFI3C.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B9MRSN3q2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BAlG784d2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BBjHab7x.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BCixiDKj.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BD87b4dR2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BDNMzG2s2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BEEn4gHE.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BEtHBSE6.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BG8CfSEZ2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BGMtTsN-.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BHWKrbxM.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BI3Y1cOA.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BJzMFF2L.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BKD0O2_Q.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BKFC8tTN.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BKPLz4po2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BKcRqSit.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BKxtCVv1.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BLCaNkgi.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BLhvb9Y-.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BMrGqELX.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BN08jTvb.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BOotOW0E.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BQYoEE-E2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BRSARzao2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BRqV1csJ.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BSSBbjzH.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BSWPekZh2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BSt81nX4.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BSu9_R8X2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BT_Y9Qa72.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BTgcbkPe2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BTkZN-kY.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BUvLBkUT2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BVAhOJRw.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BWDSh1SW.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BWPQTe0t.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BXViO-2h.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BYdTN3Ud2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BYgofb2h.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BYsxK_gZ.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BZ4HG2rr2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BZCL-v6S.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B_-2JulU.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/B_tTalzw.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Ba7i2nA0.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BacktestTabs.BhkXf2je.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BapWjBt9.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BcJ0KAXG.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bc_sGQ0U.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bdoqq8BI2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BeGwcela.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Beywemwu.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BfbyNUB7.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bh7THQLS2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BhKQO4Px.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BhPF9KW82.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BhjAJghj.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BiK3sWoz2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BiX_3ZGn2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BjSKRB-a2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BjshL_xA2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BkmU6oQY.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bkml37m-.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BldMJGpi.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bm3Qr25_2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BmBupKYI2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bmbr8zF3.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BnjxR4X6.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bnr-372i.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bnr-Ft3Y.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bo9Dl7tn.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BoEzQrVW.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BoK4YRpC2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BolyLLo5.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BpBaBBm3.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BpJ9fpSU.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BqJ9I9M42.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bqx3koTc.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bri6UV-V.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BshRgckk.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BsuIFbdf2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bt4sAq3f.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BtUnaqJ2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Buu8uHmp2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BvwLaU7c.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BvzEE6Lm.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bw1-c76v.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BwWrilGY2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BwjZg7Kw2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bx1FflLF.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bxkupp3x.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/By-L4I7w.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/By1ptfmn2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Bz4Y3fRF.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/BzMNZVT72.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C-69Y6Pu.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C-LZuMrd.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C-RhCxcP2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C-y9NEjX.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C25aelnV2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C2shJFxU.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C3oCr-8k2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C531GsRP2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C5_-GSwl.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C5kJGiKi2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C7h46wYY.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C8468PWD.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C8Ef5oNN.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C8q3xVCB.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C8r90Shi.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C96bnRGM.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C9St-qHN.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CAWjiWzg2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CC-BCOei.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CC2rA5mh.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CC3Dc58n.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CC8GggWq2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CCUjCBK52.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CD78tava2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CDeNXAV0.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CFAvbRBv.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CFDCSoUG.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CH6Zxsf52.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CHKcdHUs2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CHQ94UKr2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CIPQ_RoX2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CJ3rzSJv2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CJ5SUZOH2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CJNUlr67.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CLIur_dZ.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CMC9H7kb.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CMnkeXFt.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CO65HNi2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/COtstiRA2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/COyNsUt6.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CQRhyXHt.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CQUMS8QJ2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CRal5XOA2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CRfGWb83.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CRyZUaTi.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CTweb8Dz2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CUKGrt9p2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CUL-_UXV2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CUP8soDG.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CVPISREU.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CVaqCwHa.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CW42rLZD.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CWDvEqlu2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CXHoNUfW.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CXcZYQdg.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CXtmUGW6.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CXuuVbXE.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CZ3SG3_I2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CZoCCMwk2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CZsCp6_J.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CZymKofZ2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/C_8bwKvT2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CaLoWpdj2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Cb4Vim4T2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CbKt6i1F2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Cba4tSYP.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CbdYpKc9.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CcEz-6AP2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CcwsVR0C.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Cd-sGgPF.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CdkpiU2Y2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Ceyelwdz.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Cf85K_3V.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Cf9Ao90m2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CfSJPG6W2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Cfl0F_Ix.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CfvQ0GVj2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Ci7ol7o5.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Cimd5fb32.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CioJR-lb.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CircleProgressbar.DG_Oo3ZB.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CjM6HreG.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CjSZG47B2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Ck9wOcVq.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CkJ3IzwM2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CkN8TU5K.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CkRax0sH.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Cl4KV_tk.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/ClCothXP.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/ClamHrr62.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Cm7r79vr.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CnscBGsj2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CoKYUvtC.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CoKk4mC0.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Con6PA_2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CopQ2nXW2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CowLSvep.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CpL23Fmb2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CpdwwrfH.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CpzslTdj.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Cr7JoK-F.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CrVSgIkM2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Cs2F2srj.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CsQS60Ue2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CsvMBhTu.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Cuy4t56v.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CximN0RY2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CyQZr6J2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CyiiZBUN2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/CylTzRX72.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Cz7rf_X82.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Czk_mF82.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D-9WcGfc2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D-V0WHGE2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D-kcNTYM.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D-oSqn_W2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D-ptJ9y-2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D05T4iGw.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D0mw5jGK.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D1yN6wZY2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D24BC_UT2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D2ZwgM9U2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D2mw--Fl2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D2ymy_yS.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D3HTKQgj2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D3hlyOfw2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D4-rlkSU.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D5GhRiPb.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D5ROd09N2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D5Retr0R2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D5Z5IiLY2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D8_NR6i12.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D94iqX0Y2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DB-uxtVd.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DCQb3MpD.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DD7sRF69.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DDPgixDB.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DDe1Q-WN2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DDpmG2fV2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DDwmkQR0.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DEJw_qiA2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DFBbRf0l.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DFfgcuRt.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DFwEHpFD.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DHBI_yxQ.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DHpiXF5c.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DIMkf-bt.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DISqw1ZD.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DItLkvgc2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DK0GhfdP.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DKCQ3kY7.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DKSmMEZa2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DLJdWeDZ2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DLSXrvMj.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DMUM7wLl.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DMnEoi8l.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DNB37k3h2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DOTl9kKz.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DOgf9of5.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DOwBwxAc2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DP8dx3Mz.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DPDvM2ct.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DPJPAjQR.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DPUBG1Sa2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DPZlj92U.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DQ-b8cau.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DQU07tlD.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DQUlB_uC.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DQwYfKfQ2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DRFjx7u42.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DSh2HLQt2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DT7zqm-g.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DTj74zXo2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DV17i1UV2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DV3o63ZY.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DVG0V4jx.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DVQuIRkW2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DVvwPJMn2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DWUE7pqF2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DXG-b-1a.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DXgieCCJ.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DY43dlCC.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DYlRzrDj.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DZFCIeNp.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DZsh6Vsl2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D_3yiDAS.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D_Lu-MrJ.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/D_Sm39l5.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DauUninz2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DaxQctDl.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Db4fpp4X2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DbInun42.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DcUUodPk.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DdJ6paNh.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DdL9SqIa.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/De02G7DS.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/De2hgUGE.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DezsRK8O.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Df2xbC6M.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DfC9-Oas2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DgPtEepw2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DgfQ8roX.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DhQhRRFW2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DhmEMT882.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DiQii0fS.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DikR2-RP.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DipiWojk.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DjAgHZrJ2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DkmNSMHY.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DkqhCAOL2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Dl3pNQBR2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DlW2jO6L2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DljXZpSz.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Dm6T-vrV2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DmHpPYUd2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DmNVVboZ.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Dmf8Y0ON2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DnKPLd6d.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DnToyrRv2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DoT8DRFX.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Dp-2asp4.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DpFanUEy.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DpIdnCtC.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DpTtcPZs2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DpW8JRZm.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DqJzYO7Y2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DqT4cj-J.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DqXIJaHE.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DrH0SRf22.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Ds29f9ZA.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Ds9iBrvx.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Dsw3HnIE.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Dt39crSB.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Dt9aNFbE.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DtGle1nz2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DtX02f_x2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DuT2u1M92.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DxSv1ANE2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Dxp_UTNE.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DyeqKBoC.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Dyqgk9ID2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/DytYwiiF.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/EUqPIrTm.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/EZH7P6f9.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/EoqKQiEy2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/FIalSC7A.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/FXfnIlgg2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/FvmIjYaQ2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/HSRijeU2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/HclGiUj8.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/HlOV9je9.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Hsn-rFuA.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Hza2DNlp.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/IXshMDJQ.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/IliqAppL.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Inter-VariableFont_slnt_wght.Cl4AQHp9.ttf +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/JVoApnG_.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/JaHKEXQh.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/JgXkd7uo2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/JjuYFqoF.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/JpkrmRYq2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/KfYW7BGn.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/KgIFLbLy.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/KhqzbbC32.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/L2jIIa9o.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/LO_BkMJ8.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/LRbiS5Dz.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/LiveTabs.rsQh4sN8.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Mi0eZJ_C2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/NEE52Syq.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/NyRjDEkA2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/O1vzaDvk2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/OaeI3Ulg.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/OfUAv67B2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/ProgressStatusText.BQK0FaGL.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Q6FVf6Zo.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/QTnfLwEv.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/QZfQtQzF2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/QoymgQo0.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/SOo6toE52.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/StrategiesSidebar.DVMKtiGP.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/TradeHistoryChart.Bs0aEPiQ.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/TtSlr_h_2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/VbXTXTou.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/VuUr933P2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/WA2gHESr.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/WF6tEroY2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/WFnVOHr3.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/WZ5HE0X3.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Wy_umkB72.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/YdFKNLmY.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/Z5eAx3Zn2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/_3zCpt1T.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/_7BVYBMY2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/_b8AQjYy.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/_id_.B3a6JG34.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/_id_.BCRDQrek.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/_id_.BRd1elCl.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/aQXfN9KN.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/apGZNcKz.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/atteXEGs.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/bTuwJoIa.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/bjCyB0Gn2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/bpSru2N82.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/ccMIPn_w.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/coSIg_O3.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/codicon.Brq4_Ui5.ttf +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/css.worker-B1A7g9RU.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/dLd1bcTA2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/dnt9x4Qr.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/eDEyLi0S.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/editor.DNwT-hdg.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/entry.CkGiV5Q9.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/error-404.DjFB7pgG.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/error-500.BG9pmads.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/fmXr3nnJ.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/foABv0nJ.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/fwtXNY1n.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/gEsa7Idh.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/gG0NvZLm2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/gp-XZpBa.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/grryJGmv.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/hBpBmjHp.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/hZRgR8Lc.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/hdxB67uV.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/html.worker-NdFMIQdB.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/i0X4ZdIN.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/ibI1KQep.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/json.worker-Ax0gao5O.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/lP7_xLqx2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/live.BHsUui2i.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/logo-dark.tKoQPl1k.svg +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/logo-light.CS4l4ePq.png +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/mAYmvPyL.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/mnTiCSRt2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/monte-carlo.SA-Jni4T.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/nFMaYfgc.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/nR0dIlKu.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/nr791fC22.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/onAF5SnQ.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/oz_6vUea2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/pQUz-uq3.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/pRr3cFVo.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/paCCX65n.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/pages.Kz8uii-H.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/qBoaT7Fk2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/qpEHnBAB.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/rHIqefrb.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/sB-x3p7T.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/sBoK_t0W.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/significance-test.C3_9t58f.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/sltzmVWM2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/strategies.CZAezJwX.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/toggleHighContrast.DUMOsFrl.css +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/ts.worker-CiiXQ93o.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/u9_Y1g7K2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/uHUmCDd7.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/u_o9HDF2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/uf1cV9ZP.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/uhdI0v042.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/v83TR0fG.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/wbypxrpR.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/xk2_4sNk2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/xse2Sllu2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/y2WM_oP32.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/y_x7m0Ik2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/yjvMp0c6.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/zMsjhnnN2.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/_nuxt/zbKwAOr32.js +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/favicon.ico +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/favicons/android-chrome-192x192.png +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/favicons/android-chrome-512x512.png +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/favicons/apple-touch-icon.png +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/favicons/favicon-16x16.png +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/favicons/favicon-32x32.png +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/index.html +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/static/robots.txt +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/store/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/store/state_app.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/store/state_candles.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/store/state_closed_trades.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/store/state_exchanges.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/store/state_logs.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/store/state_orderbook.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/store/state_orders.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/store/state_positions.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/store/state_tickers.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/store/state_trades.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/CanAddClosedTradeToStore/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/RealStrategyRegression1/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/RealStrategyRegression2/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/RealStrategyRegression3/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Strategy.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test01/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test02/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test04/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test05/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test06/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test07/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test08/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test09/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test10/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test11/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test12/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test13/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test14/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test15/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test16/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test17/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test18/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test19/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test20/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test21/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test22/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test23/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test24/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test25/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test26/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test27/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test28/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test29/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test30/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test31/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test32/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test33/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test34/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test35/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test36/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test37/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test38/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test39/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test40/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test41/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test44/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test45/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test46/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test47/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/Test48/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestAddHorizontalLineToCandleChart/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestAddHorizontalLineToExtraChart/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestAddLineToCandleChart/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestAddLineToExtraChart/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestAfterMethod/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestAverageEntryPriceProperty/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestBalanceAndFeeReductionWorksCorrectlyInSpotModeInBothBuyAndSellOrders/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestBalancesAreHandledCorrectlyForCancellingOrdersInSpot/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestBaseAndQuoteAssetProperties/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestBeforeMethod/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestBeforeTerminate/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionLong1/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionLong2/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionShort1/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCanCancelEntryOrdersAfterOpenPositionShort2/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCanOpenANewPositionImmediatelyAfterClosingViaUpdatePosition/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCanRunWithoutShorting/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCanSubmitStopLossOrderWithSizeEqualToCurrentPositionQty/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCanSubmitStopLossOrderWithSizeLessThanCurrentPositionQty/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCanSubmitTakeProfitAndStopLossAtSameTimeInSpot/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCanSubmitTakeProfitOrderWithSizeEqualToCurrentPositionQty/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCanSubmitTakeProfitOrderWithSizeLessThanCurrentPositionQty/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCannotSetStopLossOrderInGoLong/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCannotSetTakeProfitOrderInGoLong/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCannotSpendMoreThanAvailableBalance/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCannotSubmitStopLossOrderWithSizeMoreThanCurrentPositionQty/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCannotSubmitTakeProfitOrderWithSizeMoreThanCurrentPositionQty/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCapitalPropertyRaisesNotImplementedError/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestClosedTradeAfterExitingTrade/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCommonWarmupStart/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCurrentRouteIndex1/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestCurrentRouteIndex2/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestDailyBalanceStoresPortfolioValue/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestDailyBalancesProperty/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestDataRoutes1/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestDataRoutes2/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestDefaultHyperparameters/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestDnaMethod/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestEmptyStrategy/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestEntryOrdersAndExitOrdersProperties/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestExchangeTypeProperty1/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestExchangeTypeProperty2/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestFuturesExchangeAvailableMargin/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestGeneratedDataRouteExecutionBTC/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestGeneratedDataRouteExecutionETH/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestHasLongAndShortEntryOrdersPropertiesInFilters/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestHasLongEntryOrdersProperty/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestHasShortEntryOrdersProperty/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestIncreasedAndReducedCount/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestIncreasingShortPosition/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestInsufficientMargin1/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestInsufficientMargin2/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestInsufficientMargin3/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestLeverageProperty1/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestLeverageProperty2/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestLiquidationInCrossModeForShortTrade/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestLiquidationInIsolatedModeForLongTrade/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestLiquidationInIsolatedModeForShortTrade/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestLogMethodInStrategyClass/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestLongLifecycleAcrossTradingModes/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestLongSparseGap/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestMarkPrice/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestMarketOrderForLowPriceDifference/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestMetrics1/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestMultiInstrumentReplayA/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestMultiInstrumentReplayB/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestMultipleEntryOrdersUpdateEntryLongPositions/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestMultipleEntryOrdersUpdateEntryShortPositions/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestOnCancelMethod/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestOnClosePosition/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestOnRouteOpenPosition/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestOnRouteOpenPosition2/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestOptimizationIsolation/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestOrderIsStopLossProperty/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestOrderIsTakeProfitProperty/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestOrderPriceCannotBeGreaterThanZero/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestOrderValueProperty/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestOrdersAreSortedBeforeExecution/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestOversizedReduceOnlyExitAccounting/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestPortfolioValue/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestPortfolioValueIncludesPositionValueAndOpenOrdersValue/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestPositionExchangeTypeProperty1/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestPositionExchangeTypeProperty2/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestPositionOpenIncreaseReduceCloseEventsInSpot/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestPositionTotalCostProperty/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestPositionWithLeverage1/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestPositionWithLeverage2/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestPositions/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestProperBalanceHanldingInSpotAfterOrderCancellation/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestProtectiveOrdersAcrossTradingModes/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestReduceOnlyMarketOrders/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestRuleSignificanceAlignment/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestRuleSignificanceFailure/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestShortInSpot/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestSparseTimestampRoutes/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestStopLossPriceIsReplacedWithMarketOrderForBetterPriceLongPosition/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestStopLossPriceIsReplacedWithMarketOrderForBetterPriceShortPosition/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestStopOrderShouldConsiderExecutedTakeProfitOrdersInSpot/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestStrategyChartsReport/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestStrategyVariablesAreResetBeforeOpeningNewPosition/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestTakeProfitPriceIsReplacedWithMarketOrderWhenMoreConvenientLongPosition/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestTakeProfitPriceIsReplacedWithMarketOrderWhenMoreConvenientShortPosition/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestTerminate/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestTradingHours/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestUsageOfShouldCancelRaisesNotImplementedError/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestVanillaStrategy/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestWalletBalance/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/TestWithoutCancelMethod/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/strategies/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/testing_utils.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse/utils.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse.egg-info/dependency_links.txt +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse.egg-info/entry_points.txt +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/jesse.egg-info/top_level.txt +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/setup.cfg +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/conftest.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/data/__init__.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/data/test_candles_0.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/data/test_candles_1.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/data/test_candles_indicators.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_backtest.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_backtest_session_chart_data.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_broker.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_candle_copy.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_candle_service.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_candle_timeframe_filter.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_chart_data_serialization.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_completed_trade.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_config_safety.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_conflicting_orders.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_dynamic_numpy_array.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_e2e_database.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_exchange.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_helpers.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_historical_data_contracts.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_import_and_backtest_request_boundaries.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_import_candle_drivers.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_import_candles.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_import_candles_workflow.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_indicators.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_isolated_backtest.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_live_session_chart_data.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_live_strategy_charts.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_lsp.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_mcp_config.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_mcp_credentials.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_mcp_resources.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_mcp_usage_limits.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_metrics.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_optimization_and_monte_carlo_session_failures.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_order.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_parent_strategy.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_position.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_price_gap_backtest.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_progressbar.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_real_strategy_regression.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_research.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_research_monte_carlo.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_research_optimization_isolation.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_research_session_lifecycle.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_router.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_rule_significance_testing.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_session_scoped_configuration.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_significance_test_session.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_simulator_parity.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_spot_mode.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_state_candle.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_state_exchanges.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_state_logs.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_state_orderbook.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_state_orders.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_state_ticker.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_state_trades.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_trading_hours.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_trading_mode_contracts.py +0 -0
- {jesse-3.2.1 → jesse-3.2.2}/tests/test_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jesse
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.2
|
|
4
4
|
Summary: A trading framework for cryptocurrencies
|
|
5
5
|
Home-page: https://jesse.trade
|
|
6
6
|
Author: Saleh Mir
|
|
@@ -48,7 +48,7 @@ Requires-Dist: ray
|
|
|
48
48
|
Requires-Dist: eth-account~=0.13.5
|
|
49
49
|
Requires-Dist: msgpack~=1.1.0
|
|
50
50
|
Requires-Dist: starkbank-ecdsa~=1.1.0
|
|
51
|
-
Requires-Dist: jesse-rust==1.
|
|
51
|
+
Requires-Dist: jesse-rust==1.3.0
|
|
52
52
|
Requires-Dist: mcp==1.28.1
|
|
53
53
|
Requires-Dist: joblib~=1.5.3
|
|
54
54
|
Requires-Dist: scikit-learn~=1.7.2; python_version < "3.11"
|
|
@@ -40,7 +40,13 @@ def install_live(strict: bool) -> None:
|
|
|
40
40
|
default=False,
|
|
41
41
|
help="Skip syncing the agent rules file (AGENTS.md / CLAUDE.md / mcp-rules.md) in the project directory.",
|
|
42
42
|
)
|
|
43
|
-
|
|
43
|
+
@click.option(
|
|
44
|
+
"--skip-lsp",
|
|
45
|
+
is_flag=True,
|
|
46
|
+
default=False,
|
|
47
|
+
help="Skip the Python Language Server for this run (disables editor code intelligence).",
|
|
48
|
+
)
|
|
49
|
+
def run(skip_agent_rules: bool, skip_lsp: bool) -> None:
|
|
44
50
|
"""Start the Jesse application server."""
|
|
45
51
|
from jesse.services.env import is_test_env
|
|
46
52
|
|
|
@@ -102,11 +108,14 @@ def run(skip_agent_rules: bool) -> None:
|
|
|
102
108
|
time.sleep(sleep_seconds)
|
|
103
109
|
run_migrations()
|
|
104
110
|
|
|
105
|
-
if
|
|
111
|
+
if skip_lsp:
|
|
112
|
+
click.echo("Skipping Python Language Server for this run. Editor code intelligence will be unavailable.")
|
|
113
|
+
|
|
114
|
+
if not is_test_env() and not skip_lsp:
|
|
106
115
|
try:
|
|
107
116
|
from jesse.services.lsp import install_lsp_server
|
|
108
117
|
|
|
109
|
-
install_lsp_server()
|
|
118
|
+
skip_lsp = not install_lsp_server(allow_skip=True)
|
|
110
119
|
except Exception as e:
|
|
111
120
|
print(jh.color(f"Error installing Python Language Server: {str(e)}", "red"))
|
|
112
121
|
pass
|
|
@@ -124,7 +133,7 @@ def run(skip_agent_rules: bool) -> None:
|
|
|
124
133
|
|
|
125
134
|
# Set global Jesse API configuration for MCP and other services
|
|
126
135
|
|
|
127
|
-
if not is_test_env():
|
|
136
|
+
if not is_test_env() and not skip_lsp:
|
|
128
137
|
try:
|
|
129
138
|
from jesse.services.lsp import run_lsp_server
|
|
130
139
|
|
|
@@ -56,7 +56,7 @@ Jesse provides comprehensive documentation through MCP resources.
|
|
|
56
56
|
|
|
57
57
|
Key resources include:
|
|
58
58
|
|
|
59
|
-
- jesse://strategy - Strategy structure and
|
|
59
|
+
- jesse://strategy - Strategy structure, candle-by-candle execution, and Trading Hours workflow for adapting traditional-market research to 24/7 exchanges
|
|
60
60
|
- jesse://strategy_examples - Library of complete, worked example strategies (full, runnable references)
|
|
61
61
|
- jesse://charts - Strategy chart APIs, update_chart lifecycle, and live intrabar behavior
|
|
62
62
|
- jesse://indicator - Step-by-step guide for discovering and using indicators and Essential indicators and candle data access
|
|
@@ -114,10 +114,10 @@ High-signal Jesse strategy-authoring gotchas (full detail in jesse://strategy):
|
|
|
114
114
|
- On **spot**, shorting is unsupported: `should_short()` must return `False`, leverage is always `1`, and `stop_loss`/`take_profit` must be set in `on_open_position()` (not `go_long()`).
|
|
115
115
|
- Size from `self.available_margin` (or balance/capital), price, and `self.fee_rate` via sizing utilities (`size_to_qty`, `risk_to_qty`) — never hardcode a fixed quantity.
|
|
116
116
|
- Market hours, sessions, "skip weekends", or a stock-linked instrument on a 24/7 exchange: define `trading_hours()` returning a dict with `timezone` and `hours` (days always explicit, no preset names), gate entries with `self.is_trading_hours`, and feed entry indicators `utils.filter_candles_by_hours(self.candles, self.trading_hours())`. Never hand-roll UTC-hour math or reassign `self.candles`, and never gate `update_position()`/exits by the schedule. See the Trading Hours section of jesse://strategy.
|
|
117
|
+
- For requests to adapt traditional-market research to 24/7 crypto trading, follow the Trading Hours adaptation workflow in `jesse://strategy`, even when the user does not mention sessions.
|
|
117
118
|
|
|
118
119
|
For full structure, lifecycle, and complete runnable examples see jesse://strategy and jesse://strategy_examples.
|
|
119
120
|
|
|
120
|
-
|
|
121
121
|
=== STRATEGY DEVELOPMENT ===
|
|
122
122
|
|
|
123
123
|
Improvement Workflow:
|
|
@@ -432,6 +432,66 @@ Rules:
|
|
|
432
432
|
|
|
433
433
|
A complete class is in `jesse://strategy_examples` (SessionBreakout).
|
|
434
434
|
|
|
435
|
+
### Adapting traditional-market research to 24/7 execution
|
|
436
|
+
|
|
437
|
+
Use this workflow for requests to prepare, adapt, port or make a strategy live-ready when
|
|
438
|
+
its research used traditional-market candles and its target is a continuously traded
|
|
439
|
+
crypto-exchange instrument. Examples include stock, index, forex or commodity research
|
|
440
|
+
moved to a corresponding tokenized instrument or perpetual. Recognize the intent even
|
|
441
|
+
without the words "trading hours". Ordinary crypto strategies do not acquire a session
|
|
442
|
+
restriction merely because their data came from a CSV.
|
|
443
|
+
|
|
444
|
+
Treat the session adaptation as one coordinated change, even when it needs several edits;
|
|
445
|
+
preserve the trading idea rather than performing unrelated strategy optimization.
|
|
446
|
+
|
|
447
|
+
Reference: [Trading Hours](https://docs.jesse.trade/docs/strategies/trading-hours).
|
|
448
|
+
|
|
449
|
+
1. **Read the strategy and identify the mismatch.** Use MCP to inspect the strategy,
|
|
450
|
+
research settings and available route/data context. Distinguish the historical source
|
|
451
|
+
(for example Massive or Custom Data) from the execution venue and verify the target
|
|
452
|
+
symbol and spot/futures type. Determine the underlying market, timezone and the session
|
|
453
|
+
actually used in research, including regular versus extended hours. Ask for missing
|
|
454
|
+
material details rather than guessing a calendar or silently imposing US equity hours.
|
|
455
|
+
2. **Define the intended schedule.** Implement `trading_hours()` using the dict above and
|
|
456
|
+
an IANA timezone, not fixed UTC offsets. Account for market breaks and overnight windows
|
|
457
|
+
where applicable. `closed` and `overrides` are explicit, year-specific dates: neither
|
|
458
|
+
holidays nor early closes are populated automatically. Do not claim complete holiday
|
|
459
|
+
coverage from a weekday schedule or copy example dates into a different trading year.
|
|
460
|
+
3. **Make the history choice deliberate.** For consistent session selection, use the same
|
|
461
|
+
schedule in backtests and live trading. Imported data can include extended-hours bars;
|
|
462
|
+
it is not automatically regular-session-only. Returning `None` in backtests is an
|
|
463
|
+
intentional alternative when retaining the provider's own session is desired, not a
|
|
464
|
+
default migration shortcut. Revalidate if session selection changes the original research.
|
|
465
|
+
4. **Adapt both entry decisions and their inputs.** Gate each enabled entry direction in
|
|
466
|
+
`should_long()`/`should_short()` with `self.is_trading_hours`. Create a `@property` plus
|
|
467
|
+
`@cached` session-candle accessor using `utils.filter_candles_by_hours(...)`. Trace the
|
|
468
|
+
signal's indicators, direct candle indexing, features and auxiliary `get_candles()`
|
|
469
|
+
inputs; filter the relevant history using the appropriate underlying market's schedule.
|
|
470
|
+
Do not blindly apply a stock calendar to an unrelated crypto input. Preserve existing
|
|
471
|
+
indicator parameters, signal rules and risk sizing. Never overwrite `self.candles`,
|
|
472
|
+
fabricate closure candles, or substitute a historical session close for the live price.
|
|
473
|
+
5. **Check timeframe alignment and warm-up.** Candle filtering uses candle **open times**,
|
|
474
|
+
while the entry gate uses the current **decision time**, `self.time`. A bar opening
|
|
475
|
+
before the session is excluded even if it partly overlaps it. Intraday windows can
|
|
476
|
+
discard every UTC-midnight `1D` bar; use an appropriate full-day calendar for daily
|
|
477
|
+
routes and verify the local date mapping. Filtering does not realign or rebuild bars.
|
|
478
|
+
`warm_up_candles` counts raw candles before filtering: size it for the longest required
|
|
479
|
+
lookback on each relevant input, including weekends/closures, and verify enough retained
|
|
480
|
+
candles remain. Do not assume one fixed multiplier works across timeframes and calendars.
|
|
481
|
+
6. **Keep risk management active.** Do not gate `update_position()`, stop-loss, take-profit
|
|
482
|
+
or exits by market hours, and do not flatten at the close unless requested. Make the
|
|
483
|
+
unfilled-entry policy explicit: cancel at the first execution outside the session or
|
|
484
|
+
retain overnight orders as intended. Preserve other cancellation conditions when adding
|
|
485
|
+
the close condition. Cancellation is evaluated on execution ticks, not guaranteed at
|
|
486
|
+
the exact wall-clock close. Preserve the target venue's spot/futures order rules.
|
|
487
|
+
7. **Verify and explain the adaptation.** Read back the saved code and use MCP backtests
|
|
488
|
+
with the selected session and adequate warm-up. Check session boundaries, weekend gaps
|
|
489
|
+
and relevant date exceptions in the available data. State when target-venue history or
|
|
490
|
+
another required check is unavailable. Matching session selection does not make prices,
|
|
491
|
+
bar alignment, liquidity, fees or fills identical between underlying and tokenized
|
|
492
|
+
instruments. Report the calendar, history choice, cancellation policy and actual
|
|
493
|
+
validation performed; preparing a strategy is not evidence of a running live session.
|
|
494
|
+
|
|
435
495
|
## Charting Helpers
|
|
436
496
|
|
|
437
497
|
These `Strategy` methods add lines and levels to interactive backtest, paper,
|
|
@@ -52,8 +52,16 @@ mcp_config.JESSE_PASSWORD = args.password
|
|
|
52
52
|
mcp_config.MCP_PORT = args.port
|
|
53
53
|
mcp_config.MCP_URL = f"http://localhost:{args.port}/mcp"
|
|
54
54
|
|
|
55
|
-
#
|
|
56
|
-
mcp = FastMCP(
|
|
55
|
+
# Advertise this workflow during initialization, including to clients without local agent rules.
|
|
56
|
+
mcp = FastMCP(
|
|
57
|
+
"Jesse MCP Server", host=MCP_HOST, port=args.port, json_response=True,
|
|
58
|
+
instructions=(
|
|
59
|
+
"When asked to prepare, adapt, port, or deploy a strategy researched on traditional-market "
|
|
60
|
+
"data for a 24/7 crypto exchange (including tokenized or stock-linked instruments), read "
|
|
61
|
+
"jesse://strategy, especially Trading Hours and its adaptation workflow, before editing. "
|
|
62
|
+
"Recognize equivalent requests even when the user does not mention trading hours."
|
|
63
|
+
),
|
|
64
|
+
)
|
|
57
65
|
|
|
58
66
|
# Register all available resources
|
|
59
67
|
from jesse.mcp.resources import register_resources
|
|
@@ -50,6 +50,11 @@ def register_strategy_tools(mcp):
|
|
|
50
50
|
The provided content must be valid Python code following Jesse's Strategy
|
|
51
51
|
class structure with proper imports and method implementations.
|
|
52
52
|
|
|
53
|
+
Traditional-market adaptation:
|
|
54
|
+
When preparing traditional-market research for a 24/7 crypto exchange,
|
|
55
|
+
read the Trading Hours adaptation workflow in `jesse://strategy` first,
|
|
56
|
+
even if the user does not explicitly request session filtering.
|
|
57
|
+
|
|
53
58
|
Parameters:
|
|
54
59
|
name (str): Name for the new strategy class and file
|
|
55
60
|
Requirements: Valid Python identifier, no spaces, unique within Jesse
|
|
@@ -268,6 +273,11 @@ def register_strategy_tools(mcp):
|
|
|
268
273
|
Use after create_strategy() to see the template, or to examine existing
|
|
269
274
|
strategies before modification with write_strategy().
|
|
270
275
|
|
|
276
|
+
Traditional-market adaptation:
|
|
277
|
+
For requests to port research to tokenized instruments or a 24/7 crypto
|
|
278
|
+
exchange, also read the Trading Hours adaptation workflow in `jesse://strategy`.
|
|
279
|
+
Inspect every indicator's candle source and the existing entry/exit policies.
|
|
280
|
+
|
|
271
281
|
Parameters:
|
|
272
282
|
name (str): Exact name of the strategy to read (case-sensitive)
|
|
273
283
|
Must match the class name and filename exactly
|
|
@@ -399,6 +409,12 @@ def register_strategy_tools(mcp):
|
|
|
399
409
|
Use read_strategy() first to get current content, modify it, then save
|
|
400
410
|
with this function. Changes take effect immediately for new backtests.
|
|
401
411
|
|
|
412
|
+
Traditional-market adaptation:
|
|
413
|
+
Follow the Trading Hours adaptation workflow in `jesse://strategy` when
|
|
414
|
+
porting traditional-market research to a 24/7 crypto exchange. Entry gates
|
|
415
|
+
alone are insufficient: use session-filtered history for the relevant
|
|
416
|
+
indicators, verify warm-up, and preserve round-the-clock position management.
|
|
417
|
+
|
|
402
418
|
Parameters:
|
|
403
419
|
name (str): Exact name of the strategy to update (case-sensitive)
|
|
404
420
|
Must match existing strategy name exactly
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import os
|
|
2
|
+
import json
|
|
3
|
+
import select
|
|
4
|
+
import subprocess
|
|
5
|
+
import sys
|
|
6
|
+
import time
|
|
7
|
+
from contextlib import contextmanager
|
|
8
|
+
from typing import Callable, Iterator
|
|
9
|
+
|
|
10
|
+
import click
|
|
2
11
|
import platform
|
|
3
12
|
import requests
|
|
4
13
|
import shutil
|
|
@@ -129,138 +138,143 @@ def is_lsp_update_available() -> bool:
|
|
|
129
138
|
raise Exception(f"Error checking for LSP update: {str(e)}")
|
|
130
139
|
|
|
131
140
|
|
|
132
|
-
|
|
133
|
-
"""
|
|
134
|
-
Downloads and installs the Python Language Server from GitHub releases
|
|
135
|
-
based on the current platform and architecture.
|
|
136
|
-
"""
|
|
137
|
-
# Define the target directory
|
|
138
|
-
from jesse import JESSE_DIR
|
|
139
|
-
|
|
140
|
-
target_dir = os.path.join(JESSE_DIR, 'lsp')
|
|
141
|
-
|
|
142
|
-
#Update process
|
|
143
|
-
# If the lsp directory exists(installed), check if an update is available, if so, delete the lsp directory and all its contents and re-install it
|
|
144
|
-
if os.path.exists(target_dir):
|
|
145
|
-
try:
|
|
146
|
-
should_update_lsp = is_lsp_update_available() # Check if an update is available
|
|
141
|
+
class _SkipLSP(Exception):
|
|
142
|
+
"""Signal that startup should continue without the optional language server."""
|
|
147
143
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
print(jh.color(f"Error checking for LSP update: {str(e)}", 'yellow'))
|
|
155
|
-
pass
|
|
156
|
-
|
|
157
|
-
#Normal installation process
|
|
158
|
-
#Define the start script based on the platform
|
|
159
|
-
start_script = None
|
|
160
|
-
if platform.system().lower() == 'windows':
|
|
161
|
-
start_script = os.path.join(target_dir, 'start.bat')
|
|
162
|
-
else:
|
|
163
|
-
start_script = os.path.join(target_dir, 'start.sh')
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
# Skip if already exists
|
|
167
|
-
if os.path.exists(target_dir) and os.path.exists(start_script):
|
|
168
|
-
if jh.is_debuggable('lsp_installer'):
|
|
169
|
-
print(f"Python Language Server already exists at {target_dir}")
|
|
144
|
+
|
|
145
|
+
@contextmanager
|
|
146
|
+
def _skip_key_reader(enabled: bool) -> Iterator[Callable[[], bool]]:
|
|
147
|
+
"""Read a single key without Enter, restoring terminal settings on every exit."""
|
|
148
|
+
if not enabled or not sys.stdin.isatty():
|
|
149
|
+
yield lambda: False
|
|
170
150
|
return
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
151
|
+
|
|
152
|
+
if os.name == 'nt':
|
|
153
|
+
# These modules are platform-specific and cannot be imported unconditionally.
|
|
154
|
+
import msvcrt
|
|
155
|
+
|
|
156
|
+
def skip_pressed() -> bool:
|
|
157
|
+
return msvcrt.kbhit() and msvcrt.getwch().lower() == 's'
|
|
158
|
+
|
|
159
|
+
yield skip_pressed
|
|
160
|
+
else:
|
|
161
|
+
import termios
|
|
162
|
+
import tty
|
|
163
|
+
|
|
164
|
+
fd = sys.stdin.fileno()
|
|
165
|
+
original = termios.tcgetattr(fd)
|
|
174
166
|
try:
|
|
175
|
-
#
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
167
|
+
# cbreak keeps Ctrl+C functional while allowing S without a newline.
|
|
168
|
+
tty.setcbreak(fd)
|
|
169
|
+
yield lambda: bool(select.select([fd], [], [], 0)[0]) and os.read(fd, 1).lower() == b's'
|
|
170
|
+
finally:
|
|
171
|
+
termios.tcsetattr(fd, termios.TCSADRAIN, original)
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
def _download_lsp_file(url: str, destination: str, skip_pressed: Callable[[], bool]) -> None:
|
|
175
|
+
"""Keep stalled network I/O in a disposable process so skipping is immediate."""
|
|
176
|
+
downloader = os.path.join(os.path.dirname(__file__), 'lsp_download.py')
|
|
177
|
+
with subprocess.Popen(
|
|
178
|
+
[sys.executable, downloader, url, destination],
|
|
179
|
+
stdin=subprocess.DEVNULL,
|
|
180
|
+
) as process:
|
|
183
181
|
try:
|
|
182
|
+
while process.poll() is None:
|
|
183
|
+
if skip_pressed():
|
|
184
|
+
raise _SkipLSP()
|
|
185
|
+
# Poll often enough for responsive keys without busy-waiting.
|
|
186
|
+
time.sleep(0.1)
|
|
187
|
+
if process.returncode:
|
|
188
|
+
raise Exception("Failed to download Python Language Server files")
|
|
189
|
+
finally:
|
|
190
|
+
if process.poll() is None:
|
|
191
|
+
process.terminate()
|
|
192
|
+
try:
|
|
193
|
+
# Bound cleanup even if a child cannot shut down normally.
|
|
194
|
+
process.wait(timeout=1)
|
|
195
|
+
except subprocess.TimeoutExpired:
|
|
196
|
+
process.kill()
|
|
197
|
+
process.wait()
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
def install_lsp_server(allow_skip: bool = False) -> bool:
|
|
201
|
+
"""Install/update the language server; return False when startup skips it."""
|
|
202
|
+
from jesse import JESSE_DIR
|
|
203
|
+
|
|
204
|
+
target_dir = os.path.join(JESSE_DIR, 'lsp')
|
|
205
|
+
start_name = 'start.bat' if platform.system().lower() == 'windows' else 'start.sh'
|
|
206
|
+
installed = os.path.isfile(os.path.join(target_dir, start_name))
|
|
207
|
+
interactive = allow_skip and sys.stdin.isatty()
|
|
208
|
+
if interactive:
|
|
209
|
+
click.echo("Checking Python Language Server. Press S at any time while downloading to skip for this run.")
|
|
210
|
+
elif allow_skip:
|
|
211
|
+
click.echo("Checking Python Language Server. Use 'jesse run --skip-lsp' to skip it.")
|
|
212
|
+
|
|
213
|
+
try:
|
|
214
|
+
with _skip_key_reader(interactive) as skip_pressed, tempfile.TemporaryDirectory() as temp_dir:
|
|
215
|
+
release_file = os.path.join(temp_dir, 'release.json')
|
|
216
|
+
try:
|
|
217
|
+
_download_lsp_file(LSP_RELEASE_URL, release_file, skip_pressed)
|
|
218
|
+
with open(release_file) as f:
|
|
219
|
+
release_data = json.load(f)
|
|
220
|
+
except _SkipLSP:
|
|
221
|
+
raise
|
|
222
|
+
except Exception:
|
|
223
|
+
if installed:
|
|
224
|
+
click.echo(jh.color("Could not check for LSP updates. Using the installed version.", 'yellow'))
|
|
225
|
+
return True
|
|
226
|
+
raise
|
|
227
|
+
|
|
228
|
+
latest_version = release_data.get('tag_name', '').lstrip('v')
|
|
229
|
+
current_version = _get_lsp_version()
|
|
230
|
+
if installed and (not current_version or _compare_versions(current_version, latest_version) >= 0):
|
|
231
|
+
return True
|
|
232
|
+
|
|
184
233
|
package_name = _get_platform_package_name()
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
response = requests.get(LSP_RELEASE_URL, timeout=10)
|
|
193
|
-
response.raise_for_status()
|
|
194
|
-
|
|
195
|
-
release_data = response.json()
|
|
196
|
-
|
|
197
|
-
# Find the appropriate asset for this platform
|
|
198
|
-
download_url = None
|
|
199
|
-
for asset in release_data.get('assets', []):
|
|
200
|
-
if asset['name'] == package_name:
|
|
201
|
-
download_url = asset['browser_download_url']
|
|
202
|
-
break
|
|
203
|
-
|
|
204
|
-
if not download_url:
|
|
205
|
-
raise Exception(f"Package '{package_name}' not found in latest release")
|
|
206
|
-
|
|
207
|
-
print(f"Downloading Python Language Server from {download_url}...")
|
|
208
|
-
|
|
209
|
-
# Download the package
|
|
210
|
-
with tempfile.TemporaryDirectory() as temp_dir:
|
|
234
|
+
click.echo(f"Detected platform package: {package_name}")
|
|
235
|
+
download_url = next((asset['browser_download_url'] for asset in release_data.get('assets', [])
|
|
236
|
+
if asset['name'] == package_name), None)
|
|
237
|
+
if not download_url:
|
|
238
|
+
raise Exception(f"Package '{package_name}' not found in latest release")
|
|
239
|
+
|
|
240
|
+
click.echo(f"Downloading Python Language Server from {download_url}...")
|
|
211
241
|
temp_file = os.path.join(temp_dir, package_name)
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
f.write(chunk)
|
|
219
|
-
|
|
220
|
-
# Extract to temporary directory first
|
|
221
|
-
os.makedirs(extract_temp_dir, exist_ok=True)
|
|
222
|
-
|
|
242
|
+
_download_lsp_file(download_url, temp_file, skip_pressed)
|
|
243
|
+
if skip_pressed():
|
|
244
|
+
raise _SkipLSP()
|
|
245
|
+
|
|
246
|
+
extract_dir = os.path.join(temp_dir, 'extracted')
|
|
247
|
+
os.makedirs(extract_dir)
|
|
223
248
|
if package_name.endswith('.tar.gz'):
|
|
224
249
|
with tarfile.open(temp_file, 'r:gz') as tar:
|
|
225
|
-
tar.extractall(
|
|
226
|
-
elif package_name.endswith('.zip'):
|
|
227
|
-
with zipfile.ZipFile(temp_file, 'r') as zip_ref:
|
|
228
|
-
zip_ref.extractall(extract_temp_dir)
|
|
229
|
-
|
|
230
|
-
# Flatten the directory structure
|
|
231
|
-
# If there's a single top-level directory, move its contents up
|
|
232
|
-
extracted_items = os.listdir(extract_temp_dir)
|
|
233
|
-
|
|
234
|
-
if len(extracted_items) == 1 and os.path.isdir(os.path.join(extract_temp_dir, extracted_items[0])):
|
|
235
|
-
# Single directory - move its contents
|
|
236
|
-
source_dir = os.path.join(extract_temp_dir, extracted_items[0])
|
|
250
|
+
tar.extractall(extract_dir)
|
|
237
251
|
else:
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
os.
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
252
|
+
with zipfile.ZipFile(temp_file, 'r') as archive:
|
|
253
|
+
archive.extractall(extract_dir)
|
|
254
|
+
|
|
255
|
+
extracted_items = os.listdir(extract_dir)
|
|
256
|
+
if len(extracted_items) == 1 and os.path.isdir(os.path.join(extract_dir, extracted_items[0])):
|
|
257
|
+
source_dir = os.path.join(extract_dir, extracted_items[0])
|
|
258
|
+
else:
|
|
259
|
+
source_dir = extract_dir
|
|
260
|
+
if not os.path.isfile(os.path.join(source_dir, start_name)):
|
|
261
|
+
raise Exception("Downloaded Python Language Server package has no start script")
|
|
262
|
+
|
|
263
|
+
# Keep any working installation intact until the download and extraction succeed.
|
|
264
|
+
# Key cancellation ends before publishing files into the installation directory.
|
|
265
|
+
if skip_pressed():
|
|
266
|
+
raise _SkipLSP()
|
|
267
|
+
if os.path.exists(target_dir):
|
|
268
|
+
shutil.rmtree(target_dir)
|
|
269
|
+
shutil.copytree(source_dir, target_dir)
|
|
270
|
+
_save_lsp_version(latest_version)
|
|
271
|
+
click.echo(jh.color("✓ Python Language Server installed successfully", 'green'))
|
|
272
|
+
return True
|
|
273
|
+
except _SkipLSP:
|
|
274
|
+
click.echo("Skipping Python Language Server for this run. Editor code intelligence will be unavailable.")
|
|
275
|
+
return False
|
|
276
|
+
|
|
277
|
+
|
|
264
278
|
def run_lsp_server():
|
|
265
279
|
"""
|
|
266
280
|
Runs the Python Language Server.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"""Standalone download worker; avoids importing Jesse or touching its installation."""
|
|
2
|
+
import sys
|
|
3
|
+
|
|
4
|
+
import requests
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def download(url: str, destination: str) -> None:
|
|
8
|
+
"""Stream into a caller-owned temporary file that is removed after cancellation."""
|
|
9
|
+
# Bound connection and stalled reads; the parent can terminate us sooner on S.
|
|
10
|
+
with requests.get(url, stream=True, timeout=(10, 30)) as response:
|
|
11
|
+
response.raise_for_status()
|
|
12
|
+
with open(destination, 'wb') as output:
|
|
13
|
+
# Small chunks bound memory usage regardless of the package size.
|
|
14
|
+
for chunk in response.iter_content(chunk_size=8192):
|
|
15
|
+
output.write(chunk)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
if __name__ == '__main__':
|
|
19
|
+
try:
|
|
20
|
+
download(sys.argv[1], sys.argv[2])
|
|
21
|
+
except Exception as exc:
|
|
22
|
+
sys.stderr.write(f"Python Language Server download failed: {exc}\n")
|
|
23
|
+
sys.exit(1)
|
|
@@ -27,6 +27,7 @@ from typing import Dict, List, Optional, Tuple
|
|
|
27
27
|
from zoneinfo import ZoneInfo, ZoneInfoNotFoundError
|
|
28
28
|
|
|
29
29
|
import numpy as np
|
|
30
|
+
from jesse_rust import filter_candles_by_intervals, trading_hours_mask
|
|
30
31
|
|
|
31
32
|
TradingHoursSpec = Optional[dict]
|
|
32
33
|
|
|
@@ -227,29 +228,30 @@ class TradingHours:
|
|
|
227
228
|
return True
|
|
228
229
|
return False
|
|
229
230
|
|
|
231
|
+
def _intervals_for_timestamps(self, timestamps: np.ndarray) -> Tuple[np.ndarray, np.ndarray]:
|
|
232
|
+
"""Compile the enclosing local dates, including yesterday's overnight windows."""
|
|
233
|
+
first_day = self._local_date(int(timestamps.min())) - _ONE_DAY
|
|
234
|
+
last_day = self._local_date(int(timestamps.max()))
|
|
235
|
+
return self._merged_intervals(first_day, last_day)
|
|
236
|
+
|
|
230
237
|
def mask(self, timestamps: np.ndarray) -> np.ndarray:
|
|
231
238
|
"""Boolean mask marking which UTC-millisecond timestamps are inside the schedule."""
|
|
232
239
|
timestamps = np.asarray(timestamps, dtype=np.int64)
|
|
233
|
-
result = np.zeros(len(timestamps), dtype=bool)
|
|
234
240
|
if len(timestamps) == 0:
|
|
235
|
-
return
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
last_day = self._local_date(int(timestamps.max()))
|
|
239
|
-
starts, ends = self._merged_intervals(first_day, last_day)
|
|
240
|
-
if len(starts) == 0:
|
|
241
|
-
return result
|
|
242
|
-
|
|
243
|
-
index = np.searchsorted(starts, timestamps, side='right') - 1
|
|
244
|
-
inside_some_start = index >= 0
|
|
245
|
-
result[inside_some_start] = timestamps[inside_some_start] < ends[index[inside_some_start]]
|
|
246
|
-
return result
|
|
241
|
+
return np.zeros(0, dtype=bool)
|
|
242
|
+
starts, ends = self._intervals_for_timestamps(timestamps)
|
|
243
|
+
return trading_hours_mask(timestamps, starts, ends)
|
|
247
244
|
|
|
248
245
|
def filter_candles(self, candles: np.ndarray) -> np.ndarray:
|
|
249
246
|
"""Rows whose open timestamp (column 0) is inside the schedule, in original order."""
|
|
250
247
|
if len(candles) == 0:
|
|
251
248
|
return candles
|
|
252
|
-
|
|
249
|
+
timestamps = np.asarray(candles[:, 0], dtype=np.int64)
|
|
250
|
+
starts, ends = self._intervals_for_timestamps(timestamps)
|
|
251
|
+
if candles.dtype == np.float64:
|
|
252
|
+
return filter_candles_by_intervals(candles, timestamps, starts, ends)
|
|
253
|
+
# Research arrays may have another dtype; retain it instead of coercing OHLCV.
|
|
254
|
+
return candles[trading_hours_mask(timestamps, starts, ends)]
|
|
253
255
|
|
|
254
256
|
|
|
255
257
|
# ---- lookup -------------------------------------------------------------------
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "3.2.2"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jesse
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.2
|
|
4
4
|
Summary: A trading framework for cryptocurrencies
|
|
5
5
|
Home-page: https://jesse.trade
|
|
6
6
|
Author: Saleh Mir
|
|
@@ -48,7 +48,7 @@ Requires-Dist: ray
|
|
|
48
48
|
Requires-Dist: eth-account~=0.13.5
|
|
49
49
|
Requires-Dist: msgpack~=1.1.0
|
|
50
50
|
Requires-Dist: starkbank-ecdsa~=1.1.0
|
|
51
|
-
Requires-Dist: jesse-rust==1.
|
|
51
|
+
Requires-Dist: jesse-rust==1.3.0
|
|
52
52
|
Requires-Dist: mcp==1.28.1
|
|
53
53
|
Requires-Dist: joblib~=1.5.3
|
|
54
54
|
Requires-Dist: scikit-learn~=1.7.2; python_version < "3.11"
|
|
@@ -447,6 +447,7 @@ jesse/services/jesse_trade.py
|
|
|
447
447
|
jesse/services/live_chart_service.py
|
|
448
448
|
jesse/services/logger.py
|
|
449
449
|
jesse/services/lsp.py
|
|
450
|
+
jesse/services/lsp_download.py
|
|
450
451
|
jesse/services/metrics.py
|
|
451
452
|
jesse/services/migrator.py
|
|
452
453
|
jesse/services/multiprocessing.py
|
jesse-3.2.1/jesse/version.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "3.2.1"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|