@tradejs/infra 2.0.21 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/{chunk-YVIHTUV5.mjs → chunk-OLB6NQRG.mjs} +1 -1
  2. package/dist/{chunk-I2J6YDBD.mjs → chunk-ZXU7OYFU.mjs} +65 -38
  3. package/dist/internal-BuHqoCCV.d.mts +9 -0
  4. package/dist/internal-q48Torp4.d.ts +9 -0
  5. package/dist/ml.mjs +3 -3
  6. package/dist/query-tkHVD4Xo.d.mts +12 -0
  7. package/dist/query-tkHVD4Xo.d.ts +12 -0
  8. package/dist/timescale/candles.js +6 -4
  9. package/dist/timescale/candles.mjs +2 -2
  10. package/dist/timescale/client.d.mts +3 -2
  11. package/dist/timescale/client.d.ts +3 -2
  12. package/dist/timescale/client.js +40 -15
  13. package/dist/timescale/client.mjs +2 -2
  14. package/dist/timescale/derivatives.d.mts +4 -2
  15. package/dist/timescale/derivatives.d.ts +4 -2
  16. package/dist/timescale/derivatives.js +20 -12
  17. package/dist/timescale/derivatives.mjs +479 -13
  18. package/dist/timescale/hyperliquidWhales.d.mts +29 -25
  19. package/dist/timescale/hyperliquidWhales.d.ts +29 -25
  20. package/dist/timescale/hyperliquidWhales.js +84 -71
  21. package/dist/timescale/hyperliquidWhales.mjs +1103 -14
  22. package/dist/timescale/marketContext.d.mts +15 -11
  23. package/dist/timescale/marketContext.d.ts +15 -11
  24. package/dist/timescale/marketContext.js +67 -57
  25. package/dist/timescale/marketContext.mjs +1259 -28
  26. package/dist/timescale/spread.js +6 -4
  27. package/dist/timescale/spread.mjs +105 -5
  28. package/dist/userSettings.js +3 -316
  29. package/dist/userSettings.mjs +3 -21
  30. package/package.json +2 -22
  31. package/dist/aiEndpoints.d.mts +0 -10
  32. package/dist/aiEndpoints.d.ts +0 -10
  33. package/dist/aiEndpoints.js +0 -159
  34. package/dist/aiEndpoints.mjs +0 -12
  35. package/dist/aiLanguages.d.mts +0 -11
  36. package/dist/aiLanguages.d.ts +0 -11
  37. package/dist/aiLanguages.js +0 -71
  38. package/dist/aiLanguages.mjs +0 -12
  39. package/dist/aiModels.d.mts +0 -12
  40. package/dist/aiModels.d.ts +0 -12
  41. package/dist/aiModels.js +0 -272
  42. package/dist/aiModels.mjs +0 -17
  43. package/dist/chunk-2CZREG43.mjs +0 -112
  44. package/dist/chunk-CCC7DX2T.mjs +0 -44
  45. package/dist/chunk-DFMKDB2R.mjs +0 -1285
  46. package/dist/chunk-DTCLZIBM.mjs +0 -163
  47. package/dist/chunk-NWXFWTWU.mjs +0 -1114
  48. package/dist/chunk-SZQB7ER5.mjs +0 -492
  49. package/dist/chunk-XQ3YBULV.mjs +0 -132
  50. package/dist/internal-2coHaaos.d.mts +0 -26
  51. package/dist/internal-2coHaaos.d.ts +0 -26
  52. package/dist/timescale.d.mts +0 -9
  53. package/dist/timescale.d.ts +0 -9
  54. package/dist/timescale.js +0 -4228
  55. package/dist/timescale.mjs +0 -138
@@ -1,8 +1,11 @@
1
- import { MarketFeatureInterval, MarketBreadthRow, MarketCmcExchangeLiquidityContextRow, MarketCmcFearGreedContextRow, MarketCmcIndexContextRow, MarketGlobalContextRow, MarketReferenceAssetContextRow, MarketTradeFlowRow } from '@tradejs/types';
2
- export { T as TimescaleMarketContextQueryOptions, a as TimescaleMarketContextSource, e as ensureBinanceMarketSchema, d as ensureCoinMarketCapContextSchema, h as ensureMarketContextSchemas } from '../internal-2coHaaos.mjs';
1
+ import { MarketBreadthRow, MarketCmcExchangeLiquidityContextRow, MarketCmcFearGreedContextRow, MarketCmcIndexContextRow, MarketGlobalContextRow, MarketReferenceAssetContextRow, MarketTradeFlowRow, MarketFeatureInterval } from '@tradejs/types';
2
+ export { T as TimescaleMarketContextQueryOptions } from '../query-tkHVD4Xo.mjs';
3
3
  import { M as MarketFeatureAsOf } from '../values-BrvcmnfM.mjs';
4
+ export { T as TimescaleMarketContextSource, e as ensureCoinMarketCapContextSchema, b as ensureMarketContextSchemas } from '../internal-BuHqoCCV.mjs';
4
5
  import 'pg';
5
6
 
7
+ declare const ensureBinanceMarketSchema: () => Promise<void>;
8
+
6
9
  declare function upsertMarketTradeFlowRows(rows: MarketTradeFlowRow[]): Promise<void>;
7
10
  declare function upsertMarketBreadthRows(rows: MarketBreadthRow[]): Promise<void>;
8
11
  declare function upsertMarketGlobalContextRows(rows: MarketGlobalContextRow[]): Promise<void>;
@@ -10,6 +13,15 @@ declare function upsertMarketReferenceAssetContextRows(rows: MarketReferenceAsse
10
13
  declare function upsertMarketCmcExchangeLiquidityContextRows(rows: MarketCmcExchangeLiquidityContextRow[]): Promise<void>;
11
14
  declare function upsertMarketCmcFearGreedContextRows(rows: MarketCmcFearGreedContextRow[]): Promise<void>;
12
15
  declare function upsertMarketCmcIndexContextRows(rows: MarketCmcIndexContextRow[]): Promise<void>;
16
+ declare function upsertMarketContextBackfillCoverage(rows: Array<{
17
+ source: string;
18
+ scope: string;
19
+ interval: string;
20
+ fromMs: number;
21
+ toMs: number;
22
+ rowsCount: number;
23
+ }>): Promise<void>;
24
+
13
25
  declare function getMarketContextBackfillCoverage(params: {
14
26
  source: string;
15
27
  scopes: string[];
@@ -25,14 +37,6 @@ declare function getMarketContextBackfillCoverage(params: {
25
37
  rowsCount: number;
26
38
  checkedAtMs?: number;
27
39
  }>>;
28
- declare function upsertMarketContextBackfillCoverage(rows: Array<{
29
- source: string;
30
- scope: string;
31
- interval: string;
32
- fromMs: number;
33
- toMs: number;
34
- rowsCount: number;
35
- }>): Promise<void>;
36
40
  declare function getLatestMarketTradeFlow(params: {
37
41
  symbol: string;
38
42
  interval: MarketFeatureInterval;
@@ -185,4 +189,4 @@ declare function getMarketBreadthCoverage(params: {
185
189
  btcAltMetricsRows: number;
186
190
  } | null>;
187
191
 
188
- export { type DeprecatedMarketContextCleanupItem, MarketFeatureAsOf, cleanupDeprecatedMarketContext, getLatestMarketBreadth, getLatestMarketCmcExchangeLiquidityContext, getLatestMarketCmcFearGreedContext, getLatestMarketCmcIndexContexts, getLatestMarketGlobalContext, getLatestMarketReferenceAssetContexts, getLatestMarketTradeFlow, getMarketBreadthCoverage, getMarketCmcExchangeLiquidityContextCoverage, getMarketCmcFearGreedContextCoverage, getMarketCmcIndexContextCoverage, getMarketContextBackfillCoverage, getMarketGlobalContextCoverage, getMarketReferenceAssetContextCoverage, getMarketTradeFlowCoverage, upsertMarketBreadthRows, upsertMarketCmcExchangeLiquidityContextRows, upsertMarketCmcFearGreedContextRows, upsertMarketCmcIndexContextRows, upsertMarketContextBackfillCoverage, upsertMarketGlobalContextRows, upsertMarketReferenceAssetContextRows, upsertMarketTradeFlowRows };
192
+ export { type DeprecatedMarketContextCleanupItem, MarketFeatureAsOf, cleanupDeprecatedMarketContext, ensureBinanceMarketSchema, getLatestMarketBreadth, getLatestMarketCmcExchangeLiquidityContext, getLatestMarketCmcFearGreedContext, getLatestMarketCmcIndexContexts, getLatestMarketGlobalContext, getLatestMarketReferenceAssetContexts, getLatestMarketTradeFlow, getMarketBreadthCoverage, getMarketCmcExchangeLiquidityContextCoverage, getMarketCmcFearGreedContextCoverage, getMarketCmcIndexContextCoverage, getMarketContextBackfillCoverage, getMarketGlobalContextCoverage, getMarketReferenceAssetContextCoverage, getMarketTradeFlowCoverage, upsertMarketBreadthRows, upsertMarketCmcExchangeLiquidityContextRows, upsertMarketCmcFearGreedContextRows, upsertMarketCmcIndexContextRows, upsertMarketContextBackfillCoverage, upsertMarketGlobalContextRows, upsertMarketReferenceAssetContextRows, upsertMarketTradeFlowRows };
@@ -1,8 +1,11 @@
1
- import { MarketFeatureInterval, MarketBreadthRow, MarketCmcExchangeLiquidityContextRow, MarketCmcFearGreedContextRow, MarketCmcIndexContextRow, MarketGlobalContextRow, MarketReferenceAssetContextRow, MarketTradeFlowRow } from '@tradejs/types';
2
- export { T as TimescaleMarketContextQueryOptions, a as TimescaleMarketContextSource, e as ensureBinanceMarketSchema, d as ensureCoinMarketCapContextSchema, h as ensureMarketContextSchemas } from '../internal-2coHaaos.js';
1
+ import { MarketBreadthRow, MarketCmcExchangeLiquidityContextRow, MarketCmcFearGreedContextRow, MarketCmcIndexContextRow, MarketGlobalContextRow, MarketReferenceAssetContextRow, MarketTradeFlowRow, MarketFeatureInterval } from '@tradejs/types';
2
+ export { T as TimescaleMarketContextQueryOptions } from '../query-tkHVD4Xo.js';
3
3
  import { M as MarketFeatureAsOf } from '../values-BrvcmnfM.js';
4
+ export { T as TimescaleMarketContextSource, e as ensureCoinMarketCapContextSchema, b as ensureMarketContextSchemas } from '../internal-q48Torp4.js';
4
5
  import 'pg';
5
6
 
7
+ declare const ensureBinanceMarketSchema: () => Promise<void>;
8
+
6
9
  declare function upsertMarketTradeFlowRows(rows: MarketTradeFlowRow[]): Promise<void>;
7
10
  declare function upsertMarketBreadthRows(rows: MarketBreadthRow[]): Promise<void>;
8
11
  declare function upsertMarketGlobalContextRows(rows: MarketGlobalContextRow[]): Promise<void>;
@@ -10,6 +13,15 @@ declare function upsertMarketReferenceAssetContextRows(rows: MarketReferenceAsse
10
13
  declare function upsertMarketCmcExchangeLiquidityContextRows(rows: MarketCmcExchangeLiquidityContextRow[]): Promise<void>;
11
14
  declare function upsertMarketCmcFearGreedContextRows(rows: MarketCmcFearGreedContextRow[]): Promise<void>;
12
15
  declare function upsertMarketCmcIndexContextRows(rows: MarketCmcIndexContextRow[]): Promise<void>;
16
+ declare function upsertMarketContextBackfillCoverage(rows: Array<{
17
+ source: string;
18
+ scope: string;
19
+ interval: string;
20
+ fromMs: number;
21
+ toMs: number;
22
+ rowsCount: number;
23
+ }>): Promise<void>;
24
+
13
25
  declare function getMarketContextBackfillCoverage(params: {
14
26
  source: string;
15
27
  scopes: string[];
@@ -25,14 +37,6 @@ declare function getMarketContextBackfillCoverage(params: {
25
37
  rowsCount: number;
26
38
  checkedAtMs?: number;
27
39
  }>>;
28
- declare function upsertMarketContextBackfillCoverage(rows: Array<{
29
- source: string;
30
- scope: string;
31
- interval: string;
32
- fromMs: number;
33
- toMs: number;
34
- rowsCount: number;
35
- }>): Promise<void>;
36
40
  declare function getLatestMarketTradeFlow(params: {
37
41
  symbol: string;
38
42
  interval: MarketFeatureInterval;
@@ -185,4 +189,4 @@ declare function getMarketBreadthCoverage(params: {
185
189
  btcAltMetricsRows: number;
186
190
  } | null>;
187
191
 
188
- export { type DeprecatedMarketContextCleanupItem, MarketFeatureAsOf, cleanupDeprecatedMarketContext, getLatestMarketBreadth, getLatestMarketCmcExchangeLiquidityContext, getLatestMarketCmcFearGreedContext, getLatestMarketCmcIndexContexts, getLatestMarketGlobalContext, getLatestMarketReferenceAssetContexts, getLatestMarketTradeFlow, getMarketBreadthCoverage, getMarketCmcExchangeLiquidityContextCoverage, getMarketCmcFearGreedContextCoverage, getMarketCmcIndexContextCoverage, getMarketContextBackfillCoverage, getMarketGlobalContextCoverage, getMarketReferenceAssetContextCoverage, getMarketTradeFlowCoverage, upsertMarketBreadthRows, upsertMarketCmcExchangeLiquidityContextRows, upsertMarketCmcFearGreedContextRows, upsertMarketCmcIndexContextRows, upsertMarketContextBackfillCoverage, upsertMarketGlobalContextRows, upsertMarketReferenceAssetContextRows, upsertMarketTradeFlowRows };
192
+ export { type DeprecatedMarketContextCleanupItem, MarketFeatureAsOf, cleanupDeprecatedMarketContext, ensureBinanceMarketSchema, getLatestMarketBreadth, getLatestMarketCmcExchangeLiquidityContext, getLatestMarketCmcFearGreedContext, getLatestMarketCmcIndexContexts, getLatestMarketGlobalContext, getLatestMarketReferenceAssetContexts, getLatestMarketTradeFlow, getMarketBreadthCoverage, getMarketCmcExchangeLiquidityContextCoverage, getMarketCmcFearGreedContextCoverage, getMarketCmcIndexContextCoverage, getMarketContextBackfillCoverage, getMarketGlobalContextCoverage, getMarketReferenceAssetContextCoverage, getMarketTradeFlowCoverage, upsertMarketBreadthRows, upsertMarketCmcExchangeLiquidityContextRows, upsertMarketCmcFearGreedContextRows, upsertMarketCmcIndexContextRows, upsertMarketContextBackfillCoverage, upsertMarketGlobalContextRows, upsertMarketReferenceAssetContextRows, upsertMarketTradeFlowRows };
@@ -141,18 +141,7 @@ var toMarketFeatureAge = (rowTs, atMs) => {
141
141
  return Number.isFinite(ageMs) ? ageMs : null;
142
142
  };
143
143
 
144
- // src/timescale/internal.ts
145
- var derivativesSchemaReady = false;
146
- var binanceMarketSchemaReady = false;
147
- var hyperliquidWhaleSchemaReady = false;
148
- var derivativesSchemaReadyPromise = null;
149
- var binanceMarketSchemaReadyPromise = null;
150
- var hyperliquidWhaleSchemaReadyPromise = null;
151
- var marketContextSchemaMode = "ensure";
152
- var verifiedMarketContextSchemas = /* @__PURE__ */ new Set();
153
- var DERIVATIVES_SCHEMA_LOCK_KEY = 610001;
154
- var BINANCE_MARKET_SCHEMA_LOCK_KEY = 610003;
155
- var HYPERLIQUID_WHALE_SCHEMA_LOCK_KEY = 610004;
144
+ // src/timescale/schema/lifecycle.ts
156
145
  var withSchemaLock = async (lockKey, work) => {
157
146
  const pool = getPool();
158
147
  await pool.query("SELECT pg_advisory_lock($1)", [lockKey]);
@@ -162,6 +151,11 @@ var withSchemaLock = async (lockKey, work) => {
162
151
  await pool.query("SELECT pg_advisory_unlock($1)", [lockKey]);
163
152
  }
164
153
  };
154
+
155
+ // src/timescale/schema/derivatives.ts
156
+ var derivativesSchemaReady = false;
157
+ var derivativesSchemaReadyPromise = null;
158
+ var DERIVATIVES_SCHEMA_LOCK_KEY = 610001;
165
159
  var ensureDerivativesSchema = async () => {
166
160
  if (derivativesSchemaReady) return;
167
161
  if (derivativesSchemaReadyPromise) {
@@ -249,6 +243,11 @@ var ensureDerivativesSchema = async () => {
249
243
  });
250
244
  await derivativesSchemaReadyPromise;
251
245
  };
246
+
247
+ // src/timescale/schema/marketContext.ts
248
+ var binanceMarketSchemaReady = false;
249
+ var binanceMarketSchemaReadyPromise = null;
250
+ var BINANCE_MARKET_SCHEMA_LOCK_KEY = 610003;
252
251
  var ensureBinanceMarketSchema = async () => {
253
252
  if (binanceMarketSchemaReady) return;
254
253
  if (binanceMarketSchemaReadyPromise) {
@@ -529,6 +528,11 @@ var ensureBinanceMarketSchema = async () => {
529
528
  });
530
529
  await binanceMarketSchemaReadyPromise;
531
530
  };
531
+
532
+ // src/timescale/schema/hyperliquidWhales.ts
533
+ var hyperliquidWhaleSchemaReady = false;
534
+ var hyperliquidWhaleSchemaReadyPromise = null;
535
+ var HYPERLIQUID_WHALE_SCHEMA_LOCK_KEY = 610004;
532
536
  var ensureHyperliquidWhaleSchema = async () => {
533
537
  if (hyperliquidWhaleSchemaReady) return;
534
538
  if (hyperliquidWhaleSchemaReadyPromise) {
@@ -757,6 +761,10 @@ var ensureHyperliquidWhaleSchema = async () => {
757
761
  });
758
762
  await hyperliquidWhaleSchemaReadyPromise;
759
763
  };
764
+
765
+ // src/timescale/internal.ts
766
+ var marketContextSchemaMode = "ensure";
767
+ var verifiedMarketContextSchemas = /* @__PURE__ */ new Set();
760
768
  var ensureCoinMarketCapContextSchema = async () => ensureBinanceMarketSchema();
761
769
  var ensureMarketContextSchema = async (source) => {
762
770
  switch (source) {
@@ -810,7 +818,7 @@ var ensureMarketContextSchemas = async (sources) => {
810
818
  }
811
819
  };
812
820
 
813
- // src/timescale/marketContext.ts
821
+ // src/timescale/marketContext/commands.ts
814
822
  async function upsertMarketTradeFlowRows(rows) {
815
823
  if (!rows.length) return;
816
824
  await ensureBinanceMarketSchema();
@@ -1266,6 +1274,52 @@ async function upsertMarketCmcIndexContextRows(rows) {
1266
1274
  flat
1267
1275
  );
1268
1276
  }
1277
+ async function upsertMarketContextBackfillCoverage(rows) {
1278
+ const normalizedRows = rows.map((row) => ({
1279
+ source: String(row.source || "").trim().toLowerCase(),
1280
+ scope: String(row.scope || "").trim().toLowerCase(),
1281
+ interval: String(row.interval || "").trim().toLowerCase(),
1282
+ fromMs: Math.trunc(row.fromMs),
1283
+ toMs: Math.trunc(row.toMs),
1284
+ rowsCount: Math.max(0, Math.trunc(row.rowsCount))
1285
+ })).filter(
1286
+ (row) => row.source && row.scope && row.interval && Number.isFinite(row.fromMs) && Number.isFinite(row.toMs) && row.toMs >= row.fromMs
1287
+ );
1288
+ if (!normalizedRows.length) return;
1289
+ await ensureBinanceMarketSchema();
1290
+ const pool = getPool();
1291
+ const cols = [
1292
+ "source",
1293
+ "scope",
1294
+ "interval",
1295
+ "from_ts",
1296
+ "to_ts",
1297
+ "rows_count"
1298
+ ];
1299
+ const valuesSql = normalizedRows.map(
1300
+ (_, i) => `(${cols.map((__, j) => `$${i * cols.length + j + 1}`).join(",")})`
1301
+ ).join(",");
1302
+ const flat = normalizedRows.flatMap((row) => [
1303
+ row.source,
1304
+ row.scope,
1305
+ row.interval,
1306
+ new Date(row.fromMs),
1307
+ new Date(row.toMs),
1308
+ row.rowsCount
1309
+ ]);
1310
+ await pool.query(
1311
+ `
1312
+ INSERT INTO market_context_backfill_coverage (${cols.join(",")})
1313
+ VALUES ${valuesSql}
1314
+ ON CONFLICT (source, scope, interval, from_ts, to_ts) DO UPDATE SET
1315
+ rows_count = EXCLUDED.rows_count,
1316
+ checked_at = now()
1317
+ `,
1318
+ flat
1319
+ );
1320
+ }
1321
+
1322
+ // src/timescale/marketContext/queries.ts
1269
1323
  async function getMarketContextBackfillCoverage(params) {
1270
1324
  const source = String(params.source || "").trim().toLowerCase();
1271
1325
  const scopes = [
@@ -1311,50 +1365,6 @@ async function getMarketContextBackfillCoverage(params) {
1311
1365
  };
1312
1366
  });
1313
1367
  }
1314
- async function upsertMarketContextBackfillCoverage(rows) {
1315
- const normalizedRows = rows.map((row) => ({
1316
- source: String(row.source || "").trim().toLowerCase(),
1317
- scope: String(row.scope || "").trim().toLowerCase(),
1318
- interval: String(row.interval || "").trim().toLowerCase(),
1319
- fromMs: Math.trunc(row.fromMs),
1320
- toMs: Math.trunc(row.toMs),
1321
- rowsCount: Math.max(0, Math.trunc(row.rowsCount))
1322
- })).filter(
1323
- (row) => row.source && row.scope && row.interval && Number.isFinite(row.fromMs) && Number.isFinite(row.toMs) && row.toMs >= row.fromMs
1324
- );
1325
- if (!normalizedRows.length) return;
1326
- await ensureBinanceMarketSchema();
1327
- const pool = getPool();
1328
- const cols = [
1329
- "source",
1330
- "scope",
1331
- "interval",
1332
- "from_ts",
1333
- "to_ts",
1334
- "rows_count"
1335
- ];
1336
- const valuesSql = normalizedRows.map(
1337
- (_, i) => `(${cols.map((__, j) => `$${i * cols.length + j + 1}`).join(",")})`
1338
- ).join(",");
1339
- const flat = normalizedRows.flatMap((row) => [
1340
- row.source,
1341
- row.scope,
1342
- row.interval,
1343
- new Date(row.fromMs),
1344
- new Date(row.toMs),
1345
- row.rowsCount
1346
- ]);
1347
- await pool.query(
1348
- `
1349
- INSERT INTO market_context_backfill_coverage (${cols.join(",")})
1350
- VALUES ${valuesSql}
1351
- ON CONFLICT (source, scope, interval, from_ts, to_ts) DO UPDATE SET
1352
- rows_count = EXCLUDED.rows_count,
1353
- checked_at = now()
1354
- `,
1355
- flat
1356
- );
1357
- }
1358
1368
  async function getLatestMarketTradeFlow(params) {
1359
1369
  await prepareMarketContextSchemaForRead("binance");
1360
1370
  const res = await queryMarketContext(