@tradejs/infra 2.0.15 → 2.0.17

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.
@@ -507,6 +507,8 @@ var redisKeys = {
507
507
  runtimeTrade: (userName, orderId) => `users:${userName}:runtime:trade-records:${orderId}`,
508
508
  runtimeTradeBuckets: (userName) => `users:${userName}:runtime:trade-records:days:`,
509
509
  runtimeTradeBucket: (userName, dayKey) => `users:${userName}:runtime:trade-records:days:${dayKey}`,
510
+ runtimeClosedTradeBuckets: (userName) => `users:${userName}:runtime:closed-trade-records:days:`,
511
+ runtimeClosedTradeBucket: (userName, dayKey) => `users:${userName}:runtime:closed-trade-records:days:${dayKey}`,
510
512
  runtimeActiveTrades: (userName) => `users:${userName}:runtime:active-trades:`,
511
513
  runtimeActiveTrade: (userName, symbol, scopeId) => scopeId ? `users:${userName}:runtime:active-trades:${scopeId}:${symbol}` : `users:${userName}:runtime:active-trades:${symbol}`,
512
514
  aiChatHistory: (userName, symbolKey) => `users:${userName}:ai:chats:${symbolKey}`,
package/dist/redis.d.mts CHANGED
@@ -75,6 +75,8 @@ declare const redisKeys: {
75
75
  runtimeTrade: (userName: string, orderId: string) => string;
76
76
  runtimeTradeBuckets: (userName: string) => string;
77
77
  runtimeTradeBucket: (userName: string, dayKey: string) => string;
78
+ runtimeClosedTradeBuckets: (userName: string) => string;
79
+ runtimeClosedTradeBucket: (userName: string, dayKey: string) => string;
78
80
  runtimeActiveTrades: (userName: string) => string;
79
81
  runtimeActiveTrade: (userName: string, symbol: string, scopeId?: string) => string;
80
82
  aiChatHistory: (userName: string, symbolKey: string) => string;
package/dist/redis.d.ts CHANGED
@@ -75,6 +75,8 @@ declare const redisKeys: {
75
75
  runtimeTrade: (userName: string, orderId: string) => string;
76
76
  runtimeTradeBuckets: (userName: string) => string;
77
77
  runtimeTradeBucket: (userName: string, dayKey: string) => string;
78
+ runtimeClosedTradeBuckets: (userName: string) => string;
79
+ runtimeClosedTradeBucket: (userName: string, dayKey: string) => string;
78
80
  runtimeActiveTrades: (userName: string) => string;
79
81
  runtimeActiveTrade: (userName: string, symbol: string, scopeId?: string) => string;
80
82
  aiChatHistory: (userName: string, symbolKey: string) => string;
package/dist/redis.js CHANGED
@@ -557,6 +557,8 @@ var redisKeys = {
557
557
  runtimeTrade: (userName, orderId) => `users:${userName}:runtime:trade-records:${orderId}`,
558
558
  runtimeTradeBuckets: (userName) => `users:${userName}:runtime:trade-records:days:`,
559
559
  runtimeTradeBucket: (userName, dayKey) => `users:${userName}:runtime:trade-records:days:${dayKey}`,
560
+ runtimeClosedTradeBuckets: (userName) => `users:${userName}:runtime:closed-trade-records:days:`,
561
+ runtimeClosedTradeBucket: (userName, dayKey) => `users:${userName}:runtime:closed-trade-records:days:${dayKey}`,
560
562
  runtimeActiveTrades: (userName) => `users:${userName}:runtime:active-trades:`,
561
563
  runtimeActiveTrade: (userName, symbol, scopeId) => scopeId ? `users:${userName}:runtime:active-trades:${scopeId}:${symbol}` : `users:${userName}:runtime:active-trades:${symbol}`,
562
564
  aiChatHistory: (userName, symbolKey) => `users:${userName}:ai:chats:${symbolKey}`,
package/dist/redis.mjs CHANGED
@@ -16,7 +16,7 @@ import {
16
16
  setData,
17
17
  setHashJsonField,
18
18
  setHashJsonFields
19
- } from "./chunk-EFCQ7NGN.mjs";
19
+ } from "./chunk-6ZKAUA4Q.mjs";
20
20
  export {
21
21
  RedisWriteBlockedError,
22
22
  closeRedisConnection,
@@ -20,9 +20,25 @@ type CandleRow = {
20
20
  takerSellBaseVolume?: number | null;
21
21
  takerSellQuoteVolume?: number | null;
22
22
  };
23
+ type TimescaleMarketContextSource = 'binance' | 'coinmarketcap' | 'derivatives' | 'hyperliquidWhales';
24
+ type TimescaleMarketContextQueryOptions = {
25
+ signal?: AbortSignal;
26
+ timeoutMs?: number;
27
+ };
28
+ declare const configureTimescaleMarketContextSchemaMode: (mode: "ensure" | "verify") => void;
23
29
  declare const closeTimescalePool: () => Promise<void>;
24
30
  declare const toRows: (provider: string, symbol: string, interval: number, data: KlineChartData) => CandleRow[];
25
31
  declare function upsertCandles(rows: CandleRow[]): Promise<void>;
32
+ declare const ensureDerivativesSchema: () => Promise<void>;
33
+ declare const ensureBinanceMarketSchema: () => Promise<void>;
34
+ declare const ensureHyperliquidWhaleSchema: () => Promise<void>;
35
+ /**
36
+ * CoinMarketCap tables currently share the historical market-context migration
37
+ * with the Binance tables. Keeping a source-specific entrypoint lets process
38
+ * composition own schema preparation without exposing that storage detail.
39
+ */
40
+ declare const ensureCoinMarketCapContextSchema: () => Promise<void>;
41
+ declare const ensureMarketContextSchemas: (sources: Iterable<TimescaleMarketContextSource>) => Promise<void>;
26
42
  declare function upsertDerivatives(rows: DerivativesRow[]): Promise<void>;
27
43
  declare function getDerivativesRangeForSymbols(symbols: string[], interval: DerivativesInterval, startMs: number, endMs: number): Promise<any[]>;
28
44
  declare function getDerivativesDataEdgesForSymbols(symbols: string[], interval: DerivativesInterval): Promise<Map<string, {
@@ -83,6 +99,8 @@ declare function getDerivativesWindow(params: {
83
99
  intervals: DerivativesInterval[];
84
100
  endMs: number;
85
101
  lookbackMs: number;
102
+ signal?: AbortSignal;
103
+ timeoutMs?: number;
86
104
  }): Promise<Partial<Record<DerivativesInterval, DerivativesRow[]>>>;
87
105
  declare function getDerivativesSummary(hours?: number, limit?: number, symbols?: string[]): Promise<{
88
106
  hours: number;
@@ -153,6 +171,8 @@ declare function getLatestMarketTradeFlow(params: {
153
171
  interval: MarketFeatureInterval;
154
172
  atMs: number;
155
173
  maxAgeMs?: number;
174
+ signal?: AbortSignal;
175
+ timeoutMs?: number;
156
176
  }): Promise<MarketFeatureAsOf<MarketTradeFlowRow> | null>;
157
177
  type HyperliquidWhaleWalletCoverageStatus = 'complete' | 'truncated' | 'failed';
158
178
  declare function getHyperliquidWhaleWalletCoverage(params: {
@@ -181,12 +201,21 @@ declare function upsertHyperliquidWhaleWalletCoverage(params: {
181
201
  universeFingerprint: string;
182
202
  whaleRegistryFingerprint: string;
183
203
  }): Promise<void>;
204
+ type HyperliquidWhaleCoverageRebuildProgress = {
205
+ chunkIndex: number;
206
+ totalChunks: number;
207
+ completedBuckets: number;
208
+ totalBuckets: number;
209
+ rows: number;
210
+ };
184
211
  declare function rebuildHyperliquidWhaleCoverageRows(params: {
185
212
  fromMs: number;
186
213
  toMs: number;
187
214
  expectedWhales: number;
188
215
  universeFingerprint: string;
189
216
  whaleRegistryFingerprint: string;
217
+ chunkMinutes?: number;
218
+ onProgress?: (progress: HyperliquidWhaleCoverageRebuildProgress) => void;
190
219
  }): Promise<number>;
191
220
  declare function upsertHyperliquidWhaleCoverageRows(rows: HyperliquidWhaleCoverageRow[]): Promise<void>;
192
221
  type HyperliquidWhaleCoverageSeriesRow = {
@@ -200,6 +229,8 @@ declare function getHyperliquidWhaleCoverageSeriesRows(params: {
200
229
  toMs: number;
201
230
  universeFingerprint: string;
202
231
  whaleRegistryFingerprint: string;
232
+ signal?: AbortSignal;
233
+ timeoutMs?: number;
203
234
  }): Promise<HyperliquidWhaleCoverageSeriesRow[]>;
204
235
  type HyperliquidWhaleFlowSeriesRow = {
205
236
  ts: Date;
@@ -224,6 +255,8 @@ declare function getHyperliquidWhaleFlowSeriesRows(params: {
224
255
  toMs: number;
225
256
  universeFingerprint: string;
226
257
  whaleRegistryFingerprint: string;
258
+ signal?: AbortSignal;
259
+ timeoutMs?: number;
227
260
  }): Promise<HyperliquidWhaleFlowSeriesRow[]>;
228
261
  type HyperliquidWhaleFlowAggregate = {
229
262
  symbol: string;
@@ -265,6 +298,8 @@ declare function getHyperliquidWhaleFlowAggregate(params: {
265
298
  universeFingerprint: string;
266
299
  whaleRegistryFingerprint: string;
267
300
  maxAgeMs?: number;
301
+ signal?: AbortSignal;
302
+ timeoutMs?: number;
268
303
  }): Promise<HyperliquidWhaleFlowAggregate | null>;
269
304
  declare function hasHyperliquidWhaleBackfillCoverage(params: {
270
305
  fromMs: number;
@@ -277,11 +312,15 @@ declare function getLatestMarketBreadth(params: {
277
312
  interval: MarketFeatureInterval;
278
313
  atMs: number;
279
314
  maxAgeMs?: number;
315
+ signal?: AbortSignal;
316
+ timeoutMs?: number;
280
317
  }): Promise<MarketFeatureAsOf<MarketBreadthRow> | null>;
281
318
  declare function getLatestMarketGlobalContext(params: {
282
319
  source?: MarketGlobalContextRow['source'];
283
320
  atMs: number;
284
321
  maxAgeMs?: number;
322
+ signal?: AbortSignal;
323
+ timeoutMs?: number;
285
324
  }): Promise<(MarketFeatureAsOf<MarketGlobalContextRow> & {
286
325
  btcDominanceChange24hPct: number | null;
287
326
  ethDominanceChange24hPct: number | null;
@@ -314,12 +353,16 @@ declare function getLatestMarketReferenceAssetContexts(params: {
314
353
  interval?: MarketReferenceAssetContextRow['interval'];
315
354
  atMs: number;
316
355
  maxAgeMs?: number;
356
+ signal?: AbortSignal;
357
+ timeoutMs?: number;
317
358
  }): Promise<Map<string, MarketFeatureAsOf<MarketReferenceAssetContextRow>>>;
318
359
  declare function getLatestMarketCmcExchangeLiquidityContext(params: {
319
360
  source?: MarketCmcExchangeLiquidityContextRow['source'];
320
361
  interval?: MarketCmcExchangeLiquidityContextRow['interval'];
321
362
  atMs: number;
322
363
  maxAgeMs?: number;
364
+ signal?: AbortSignal;
365
+ timeoutMs?: number;
323
366
  }): Promise<(MarketFeatureAsOf<MarketCmcExchangeLiquidityContextRow> & {
324
367
  totalVolumeChange24hPct: number | null;
325
368
  }) | null>;
@@ -329,6 +372,8 @@ declare function getLatestMarketCmcIndexContexts(params: {
329
372
  interval?: MarketCmcIndexContextRow['interval'];
330
373
  atMs: number;
331
374
  maxAgeMs?: number;
375
+ signal?: AbortSignal;
376
+ timeoutMs?: number;
332
377
  }): Promise<Map<MarketCmcIndexContextRow['indexSlug'], MarketFeatureAsOf<MarketCmcIndexContextRow> & {
333
378
  valueChange24hPct: number | null;
334
379
  }>>;
@@ -337,6 +382,8 @@ declare function getLatestMarketCmcFearGreedContext(params: {
337
382
  interval?: MarketCmcFearGreedContextRow['interval'];
338
383
  atMs: number;
339
384
  maxAgeMs?: number;
385
+ signal?: AbortSignal;
386
+ timeoutMs?: number;
340
387
  }): Promise<(MarketFeatureAsOf<MarketCmcFearGreedContextRow> & {
341
388
  valueChange24h: number | null;
342
389
  valueChange7d: number | null;
@@ -426,4 +473,4 @@ declare function findContinuityGap(provider: string, symbol: string, interval: n
426
473
  diffSeconds: number;
427
474
  } | null>;
428
475
 
429
- export { type CandleRow, type DeprecatedMarketContextCleanupItem, type DerivativesMetricCoverageMetric, type HyperliquidWhaleCoverageSeriesRow, type HyperliquidWhaleFlowAggregate, type HyperliquidWhaleFlowSeriesRow, type HyperliquidWhaleWalletCoverageStatus, type MarketFeatureAsOf, applyDerivativesMetricCoverage, cleanupDeprecatedMarketContext, closeTimescalePool, deleteCandles, findContinuityGap, getCandlesRange, getDataEdges, getDataEdgesForSymbols, getDerivativesBackfillCoverage, getDerivativesDataEdgesForSymbols, getDerivativesMetricCoverage, getDerivativesRangeForSymbols, getDerivativesSummary, getDerivativesWindow, getHyperliquidWhaleCoverageSeriesRows, getHyperliquidWhaleFlowAggregate, getHyperliquidWhaleFlowSeriesRows, getHyperliquidWhaleWalletCoverage, getLatestMarketBreadth, getLatestMarketCmcExchangeLiquidityContext, getLatestMarketCmcFearGreedContext, getLatestMarketCmcIndexContexts, getLatestMarketGlobalContext, getLatestMarketReferenceAssetContexts, getLatestMarketTradeFlow, getMarketBreadthCoverage, getMarketCmcExchangeLiquidityContextCoverage, getMarketCmcFearGreedContextCoverage, getMarketCmcIndexContextCoverage, getMarketContextBackfillCoverage, getMarketGlobalContextCoverage, getMarketReferenceAssetContextCoverage, getMarketTradeFlowCoverage, getSpreadRangeForSymbols, getSpreadSummary, hasHyperliquidWhaleBackfillCoverage, rebuildHyperliquidWhaleCoverageRows, rebuildHyperliquidWhaleFlowRows, toRows, upsertCandles, upsertDerivatives, upsertDerivativesBackfillCoverage, upsertHyperliquidWhaleCoverageRows, upsertHyperliquidWhaleFlowRows, upsertHyperliquidWhaleTradeEvents, upsertHyperliquidWhaleWalletCoverage, upsertMarketBreadthRows, upsertMarketCmcExchangeLiquidityContextRows, upsertMarketCmcFearGreedContextRows, upsertMarketCmcIndexContextRows, upsertMarketContextBackfillCoverage, upsertMarketGlobalContextRows, upsertMarketReferenceAssetContextRows, upsertMarketTradeFlowRows, upsertSpreadRows, waitForDbReady };
476
+ export { type CandleRow, type DeprecatedMarketContextCleanupItem, type DerivativesMetricCoverageMetric, type HyperliquidWhaleCoverageRebuildProgress, type HyperliquidWhaleCoverageSeriesRow, type HyperliquidWhaleFlowAggregate, type HyperliquidWhaleFlowSeriesRow, type HyperliquidWhaleWalletCoverageStatus, type MarketFeatureAsOf, type TimescaleMarketContextQueryOptions, type TimescaleMarketContextSource, applyDerivativesMetricCoverage, cleanupDeprecatedMarketContext, closeTimescalePool, configureTimescaleMarketContextSchemaMode, deleteCandles, ensureBinanceMarketSchema, ensureCoinMarketCapContextSchema, ensureDerivativesSchema, ensureHyperliquidWhaleSchema, ensureMarketContextSchemas, findContinuityGap, getCandlesRange, getDataEdges, getDataEdgesForSymbols, getDerivativesBackfillCoverage, getDerivativesDataEdgesForSymbols, getDerivativesMetricCoverage, getDerivativesRangeForSymbols, getDerivativesSummary, getDerivativesWindow, getHyperliquidWhaleCoverageSeriesRows, getHyperliquidWhaleFlowAggregate, getHyperliquidWhaleFlowSeriesRows, getHyperliquidWhaleWalletCoverage, getLatestMarketBreadth, getLatestMarketCmcExchangeLiquidityContext, getLatestMarketCmcFearGreedContext, getLatestMarketCmcIndexContexts, getLatestMarketGlobalContext, getLatestMarketReferenceAssetContexts, getLatestMarketTradeFlow, getMarketBreadthCoverage, getMarketCmcExchangeLiquidityContextCoverage, getMarketCmcFearGreedContextCoverage, getMarketCmcIndexContextCoverage, getMarketContextBackfillCoverage, getMarketGlobalContextCoverage, getMarketReferenceAssetContextCoverage, getMarketTradeFlowCoverage, getSpreadRangeForSymbols, getSpreadSummary, hasHyperliquidWhaleBackfillCoverage, rebuildHyperliquidWhaleCoverageRows, rebuildHyperliquidWhaleFlowRows, toRows, upsertCandles, upsertDerivatives, upsertDerivativesBackfillCoverage, upsertHyperliquidWhaleCoverageRows, upsertHyperliquidWhaleFlowRows, upsertHyperliquidWhaleTradeEvents, upsertHyperliquidWhaleWalletCoverage, upsertMarketBreadthRows, upsertMarketCmcExchangeLiquidityContextRows, upsertMarketCmcFearGreedContextRows, upsertMarketCmcIndexContextRows, upsertMarketContextBackfillCoverage, upsertMarketGlobalContextRows, upsertMarketReferenceAssetContextRows, upsertMarketTradeFlowRows, upsertSpreadRows, waitForDbReady };
@@ -20,9 +20,25 @@ type CandleRow = {
20
20
  takerSellBaseVolume?: number | null;
21
21
  takerSellQuoteVolume?: number | null;
22
22
  };
23
+ type TimescaleMarketContextSource = 'binance' | 'coinmarketcap' | 'derivatives' | 'hyperliquidWhales';
24
+ type TimescaleMarketContextQueryOptions = {
25
+ signal?: AbortSignal;
26
+ timeoutMs?: number;
27
+ };
28
+ declare const configureTimescaleMarketContextSchemaMode: (mode: "ensure" | "verify") => void;
23
29
  declare const closeTimescalePool: () => Promise<void>;
24
30
  declare const toRows: (provider: string, symbol: string, interval: number, data: KlineChartData) => CandleRow[];
25
31
  declare function upsertCandles(rows: CandleRow[]): Promise<void>;
32
+ declare const ensureDerivativesSchema: () => Promise<void>;
33
+ declare const ensureBinanceMarketSchema: () => Promise<void>;
34
+ declare const ensureHyperliquidWhaleSchema: () => Promise<void>;
35
+ /**
36
+ * CoinMarketCap tables currently share the historical market-context migration
37
+ * with the Binance tables. Keeping a source-specific entrypoint lets process
38
+ * composition own schema preparation without exposing that storage detail.
39
+ */
40
+ declare const ensureCoinMarketCapContextSchema: () => Promise<void>;
41
+ declare const ensureMarketContextSchemas: (sources: Iterable<TimescaleMarketContextSource>) => Promise<void>;
26
42
  declare function upsertDerivatives(rows: DerivativesRow[]): Promise<void>;
27
43
  declare function getDerivativesRangeForSymbols(symbols: string[], interval: DerivativesInterval, startMs: number, endMs: number): Promise<any[]>;
28
44
  declare function getDerivativesDataEdgesForSymbols(symbols: string[], interval: DerivativesInterval): Promise<Map<string, {
@@ -83,6 +99,8 @@ declare function getDerivativesWindow(params: {
83
99
  intervals: DerivativesInterval[];
84
100
  endMs: number;
85
101
  lookbackMs: number;
102
+ signal?: AbortSignal;
103
+ timeoutMs?: number;
86
104
  }): Promise<Partial<Record<DerivativesInterval, DerivativesRow[]>>>;
87
105
  declare function getDerivativesSummary(hours?: number, limit?: number, symbols?: string[]): Promise<{
88
106
  hours: number;
@@ -153,6 +171,8 @@ declare function getLatestMarketTradeFlow(params: {
153
171
  interval: MarketFeatureInterval;
154
172
  atMs: number;
155
173
  maxAgeMs?: number;
174
+ signal?: AbortSignal;
175
+ timeoutMs?: number;
156
176
  }): Promise<MarketFeatureAsOf<MarketTradeFlowRow> | null>;
157
177
  type HyperliquidWhaleWalletCoverageStatus = 'complete' | 'truncated' | 'failed';
158
178
  declare function getHyperliquidWhaleWalletCoverage(params: {
@@ -181,12 +201,21 @@ declare function upsertHyperliquidWhaleWalletCoverage(params: {
181
201
  universeFingerprint: string;
182
202
  whaleRegistryFingerprint: string;
183
203
  }): Promise<void>;
204
+ type HyperliquidWhaleCoverageRebuildProgress = {
205
+ chunkIndex: number;
206
+ totalChunks: number;
207
+ completedBuckets: number;
208
+ totalBuckets: number;
209
+ rows: number;
210
+ };
184
211
  declare function rebuildHyperliquidWhaleCoverageRows(params: {
185
212
  fromMs: number;
186
213
  toMs: number;
187
214
  expectedWhales: number;
188
215
  universeFingerprint: string;
189
216
  whaleRegistryFingerprint: string;
217
+ chunkMinutes?: number;
218
+ onProgress?: (progress: HyperliquidWhaleCoverageRebuildProgress) => void;
190
219
  }): Promise<number>;
191
220
  declare function upsertHyperliquidWhaleCoverageRows(rows: HyperliquidWhaleCoverageRow[]): Promise<void>;
192
221
  type HyperliquidWhaleCoverageSeriesRow = {
@@ -200,6 +229,8 @@ declare function getHyperliquidWhaleCoverageSeriesRows(params: {
200
229
  toMs: number;
201
230
  universeFingerprint: string;
202
231
  whaleRegistryFingerprint: string;
232
+ signal?: AbortSignal;
233
+ timeoutMs?: number;
203
234
  }): Promise<HyperliquidWhaleCoverageSeriesRow[]>;
204
235
  type HyperliquidWhaleFlowSeriesRow = {
205
236
  ts: Date;
@@ -224,6 +255,8 @@ declare function getHyperliquidWhaleFlowSeriesRows(params: {
224
255
  toMs: number;
225
256
  universeFingerprint: string;
226
257
  whaleRegistryFingerprint: string;
258
+ signal?: AbortSignal;
259
+ timeoutMs?: number;
227
260
  }): Promise<HyperliquidWhaleFlowSeriesRow[]>;
228
261
  type HyperliquidWhaleFlowAggregate = {
229
262
  symbol: string;
@@ -265,6 +298,8 @@ declare function getHyperliquidWhaleFlowAggregate(params: {
265
298
  universeFingerprint: string;
266
299
  whaleRegistryFingerprint: string;
267
300
  maxAgeMs?: number;
301
+ signal?: AbortSignal;
302
+ timeoutMs?: number;
268
303
  }): Promise<HyperliquidWhaleFlowAggregate | null>;
269
304
  declare function hasHyperliquidWhaleBackfillCoverage(params: {
270
305
  fromMs: number;
@@ -277,11 +312,15 @@ declare function getLatestMarketBreadth(params: {
277
312
  interval: MarketFeatureInterval;
278
313
  atMs: number;
279
314
  maxAgeMs?: number;
315
+ signal?: AbortSignal;
316
+ timeoutMs?: number;
280
317
  }): Promise<MarketFeatureAsOf<MarketBreadthRow> | null>;
281
318
  declare function getLatestMarketGlobalContext(params: {
282
319
  source?: MarketGlobalContextRow['source'];
283
320
  atMs: number;
284
321
  maxAgeMs?: number;
322
+ signal?: AbortSignal;
323
+ timeoutMs?: number;
285
324
  }): Promise<(MarketFeatureAsOf<MarketGlobalContextRow> & {
286
325
  btcDominanceChange24hPct: number | null;
287
326
  ethDominanceChange24hPct: number | null;
@@ -314,12 +353,16 @@ declare function getLatestMarketReferenceAssetContexts(params: {
314
353
  interval?: MarketReferenceAssetContextRow['interval'];
315
354
  atMs: number;
316
355
  maxAgeMs?: number;
356
+ signal?: AbortSignal;
357
+ timeoutMs?: number;
317
358
  }): Promise<Map<string, MarketFeatureAsOf<MarketReferenceAssetContextRow>>>;
318
359
  declare function getLatestMarketCmcExchangeLiquidityContext(params: {
319
360
  source?: MarketCmcExchangeLiquidityContextRow['source'];
320
361
  interval?: MarketCmcExchangeLiquidityContextRow['interval'];
321
362
  atMs: number;
322
363
  maxAgeMs?: number;
364
+ signal?: AbortSignal;
365
+ timeoutMs?: number;
323
366
  }): Promise<(MarketFeatureAsOf<MarketCmcExchangeLiquidityContextRow> & {
324
367
  totalVolumeChange24hPct: number | null;
325
368
  }) | null>;
@@ -329,6 +372,8 @@ declare function getLatestMarketCmcIndexContexts(params: {
329
372
  interval?: MarketCmcIndexContextRow['interval'];
330
373
  atMs: number;
331
374
  maxAgeMs?: number;
375
+ signal?: AbortSignal;
376
+ timeoutMs?: number;
332
377
  }): Promise<Map<MarketCmcIndexContextRow['indexSlug'], MarketFeatureAsOf<MarketCmcIndexContextRow> & {
333
378
  valueChange24hPct: number | null;
334
379
  }>>;
@@ -337,6 +382,8 @@ declare function getLatestMarketCmcFearGreedContext(params: {
337
382
  interval?: MarketCmcFearGreedContextRow['interval'];
338
383
  atMs: number;
339
384
  maxAgeMs?: number;
385
+ signal?: AbortSignal;
386
+ timeoutMs?: number;
340
387
  }): Promise<(MarketFeatureAsOf<MarketCmcFearGreedContextRow> & {
341
388
  valueChange24h: number | null;
342
389
  valueChange7d: number | null;
@@ -426,4 +473,4 @@ declare function findContinuityGap(provider: string, symbol: string, interval: n
426
473
  diffSeconds: number;
427
474
  } | null>;
428
475
 
429
- export { type CandleRow, type DeprecatedMarketContextCleanupItem, type DerivativesMetricCoverageMetric, type HyperliquidWhaleCoverageSeriesRow, type HyperliquidWhaleFlowAggregate, type HyperliquidWhaleFlowSeriesRow, type HyperliquidWhaleWalletCoverageStatus, type MarketFeatureAsOf, applyDerivativesMetricCoverage, cleanupDeprecatedMarketContext, closeTimescalePool, deleteCandles, findContinuityGap, getCandlesRange, getDataEdges, getDataEdgesForSymbols, getDerivativesBackfillCoverage, getDerivativesDataEdgesForSymbols, getDerivativesMetricCoverage, getDerivativesRangeForSymbols, getDerivativesSummary, getDerivativesWindow, getHyperliquidWhaleCoverageSeriesRows, getHyperliquidWhaleFlowAggregate, getHyperliquidWhaleFlowSeriesRows, getHyperliquidWhaleWalletCoverage, getLatestMarketBreadth, getLatestMarketCmcExchangeLiquidityContext, getLatestMarketCmcFearGreedContext, getLatestMarketCmcIndexContexts, getLatestMarketGlobalContext, getLatestMarketReferenceAssetContexts, getLatestMarketTradeFlow, getMarketBreadthCoverage, getMarketCmcExchangeLiquidityContextCoverage, getMarketCmcFearGreedContextCoverage, getMarketCmcIndexContextCoverage, getMarketContextBackfillCoverage, getMarketGlobalContextCoverage, getMarketReferenceAssetContextCoverage, getMarketTradeFlowCoverage, getSpreadRangeForSymbols, getSpreadSummary, hasHyperliquidWhaleBackfillCoverage, rebuildHyperliquidWhaleCoverageRows, rebuildHyperliquidWhaleFlowRows, toRows, upsertCandles, upsertDerivatives, upsertDerivativesBackfillCoverage, upsertHyperliquidWhaleCoverageRows, upsertHyperliquidWhaleFlowRows, upsertHyperliquidWhaleTradeEvents, upsertHyperliquidWhaleWalletCoverage, upsertMarketBreadthRows, upsertMarketCmcExchangeLiquidityContextRows, upsertMarketCmcFearGreedContextRows, upsertMarketCmcIndexContextRows, upsertMarketContextBackfillCoverage, upsertMarketGlobalContextRows, upsertMarketReferenceAssetContextRows, upsertMarketTradeFlowRows, upsertSpreadRows, waitForDbReady };
476
+ export { type CandleRow, type DeprecatedMarketContextCleanupItem, type DerivativesMetricCoverageMetric, type HyperliquidWhaleCoverageRebuildProgress, type HyperliquidWhaleCoverageSeriesRow, type HyperliquidWhaleFlowAggregate, type HyperliquidWhaleFlowSeriesRow, type HyperliquidWhaleWalletCoverageStatus, type MarketFeatureAsOf, type TimescaleMarketContextQueryOptions, type TimescaleMarketContextSource, applyDerivativesMetricCoverage, cleanupDeprecatedMarketContext, closeTimescalePool, configureTimescaleMarketContextSchemaMode, deleteCandles, ensureBinanceMarketSchema, ensureCoinMarketCapContextSchema, ensureDerivativesSchema, ensureHyperliquidWhaleSchema, ensureMarketContextSchemas, findContinuityGap, getCandlesRange, getDataEdges, getDataEdgesForSymbols, getDerivativesBackfillCoverage, getDerivativesDataEdgesForSymbols, getDerivativesMetricCoverage, getDerivativesRangeForSymbols, getDerivativesSummary, getDerivativesWindow, getHyperliquidWhaleCoverageSeriesRows, getHyperliquidWhaleFlowAggregate, getHyperliquidWhaleFlowSeriesRows, getHyperliquidWhaleWalletCoverage, getLatestMarketBreadth, getLatestMarketCmcExchangeLiquidityContext, getLatestMarketCmcFearGreedContext, getLatestMarketCmcIndexContexts, getLatestMarketGlobalContext, getLatestMarketReferenceAssetContexts, getLatestMarketTradeFlow, getMarketBreadthCoverage, getMarketCmcExchangeLiquidityContextCoverage, getMarketCmcFearGreedContextCoverage, getMarketCmcIndexContextCoverage, getMarketContextBackfillCoverage, getMarketGlobalContextCoverage, getMarketReferenceAssetContextCoverage, getMarketTradeFlowCoverage, getSpreadRangeForSymbols, getSpreadSummary, hasHyperliquidWhaleBackfillCoverage, rebuildHyperliquidWhaleCoverageRows, rebuildHyperliquidWhaleFlowRows, toRows, upsertCandles, upsertDerivatives, upsertDerivativesBackfillCoverage, upsertHyperliquidWhaleCoverageRows, upsertHyperliquidWhaleFlowRows, upsertHyperliquidWhaleTradeEvents, upsertHyperliquidWhaleWalletCoverage, upsertMarketBreadthRows, upsertMarketCmcExchangeLiquidityContextRows, upsertMarketCmcFearGreedContextRows, upsertMarketCmcIndexContextRows, upsertMarketContextBackfillCoverage, upsertMarketGlobalContextRows, upsertMarketReferenceAssetContextRows, upsertMarketTradeFlowRows, upsertSpreadRows, waitForDbReady };