@tradejs/infra 2.0.21 → 3.0.1

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
@@ -34,6 +34,8 @@ __export(hyperliquidWhales_exports, {
34
34
  upsertHyperliquidWhaleWalletCoverage: () => upsertHyperliquidWhaleWalletCoverage
35
35
  });
36
36
  module.exports = __toCommonJS(hyperliquidWhales_exports);
37
+
38
+ // src/timescale/hyperliquidWhales/commands.ts
37
39
  var import_types = require("@tradejs/types");
38
40
 
39
41
  // src/timescale/pool.ts
@@ -123,18 +125,7 @@ var queryMarketContext = async (text, values, options = {}) => {
123
125
  var PG_SAFE_MAX_BIND_PARAMS = 3e4;
124
126
  var getSafeBulkInsertRows = (columnsCount) => Math.max(1, Math.floor(PG_SAFE_MAX_BIND_PARAMS / columnsCount));
125
127
 
126
- // src/timescale/internal.ts
127
- var derivativesSchemaReady = false;
128
- var binanceMarketSchemaReady = false;
129
- var hyperliquidWhaleSchemaReady = false;
130
- var derivativesSchemaReadyPromise = null;
131
- var binanceMarketSchemaReadyPromise = null;
132
- var hyperliquidWhaleSchemaReadyPromise = null;
133
- var marketContextSchemaMode = "ensure";
134
- var verifiedMarketContextSchemas = /* @__PURE__ */ new Set();
135
- var DERIVATIVES_SCHEMA_LOCK_KEY = 610001;
136
- var BINANCE_MARKET_SCHEMA_LOCK_KEY = 610003;
137
- var HYPERLIQUID_WHALE_SCHEMA_LOCK_KEY = 610004;
128
+ // src/timescale/schema/lifecycle.ts
138
129
  var withSchemaLock = async (lockKey, work) => {
139
130
  const pool = getPool();
140
131
  await pool.query("SELECT pg_advisory_lock($1)", [lockKey]);
@@ -144,6 +135,11 @@ var withSchemaLock = async (lockKey, work) => {
144
135
  await pool.query("SELECT pg_advisory_unlock($1)", [lockKey]);
145
136
  }
146
137
  };
138
+
139
+ // src/timescale/schema/derivatives.ts
140
+ var derivativesSchemaReady = false;
141
+ var derivativesSchemaReadyPromise = null;
142
+ var DERIVATIVES_SCHEMA_LOCK_KEY = 610001;
147
143
  var ensureDerivativesSchema = async () => {
148
144
  if (derivativesSchemaReady) return;
149
145
  if (derivativesSchemaReadyPromise) {
@@ -231,6 +227,11 @@ var ensureDerivativesSchema = async () => {
231
227
  });
232
228
  await derivativesSchemaReadyPromise;
233
229
  };
230
+
231
+ // src/timescale/schema/marketContext.ts
232
+ var binanceMarketSchemaReady = false;
233
+ var binanceMarketSchemaReadyPromise = null;
234
+ var BINANCE_MARKET_SCHEMA_LOCK_KEY = 610003;
234
235
  var ensureBinanceMarketSchema = async () => {
235
236
  if (binanceMarketSchemaReady) return;
236
237
  if (binanceMarketSchemaReadyPromise) {
@@ -511,6 +512,11 @@ var ensureBinanceMarketSchema = async () => {
511
512
  });
512
513
  await binanceMarketSchemaReadyPromise;
513
514
  };
515
+
516
+ // src/timescale/schema/hyperliquidWhales.ts
517
+ var hyperliquidWhaleSchemaReady = false;
518
+ var hyperliquidWhaleSchemaReadyPromise = null;
519
+ var HYPERLIQUID_WHALE_SCHEMA_LOCK_KEY = 610004;
514
520
  var ensureHyperliquidWhaleSchema = async () => {
515
521
  if (hyperliquidWhaleSchemaReady) return;
516
522
  if (hyperliquidWhaleSchemaReadyPromise) {
@@ -739,6 +745,10 @@ var ensureHyperliquidWhaleSchema = async () => {
739
745
  });
740
746
  await hyperliquidWhaleSchemaReadyPromise;
741
747
  };
748
+
749
+ // src/timescale/internal.ts
750
+ var marketContextSchemaMode = "ensure";
751
+ var verifiedMarketContextSchemas = /* @__PURE__ */ new Set();
742
752
  var ensureCoinMarketCapContextSchema = async () => ensureBinanceMarketSchema();
743
753
  var ensureMarketContextSchema = async (source) => {
744
754
  switch (source) {
@@ -787,13 +797,7 @@ var verifyMarketContextSchema = async (source) => {
787
797
  };
788
798
  var prepareMarketContextSchemaForRead = async (source) => marketContextSchemaMode === "verify" ? verifyMarketContextSchema(source) : ensureMarketContextSchema(source);
789
799
 
790
- // src/timescale/hyperliquidWhales.ts
791
- var HYPERLIQUID_CONTEXT_INTERVAL_MS = {
792
- "1m": 6e4,
793
- "5m": 5 * 6e4,
794
- "15m": 15 * 6e4,
795
- "1h": 60 * 6e4
796
- };
800
+ // src/timescale/hyperliquidWhales/commands.ts
797
801
  async function upsertHyperliquidWhaleTradeEvents(rows) {
798
802
  if (!rows.length) return;
799
803
  await ensureHyperliquidWhaleSchema();
@@ -1279,55 +1283,6 @@ async function rebuildHyperliquidWhaleFlowRows(params) {
1279
1283
  client.release();
1280
1284
  }
1281
1285
  }
1282
- async function getHyperliquidWhaleWalletCoverage(params) {
1283
- await ensureHyperliquidWhaleSchema();
1284
- const result = await getPool().query(
1285
- `
1286
- SELECT
1287
- status,
1288
- covered_from_ts,
1289
- covered_to_ts,
1290
- fills_count,
1291
- error,
1292
- checked_at
1293
- FROM hyperliquid_whale_wallet_coverage
1294
- WHERE universe_fingerprint = $1
1295
- AND whale_registry_fingerprint = $2
1296
- AND address = $3
1297
- AND data_model_version = $6
1298
- AND (
1299
- (
1300
- covered_from_ts <= to_timestamp($4/1000.0)
1301
- AND covered_to_ts >= to_timestamp($5/1000.0)
1302
- )
1303
- OR (
1304
- requested_from_ts = to_timestamp($4/1000.0)
1305
- AND requested_to_ts = to_timestamp($5/1000.0)
1306
- )
1307
- )
1308
- ORDER BY checked_at DESC
1309
- LIMIT 1
1310
- `,
1311
- [
1312
- params.universeFingerprint,
1313
- params.whaleRegistryFingerprint,
1314
- params.address.toLowerCase(),
1315
- params.fromMs,
1316
- params.toMs,
1317
- import_types.HYPERLIQUID_WHALE_DATA_MODEL_VERSION
1318
- ]
1319
- );
1320
- const row = result.rows[0];
1321
- if (!row) return null;
1322
- return {
1323
- status: row.covered_from_ts != null && row.covered_to_ts != null && new Date(row.covered_from_ts).getTime() <= params.fromMs && new Date(row.covered_to_ts).getTime() >= params.toMs ? "complete" : String(row.status),
1324
- coveredFromMs: row.covered_from_ts == null ? null : new Date(row.covered_from_ts).getTime(),
1325
- coveredToMs: row.covered_to_ts == null ? null : new Date(row.covered_to_ts).getTime(),
1326
- fillsCount: Number(row.fills_count) || 0,
1327
- error: row.error == null ? null : String(row.error),
1328
- checkedAt: new Date(row.checked_at)
1329
- };
1330
- }
1331
1286
  async function upsertHyperliquidWhaleWalletCoverage(params) {
1332
1287
  await ensureHyperliquidWhaleSchema();
1333
1288
  await getPool().query(
@@ -1595,6 +1550,64 @@ async function upsertHyperliquidWhaleCoverageRows(rows) {
1595
1550
  values
1596
1551
  );
1597
1552
  }
1553
+
1554
+ // src/timescale/hyperliquidWhales/queries.ts
1555
+ var import_types2 = require("@tradejs/types");
1556
+ var HYPERLIQUID_CONTEXT_INTERVAL_MS = {
1557
+ "1m": 6e4,
1558
+ "5m": 5 * 6e4,
1559
+ "15m": 15 * 6e4,
1560
+ "1h": 60 * 6e4
1561
+ };
1562
+ async function getHyperliquidWhaleWalletCoverage(params) {
1563
+ await ensureHyperliquidWhaleSchema();
1564
+ const result = await getPool().query(
1565
+ `
1566
+ SELECT
1567
+ status,
1568
+ covered_from_ts,
1569
+ covered_to_ts,
1570
+ fills_count,
1571
+ error,
1572
+ checked_at
1573
+ FROM hyperliquid_whale_wallet_coverage
1574
+ WHERE universe_fingerprint = $1
1575
+ AND whale_registry_fingerprint = $2
1576
+ AND address = $3
1577
+ AND data_model_version = $6
1578
+ AND (
1579
+ (
1580
+ covered_from_ts <= to_timestamp($4/1000.0)
1581
+ AND covered_to_ts >= to_timestamp($5/1000.0)
1582
+ )
1583
+ OR (
1584
+ requested_from_ts = to_timestamp($4/1000.0)
1585
+ AND requested_to_ts = to_timestamp($5/1000.0)
1586
+ )
1587
+ )
1588
+ ORDER BY checked_at DESC
1589
+ LIMIT 1
1590
+ `,
1591
+ [
1592
+ params.universeFingerprint,
1593
+ params.whaleRegistryFingerprint,
1594
+ params.address.toLowerCase(),
1595
+ params.fromMs,
1596
+ params.toMs,
1597
+ import_types2.HYPERLIQUID_WHALE_DATA_MODEL_VERSION
1598
+ ]
1599
+ );
1600
+ const row = result.rows[0];
1601
+ if (!row) return null;
1602
+ return {
1603
+ status: row.covered_from_ts != null && row.covered_to_ts != null && new Date(row.covered_from_ts).getTime() <= params.fromMs && new Date(row.covered_to_ts).getTime() >= params.toMs ? "complete" : String(row.status),
1604
+ coveredFromMs: row.covered_from_ts == null ? null : new Date(row.covered_from_ts).getTime(),
1605
+ coveredToMs: row.covered_to_ts == null ? null : new Date(row.covered_to_ts).getTime(),
1606
+ fillsCount: Number(row.fills_count) || 0,
1607
+ error: row.error == null ? null : String(row.error),
1608
+ checkedAt: new Date(row.checked_at)
1609
+ };
1610
+ }
1598
1611
  async function getHyperliquidWhaleCoverageSeriesRows(params) {
1599
1612
  await prepareMarketContextSchemaForRead("hyperliquidWhales");
1600
1613
  const result = await queryMarketContext(
@@ -1615,7 +1628,7 @@ async function getHyperliquidWhaleCoverageSeriesRows(params) {
1615
1628
  [
1616
1629
  params.universeFingerprint,
1617
1630
  params.whaleRegistryFingerprint,
1618
- import_types.HYPERLIQUID_WHALE_DATA_MODEL_VERSION,
1631
+ import_types2.HYPERLIQUID_WHALE_DATA_MODEL_VERSION,
1619
1632
  params.fromMs,
1620
1633
  params.toMs
1621
1634
  ],
@@ -1802,7 +1815,7 @@ async function getHyperliquidWhaleFlowAggregate(params) {
1802
1815
  params.whaleRegistryFingerprint,
1803
1816
  params.decisionTimeMs,
1804
1817
  intervalMs,
1805
- import_types.HYPERLIQUID_WHALE_DATA_MODEL_VERSION
1818
+ import_types2.HYPERLIQUID_WHALE_DATA_MODEL_VERSION
1806
1819
  ],
1807
1820
  params
1808
1821
  );
@@ -1871,7 +1884,7 @@ async function hasHyperliquidWhaleBackfillCoverage(params) {
1871
1884
  params.whaleRegistryFingerprint,
1872
1885
  params.fromMs,
1873
1886
  params.toMs,
1874
- import_types.HYPERLIQUID_WHALE_DATA_MODEL_VERSION
1887
+ import_types2.HYPERLIQUID_WHALE_DATA_MODEL_VERSION
1875
1888
  ]
1876
1889
  );
1877
1890
  return Number(result.rows[0]?.buckets) === expectedBuckets && Number(result.rows[0]?.complete_buckets) === expectedBuckets;