@tradejs/node 1.0.3 → 1.0.4

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.
@@ -5,9 +5,9 @@ import {
5
5
  buildAiPayload,
6
6
  buildAiSystemPrompt,
7
7
  trimSeriesDeep
8
- } from "./chunk-QDYCJ2OK.mjs";
9
- import "./chunk-CK2PW4L5.mjs";
10
- import "./chunk-3C76HVLA.mjs";
8
+ } from "./chunk-LMAKIC3C.mjs";
9
+ import "./chunk-ZY6ULOWK.mjs";
10
+ import "./chunk-P2ZUWONT.mjs";
11
11
  import "./chunk-6DZX6EAA.mjs";
12
12
  export {
13
13
  MAX_AI_SERIES_POINTS,
package/dist/backtest.js CHANGED
@@ -5550,6 +5550,7 @@ var TS_MODULE_RE = /\.(cts|mts|ts)$/i;
5550
5550
  var cachedByCwd = /* @__PURE__ */ new Map();
5551
5551
  var announcedConfigFile = /* @__PURE__ */ new Set();
5552
5552
  var tsNodeRegistered = false;
5553
+ var tsconfigPathsRegisteredByCwd = /* @__PURE__ */ new Set();
5553
5554
  var getTradejsProjectCwd = (cwd) => {
5554
5555
  const explicit = String(cwd ?? "").trim();
5555
5556
  if (explicit) {
@@ -5591,6 +5592,28 @@ var ensureTsNodeRegistered = async () => {
5591
5592
  });
5592
5593
  tsNodeRegistered = true;
5593
5594
  };
5595
+ var ensureTsconfigPathsRegistered = async (cwd = getTradejsProjectCwd()) => {
5596
+ const projectRoot = getTradejsProjectCwd(cwd);
5597
+ if (tsconfigPathsRegisteredByCwd.has(projectRoot)) {
5598
+ return;
5599
+ }
5600
+ const tsconfigPathsModule = await import("tsconfig-paths");
5601
+ const loadConfig = tsconfigPathsModule.loadConfig;
5602
+ const register = tsconfigPathsModule.register;
5603
+ if (typeof loadConfig !== "function" || typeof register !== "function") {
5604
+ return;
5605
+ }
5606
+ const loadedConfig = loadConfig(projectRoot);
5607
+ if (loadedConfig.resultType !== "success") {
5608
+ return;
5609
+ }
5610
+ register({
5611
+ baseUrl: loadedConfig.absoluteBaseUrl,
5612
+ paths: loadedConfig.paths,
5613
+ addMatchAll: false
5614
+ });
5615
+ tsconfigPathsRegisteredByCwd.add(projectRoot);
5616
+ };
5594
5617
  var toImportSpecifier = (moduleName) => {
5595
5618
  if (moduleName.startsWith("file://")) {
5596
5619
  return moduleName;
@@ -5618,6 +5641,7 @@ var importConfigFile = async (configFilePath) => {
5618
5641
  if (ext === ".ts" || ext === ".mts") {
5619
5642
  const requireFn = getRequireFn(import_path.default.dirname(configFilePath));
5620
5643
  await ensureTsNodeRegistered();
5644
+ await ensureTsconfigPathsRegistered(import_path.default.dirname(configFilePath));
5621
5645
  return requireFn(configFilePath);
5622
5646
  }
5623
5647
  return import(
@@ -5625,7 +5649,7 @@ var importConfigFile = async (configFilePath) => {
5625
5649
  configFileUrl
5626
5650
  );
5627
5651
  };
5628
- var importTradejsModule = async (moduleName) => {
5652
+ var importTradejsModule = async (moduleName, cwd = getTradejsProjectCwd()) => {
5629
5653
  const normalized = String(moduleName ?? "").trim();
5630
5654
  if (!normalized) {
5631
5655
  return {};
@@ -5639,13 +5663,15 @@ var importTradejsModule = async (moduleName) => {
5639
5663
  }
5640
5664
  }
5641
5665
  const requireFn = getRequireFn(
5642
- import_path.default.isAbsolute(modulePath) ? import_path.default.dirname(modulePath) : getTradejsProjectCwd()
5666
+ import_path.default.isAbsolute(modulePath) ? import_path.default.dirname(modulePath) : cwd
5643
5667
  );
5644
5668
  if (isTsModulePath(modulePath)) {
5645
5669
  await ensureTsNodeRegistered();
5670
+ await ensureTsconfigPathsRegistered(cwd);
5646
5671
  return requireFn(modulePath);
5647
5672
  }
5648
5673
  if (isBareModuleSpecifier(normalized)) {
5674
+ await ensureTsconfigPathsRegistered(cwd);
5649
5675
  return requireFn(normalized);
5650
5676
  }
5651
5677
  try {
@@ -5656,6 +5682,7 @@ var importTradejsModule = async (moduleName) => {
5656
5682
  } catch (error) {
5657
5683
  if (isTsModulePath(modulePath)) {
5658
5684
  await ensureTsNodeRegistered();
5685
+ await ensureTsconfigPathsRegistered(cwd);
5659
5686
  return requireFn(modulePath);
5660
5687
  }
5661
5688
  throw error;
@@ -5808,9 +5835,9 @@ var registerEntries = (entries, source, state) => {
5808
5835
  state.strategyManifestsMap.set(strategyName, entry.manifest);
5809
5836
  }
5810
5837
  };
5811
- var importStrategyPluginModule = async (moduleName) => {
5838
+ var importStrategyPluginModule = async (moduleName, cwd = getTradejsProjectCwd()) => {
5812
5839
  if (typeof importTradejsModule === "function") {
5813
- return importTradejsModule(moduleName);
5840
+ return importTradejsModule(moduleName, cwd);
5814
5841
  }
5815
5842
  return import(
5816
5843
  /* webpackIgnore: true */
@@ -5837,7 +5864,10 @@ var ensureStrategyPluginsLoaded = async (cwd = getTradejsProjectCwd()) => {
5837
5864
  moduleName,
5838
5865
  projectRoot
5839
5866
  );
5840
- const moduleExport = await importStrategyPluginModule(resolvedModuleName);
5867
+ const moduleExport = await importStrategyPluginModule(
5868
+ resolvedModuleName,
5869
+ projectRoot
5870
+ );
5841
5871
  if (strategySet.has(moduleName)) {
5842
5872
  const pluginDefinition = extractStrategyPluginDefinition(moduleExport);
5843
5873
  if (!pluginDefinition) {
@@ -6083,9 +6113,9 @@ var extractConnectorPluginDefinition = (moduleExport) => {
6083
6113
  }
6084
6114
  return null;
6085
6115
  };
6086
- var importConnectorPluginModule = async (moduleName) => {
6116
+ var importConnectorPluginModule = async (moduleName, cwd = getTradejsProjectCwd()) => {
6087
6117
  if (typeof importTradejsModule === "function") {
6088
- return importTradejsModule(moduleName);
6118
+ return importTradejsModule(moduleName, cwd);
6089
6119
  }
6090
6120
  return import(
6091
6121
  /* webpackIgnore: true */
@@ -6107,7 +6137,10 @@ var ensureConnectorPluginsLoaded = async (cwd = getTradejsProjectCwd()) => {
6107
6137
  moduleName,
6108
6138
  projectRoot
6109
6139
  );
6110
- const moduleExport = await importConnectorPluginModule(resolvedModuleName);
6140
+ const moduleExport = await importConnectorPluginModule(
6141
+ resolvedModuleName,
6142
+ projectRoot
6143
+ );
6111
6144
  const pluginDefinition = extractConnectorPluginDefinition(moduleExport);
6112
6145
  if (!pluginDefinition) {
6113
6146
  import_logger3.logger.warn(
package/dist/backtest.mjs CHANGED
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  BUILTIN_CONNECTOR_NAMES,
3
3
  getConnectorCreatorByName
4
- } from "./chunk-MGFEID6K.mjs";
4
+ } from "./chunk-CIY64D57.mjs";
5
5
  import {
6
6
  buildMlPayload
7
- } from "./chunk-H4HXW3EZ.mjs";
7
+ } from "./chunk-RBE4PZER.mjs";
8
8
  import {
9
9
  require_lodash
10
10
  } from "./chunk-GKDBAF3A.mjs";
11
11
  import {
12
12
  getStrategyCreator
13
- } from "./chunk-CK2PW4L5.mjs";
13
+ } from "./chunk-ZY6ULOWK.mjs";
14
14
  import {
15
15
  getTradejsProjectCwd
16
- } from "./chunk-3C76HVLA.mjs";
16
+ } from "./chunk-P2ZUWONT.mjs";
17
17
  import {
18
18
  __toESM
19
19
  } from "./chunk-6DZX6EAA.mjs";
@@ -3,7 +3,7 @@ import {
3
3
  importTradejsModule,
4
4
  loadTradejsConfig,
5
5
  resolvePluginModuleSpecifier
6
- } from "./chunk-3C76HVLA.mjs";
6
+ } from "./chunk-P2ZUWONT.mjs";
7
7
 
8
8
  // src/connectorsRegistry.ts
9
9
  import { logger } from "@tradejs/infra/logger";
@@ -129,9 +129,9 @@ var extractConnectorPluginDefinition = (moduleExport) => {
129
129
  }
130
130
  return null;
131
131
  };
132
- var importConnectorPluginModule = async (moduleName) => {
132
+ var importConnectorPluginModule = async (moduleName, cwd = getTradejsProjectCwd()) => {
133
133
  if (typeof importTradejsModule === "function") {
134
- return importTradejsModule(moduleName);
134
+ return importTradejsModule(moduleName, cwd);
135
135
  }
136
136
  return import(
137
137
  /* webpackIgnore: true */
@@ -153,7 +153,10 @@ var ensureConnectorPluginsLoaded = async (cwd = getTradejsProjectCwd()) => {
153
153
  moduleName,
154
154
  projectRoot
155
155
  );
156
- const moduleExport = await importConnectorPluginModule(resolvedModuleName);
156
+ const moduleExport = await importConnectorPluginModule(
157
+ resolvedModuleName,
158
+ projectRoot
159
+ );
157
160
  const pluginDefinition = extractConnectorPluginDefinition(moduleExport);
158
161
  if (!pluginDefinition) {
159
162
  logger.warn(
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getStrategyManifest
3
- } from "./chunk-CK2PW4L5.mjs";
3
+ } from "./chunk-ZY6ULOWK.mjs";
4
4
 
5
5
  // src/ai.ts
6
6
  import { setData, redisKeys } from "@tradejs/infra/redis";
@@ -15,6 +15,7 @@ var TS_MODULE_RE = /\.(cts|mts|ts)$/i;
15
15
  var cachedByCwd = /* @__PURE__ */ new Map();
16
16
  var announcedConfigFile = /* @__PURE__ */ new Set();
17
17
  var tsNodeRegistered = false;
18
+ var tsconfigPathsRegisteredByCwd = /* @__PURE__ */ new Set();
18
19
  var getTradejsProjectCwd = (cwd) => {
19
20
  const explicit = String(cwd ?? "").trim();
20
21
  if (explicit) {
@@ -56,6 +57,28 @@ var ensureTsNodeRegistered = async () => {
56
57
  });
57
58
  tsNodeRegistered = true;
58
59
  };
60
+ var ensureTsconfigPathsRegistered = async (cwd = getTradejsProjectCwd()) => {
61
+ const projectRoot = getTradejsProjectCwd(cwd);
62
+ if (tsconfigPathsRegisteredByCwd.has(projectRoot)) {
63
+ return;
64
+ }
65
+ const tsconfigPathsModule = await import("tsconfig-paths");
66
+ const loadConfig = tsconfigPathsModule.loadConfig;
67
+ const register = tsconfigPathsModule.register;
68
+ if (typeof loadConfig !== "function" || typeof register !== "function") {
69
+ return;
70
+ }
71
+ const loadedConfig = loadConfig(projectRoot);
72
+ if (loadedConfig.resultType !== "success") {
73
+ return;
74
+ }
75
+ register({
76
+ baseUrl: loadedConfig.absoluteBaseUrl,
77
+ paths: loadedConfig.paths,
78
+ addMatchAll: false
79
+ });
80
+ tsconfigPathsRegisteredByCwd.add(projectRoot);
81
+ };
59
82
  var toImportSpecifier = (moduleName) => {
60
83
  if (moduleName.startsWith("file://")) {
61
84
  return moduleName;
@@ -83,6 +106,7 @@ var importConfigFile = async (configFilePath) => {
83
106
  if (ext === ".ts" || ext === ".mts") {
84
107
  const requireFn = getRequireFn(path.dirname(configFilePath));
85
108
  await ensureTsNodeRegistered();
109
+ await ensureTsconfigPathsRegistered(path.dirname(configFilePath));
86
110
  return requireFn(configFilePath);
87
111
  }
88
112
  return import(
@@ -90,7 +114,7 @@ var importConfigFile = async (configFilePath) => {
90
114
  configFileUrl
91
115
  );
92
116
  };
93
- var importTradejsModule = async (moduleName) => {
117
+ var importTradejsModule = async (moduleName, cwd = getTradejsProjectCwd()) => {
94
118
  const normalized = String(moduleName ?? "").trim();
95
119
  if (!normalized) {
96
120
  return {};
@@ -104,13 +128,15 @@ var importTradejsModule = async (moduleName) => {
104
128
  }
105
129
  }
106
130
  const requireFn = getRequireFn(
107
- path.isAbsolute(modulePath) ? path.dirname(modulePath) : getTradejsProjectCwd()
131
+ path.isAbsolute(modulePath) ? path.dirname(modulePath) : cwd
108
132
  );
109
133
  if (isTsModulePath(modulePath)) {
110
134
  await ensureTsNodeRegistered();
135
+ await ensureTsconfigPathsRegistered(cwd);
111
136
  return requireFn(modulePath);
112
137
  }
113
138
  if (isBareModuleSpecifier(normalized)) {
139
+ await ensureTsconfigPathsRegistered(cwd);
114
140
  return requireFn(normalized);
115
141
  }
116
142
  try {
@@ -121,6 +147,7 @@ var importTradejsModule = async (moduleName) => {
121
147
  } catch (error) {
122
148
  if (isTsModulePath(modulePath)) {
123
149
  await ensureTsNodeRegistered();
150
+ await ensureTsconfigPathsRegistered(cwd);
124
151
  return requireFn(modulePath);
125
152
  }
126
153
  throw error;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getStrategyManifest
3
- } from "./chunk-CK2PW4L5.mjs";
3
+ } from "./chunk-ZY6ULOWK.mjs";
4
4
 
5
5
  // src/strategyAdapters/ml.ts
6
6
  var defaultMlAdapter = {
@@ -3,7 +3,7 @@ import {
3
3
  importTradejsModule,
4
4
  loadTradejsConfig,
5
5
  resolvePluginModuleSpecifier
6
- } from "./chunk-3C76HVLA.mjs";
6
+ } from "./chunk-P2ZUWONT.mjs";
7
7
 
8
8
  // src/strategy/manifests.ts
9
9
  import {
@@ -86,9 +86,9 @@ var registerEntries = (entries, source, state) => {
86
86
  state.strategyManifestsMap.set(strategyName, entry.manifest);
87
87
  }
88
88
  };
89
- var importStrategyPluginModule = async (moduleName) => {
89
+ var importStrategyPluginModule = async (moduleName, cwd = getTradejsProjectCwd()) => {
90
90
  if (typeof importTradejsModule === "function") {
91
- return importTradejsModule(moduleName);
91
+ return importTradejsModule(moduleName, cwd);
92
92
  }
93
93
  return import(
94
94
  /* webpackIgnore: true */
@@ -115,7 +115,10 @@ var ensureStrategyPluginsLoaded = async (cwd = getTradejsProjectCwd()) => {
115
115
  moduleName,
116
116
  projectRoot
117
117
  );
118
- const moduleExport = await importStrategyPluginModule(resolvedModuleName);
118
+ const moduleExport = await importStrategyPluginModule(
119
+ resolvedModuleName,
120
+ projectRoot
121
+ );
119
122
  if (strategySet.has(moduleName)) {
120
123
  const pluginDefinition = extractStrategyPluginDefinition(moduleExport);
121
124
  if (!pluginDefinition) {
package/dist/cli.js CHANGED
@@ -6112,12 +6112,14 @@ var sendSignal = async (signal, imgInterval, analysis) => {
6112
6112
  });
6113
6113
  const data = await res.json();
6114
6114
  if (!data?.ok) {
6115
+ import_logger3.logger.error("tg sendPhoto failed: %s", JSON.stringify(data));
6115
6116
  await fetch(`https://api.telegram.org/bot${token}/sendMessage`, {
6116
6117
  method: "POST",
6117
6118
  headers: { "Content-Type": "application/json" },
6118
6119
  body: JSON.stringify({
6119
6120
  chat_id: chatId,
6120
- text: JSON.stringify(data),
6121
+ text: message,
6122
+ reply_markup: markup,
6121
6123
  parse_mode: "HTML"
6122
6124
  })
6123
6125
  });
@@ -6384,8 +6386,12 @@ var sendToTG = async (signals, imgInterval) => {
6384
6386
  if (analysis && typeof analysis === "object" && Object.keys(analysis).length > 0) {
6385
6387
  await sendSignalAnalysis(signal, analysis);
6386
6388
  }
6387
- } catch {
6388
- import_logger4.logger.error("Failed sent: %s", signal.symbol);
6389
+ } catch (err) {
6390
+ import_logger4.logger.error(
6391
+ "Failed sent: %s %s",
6392
+ signal.symbol,
6393
+ err?.message || String(err)
6394
+ );
6389
6395
  } finally {
6390
6396
  bar.tick(1, { symbol: import_chalk.default.gray(signal.symbol) });
6391
6397
  }
package/dist/cli.mjs CHANGED
@@ -9,11 +9,11 @@ import {
9
9
  } from "./chunk-GKDBAF3A.mjs";
10
10
  import {
11
11
  askAI
12
- } from "./chunk-QDYCJ2OK.mjs";
13
- import "./chunk-CK2PW4L5.mjs";
12
+ } from "./chunk-LMAKIC3C.mjs";
13
+ import "./chunk-ZY6ULOWK.mjs";
14
14
  import {
15
15
  getTradejsProjectCwd
16
- } from "./chunk-3C76HVLA.mjs";
16
+ } from "./chunk-P2ZUWONT.mjs";
17
17
  import {
18
18
  __toESM
19
19
  } from "./chunk-6DZX6EAA.mjs";
@@ -258,12 +258,14 @@ var sendSignal = async (signal, imgInterval, analysis) => {
258
258
  });
259
259
  const data = await res.json();
260
260
  if (!data?.ok) {
261
+ logger.error("tg sendPhoto failed: %s", JSON.stringify(data));
261
262
  await fetch(`https://api.telegram.org/bot${token}/sendMessage`, {
262
263
  method: "POST",
263
264
  headers: { "Content-Type": "application/json" },
264
265
  body: JSON.stringify({
265
266
  chat_id: chatId,
266
- text: JSON.stringify(data),
267
+ text: message,
268
+ reply_markup: markup,
267
269
  parse_mode: "HTML"
268
270
  })
269
271
  });
@@ -530,8 +532,12 @@ var sendToTG = async (signals, imgInterval) => {
530
532
  if (analysis && typeof analysis === "object" && Object.keys(analysis).length > 0) {
531
533
  await sendSignalAnalysis(signal, analysis);
532
534
  }
533
- } catch {
534
- logger2.error("Failed sent: %s", signal.symbol);
535
+ } catch (err) {
536
+ logger2.error(
537
+ "Failed sent: %s %s",
538
+ signal.symbol,
539
+ err?.message || String(err)
540
+ );
535
541
  } finally {
536
542
  bar.tick(1, { symbol: chalk.gray(signal.symbol) });
537
543
  }
@@ -64,6 +64,7 @@ var TS_MODULE_RE = /\.(cts|mts|ts)$/i;
64
64
  var cachedByCwd = /* @__PURE__ */ new Map();
65
65
  var announcedConfigFile = /* @__PURE__ */ new Set();
66
66
  var tsNodeRegistered = false;
67
+ var tsconfigPathsRegisteredByCwd = /* @__PURE__ */ new Set();
67
68
  var getTradejsProjectCwd = (cwd) => {
68
69
  const explicit = String(cwd ?? "").trim();
69
70
  if (explicit) {
@@ -105,6 +106,28 @@ var ensureTsNodeRegistered = async () => {
105
106
  });
106
107
  tsNodeRegistered = true;
107
108
  };
109
+ var ensureTsconfigPathsRegistered = async (cwd = getTradejsProjectCwd()) => {
110
+ const projectRoot = getTradejsProjectCwd(cwd);
111
+ if (tsconfigPathsRegisteredByCwd.has(projectRoot)) {
112
+ return;
113
+ }
114
+ const tsconfigPathsModule = await import("tsconfig-paths");
115
+ const loadConfig = tsconfigPathsModule.loadConfig;
116
+ const register = tsconfigPathsModule.register;
117
+ if (typeof loadConfig !== "function" || typeof register !== "function") {
118
+ return;
119
+ }
120
+ const loadedConfig = loadConfig(projectRoot);
121
+ if (loadedConfig.resultType !== "success") {
122
+ return;
123
+ }
124
+ register({
125
+ baseUrl: loadedConfig.absoluteBaseUrl,
126
+ paths: loadedConfig.paths,
127
+ addMatchAll: false
128
+ });
129
+ tsconfigPathsRegisteredByCwd.add(projectRoot);
130
+ };
108
131
  var toImportSpecifier = (moduleName) => {
109
132
  if (moduleName.startsWith("file://")) {
110
133
  return moduleName;
@@ -132,6 +155,7 @@ var importConfigFile = async (configFilePath) => {
132
155
  if (ext === ".ts" || ext === ".mts") {
133
156
  const requireFn = getRequireFn(import_path.default.dirname(configFilePath));
134
157
  await ensureTsNodeRegistered();
158
+ await ensureTsconfigPathsRegistered(import_path.default.dirname(configFilePath));
135
159
  return requireFn(configFilePath);
136
160
  }
137
161
  return import(
@@ -139,7 +163,7 @@ var importConfigFile = async (configFilePath) => {
139
163
  configFileUrl
140
164
  );
141
165
  };
142
- var importTradejsModule = async (moduleName) => {
166
+ var importTradejsModule = async (moduleName, cwd = getTradejsProjectCwd()) => {
143
167
  const normalized = String(moduleName ?? "").trim();
144
168
  if (!normalized) {
145
169
  return {};
@@ -153,13 +177,15 @@ var importTradejsModule = async (moduleName) => {
153
177
  }
154
178
  }
155
179
  const requireFn = getRequireFn(
156
- import_path.default.isAbsolute(modulePath) ? import_path.default.dirname(modulePath) : getTradejsProjectCwd()
180
+ import_path.default.isAbsolute(modulePath) ? import_path.default.dirname(modulePath) : cwd
157
181
  );
158
182
  if (isTsModulePath(modulePath)) {
159
183
  await ensureTsNodeRegistered();
184
+ await ensureTsconfigPathsRegistered(cwd);
160
185
  return requireFn(modulePath);
161
186
  }
162
187
  if (isBareModuleSpecifier(normalized)) {
188
+ await ensureTsconfigPathsRegistered(cwd);
163
189
  return requireFn(normalized);
164
190
  }
165
191
  try {
@@ -170,6 +196,7 @@ var importTradejsModule = async (moduleName) => {
170
196
  } catch (error) {
171
197
  if (isTsModulePath(modulePath)) {
172
198
  await ensureTsNodeRegistered();
199
+ await ensureTsconfigPathsRegistered(cwd);
173
200
  return requireFn(modulePath);
174
201
  }
175
202
  throw error;
@@ -369,9 +396,9 @@ var extractConnectorPluginDefinition = (moduleExport) => {
369
396
  }
370
397
  return null;
371
398
  };
372
- var importConnectorPluginModule = async (moduleName) => {
399
+ var importConnectorPluginModule = async (moduleName, cwd = getTradejsProjectCwd()) => {
373
400
  if (typeof importTradejsModule === "function") {
374
- return importTradejsModule(moduleName);
401
+ return importTradejsModule(moduleName, cwd);
375
402
  }
376
403
  return import(
377
404
  /* webpackIgnore: true */
@@ -393,7 +420,10 @@ var ensureConnectorPluginsLoaded = async (cwd = getTradejsProjectCwd()) => {
393
420
  moduleName,
394
421
  projectRoot
395
422
  );
396
- const moduleExport = await importConnectorPluginModule(resolvedModuleName);
423
+ const moduleExport = await importConnectorPluginModule(
424
+ resolvedModuleName,
425
+ projectRoot
426
+ );
397
427
  const pluginDefinition = extractConnectorPluginDefinition(moduleExport);
398
428
  if (!pluginDefinition) {
399
429
  import_logger2.logger.warn(
@@ -10,8 +10,8 @@ import {
10
10
  registerConnectorEntries,
11
11
  resetConnectorRegistryCache,
12
12
  resolveConnectorName
13
- } from "./chunk-MGFEID6K.mjs";
14
- import "./chunk-3C76HVLA.mjs";
13
+ } from "./chunk-CIY64D57.mjs";
14
+ import "./chunk-P2ZUWONT.mjs";
15
15
  import "./chunk-6DZX6EAA.mjs";
16
16
  export {
17
17
  BUILTIN_CONNECTOR_NAMES,
package/dist/registry.js CHANGED
@@ -65,6 +65,7 @@ var TS_MODULE_RE = /\.(cts|mts|ts)$/i;
65
65
  var cachedByCwd = /* @__PURE__ */ new Map();
66
66
  var announcedConfigFile = /* @__PURE__ */ new Set();
67
67
  var tsNodeRegistered = false;
68
+ var tsconfigPathsRegisteredByCwd = /* @__PURE__ */ new Set();
68
69
  var getTradejsProjectCwd = (cwd) => {
69
70
  const explicit = String(cwd ?? "").trim();
70
71
  if (explicit) {
@@ -106,6 +107,28 @@ var ensureTsNodeRegistered = async () => {
106
107
  });
107
108
  tsNodeRegistered = true;
108
109
  };
110
+ var ensureTsconfigPathsRegistered = async (cwd = getTradejsProjectCwd()) => {
111
+ const projectRoot = getTradejsProjectCwd(cwd);
112
+ if (tsconfigPathsRegisteredByCwd.has(projectRoot)) {
113
+ return;
114
+ }
115
+ const tsconfigPathsModule = await import("tsconfig-paths");
116
+ const loadConfig = tsconfigPathsModule.loadConfig;
117
+ const register = tsconfigPathsModule.register;
118
+ if (typeof loadConfig !== "function" || typeof register !== "function") {
119
+ return;
120
+ }
121
+ const loadedConfig = loadConfig(projectRoot);
122
+ if (loadedConfig.resultType !== "success") {
123
+ return;
124
+ }
125
+ register({
126
+ baseUrl: loadedConfig.absoluteBaseUrl,
127
+ paths: loadedConfig.paths,
128
+ addMatchAll: false
129
+ });
130
+ tsconfigPathsRegisteredByCwd.add(projectRoot);
131
+ };
109
132
  var toImportSpecifier = (moduleName) => {
110
133
  if (moduleName.startsWith("file://")) {
111
134
  return moduleName;
@@ -133,6 +156,7 @@ var importConfigFile = async (configFilePath) => {
133
156
  if (ext === ".ts" || ext === ".mts") {
134
157
  const requireFn = getRequireFn(import_path.default.dirname(configFilePath));
135
158
  await ensureTsNodeRegistered();
159
+ await ensureTsconfigPathsRegistered(import_path.default.dirname(configFilePath));
136
160
  return requireFn(configFilePath);
137
161
  }
138
162
  return import(
@@ -140,7 +164,7 @@ var importConfigFile = async (configFilePath) => {
140
164
  configFileUrl
141
165
  );
142
166
  };
143
- var importTradejsModule = async (moduleName) => {
167
+ var importTradejsModule = async (moduleName, cwd = getTradejsProjectCwd()) => {
144
168
  const normalized = String(moduleName ?? "").trim();
145
169
  if (!normalized) {
146
170
  return {};
@@ -154,13 +178,15 @@ var importTradejsModule = async (moduleName) => {
154
178
  }
155
179
  }
156
180
  const requireFn = getRequireFn(
157
- import_path.default.isAbsolute(modulePath) ? import_path.default.dirname(modulePath) : getTradejsProjectCwd()
181
+ import_path.default.isAbsolute(modulePath) ? import_path.default.dirname(modulePath) : cwd
158
182
  );
159
183
  if (isTsModulePath(modulePath)) {
160
184
  await ensureTsNodeRegistered();
185
+ await ensureTsconfigPathsRegistered(cwd);
161
186
  return requireFn(modulePath);
162
187
  }
163
188
  if (isBareModuleSpecifier(normalized)) {
189
+ await ensureTsconfigPathsRegistered(cwd);
164
190
  return requireFn(normalized);
165
191
  }
166
192
  try {
@@ -171,6 +197,7 @@ var importTradejsModule = async (moduleName) => {
171
197
  } catch (error) {
172
198
  if (isTsModulePath(modulePath)) {
173
199
  await ensureTsNodeRegistered();
200
+ await ensureTsconfigPathsRegistered(cwd);
174
201
  return requireFn(modulePath);
175
202
  }
176
203
  throw error;
@@ -323,9 +350,9 @@ var registerEntries = (entries, source, state) => {
323
350
  state.strategyManifestsMap.set(strategyName, entry.manifest);
324
351
  }
325
352
  };
326
- var importStrategyPluginModule = async (moduleName) => {
353
+ var importStrategyPluginModule = async (moduleName, cwd = getTradejsProjectCwd()) => {
327
354
  if (typeof importTradejsModule === "function") {
328
- return importTradejsModule(moduleName);
355
+ return importTradejsModule(moduleName, cwd);
329
356
  }
330
357
  return import(
331
358
  /* webpackIgnore: true */
@@ -352,7 +379,10 @@ var ensureStrategyPluginsLoaded = async (cwd = getTradejsProjectCwd()) => {
352
379
  moduleName,
353
380
  projectRoot
354
381
  );
355
- const moduleExport = await importStrategyPluginModule(resolvedModuleName);
382
+ const moduleExport = await importStrategyPluginModule(
383
+ resolvedModuleName,
384
+ projectRoot
385
+ );
356
386
  if (strategySet.has(moduleName)) {
357
387
  const pluginDefinition = extractStrategyPluginDefinition(moduleExport);
358
388
  if (!pluginDefinition) {
package/dist/registry.mjs CHANGED
@@ -11,8 +11,8 @@ import {
11
11
  registerStrategyEntries,
12
12
  resetStrategyRegistryCache,
13
13
  strategies
14
- } from "./chunk-CK2PW4L5.mjs";
15
- import "./chunk-3C76HVLA.mjs";
14
+ } from "./chunk-ZY6ULOWK.mjs";
15
+ import "./chunk-P2ZUWONT.mjs";
16
16
  import "./chunk-6DZX6EAA.mjs";
17
17
  export {
18
18
  ensureIndicatorPluginsLoaded,