@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
@@ -1,112 +0,0 @@
1
- import {
2
- ensureSpreadSchema,
3
- getPool
4
- } from "./chunk-I2J6YDBD.mjs";
5
-
6
- // src/timescale/spread.ts
7
- async function upsertSpreadRows(rows) {
8
- if (!rows.length) return;
9
- await ensureSpreadSchema();
10
- const pool = getPool();
11
- const cols = [
12
- "symbol",
13
- "interval",
14
- "ts",
15
- "binance_price",
16
- "coinbase_price",
17
- "spread",
18
- "source"
19
- ];
20
- const maxRows = Math.floor(65535 / cols.length);
21
- if (rows.length > maxRows) {
22
- for (let i = 0; i < rows.length; i += maxRows) {
23
- await upsertSpreadRows(rows.slice(i, i + maxRows));
24
- }
25
- return;
26
- }
27
- const valuesSql = rows.map(
28
- (_, i) => `(${cols.map((__, j) => `$${i * cols.length + j + 1}`).join(",")})`
29
- ).join(",");
30
- const flat = rows.flatMap((row) => [
31
- row.symbol,
32
- row.interval,
33
- row.ts,
34
- row.binancePrice ?? null,
35
- row.coinbasePrice ?? null,
36
- row.spread ?? null,
37
- row.source ?? null
38
- ]);
39
- const sql = `
40
- INSERT INTO market_spread (${cols.join(",")})
41
- VALUES ${valuesSql}
42
- ON CONFLICT (symbol, interval, ts) DO UPDATE SET
43
- binance_price = COALESCE(EXCLUDED.binance_price, market_spread.binance_price),
44
- coinbase_price = COALESCE(EXCLUDED.coinbase_price, market_spread.coinbase_price),
45
- spread = COALESCE(EXCLUDED.spread, market_spread.spread),
46
- source = COALESCE(EXCLUDED.source, market_spread.source),
47
- ingested_at = now()
48
- `;
49
- await pool.query(sql, flat);
50
- }
51
- async function getSpreadRangeForSymbols(symbols, interval, startMs, endMs) {
52
- if (!symbols.length) {
53
- return [];
54
- }
55
- await ensureSpreadSchema();
56
- const pool = getPool();
57
- const sql = `
58
- SELECT symbol, interval, ts, binance_price, coinbase_price, spread
59
- FROM market_spread
60
- WHERE symbol = ANY($1)
61
- AND interval = $2
62
- AND ts >= to_timestamp($3/1000.0)
63
- AND ts <= to_timestamp($4/1000.0)
64
- ORDER BY symbol ASC, ts ASC
65
- `;
66
- const res = await pool.query(sql, [symbols, interval, startMs, endMs]);
67
- return res.rows;
68
- }
69
- async function getSpreadSummary(hours = 24, limit = 500) {
70
- await ensureSpreadSchema();
71
- const pool = getPool();
72
- const cappedHours = Math.max(1, Math.min(24 * 30, hours));
73
- const cappedLimit = Math.max(50, Math.min(5e3, limit));
74
- const rowsQ = await pool.query(
75
- `
76
- SELECT symbol, interval, ts, binance_price, coinbase_price, spread
77
- FROM market_spread
78
- WHERE ts >= now() - ($1 || ' hours')::interval
79
- ORDER BY ts DESC
80
- LIMIT $2
81
- `,
82
- [String(cappedHours), cappedLimit]
83
- );
84
- const aggQ = await pool.query(
85
- `
86
- SELECT
87
- symbol,
88
- interval,
89
- COUNT(*)::int AS points,
90
- MAX(ts) AS last_ts,
91
- AVG(spread) AS avg_spread,
92
- STDDEV_POP(spread) AS std_spread
93
- FROM market_spread
94
- WHERE ts >= now() - ($1 || ' hours')::interval
95
- GROUP BY symbol, interval
96
- ORDER BY points DESC, symbol ASC
97
- LIMIT 500
98
- `,
99
- [String(cappedHours)]
100
- );
101
- return {
102
- rows: rowsQ.rows,
103
- aggregates: aggQ.rows,
104
- hours: cappedHours
105
- };
106
- }
107
-
108
- export {
109
- upsertSpreadRows,
110
- getSpreadRangeForSymbols,
111
- getSpreadSummary
112
- };
@@ -1,44 +0,0 @@
1
- // src/aiLanguages.ts
2
- var AI_RESPONSE_LANGUAGE_OPTIONS = [
3
- { label: "English", value: "en", promptName: "English" },
4
- { label: "Chinese", value: "zh", promptName: "Chinese" },
5
- { label: "Hindi", value: "hi", promptName: "Hindi" },
6
- { label: "Spanish", value: "es", promptName: "Spanish" },
7
- { label: "French", value: "fr", promptName: "French" },
8
- { label: "Arabic", value: "ar", promptName: "Arabic" },
9
- { label: "Bengali", value: "bn", promptName: "Bengali" },
10
- { label: "Portuguese", value: "pt", promptName: "Portuguese" },
11
- { label: "Russian", value: "ru", promptName: "Russian" },
12
- { label: "Urdu", value: "ur", promptName: "Urdu" },
13
- { label: "Indonesian", value: "id", promptName: "Indonesian" },
14
- { label: "German", value: "de", promptName: "German" },
15
- { label: "Japanese", value: "ja", promptName: "Japanese" },
16
- { label: "Swahili", value: "sw", promptName: "Swahili" },
17
- { label: "Marathi", value: "mr", promptName: "Marathi" },
18
- { label: "Telugu", value: "te", promptName: "Telugu" },
19
- { label: "Turkish", value: "tr", promptName: "Turkish" },
20
- { label: "Tamil", value: "ta", promptName: "Tamil" },
21
- { label: "Vietnamese", value: "vi", promptName: "Vietnamese" },
22
- { label: "Korean", value: "ko", promptName: "Korean" }
23
- ];
24
- var KNOWN_AI_RESPONSE_LANGUAGES = new Set(
25
- AI_RESPONSE_LANGUAGE_OPTIONS.map((option) => option.value)
26
- );
27
- var DEFAULT_AI_RESPONSE_LANGUAGE = AI_RESPONSE_LANGUAGE_OPTIONS[0].value;
28
- var normalizeAiResponseLanguage = (value) => {
29
- if (typeof value !== "string") {
30
- return DEFAULT_AI_RESPONSE_LANGUAGE;
31
- }
32
- const trimmed = value.trim().toLowerCase();
33
- return KNOWN_AI_RESPONSE_LANGUAGES.has(trimmed) ? trimmed : DEFAULT_AI_RESPONSE_LANGUAGE;
34
- };
35
- var getAiResponseLanguagePromptName = (value) => AI_RESPONSE_LANGUAGE_OPTIONS.find(
36
- (option) => option.value === normalizeAiResponseLanguage(value)
37
- )?.promptName ?? AI_RESPONSE_LANGUAGE_OPTIONS[0].promptName;
38
-
39
- export {
40
- AI_RESPONSE_LANGUAGE_OPTIONS,
41
- DEFAULT_AI_RESPONSE_LANGUAGE,
42
- normalizeAiResponseLanguage,
43
- getAiResponseLanguagePromptName
44
- };