@tradejs/cli 2.0.18 → 2.0.20

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 (56) hide show
  1. package/dist/cli.js +14522 -15704
  2. package/dist/lib/aiExport.js +15 -1608
  3. package/dist/lib/aiPocketSearch.js +499 -67
  4. package/dist/lib/aiPocketSearchCli.js +113 -0
  5. package/dist/lib/aiTrainCharts.js +14 -1
  6. package/dist/lib/aiTrainMetrics.js +4 -1
  7. package/dist/lib/aiTrainResearch.js +88 -54
  8. package/dist/lib/binanceMarketContextBackfill.js +7 -6
  9. package/dist/lib/coinMarketCapContextBackfill.js +19 -18
  10. package/dist/lib/coreResearch.js +2738 -0
  11. package/dist/lib/derivativesContextBackfill.js +10 -9
  12. package/dist/lib/executionCalibration.js +6 -3
  13. package/dist/lib/hyperliquidWhaleBackfill.js +8 -8
  14. package/dist/lib/hyperliquidWhaleStream.js +4 -4
  15. package/dist/lib/marketContextPrepare.js +83 -1686
  16. package/dist/lib/runEnvironment.js +14 -1666
  17. package/dist/lib/runFormatting.js +1 -1607
  18. package/dist/lib/runtimeDebugEvidence.js +2 -48
  19. package/dist/lib/runtimeLineage.js +81 -48
  20. package/dist/lib/runtimeRedis.js +6 -57
  21. package/dist/lib/runtimeScorecard.js +153 -10
  22. package/dist/lib/runtimeStrategyBacktest.js +2 -48
  23. package/dist/lib/strategyGateFingerprint.js +80 -0
  24. package/dist/lib/strategyRelease.js +1365 -0
  25. package/dist/scripts/aiExport.js +17 -1610
  26. package/dist/scripts/aiPocketSearch.js +1070 -1770
  27. package/dist/scripts/aiTrain.js +108 -1688
  28. package/dist/scripts/backtest.js +120 -1760
  29. package/dist/scripts/binanceMarketIngest.js +5 -4
  30. package/dist/scripts/candlesMigrateProvider.js +6 -5186
  31. package/dist/scripts/cleanupMarketContext.js +4 -3
  32. package/dist/scripts/continuity.js +4 -3
  33. package/dist/scripts/coreResearch.js +2830 -0
  34. package/dist/scripts/derivativesIngest.js +6 -4
  35. package/dist/scripts/derivativesIngestCoinalyzeAll.js +5 -4
  36. package/dist/scripts/doctor.js +2 -5184
  37. package/dist/scripts/executionCalibration.js +6 -3
  38. package/dist/scripts/hyperliquidWhaleBackfill.js +8 -8
  39. package/dist/scripts/hyperliquidWhaleIngest.js +4 -4
  40. package/dist/scripts/hyperliquidWhalesUpdate.js +1 -1
  41. package/dist/scripts/migration.js +3 -3
  42. package/dist/scripts/mlExport.js +1 -1607
  43. package/dist/scripts/replay.js +239 -1855
  44. package/dist/scripts/replayRunner.js +239 -1855
  45. package/dist/scripts/replayRuntimeEvidence.js +29 -62
  46. package/dist/scripts/researchAuto.js +3 -49
  47. package/dist/scripts/results.js +1 -1607
  48. package/dist/scripts/runtimeEvidence.js +18 -56
  49. package/dist/scripts/runtimeParity.js +121 -1746
  50. package/dist/scripts/runtimeScorecard.js +883 -29
  51. package/dist/scripts/signals.js +1178 -2724
  52. package/dist/scripts/signalsDaemon.js +1183 -2696
  53. package/dist/scripts/signalsSummary.js +4 -26
  54. package/dist/scripts/strategyRelease.js +1469 -0
  55. package/dist/workers/testerWorker.js +2 -2
  56. package/package.json +13 -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,