@tradejs/core 3.1.29-beta.260 → 3.1.29-beta.262

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/jev.d.mts CHANGED
@@ -1,6 +1,30 @@
1
- import { JevDimension, JevScores, JevConfig, JevFeature, JevTree } from '@tradejs/types';
1
+ import { JevDimension, JevScores, JevConfig, JevFeature, SignalAssessment, JevTree } from '@tradejs/types';
2
2
 
3
3
  declare const JEV_DIMENSIONS: JevDimension[];
4
+ declare const JEV_QUESTION_SET: "micro-v3";
5
+ declare const JEV_FEATURE_NAMES: {
6
+ readonly trend: "directionalAgreement";
7
+ readonly swing: "correctionContainment";
8
+ readonly participation: "volumeExpansion";
9
+ readonly setupParticipation: "volumeContraction";
10
+ readonly extension: "entryProximity";
11
+ readonly confirmation: "entryConviction";
12
+ readonly setupStrength: "impulsePersistence";
13
+ readonly geometry: "boundaryRegularity";
14
+ readonly signalStrength: "signalStrength";
15
+ };
16
+ /** Jev supplies features; the configured AI gate remains the entry decision. */
17
+ declare const jevAssessmentFeatures: (assessment: SignalAssessment) => {
18
+ schema: string;
19
+ questionSet: "micro-v3";
20
+ status: "available" | "unavailable";
21
+ scores: {
22
+ [k: string]: number | null;
23
+ };
24
+ confidence: {
25
+ [k: string]: number | null;
26
+ };
27
+ };
4
28
  declare const JEV_PROVIDERS: readonly [{
5
29
  readonly label: "OpenRouter";
6
30
  readonly endpoint: "https://openrouter.ai/api/alpha/decisions";
@@ -18,4 +42,4 @@ declare const decideJev: (scores: JevScores, config: JevConfig, geometryStatus:
18
42
  };
19
43
  declare const predictJevTree: (tree: JevTree, features: Record<string, JevFeature>) => number;
20
44
 
21
- export { JEV_DIMENSIONS, JEV_PROVIDERS, decideJev, normalizeJevEndpoint, parseJevConfig, predictJevTree };
45
+ export { JEV_DIMENSIONS, JEV_FEATURE_NAMES, JEV_PROVIDERS, JEV_QUESTION_SET, decideJev, jevAssessmentFeatures, normalizeJevEndpoint, parseJevConfig, predictJevTree };
package/dist/jev.d.ts CHANGED
@@ -1,6 +1,30 @@
1
- import { JevDimension, JevScores, JevConfig, JevFeature, JevTree } from '@tradejs/types';
1
+ import { JevDimension, JevScores, JevConfig, JevFeature, SignalAssessment, JevTree } from '@tradejs/types';
2
2
 
3
3
  declare const JEV_DIMENSIONS: JevDimension[];
4
+ declare const JEV_QUESTION_SET: "micro-v3";
5
+ declare const JEV_FEATURE_NAMES: {
6
+ readonly trend: "directionalAgreement";
7
+ readonly swing: "correctionContainment";
8
+ readonly participation: "volumeExpansion";
9
+ readonly setupParticipation: "volumeContraction";
10
+ readonly extension: "entryProximity";
11
+ readonly confirmation: "entryConviction";
12
+ readonly setupStrength: "impulsePersistence";
13
+ readonly geometry: "boundaryRegularity";
14
+ readonly signalStrength: "signalStrength";
15
+ };
16
+ /** Jev supplies features; the configured AI gate remains the entry decision. */
17
+ declare const jevAssessmentFeatures: (assessment: SignalAssessment) => {
18
+ schema: string;
19
+ questionSet: "micro-v3";
20
+ status: "available" | "unavailable";
21
+ scores: {
22
+ [k: string]: number | null;
23
+ };
24
+ confidence: {
25
+ [k: string]: number | null;
26
+ };
27
+ };
4
28
  declare const JEV_PROVIDERS: readonly [{
5
29
  readonly label: "OpenRouter";
6
30
  readonly endpoint: "https://openrouter.ai/api/alpha/decisions";
@@ -18,4 +42,4 @@ declare const decideJev: (scores: JevScores, config: JevConfig, geometryStatus:
18
42
  };
19
43
  declare const predictJevTree: (tree: JevTree, features: Record<string, JevFeature>) => number;
20
44
 
21
- export { JEV_DIMENSIONS, JEV_PROVIDERS, decideJev, normalizeJevEndpoint, parseJevConfig, predictJevTree };
45
+ export { JEV_DIMENSIONS, JEV_FEATURE_NAMES, JEV_PROVIDERS, JEV_QUESTION_SET, decideJev, jevAssessmentFeatures, normalizeJevEndpoint, parseJevConfig, predictJevTree };
package/dist/jev.js CHANGED
@@ -21,8 +21,11 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var jev_exports = {};
22
22
  __export(jev_exports, {
23
23
  JEV_DIMENSIONS: () => JEV_DIMENSIONS,
24
+ JEV_FEATURE_NAMES: () => JEV_FEATURE_NAMES,
24
25
  JEV_PROVIDERS: () => JEV_PROVIDERS,
26
+ JEV_QUESTION_SET: () => JEV_QUESTION_SET,
25
27
  decideJev: () => decideJev,
28
+ jevAssessmentFeatures: () => jevAssessmentFeatures,
26
29
  normalizeJevEndpoint: () => normalizeJevEndpoint,
27
30
  parseJevConfig: () => parseJevConfig,
28
31
  predictJevTree: () => predictJevTree
@@ -36,8 +39,40 @@ var JEV_DIMENSIONS = [
36
39
  "extension",
37
40
  "confirmation",
38
41
  "setupStrength",
39
- "geometry"
42
+ "geometry",
43
+ "signalStrength"
40
44
  ];
45
+ var JEV_QUESTION_SET = "micro-v3";
46
+ var JEV_FEATURE_NAMES = {
47
+ trend: "directionalAgreement",
48
+ swing: "correctionContainment",
49
+ participation: "volumeExpansion",
50
+ setupParticipation: "volumeContraction",
51
+ extension: "entryProximity",
52
+ confirmation: "entryConviction",
53
+ setupStrength: "impulsePersistence",
54
+ geometry: "boundaryRegularity",
55
+ signalStrength: "signalStrength"
56
+ };
57
+ var jevAssessmentFeatures = (assessment) => {
58
+ if (assessment.questionSet !== JEV_QUESTION_SET)
59
+ throw new Error(
60
+ "Unsupported Jev assessment question set; rerun with the current Jev integration"
61
+ );
62
+ const project = (scores, displayScore = false) => Object.fromEntries(
63
+ JEV_DIMENSIONS.map((key) => [
64
+ JEV_FEATURE_NAMES[key],
65
+ displayScore && key === "signalStrength" && scores[key] != null ? Number((1 + scores[key] * 9).toFixed(2)) : scores[key] ?? null
66
+ ])
67
+ );
68
+ return {
69
+ schema: "tradejs-jev-features/v2",
70
+ questionSet: JEV_QUESTION_SET,
71
+ status: assessment.status,
72
+ scores: project(assessment.scores, true),
73
+ confidence: project(assessment.confidence)
74
+ };
75
+ };
41
76
  var JEV_PROVIDERS = [
42
77
  {
43
78
  label: "OpenRouter",
@@ -127,8 +162,11 @@ var predictJevTree = (tree, features) => {
127
162
  // Annotate the CommonJS export names for ESM import in node:
128
163
  0 && (module.exports = {
129
164
  JEV_DIMENSIONS,
165
+ JEV_FEATURE_NAMES,
130
166
  JEV_PROVIDERS,
167
+ JEV_QUESTION_SET,
131
168
  decideJev,
169
+ jevAssessmentFeatures,
132
170
  normalizeJevEndpoint,
133
171
  parseJevConfig,
134
172
  predictJevTree
package/dist/jev.mjs CHANGED
@@ -7,8 +7,40 @@ var JEV_DIMENSIONS = [
7
7
  "extension",
8
8
  "confirmation",
9
9
  "setupStrength",
10
- "geometry"
10
+ "geometry",
11
+ "signalStrength"
11
12
  ];
13
+ var JEV_QUESTION_SET = "micro-v3";
14
+ var JEV_FEATURE_NAMES = {
15
+ trend: "directionalAgreement",
16
+ swing: "correctionContainment",
17
+ participation: "volumeExpansion",
18
+ setupParticipation: "volumeContraction",
19
+ extension: "entryProximity",
20
+ confirmation: "entryConviction",
21
+ setupStrength: "impulsePersistence",
22
+ geometry: "boundaryRegularity",
23
+ signalStrength: "signalStrength"
24
+ };
25
+ var jevAssessmentFeatures = (assessment) => {
26
+ if (assessment.questionSet !== JEV_QUESTION_SET)
27
+ throw new Error(
28
+ "Unsupported Jev assessment question set; rerun with the current Jev integration"
29
+ );
30
+ const project = (scores, displayScore = false) => Object.fromEntries(
31
+ JEV_DIMENSIONS.map((key) => [
32
+ JEV_FEATURE_NAMES[key],
33
+ displayScore && key === "signalStrength" && scores[key] != null ? Number((1 + scores[key] * 9).toFixed(2)) : scores[key] ?? null
34
+ ])
35
+ );
36
+ return {
37
+ schema: "tradejs-jev-features/v2",
38
+ questionSet: JEV_QUESTION_SET,
39
+ status: assessment.status,
40
+ scores: project(assessment.scores, true),
41
+ confidence: project(assessment.confidence)
42
+ };
43
+ };
12
44
  var JEV_PROVIDERS = [
13
45
  {
14
46
  label: "OpenRouter",
@@ -97,8 +129,11 @@ var predictJevTree = (tree, features) => {
97
129
  };
98
130
  export {
99
131
  JEV_DIMENSIONS,
132
+ JEV_FEATURE_NAMES,
100
133
  JEV_PROVIDERS,
134
+ JEV_QUESTION_SET,
101
135
  decideJev,
136
+ jevAssessmentFeatures,
102
137
  normalizeJevEndpoint,
103
138
  parseJevConfig,
104
139
  predictJevTree
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tradejs/core",
3
- "version": "3.1.29-beta.260",
3
+ "version": "3.1.29-beta.262",
4
4
  "description": "MIT-licensed browser-safe API for TradeJS config, strategy authoring, figures, and shared helpers.",
5
5
  "keywords": [
6
6
  "tradejs",
@@ -16,7 +16,8 @@
16
16
  "coinbase",
17
17
  "ai",
18
18
  "claude",
19
- "codex"
19
+ "codex",
20
+ "jev"
20
21
  ],
21
22
  "homepage": "https://tradejs.dev",
22
23
  "repository": {
@@ -137,7 +138,7 @@
137
138
  }
138
139
  },
139
140
  "dependencies": {
140
- "@tradejs/types": "^3.1.29-beta.260",
141
+ "@tradejs/types": "^3.1.29-beta.262",
141
142
  "date-fns": "^3.6.0",
142
143
  "fast-technical-indicators": "^1.1.4",
143
144
  "klinecharts": "10.0.0-alpha9",