@continuumdao/continuum-node-sdk 1.3.21 → 1.3.23
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/core/chart/chart-defaults.d.ts +4 -0
- package/dist/core/chart/chart-defaults.d.ts.map +1 -1
- package/dist/core/chart/chart-defaults.js +25 -0
- package/dist/core/chart/chart-defaults.js.map +1 -1
- package/dist/core/chart/index.d.ts +1 -0
- package/dist/core/chart/index.d.ts.map +1 -1
- package/dist/core/chart/index.js +1 -0
- package/dist/core/chart/index.js.map +1 -1
- package/dist/core/chart/live/binding-extract.d.ts +12 -0
- package/dist/core/chart/live/binding-extract.d.ts.map +1 -0
- package/dist/core/chart/live/binding-extract.js +104 -0
- package/dist/core/chart/live/binding-extract.js.map +1 -0
- package/dist/core/chart/live/index.d.ts +6 -0
- package/dist/core/chart/live/index.d.ts.map +1 -0
- package/dist/core/chart/live/index.js +6 -0
- package/dist/core/chart/live/index.js.map +1 -0
- package/dist/core/chart/live/interval.d.ts +3 -0
- package/dist/core/chart/live/interval.d.ts.map +1 -0
- package/dist/core/chart/live/interval.js +30 -0
- package/dist/core/chart/live/interval.js.map +1 -0
- package/dist/core/chart/live/merge-tick.d.ts +21 -0
- package/dist/core/chart/live/merge-tick.d.ts.map +1 -0
- package/dist/core/chart/live/merge-tick.js +106 -0
- package/dist/core/chart/live/merge-tick.js.map +1 -0
- package/dist/core/chart/live/refresh.d.ts +12 -0
- package/dist/core/chart/live/refresh.d.ts.map +1 -0
- package/dist/core/chart/live/refresh.js +47 -0
- package/dist/core/chart/live/refresh.js.map +1 -0
- package/dist/core/chart/live/schemas.d.ts +21 -0
- package/dist/core/chart/live/schemas.d.ts.map +1 -0
- package/dist/core/chart/live/schemas.js +23 -0
- package/dist/core/chart/live/schemas.js.map +1 -0
- package/dist/core/chart/prepare-from-rows.d.ts +7 -0
- package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
- package/dist/core/chart/prepare-from-rows.js +11 -9
- 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 +14 -2
- package/dist/core/chart/prepare.js.map +1 -1
- package/dist/core/chart/schemas.d.ts +7 -0
- package/dist/core/chart/schemas.d.ts.map +1 -1
- package/dist/core/chart/schemas.js +2 -0
- package/dist/core/chart/schemas.js.map +1 -1
- package/dist/mcp/resources/chart.md +28 -0
- package/package.json +2 -2
|
@@ -4,11 +4,15 @@ import type { PrepareChartInput } from './schemas.js';
|
|
|
4
4
|
export declare const DEFAULT_CHART_EMA_PERIOD = 50;
|
|
5
5
|
/** Default RSI oscillator pane when the caller omits `overlays`. */
|
|
6
6
|
export declare const DEFAULT_CHART_RSI_PERIOD = 14;
|
|
7
|
+
/** Distinct overlay color for default EMA on the main price pane. */
|
|
8
|
+
export declare const DEFAULT_CHART_EMA_COLOR = "#FFA726";
|
|
7
9
|
export declare function primaryCandlestickSeriesId(series: PrepareChartInput['series']): string | null;
|
|
8
10
|
export declare function hasHistogramVolumeSeries(series: PrepareChartInput['series']): boolean;
|
|
9
11
|
/** Promote per-bar `volume` on candlestick rows into a histogram series when none exists. */
|
|
10
12
|
export declare function ensureVolumeHistogramSeries(input: PrepareChartInput): PrepareChartInput;
|
|
11
13
|
export declare function buildDefaultCandlestickOverlays(sourceSeriesId: string, barCount: number): ChartOverlayInput[];
|
|
12
14
|
export declare function shouldApplyDefaultCandlestickOverlays(series: PrepareChartInput['series']): boolean;
|
|
15
|
+
/** Warnings when default overlays are partially omitted (e.g. RSI but not EMA). */
|
|
16
|
+
export declare function defaultOverlayChartWarnings(series: PrepareChartInput['series']): string[];
|
|
13
17
|
export declare function resolvePrepareChartOverlays(input: PrepareChartInput): ChartOverlayInput[] | undefined;
|
|
14
18
|
//# sourceMappingURL=chart-defaults.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-defaults.d.ts","sourceRoot":"","sources":["../../../src/core/chart/chart-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAGpD,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"chart-defaults.d.ts","sourceRoot":"","sources":["../../../src/core/chart/chart-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAGpD,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,qEAAqE;AACrE,eAAO,MAAM,uBAAuB,YAAY,CAAC;AAEjD,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GACjC,MAAM,GAAG,IAAI,CAGf;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAErF;AAED,6FAA6F;AAC7F,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,iBAAiB,GACtB,iBAAiB,CA0CnB;AAED,wBAAgB,+BAA+B,CAC9C,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,GACd,iBAAiB,EAAE,CAyBrB;AAED,wBAAgB,qCAAqC,CACpD,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GACjC,OAAO,CAST;AAED,mFAAmF;AACnF,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GACjC,MAAM,EAAE,CAgBV;AAED,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,iBAAiB,GACtB,iBAAiB,EAAE,GAAG,SAAS,CAkBjC"}
|
|
@@ -3,6 +3,8 @@ import { coerceFiniteNumber, ohlcvTupleToRow, parseChartTimeFromRow } from './po
|
|
|
3
3
|
export const DEFAULT_CHART_EMA_PERIOD = 50;
|
|
4
4
|
/** Default RSI oscillator pane when the caller omits `overlays`. */
|
|
5
5
|
export const DEFAULT_CHART_RSI_PERIOD = 14;
|
|
6
|
+
/** Distinct overlay color for default EMA on the main price pane. */
|
|
7
|
+
export const DEFAULT_CHART_EMA_COLOR = '#FFA726';
|
|
6
8
|
export function primaryCandlestickSeriesId(series) {
|
|
7
9
|
const candle = series.find(s => s.type === 'candlestick');
|
|
8
10
|
return candle?.id ?? null;
|
|
@@ -57,6 +59,11 @@ export function buildDefaultCandlestickOverlays(sourceSeriesId, barCount) {
|
|
|
57
59
|
period: DEFAULT_CHART_EMA_PERIOD,
|
|
58
60
|
label: `EMA(${DEFAULT_CHART_EMA_PERIOD})`,
|
|
59
61
|
overlay: true,
|
|
62
|
+
style: {
|
|
63
|
+
color: DEFAULT_CHART_EMA_COLOR,
|
|
64
|
+
lineStyle: 'solid',
|
|
65
|
+
lineWidth: 2,
|
|
66
|
+
},
|
|
60
67
|
});
|
|
61
68
|
}
|
|
62
69
|
if (barCount > DEFAULT_CHART_RSI_PERIOD) {
|
|
@@ -79,6 +86,24 @@ export function shouldApplyDefaultCandlestickOverlays(series) {
|
|
|
79
86
|
}
|
|
80
87
|
return true;
|
|
81
88
|
}
|
|
89
|
+
/** Warnings when default overlays are partially omitted (e.g. RSI but not EMA). */
|
|
90
|
+
export function defaultOverlayChartWarnings(series) {
|
|
91
|
+
if (!shouldApplyDefaultCandlestickOverlays(series)) {
|
|
92
|
+
return [];
|
|
93
|
+
}
|
|
94
|
+
const sourceId = primaryCandlestickSeriesId(series);
|
|
95
|
+
if (!sourceId) {
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
98
|
+
const candle = series.find(s => s.id === sourceId);
|
|
99
|
+
const barCount = candle?.data.length ?? 0;
|
|
100
|
+
if (barCount > DEFAULT_CHART_RSI_PERIOD && barCount < DEFAULT_CHART_EMA_PERIOD) {
|
|
101
|
+
return [
|
|
102
|
+
`Only ${barCount} bars — RSI(${DEFAULT_CHART_RSI_PERIOD}) was added but EMA(${DEFAULT_CHART_EMA_PERIOD}) needs at least ${DEFAULT_CHART_EMA_PERIOD}. Fetch a longer lookback.`,
|
|
103
|
+
];
|
|
104
|
+
}
|
|
105
|
+
return [];
|
|
106
|
+
}
|
|
82
107
|
export function resolvePrepareChartOverlays(input) {
|
|
83
108
|
if (input.overlays?.length) {
|
|
84
109
|
return input.overlays;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-defaults.js","sourceRoot":"","sources":["../../../src/core/chart/chart-defaults.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,kBAAkB,EAAE,eAAe,EAAE,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAEhG,0EAA0E;AAC1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,oEAAoE;AACpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"chart-defaults.js","sourceRoot":"","sources":["../../../src/core/chart/chart-defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,5 +10,6 @@ export { ohlcvToPrepareChartInput, normalizeOhlcvRow, type OhlcvRow, type OhlcvT
|
|
|
10
10
|
export { ohlcvRowsToChartOutput } from './ohlcv-output.js';
|
|
11
11
|
export { ohlcvTupleToRow } from './point-normalize.js';
|
|
12
12
|
export { buildOhlcvBarsFromPriceVolumeSeries, type BuiltOhlcvBar, type BuildOhlcvBarsFromPriceVolumeOptions, } from './price-volume-bars.js';
|
|
13
|
+
export { CHART_LIVE_DEFAULT_POLL_MS, CHART_LIVE_PROVIDER_COINGECKO_SIMPLE, CHART_LIVE_PROVIDER_GMX_MARK_PRICE, CHART_LIVE_PROVIDER_HYPERLIQUID_ALL_MIDS, ChartLiveBindingSchema, ChartLiveTickSchema, candlestickBarsFromChart, extractLiveBindingFromFetchPayload, intervalLabelToBucketSec, mergeLiveTickIntoBars, refreshChartFromLiveTick, type ChartLiveBinding, type ChartLiveTick, type ExtractLiveBindingOptions, type MergeLiveTickOptions, type RefreshChartFromLiveTickResult, } from './live/index.js';
|
|
13
14
|
export { CHART_V1_KIND, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_MAX_POINTS, PrepareChartInputSchema, PrepareChartOutputSchema, ChartV1PayloadSchema, type PrepareChartInput, type PrepareChartOutput, type ChartV1Payload, type ChartSeriesType, type ChartTime, } from './schemas.js';
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAE,+BAA+B,EAAC,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAC,oCAAoC,EAAC,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACN,iBAAiB,EACjB,2BAA2B,EAC3B,iBAAiB,EACjB,KAAK,uBAAuB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,2BAA2B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EACN,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,aAAa,EACb,KAAK,kBAAkB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,wBAAwB,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,KAAK,+BAA+B,EAAC,MAAM,YAAY,CAAC;AAC5H,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACN,mCAAmC,EACnC,KAAK,aAAa,EAClB,KAAK,oCAAoC,GACzC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,SAAS,GACd,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAE,+BAA+B,EAAC,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAC,oCAAoC,EAAC,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACN,iBAAiB,EACjB,2BAA2B,EAC3B,iBAAiB,EACjB,KAAK,uBAAuB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,2BAA2B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EACN,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,aAAa,EACb,KAAK,kBAAkB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,wBAAwB,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,KAAK,+BAA+B,EAAC,MAAM,YAAY,CAAC;AAC5H,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACN,mCAAmC,EACnC,KAAK,aAAa,EAClB,KAAK,oCAAoC,GACzC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,0BAA0B,EAC1B,oCAAoC,EACpC,kCAAkC,EAClC,wCAAwC,EACxC,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,kCAAkC,EAClC,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,GACnC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,SAAS,GACd,MAAM,cAAc,CAAC"}
|
package/dist/core/chart/index.js
CHANGED
|
@@ -10,5 +10,6 @@ export { ohlcvToPrepareChartInput, normalizeOhlcvRow } from './ohlcv.js';
|
|
|
10
10
|
export { ohlcvRowsToChartOutput } from './ohlcv-output.js';
|
|
11
11
|
export { ohlcvTupleToRow } from './point-normalize.js';
|
|
12
12
|
export { buildOhlcvBarsFromPriceVolumeSeries, } from './price-volume-bars.js';
|
|
13
|
+
export { CHART_LIVE_DEFAULT_POLL_MS, CHART_LIVE_PROVIDER_COINGECKO_SIMPLE, CHART_LIVE_PROVIDER_GMX_MARK_PRICE, CHART_LIVE_PROVIDER_HYPERLIQUID_ALL_MIDS, ChartLiveBindingSchema, ChartLiveTickSchema, candlestickBarsFromChart, extractLiveBindingFromFetchPayload, intervalLabelToBucketSec, mergeLiveTickIntoBars, refreshChartFromLiveTick, } from './live/index.js';
|
|
13
14
|
export { CHART_V1_KIND, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_MAX_POINTS, PrepareChartInputSchema, PrepareChartOutputSchema, ChartV1PayloadSchema, } from './schemas.js';
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAE,+BAA+B,EAAC,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAC,oCAAoC,EAAC,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACN,iBAAiB,EACjB,2BAA2B,EAC3B,iBAAiB,GAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,2BAA2B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EACN,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,aAAa,GAEb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,wBAAwB,EAAE,iBAAiB,EAAsD,MAAM,YAAY,CAAC;AAC5H,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACN,mCAAmC,GAGnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,GAMpB,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAE,+BAA+B,EAAC,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAC,oCAAoC,EAAC,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACN,iBAAiB,EACjB,2BAA2B,EAC3B,iBAAiB,GAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,2BAA2B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EACN,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,aAAa,GAEb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,wBAAwB,EAAE,iBAAiB,EAAsD,MAAM,YAAY,CAAC;AAC5H,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACN,mCAAmC,GAGnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,0BAA0B,EAC1B,oCAAoC,EACpC,kCAAkC,EAClC,wCAAwC,EACxC,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,kCAAkC,EAClC,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,GAMxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,GAMpB,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ChartLiveBinding } from './schemas.js';
|
|
2
|
+
export type ExtractLiveBindingOptions = {
|
|
3
|
+
bucketSec?: number;
|
|
4
|
+
maxPoints?: number;
|
|
5
|
+
pollMs?: number;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Infer live tick binding from a fetch tool payload (extensible like fetch-metadata).
|
|
9
|
+
* Returns undefined when the source is unknown or live tick fetch is not configured.
|
|
10
|
+
*/
|
|
11
|
+
export declare function extractLiveBindingFromFetchPayload(payload: unknown, options?: ExtractLiveBindingOptions): ChartLiveBinding | undefined;
|
|
12
|
+
//# sourceMappingURL=binding-extract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binding-extract.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/live/binding-extract.ts"],"names":[],"mappings":"AAEA,OAAO,EAKN,KAAK,gBAAgB,EACrB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,yBAAyB,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAuFF;;;GAGG;AACH,wBAAgB,kCAAkC,CACjD,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,yBAA8B,GACrC,gBAAgB,GAAG,SAAS,CA8B9B"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { DEFAULT_CHART_MAX_POINTS } from '../schemas.js';
|
|
2
|
+
import { intervalLabelToBucketSec } from './interval.js';
|
|
3
|
+
import { CHART_LIVE_DEFAULT_POLL_MS, CHART_LIVE_PROVIDER_COINGECKO_SIMPLE, CHART_LIVE_PROVIDER_GMX_MARK_PRICE, CHART_LIVE_PROVIDER_HYPERLIQUID_ALL_MIDS, } from './schemas.js';
|
|
4
|
+
function bindingFromHyperliquidOhlcv(ohlcv, options) {
|
|
5
|
+
const coinRaw = ohlcv.coin ?? ohlcv.symbol;
|
|
6
|
+
const coin = typeof coinRaw === 'string' ? coinRaw.trim() : '';
|
|
7
|
+
if (!coin) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
const intervalRaw = ohlcv.interval ?? ohlcv.timeframe;
|
|
11
|
+
const interval = typeof intervalRaw === 'string' ? intervalRaw.trim() : '';
|
|
12
|
+
const bucketSec = options.bucketSec ??
|
|
13
|
+
(interval ? intervalLabelToBucketSec(interval) : null) ??
|
|
14
|
+
900;
|
|
15
|
+
const dexRaw = ohlcv.dex;
|
|
16
|
+
return {
|
|
17
|
+
providerId: CHART_LIVE_PROVIDER_HYPERLIQUID_ALL_MIDS,
|
|
18
|
+
bucketSec,
|
|
19
|
+
pollMs: options.pollMs ?? CHART_LIVE_DEFAULT_POLL_MS,
|
|
20
|
+
maxPoints: options.maxPoints ?? DEFAULT_CHART_MAX_POINTS,
|
|
21
|
+
params: {
|
|
22
|
+
coin,
|
|
23
|
+
...(interval ? { interval } : {}),
|
|
24
|
+
...(typeof dexRaw === 'string' && dexRaw.trim() ? { dex: dexRaw.trim() } : {}),
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function bindingFromGmxFlat(record, options) {
|
|
29
|
+
if (!('candles' in record)) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
const symbolRaw = record.symbol;
|
|
33
|
+
const symbol = typeof symbolRaw === 'string' ? symbolRaw.trim() : '';
|
|
34
|
+
if (!symbol) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
const intervalRaw = record.timeframe ?? record.interval;
|
|
38
|
+
const interval = typeof intervalRaw === 'string' ? intervalRaw.trim() : '15m';
|
|
39
|
+
const bucketSec = options.bucketSec ?? intervalLabelToBucketSec(interval) ?? 900;
|
|
40
|
+
const collateralRaw = record.collateralSymbol ?? record.collateralToken;
|
|
41
|
+
const collateralSymbol = typeof collateralRaw === 'string' && collateralRaw.trim()
|
|
42
|
+
? collateralRaw.trim()
|
|
43
|
+
: 'USDC';
|
|
44
|
+
return {
|
|
45
|
+
providerId: CHART_LIVE_PROVIDER_GMX_MARK_PRICE,
|
|
46
|
+
bucketSec,
|
|
47
|
+
pollMs: options.pollMs ?? CHART_LIVE_DEFAULT_POLL_MS,
|
|
48
|
+
maxPoints: options.maxPoints ?? DEFAULT_CHART_MAX_POINTS,
|
|
49
|
+
params: {
|
|
50
|
+
symbol,
|
|
51
|
+
collateralSymbol,
|
|
52
|
+
interval,
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function bindingFromCoinGecko(record, options) {
|
|
57
|
+
const coinIdRaw = record.coinId ?? record.id ?? record.coingeckoId;
|
|
58
|
+
const coinId = typeof coinIdRaw === 'string' ? coinIdRaw.trim() : '';
|
|
59
|
+
if (!coinId) {
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
const bucketSec = options.bucketSec ?? 3600;
|
|
63
|
+
return {
|
|
64
|
+
providerId: CHART_LIVE_PROVIDER_COINGECKO_SIMPLE,
|
|
65
|
+
bucketSec,
|
|
66
|
+
pollMs: options.pollMs ?? CHART_LIVE_DEFAULT_POLL_MS,
|
|
67
|
+
maxPoints: options.maxPoints ?? DEFAULT_CHART_MAX_POINTS,
|
|
68
|
+
params: {
|
|
69
|
+
coinId,
|
|
70
|
+
vsCurrency: 'usd',
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Infer live tick binding from a fetch tool payload (extensible like fetch-metadata).
|
|
76
|
+
* Returns undefined when the source is unknown or live tick fetch is not configured.
|
|
77
|
+
*/
|
|
78
|
+
export function extractLiveBindingFromFetchPayload(payload, options = {}) {
|
|
79
|
+
if (!payload || typeof payload !== 'object' || Array.isArray(payload)) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
const record = payload;
|
|
83
|
+
const fromGmx = bindingFromGmxFlat(record, options);
|
|
84
|
+
if (fromGmx) {
|
|
85
|
+
return fromGmx;
|
|
86
|
+
}
|
|
87
|
+
const ohlcv = record.ohlcv;
|
|
88
|
+
if (ohlcv && typeof ohlcv === 'object' && !Array.isArray(ohlcv)) {
|
|
89
|
+
const fromHl = bindingFromHyperliquidOhlcv(ohlcv, options);
|
|
90
|
+
if (fromHl) {
|
|
91
|
+
return fromHl;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const fromCg = bindingFromCoinGecko(record, options);
|
|
95
|
+
if (fromCg) {
|
|
96
|
+
return fromCg;
|
|
97
|
+
}
|
|
98
|
+
const result = record.result;
|
|
99
|
+
if (result && typeof result === 'object' && !Array.isArray(result)) {
|
|
100
|
+
return extractLiveBindingFromFetchPayload(result, options);
|
|
101
|
+
}
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=binding-extract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binding-extract.js","sourceRoot":"","sources":["../../../../src/core/chart/live/binding-extract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { CHART_LIVE_DEFAULT_POLL_MS, CHART_LIVE_PROVIDER_COINGECKO_SIMPLE, CHART_LIVE_PROVIDER_GMX_MARK_PRICE, CHART_LIVE_PROVIDER_HYPERLIQUID_ALL_MIDS, ChartLiveBindingSchema, ChartLiveTickSchema, type ChartLiveBinding, type ChartLiveTick, } from './schemas.js';
|
|
2
|
+
export { intervalLabelToBucketSec } from './interval.js';
|
|
3
|
+
export { candlestickBarsFromChart, mergeLiveTickIntoBars, type MergeLiveTickOptions, } from './merge-tick.js';
|
|
4
|
+
export { extractLiveBindingFromFetchPayload, type ExtractLiveBindingOptions, } from './binding-extract.js';
|
|
5
|
+
export { refreshChartFromLiveTick, type RefreshChartFromLiveTickResult } from './refresh.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/live/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,0BAA0B,EAC1B,oCAAoC,EACpC,kCAAkC,EAClC,wCAAwC,EACxC,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,wBAAwB,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EACN,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,oBAAoB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,kCAAkC,EAClC,KAAK,yBAAyB,GAC9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,wBAAwB,EAAE,KAAK,8BAA8B,EAAC,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { CHART_LIVE_DEFAULT_POLL_MS, CHART_LIVE_PROVIDER_COINGECKO_SIMPLE, CHART_LIVE_PROVIDER_GMX_MARK_PRICE, CHART_LIVE_PROVIDER_HYPERLIQUID_ALL_MIDS, ChartLiveBindingSchema, ChartLiveTickSchema, } from './schemas.js';
|
|
2
|
+
export { intervalLabelToBucketSec } from './interval.js';
|
|
3
|
+
export { candlestickBarsFromChart, mergeLiveTickIntoBars, } from './merge-tick.js';
|
|
4
|
+
export { extractLiveBindingFromFetchPayload, } from './binding-extract.js';
|
|
5
|
+
export { refreshChartFromLiveTick } from './refresh.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/chart/live/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,0BAA0B,EAC1B,oCAAoC,EACpC,kCAAkC,EAClC,wCAAwC,EACxC,sBAAsB,EACtB,mBAAmB,GAGnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,wBAAwB,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EACN,wBAAwB,EACxB,qBAAqB,GAErB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,kCAAkC,GAElC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,wBAAwB,EAAsC,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/live/interval.ts"],"names":[],"mappings":"AAiBA,0EAA0E;AAC1E,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWxE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const INTERVAL_BUCKET_SEC = {
|
|
2
|
+
'1m': 60,
|
|
3
|
+
'3m': 180,
|
|
4
|
+
'5m': 300,
|
|
5
|
+
'15m': 900,
|
|
6
|
+
'30m': 1800,
|
|
7
|
+
'1h': 3600,
|
|
8
|
+
'2h': 7200,
|
|
9
|
+
'4h': 14_400,
|
|
10
|
+
'8h': 28_800,
|
|
11
|
+
'12h': 43_200,
|
|
12
|
+
'1d': 86_400,
|
|
13
|
+
'3d': 259_200,
|
|
14
|
+
'1w': 604_800,
|
|
15
|
+
'1M': 2_592_000,
|
|
16
|
+
};
|
|
17
|
+
/** Map interval label (15m, 1h, 4h, …) to bar bucket width in seconds. */
|
|
18
|
+
export function intervalLabelToBucketSec(interval) {
|
|
19
|
+
const key = interval.trim();
|
|
20
|
+
if (!key) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
const direct = INTERVAL_BUCKET_SEC[key];
|
|
24
|
+
if (direct != null) {
|
|
25
|
+
return direct;
|
|
26
|
+
}
|
|
27
|
+
const lower = key.toLowerCase();
|
|
28
|
+
return INTERVAL_BUCKET_SEC[lower] ?? null;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=interval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interval.js","sourceRoot":"","sources":["../../../../src/core/chart/live/interval.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAA2B;IACnD,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,SAAS;CACf,CAAC;AAEF,0EAA0E;AAC1E,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,OAAO,mBAAmB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ChartLiveTick } from './schemas.js';
|
|
2
|
+
export type MergeLiveTickOptions = {
|
|
3
|
+
bucketSec: number;
|
|
4
|
+
maxPoints?: number;
|
|
5
|
+
};
|
|
6
|
+
/** Infer bar period from the most recent spacing in the series (preferred over binding bucketSec). */
|
|
7
|
+
export declare function inferBarPeriodSec(bars: Record<string, unknown>[]): number | null;
|
|
8
|
+
/**
|
|
9
|
+
* Merge a normalized live tick into OHLCV bar rows (same shape as normalizeCandleRow output).
|
|
10
|
+
* Uses bar spacing from the series; appends at most one new bar per call (never ladders synthetic bars).
|
|
11
|
+
*/
|
|
12
|
+
export declare function mergeLiveTickIntoBars(bars: Record<string, unknown>[], tick: ChartLiveTick, options: MergeLiveTickOptions): {
|
|
13
|
+
bars: Record<string, unknown>[];
|
|
14
|
+
barRolledOver: boolean;
|
|
15
|
+
};
|
|
16
|
+
/** Extract normalized bar rows from a chart's primary candlestick series. */
|
|
17
|
+
export declare function candlestickBarsFromChart(series: Array<{
|
|
18
|
+
type: string;
|
|
19
|
+
data: Record<string, unknown>[];
|
|
20
|
+
}>): Record<string, unknown>[];
|
|
21
|
+
//# sourceMappingURL=merge-tick.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-tick.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/live/merge-tick.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAGhD,MAAM,MAAM,oBAAoB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAyBF,sGAAsG;AACtG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,GAAG,IAAI,CAUhF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,oBAAoB,GAC3B;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAC,CA2D3D;AAYD,6EAA6E;AAC7E,wBAAgB,wBAAwB,CACvC,MAAM,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAAC,CAAC,GAC5D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAM3B"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { coerceFiniteNumber, parseChartTimeFromRow } from '../point-normalize.js';
|
|
2
|
+
function barTimeSec(row) {
|
|
3
|
+
const time = parseChartTimeFromRow(row);
|
|
4
|
+
if (time == null) {
|
|
5
|
+
return null;
|
|
6
|
+
}
|
|
7
|
+
if (typeof time === 'number') {
|
|
8
|
+
return time;
|
|
9
|
+
}
|
|
10
|
+
return Math.floor(Date.UTC(time.year, time.month - 1, time.day) / 1000);
|
|
11
|
+
}
|
|
12
|
+
function periodStartSec(timeSec, barPeriod) {
|
|
13
|
+
return Math.floor(timeSec / barPeriod) * barPeriod;
|
|
14
|
+
}
|
|
15
|
+
function bucketStartSec(timeSec, bucketSec) {
|
|
16
|
+
return Math.floor(timeSec / bucketSec) * bucketSec;
|
|
17
|
+
}
|
|
18
|
+
function cloneBar(row) {
|
|
19
|
+
return { ...row };
|
|
20
|
+
}
|
|
21
|
+
/** Infer bar period from the most recent spacing in the series (preferred over binding bucketSec). */
|
|
22
|
+
export function inferBarPeriodSec(bars) {
|
|
23
|
+
if (bars.length < 2) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
const prev = barTimeSec(bars[bars.length - 2]);
|
|
27
|
+
const last = barTimeSec(bars[bars.length - 1]);
|
|
28
|
+
if (prev == null || last == null || last <= prev) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return last - prev;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Merge a normalized live tick into OHLCV bar rows (same shape as normalizeCandleRow output).
|
|
35
|
+
* Uses bar spacing from the series; appends at most one new bar per call (never ladders synthetic bars).
|
|
36
|
+
*/
|
|
37
|
+
export function mergeLiveTickIntoBars(bars, tick, options) {
|
|
38
|
+
if (bars.length === 0) {
|
|
39
|
+
const timeSec = bucketStartSec(Math.floor(tick.timeMs / 1000), options.bucketSec);
|
|
40
|
+
const row = {
|
|
41
|
+
time: timeSec,
|
|
42
|
+
open: tick.price,
|
|
43
|
+
high: tick.price,
|
|
44
|
+
low: tick.price,
|
|
45
|
+
close: tick.price,
|
|
46
|
+
};
|
|
47
|
+
if (tick.volume != null) {
|
|
48
|
+
row.volume = tick.volume;
|
|
49
|
+
}
|
|
50
|
+
return { bars: [row], barRolledOver: true };
|
|
51
|
+
}
|
|
52
|
+
const tickSec = Math.floor(tick.timeMs / 1000);
|
|
53
|
+
const out = bars.map(cloneBar);
|
|
54
|
+
let last = out[out.length - 1];
|
|
55
|
+
const lastSec = barTimeSec(last);
|
|
56
|
+
if (lastSec == null) {
|
|
57
|
+
return { bars: out, barRolledOver: false };
|
|
58
|
+
}
|
|
59
|
+
const barPeriod = inferBarPeriodSec(out) ?? options.bucketSec;
|
|
60
|
+
let barRolledOver = false;
|
|
61
|
+
if (tickSec >= lastSec + barPeriod) {
|
|
62
|
+
const prevClose = coerceFiniteNumber(last.close);
|
|
63
|
+
if (prevClose == null) {
|
|
64
|
+
return { bars: out, barRolledOver: false };
|
|
65
|
+
}
|
|
66
|
+
const newBarTime = lastSec + barPeriod;
|
|
67
|
+
const newBar = {
|
|
68
|
+
time: newBarTime,
|
|
69
|
+
open: prevClose,
|
|
70
|
+
high: Math.max(prevClose, tick.price),
|
|
71
|
+
low: Math.min(prevClose, tick.price),
|
|
72
|
+
close: tick.price,
|
|
73
|
+
};
|
|
74
|
+
if (tick.volume != null) {
|
|
75
|
+
newBar.volume = tick.volume;
|
|
76
|
+
}
|
|
77
|
+
out.push(newBar);
|
|
78
|
+
last = newBar;
|
|
79
|
+
barRolledOver = true;
|
|
80
|
+
}
|
|
81
|
+
const high = coerceFiniteNumber(last.high) ?? tick.price;
|
|
82
|
+
const low = coerceFiniteNumber(last.low) ?? tick.price;
|
|
83
|
+
last.high = Math.max(high, tick.price);
|
|
84
|
+
last.low = Math.min(low, tick.price);
|
|
85
|
+
last.close = tick.price;
|
|
86
|
+
if (tick.volume != null) {
|
|
87
|
+
const prevVol = coerceFiniteNumber(last.volume) ?? 0;
|
|
88
|
+
last.volume = prevVol + tick.volume;
|
|
89
|
+
}
|
|
90
|
+
return { bars: trimBars(out, options.maxPoints), barRolledOver };
|
|
91
|
+
}
|
|
92
|
+
function trimBars(bars, maxPoints) {
|
|
93
|
+
if (maxPoints == null || maxPoints <= 0 || bars.length <= maxPoints) {
|
|
94
|
+
return bars;
|
|
95
|
+
}
|
|
96
|
+
return bars.slice(bars.length - maxPoints);
|
|
97
|
+
}
|
|
98
|
+
/** Extract normalized bar rows from a chart's primary candlestick series. */
|
|
99
|
+
export function candlestickBarsFromChart(series) {
|
|
100
|
+
const candle = series.find(s => s.type === 'candlestick');
|
|
101
|
+
if (!candle) {
|
|
102
|
+
return [];
|
|
103
|
+
}
|
|
104
|
+
return candle.data.map(row => ({ ...row }));
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=merge-tick.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-tick.js","sourceRoot":"","sources":["../../../../src/core/chart/live/merge-tick.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ChartLiveBinding, ChartLiveTick } from './schemas.js';
|
|
2
|
+
import type { ChartV1Payload } from '../schemas.js';
|
|
3
|
+
export type RefreshChartFromLiveTickResult = {
|
|
4
|
+
chart: ChartV1Payload;
|
|
5
|
+
barRolledOver: boolean;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Apply a live tick to an existing chart payload and rebuild series via prepareChart
|
|
9
|
+
* (same overlay/pane rules as the initial static chart).
|
|
10
|
+
*/
|
|
11
|
+
export declare function refreshChartFromLiveTick(chart: ChartV1Payload, tick: ChartLiveTick, binding: ChartLiveBinding): RefreshChartFromLiveTickResult | null;
|
|
12
|
+
//# sourceMappingURL=refresh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/live/refresh.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAElE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAElD,MAAM,MAAM,8BAA8B,GAAG;IAC5C,KAAK,EAAE,cAAc,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACvB,CAAC;AAYF;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,gBAAgB,GACvB,8BAA8B,GAAG,IAAI,CAoCvC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { prepareChart } from '../prepare.js';
|
|
2
|
+
import { candlestickBarsFromChart, mergeLiveTickIntoBars } from './merge-tick.js';
|
|
3
|
+
function primaryCandlestick(chart) {
|
|
4
|
+
const candle = chart.series.find(s => s.type === 'candlestick');
|
|
5
|
+
if (!candle) {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
return { id: candle.id, label: candle.label };
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Apply a live tick to an existing chart payload and rebuild series via prepareChart
|
|
12
|
+
* (same overlay/pane rules as the initial static chart).
|
|
13
|
+
*/
|
|
14
|
+
export function refreshChartFromLiveTick(chart, tick, binding) {
|
|
15
|
+
const meta = primaryCandlestick(chart);
|
|
16
|
+
if (!meta) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
const bars = candlestickBarsFromChart(chart.series);
|
|
20
|
+
const { bars: merged, barRolledOver } = mergeLiveTickIntoBars(bars, tick, {
|
|
21
|
+
bucketSec: binding.bucketSec,
|
|
22
|
+
...(binding.maxPoints != null ? { maxPoints: binding.maxPoints } : {}),
|
|
23
|
+
});
|
|
24
|
+
const prepared = prepareChart({
|
|
25
|
+
...(chart.title?.trim() ? { title: chart.title.trim() } : {}),
|
|
26
|
+
...(chart.height != null ? { height: chart.height } : {}),
|
|
27
|
+
series: [
|
|
28
|
+
{
|
|
29
|
+
id: meta.id,
|
|
30
|
+
type: 'candlestick',
|
|
31
|
+
label: meta.label,
|
|
32
|
+
data: merged,
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
options: {
|
|
36
|
+
maxPoints: binding.maxPoints,
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
if (!prepared.ok) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
chart: prepared.data.chart,
|
|
44
|
+
barRolledOver,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=refresh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../../src/core/chart/live/refresh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAC,wBAAwB,EAAE,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAQhF,SAAS,kBAAkB,CAC1B,KAAqB;IAErB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACvC,KAAqB,EACrB,IAAmB,EACnB,OAAyB;IAEzB,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,EAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAC,GAAG,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE;QACvE,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,YAAY,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,EAAE;YACP;gBACC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,MAAM;aACZ;SACD;QACD,OAAO,EAAE;YACR,SAAS,EAAE,OAAO,CAAC,SAAS;SAC5B;KACD,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO;QACN,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;QAC1B,aAAa;KACb,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const CHART_LIVE_DEFAULT_POLL_MS = 4000;
|
|
3
|
+
export declare const ChartLiveTickSchema: z.ZodObject<{
|
|
4
|
+
timeMs: z.ZodNumber;
|
|
5
|
+
price: z.ZodNumber;
|
|
6
|
+
volume: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
}, z.core.$strict>;
|
|
8
|
+
export declare const ChartLiveBindingSchema: z.ZodObject<{
|
|
9
|
+
providerId: z.ZodString;
|
|
10
|
+
bucketSec: z.ZodNumber;
|
|
11
|
+
pollMs: z.ZodOptional<z.ZodNumber>;
|
|
12
|
+
maxPoints: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
params: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
14
|
+
}, z.core.$strict>;
|
|
15
|
+
export type ChartLiveTick = z.infer<typeof ChartLiveTickSchema>;
|
|
16
|
+
export type ChartLiveBinding = z.infer<typeof ChartLiveBindingSchema>;
|
|
17
|
+
/** Well-known tick provider ids (adapters register under these in node-app). */
|
|
18
|
+
export declare const CHART_LIVE_PROVIDER_HYPERLIQUID_ALL_MIDS: "hyperliquid.allMids";
|
|
19
|
+
export declare const CHART_LIVE_PROVIDER_GMX_MARK_PRICE: "gmx.markPrice";
|
|
20
|
+
export declare const CHART_LIVE_PROVIDER_COINGECKO_SIMPLE: "coingecko.simple";
|
|
21
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/live/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAEhD,eAAO,MAAM,mBAAmB;;;;kBAMtB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;kBAQzB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,gFAAgF;AAChF,eAAO,MAAM,wCAAwC,EAAG,qBAA8B,CAAC;AACvF,eAAO,MAAM,kCAAkC,EAAG,eAAwB,CAAC;AAC3E,eAAO,MAAM,oCAAoC,EAAG,kBAA2B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const CHART_LIVE_DEFAULT_POLL_MS = 4_000;
|
|
3
|
+
export const ChartLiveTickSchema = z
|
|
4
|
+
.object({
|
|
5
|
+
timeMs: z.number().finite(),
|
|
6
|
+
price: z.number().finite(),
|
|
7
|
+
volume: z.number().finite().nonnegative().optional(),
|
|
8
|
+
})
|
|
9
|
+
.strict();
|
|
10
|
+
export const ChartLiveBindingSchema = z
|
|
11
|
+
.object({
|
|
12
|
+
providerId: z.string().min(1).max(128),
|
|
13
|
+
bucketSec: z.number().int().min(60).max(86_400 * 7),
|
|
14
|
+
pollMs: z.number().int().min(1_000).max(300_000).optional(),
|
|
15
|
+
maxPoints: z.number().int().min(2).max(5_000).optional(),
|
|
16
|
+
params: z.record(z.string(), z.unknown()),
|
|
17
|
+
})
|
|
18
|
+
.strict();
|
|
19
|
+
/** Well-known tick provider ids (adapters register under these in node-app). */
|
|
20
|
+
export const CHART_LIVE_PROVIDER_HYPERLIQUID_ALL_MIDS = 'hyperliquid.allMids';
|
|
21
|
+
export const CHART_LIVE_PROVIDER_GMX_MARK_PRICE = 'gmx.markPrice';
|
|
22
|
+
export const CHART_LIVE_PROVIDER_COINGECKO_SIMPLE = 'coingecko.simple';
|
|
23
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../src/core/chart/live/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEhD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KAClC,MAAM,CAAC;IACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CACpD,CAAC;KACD,MAAM,EAAE,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACrC,MAAM,CAAC;IACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACnD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;IAC3D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;IACxD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;CACzC,CAAC;KACD,MAAM,EAAE,CAAC;AAKX,gFAAgF;AAChF,MAAM,CAAC,MAAM,wCAAwC,GAAG,qBAA8B,CAAC;AACvF,MAAM,CAAC,MAAM,kCAAkC,GAAG,eAAwB,CAAC;AAC3E,MAAM,CAAC,MAAM,oCAAoC,GAAG,kBAA2B,CAAC"}
|
|
@@ -51,6 +51,13 @@ export declare const PrepareChartFromRowsOutputSchema: z.ZodObject<{
|
|
|
51
51
|
}, z.core.$strict>>;
|
|
52
52
|
}, z.core.$strict>>;
|
|
53
53
|
}, z.core.$strict>;
|
|
54
|
+
live: z.ZodOptional<z.ZodObject<{
|
|
55
|
+
providerId: z.ZodString;
|
|
56
|
+
bucketSec: z.ZodNumber;
|
|
57
|
+
pollMs: z.ZodOptional<z.ZodNumber>;
|
|
58
|
+
maxPoints: z.ZodOptional<z.ZodNumber>;
|
|
59
|
+
params: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
60
|
+
}, z.core.$strict>>;
|
|
54
61
|
meta: z.ZodOptional<z.ZodObject<{
|
|
55
62
|
warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
56
63
|
}, z.core.$strict>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-from-rows.d.ts","sourceRoot":"","sources":["../../../src/core/chart/prepare-from-rows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"prepare-from-rows.d.ts","sourceRoot":"","sources":["../../../src/core/chart/prepare-from-rows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAK5C,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,cAAc,CAAC;AA0FrD,eAAO,MAAM,+BAA+B;;;;;;;;;;;;mBAG3C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAA2B,CAAC;AAEzE,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,yBAAyB,GAC9B,SAAS,CAAC,kBAAkB,CAAC,CAqE/B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { extractChartMetadataFromFetchPayload } from './fetch-metadata.js';
|
|
3
|
+
import { extractLiveBindingFromFetchPayload } from './live/binding-extract.js';
|
|
3
4
|
import { extractOhlcvBarsFromUnknown, barRowsHaveVolume, parseJsonIfString } from './fetch-result.js';
|
|
4
5
|
import { prepareChart } from './prepare.js';
|
|
5
6
|
import { PrepareChartInputSchema, PrepareChartOutputSchema } from './schemas.js';
|
|
@@ -126,19 +127,20 @@ export function prepareChartFromRows(input) {
|
|
|
126
127
|
if (!chartResult.ok) {
|
|
127
128
|
return chartResult;
|
|
128
129
|
}
|
|
130
|
+
const liveSource = data.toolResult ?? data.rows;
|
|
131
|
+
const live = extractLiveBindingFromFetchPayload(liveSource, {
|
|
132
|
+
...(bucketSec != null ? { bucketSec } : {}),
|
|
133
|
+
maxPoints: chartOptions.maxPoints ?? 400,
|
|
134
|
+
});
|
|
129
135
|
const warnings = [];
|
|
130
136
|
if (!barRowsHaveVolume(bars)) {
|
|
131
137
|
warnings.push('No volume in OHLCV rows — volume pane omitted. For CoinGecko spot charts use `coins.marketChart.get` (prices + total_volumes), not `coins.ohlc.get`.');
|
|
132
138
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
ok: true,
|
|
138
|
-
data: {
|
|
139
|
-
...chartResult.data,
|
|
140
|
-
meta: { warnings },
|
|
141
|
-
},
|
|
139
|
+
const output = {
|
|
140
|
+
...chartResult.data,
|
|
141
|
+
...(live ? { live } : {}),
|
|
142
|
+
...(warnings.length > 0 ? { meta: { warnings } } : {}),
|
|
142
143
|
};
|
|
144
|
+
return { ok: true, data: output };
|
|
143
145
|
}
|
|
144
146
|
//# sourceMappingURL=prepare-from-rows.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-from-rows.js","sourceRoot":"","sources":["../../../src/core/chart/prepare-from-rows.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prepare-from-rows.js","sourceRoot":"","sources":["../../../src/core/chart/prepare-from-rows.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/core/chart/prepare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,EAGN,KAAK,kBAAkB,EACvB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/core/chart/prepare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,EAGN,KAAK,kBAAkB,EACvB,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAmB,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAC,gBAAgB,EAAC,CAAC;AAW1B,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAmD1E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DEFAULT_CHART_HEIGHT, PrepareChartInputSchema, } from './schemas.js';
|
|
2
|
-
import { ensureVolumeHistogramSeries, resolvePrepareChartOverlays, } from './chart-defaults.js';
|
|
2
|
+
import { defaultOverlayChartWarnings, ensureVolumeHistogramSeries, resolvePrepareChartOverlays, } from './chart-defaults.js';
|
|
3
3
|
import { expandChartOverlays } from './overlays.js';
|
|
4
4
|
import { buildPaneLayout } from './panes.js';
|
|
5
5
|
import { prepareChartCore, isChartV1Payload } from './prepare-core.js';
|
|
@@ -18,9 +18,20 @@ export function prepareChart(input) {
|
|
|
18
18
|
return { ok: false, reason: formatPrepareChartValidationError(parsed.error) };
|
|
19
19
|
}
|
|
20
20
|
const withVolume = ensureVolumeHistogramSeries(parsed.data);
|
|
21
|
+
const overlayWarnings = defaultOverlayChartWarnings(withVolume.series);
|
|
21
22
|
const overlays = resolvePrepareChartOverlays(withVolume);
|
|
22
23
|
if (!overlays?.length) {
|
|
23
|
-
|
|
24
|
+
const core = prepareChartCore(withVolume);
|
|
25
|
+
if (!core.ok || overlayWarnings.length === 0) {
|
|
26
|
+
return core;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
ok: true,
|
|
30
|
+
data: {
|
|
31
|
+
...core.data,
|
|
32
|
+
meta: { warnings: overlayWarnings },
|
|
33
|
+
},
|
|
34
|
+
};
|
|
24
35
|
}
|
|
25
36
|
const core = prepareChartCore({
|
|
26
37
|
...withVolume,
|
|
@@ -43,6 +54,7 @@ export function prepareChart(input) {
|
|
|
43
54
|
data: {
|
|
44
55
|
kind: core.data.kind,
|
|
45
56
|
chart: chartPayload,
|
|
57
|
+
...(overlayWarnings.length > 0 ? { meta: { warnings: overlayWarnings } } : {}),
|
|
46
58
|
},
|
|
47
59
|
};
|
|
48
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../../src/core/chart/prepare.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,oBAAoB,EACpB,uBAAuB,GAEvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,2BAA2B,EAC3B,2BAA2B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAC,gBAAgB,EAAC,CAAC;AAE1B,SAAS,iCAAiC,CAAC,KAAiB;IAC3D,OAAO,KAAK,CAAC,MAAM;SACjB,GAAG,CAAC,KAAK,CAAC,EAAE;QACZ,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAChE,OAAO,GAAG,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IAC1C,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iCAAiC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAC,CAAC;IAC7E,CAAC;IAED,MAAM,UAAU,GAAG,2BAA2B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAEzD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACvB,
|
|
1
|
+
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../../src/core/chart/prepare.ts"],"names":[],"mappings":"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"}
|
|
@@ -316,6 +316,13 @@ export declare const PrepareChartOutputSchema: z.ZodObject<{
|
|
|
316
316
|
}, z.core.$strict>>;
|
|
317
317
|
}, z.core.$strict>>;
|
|
318
318
|
}, z.core.$strict>;
|
|
319
|
+
live: z.ZodOptional<z.ZodObject<{
|
|
320
|
+
providerId: z.ZodString;
|
|
321
|
+
bucketSec: z.ZodNumber;
|
|
322
|
+
pollMs: z.ZodOptional<z.ZodNumber>;
|
|
323
|
+
maxPoints: z.ZodOptional<z.ZodNumber>;
|
|
324
|
+
params: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
325
|
+
}, z.core.$strict>>;
|
|
319
326
|
meta: z.ZodOptional<z.ZodObject<{
|
|
320
327
|
warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
321
328
|
}, z.core.$strict>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/core/chart/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/core/chart/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAKtB,OAAO,EAAC,uBAAuB,EAAE,0BAA0B,EAAC,MAAM,sBAAsB,CAAC;AACzF,YAAY,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAE5D,eAAO,MAAM,aAAa,EAAG,oBAA6B,CAAC;AAE3D,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAC9C,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,eAAO,MAAM,qBAAqB;;;;;EAAuD,CAAC;AAE1F,eAAO,MAAM,oBAAoB;;;;EAAwC,CAAC;AAE1E,eAAO,MAAM,sBAAsB;;;;;;;;kBAMzB,CAAC;AAOX,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;kBAWzB,CAAC;AA4GX,yFAAyF;AACzF,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CA2CjE;AAwBD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAGnC,CAAC;AAEF,eAAO,MAAM,eAAe;;;;oBAS1B,CAAC;AAEH,eAAO,MAAM,eAAe;;;kBAKlB,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;kBAW1B,CAAC;AAEX,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAOvB,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAY3B,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { PrepareChartOverlaysSchema } from './overlay-schemas.js';
|
|
3
|
+
import { ChartLiveBindingSchema } from './live/schemas.js';
|
|
3
4
|
import { extractOhlcvBarsFromUnknown, looksLikeOhlcvBar } from './fetch-result.js';
|
|
4
5
|
export { ChartOverlayInputSchema, PrepareChartOverlaysSchema } from './overlay-schemas.js';
|
|
5
6
|
export const CHART_V1_KIND = 'continuum/chart/v1';
|
|
@@ -221,6 +222,7 @@ export const PrepareChartOutputSchema = z
|
|
|
221
222
|
.object({
|
|
222
223
|
kind: z.literal(CHART_V1_KIND),
|
|
223
224
|
chart: ChartV1PayloadSchema,
|
|
225
|
+
live: ChartLiveBindingSchema.optional(),
|
|
224
226
|
meta: z
|
|
225
227
|
.object({
|
|
226
228
|
warnings: z.array(z.string()).optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/core/chart/schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/core/chart/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -284,6 +284,34 @@ When the user asks to graph, plot, or chart data, call **`prepare_chart_from_row
|
|
|
284
284
|
|
|
285
285
|
**Hyperliquid / DeFi `fetch_ohlcv`:** returns `{ ohlcv: { coin, interval, candles: [...] } }`. After `fetch_ohlcv`, call `prepare_chart_from_rows` with the **full fetch JSON** as `toolResult` and a descriptive `title`. The node auto-binds the last OHLCV fetch when `prepare_chart_from_rows` is called with only a title.
|
|
286
286
|
|
|
287
|
+
## Live updates (agent chat + DeFi dialogs)
|
|
288
|
+
|
|
289
|
+
When `prepare_chart_from_rows` receives a fetch payload the SDK recognizes (Hyperliquid `ohlcv`, GMX flat `{ symbol, timeframe, candles }`, CoinGecko market chart), the output may include optional **`live`**:
|
|
290
|
+
|
|
291
|
+
```json
|
|
292
|
+
{
|
|
293
|
+
"kind": "continuum/chart/v1",
|
|
294
|
+
"chart": { "...": "..." },
|
|
295
|
+
"live": {
|
|
296
|
+
"providerId": "hyperliquid.allMids",
|
|
297
|
+
"bucketSec": 3600,
|
|
298
|
+
"pollMs": 4000,
|
|
299
|
+
"maxPoints": 400,
|
|
300
|
+
"params": { "coin": "ETH", "interval": "1h" }
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
The node app polls a **tick adapter** registered for `providerId` every `pollMs` (default **4000**). Each tick is `{ timeMs, price, volume? }`. The SDK merges it into the last OHLCV bar (or appends on bucket rollover) and recomputes overlays locally — **no full OHLCV refetch** on each poll.
|
|
306
|
+
|
|
307
|
+
| `providerId` | Tick source |
|
|
308
|
+
|--------------|-------------|
|
|
309
|
+
| `hyperliquid.allMids` | Hyperliquid `allMids` for `params.coin` |
|
|
310
|
+
| `gmx.markPrice` | GMX index mark USD for `params.symbol` |
|
|
311
|
+
| `coingecko.simple` | CoinGecko simple price for `params.coinId` |
|
|
312
|
+
|
|
313
|
+
**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.
|
|
314
|
+
|
|
287
315
|
## KeyGen orchestration (sub-agents)
|
|
288
316
|
|
|
289
317
|
Charts for the **KeyGen group** must not be pasted into `send_key_gen_message` bodies (64 KiB limit; chart JSON is often much larger).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@continuumdao/continuum-node-sdk",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.23",
|
|
4
4
|
"description": "JSON SDK for the Continuum node client management API",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"homepage": "https://github.com/ContinuumDAO/continuum-node-sdk#readme",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"sync-vendor-defi": "bash scripts/sync-vendor-defi.sh"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@continuumdao/ctm-mpc-defi": "^0.2.
|
|
43
|
+
"@continuumdao/ctm-mpc-defi": "^0.2.19",
|
|
44
44
|
"@curvefi/api": "^2.69.2",
|
|
45
45
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
46
46
|
"express": "^5.2.1",
|