@tradejs/cli 3.1.28-beta.255 → 3.1.28-beta.256
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/cli.js
CHANGED
|
@@ -14985,7 +14985,8 @@ var init_runtimeEvidenceDeployment = __esm({
|
|
|
14985
14985
|
};
|
|
14986
14986
|
resolveRuntimeEvidenceTickerUniverse = ({
|
|
14987
14987
|
deployment,
|
|
14988
|
-
lineageScopes
|
|
14988
|
+
lineageScopes,
|
|
14989
|
+
fallbackTickers
|
|
14989
14990
|
}) => {
|
|
14990
14991
|
const declaredTickers = deployment.tickers?.filter(isNonEmptyString) ?? [];
|
|
14991
14992
|
if (declaredTickers.length > 0) {
|
|
@@ -15025,6 +15026,15 @@ var init_runtimeEvidenceDeployment = __esm({
|
|
|
15025
15026
|
tickers.add(scope.symbol.trim());
|
|
15026
15027
|
}
|
|
15027
15028
|
if (tickers.size === 0) {
|
|
15029
|
+
const verifiedFallbackTickers = fallbackTickers?.filter(isNonEmptyString) ?? [];
|
|
15030
|
+
if (verifiedFallbackTickers.length > 0) {
|
|
15031
|
+
return {
|
|
15032
|
+
...deployment,
|
|
15033
|
+
tickers: [
|
|
15034
|
+
...new Set(verifiedFallbackTickers.map((ticker) => ticker.trim()))
|
|
15035
|
+
].sort()
|
|
15036
|
+
};
|
|
15037
|
+
}
|
|
15028
15038
|
throw new Error(
|
|
15029
15039
|
"Runtime evidence has no immutable ticker universe for the embedded deployment composition"
|
|
15030
15040
|
);
|
|
@@ -32709,7 +32719,7 @@ var init_runtimeEvidenceCompositions = __esm({
|
|
|
32709
32719
|
for (const snapshot of compositionSnapshots) {
|
|
32710
32720
|
if (snapshot.deployment.id !== currentDeployment.id) continue;
|
|
32711
32721
|
register({
|
|
32712
|
-
deployment:
|
|
32722
|
+
deployment: snapshot.deployment,
|
|
32713
32723
|
producer: snapshot.producer
|
|
32714
32724
|
});
|
|
32715
32725
|
}
|
|
@@ -32723,7 +32733,11 @@ var init_runtimeEvidenceCompositions = __esm({
|
|
|
32723
32733
|
if (bundle.artifact.producer == null) continue;
|
|
32724
32734
|
register({
|
|
32725
32735
|
deployment: { ...deployment, tickers: void 0 },
|
|
32726
|
-
producer: parseRuntimeEvidenceProducer(bundle.artifact.producer)
|
|
32736
|
+
producer: parseRuntimeEvidenceProducer(bundle.artifact.producer),
|
|
32737
|
+
// A historical composition may reappear through a position that closes
|
|
32738
|
+
// in this window even without current-window lineage scopes. Its latest
|
|
32739
|
+
// checksum-verified universe is only a fallback; fresh scopes win.
|
|
32740
|
+
...deployment.tickers?.length ? { fallbackTickers: [...deployment.tickers] } : {}
|
|
32727
32741
|
});
|
|
32728
32742
|
}
|
|
32729
32743
|
const historicalCurrent = snapshots.get(
|
|
@@ -32792,7 +32806,7 @@ var init_runtimeEvidenceCompositions = __esm({
|
|
|
32792
32806
|
`Runtime evidence has no verified deployment snapshot for composition(s): ${missing.sort().join(", ")}`
|
|
32793
32807
|
);
|
|
32794
32808
|
}
|
|
32795
|
-
return [...observed].filter((compositionId) => snapshots.has(compositionId)).map((compositionId) => snapshots.get(compositionId)).map(({ deployment, producer }) => {
|
|
32809
|
+
return [...observed].filter((compositionId) => snapshots.has(compositionId)).map((compositionId) => snapshots.get(compositionId)).map(({ deployment, producer, fallbackTickers }) => {
|
|
32796
32810
|
const trades = evidence.trades.filter(
|
|
32797
32811
|
(row) => belongsToSnapshot(row, deployment)
|
|
32798
32812
|
);
|
|
@@ -32814,6 +32828,7 @@ var init_runtimeEvidenceCompositions = __esm({
|
|
|
32814
32828
|
return {
|
|
32815
32829
|
deployment,
|
|
32816
32830
|
producer,
|
|
32831
|
+
...fallbackTickers ? { fallbackTickers } : {},
|
|
32817
32832
|
trades,
|
|
32818
32833
|
signals: signals2,
|
|
32819
32834
|
evaluations,
|
|
@@ -32990,7 +33005,8 @@ var init_runtimeEvidence = __esm({
|
|
|
32990
33005
|
});
|
|
32991
33006
|
const deployment = resolveRuntimeEvidenceTickerUniverse({
|
|
32992
33007
|
deployment: composition.deployment,
|
|
32993
|
-
lineageScopes: composition.lineageScopes
|
|
33008
|
+
lineageScopes: composition.lineageScopes,
|
|
33009
|
+
fallbackTickers: composition.fallbackTickers
|
|
32994
33010
|
});
|
|
32995
33011
|
return {
|
|
32996
33012
|
artifact: {
|
|
@@ -424,7 +424,7 @@ var loadRuntimeEvidenceCompositionSnapshots = async ({
|
|
|
424
424
|
for (const snapshot of compositionSnapshots) {
|
|
425
425
|
if (snapshot.deployment.id !== currentDeployment.id) continue;
|
|
426
426
|
register({
|
|
427
|
-
deployment:
|
|
427
|
+
deployment: snapshot.deployment,
|
|
428
428
|
producer: snapshot.producer
|
|
429
429
|
});
|
|
430
430
|
}
|
|
@@ -438,7 +438,11 @@ var loadRuntimeEvidenceCompositionSnapshots = async ({
|
|
|
438
438
|
if (bundle.artifact.producer == null) continue;
|
|
439
439
|
register({
|
|
440
440
|
deployment: { ...deployment, tickers: void 0 },
|
|
441
|
-
producer: parseRuntimeEvidenceProducer(bundle.artifact.producer)
|
|
441
|
+
producer: parseRuntimeEvidenceProducer(bundle.artifact.producer),
|
|
442
|
+
// A historical composition may reappear through a position that closes
|
|
443
|
+
// in this window even without current-window lineage scopes. Its latest
|
|
444
|
+
// checksum-verified universe is only a fallback; fresh scopes win.
|
|
445
|
+
...deployment.tickers?.length ? { fallbackTickers: [...deployment.tickers] } : {}
|
|
442
446
|
});
|
|
443
447
|
}
|
|
444
448
|
const historicalCurrent = snapshots.get(
|
|
@@ -507,7 +511,7 @@ var splitRuntimeEvidenceByComposition = ({
|
|
|
507
511
|
`Runtime evidence has no verified deployment snapshot for composition(s): ${missing.sort().join(", ")}`
|
|
508
512
|
);
|
|
509
513
|
}
|
|
510
|
-
return [...observed].filter((compositionId) => snapshots.has(compositionId)).map((compositionId) => snapshots.get(compositionId)).map(({ deployment, producer }) => {
|
|
514
|
+
return [...observed].filter((compositionId) => snapshots.has(compositionId)).map((compositionId) => snapshots.get(compositionId)).map(({ deployment, producer, fallbackTickers }) => {
|
|
511
515
|
const trades = evidence.trades.filter(
|
|
512
516
|
(row) => belongsToSnapshot(row, deployment)
|
|
513
517
|
);
|
|
@@ -529,6 +533,7 @@ var splitRuntimeEvidenceByComposition = ({
|
|
|
529
533
|
return {
|
|
530
534
|
deployment,
|
|
531
535
|
producer,
|
|
536
|
+
...fallbackTickers ? { fallbackTickers } : {},
|
|
532
537
|
trades,
|
|
533
538
|
signals,
|
|
534
539
|
evaluations,
|
|
@@ -192,7 +192,8 @@ var assertCurrentRuntimeEvidenceArtifact = (artifact) => {
|
|
|
192
192
|
};
|
|
193
193
|
var resolveRuntimeEvidenceTickerUniverse = ({
|
|
194
194
|
deployment,
|
|
195
|
-
lineageScopes
|
|
195
|
+
lineageScopes,
|
|
196
|
+
fallbackTickers
|
|
196
197
|
}) => {
|
|
197
198
|
const declaredTickers = deployment.tickers?.filter(isNonEmptyString) ?? [];
|
|
198
199
|
if (declaredTickers.length > 0) {
|
|
@@ -232,6 +233,15 @@ var resolveRuntimeEvidenceTickerUniverse = ({
|
|
|
232
233
|
tickers.add(scope.symbol.trim());
|
|
233
234
|
}
|
|
234
235
|
if (tickers.size === 0) {
|
|
236
|
+
const verifiedFallbackTickers = fallbackTickers?.filter(isNonEmptyString) ?? [];
|
|
237
|
+
if (verifiedFallbackTickers.length > 0) {
|
|
238
|
+
return {
|
|
239
|
+
...deployment,
|
|
240
|
+
tickers: [
|
|
241
|
+
...new Set(verifiedFallbackTickers.map((ticker) => ticker.trim()))
|
|
242
|
+
].sort()
|
|
243
|
+
};
|
|
244
|
+
}
|
|
235
245
|
throw new Error(
|
|
236
246
|
"Runtime evidence has no immutable ticker universe for the embedded deployment composition"
|
|
237
247
|
);
|
package/dist/scripts/replay.js
CHANGED
|
@@ -4610,7 +4610,8 @@ var assertCurrentRuntimeEvidenceArtifact = (artifact) => {
|
|
|
4610
4610
|
};
|
|
4611
4611
|
var resolveRuntimeEvidenceTickerUniverse = ({
|
|
4612
4612
|
deployment,
|
|
4613
|
-
lineageScopes
|
|
4613
|
+
lineageScopes,
|
|
4614
|
+
fallbackTickers
|
|
4614
4615
|
}) => {
|
|
4615
4616
|
const declaredTickers = deployment.tickers?.filter(isNonEmptyString) ?? [];
|
|
4616
4617
|
if (declaredTickers.length > 0) {
|
|
@@ -4650,6 +4651,15 @@ var resolveRuntimeEvidenceTickerUniverse = ({
|
|
|
4650
4651
|
tickers.add(scope.symbol.trim());
|
|
4651
4652
|
}
|
|
4652
4653
|
if (tickers.size === 0) {
|
|
4654
|
+
const verifiedFallbackTickers = fallbackTickers?.filter(isNonEmptyString) ?? [];
|
|
4655
|
+
if (verifiedFallbackTickers.length > 0) {
|
|
4656
|
+
return {
|
|
4657
|
+
...deployment,
|
|
4658
|
+
tickers: [
|
|
4659
|
+
...new Set(verifiedFallbackTickers.map((ticker) => ticker.trim()))
|
|
4660
|
+
].sort()
|
|
4661
|
+
};
|
|
4662
|
+
}
|
|
4653
4663
|
throw new Error(
|
|
4654
4664
|
"Runtime evidence has no immutable ticker universe for the embedded deployment composition"
|
|
4655
4665
|
);
|
|
@@ -4613,7 +4613,8 @@ var assertCurrentRuntimeEvidenceArtifact = (artifact) => {
|
|
|
4613
4613
|
};
|
|
4614
4614
|
var resolveRuntimeEvidenceTickerUniverse = ({
|
|
4615
4615
|
deployment,
|
|
4616
|
-
lineageScopes
|
|
4616
|
+
lineageScopes,
|
|
4617
|
+
fallbackTickers
|
|
4617
4618
|
}) => {
|
|
4618
4619
|
const declaredTickers = deployment.tickers?.filter(isNonEmptyString) ?? [];
|
|
4619
4620
|
if (declaredTickers.length > 0) {
|
|
@@ -4653,6 +4654,15 @@ var resolveRuntimeEvidenceTickerUniverse = ({
|
|
|
4653
4654
|
tickers.add(scope.symbol.trim());
|
|
4654
4655
|
}
|
|
4655
4656
|
if (tickers.size === 0) {
|
|
4657
|
+
const verifiedFallbackTickers = fallbackTickers?.filter(isNonEmptyString) ?? [];
|
|
4658
|
+
if (verifiedFallbackTickers.length > 0) {
|
|
4659
|
+
return {
|
|
4660
|
+
...deployment,
|
|
4661
|
+
tickers: [
|
|
4662
|
+
...new Set(verifiedFallbackTickers.map((ticker) => ticker.trim()))
|
|
4663
|
+
].sort()
|
|
4664
|
+
};
|
|
4665
|
+
}
|
|
4656
4666
|
throw new Error(
|
|
4657
4667
|
"Runtime evidence has no immutable ticker universe for the embedded deployment composition"
|
|
4658
4668
|
);
|
|
@@ -552,7 +552,8 @@ var assertCurrentRuntimeEvidenceArtifact = (artifact) => {
|
|
|
552
552
|
};
|
|
553
553
|
var resolveRuntimeEvidenceTickerUniverse = ({
|
|
554
554
|
deployment,
|
|
555
|
-
lineageScopes
|
|
555
|
+
lineageScopes,
|
|
556
|
+
fallbackTickers
|
|
556
557
|
}) => {
|
|
557
558
|
const declaredTickers = deployment.tickers?.filter(isNonEmptyString) ?? [];
|
|
558
559
|
if (declaredTickers.length > 0) {
|
|
@@ -592,6 +593,15 @@ var resolveRuntimeEvidenceTickerUniverse = ({
|
|
|
592
593
|
tickers.add(scope.symbol.trim());
|
|
593
594
|
}
|
|
594
595
|
if (tickers.size === 0) {
|
|
596
|
+
const verifiedFallbackTickers = fallbackTickers?.filter(isNonEmptyString) ?? [];
|
|
597
|
+
if (verifiedFallbackTickers.length > 0) {
|
|
598
|
+
return {
|
|
599
|
+
...deployment,
|
|
600
|
+
tickers: [
|
|
601
|
+
...new Set(verifiedFallbackTickers.map((ticker) => ticker.trim()))
|
|
602
|
+
].sort()
|
|
603
|
+
};
|
|
604
|
+
}
|
|
595
605
|
throw new Error(
|
|
596
606
|
"Runtime evidence has no immutable ticker universe for the embedded deployment composition"
|
|
597
607
|
);
|
|
@@ -1035,7 +1045,7 @@ var loadRuntimeEvidenceCompositionSnapshots = async ({
|
|
|
1035
1045
|
for (const snapshot of compositionSnapshots) {
|
|
1036
1046
|
if (snapshot.deployment.id !== currentDeployment.id) continue;
|
|
1037
1047
|
register({
|
|
1038
|
-
deployment:
|
|
1048
|
+
deployment: snapshot.deployment,
|
|
1039
1049
|
producer: snapshot.producer
|
|
1040
1050
|
});
|
|
1041
1051
|
}
|
|
@@ -1049,7 +1059,11 @@ var loadRuntimeEvidenceCompositionSnapshots = async ({
|
|
|
1049
1059
|
if (bundle.artifact.producer == null) continue;
|
|
1050
1060
|
register({
|
|
1051
1061
|
deployment: { ...deployment, tickers: void 0 },
|
|
1052
|
-
producer: parseRuntimeEvidenceProducer(bundle.artifact.producer)
|
|
1062
|
+
producer: parseRuntimeEvidenceProducer(bundle.artifact.producer),
|
|
1063
|
+
// A historical composition may reappear through a position that closes
|
|
1064
|
+
// in this window even without current-window lineage scopes. Its latest
|
|
1065
|
+
// checksum-verified universe is only a fallback; fresh scopes win.
|
|
1066
|
+
...deployment.tickers?.length ? { fallbackTickers: [...deployment.tickers] } : {}
|
|
1053
1067
|
});
|
|
1054
1068
|
}
|
|
1055
1069
|
const historicalCurrent = snapshots.get(
|
|
@@ -1118,7 +1132,7 @@ var splitRuntimeEvidenceByComposition = ({
|
|
|
1118
1132
|
`Runtime evidence has no verified deployment snapshot for composition(s): ${missing.sort().join(", ")}`
|
|
1119
1133
|
);
|
|
1120
1134
|
}
|
|
1121
|
-
return [...observed].filter((compositionId) => snapshots.has(compositionId)).map((compositionId) => snapshots.get(compositionId)).map(({ deployment, producer }) => {
|
|
1135
|
+
return [...observed].filter((compositionId) => snapshots.has(compositionId)).map((compositionId) => snapshots.get(compositionId)).map(({ deployment, producer, fallbackTickers }) => {
|
|
1122
1136
|
const trades = evidence.trades.filter(
|
|
1123
1137
|
(row) => belongsToSnapshot(row, deployment)
|
|
1124
1138
|
);
|
|
@@ -1140,6 +1154,7 @@ var splitRuntimeEvidenceByComposition = ({
|
|
|
1140
1154
|
return {
|
|
1141
1155
|
deployment,
|
|
1142
1156
|
producer,
|
|
1157
|
+
...fallbackTickers ? { fallbackTickers } : {},
|
|
1143
1158
|
trades,
|
|
1144
1159
|
signals,
|
|
1145
1160
|
evaluations,
|
|
@@ -1318,7 +1333,8 @@ var runtimeEvidence = async () => {
|
|
|
1318
1333
|
});
|
|
1319
1334
|
const deployment = resolveRuntimeEvidenceTickerUniverse({
|
|
1320
1335
|
deployment: composition.deployment,
|
|
1321
|
-
lineageScopes: composition.lineageScopes
|
|
1336
|
+
lineageScopes: composition.lineageScopes,
|
|
1337
|
+
fallbackTickers: composition.fallbackTickers
|
|
1322
1338
|
});
|
|
1323
1339
|
return {
|
|
1324
1340
|
artifact: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tradejs/cli",
|
|
3
|
-
"version": "3.1.28-beta.
|
|
3
|
+
"version": "3.1.28-beta.256",
|
|
4
4
|
"description": "Official CLI for the TradeJS TypeScript framework: infra setup, backtests, signals, bots, and ML workflows.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tradejs",
|
|
@@ -36,13 +36,13 @@
|
|
|
36
36
|
"tradejs": "dist/cli.js"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@tradejs/connectors": "^3.1.28-beta.
|
|
40
|
-
"@tradejs/core": "^3.1.28-beta.
|
|
41
|
-
"@tradejs/indicators": "^3.1.28-beta.
|
|
42
|
-
"@tradejs/infra": "^3.1.28-beta.
|
|
43
|
-
"@tradejs/node": "^3.1.28-beta.
|
|
39
|
+
"@tradejs/connectors": "^3.1.28-beta.256",
|
|
40
|
+
"@tradejs/core": "^3.1.28-beta.256",
|
|
41
|
+
"@tradejs/indicators": "^3.1.28-beta.256",
|
|
42
|
+
"@tradejs/infra": "^3.1.28-beta.256",
|
|
43
|
+
"@tradejs/node": "^3.1.28-beta.256",
|
|
44
44
|
"@tradejs/strategy-kit": "3.0.5",
|
|
45
|
-
"@tradejs/types": "^3.1.28-beta.
|
|
45
|
+
"@tradejs/types": "^3.1.28-beta.256",
|
|
46
46
|
"args": "^5.0.3",
|
|
47
47
|
"bcryptjs": "^2.4.3",
|
|
48
48
|
"chalk": "4.1.2",
|