@tradejs/node 3.1.29-beta.286 → 3.1.29-beta.287
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/backtest.js +10 -9
- package/dist/backtest.mjs +1 -2
- package/dist/{chunk-QVKUROR2.mjs → chunk-2MPT5PKC.mjs} +11 -9
- package/dist/connectors.js +10 -8
- package/dist/connectors.mjs +1 -1
- package/dist/mcp.d.mts +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.js +10 -8
- package/dist/mcp.mjs +1 -1
- package/dist/runtimeDashboard.js +10 -8
- package/dist/runtimeDashboard.mjs +1 -1
- package/package.json +5 -5
package/dist/backtest.js
CHANGED
|
@@ -7812,10 +7812,6 @@ var normalizeRangeToClosed = (intervalMs, start, end) => {
|
|
|
7812
7812
|
const normEnd = clampToClosedCandle(cappedEnd, intervalMs);
|
|
7813
7813
|
return { normStart, normEnd };
|
|
7814
7814
|
};
|
|
7815
|
-
var rowsToKline = (rows) => rows.map(({ ts, ...data }) => ({
|
|
7816
|
-
timestamp: new Date(ts).getTime(),
|
|
7817
|
-
...data
|
|
7818
|
-
}));
|
|
7819
7815
|
var createTimescaleCachedKline = ({
|
|
7820
7816
|
provider,
|
|
7821
7817
|
request,
|
|
@@ -7953,9 +7949,9 @@ var createTimescaleCachedKline = ({
|
|
|
7953
7949
|
);
|
|
7954
7950
|
const e = defaultEnd ?? base;
|
|
7955
7951
|
const dbData2 = await runTimescaleOperation(
|
|
7956
|
-
() => (0, import_candles.
|
|
7952
|
+
() => (0, import_candles.getKlineCandlesRange)(provider, symbol, intMinutes, s, e)
|
|
7957
7953
|
);
|
|
7958
|
-
return
|
|
7954
|
+
return dbData2;
|
|
7959
7955
|
}
|
|
7960
7956
|
const needOlderData = defaultStart !== void 0 && (dataStart === void 0 || normStart < dataStart);
|
|
7961
7957
|
const persistPartData = warmOnly ? (partData) => runTimescaleOperation(
|
|
@@ -8044,13 +8040,19 @@ var createTimescaleCachedKline = ({
|
|
|
8044
8040
|
const rangeEnd = defaultEnd ?? dataEnd ?? Date.now();
|
|
8045
8041
|
const { normStart: finalStart, normEnd: finalEnd } = normalizeRangeToClosed(intervalMs, rangeStart, rangeEnd);
|
|
8046
8042
|
const dbData = await runTimescaleOperation(
|
|
8047
|
-
() => (0, import_candles.
|
|
8043
|
+
() => (0, import_candles.getKlineCandlesRange)(
|
|
8044
|
+
provider,
|
|
8045
|
+
symbol,
|
|
8046
|
+
intMinutes,
|
|
8047
|
+
finalStart,
|
|
8048
|
+
finalEnd
|
|
8049
|
+
)
|
|
8048
8050
|
);
|
|
8049
8051
|
if (isTimescaleFallbackMode) {
|
|
8050
8052
|
isTimescaleFallbackMode = false;
|
|
8051
8053
|
import_logger11.logger.log("info", "TimescaleDB connection restored for kline cache");
|
|
8052
8054
|
}
|
|
8053
|
-
return
|
|
8055
|
+
return dbData;
|
|
8054
8056
|
} catch (error) {
|
|
8055
8057
|
if (!isTimescaleFallbackMode) {
|
|
8056
8058
|
isTimescaleFallbackMode = true;
|
|
@@ -9689,7 +9691,6 @@ var createBacktestSession = async ({
|
|
|
9689
9691
|
await enrichSignalWithMarketContextStages({
|
|
9690
9692
|
signal,
|
|
9691
9693
|
env: "BACKTEST",
|
|
9692
|
-
coinMarketCapEnabled: true,
|
|
9693
9694
|
onStageStart: monitor.contextStage
|
|
9694
9695
|
});
|
|
9695
9696
|
}
|
package/dist/backtest.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BUILTIN_CONNECTOR_NAMES,
|
|
3
3
|
getConnectorCreatorByName
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-2MPT5PKC.mjs";
|
|
5
5
|
import {
|
|
6
6
|
RESEARCH_ENTRY_POLICY_CAPABILITIES,
|
|
7
7
|
buildMlPayload,
|
|
@@ -1467,7 +1467,6 @@ var createBacktestSession = async ({
|
|
|
1467
1467
|
await enrichSignalWithMarketContextStages({
|
|
1468
1468
|
signal,
|
|
1469
1469
|
env: "BACKTEST",
|
|
1470
|
-
coinMarketCapEnabled: true,
|
|
1471
1470
|
onStageStart: monitor.contextStage
|
|
1472
1471
|
});
|
|
1473
1472
|
}
|
|
@@ -16,7 +16,7 @@ import { getItemTimestamp, getTimestamp } from "@tradejs/core/time";
|
|
|
16
16
|
import { delay } from "@tradejs/core/async";
|
|
17
17
|
import { logger } from "@tradejs/infra/logger";
|
|
18
18
|
import {
|
|
19
|
-
|
|
19
|
+
getKlineCandlesRange,
|
|
20
20
|
getDataEdges,
|
|
21
21
|
toRows,
|
|
22
22
|
upsertCandles
|
|
@@ -49,10 +49,6 @@ var normalizeRangeToClosed = (intervalMs, start, end) => {
|
|
|
49
49
|
const normEnd = clampToClosedCandle(cappedEnd, intervalMs);
|
|
50
50
|
return { normStart, normEnd };
|
|
51
51
|
};
|
|
52
|
-
var rowsToKline = (rows) => rows.map(({ ts, ...data }) => ({
|
|
53
|
-
timestamp: new Date(ts).getTime(),
|
|
54
|
-
...data
|
|
55
|
-
}));
|
|
56
52
|
var createTimescaleCachedKline = ({
|
|
57
53
|
provider,
|
|
58
54
|
request,
|
|
@@ -190,9 +186,9 @@ var createTimescaleCachedKline = ({
|
|
|
190
186
|
);
|
|
191
187
|
const e = defaultEnd ?? base;
|
|
192
188
|
const dbData2 = await runTimescaleOperation(
|
|
193
|
-
() =>
|
|
189
|
+
() => getKlineCandlesRange(provider, symbol, intMinutes, s, e)
|
|
194
190
|
);
|
|
195
|
-
return
|
|
191
|
+
return dbData2;
|
|
196
192
|
}
|
|
197
193
|
const needOlderData = defaultStart !== void 0 && (dataStart === void 0 || normStart < dataStart);
|
|
198
194
|
const persistPartData = warmOnly ? (partData) => runTimescaleOperation(
|
|
@@ -281,13 +277,19 @@ var createTimescaleCachedKline = ({
|
|
|
281
277
|
const rangeEnd = defaultEnd ?? dataEnd ?? Date.now();
|
|
282
278
|
const { normStart: finalStart, normEnd: finalEnd } = normalizeRangeToClosed(intervalMs, rangeStart, rangeEnd);
|
|
283
279
|
const dbData = await runTimescaleOperation(
|
|
284
|
-
() =>
|
|
280
|
+
() => getKlineCandlesRange(
|
|
281
|
+
provider,
|
|
282
|
+
symbol,
|
|
283
|
+
intMinutes,
|
|
284
|
+
finalStart,
|
|
285
|
+
finalEnd
|
|
286
|
+
)
|
|
285
287
|
);
|
|
286
288
|
if (isTimescaleFallbackMode) {
|
|
287
289
|
isTimescaleFallbackMode = false;
|
|
288
290
|
logger.log("info", "TimescaleDB connection restored for kline cache");
|
|
289
291
|
}
|
|
290
|
-
return
|
|
292
|
+
return dbData;
|
|
291
293
|
} catch (error) {
|
|
292
294
|
if (!isTimescaleFallbackMode) {
|
|
293
295
|
isTimescaleFallbackMode = true;
|
package/dist/connectors.js
CHANGED
|
@@ -375,10 +375,6 @@ var normalizeRangeToClosed = (intervalMs, start, end) => {
|
|
|
375
375
|
const normEnd = clampToClosedCandle(cappedEnd, intervalMs);
|
|
376
376
|
return { normStart, normEnd };
|
|
377
377
|
};
|
|
378
|
-
var rowsToKline = (rows) => rows.map(({ ts, ...data }) => ({
|
|
379
|
-
timestamp: new Date(ts).getTime(),
|
|
380
|
-
...data
|
|
381
|
-
}));
|
|
382
378
|
var createTimescaleCachedKline = ({
|
|
383
379
|
provider,
|
|
384
380
|
request,
|
|
@@ -516,9 +512,9 @@ var createTimescaleCachedKline = ({
|
|
|
516
512
|
);
|
|
517
513
|
const e = defaultEnd ?? base;
|
|
518
514
|
const dbData2 = await runTimescaleOperation(
|
|
519
|
-
() => (0, import_candles.
|
|
515
|
+
() => (0, import_candles.getKlineCandlesRange)(provider, symbol, intMinutes, s, e)
|
|
520
516
|
);
|
|
521
|
-
return
|
|
517
|
+
return dbData2;
|
|
522
518
|
}
|
|
523
519
|
const needOlderData = defaultStart !== void 0 && (dataStart === void 0 || normStart < dataStart);
|
|
524
520
|
const persistPartData = warmOnly ? (partData) => runTimescaleOperation(
|
|
@@ -607,13 +603,19 @@ var createTimescaleCachedKline = ({
|
|
|
607
603
|
const rangeEnd = defaultEnd ?? dataEnd ?? Date.now();
|
|
608
604
|
const { normStart: finalStart, normEnd: finalEnd } = normalizeRangeToClosed(intervalMs, rangeStart, rangeEnd);
|
|
609
605
|
const dbData = await runTimescaleOperation(
|
|
610
|
-
() => (0, import_candles.
|
|
606
|
+
() => (0, import_candles.getKlineCandlesRange)(
|
|
607
|
+
provider,
|
|
608
|
+
symbol,
|
|
609
|
+
intMinutes,
|
|
610
|
+
finalStart,
|
|
611
|
+
finalEnd
|
|
612
|
+
)
|
|
611
613
|
);
|
|
612
614
|
if (isTimescaleFallbackMode) {
|
|
613
615
|
isTimescaleFallbackMode = false;
|
|
614
616
|
import_logger2.logger.log("info", "TimescaleDB connection restored for kline cache");
|
|
615
617
|
}
|
|
616
|
-
return
|
|
618
|
+
return dbData;
|
|
617
619
|
} catch (error) {
|
|
618
620
|
if (!isTimescaleFallbackMode) {
|
|
619
621
|
isTimescaleFallbackMode = true;
|
package/dist/connectors.mjs
CHANGED
package/dist/mcp.d.mts
CHANGED
|
@@ -12,7 +12,7 @@ declare const redactMcpJobLog: (line: string) => string;
|
|
|
12
12
|
/** Offsets refer to the retained worker tail, which may shift while running. */
|
|
13
13
|
declare const readMcpJobLogs: (principal: McpPrincipal, id: string, offset?: number, limit?: number) => Promise<{
|
|
14
14
|
jobId: string;
|
|
15
|
-
status: "
|
|
15
|
+
status: "completed" | "failed" | "running" | "queued" | "waiting_resources" | "waiting_executor" | "cancelled";
|
|
16
16
|
updatedAt: number;
|
|
17
17
|
offset: number;
|
|
18
18
|
nextOffset: number | null;
|
package/dist/mcp.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ declare const redactMcpJobLog: (line: string) => string;
|
|
|
12
12
|
/** Offsets refer to the retained worker tail, which may shift while running. */
|
|
13
13
|
declare const readMcpJobLogs: (principal: McpPrincipal, id: string, offset?: number, limit?: number) => Promise<{
|
|
14
14
|
jobId: string;
|
|
15
|
-
status: "
|
|
15
|
+
status: "completed" | "failed" | "running" | "queued" | "waiting_resources" | "waiting_executor" | "cancelled";
|
|
16
16
|
updatedAt: number;
|
|
17
17
|
offset: number;
|
|
18
18
|
nextOffset: number | null;
|
package/dist/mcp.js
CHANGED
|
@@ -7840,10 +7840,6 @@ var normalizeRangeToClosed = (intervalMs, start, end) => {
|
|
|
7840
7840
|
const normEnd = clampToClosedCandle(cappedEnd, intervalMs);
|
|
7841
7841
|
return { normStart, normEnd };
|
|
7842
7842
|
};
|
|
7843
|
-
var rowsToKline = (rows) => rows.map(({ ts, ...data }) => ({
|
|
7844
|
-
timestamp: new Date(ts).getTime(),
|
|
7845
|
-
...data
|
|
7846
|
-
}));
|
|
7847
7843
|
var createTimescaleCachedKline = ({
|
|
7848
7844
|
provider,
|
|
7849
7845
|
request,
|
|
@@ -7981,9 +7977,9 @@ var createTimescaleCachedKline = ({
|
|
|
7981
7977
|
);
|
|
7982
7978
|
const e = defaultEnd ?? base;
|
|
7983
7979
|
const dbData2 = await runTimescaleOperation(
|
|
7984
|
-
() => (0, import_candles.
|
|
7980
|
+
() => (0, import_candles.getKlineCandlesRange)(provider, symbol, intMinutes, s, e)
|
|
7985
7981
|
);
|
|
7986
|
-
return
|
|
7982
|
+
return dbData2;
|
|
7987
7983
|
}
|
|
7988
7984
|
const needOlderData = defaultStart !== void 0 && (dataStart === void 0 || normStart < dataStart);
|
|
7989
7985
|
const persistPartData = warmOnly ? (partData) => runTimescaleOperation(
|
|
@@ -8072,13 +8068,19 @@ var createTimescaleCachedKline = ({
|
|
|
8072
8068
|
const rangeEnd = defaultEnd ?? dataEnd ?? Date.now();
|
|
8073
8069
|
const { normStart: finalStart, normEnd: finalEnd } = normalizeRangeToClosed(intervalMs, rangeStart, rangeEnd);
|
|
8074
8070
|
const dbData = await runTimescaleOperation(
|
|
8075
|
-
() => (0, import_candles.
|
|
8071
|
+
() => (0, import_candles.getKlineCandlesRange)(
|
|
8072
|
+
provider,
|
|
8073
|
+
symbol,
|
|
8074
|
+
intMinutes,
|
|
8075
|
+
finalStart,
|
|
8076
|
+
finalEnd
|
|
8077
|
+
)
|
|
8076
8078
|
);
|
|
8077
8079
|
if (isTimescaleFallbackMode) {
|
|
8078
8080
|
isTimescaleFallbackMode = false;
|
|
8079
8081
|
import_logger11.logger.log("info", "TimescaleDB connection restored for kline cache");
|
|
8080
8082
|
}
|
|
8081
|
-
return
|
|
8083
|
+
return dbData;
|
|
8082
8084
|
} catch (error) {
|
|
8083
8085
|
if (!isTimescaleFallbackMode) {
|
|
8084
8086
|
isTimescaleFallbackMode = true;
|
package/dist/mcp.mjs
CHANGED
package/dist/runtimeDashboard.js
CHANGED
|
@@ -1115,10 +1115,6 @@ var normalizeRangeToClosed = (intervalMs, start, end) => {
|
|
|
1115
1115
|
const normEnd = clampToClosedCandle(cappedEnd, intervalMs);
|
|
1116
1116
|
return { normStart, normEnd };
|
|
1117
1117
|
};
|
|
1118
|
-
var rowsToKline = (rows) => rows.map(({ ts, ...data }) => ({
|
|
1119
|
-
timestamp: new Date(ts).getTime(),
|
|
1120
|
-
...data
|
|
1121
|
-
}));
|
|
1122
1118
|
var createTimescaleCachedKline = ({
|
|
1123
1119
|
provider,
|
|
1124
1120
|
request,
|
|
@@ -1256,9 +1252,9 @@ var createTimescaleCachedKline = ({
|
|
|
1256
1252
|
);
|
|
1257
1253
|
const e = defaultEnd ?? base;
|
|
1258
1254
|
const dbData2 = await runTimescaleOperation(
|
|
1259
|
-
() => (0, import_candles.
|
|
1255
|
+
() => (0, import_candles.getKlineCandlesRange)(provider, symbol, intMinutes, s, e)
|
|
1260
1256
|
);
|
|
1261
|
-
return
|
|
1257
|
+
return dbData2;
|
|
1262
1258
|
}
|
|
1263
1259
|
const needOlderData = defaultStart !== void 0 && (dataStart === void 0 || normStart < dataStart);
|
|
1264
1260
|
const persistPartData = warmOnly ? (partData) => runTimescaleOperation(
|
|
@@ -1347,13 +1343,19 @@ var createTimescaleCachedKline = ({
|
|
|
1347
1343
|
const rangeEnd = defaultEnd ?? dataEnd ?? Date.now();
|
|
1348
1344
|
const { normStart: finalStart, normEnd: finalEnd } = normalizeRangeToClosed(intervalMs, rangeStart, rangeEnd);
|
|
1349
1345
|
const dbData = await runTimescaleOperation(
|
|
1350
|
-
() => (0, import_candles.
|
|
1346
|
+
() => (0, import_candles.getKlineCandlesRange)(
|
|
1347
|
+
provider,
|
|
1348
|
+
symbol,
|
|
1349
|
+
intMinutes,
|
|
1350
|
+
finalStart,
|
|
1351
|
+
finalEnd
|
|
1352
|
+
)
|
|
1351
1353
|
);
|
|
1352
1354
|
if (isTimescaleFallbackMode) {
|
|
1353
1355
|
isTimescaleFallbackMode = false;
|
|
1354
1356
|
import_logger2.logger.log("info", "TimescaleDB connection restored for kline cache");
|
|
1355
1357
|
}
|
|
1356
|
-
return
|
|
1358
|
+
return dbData;
|
|
1357
1359
|
} catch (error) {
|
|
1358
1360
|
if (!isTimescaleFallbackMode) {
|
|
1359
1361
|
isTimescaleFallbackMode = true;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tradejs/node",
|
|
3
|
-
"version": "3.1.29-beta.
|
|
3
|
+
"version": "3.1.29-beta.287",
|
|
4
4
|
"description": "Node-only runtime for the TradeJS TypeScript framework: strategies, backtests, Pine strategy loading, and plugin registries.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tradejs",
|
|
@@ -105,9 +105,9 @@
|
|
|
105
105
|
"dependencies": {
|
|
106
106
|
"@langchain/core": "^1.2.3",
|
|
107
107
|
"@langchain/openai": "^1.5.5",
|
|
108
|
-
"@tradejs/core": "^3.1.29-beta.
|
|
109
|
-
"@tradejs/infra": "^3.1.29-beta.
|
|
110
|
-
"@tradejs/types": "^3.1.29-beta.
|
|
108
|
+
"@tradejs/core": "^3.1.29-beta.287",
|
|
109
|
+
"@tradejs/infra": "^3.1.29-beta.287",
|
|
110
|
+
"@tradejs/types": "^3.1.29-beta.287",
|
|
111
111
|
"@types/node": "^24",
|
|
112
112
|
"chalk": "4.1.2",
|
|
113
113
|
"ioredis": "5.11.1",
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
"typescript": "^5.9"
|
|
121
121
|
},
|
|
122
122
|
"devDependencies": {
|
|
123
|
-
"@tradejs/indicators": "^3.1.29-beta.
|
|
123
|
+
"@tradejs/indicators": "^3.1.29-beta.287",
|
|
124
124
|
"@tradejs/strategy-adaptive-momentum-ribbon": "3.0.5",
|
|
125
125
|
"@tradejs/strategy-hyperliquid-consensus": "3.0.5",
|
|
126
126
|
"@tradejs/strategy-kit": "3.0.6",
|