@tradejs/cli 2.0.17 → 2.0.19

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 (42) hide show
  1. package/dist/cli.js +6122 -12724
  2. package/dist/lib/aiExport.js +1 -1607
  3. package/dist/lib/binanceMarketContextBackfill.js +7 -6
  4. package/dist/lib/coinMarketCapContextBackfill.js +19 -18
  5. package/dist/lib/derivativesContextBackfill.js +10 -9
  6. package/dist/lib/hyperliquidWhaleBackfill.js +8 -8
  7. package/dist/lib/hyperliquidWhaleStream.js +4 -4
  8. package/dist/lib/marketContextPrepare.js +83 -1686
  9. package/dist/lib/runEnvironment.js +14 -1666
  10. package/dist/lib/runFormatting.js +1 -1607
  11. package/dist/lib/runtimeDebugEvidence.js +2 -48
  12. package/dist/lib/runtimeEvidenceArtifacts.js +13 -1
  13. package/dist/lib/runtimeRedis.js +6 -57
  14. package/dist/lib/runtimeStrategyBacktest.js +2 -48
  15. package/dist/scripts/aiExport.js +1 -1607
  16. package/dist/scripts/aiPocketSearch.js +1 -1607
  17. package/dist/scripts/aiTrain.js +17 -1623
  18. package/dist/scripts/backtest.js +110 -1759
  19. package/dist/scripts/binanceMarketIngest.js +5 -4
  20. package/dist/scripts/candlesMigrateProvider.js +6 -5186
  21. package/dist/scripts/cleanupMarketContext.js +4 -3
  22. package/dist/scripts/continuity.js +4 -3
  23. package/dist/scripts/derivativesIngest.js +6 -4
  24. package/dist/scripts/derivativesIngestCoinalyzeAll.js +5 -4
  25. package/dist/scripts/doctor.js +2 -5184
  26. package/dist/scripts/hyperliquidWhaleBackfill.js +8 -8
  27. package/dist/scripts/hyperliquidWhaleIngest.js +4 -4
  28. package/dist/scripts/hyperliquidWhalesUpdate.js +1 -1
  29. package/dist/scripts/migration.js +3 -3
  30. package/dist/scripts/mlExport.js +1 -1607
  31. package/dist/scripts/replay.js +291 -1807
  32. package/dist/scripts/replayRunner.js +291 -1807
  33. package/dist/scripts/replayRuntimeEvidence.js +2 -48
  34. package/dist/scripts/researchAuto.js +3 -49
  35. package/dist/scripts/results.js +1 -1607
  36. package/dist/scripts/runtimeEvidence.js +15 -49
  37. package/dist/scripts/runtimeParity.js +121 -1746
  38. package/dist/scripts/signals.js +1057 -2647
  39. package/dist/scripts/signalsDaemon.js +1051 -2608
  40. package/dist/scripts/signalsSummary.js +4 -26
  41. package/dist/workers/testerWorker.js +2 -2
  42. package/package.json +11 -9
@@ -42,17 +42,7 @@ var import_connectors = require("@tradejs/node/connectors");
42
42
  // src/lib/runtimeRedis.ts
43
43
  var import_redis = require("@tradejs/infra/redis");
44
44
  var import_time = require("@tradejs/core/time");
45
- var RESERVED_STRATEGY_NAMES = /* @__PURE__ */ new Set(["charts"]);
46
- var RESERVED_CONFIG_IDS = /* @__PURE__ */ new Set(["results"]);
47
- var resolveStrategyConfigIdentityByKey = (userName, key) => {
48
- const parts = key.split(":");
49
- if (parts.length !== 5) return null;
50
- const [users, keyUserName, strategiesKey, strategyName, configId] = parts;
51
- if (users !== "users" || keyUserName !== userName || strategiesKey !== "strategies" || !strategyName || !configId || RESERVED_STRATEGY_NAMES.has(strategyName) || RESERVED_CONFIG_IDS.has(configId) || !/^[a-zA-Z0-9_-]+$/.test(configId)) {
52
- return null;
53
- }
54
- return { strategyName, configId };
55
- };
45
+ var import_runtimeStrategyConfigs = require("@tradejs/infra/runtimeStrategyConfigs");
56
46
  var isRuntimeTradeRecord = (value) => {
57
47
  if (!value || typeof value !== "object") {
58
48
  return false;
@@ -60,18 +50,6 @@ var isRuntimeTradeRecord = (value) => {
60
50
  const record = value;
61
51
  return typeof record.orderId === "string" && typeof record.strategy === "string" && typeof record.symbol === "string" && typeof record.entryTimestamp === "number" && typeof record.entryPrice === "number" && typeof record.qty === "number" && (record.direction === "LONG" || record.direction === "SHORT");
62
52
  };
63
- var resolveStrategyNameByConfigKey = (userName, key) => {
64
- return resolveStrategyConfigIdentityByKey(userName, key)?.strategyName ?? null;
65
- };
66
- var getRuntimeStrategyConfigKeys = async (userName) => {
67
- const keys = await (0, import_redis.getKeys)(`${import_redis.redisKeys.strategies(userName)}:`);
68
- return keys.filter((key) => resolveStrategyConfigIdentityByKey(userName, key)).sort((left, right) => left.localeCompare(right));
69
- };
70
- var loadRuntimeStrategyNames = async (userName) => [
71
- ...new Set(
72
- (await getRuntimeStrategyConfigKeys(userName)).map((key) => resolveStrategyNameByConfigKey(userName, key)).filter((value) => Boolean(value))
73
- )
74
- ].sort((left, right) => left.localeCompare(right));
75
53
  var loadRuntimeTrades = async (userName, {
76
54
  startTime,
77
55
  endTime
@@ -790,7 +768,7 @@ var buildRuntimeDebugReportAttachment = async (params) => {
790
768
  };
791
769
 
792
770
  // src/scripts/signalsSummary.ts
793
- var import_tradingAccounts = require("@tradejs/infra/tradingAccounts");
771
+ var import_runtimeDeployments = require("@tradejs/infra/runtimeDeployments");
794
772
  import_args.default.option(["u", "user"], "Use user config", "root");
795
773
  import_args.default.option(
796
774
  "connector",
@@ -1324,11 +1302,11 @@ var signalsSummary = async () => {
1324
1302
  trades,
1325
1303
  runtimeDeployments
1326
1304
  ] = await Promise.all([
1327
- loadRuntimeStrategyNames(flags.user),
1305
+ (0, import_runtimeStrategyConfigs.loadRuntimeStrategyNames)(flags.user),
1328
1306
  loadRuntimeSignals(flags.user, { startTime, endTime }),
1329
1307
  loadRuntimeSignalEvaluationStatsBuckets(flags.user),
1330
1308
  loadRuntimeTrades(flags.user),
1331
- (0, import_tradingAccounts.listRuntimeDeployments)(flags.user)
1309
+ (0, import_runtimeDeployments.listRuntimeDeployments)(flags.user)
1332
1310
  ]);
1333
1311
  const {
1334
1312
  trades: syncedTrades,
@@ -8,9 +8,9 @@ var import_ai = require("@tradejs/infra/ai");
8
8
  var import_logger = require("@tradejs/infra/logger");
9
9
  var import_ml = require("@tradejs/infra/ml");
10
10
  var import_redis = require("@tradejs/infra/redis");
11
- var import_timescale = require("@tradejs/infra/timescale");
11
+ var import_client = require("@tradejs/infra/timescale/client");
12
12
  var isProcessing = false;
13
- (0, import_timescale.configureTimescaleMarketContextSchemaMode)("verify");
13
+ (0, import_client.configureTimescaleMarketContextSchemaMode)("verify");
14
14
  var resolveTestSuite = async ({
15
15
  chunk,
16
16
  chunkId,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tradejs/cli",
3
- "version": "2.0.17",
3
+ "version": "2.0.19",
4
4
  "description": "Official CLI for the TradeJS TypeScript framework: infra setup, backtests, signals, bots, and ML workflows.",
5
5
  "keywords": [
6
6
  "tradejs",
@@ -29,21 +29,23 @@
29
29
  "tradejs": "dist/cli.js"
30
30
  },
31
31
  "dependencies": {
32
- "@tradejs/base": "^2.0.17",
33
- "@tradejs/connectors": "^2.0.17",
34
- "@tradejs/core": "^2.0.17",
35
- "@tradejs/indicators": "^2.0.17",
36
- "@tradejs/infra": "^2.0.17",
37
- "@tradejs/node": "^2.0.17",
38
- "@tradejs/strategies": "^2.0.17",
39
- "@tradejs/types": "^2.0.17",
32
+ "@tradejs/base": "^2.0.19",
33
+ "@tradejs/connectors": "^2.0.19",
34
+ "@tradejs/core": "^2.0.19",
35
+ "@tradejs/indicators": "^2.0.19",
36
+ "@tradejs/infra": "^2.0.19",
37
+ "@tradejs/node": "^2.0.19",
38
+ "@tradejs/strategies": "^2.0.19",
39
+ "@tradejs/types": "^2.0.19",
40
40
  "args": "^5.0.3",
41
41
  "bcryptjs": "^2.4.3",
42
42
  "chalk": "4.1.2",
43
43
  "date-fns": "^3.6.0",
44
44
  "dotenv": "^16.6.1",
45
45
  "ioredis": "5.11.1",
46
+ "list-it": "^1.3.13",
46
47
  "lodash": "^4.18.1",
48
+ "pg": "8.22.0",
47
49
  "progress": "^2.0.3",
48
50
  "ws": "^8.21.1"
49
51
  },