opticedge-types 1.0.61 → 1.0.63

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.
@@ -2,9 +2,19 @@ export type SubmissionStatus = 'REJECTED' | 'ACCEPTED';
2
2
  export interface RejectedResponse {
3
3
  submission_status: 'REJECTED';
4
4
  rejection_message: string;
5
+ validation?: never;
6
+ overall_grade?: never;
7
+ front_subgrades?: never;
8
+ back_subgrades?: never;
9
+ environment_score?: never;
10
+ accuracy_score?: never;
11
+ grading_rationale?: never;
12
+ defect_map?: never;
5
13
  }
6
14
  export interface AcceptedResponse {
7
15
  submission_status: 'ACCEPTED';
16
+ rejection_message?: never;
17
+ validation: ValidationResult;
8
18
  overall_grade: number;
9
19
  front_subgrades: SubGrades;
10
20
  back_subgrades: SubGrades;
@@ -13,6 +23,14 @@ export interface AcceptedResponse {
13
23
  grading_rationale: string;
14
24
  defect_map: DefectMap;
15
25
  }
26
+ type SameCardConfidence = 'high' | 'medium' | 'low';
27
+ type ImageQuality = 'good' | 'borderline' | 'poor';
28
+ interface ValidationResult {
29
+ front_back_valid: boolean;
30
+ same_card_confidence: SameCardConfidence;
31
+ image_quality: ImageQuality;
32
+ damage_override_triggered: boolean;
33
+ }
16
34
  export interface SubGrades {
17
35
  centering: number;
18
36
  surface: number;
@@ -41,3 +59,4 @@ export interface DefectMap {
41
59
  }
42
60
  export type LocationZone = 'front_top_left_corner' | 'front_top_right_corner' | 'front_bottom_left_corner' | 'front_bottom_right_corner' | 'back_top_left_corner' | 'back_top_right_corner' | 'back_bottom_left_corner' | 'back_bottom_right_corner' | 'front_top_edge_left' | 'front_top_edge_center' | 'front_top_edge_right' | 'front_bottom_edge_left' | 'front_bottom_edge_center' | 'front_bottom_edge_right' | 'front_left_edge_upper' | 'front_left_edge_center' | 'front_left_edge_lower' | 'front_right_edge_upper' | 'front_right_edge_center' | 'front_right_edge_lower' | 'back_top_edge_left' | 'back_top_edge_center' | 'back_top_edge_right' | 'back_bottom_edge_left' | 'back_bottom_edge_center' | 'back_bottom_edge_right' | 'back_left_edge_upper' | 'back_left_edge_center' | 'back_left_edge_lower' | 'back_right_edge_upper' | 'back_right_edge_center' | 'back_right_edge_lower' | 'front_inner_top_left' | 'front_inner_top_center' | 'front_inner_top_right' | 'front_inner_middle_left' | 'front_inner_middle_center' | 'front_inner_middle_right' | 'front_inner_bottom_left' | 'front_inner_bottom_center' | 'front_inner_bottom_right' | 'back_inner_top_left' | 'back_inner_top_center' | 'back_inner_top_right' | 'back_inner_middle_left' | 'back_inner_middle_center' | 'back_inner_middle_right' | 'back_inner_bottom_left' | 'back_inner_bottom_center' | 'back_inner_bottom_right';
43
61
  export type PromptGradingResponse = RejectedResponse | AcceptedResponse;
62
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opticedge-types",
3
- "version": "1.0.61",
3
+ "version": "1.0.63",
4
4
  "description": "Common type for opticedge",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -10,7 +10,17 @@ export type SubmissionStatus = 'REJECTED' | 'ACCEPTED'
10
10
 
11
11
  export interface RejectedResponse {
12
12
  submission_status: 'REJECTED'
13
- rejection_message: string // single sentence, <200 chars
13
+ rejection_message: string
14
+
15
+ // explicitly forbid accepted fields
16
+ validation?: never
17
+ overall_grade?: never
18
+ front_subgrades?: never
19
+ back_subgrades?: never
20
+ environment_score?: never
21
+ accuracy_score?: never
22
+ grading_rationale?: never
23
+ defect_map?: never
14
24
  }
15
25
 
16
26
  /* --------------------------------------------- */
@@ -20,6 +30,11 @@ export interface RejectedResponse {
20
30
  export interface AcceptedResponse {
21
31
  submission_status: 'ACCEPTED'
22
32
 
33
+ // explicitly forbid reject field
34
+ rejection_message?: never
35
+
36
+ validation: ValidationResult
37
+
23
38
  overall_grade: number // 1.0–10.0
24
39
 
25
40
  front_subgrades: SubGrades
@@ -33,6 +48,20 @@ export interface AcceptedResponse {
33
48
  defect_map: DefectMap
34
49
  }
35
50
 
51
+ /* --------------------------------------------- */
52
+ /* Validation */
53
+ /* --------------------------------------------- */
54
+
55
+ type SameCardConfidence = 'high' | 'medium' | 'low'
56
+ type ImageQuality = 'good' | 'borderline' | 'poor'
57
+
58
+ interface ValidationResult {
59
+ front_back_valid: boolean
60
+ same_card_confidence: SameCardConfidence
61
+ image_quality: ImageQuality
62
+ damage_override_triggered: boolean
63
+ }
64
+
36
65
  /* --------------------------------------------- */
37
66
  /* SUBGRADES */
38
67
  /* --------------------------------------------- */
@@ -89,59 +118,38 @@ export interface DefectMap {
89
118
  /* --------------------------------------------- */
90
119
 
91
120
  export type LocationZone =
92
- // FRONT — Corners
93
121
  | 'front_top_left_corner'
94
122
  | 'front_top_right_corner'
95
123
  | 'front_bottom_left_corner'
96
124
  | 'front_bottom_right_corner'
97
-
98
- // BACK — Corners
99
125
  | 'back_top_left_corner'
100
126
  | 'back_top_right_corner'
101
127
  | 'back_bottom_left_corner'
102
128
  | 'back_bottom_right_corner'
103
-
104
- // FRONT — Top Edge
105
129
  | 'front_top_edge_left'
106
130
  | 'front_top_edge_center'
107
131
  | 'front_top_edge_right'
108
-
109
- // FRONT — Bottom Edge
110
132
  | 'front_bottom_edge_left'
111
133
  | 'front_bottom_edge_center'
112
134
  | 'front_bottom_edge_right'
113
-
114
- // FRONT — Left Edge
115
135
  | 'front_left_edge_upper'
116
136
  | 'front_left_edge_center'
117
137
  | 'front_left_edge_lower'
118
-
119
- // FRONT — Right Edge
120
138
  | 'front_right_edge_upper'
121
139
  | 'front_right_edge_center'
122
140
  | 'front_right_edge_lower'
123
-
124
- // BACK — Top Edge
125
141
  | 'back_top_edge_left'
126
142
  | 'back_top_edge_center'
127
143
  | 'back_top_edge_right'
128
-
129
- // BACK — Bottom Edge
130
144
  | 'back_bottom_edge_left'
131
145
  | 'back_bottom_edge_center'
132
146
  | 'back_bottom_edge_right'
133
-
134
- // BACK — Left Edge
135
147
  | 'back_left_edge_upper'
136
148
  | 'back_left_edge_center'
137
149
  | 'back_left_edge_lower'
138
-
139
- // BACK — Right Edge
140
150
  | 'back_right_edge_upper'
141
151
  | 'back_right_edge_center'
142
152
  | 'back_right_edge_lower'
143
-
144
- // FRONT — Interior
145
153
  | 'front_inner_top_left'
146
154
  | 'front_inner_top_center'
147
155
  | 'front_inner_top_right'
@@ -151,8 +159,6 @@ export type LocationZone =
151
159
  | 'front_inner_bottom_left'
152
160
  | 'front_inner_bottom_center'
153
161
  | 'front_inner_bottom_right'
154
-
155
- // BACK — Interior
156
162
  | 'back_inner_top_left'
157
163
  | 'back_inner_top_center'
158
164
  | 'back_inner_top_right'