@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.
- package/dist/{ai-MDMDKAEE.mjs → ai-G7ATN4YL.mjs} +3 -3
- package/dist/backtest.js +41 -8
- package/dist/backtest.mjs +4 -4
- package/dist/{chunk-MGFEID6K.mjs → chunk-CIY64D57.mjs} +7 -4
- package/dist/{chunk-QDYCJ2OK.mjs → chunk-LMAKIC3C.mjs} +1 -1
- package/dist/{chunk-3C76HVLA.mjs → chunk-P2ZUWONT.mjs} +29 -2
- package/dist/{chunk-H4HXW3EZ.mjs → chunk-RBE4PZER.mjs} +1 -1
- package/dist/{chunk-CK2PW4L5.mjs → chunk-ZY6ULOWK.mjs} +7 -4
- package/dist/cli.js +9 -3
- package/dist/cli.mjs +12 -6
- package/dist/connectors.js +35 -5
- package/dist/connectors.mjs +2 -2
- package/dist/registry.js +35 -5
- package/dist/registry.mjs +2 -2
- package/dist/strategies.js +321 -81
- package/dist/strategies.mjs +290 -80
- package/package.json +6 -5
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
buildAiPayload,
|
|
6
6
|
buildAiSystemPrompt,
|
|
7
7
|
trimSeriesDeep
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
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) :
|
|
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(
|
|
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(
|
|
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-
|
|
4
|
+
} from "./chunk-CIY64D57.mjs";
|
|
5
5
|
import {
|
|
6
6
|
buildMlPayload
|
|
7
|
-
} from "./chunk-
|
|
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-
|
|
13
|
+
} from "./chunk-ZY6ULOWK.mjs";
|
|
14
14
|
import {
|
|
15
15
|
getTradejsProjectCwd
|
|
16
|
-
} from "./chunk-
|
|
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-
|
|
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(
|
|
156
|
+
const moduleExport = await importConnectorPluginModule(
|
|
157
|
+
resolvedModuleName,
|
|
158
|
+
projectRoot
|
|
159
|
+
);
|
|
157
160
|
const pluginDefinition = extractConnectorPluginDefinition(moduleExport);
|
|
158
161
|
if (!pluginDefinition) {
|
|
159
162
|
logger.warn(
|
|
@@ -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) :
|
|
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;
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
importTradejsModule,
|
|
4
4
|
loadTradejsConfig,
|
|
5
5
|
resolvePluginModuleSpecifier
|
|
6
|
-
} from "./chunk-
|
|
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(
|
|
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:
|
|
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(
|
|
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-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-LMAKIC3C.mjs";
|
|
13
|
+
import "./chunk-ZY6ULOWK.mjs";
|
|
14
14
|
import {
|
|
15
15
|
getTradejsProjectCwd
|
|
16
|
-
} from "./chunk-
|
|
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:
|
|
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(
|
|
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
|
}
|
package/dist/connectors.js
CHANGED
|
@@ -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) :
|
|
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(
|
|
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(
|
package/dist/connectors.mjs
CHANGED
|
@@ -10,8 +10,8 @@ import {
|
|
|
10
10
|
registerConnectorEntries,
|
|
11
11
|
resetConnectorRegistryCache,
|
|
12
12
|
resolveConnectorName
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
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) :
|
|
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(
|
|
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-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-ZY6ULOWK.mjs";
|
|
15
|
+
import "./chunk-P2ZUWONT.mjs";
|
|
16
16
|
import "./chunk-6DZX6EAA.mjs";
|
|
17
17
|
export {
|
|
18
18
|
ensureIndicatorPluginsLoaded,
|