@continuumdao/continuum-node-sdk 1.3.38 → 1.3.40
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.
- package/dist/agent-host-catalog.json +1246 -50
- package/dist/core/chart/analysis/analysis-agent-view.d.ts.map +1 -1
- package/dist/core/chart/analysis/analysis-agent-view.js +38 -10
- package/dist/core/chart/analysis/analysis-agent-view.js.map +1 -1
- package/dist/core/chart/analysis/analysis-catalog.d.ts.map +1 -1
- package/dist/core/chart/analysis/analysis-catalog.js +12 -0
- package/dist/core/chart/analysis/analysis-catalog.js.map +1 -1
- package/dist/core/chart/analysis/analyze-tools.d.ts +61 -0
- package/dist/core/chart/analysis/analyze-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/analyze-tools.js +4 -0
- package/dist/core/chart/analysis/analyze-tools.js.map +1 -1
- package/dist/core/chart/analysis/bollinger-analyze-tools.d.ts +5 -0
- package/dist/core/chart/analysis/bollinger-analyze-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/bollinger-analyze-tools.js +9 -0
- package/dist/core/chart/analysis/bollinger-analyze-tools.js.map +1 -1
- package/dist/core/chart/analysis/chart-patterns-drawings-tools.d.ts +121 -0
- package/dist/core/chart/analysis/chart-patterns-drawings-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/chart-patterns-drawings-tools.js +69 -5
- package/dist/core/chart/analysis/chart-patterns-drawings-tools.js.map +1 -1
- package/dist/core/chart/analysis/chart-patterns-tools.d.ts +114 -0
- package/dist/core/chart/analysis/chart-patterns-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/chart-patterns-tools.js +10 -1
- package/dist/core/chart/analysis/chart-patterns-tools.js.map +1 -1
- package/dist/core/chart/analysis/divergence-analyze-tools.d.ts +19 -0
- package/dist/core/chart/analysis/divergence-analyze-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/divergence-analyze-tools.js +52 -19
- package/dist/core/chart/analysis/divergence-analyze-tools.js.map +1 -1
- package/dist/core/chart/analysis/divergence-drawings-tools.d.ts +2 -0
- package/dist/core/chart/analysis/divergence-drawings-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/divergence-drawings-tools.js +18 -6
- package/dist/core/chart/analysis/divergence-drawings-tools.js.map +1 -1
- package/dist/core/chart/analysis/donchian-analyze-tools.d.ts +4 -0
- package/dist/core/chart/analysis/donchian-analyze-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/donchian-analyze-tools.js +2 -0
- package/dist/core/chart/analysis/donchian-analyze-tools.js.map +1 -1
- package/dist/core/chart/analysis/elliott-wave-drawings-tools.d.ts +2 -0
- package/dist/core/chart/analysis/elliott-wave-drawings-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/elliott-wave-drawings-tools.js +12 -2
- package/dist/core/chart/analysis/elliott-wave-drawings-tools.js.map +1 -1
- package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts +12 -0
- package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/elliott-waves-analyze-tools.js +4 -1
- package/dist/core/chart/analysis/elliott-waves-analyze-tools.js.map +1 -1
- package/dist/core/chart/analysis/ichimoku-analyze-tools.d.ts +4 -0
- package/dist/core/chart/analysis/ichimoku-analyze-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/ichimoku-analyze-tools.js +2 -0
- package/dist/core/chart/analysis/ichimoku-analyze-tools.js.map +1 -1
- package/dist/core/chart/analysis/key-fib-drawings-tools.d.ts +18 -0
- package/dist/core/chart/analysis/key-fib-drawings-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/key-fib-drawings-tools.js +42 -3
- package/dist/core/chart/analysis/key-fib-drawings-tools.js.map +1 -1
- package/dist/core/chart/analysis/key-level-drawings-shared.d.ts +5 -0
- package/dist/core/chart/analysis/key-level-drawings-shared.d.ts.map +1 -1
- package/dist/core/chart/analysis/key-level-drawings-shared.js +9 -1
- package/dist/core/chart/analysis/key-level-drawings-shared.js.map +1 -1
- package/dist/core/chart/analysis/key-level-drawings-tools.d.ts +23 -0
- package/dist/core/chart/analysis/key-level-drawings-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/key-level-drawings-tools.js +53 -6
- package/dist/core/chart/analysis/key-level-drawings-tools.js.map +1 -1
- package/dist/core/chart/analysis/liquidity-depth-analyze-tools.d.ts +124 -0
- package/dist/core/chart/analysis/liquidity-depth-analyze-tools.d.ts.map +1 -0
- package/dist/core/chart/analysis/liquidity-depth-analyze-tools.js +185 -0
- package/dist/core/chart/analysis/liquidity-depth-analyze-tools.js.map +1 -0
- package/dist/core/chart/analysis/liquidity-depth-drawings-tools.d.ts +1447 -0
- package/dist/core/chart/analysis/liquidity-depth-drawings-tools.d.ts.map +1 -0
- package/dist/core/chart/analysis/liquidity-depth-drawings-tools.js +161 -0
- package/dist/core/chart/analysis/liquidity-depth-drawings-tools.js.map +1 -0
- package/dist/core/chart/analysis/moving-averages-analyze-tools.d.ts +4 -0
- package/dist/core/chart/analysis/moving-averages-analyze-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/moving-averages-analyze-tools.js +3 -0
- package/dist/core/chart/analysis/moving-averages-analyze-tools.js.map +1 -1
- package/dist/core/chart/analysis/supertrend-analyze-tools.d.ts +4 -0
- package/dist/core/chart/analysis/supertrend-analyze-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/supertrend-analyze-tools.js +2 -0
- package/dist/core/chart/analysis/supertrend-analyze-tools.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.d.ts +8 -1
- package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.js +13 -2
- package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/build-trade.d.ts +3 -4
- package/dist/core/chart/analysis/trade-setups/build-trade.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/build-trade.js +32 -71
- package/dist/core/chart/analysis/trade-setups/build-trade.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/chart-data-purpose.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/chart-data-purpose.js +18 -1
- package/dist/core/chart/analysis/trade-setups/chart-data-purpose.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.d.ts +9 -0
- package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.js +71 -9
- package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.d.ts +6 -0
- package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.js +16 -6
- package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.d.ts +5 -1
- package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.js +20 -3
- package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.d.ts +5 -1
- package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.js +9 -1
- package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.d.ts +6 -1
- package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.js +12 -1
- package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/index.d.ts +4 -0
- package/dist/core/chart/analysis/trade-setups/index.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/index.js +4 -0
- package/dist/core/chart/analysis/trade-setups/index.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.d.ts +2 -0
- package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.js +3 -3
- package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.d.ts +2 -0
- package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.js +3 -3
- package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/moving-averages-trade-setup.d.ts +3 -0
- package/dist/core/chart/analysis/trade-setups/moving-averages-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/moving-averages-trade-setup.js +10 -4
- package/dist/core/chart/analysis/trade-setups/moving-averages-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.js +8 -4
- package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/shared.d.ts +12 -0
- package/dist/core/chart/analysis/trade-setups/shared.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/shared.js +29 -0
- package/dist/core/chart/analysis/trade-setups/shared.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.d.ts +6 -1
- package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.js +12 -1
- package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.d.ts +18 -1
- package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.js +28 -2
- package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.d.ts +12 -0
- package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.js +12 -0
- package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts +17 -0
- package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-idea-list.js +133 -0
- package/dist/core/chart/analysis/trade-setups/trade-idea-list.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts +7 -0
- package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-idea.js +127 -10
- package/dist/core/chart/analysis/trade-setups/trade-idea.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-position-overlay.d.ts +37 -0
- package/dist/core/chart/analysis/trade-setups/trade-position-overlay.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/trade-position-overlay.js +113 -0
- package/dist/core/chart/analysis/trade-setups/trade-position-overlay.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/trade-price-offsets.d.ts +42 -0
- package/dist/core/chart/analysis/trade-setups/trade-price-offsets.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/trade-price-offsets.js +116 -0
- package/dist/core/chart/analysis/trade-setups/trade-price-offsets.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/trade-ratio.d.ts +54 -0
- package/dist/core/chart/analysis/trade-setups/trade-ratio.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/trade-ratio.js +126 -0
- package/dist/core/chart/analysis/trade-setups/trade-ratio.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.d.ts +45 -0
- package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.js +121 -12
- package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.d.ts +4 -1
- package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.js +7 -1
- package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trend-line-drawings-tools.d.ts +14 -0
- package/dist/core/chart/analysis/trend-line-drawings-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/trend-line-drawings-tools.js +87 -16
- package/dist/core/chart/analysis/trend-line-drawings-tools.js.map +1 -1
- package/dist/core/chart/analysis/trend-line-menu-summary.d.ts +5 -0
- package/dist/core/chart/analysis/trend-line-menu-summary.d.ts.map +1 -1
- package/dist/core/chart/analysis/trend-line-menu-summary.js +8 -0
- package/dist/core/chart/analysis/trend-line-menu-summary.js.map +1 -1
- package/dist/core/chart/analysis/z-score-analyze-tools.d.ts +4 -0
- package/dist/core/chart/analysis/z-score-analyze-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/z-score-analyze-tools.js +2 -0
- package/dist/core/chart/analysis/z-score-analyze-tools.js.map +1 -1
- package/dist/core/chart/apply-chart-drawings.d.ts +4 -0
- package/dist/core/chart/apply-chart-drawings.d.ts.map +1 -1
- package/dist/core/chart/apply-chart-drawings.js +10 -2
- package/dist/core/chart/apply-chart-drawings.js.map +1 -1
- package/dist/core/chart/chart-pattern-session-store.d.ts.map +1 -1
- package/dist/core/chart/chart-pattern-session-store.js +1 -0
- package/dist/core/chart/chart-pattern-session-store.js.map +1 -1
- package/dist/core/chart/customization-catalog.d.ts +1 -0
- package/dist/core/chart/customization-catalog.d.ts.map +1 -1
- package/dist/core/chart/customization-catalog.js +71 -6
- package/dist/core/chart/customization-catalog.js.map +1 -1
- package/dist/core/chart/depth/average.d.ts +24 -0
- package/dist/core/chart/depth/average.d.ts.map +1 -0
- package/dist/core/chart/depth/average.js +104 -0
- package/dist/core/chart/depth/average.js.map +1 -0
- package/dist/core/chart/depth/binance-fetch.d.ts +7 -0
- package/dist/core/chart/depth/binance-fetch.d.ts.map +1 -0
- package/dist/core/chart/depth/binance-fetch.js +35 -0
- package/dist/core/chart/depth/binance-fetch.js.map +1 -0
- package/dist/core/chart/depth/coinbase-fetch.d.ts +7 -0
- package/dist/core/chart/depth/coinbase-fetch.d.ts.map +1 -0
- package/dist/core/chart/depth/coinbase-fetch.js +39 -0
- package/dist/core/chart/depth/coinbase-fetch.js.map +1 -0
- package/dist/core/chart/depth/index.d.ts +9 -0
- package/dist/core/chart/depth/index.d.ts.map +1 -0
- package/dist/core/chart/depth/index.js +9 -0
- package/dist/core/chart/depth/index.js.map +1 -0
- package/dist/core/chart/depth/levels.d.ts +23 -0
- package/dist/core/chart/depth/levels.d.ts.map +1 -0
- package/dist/core/chart/depth/levels.js +68 -0
- package/dist/core/chart/depth/levels.js.map +1 -0
- package/dist/core/chart/depth/normalize.d.ts +22 -0
- package/dist/core/chart/depth/normalize.d.ts.map +1 -0
- package/dist/core/chart/depth/normalize.js +130 -0
- package/dist/core/chart/depth/normalize.js.map +1 -0
- package/dist/core/chart/depth/sampler.d.ts +19 -0
- package/dist/core/chart/depth/sampler.d.ts.map +1 -0
- package/dist/core/chart/depth/sampler.js +146 -0
- package/dist/core/chart/depth/sampler.js.map +1 -0
- package/dist/core/chart/depth/schemas.d.ts +71 -0
- package/dist/core/chart/depth/schemas.d.ts.map +1 -0
- package/dist/core/chart/depth/schemas.js +52 -0
- package/dist/core/chart/depth/schemas.js.map +1 -0
- package/dist/core/chart/depth/symbol-from-fetch.d.ts +12 -0
- package/dist/core/chart/depth/symbol-from-fetch.d.ts.map +1 -0
- package/dist/core/chart/depth/symbol-from-fetch.js +125 -0
- package/dist/core/chart/depth/symbol-from-fetch.js.map +1 -0
- package/dist/core/chart/fetch-agent-view.d.ts.map +1 -1
- package/dist/core/chart/fetch-agent-view.js +6 -1
- package/dist/core/chart/fetch-agent-view.js.map +1 -1
- package/dist/core/chart/fetch-metadata.d.ts +2 -1
- package/dist/core/chart/fetch-metadata.d.ts.map +1 -1
- package/dist/core/chart/fetch-metadata.js +29 -3
- package/dist/core/chart/fetch-metadata.js.map +1 -1
- package/dist/core/chart/index.d.ts +1 -1
- package/dist/core/chart/index.d.ts.map +1 -1
- package/dist/core/chart/index.js +1 -1
- package/dist/core/chart/index.js.map +1 -1
- package/dist/core/chart/liquidity-depth-profile-replay.d.ts +7 -0
- package/dist/core/chart/liquidity-depth-profile-replay.d.ts.map +1 -0
- package/dist/core/chart/liquidity-depth-profile-replay.js +28 -0
- package/dist/core/chart/liquidity-depth-profile-replay.js.map +1 -0
- package/dist/core/chart/live/binding-extract.d.ts.map +1 -1
- package/dist/core/chart/live/binding-extract.js +66 -1
- package/dist/core/chart/live/binding-extract.js.map +1 -1
- package/dist/core/chart/live/fetch-tick.d.ts.map +1 -1
- package/dist/core/chart/live/fetch-tick.js +45 -1
- package/dist/core/chart/live/fetch-tick.js.map +1 -1
- package/dist/core/chart/live/index.d.ts +1 -1
- package/dist/core/chart/live/index.d.ts.map +1 -1
- package/dist/core/chart/live/index.js +1 -1
- package/dist/core/chart/live/index.js.map +1 -1
- package/dist/core/chart/live/schemas.d.ts +2 -0
- package/dist/core/chart/live/schemas.d.ts.map +1 -1
- package/dist/core/chart/live/schemas.js +2 -0
- package/dist/core/chart/live/schemas.js.map +1 -1
- package/dist/core/chart/ohlcv-session-store.d.ts +2 -0
- package/dist/core/chart/ohlcv-session-store.d.ts.map +1 -1
- package/dist/core/chart/ohlcv-session-store.js +58 -6
- package/dist/core/chart/ohlcv-session-store.js.map +1 -1
- package/dist/core/chart/overlay-schemas.d.ts +264 -0
- package/dist/core/chart/overlay-schemas.d.ts.map +1 -1
- package/dist/core/chart/overlay-schemas.js +74 -0
- package/dist/core/chart/overlay-schemas.js.map +1 -1
- package/dist/core/chart/overlays.d.ts +3 -2
- package/dist/core/chart/overlays.d.ts.map +1 -1
- package/dist/core/chart/overlays.js +168 -25
- package/dist/core/chart/overlays.js.map +1 -1
- package/dist/core/chart/point-normalize.d.ts.map +1 -1
- package/dist/core/chart/point-normalize.js +1 -0
- package/dist/core/chart/point-normalize.js.map +1 -1
- package/dist/core/chart/prepare-from-rows.d.ts +1370 -0
- package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
- package/dist/core/chart/prepare-from-rows.js +17 -2
- package/dist/core/chart/prepare-from-rows.js.map +1 -1
- package/dist/core/chart/prepare.d.ts.map +1 -1
- package/dist/core/chart/prepare.js +10 -2
- package/dist/core/chart/prepare.js.map +1 -1
- package/dist/core/chart/schemas.d.ts +324 -2
- package/dist/core/chart/schemas.d.ts.map +1 -1
- package/dist/core/chart/schemas.js +6 -2
- package/dist/core/chart/schemas.js.map +1 -1
- package/dist/core/chart/trade-position-replay.d.ts +19 -0
- package/dist/core/chart/trade-position-replay.d.ts.map +1 -0
- package/dist/core/chart/trade-position-replay.js +48 -0
- package/dist/core/chart/trade-position-replay.js.map +1 -0
- package/dist/core/chart-patterns/drawing-spec.d.ts.map +1 -1
- package/dist/core/chart-patterns/drawing-spec.js +7 -0
- package/dist/core/chart-patterns/drawing-spec.js.map +1 -1
- package/dist/core/chart-patterns/measured-move.d.ts.map +1 -1
- package/dist/core/chart-patterns/measured-move.js +35 -3
- package/dist/core/chart-patterns/measured-move.js.map +1 -1
- package/dist/core/chart-patterns/patterns/flag-pennant-shared.d.ts +62 -0
- package/dist/core/chart-patterns/patterns/flag-pennant-shared.d.ts.map +1 -0
- package/dist/core/chart-patterns/patterns/flag-pennant-shared.js +141 -0
- package/dist/core/chart-patterns/patterns/flag-pennant-shared.js.map +1 -0
- package/dist/core/chart-patterns/patterns/flag.d.ts.map +1 -1
- package/dist/core/chart-patterns/patterns/flag.js +77 -51
- package/dist/core/chart-patterns/patterns/flag.js.map +1 -1
- package/dist/core/chart-patterns/patterns/pennant.d.ts.map +1 -1
- package/dist/core/chart-patterns/patterns/pennant.js +74 -53
- package/dist/core/chart-patterns/patterns/pennant.js.map +1 -1
- package/dist/core/chart-patterns/recommendation.d.ts +7 -0
- package/dist/core/chart-patterns/recommendation.d.ts.map +1 -1
- package/dist/core/chart-patterns/recommendation.js +17 -0
- package/dist/core/chart-patterns/recommendation.js.map +1 -1
- package/dist/core/chart-patterns/scan.d.ts.map +1 -1
- package/dist/core/chart-patterns/scan.js +8 -3
- package/dist/core/chart-patterns/scan.js.map +1 -1
- package/dist/core/chart-patterns/types.d.ts +13 -0
- package/dist/core/chart-patterns/types.d.ts.map +1 -1
- package/dist/core/coinbase/candles.d.ts +7 -0
- package/dist/core/coinbase/candles.d.ts.map +1 -0
- package/dist/core/coinbase/candles.js +52 -0
- package/dist/core/coinbase/candles.js.map +1 -0
- package/dist/core/coinbase/client.d.ts +24 -0
- package/dist/core/coinbase/client.d.ts.map +1 -0
- package/dist/core/coinbase/client.js +86 -0
- package/dist/core/coinbase/client.js.map +1 -0
- package/dist/core/coinbase/credentials.d.ts +11 -0
- package/dist/core/coinbase/credentials.d.ts.map +1 -0
- package/dist/core/coinbase/credentials.js +47 -0
- package/dist/core/coinbase/credentials.js.map +1 -0
- package/dist/core/coinbase/granularity.d.ts +20 -0
- package/dist/core/coinbase/granularity.d.ts.map +1 -0
- package/dist/core/coinbase/granularity.js +69 -0
- package/dist/core/coinbase/granularity.js.map +1 -0
- package/dist/core/coinbase/index.d.ts +8 -0
- package/dist/core/coinbase/index.d.ts.map +1 -0
- package/dist/core/coinbase/index.js +8 -0
- package/dist/core/coinbase/index.js.map +1 -0
- package/dist/core/coinbase/jwt.d.ts +13 -0
- package/dist/core/coinbase/jwt.d.ts.map +1 -0
- package/dist/core/coinbase/jwt.js +41 -0
- package/dist/core/coinbase/jwt.js.map +1 -0
- package/dist/core/coinbase/public-api.d.ts +38 -0
- package/dist/core/coinbase/public-api.d.ts.map +1 -0
- package/dist/core/coinbase/public-api.js +203 -0
- package/dist/core/coinbase/public-api.js.map +1 -0
- package/dist/core/coinbase/schemas.d.ts +133 -0
- package/dist/core/coinbase/schemas.d.ts.map +1 -0
- package/dist/core/coinbase/schemas.js +105 -0
- package/dist/core/coinbase/schemas.js.map +1 -0
- package/dist/core/coinmarketcap/schemas.d.ts +3 -3
- package/dist/core/ta/calculate.d.ts.map +1 -1
- package/dist/core/ta/calculate.js +39 -0
- package/dist/core/ta/calculate.js.map +1 -1
- package/dist/core/ta/catalog.d.ts.map +1 -1
- package/dist/core/ta/catalog.js +2 -1
- package/dist/core/ta/catalog.js.map +1 -1
- package/dist/mcp/agent-chart-data-access-gate.d.ts +1 -1
- package/dist/mcp/agent-chart-data-access-gate.d.ts.map +1 -1
- package/dist/mcp/agent-chart-data-access-gate.js.map +1 -1
- package/dist/mcp/agent-cron-jobs.d.ts +1 -1
- package/dist/mcp/agent-cron-jobs.d.ts.map +1 -1
- package/dist/mcp/agent-cron-jobs.js +9 -0
- package/dist/mcp/agent-cron-jobs.js.map +1 -1
- package/dist/mcp/agent-environment-variables.d.ts +1 -1
- package/dist/mcp/agent-environment-variables.d.ts.map +1 -1
- package/dist/mcp/agent-environment-variables.js +3 -0
- package/dist/mcp/agent-environment-variables.js.map +1 -1
- package/dist/mcp/agent-host-catalog.d.ts +15 -2
- package/dist/mcp/agent-host-catalog.d.ts.map +1 -1
- package/dist/mcp/agent-host-catalog.js +52 -12
- package/dist/mcp/agent-host-catalog.js.map +1 -1
- package/dist/mcp/agent-input-coerce-register.d.ts +8 -0
- package/dist/mcp/agent-input-coerce-register.d.ts.map +1 -0
- package/dist/mcp/agent-input-coerce-register.js +22 -0
- package/dist/mcp/agent-input-coerce-register.js.map +1 -0
- package/dist/mcp/agent-input-coerce.d.ts +13 -0
- package/dist/mcp/agent-input-coerce.d.ts.map +1 -0
- package/dist/mcp/agent-input-coerce.js +286 -0
- package/dist/mcp/agent-input-coerce.js.map +1 -0
- package/dist/mcp/agent-mcp-servers.d.ts +1 -1
- package/dist/mcp/agent-mcp-servers.d.ts.map +1 -1
- package/dist/mcp/agent-mcp-servers.js +7 -0
- package/dist/mcp/agent-mcp-servers.js.map +1 -1
- package/dist/mcp/agent-skills.d.ts +1 -1
- package/dist/mcp/agent-skills.d.ts.map +1 -1
- package/dist/mcp/agent-skills.js +5 -0
- package/dist/mcp/agent-skills.js.map +1 -1
- package/dist/mcp/agent-webhooks.d.ts +1 -1
- package/dist/mcp/agent-webhooks.d.ts.map +1 -1
- package/dist/mcp/agent-webhooks.js +9 -0
- package/dist/mcp/agent-webhooks.js.map +1 -1
- package/dist/mcp/chart.d.ts +1 -1
- package/dist/mcp/chart.d.ts.map +1 -1
- package/dist/mcp/chart.js +74 -7
- package/dist/mcp/chart.js.map +1 -1
- package/dist/mcp/coinbase-public/register.d.ts +6 -0
- package/dist/mcp/coinbase-public/register.d.ts.map +1 -0
- package/dist/mcp/coinbase-public/register.js +62 -0
- package/dist/mcp/coinbase-public/register.js.map +1 -0
- package/dist/mcp/coinmarketcap-public/register.d.ts +1 -1
- package/dist/mcp/coinmarketcap-public/register.d.ts.map +1 -1
- package/dist/mcp/coinmarketcap-public/register.js +22 -4
- package/dist/mcp/coinmarketcap-public/register.js.map +1 -1
- package/dist/mcp/deferred/discovery-tools.d.ts +1 -1
- package/dist/mcp/deferred/discovery-tools.d.ts.map +1 -1
- package/dist/mcp/deferred/discovery-tools.js +57 -15
- package/dist/mcp/deferred/discovery-tools.js.map +1 -1
- package/dist/mcp/deferred/optional-endpoint-groups.d.ts +1 -1
- package/dist/mcp/deferred/optional-endpoint-groups.d.ts.map +1 -1
- package/dist/mcp/deferred/optional-endpoint-groups.js +8 -0
- package/dist/mcp/deferred/optional-endpoint-groups.js.map +1 -1
- package/dist/mcp/deferred/session.d.ts +15 -2
- package/dist/mcp/deferred/session.d.ts.map +1 -1
- package/dist/mcp/deferred/session.js +126 -78
- package/dist/mcp/deferred/session.js.map +1 -1
- package/dist/mcp/deferred/tool-group-map.d.ts +15 -2
- package/dist/mcp/deferred/tool-group-map.d.ts.map +1 -1
- package/dist/mcp/deferred/tool-group-map.js +546 -70
- package/dist/mcp/deferred/tool-group-map.js.map +1 -1
- package/dist/mcp/defi/bitquery-api-key.d.ts +1 -1
- package/dist/mcp/defi/bitquery-api-key.d.ts.map +1 -1
- package/dist/mcp/defi/discovery.d.ts +1 -1
- package/dist/mcp/defi/discovery.d.ts.map +1 -1
- package/dist/mcp/defi/discovery.js +15 -3
- package/dist/mcp/defi/discovery.js.map +1 -1
- package/dist/mcp/defi/handler.d.ts +13 -6
- package/dist/mcp/defi/handler.d.ts.map +1 -1
- package/dist/mcp/defi/mcp-json-schema.d.ts +23 -0
- package/dist/mcp/defi/mcp-json-schema.d.ts.map +1 -0
- package/dist/mcp/defi/mcp-json-schema.js +173 -0
- package/dist/mcp/defi/mcp-json-schema.js.map +1 -0
- package/dist/mcp/defi/register-protocol-tools.d.ts +1 -1
- package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
- package/dist/mcp/defi/register-protocol-tools.js +41 -4
- package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
- package/dist/mcp/defi/the-graph-api-key.d.ts +1 -1
- package/dist/mcp/defi/the-graph-api-key.d.ts.map +1 -1
- package/dist/mcp/defi/tool-schemas.d.ts +4 -3
- package/dist/mcp/defi/tool-schemas.d.ts.map +1 -1
- package/dist/mcp/defi/tool-schemas.js +6 -4
- package/dist/mcp/defi/tool-schemas.js.map +1 -1
- package/dist/mcp/defi/uniswap-api-key.d.ts +1 -1
- package/dist/mcp/defi/uniswap-api-key.d.ts.map +1 -1
- package/dist/mcp/defi/venice-api-key.d.ts +1 -1
- package/dist/mcp/defi/venice-api-key.d.ts.map +1 -1
- package/dist/mcp/group.d.ts +1 -1
- package/dist/mcp/group.d.ts.map +1 -1
- package/dist/mcp/group.js +3 -3
- package/dist/mcp/group.js.map +1 -1
- package/dist/mcp/keygen-messaging.d.ts +1 -1
- package/dist/mcp/keygen-messaging.d.ts.map +1 -1
- package/dist/mcp/keygen-messaging.js +10 -0
- package/dist/mcp/keygen-messaging.js.map +1 -1
- package/dist/mcp/keygen.d.ts +1 -1
- package/dist/mcp/keygen.d.ts.map +1 -1
- package/dist/mcp/keygen.js +6 -3
- package/dist/mcp/keygen.js.map +1 -1
- package/dist/mcp/management-signer.d.ts +1 -1
- package/dist/mcp/management-signer.d.ts.map +1 -1
- package/dist/mcp/management-signer.js +1 -1
- package/dist/mcp/management-signer.js.map +1 -1
- package/dist/mcp/mcp-resources.d.ts +1 -1
- package/dist/mcp/mcp-resources.d.ts.map +1 -1
- package/dist/mcp/mpc.d.ts +1 -1
- package/dist/mcp/mpc.d.ts.map +1 -1
- package/dist/mcp/mpc.js +36 -5
- package/dist/mcp/mpc.js.map +1 -1
- package/dist/mcp/node.d.ts +1 -1
- package/dist/mcp/node.d.ts.map +1 -1
- package/dist/mcp/node.js +7 -1
- package/dist/mcp/node.js.map +1 -1
- package/dist/mcp/ohlcv-session-wrapper.d.ts +1 -2
- package/dist/mcp/ohlcv-session-wrapper.d.ts.map +1 -1
- package/dist/mcp/ohlcv-session-wrapper.js +14 -1
- package/dist/mcp/ohlcv-session-wrapper.js.map +1 -1
- package/dist/mcp/register.d.ts +1 -1
- package/dist/mcp/register.d.ts.map +1 -1
- package/dist/mcp/register.js +4 -6
- package/dist/mcp/register.js.map +1 -1
- package/dist/mcp/registry/address-book.d.ts +1 -1
- package/dist/mcp/registry/address-book.d.ts.map +1 -1
- package/dist/mcp/registry/address-book.js +1 -0
- package/dist/mcp/registry/address-book.js.map +1 -1
- package/dist/mcp/registry/networks.d.ts +1 -1
- package/dist/mcp/registry/networks.d.ts.map +1 -1
- package/dist/mcp/registry/networks.js +3 -1
- package/dist/mcp/registry/networks.js.map +1 -1
- package/dist/mcp/registry/tokens.d.ts +1 -1
- package/dist/mcp/registry/tokens.d.ts.map +1 -1
- package/dist/mcp/registry/tokens.js +2 -0
- package/dist/mcp/registry/tokens.js.map +1 -1
- package/dist/mcp/resources/chart-analysis.md +2 -0
- package/dist/mcp/resources/chart.md +16 -9
- package/dist/mcp/resources/coinbase-public.md +31 -0
- package/dist/mcp/server/http-transport.d.ts +1 -1
- package/dist/mcp/server/http-transport.d.ts.map +1 -1
- package/dist/mcp/server/http-transport.js +30 -118
- package/dist/mcp/server/http-transport.js.map +1 -1
- package/dist/mcp/server/index.js +11 -1
- package/dist/mcp/server/index.js.map +1 -1
- package/dist/mcp/ta/register.d.ts +1 -1
- package/dist/mcp/ta/register.d.ts.map +1 -1
- package/dist/mcp/ta/register.js +3 -1
- package/dist/mcp/ta/register.js.map +1 -1
- package/dist/mcp/ta-server/index.js +3 -4
- package/dist/mcp/ta-server/index.js.map +1 -1
- package/dist/mcp/tool-utils.d.ts +1 -1
- package/dist/mcp/tool-utils.d.ts.map +1 -1
- package/dist/mcp/trade-tools.d.ts +1 -1
- package/dist/mcp/trade-tools.d.ts.map +1 -1
- package/dist/mcp/trade-tools.js +9 -1
- package/dist/mcp/trade-tools.js.map +1 -1
- package/dist/mcp/vpn.d.ts +1 -1
- package/dist/mcp/vpn.d.ts.map +1 -1
- package/dist/mcp/vpn.js +9 -1
- package/dist/mcp/vpn.js.map +1 -1
- package/package.json +8 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../src/mcp/registry/networks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../src/mcp/registry/networks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAc1D,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,GACnB,IAAI,CA+CN"}
|
|
@@ -3,11 +3,13 @@ import { addToChainRegistry, getChainRegistry, removeFromChainRegistry, } from '
|
|
|
3
3
|
import { AddChainRegistryInputSchema, GetChainRegistryDataSchema, GetChainRegistryQuerySchema, SelectedSigningKeySchema, } from '../../schemas/extended.js';
|
|
4
4
|
import { camelToSnake, wrapSdk } from '../tool-utils.js';
|
|
5
5
|
export function registerChainRegistryTools(server, config) {
|
|
6
|
+
/* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. | Could not verify `outputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
|
|
6
7
|
server.registerTool(camelToSnake('getChainRegistry'), {
|
|
7
8
|
description: 'Get chain registry entries (RPC, explorer, Custom Gas Config fields: gasLimit, baseFee, priorityFee, gasMultiplier, gasPrice, defaultGetSigFeeSpeed). Call with no args to list all configured chains. Prefer chainName (exact name from registry) over guessing chain_id. Use get_multi_sign_gas_options for create/Get Sig choices.',
|
|
8
9
|
inputSchema: GetChainRegistryQuerySchema,
|
|
9
10
|
outputSchema: GetChainRegistryDataSchema,
|
|
10
11
|
}, async (query) => wrapSdk(getChainRegistry(config, query)));
|
|
12
|
+
/* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
|
|
11
13
|
server.registerTool(camelToSnake('addToChainRegistry'), {
|
|
12
14
|
description: 'Add chain details to the chain registry. rpcGateway (RPC URL) is required and must be supplied by the user — do not guess or infer an RPC URL.',
|
|
13
15
|
inputSchema: AddChainRegistryInputSchema,
|
|
@@ -18,7 +20,7 @@ export function registerChainRegistryTools(server, config) {
|
|
|
18
20
|
}),
|
|
19
21
|
}, async (input) => wrapSdk(addToChainRegistry(config, input)));
|
|
20
22
|
server.registerTool(camelToSnake('removeFromChainRegistry'), {
|
|
21
|
-
description: 'Remove chain
|
|
23
|
+
description: 'Remove a chain (RPC/gas config) from the chain registry.',
|
|
22
24
|
inputSchema: z.object({
|
|
23
25
|
chainId: z.union([z.string().min(1), z.number().int().nonnegative()]),
|
|
24
26
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networks.js","sourceRoot":"","sources":["../../../src/mcp/registry/networks.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EACN,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,YAAY,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAEvD,MAAM,UAAU,0BAA0B,CACzC,MAAiB,EACjB,MAAqB;IAErB,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,kBAAkB,CAAC,EAChC;QACC,WAAW,EACV,uUAAuU;QACxU,WAAW,EAAE,2BAA2B;QACxC,YAAY,EAAE,0BAA0B;KACxC,EACD,KAAK,EAAE,KAAkD,EAAE,EAAE,CAC5D,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CACzC,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,oBAAoB,CAAC,EAClC;QACC,WAAW,EACV,gJAAgJ;QACjJ,WAAW,EAAE,2BAA2B;QACxC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,kBAAkB,EAAE,wBAAwB;YAC5C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;SAC1B,CAAC;KACF,EACD,KAAK,EAAE,KAAkD,EAAE,EAAE,CAC5D,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAC3C,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,yBAAyB,CAAC,EACvC;QACC,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"networks.js","sourceRoot":"","sources":["../../../src/mcp/registry/networks.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EACN,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,YAAY,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAEvD,MAAM,UAAU,0BAA0B,CACzC,MAAiB,EACjB,MAAqB;IAErB,qYAAqY;IACrY,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,kBAAkB,CAAC,EAChC;QACC,WAAW,EACV,uUAAuU;QACxU,WAAW,EAAE,2BAA2B;QACxC,YAAY,EAAE,0BAA0B;KACxC,EACD,KAAK,EAAE,KAAkD,EAAE,EAAE,CAC5D,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CACzC,CAAC;IAEF,6MAA6M;IAC7M,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,oBAAoB,CAAC,EAClC;QACC,WAAW,EACV,gJAAgJ;QACjJ,WAAW,EAAE,2BAA2B;QACxC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,kBAAkB,EAAE,wBAAwB;YAC5C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;SAC1B,CAAC;KACF,EACD,KAAK,EAAE,KAAkD,EAAE,EAAE,CAC5D,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAC3C,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,yBAAyB,CAAC,EACvC;QACC,WAAW,EAAE,0DAA0D;QACvE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;SACrE,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,kBAAkB,EAAE,wBAAwB;YAC5C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;SAC1B,CAAC;KACF,EACD,KAAK,EAAE,EAAC,OAAO,EAA6B,EAAE,EAAE,CAC/C,OAAO,CAAC,uBAAuB,CAAC,MAAM,EAAE,EAAC,OAAO,EAAC,CAAC,CAAC,CACpD,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { McpServer } from
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/server";
|
|
2
2
|
import type { NodeSdkConfig } from '../../config/schema.js';
|
|
3
3
|
export declare function registerTokenRegistryTools(server: McpServer, config: NodeSdkConfig): void;
|
|
4
4
|
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/mcp/registry/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/mcp/registry/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAqB1D,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,GACnB,IAAI,CA2EN"}
|
|
@@ -8,6 +8,7 @@ function normalizeMcpTokenRegistryChainType(chainType) {
|
|
|
8
8
|
return t === 'evm' ? 'ethereum' : t;
|
|
9
9
|
}
|
|
10
10
|
export function registerTokenRegistryTools(server, config) {
|
|
11
|
+
/* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. | Could not verify `outputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
|
|
11
12
|
server.registerTool(camelToSnake('getTokenRegistry'), {
|
|
12
13
|
description: 'Get token registry entries. Call with symbol to find tokens; combine symbol with chain_id or chainName from get_chain_registry. Resolve chain and token IDs from the registry — do not guess.',
|
|
13
14
|
inputSchema: GetTokenRegistryQuerySchema,
|
|
@@ -18,6 +19,7 @@ export function registerTokenRegistryTools(server, config) {
|
|
|
18
19
|
? normalizeMcpTokenRegistryChainType(query.chainType)
|
|
19
20
|
: undefined,
|
|
20
21
|
})));
|
|
22
|
+
/* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
|
|
21
23
|
server.registerTool(camelToSnake('addToTokenRegistry'), {
|
|
22
24
|
description: 'Add a token to the token registry. Use chainType "ethereum" for EVM/ERC-20 tokens (not "evm"). Requires chainType, chainId, tokenType, and contract with contractAddress, name, symbol, symbolURL, and decimals.',
|
|
23
25
|
inputSchema: AddToTokenRegistryInputSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/mcp/registry/tokens.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/mcp/registry/tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -155,6 +155,7 @@ Requires candle rows (open/high/low/close). Use after OHLCV fetch tools.
|
|
|
155
155
|
| **`analyze_elliott_waves`** | Fibonacci-driven Elliott count: **`waveMenu`**, **`interpretation`**, **`confidence`**, **`dataGuidance`** when bars are insufficient, **`elliottWaveTradeSetup`** (`clear`/`unclear`, target/invalidation), **`drawableWaves`** for chart labels |
|
|
156
156
|
| **`analyze_key_levels`** | Ranked supports/resistances, nearest levels vs last close |
|
|
157
157
|
| **`analyze_momentum`** | RSI zone, MACD values, crossover state |
|
|
158
|
+
| **`analyze_liquidity_depth`** | Averaged **spot** order-book walls (Binance or Coinbase): **`levelMenu`** table (`side`, `price`, `avgSize`, `relativeStrength`, `distancePct`). **Not a Trade Idea.** Optional left-axis profile via **`apply_liquidity_depth_drawings`**. Desk knobs: `depthExchangeId`, `depthSampleIntervalSec`, `depthAverageWindowSec`, `depthLimit`, `depthLevelCount` |
|
|
158
159
|
| **`analyze_divergence`** | Regular/hidden RSI & Stochastic RSI divergences; **`primary`** long/short + confidence; pivot-structure **`divergenceTradeSetup`** (entry = last close; target = swing size from entry; invalidation beyond swing extreme). Draw with **`apply_divergence_drawings`** (always adds Stoch RSI pane) |
|
|
159
160
|
| **`analyze_range_volatility`** | Range %, ATR-style stats, compression vs expansion, Fib swing range |
|
|
160
161
|
| **`analyze_bollinger_bands`** | Bollinger bands, %B, band-to-band fade trade when price is near an outer band |
|
|
@@ -402,6 +403,7 @@ See optional skill **`orchestration-chart-analysis`** (on-demand) for task-shape
|
|
|
402
403
|
| `chart-analysis-trend` | on demand | Narrative template for trend structure |
|
|
403
404
|
| `chart-analysis-levels` | on demand | Key levels analysis |
|
|
404
405
|
| `chart-analysis-momentum` | on demand | Momentum analysis |
|
|
406
|
+
| `chart-analysis-liquidity-depth` | on demand | Spot book walls table (not a Trade Idea); optional left-axis profile |
|
|
405
407
|
| `chart-analysis-range` | on demand | Range / volatility analysis |
|
|
406
408
|
| `chart-analysis-bollinger` | on demand | Summarize Bollinger analysis; defaults in `chart-defaults` / `trade-defaults` |
|
|
407
409
|
| `chart-analysis-donchian` | on demand | Summarize Donchian breakout; period/mode from `trade-desk.yaml` |
|
|
@@ -4,7 +4,7 @@ Returns **`kind: continuum/chart/v1`** for agent chat, KeyGen attachments, and D
|
|
|
4
4
|
|
|
5
5
|
## Workflow
|
|
6
6
|
|
|
7
|
-
1. **Fetch OHLCV** with a source the **operator chose** (CoinGecko, CoinMarketCap, `ctm_*_fetch_ohlcv`, exchange APIs, subgraphs, etc.). Never auto-load catalog MCP servers.
|
|
7
|
+
1. **Fetch OHLCV** with a source the **operator chose** (CoinGecko, CoinMarketCap, Coinbase, Binance, `ctm_*_fetch_ohlcv`, exchange APIs, subgraphs, etc.). Never auto-load catalog MCP servers.
|
|
8
8
|
2. **`prepare_chart_from_rows`** — preferred for a single feed: pass **`rows`** (bar array) or **`toolResult`** (full prior MCP JSON). Never `{}`.
|
|
9
9
|
3. **`prepare_chart`** — advanced: multi-series, custom overlays, or shorthand **`bars`** / **`toolResult`**.
|
|
10
10
|
|
|
@@ -22,6 +22,7 @@ Each object in **`series[].data`** is normalized before charting. **`prepare_cha
|
|
|
22
22
|
| Hyperliquid `fetch_ohlcv` | `timestampMs` | strings → coerced |
|
|
23
23
|
| GMX `fetch_ohlcv` | `timestampMs` | strings (no volume on row); top-level `{ symbol, timeframe, candles }` |
|
|
24
24
|
| Binance `get_klines` (JSON) | `openTime` (ms) | strings → coerced |
|
|
25
|
+
| Coinbase `get_product_candles` | `time` (sec, Continuum-normalized) | numbers |
|
|
25
26
|
| Bybit `getMarketKline` | tuple `[startTime, …]` or `{ startTime, open, … }` | strings → coerced |
|
|
26
27
|
| Bitget REST / MCP | tuple `[ts, o,h,l,c,vol,…]` or `{ timestamp, … }` | strings → coerced |
|
|
27
28
|
| CoinMarketCap keyless (`get_kline_candles`) | `time` (Unix **seconds**) | numbers; `{ candles: [...] }` wrapper |
|
|
@@ -49,9 +50,10 @@ SDK charting is **vendor-agnostic** after fetch:
|
|
|
49
50
|
- **`ctm_uniswap_v4_fetch_ohlcv`** returns `{ symbol, timeframe, chainId, candles, dataSource, … }` — pass full tool result to **`prepare_chart_from_rows`**. Other **`ctm_uniswap_v4_*`** tools (quote/swap/LP) do not return candles.
|
|
50
51
|
- Times in **milliseconds** (>1e12) are converted to **seconds** automatically.
|
|
51
52
|
- **`open` / `high` / `low` / `close` / `volume`** may be numbers or numeric strings.
|
|
52
|
-
- **Tuple rows** (Binance/Bybit/Bitget native arrays) may be passed directly in **`series[].data`**.
|
|
53
|
-
- Pass **`ohlcv.candles`** / **`klines`** / **`result.list`**
|
|
54
|
-
- Binance MCP defaults to markdown; use **`response_format: "json"`**
|
|
53
|
+
- **Tuple rows** (Binance/Bybit/Bitget native arrays) may be passed directly in **`series[].data`** when using advanced **`prepare_chart`**.
|
|
54
|
+
- Pass **`ohlcv.candles`** / **`klines`** / **`result.list`** via **`prepare_chart_from_rows`** **`toolResult`** (preferred) — not hand-mapped into **`series[0].data`** unless using advanced **`prepare_chart`**.
|
|
55
|
+
- **Binance MCP** defaults to markdown; use **`response_format: "json"`**, parse the text into an object if needed, then **`prepare_chart_from_rows({ title, toolResult })`** with the full `{ symbol, interval, klines, count }` payload. Keep **`openTime`** — do not rewrite to **`time`** / **`timestampMs`**. Live tick binding: **`binance.tickerPrice`**.
|
|
56
|
+
- **Coinbase** **`coinbase-public__get_product_candles`** returns Continuum-normalized **`candles`** (`time`/`open`/`high`/`low`/`close`/`volume?`) with **`dataSource: coinbase_candles`** — pass the full object to **`prepare_chart_from_rows`**. Live tick binding: **`coinbase.productTicker`**.
|
|
55
57
|
- CMC **`coinmarketcap-public__get_kline_candles`** returns **`candles`** with `time`/`open`/`high`/`low`/`close`/`volume` — pass the full tool result object to **`prepare_chart_from_rows`** (not a JSON string). Use **`lookbackDays`** or **`from`/`to`** so the fetch covers the requested window; `limit` alone without time bounds used to return oldest bars.
|
|
56
58
|
## Default indicators (candlestick)
|
|
57
59
|
|
|
@@ -72,7 +74,7 @@ Operator-specific overrides (different EMA period, add MACD, disable RSI): edit
|
|
|
72
74
|
|
|
73
75
|
## Lookback & bar budget
|
|
74
76
|
|
|
75
|
-
### `prepare_chart_from_rows` + fetch `toolResult` (Hyperliquid, GMX, CoinGecko, CMC)
|
|
77
|
+
### `prepare_chart_from_rows` + fetch `toolResult` (Hyperliquid, GMX, CoinGecko, CMC, Binance)
|
|
76
78
|
|
|
77
79
|
**Do not trim or slice candles before this call.** Pass the **full, unmodified** fetch JSON as `toolResult`. The chart layer downsamples for **display** via `options.maxPoints` (default 400) — that is not the same as deleting history from the fetch.
|
|
78
80
|
|
|
@@ -141,8 +143,11 @@ Add **`overlays`** to compute indicators from a **`sourceSeriesId`** (candlestic
|
|
|
141
143
|
| `rsi` | **oscillator below** | `period` (default **14**) | RSI line (0–100 scale) |
|
|
142
144
|
| `macd` | **oscillator below** | `fastPeriod`, `slowPeriod`, `signalPeriod` (defaults 12/26/9) | MACD line, signal line, signed histogram |
|
|
143
145
|
| `stochasticrsi` | **oscillator below** | `rsiPeriod`, `stochasticPeriod`, `kPeriod`, `dPeriod` | %K and %D lines |
|
|
146
|
+
| `obv` | **oscillator below** | (none) | On-balance volume (requires volume) |
|
|
147
|
+
| `ad` | **oscillator below** | (none) | Chaikin A/D line (requires volume) |
|
|
148
|
+
| `adosc` | **oscillator below** | `fastPeriod` (default **3**), `slowPeriod` (default **10**) | Chaikin A/D oscillator (requires volume) |
|
|
144
149
|
|
|
145
|
-
Each
|
|
150
|
+
Each oscillator overlay (`rsi`, `macd`, `stochasticrsi`, `obv`, `ad`, `adosc`, …) gets its **own sub-pane** under the price chart. Volume indicators need a volume histogram series (or per-bar volume on candles). Time axes stay synced; the time scale is shown on the **bottom** pane only.
|
|
146
151
|
|
|
147
152
|
```json
|
|
148
153
|
{
|
|
@@ -307,7 +312,7 @@ When the user asks to graph, plot, or chart data, call **`prepare_chart_from_row
|
|
|
307
312
|
|
|
308
313
|
## Live updates (agent chat + DeFi dialogs)
|
|
309
314
|
|
|
310
|
-
When `prepare_chart_from_rows` receives a fetch payload the SDK recognizes (Hyperliquid `ohlcv`, Arcus `ohlcv` with `dataSource: "arcus"`, GMX flat `{ symbol, timeframe, candles }`, CoinGecko market chart), the output may include optional **`live`**:
|
|
315
|
+
When `prepare_chart_from_rows` receives a fetch payload the SDK recognizes (Hyperliquid `ohlcv`, Arcus `ohlcv` with `dataSource: "arcus"`, GMX flat `{ symbol, timeframe, candles }`, Coinbase `{ dataSource: coinbase_candles, productId, candles }`, Binance `{ symbol, interval, klines }`, CoinGecko market chart), the output may include optional **`live`**:
|
|
311
316
|
|
|
312
317
|
```json
|
|
313
318
|
{
|
|
@@ -330,6 +335,8 @@ The node app polls a **tick adapter** registered for `providerId` every `pollMs`
|
|
|
330
335
|
| `hyperliquid.allMids` | Hyperliquid `allMids` for `params.coin` |
|
|
331
336
|
| `arcus.allMids` | Arcus all-mids for `params.market` (chain 4663) |
|
|
332
337
|
| `gmx.markPrice` | GMX index mark USD for `params.symbol` |
|
|
338
|
+
| `binance.tickerPrice` | Binance public last price for `params.symbol` (e.g. `BTCUSDT`) |
|
|
339
|
+
| `coinbase.productTicker` | Coinbase Advanced Trade last trade price for `params.productId` (e.g. `BTC-USD`) |
|
|
333
340
|
| `coingecko.simple` | CoinGecko simple price for `params.coinId` |
|
|
334
341
|
|
|
335
342
|
**Static charts:** KeyGen chart attachments and charts without `live` are never polled. **`prepare_chart`** alone does not attach `live` — pass the original fetch JSON via **`prepare_chart_from_rows`** (`toolResult`) so binding can be inferred.
|
|
@@ -360,8 +367,8 @@ Use **`list_chart_customization_options`** to discover overlay types, drawing to
|
|
|
360
367
|
|
|
361
368
|
**Typical workflow:**
|
|
362
369
|
|
|
363
|
-
1. **`list_chart_customization_options`** — read available indicators, pane layout rules, drawing types.
|
|
364
|
-
2. **`prepare_chart` / `prepare_chart_from_rows`** with explicit **`overlays`** (replace defaults
|
|
370
|
+
1. **`list_chart_customization_options`** — read available indicators (with summaries), pane layout rules, drawing types. Always call this instead of inventing the indicator list.
|
|
371
|
+
2. **`prepare_chart` / `prepare_chart_from_rows`** with explicit **`overlays`** (or **`prepareReplay`**) to replace defaults, or **`options.skipDefaultOverlays`: true**. When a chart already exists, prefer **`apply_chart_drawings`** with merged **`prepareReplay.overlays`**.
|
|
365
372
|
3. **Drawing tools** — compute levels, then apply:
|
|
366
373
|
- **`calculate_key_levels`** — swing support/resistance from recent bars
|
|
367
374
|
- **`calculate_pivot_points`** — classic pivot levels for a session
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Coinbase Advanced Trade (public)
|
|
2
|
+
|
|
3
|
+
Built-in MCP on **continuum-mcp** at `/mcp/coinbase-public`. Catalog id **`coinbase-public`**.
|
|
4
|
+
|
|
5
|
+
Load only when the operator chooses Coinbase — see skill **`chart-ohlcv-sources`**.
|
|
6
|
+
|
|
7
|
+
## Tools
|
|
8
|
+
|
|
9
|
+
| Tool | Purpose |
|
|
10
|
+
|------|---------|
|
|
11
|
+
| **`get_product_candles`** | Spot OHLCV → Continuum bars `{ time, open, high, low, close, volume? }`, `dataSource: coinbase_candles` |
|
|
12
|
+
| **`list_products`** / **`search_products`** | Discover `BTC-USD`-style product ids |
|
|
13
|
+
| **`get_product_ticker`** | Last trade / price |
|
|
14
|
+
| **`get_product_book`** | Spot book as **NormalizedDepthSnapshot** under `book` |
|
|
15
|
+
|
|
16
|
+
Pass the full **`get_product_candles`** result to **`prepare_chart_from_rows`** / **`analyze_*`** as `toolResult`. Do not rewrite bars.
|
|
17
|
+
|
|
18
|
+
## Auth
|
|
19
|
+
|
|
20
|
+
- **Default:** keyless public market endpoints (`/api/v3/brokerage/market/...`).
|
|
21
|
+
- **Optional premium:** set Variables **`COINBASE_CDP_API_KEY_NAME`** and **`COINBASE_CDP_API_PRIVATE_KEY`** (ECDSA PEM; literal `\n` escapes OK). When both are set, tools prefer authenticated brokerage routes; public tools still work if unset.
|
|
22
|
+
|
|
23
|
+
Never pass secret values in tool args. Agents see names / `envConfigured` only.
|
|
24
|
+
|
|
25
|
+
## Liquidity depth
|
|
26
|
+
|
|
27
|
+
Use **`continuum__analyze_liquidity_depth`** with `depthExchangeId: "coinbase"` and the same OHLCV session (product id like `BTC-USD`). Averaged spot walls only — not a Trade Idea.
|
|
28
|
+
|
|
29
|
+
## Trade ideas
|
|
30
|
+
|
|
31
|
+
Coinbase OHLCV is a valid candle source for analyze → trade ideas (`ds=cb`). Build Trade execution stays Hyperliquid / Arcus / GMX / Uniswap.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../../src/mcp/server/http-transport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../../src/mcp/server/http-transport.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,KAAK,SAAS,EAAC,MAAM,8BAA8B,CAAC;AAI9E,MAAM,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAiDF,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,YAAY,GAAG,YAAY,EAAE,EACrC,OAAO,GAAE,oBAAyB,GAChC,OAAO,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAC,CAAC,CAmDpD"}
|
|
@@ -1,121 +1,41 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
|
-
import { createMcpExpressApp } from '@modelcontextprotocol/
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { createMcpExpressApp } from '@modelcontextprotocol/express';
|
|
3
|
+
import { toNodeHandler } from '@modelcontextprotocol/node';
|
|
4
|
+
import { createMcpHandler } from '@modelcontextprotocol/server';
|
|
5
5
|
import { runWithOhlcvSessionAsync } from '../ohlcv-session-context.js';
|
|
6
|
-
import { clearChartPatternAnalysisSession } from '../../core/chart/chart-pattern-session-store.js';
|
|
7
|
-
import { clearOhlcvSession } from '../../core/chart/ohlcv-session-store.js';
|
|
8
6
|
function resolveHttpOptions(options = {}) {
|
|
9
7
|
const host = options.host ?? process.env['MCP_HTTP_HOST'] ?? '127.0.0.1';
|
|
10
|
-
const port = Number(process.env['MCP_HTTP_PORT'] ?? process.env['MCP_PORT'] ?? '3000');
|
|
8
|
+
const port = Number(options.port ?? process.env['MCP_HTTP_PORT'] ?? process.env['MCP_PORT'] ?? '3000');
|
|
11
9
|
if (!Number.isInteger(port) || port <= 0 || port > 65_535) {
|
|
12
10
|
throw new Error(`Invalid MCP HTTP port: ${String(port)}`);
|
|
13
11
|
}
|
|
14
12
|
return { host, port };
|
|
15
13
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (sid && transports[sid]) {
|
|
38
|
-
delete transports[sid];
|
|
39
|
-
}
|
|
40
|
-
if (sid) {
|
|
41
|
-
clearOhlcvSession(sid);
|
|
42
|
-
clearChartPatternAnalysisSession(sid);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
const server = createServer();
|
|
46
|
-
await server.connect(transport);
|
|
47
|
-
await runWithOhlcvSessionAsync(transport.sessionId, () => transport.handleRequest(req, res, req.body));
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
res.status(400).json({
|
|
52
|
-
jsonrpc: '2.0',
|
|
53
|
-
error: {
|
|
54
|
-
code: -32_000,
|
|
55
|
-
message: 'Bad Request: No valid session ID provided',
|
|
56
|
-
},
|
|
57
|
-
id: null,
|
|
58
|
-
});
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
await runWithOhlcvSessionAsync(sessionId ?? transport.sessionId, () => transport.handleRequest(req, res, req.body));
|
|
62
|
-
}
|
|
63
|
-
catch (error) {
|
|
64
|
-
console.error('Error handling MCP request:', error);
|
|
65
|
-
if (!res.headersSent) {
|
|
66
|
-
res.status(500).json({
|
|
67
|
-
jsonrpc: '2.0',
|
|
68
|
-
error: {
|
|
69
|
-
code: -32_603,
|
|
70
|
-
message: 'Internal server error',
|
|
71
|
-
},
|
|
72
|
-
id: null,
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
const mcpGetHandler = async (req, res) => {
|
|
78
|
-
const sessionIdHeader = req.headers['mcp-session-id'];
|
|
79
|
-
const sessionId = Array.isArray(sessionIdHeader)
|
|
80
|
-
? sessionIdHeader[0]
|
|
81
|
-
: sessionIdHeader;
|
|
82
|
-
if (!sessionId || !transports[sessionId]) {
|
|
83
|
-
res.status(400).send('Invalid or missing session ID');
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
await transports[sessionId].handleRequest(req, res);
|
|
87
|
-
};
|
|
88
|
-
const mcpDeleteHandler = async (req, res) => {
|
|
89
|
-
const sessionIdHeader = req.headers['mcp-session-id'];
|
|
90
|
-
const sessionId = Array.isArray(sessionIdHeader)
|
|
91
|
-
? sessionIdHeader[0]
|
|
92
|
-
: sessionIdHeader;
|
|
93
|
-
if (!sessionId || !transports[sessionId]) {
|
|
94
|
-
res.status(400).send('Invalid or missing session ID');
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
try {
|
|
98
|
-
await transports[sessionId].handleRequest(req, res);
|
|
99
|
-
}
|
|
100
|
-
catch (error) {
|
|
101
|
-
console.error('Error handling session termination:', error);
|
|
102
|
-
if (!res.headersSent) {
|
|
103
|
-
res.status(500).send('Error processing session termination');
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
const closeTransports = async () => {
|
|
108
|
-
for (const activeSessionId of Object.keys(transports)) {
|
|
109
|
-
try {
|
|
110
|
-
await transports[activeSessionId].close();
|
|
111
|
-
delete transports[activeSessionId];
|
|
112
|
-
}
|
|
113
|
-
catch (error) {
|
|
114
|
-
console.error(`Error closing transport for session ${activeSessionId}:`, error);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
14
|
+
/**
|
|
15
|
+
* MCP 2026-07-28 only: per-request servers via createMcpHandler (no Mcp-Session-Id).
|
|
16
|
+
* Cross-request chart/OHLCV state must use explicit handles, not transport sessions.
|
|
17
|
+
* Cross-request DeFi load state must use a shared DefiProtocolContext from the route factory
|
|
18
|
+
* (see server/index.ts) — a fresh context per request makes load_defi_protocol a no-op for ctm_*.
|
|
19
|
+
*/
|
|
20
|
+
function mountMcpRoute(app, route) {
|
|
21
|
+
const handler = createMcpHandler(route.createServer, { legacy: 'reject' });
|
|
22
|
+
const nodeHandler = toNodeHandler(handler, {
|
|
23
|
+
onerror: error => {
|
|
24
|
+
console.error(`MCP handler error on ${route.path}:`, error);
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
const wrapped = async (req, res) => {
|
|
28
|
+
const requestKey = randomUUID();
|
|
29
|
+
await runWithOhlcvSessionAsync(requestKey, async () => {
|
|
30
|
+
// createMcpExpressApp mounts express.json(); pass the pre-parsed body so
|
|
31
|
+
// toNodeHandler does not re-read an already-consumed request stream
|
|
32
|
+
// (empty body → JSON-RPC parse error → go-sdk falls back to initialize → 400).
|
|
33
|
+
await nodeHandler(req, res, req.body);
|
|
34
|
+
});
|
|
117
35
|
};
|
|
118
|
-
|
|
36
|
+
app.all(route.path, (req, res, next) => {
|
|
37
|
+
void wrapped(req, res).catch(next);
|
|
38
|
+
});
|
|
119
39
|
}
|
|
120
40
|
export async function startHttpTransportServer(routes, options = {}) {
|
|
121
41
|
const routeList = Array.isArray(routes) ? routes : [routes];
|
|
@@ -124,14 +44,9 @@ export async function startHttpTransportServer(routes, options = {}) {
|
|
|
124
44
|
}
|
|
125
45
|
const { host, port } = resolveHttpOptions(options);
|
|
126
46
|
const app = createMcpExpressApp({ host });
|
|
127
|
-
const closeHandlers = [];
|
|
128
47
|
const urls = [];
|
|
129
48
|
for (const route of routeList) {
|
|
130
|
-
|
|
131
|
-
app.post(route.path, mcpPostHandler);
|
|
132
|
-
app.get(route.path, mcpGetHandler);
|
|
133
|
-
app.delete(route.path, mcpDeleteHandler);
|
|
134
|
-
closeHandlers.push(closeTransports);
|
|
49
|
+
mountMcpRoute(app, route);
|
|
135
50
|
urls.push(new URL(`http://${host}:${port}${route.path}`));
|
|
136
51
|
}
|
|
137
52
|
const httpServer = await new Promise((resolve, reject) => {
|
|
@@ -144,12 +59,9 @@ export async function startHttpTransportServer(routes, options = {}) {
|
|
|
144
59
|
});
|
|
145
60
|
});
|
|
146
61
|
for (const url of urls) {
|
|
147
|
-
console.error(`Continuum MCP Server listening on ${url.toString()}`);
|
|
62
|
+
console.error(`Continuum MCP Server listening on ${url.toString()} (MCP 2026-07-28)`);
|
|
148
63
|
}
|
|
149
64
|
const close = async () => {
|
|
150
|
-
for (const closeTransports of closeHandlers) {
|
|
151
|
-
await closeTransports();
|
|
152
|
-
}
|
|
153
65
|
await new Promise((resolve, reject) => {
|
|
154
66
|
httpServer.close(error => {
|
|
155
67
|
if (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-transport.js","sourceRoot":"","sources":["../../../src/mcp/server/http-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"http-transport.js","sourceRoot":"","sources":["../../../src/mcp/server/http-transport.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { createCoinbasePublicMcpServer } from '../coinbase-public/register.js';
|
|
1
2
|
import { createCoinMarketCapPublicMcpServer } from '../coinmarketcap-public/register.js';
|
|
3
|
+
import { DefiProtocolContext } from '../defi/context.js';
|
|
2
4
|
import { createContinuumMcpServer } from '../register.js';
|
|
3
5
|
import { createTaMcpServer } from '../ta/register.js';
|
|
4
6
|
import { createVpnMcpServer } from '../vpn.js';
|
|
@@ -10,11 +12,19 @@ async function main() {
|
|
|
10
12
|
const taPath = process.env['MCP_HTTP_TA_PATH'] ?? '/mcp/ta';
|
|
11
13
|
const vpnPath = process.env['MCP_HTTP_VPN_PATH'] ?? '/mcp/vpn';
|
|
12
14
|
const cmcPublicPath = process.env['MCP_HTTP_CMC_PUBLIC_PATH'] ?? '/mcp/cmc-public';
|
|
15
|
+
const coinbasePublicPath = process.env['MCP_HTTP_COINBASE_PUBLIC_PATH'] ?? '/mcp/coinbase-public';
|
|
16
|
+
// createMcpHandler builds a new McpServer per HTTP request (no Mcp-Session-Id).
|
|
17
|
+
// Share DefiProtocolContext so load_defi_protocol survives into later tools/call.
|
|
18
|
+
const sharedDefiContext = new DefiProtocolContext();
|
|
13
19
|
await startHttpTransportServer([
|
|
14
|
-
{
|
|
20
|
+
{
|
|
21
|
+
path: mainPath,
|
|
22
|
+
createServer: () => createContinuumMcpServer(config, { defiContext: sharedDefiContext }),
|
|
23
|
+
},
|
|
15
24
|
{ path: taPath, createServer: () => createTaMcpServer() },
|
|
16
25
|
{ path: vpnPath, createServer: () => createVpnMcpServer(config) },
|
|
17
26
|
{ path: cmcPublicPath, createServer: () => createCoinMarketCapPublicMcpServer(config) },
|
|
27
|
+
{ path: coinbasePublicPath, createServer: () => createCoinbasePublicMcpServer(config) },
|
|
18
28
|
]);
|
|
19
29
|
}
|
|
20
30
|
main().catch(error => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kCAAkC,EAAC,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAC,wBAAwB,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,kBAAkB,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAE7D,KAAK,UAAU,IAAI;IAClB,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC;IAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,UAAU,CAAC;IAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,6BAA6B,EAAC,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAC,kCAAkC,EAAC,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAC,wBAAwB,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,kBAAkB,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAE7D,KAAK,UAAU,IAAI;IAClB,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC;IAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,UAAU,CAAC;IAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,iBAAiB,CAAC;IACnF,MAAM,kBAAkB,GACvB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,IAAI,sBAAsB,CAAC;IAExE,gFAAgF;IAChF,kFAAkF;IAClF,MAAM,iBAAiB,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAEpD,MAAM,wBAAwB,CAAC;QAC9B;YACC,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,GAAG,EAAE,CAClB,wBAAwB,CAAC,MAAM,EAAE,EAAC,WAAW,EAAE,iBAAiB,EAAC,CAAC;SACnE;QACD,EAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE,EAAC;QACvD,EAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAC;QAC/D,EAAC,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,kCAAkC,CAAC,MAAM,CAAC,EAAC;QACrF,EAAC,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAC;KACrF,CAAC,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACpB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { McpServer } from
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/server";
|
|
2
2
|
import { mcpStructuredContent } from '../tool-utils.js';
|
|
3
3
|
export declare function registerTaTools(server: McpServer): void;
|
|
4
4
|
export declare function registerTaResources(server: McpServer): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/mcp/ta/register.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/mcp/ta/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAYzD,OAAO,EAAC,oBAAoB,EAA4B,MAAM,kBAAkB,CAAC;AAEjF,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyBvD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAO3D;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAiB7C;AAED,OAAO,EAAC,oBAAoB,EAAC,CAAC"}
|
package/dist/mcp/ta/register.js
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { McpServer } from
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/server";
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { calculateTechnicalIndicator, listTechnicalIndicators, } from '../../core/ta/calculate.js';
|
|
4
4
|
import { CalculateTechnicalIndicatorInputSchema, CalculateTechnicalIndicatorOutputSchema, ListTechnicalIndicatorsOutputSchema, } from '../../core/ta/schemas.js';
|
|
5
5
|
import { registerMcpMarkdownResource } from '../mcp-resources.js';
|
|
6
6
|
import { mcpStructuredContent, sdkResultToCallToolResult } from '../tool-utils.js';
|
|
7
7
|
export function registerTaTools(server) {
|
|
8
|
+
/* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. | Could not verify `outputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
|
|
8
9
|
server.registerTool('list_technical_indicators', {
|
|
9
10
|
description: 'List technical indicators available via calculate_technical_indicator: id, category, inputProfile, defaultParams, outputKind. Call this before computing.',
|
|
10
11
|
inputSchema: z.object({}).strict(),
|
|
11
12
|
outputSchema: ListTechnicalIndicatorsOutputSchema,
|
|
12
13
|
}, async () => sdkResultToCallToolResult(listTechnicalIndicators()));
|
|
14
|
+
/* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. | Could not verify `outputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
|
|
13
15
|
server.registerTool('calculate_technical_indicator', {
|
|
14
16
|
description: 'Compute one technical indicator from time series or OHLC(V) arrays. Use list_technical_indicators for inputProfile requirements. Supports params (period, stdDev, etc.), options.trimWarmup, options.maxPoints.',
|
|
15
17
|
inputSchema: CalculateTechnicalIndicatorInputSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/mcp/ta/register.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/mcp/ta/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,EACN,2BAA2B,EAC3B,uBAAuB,GACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,sCAAsC,EACtC,uCAAuC,EACvC,mCAAmC,GACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,2BAA2B,EAAC,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAC,oBAAoB,EAAE,yBAAyB,EAAC,MAAM,kBAAkB,CAAC;AAEjF,MAAM,UAAU,eAAe,CAAC,MAAiB;IAChD,qYAAqY;IACrY,MAAM,CAAC,YAAY,CAClB,2BAA2B,EAC3B;QACC,WAAW,EACV,2JAA2J;QAC5J,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,YAAY,EAAE,mCAAmC;KACjD,EACD,KAAK,IAAI,EAAE,CAAC,yBAAyB,CAAC,uBAAuB,EAAE,CAAC,CAChE,CAAC;IAEF,qYAAqY;IACrY,MAAM,CAAC,YAAY,CAClB,+BAA+B,EAC/B;QACC,WAAW,EACV,iNAAiN;QAClN,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE,uCAAuC;KACrD,EACD,KAAK,EAAE,KAA6D,EAAE,EAAE,CACvE,yBAAyB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAC9D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACpD,2BAA2B,CAC1B,MAAM,EACN,2BAA2B,EAC3B,yBAAyB,EACzB,uEAAuE,CACvE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,MAAM,MAAM,GAAG,IAAI,SAAS,CAC3B;QACC,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,OAAO;KAChB,EACD;QACC,YAAY,EAAE;YACb,KAAK,EAAE,EAAE;SACT;KACD,CACD,CAAC;IAEF,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE5B,OAAO,MAAM,CAAC;AACf,CAAC;AAED,OAAO,EAAC,oBAAoB,EAAC,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { serveStdio } from '@modelcontextprotocol/server/stdio';
|
|
2
2
|
import { createTaMcpServer } from '../ta/register.js';
|
|
3
3
|
async function main() {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
await server.connect(transport);
|
|
4
|
+
// MCP 2026-07-28 only — refuse legacy initialize clients.
|
|
5
|
+
await serveStdio(() => createTaMcpServer(), { legacy: 'reject' });
|
|
7
6
|
}
|
|
8
7
|
main().catch(error => {
|
|
9
8
|
console.error('Fatal error in ta-mcp main():', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/ta-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/ta-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,KAAK,UAAU,IAAI;IAClB,0DAA0D;IAC1D,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC;AACjE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACpB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
package/dist/mcp/tool-utils.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-utils.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"tool-utils.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,6CAAiC,CAAC;AAEtE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ3E;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAC1C,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAClB,cAAc,CAYhB;AAED,wBAAsB,OAAO,CAAC,CAAC,EAC9B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,cAAc,CAAC,CAEzB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { McpServer } from
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/server";
|
|
2
2
|
import type { NodeSdkConfig } from '../config/schema.js';
|
|
3
3
|
import type { DefiProtocolContext } from './defi/context.js';
|
|
4
4
|
import { camelToSnake } from './tool-utils.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trade-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/trade-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"trade-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/trade-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAqBvD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAA0B,YAAY,EAAqC,MAAM,iBAAiB,CAAC;AAoQ1G,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,mBAAmB,GAC9B,IAAI,CAoPN;AAED,OAAO,EAAC,YAAY,EAAC,CAAC"}
|