@ocpp-debugkit/core 0.1.0

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.
Files changed (54) hide show
  1. package/LICENSE +201 -0
  2. package/dist/__fixtures__/connector-fault.d.ts +116 -0
  3. package/dist/__fixtures__/connector-fault.d.ts.map +1 -0
  4. package/dist/__fixtures__/connector-fault.js +231 -0
  5. package/dist/__fixtures__/connector-fault.js.map +1 -0
  6. package/dist/__fixtures__/failed-auth.d.ts +64 -0
  7. package/dist/__fixtures__/failed-auth.d.ts.map +1 -0
  8. package/dist/__fixtures__/failed-auth.js +173 -0
  9. package/dist/__fixtures__/failed-auth.js.map +1 -0
  10. package/dist/__fixtures__/normal-session.d.ts +108 -0
  11. package/dist/__fixtures__/normal-session.d.ts.map +1 -0
  12. package/dist/__fixtures__/normal-session.js +261 -0
  13. package/dist/__fixtures__/normal-session.js.map +1 -0
  14. package/dist/detection.d.ts +23 -0
  15. package/dist/detection.d.ts.map +1 -0
  16. package/dist/detection.js +226 -0
  17. package/dist/detection.js.map +1 -0
  18. package/dist/fixtures/index.d.ts +298 -0
  19. package/dist/fixtures/index.d.ts.map +1 -0
  20. package/dist/fixtures/index.js +19 -0
  21. package/dist/fixtures/index.js.map +1 -0
  22. package/dist/index.d.ts +14 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +22 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/normalizer.d.ts +83 -0
  27. package/dist/normalizer.d.ts.map +1 -0
  28. package/dist/normalizer.js +289 -0
  29. package/dist/normalizer.js.map +1 -0
  30. package/dist/parser.d.ts +53 -0
  31. package/dist/parser.d.ts.map +1 -0
  32. package/dist/parser.js +282 -0
  33. package/dist/parser.js.map +1 -0
  34. package/dist/schemas.d.ts +68 -0
  35. package/dist/schemas.d.ts.map +1 -0
  36. package/dist/schemas.js +81 -0
  37. package/dist/schemas.js.map +1 -0
  38. package/dist/summarizer.d.ts +25 -0
  39. package/dist/summarizer.d.ts.map +1 -0
  40. package/dist/summarizer.js +47 -0
  41. package/dist/summarizer.js.map +1 -0
  42. package/dist/timeline.d.ts +26 -0
  43. package/dist/timeline.d.ts.map +1 -0
  44. package/dist/timeline.js +318 -0
  45. package/dist/timeline.js.map +1 -0
  46. package/dist/types.d.ts +160 -0
  47. package/dist/types.d.ts.map +1 -0
  48. package/dist/types.js +9 -0
  49. package/dist/types.js.map +1 -0
  50. package/dist/validator.d.ts +33 -0
  51. package/dist/validator.d.ts.map +1 -0
  52. package/dist/validator.js +122 -0
  53. package/dist/validator.js.map +1 -0
  54. package/package.json +61 -0
@@ -0,0 +1,173 @@
1
+ export default {
2
+ traceId: 'fixture-failed-auth',
3
+ metadata: {
4
+ stationId: 'CS-SYNTHETIC-002',
5
+ ocppVersion: '1.6',
6
+ source: 'synthetic-fixture',
7
+ description: 'Failed authorization: station boots, connector prepares, idTag is rejected by CSMS. StartTransaction is not attempted. Expects FAILED_AUTHORIZATION failure.',
8
+ },
9
+ events: [
10
+ {
11
+ timestamp: '2024-01-15T11:00:00.000Z',
12
+ direction: 'CS_TO_CSMS',
13
+ message: [
14
+ 2,
15
+ 'msg-001',
16
+ 'BootNotification',
17
+ {
18
+ chargePointVendor: 'SyntheticVendor',
19
+ chargePointModel: 'SM-100',
20
+ chargePointSerialNumber: 'CS-SYNTHETIC-002',
21
+ firmwareVersion: '1.0.0',
22
+ },
23
+ ],
24
+ },
25
+ {
26
+ timestamp: '2024-01-15T11:00:00.500Z',
27
+ direction: 'CSMS_TO_CS',
28
+ message: [
29
+ 3,
30
+ 'msg-001',
31
+ {
32
+ currentTime: '2024-01-15T11:00:00.500Z',
33
+ interval: 300,
34
+ status: 'Accepted',
35
+ },
36
+ ],
37
+ },
38
+ {
39
+ timestamp: '2024-01-15T11:01:00.000Z',
40
+ direction: 'CS_TO_CSMS',
41
+ message: [
42
+ 2,
43
+ 'msg-002',
44
+ 'StatusNotification',
45
+ {
46
+ connectorId: 0,
47
+ status: 'Available',
48
+ errorCode: 'NoError',
49
+ },
50
+ ],
51
+ },
52
+ {
53
+ timestamp: '2024-01-15T11:01:00.500Z',
54
+ direction: 'CSMS_TO_CS',
55
+ message: [3, 'msg-002', {}],
56
+ },
57
+ {
58
+ timestamp: '2024-01-15T11:02:00.000Z',
59
+ direction: 'CS_TO_CSMS',
60
+ message: [
61
+ 2,
62
+ 'msg-003',
63
+ 'StatusNotification',
64
+ {
65
+ connectorId: 1,
66
+ status: 'Preparing',
67
+ errorCode: 'NoError',
68
+ },
69
+ ],
70
+ },
71
+ {
72
+ timestamp: '2024-01-15T11:02:00.500Z',
73
+ direction: 'CSMS_TO_CS',
74
+ message: [3, 'msg-003', {}],
75
+ },
76
+ {
77
+ timestamp: '2024-01-15T11:02:15.000Z',
78
+ direction: 'CS_TO_CSMS',
79
+ message: [
80
+ 2,
81
+ 'msg-004',
82
+ 'Authorize',
83
+ {
84
+ idTag: 'SYNTHETIC-TAG-INVALID',
85
+ },
86
+ ],
87
+ },
88
+ {
89
+ timestamp: '2024-01-15T11:02:15.500Z',
90
+ direction: 'CSMS_TO_CS',
91
+ message: [
92
+ 3,
93
+ 'msg-004',
94
+ {
95
+ idTagInfo: {
96
+ status: 'Invalid',
97
+ },
98
+ },
99
+ ],
100
+ },
101
+ {
102
+ timestamp: '2024-01-15T11:02:20.000Z',
103
+ direction: 'CS_TO_CSMS',
104
+ message: [
105
+ 2,
106
+ 'msg-005',
107
+ 'Authorize',
108
+ {
109
+ idTag: 'SYNTHETIC-TAG-INVALID',
110
+ },
111
+ ],
112
+ },
113
+ {
114
+ timestamp: '2024-01-15T11:02:20.500Z',
115
+ direction: 'CSMS_TO_CS',
116
+ message: [
117
+ 3,
118
+ 'msg-005',
119
+ {
120
+ idTagInfo: {
121
+ status: 'Invalid',
122
+ },
123
+ },
124
+ ],
125
+ },
126
+ {
127
+ timestamp: '2024-01-15T11:02:30.000Z',
128
+ direction: 'CS_TO_CSMS',
129
+ message: [
130
+ 2,
131
+ 'msg-006',
132
+ 'Authorize',
133
+ {
134
+ idTag: 'SYNTHETIC-TAG-INVALID',
135
+ },
136
+ ],
137
+ },
138
+ {
139
+ timestamp: '2024-01-15T11:02:30.500Z',
140
+ direction: 'CSMS_TO_CS',
141
+ message: [
142
+ 3,
143
+ 'msg-006',
144
+ {
145
+ idTagInfo: {
146
+ status: 'Invalid',
147
+ },
148
+ },
149
+ ],
150
+ },
151
+ {
152
+ timestamp: '2024-01-15T11:02:40.000Z',
153
+ direction: 'CS_TO_CSMS',
154
+ message: [
155
+ 2,
156
+ 'msg-007',
157
+ 'StatusNotification',
158
+ {
159
+ connectorId: 1,
160
+ status: 'Faulted',
161
+ errorCode: 'OtherError',
162
+ info: 'Authorization failed after 3 attempts',
163
+ },
164
+ ],
165
+ },
166
+ {
167
+ timestamp: '2024-01-15T11:02:40.500Z',
168
+ direction: 'CSMS_TO_CS',
169
+ message: [3, 'msg-007', {}],
170
+ },
171
+ ],
172
+ };
173
+ //# sourceMappingURL=failed-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failed-auth.js","sourceRoot":"","sources":["../../src/__fixtures__/failed-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ declare const _default: {
2
+ traceId: string;
3
+ metadata: {
4
+ stationId: string;
5
+ ocppVersion: string;
6
+ source: string;
7
+ description: string;
8
+ };
9
+ events: ({
10
+ timestamp: string;
11
+ direction: string;
12
+ message: (string | number | {
13
+ chargePointVendor: string;
14
+ chargePointModel: string;
15
+ chargePointSerialNumber: string;
16
+ firmwareVersion: string;
17
+ })[];
18
+ } | {
19
+ timestamp: string;
20
+ direction: string;
21
+ message: (string | number | {
22
+ currentTime: string;
23
+ interval: number;
24
+ status: string;
25
+ })[];
26
+ } | {
27
+ timestamp: string;
28
+ direction: string;
29
+ message: (string | number | {
30
+ connectorId: number;
31
+ status: string;
32
+ errorCode: string;
33
+ })[];
34
+ } | {
35
+ timestamp: string;
36
+ direction: string;
37
+ message: {}[];
38
+ } | {
39
+ timestamp: string;
40
+ direction: string;
41
+ message: (string | number | {
42
+ idTag: string;
43
+ })[];
44
+ } | {
45
+ timestamp: string;
46
+ direction: string;
47
+ message: (string | number | {
48
+ idTagInfo: {
49
+ status: string;
50
+ expiryDate: string;
51
+ parentIdTag: string;
52
+ };
53
+ })[];
54
+ } | {
55
+ timestamp: string;
56
+ direction: string;
57
+ message: (string | number | {
58
+ connectorId: number;
59
+ idTag: string;
60
+ meterStart: number;
61
+ timestamp: string;
62
+ })[];
63
+ } | {
64
+ timestamp: string;
65
+ direction: string;
66
+ message: (string | number | {
67
+ transactionId: number;
68
+ idTagInfo: {
69
+ status: string;
70
+ };
71
+ })[];
72
+ } | {
73
+ timestamp: string;
74
+ direction: string;
75
+ message: (string | number | {
76
+ connectorId: number;
77
+ transactionId: number;
78
+ meterValue: {
79
+ timestamp: string;
80
+ sampledValue: {
81
+ value: string;
82
+ measurand: string;
83
+ unit: string;
84
+ }[];
85
+ }[];
86
+ })[];
87
+ } | {
88
+ timestamp: string;
89
+ direction: string;
90
+ message: (string | number | {
91
+ transactionId: number;
92
+ idTag: string;
93
+ meterStop: number;
94
+ timestamp: string;
95
+ reason: string;
96
+ })[];
97
+ } | {
98
+ timestamp: string;
99
+ direction: string;
100
+ message: (string | number | {
101
+ idTagInfo: {
102
+ status: string;
103
+ };
104
+ })[];
105
+ })[];
106
+ };
107
+ export default _default;
108
+ //# sourceMappingURL=normal-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normal-session.d.ts","sourceRoot":"","sources":["../../src/__fixtures__/normal-session.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAoQE"}
@@ -0,0 +1,261 @@
1
+ export default {
2
+ traceId: 'fixture-normal-session',
3
+ metadata: {
4
+ stationId: 'CS-SYNTHETIC-001',
5
+ ocppVersion: '1.6',
6
+ source: 'synthetic-fixture',
7
+ description: 'Normal charging session: boot → authorize → start transaction → meter values → stop transaction. No failures expected.',
8
+ },
9
+ events: [
10
+ {
11
+ timestamp: '2024-01-15T10:00:00.000Z',
12
+ direction: 'CS_TO_CSMS',
13
+ message: [
14
+ 2,
15
+ 'msg-001',
16
+ 'BootNotification',
17
+ {
18
+ chargePointVendor: 'SyntheticVendor',
19
+ chargePointModel: 'SM-100',
20
+ chargePointSerialNumber: 'CS-SYNTHETIC-001',
21
+ firmwareVersion: '1.0.0',
22
+ },
23
+ ],
24
+ },
25
+ {
26
+ timestamp: '2024-01-15T10:00:00.500Z',
27
+ direction: 'CSMS_TO_CS',
28
+ message: [
29
+ 3,
30
+ 'msg-001',
31
+ {
32
+ currentTime: '2024-01-15T10:00:00.500Z',
33
+ interval: 300,
34
+ status: 'Accepted',
35
+ },
36
+ ],
37
+ },
38
+ {
39
+ timestamp: '2024-01-15T10:01:00.000Z',
40
+ direction: 'CS_TO_CSMS',
41
+ message: [
42
+ 2,
43
+ 'msg-002',
44
+ 'StatusNotification',
45
+ {
46
+ connectorId: 0,
47
+ status: 'Available',
48
+ errorCode: 'NoError',
49
+ },
50
+ ],
51
+ },
52
+ {
53
+ timestamp: '2024-01-15T10:01:00.500Z',
54
+ direction: 'CSMS_TO_CS',
55
+ message: [3, 'msg-002', {}],
56
+ },
57
+ {
58
+ timestamp: '2024-01-15T10:02:00.000Z',
59
+ direction: 'CS_TO_CSMS',
60
+ message: [
61
+ 2,
62
+ 'msg-003',
63
+ 'StatusNotification',
64
+ {
65
+ connectorId: 1,
66
+ status: 'Preparing',
67
+ errorCode: 'NoError',
68
+ },
69
+ ],
70
+ },
71
+ {
72
+ timestamp: '2024-01-15T10:02:00.500Z',
73
+ direction: 'CSMS_TO_CS',
74
+ message: [3, 'msg-003', {}],
75
+ },
76
+ {
77
+ timestamp: '2024-01-15T10:02:15.000Z',
78
+ direction: 'CS_TO_CSMS',
79
+ message: [
80
+ 2,
81
+ 'msg-004',
82
+ 'Authorize',
83
+ {
84
+ idTag: 'SYNTHETIC-TAG-001',
85
+ },
86
+ ],
87
+ },
88
+ {
89
+ timestamp: '2024-01-15T10:02:15.500Z',
90
+ direction: 'CSMS_TO_CS',
91
+ message: [
92
+ 3,
93
+ 'msg-004',
94
+ {
95
+ idTagInfo: {
96
+ status: 'Accepted',
97
+ expiryDate: '2024-12-31T23:59:59.000Z',
98
+ parentIdTag: 'SYNTHETIC-PARENT-001',
99
+ },
100
+ },
101
+ ],
102
+ },
103
+ {
104
+ timestamp: '2024-01-15T10:02:30.000Z',
105
+ direction: 'CS_TO_CSMS',
106
+ message: [
107
+ 2,
108
+ 'msg-005',
109
+ 'StartTransaction',
110
+ {
111
+ connectorId: 1,
112
+ idTag: 'SYNTHETIC-TAG-001',
113
+ meterStart: 0,
114
+ timestamp: '2024-01-15T10:02:30.000Z',
115
+ },
116
+ ],
117
+ },
118
+ {
119
+ timestamp: '2024-01-15T10:02:30.500Z',
120
+ direction: 'CSMS_TO_CS',
121
+ message: [
122
+ 3,
123
+ 'msg-005',
124
+ {
125
+ transactionId: 100001,
126
+ idTagInfo: {
127
+ status: 'Accepted',
128
+ },
129
+ },
130
+ ],
131
+ },
132
+ {
133
+ timestamp: '2024-01-15T10:02:31.000Z',
134
+ direction: 'CS_TO_CSMS',
135
+ message: [
136
+ 2,
137
+ 'msg-006',
138
+ 'StatusNotification',
139
+ {
140
+ connectorId: 1,
141
+ status: 'Charging',
142
+ errorCode: 'NoError',
143
+ },
144
+ ],
145
+ },
146
+ {
147
+ timestamp: '2024-01-15T10:02:31.500Z',
148
+ direction: 'CSMS_TO_CS',
149
+ message: [3, 'msg-006', {}],
150
+ },
151
+ {
152
+ timestamp: '2024-01-15T10:15:00.000Z',
153
+ direction: 'CS_TO_CSMS',
154
+ message: [
155
+ 2,
156
+ 'msg-007',
157
+ 'MeterValues',
158
+ {
159
+ connectorId: 1,
160
+ transactionId: 100001,
161
+ meterValue: [
162
+ {
163
+ timestamp: '2024-01-15T10:15:00.000Z',
164
+ sampledValue: [
165
+ {
166
+ value: '5000',
167
+ measurand: 'Energy.Active.Import.Register',
168
+ unit: 'Wh',
169
+ },
170
+ ],
171
+ },
172
+ ],
173
+ },
174
+ ],
175
+ },
176
+ {
177
+ timestamp: '2024-01-15T10:15:00.500Z',
178
+ direction: 'CSMS_TO_CS',
179
+ message: [3, 'msg-007', {}],
180
+ },
181
+ {
182
+ timestamp: '2024-01-15T10:30:00.000Z',
183
+ direction: 'CS_TO_CSMS',
184
+ message: [
185
+ 2,
186
+ 'msg-008',
187
+ 'MeterValues',
188
+ {
189
+ connectorId: 1,
190
+ transactionId: 100001,
191
+ meterValue: [
192
+ {
193
+ timestamp: '2024-01-15T10:30:00.000Z',
194
+ sampledValue: [
195
+ {
196
+ value: '10000',
197
+ measurand: 'Energy.Active.Import.Register',
198
+ unit: 'Wh',
199
+ },
200
+ ],
201
+ },
202
+ ],
203
+ },
204
+ ],
205
+ },
206
+ {
207
+ timestamp: '2024-01-15T10:30:00.500Z',
208
+ direction: 'CSMS_TO_CS',
209
+ message: [3, 'msg-008', {}],
210
+ },
211
+ {
212
+ timestamp: '2024-01-15T10:35:00.000Z',
213
+ direction: 'CS_TO_CSMS',
214
+ message: [
215
+ 2,
216
+ 'msg-009',
217
+ 'StopTransaction',
218
+ {
219
+ transactionId: 100001,
220
+ idTag: 'SYNTHETIC-TAG-001',
221
+ meterStop: 10000,
222
+ timestamp: '2024-01-15T10:35:00.000Z',
223
+ reason: 'EVDisconnected',
224
+ },
225
+ ],
226
+ },
227
+ {
228
+ timestamp: '2024-01-15T10:35:00.500Z',
229
+ direction: 'CSMS_TO_CS',
230
+ message: [
231
+ 3,
232
+ 'msg-009',
233
+ {
234
+ idTagInfo: {
235
+ status: 'Accepted',
236
+ },
237
+ },
238
+ ],
239
+ },
240
+ {
241
+ timestamp: '2024-01-15T10:35:01.000Z',
242
+ direction: 'CS_TO_CSMS',
243
+ message: [
244
+ 2,
245
+ 'msg-010',
246
+ 'StatusNotification',
247
+ {
248
+ connectorId: 1,
249
+ status: 'Available',
250
+ errorCode: 'NoError',
251
+ },
252
+ ],
253
+ },
254
+ {
255
+ timestamp: '2024-01-15T10:35:01.500Z',
256
+ direction: 'CSMS_TO_CS',
257
+ message: [3, 'msg-010', {}],
258
+ },
259
+ ],
260
+ };
261
+ //# sourceMappingURL=normal-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normal-session.js","sourceRoot":"","sources":["../../src/__fixtures__/normal-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Failure detection — analyzes events and sessions for known failure patterns.
3
+ *
4
+ * Three detection rules in v0.1:
5
+ * 1. FAILED_AUTHORIZATION — Authorize response with idTagInfo.status = "Invalid"
6
+ * 2. CONNECTOR_FAULT — StatusNotification with status = "Faulted" during active session
7
+ * 3. STATION_OFFLINE_DURING_SESSION — session has StartTransaction but no StopTransaction,
8
+ * or connector transitions to Unavailable/Offline during an active transaction
9
+ *
10
+ * @see ADR-0003
11
+ */
12
+ import type { Event, Failure, Session } from './types.js';
13
+ /**
14
+ * Detect failures in a trace by analyzing events and sessions.
15
+ *
16
+ * @param events - All normalized events from the trace
17
+ * @param sessions - Sessions derived from the events
18
+ * @returns Array of detected failures
19
+ *
20
+ * @see ADR-0003
21
+ */
22
+ export declare function detectFailures(events: Event[], sessions: Session[]): Failure[];
23
+ //# sourceMappingURL=detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../src/detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAgC,OAAO,EAAE,MAAM,YAAY,CAAC;AAqOxF;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAa9E"}