@ocpp-debugkit/toolkit 0.2.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 (124) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +14 -0
  3. package/README.md +35 -0
  4. package/dist/cli/commands/inspect.d.ts +8 -0
  5. package/dist/cli/commands/inspect.d.ts.map +1 -0
  6. package/dist/cli/commands/inspect.js +63 -0
  7. package/dist/cli/commands/inspect.js.map +1 -0
  8. package/dist/cli/commands/report.d.ts +9 -0
  9. package/dist/cli/commands/report.d.ts.map +1 -0
  10. package/dist/cli/commands/report.js +54 -0
  11. package/dist/cli/commands/report.js.map +1 -0
  12. package/dist/cli/commands/scenario.d.ts +10 -0
  13. package/dist/cli/commands/scenario.d.ts.map +1 -0
  14. package/dist/cli/commands/scenario.js +104 -0
  15. package/dist/cli/commands/scenario.js.map +1 -0
  16. package/dist/cli/index.d.ts +7 -0
  17. package/dist/cli/index.d.ts.map +1 -0
  18. package/dist/cli/index.js +47 -0
  19. package/dist/cli/index.js.map +1 -0
  20. package/dist/cli/utils.d.ts +13 -0
  21. package/dist/cli/utils.d.ts.map +1 -0
  22. package/dist/cli/utils.js +43 -0
  23. package/dist/cli/utils.js.map +1 -0
  24. package/dist/core/__fixtures__/connector-fault.d.ts +116 -0
  25. package/dist/core/__fixtures__/connector-fault.d.ts.map +1 -0
  26. package/dist/core/__fixtures__/connector-fault.js +231 -0
  27. package/dist/core/__fixtures__/connector-fault.js.map +1 -0
  28. package/dist/core/__fixtures__/failed-auth.d.ts +64 -0
  29. package/dist/core/__fixtures__/failed-auth.d.ts.map +1 -0
  30. package/dist/core/__fixtures__/failed-auth.js +173 -0
  31. package/dist/core/__fixtures__/failed-auth.js.map +1 -0
  32. package/dist/core/__fixtures__/normal-session.d.ts +108 -0
  33. package/dist/core/__fixtures__/normal-session.d.ts.map +1 -0
  34. package/dist/core/__fixtures__/normal-session.js +261 -0
  35. package/dist/core/__fixtures__/normal-session.js.map +1 -0
  36. package/dist/core/detection.d.ts +23 -0
  37. package/dist/core/detection.d.ts.map +1 -0
  38. package/dist/core/detection.js +226 -0
  39. package/dist/core/detection.js.map +1 -0
  40. package/dist/core/fixtures/index.d.ts +298 -0
  41. package/dist/core/fixtures/index.d.ts.map +1 -0
  42. package/dist/core/fixtures/index.js +19 -0
  43. package/dist/core/fixtures/index.js.map +1 -0
  44. package/dist/core/index.d.ts +14 -0
  45. package/dist/core/index.d.ts.map +1 -0
  46. package/dist/core/index.js +22 -0
  47. package/dist/core/index.js.map +1 -0
  48. package/dist/core/normalizer.d.ts +83 -0
  49. package/dist/core/normalizer.d.ts.map +1 -0
  50. package/dist/core/normalizer.js +289 -0
  51. package/dist/core/normalizer.js.map +1 -0
  52. package/dist/core/parser.d.ts +53 -0
  53. package/dist/core/parser.d.ts.map +1 -0
  54. package/dist/core/parser.js +282 -0
  55. package/dist/core/parser.js.map +1 -0
  56. package/dist/core/schemas.d.ts +68 -0
  57. package/dist/core/schemas.d.ts.map +1 -0
  58. package/dist/core/schemas.js +81 -0
  59. package/dist/core/schemas.js.map +1 -0
  60. package/dist/core/summarizer.d.ts +25 -0
  61. package/dist/core/summarizer.d.ts.map +1 -0
  62. package/dist/core/summarizer.js +47 -0
  63. package/dist/core/summarizer.js.map +1 -0
  64. package/dist/core/timeline.d.ts +26 -0
  65. package/dist/core/timeline.d.ts.map +1 -0
  66. package/dist/core/timeline.js +318 -0
  67. package/dist/core/timeline.js.map +1 -0
  68. package/dist/core/types.d.ts +160 -0
  69. package/dist/core/types.d.ts.map +1 -0
  70. package/dist/core/types.js +9 -0
  71. package/dist/core/types.js.map +1 -0
  72. package/dist/core/validator.d.ts +33 -0
  73. package/dist/core/validator.d.ts.map +1 -0
  74. package/dist/core/validator.js +122 -0
  75. package/dist/core/validator.js.map +1 -0
  76. package/dist/index.d.ts +24 -0
  77. package/dist/index.d.ts.map +1 -0
  78. package/dist/index.js +26 -0
  79. package/dist/index.js.map +1 -0
  80. package/dist/react/components.d.ts +50 -0
  81. package/dist/react/components.d.ts.map +1 -0
  82. package/dist/react/components.js +49 -0
  83. package/dist/react/components.js.map +1 -0
  84. package/dist/react/index.d.ts +11 -0
  85. package/dist/react/index.d.ts.map +1 -0
  86. package/dist/react/index.js +10 -0
  87. package/dist/react/index.js.map +1 -0
  88. package/dist/react/types.d.ts +33 -0
  89. package/dist/react/types.d.ts.map +1 -0
  90. package/dist/react/types.js +5 -0
  91. package/dist/react/types.js.map +1 -0
  92. package/dist/replay/engine.d.ts +55 -0
  93. package/dist/replay/engine.d.ts.map +1 -0
  94. package/dist/replay/engine.js +86 -0
  95. package/dist/replay/engine.js.map +1 -0
  96. package/dist/replay/index.d.ts +11 -0
  97. package/dist/replay/index.d.ts.map +1 -0
  98. package/dist/replay/index.js +11 -0
  99. package/dist/replay/index.js.map +1 -0
  100. package/dist/reporter/index.d.ts +6 -0
  101. package/dist/reporter/index.d.ts.map +1 -0
  102. package/dist/reporter/index.js +5 -0
  103. package/dist/reporter/index.js.map +1 -0
  104. package/dist/reporter/markdown.d.ts +20 -0
  105. package/dist/reporter/markdown.d.ts.map +1 -0
  106. package/dist/reporter/markdown.js +181 -0
  107. package/dist/reporter/markdown.js.map +1 -0
  108. package/dist/reporter/types.d.ts +34 -0
  109. package/dist/reporter/types.d.ts.map +1 -0
  110. package/dist/reporter/types.js +9 -0
  111. package/dist/reporter/types.js.map +1 -0
  112. package/dist/scenarios/__scenarios__/station-offline.d.ts +94 -0
  113. package/dist/scenarios/__scenarios__/station-offline.d.ts.map +1 -0
  114. package/dist/scenarios/__scenarios__/station-offline.js +168 -0
  115. package/dist/scenarios/__scenarios__/station-offline.js.map +1 -0
  116. package/dist/scenarios/__scenarios__/unexpected-stop-reason.d.ts +112 -0
  117. package/dist/scenarios/__scenarios__/unexpected-stop-reason.d.ts.map +1 -0
  118. package/dist/scenarios/__scenarios__/unexpected-stop-reason.js +216 -0
  119. package/dist/scenarios/__scenarios__/unexpected-stop-reason.js.map +1 -0
  120. package/dist/scenarios/index.d.ts +21 -0
  121. package/dist/scenarios/index.d.ts.map +1 -0
  122. package/dist/scenarios/index.js +61 -0
  123. package/dist/scenarios/index.js.map +1 -0
  124. package/package.json +110 -0
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Shared utilities for CLI commands.
3
+ */
4
+ import { readFileSync, statSync } from 'node:fs';
5
+ import { resolve } from 'node:path';
6
+ import { MAX_INPUT_SIZE_BYTES } from '../core/index.js';
7
+ /** Maximum file size for trace input (10 MB). */
8
+ const MAX_FILE_SIZE = MAX_INPUT_SIZE_BYTES;
9
+ /** Error thrown when a file is invalid or unreadable. */
10
+ export class CliError extends Error {
11
+ constructor(message) {
12
+ super(message);
13
+ this.name = 'CliError';
14
+ }
15
+ }
16
+ /**
17
+ * Read a trace file safely with path validation and size limits.
18
+ * @throws {CliError} if the file is missing, too large, or unreadable.
19
+ */
20
+ export function readTraceFile(filePath) {
21
+ // Resolve and validate the path (prevent path traversal in edge cases)
22
+ const resolved = resolve(filePath);
23
+ let stats;
24
+ try {
25
+ stats = statSync(resolved);
26
+ }
27
+ catch {
28
+ throw new CliError(`File not found: ${filePath}`);
29
+ }
30
+ if (!stats.isFile()) {
31
+ throw new CliError(`Not a file: ${filePath}`);
32
+ }
33
+ if (stats.size > MAX_FILE_SIZE) {
34
+ throw new CliError(`File size (${stats.size} bytes) exceeds the maximum allowed size (${MAX_FILE_SIZE} bytes).`);
35
+ }
36
+ try {
37
+ return readFileSync(resolved, 'utf8');
38
+ }
39
+ catch {
40
+ throw new CliError(`Failed to read file: ${filePath}`);
41
+ }
42
+ }
43
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,iDAAiD;AACjD,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAE3C,yDAAyD;AACzD,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,uEAAuE;IACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACH,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,QAAQ,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,GAAG,aAAa,EAAE,CAAC;QAC/B,MAAM,IAAI,QAAQ,CAChB,cAAc,KAAK,CAAC,IAAI,6CAA6C,aAAa,UAAU,CAC7F,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
@@ -0,0 +1,116 @@
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
+ };
52
+ })[];
53
+ } | {
54
+ timestamp: string;
55
+ direction: string;
56
+ message: (string | number | {
57
+ connectorId: number;
58
+ idTag: string;
59
+ meterStart: number;
60
+ timestamp: string;
61
+ })[];
62
+ } | {
63
+ timestamp: string;
64
+ direction: string;
65
+ message: (string | number | {
66
+ transactionId: number;
67
+ idTagInfo: {
68
+ status: string;
69
+ };
70
+ })[];
71
+ } | {
72
+ timestamp: string;
73
+ direction: string;
74
+ message: (string | number | {
75
+ connectorId: number;
76
+ transactionId: number;
77
+ meterValue: {
78
+ timestamp: string;
79
+ sampledValue: {
80
+ value: string;
81
+ measurand: string;
82
+ unit: string;
83
+ }[];
84
+ }[];
85
+ })[];
86
+ } | {
87
+ timestamp: string;
88
+ direction: string;
89
+ message: (string | number | {
90
+ connectorId: number;
91
+ status: string;
92
+ errorCode: string;
93
+ info: string;
94
+ })[];
95
+ } | {
96
+ timestamp: string;
97
+ direction: string;
98
+ message: (string | number | {
99
+ transactionId: number;
100
+ idTag: string;
101
+ meterStop: number;
102
+ timestamp: string;
103
+ reason: string;
104
+ })[];
105
+ } | {
106
+ timestamp: string;
107
+ direction: string;
108
+ message: (string | number | {
109
+ idTagInfo: {
110
+ status: string;
111
+ };
112
+ })[];
113
+ })[];
114
+ };
115
+ export default _default;
116
+ //# sourceMappingURL=connector-fault.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector-fault.d.ts","sourceRoot":"","sources":["../../../src/core/__fixtures__/connector-fault.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAsOE"}
@@ -0,0 +1,231 @@
1
+ export default {
2
+ traceId: 'fixture-connector-fault',
3
+ metadata: {
4
+ stationId: 'CS-SYNTHETIC-003',
5
+ ocppVersion: '1.6',
6
+ source: 'synthetic-fixture',
7
+ description: 'Connector fault during active session: station boots, transaction starts, connector faults mid-charging, transaction stops with fault reason. Expects CONNECTOR_FAULT failure.',
8
+ },
9
+ events: [
10
+ {
11
+ timestamp: '2024-01-15T12: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-003',
21
+ firmwareVersion: '1.0.0',
22
+ },
23
+ ],
24
+ },
25
+ {
26
+ timestamp: '2024-01-15T12:00:00.500Z',
27
+ direction: 'CSMS_TO_CS',
28
+ message: [
29
+ 3,
30
+ 'msg-001',
31
+ {
32
+ currentTime: '2024-01-15T12:00:00.500Z',
33
+ interval: 300,
34
+ status: 'Accepted',
35
+ },
36
+ ],
37
+ },
38
+ {
39
+ timestamp: '2024-01-15T12: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-15T12:01:00.500Z',
54
+ direction: 'CSMS_TO_CS',
55
+ message: [3, 'msg-002', {}],
56
+ },
57
+ {
58
+ timestamp: '2024-01-15T12: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-15T12:02:00.500Z',
73
+ direction: 'CSMS_TO_CS',
74
+ message: [3, 'msg-003', {}],
75
+ },
76
+ {
77
+ timestamp: '2024-01-15T12:02:15.000Z',
78
+ direction: 'CS_TO_CSMS',
79
+ message: [
80
+ 2,
81
+ 'msg-004',
82
+ 'Authorize',
83
+ {
84
+ idTag: 'SYNTHETIC-TAG-002',
85
+ },
86
+ ],
87
+ },
88
+ {
89
+ timestamp: '2024-01-15T12: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
+ },
99
+ },
100
+ ],
101
+ },
102
+ {
103
+ timestamp: '2024-01-15T12:02:30.000Z',
104
+ direction: 'CS_TO_CSMS',
105
+ message: [
106
+ 2,
107
+ 'msg-005',
108
+ 'StartTransaction',
109
+ {
110
+ connectorId: 1,
111
+ idTag: 'SYNTHETIC-TAG-002',
112
+ meterStart: 0,
113
+ timestamp: '2024-01-15T12:02:30.000Z',
114
+ },
115
+ ],
116
+ },
117
+ {
118
+ timestamp: '2024-01-15T12:02:30.500Z',
119
+ direction: 'CSMS_TO_CS',
120
+ message: [
121
+ 3,
122
+ 'msg-005',
123
+ {
124
+ transactionId: 100002,
125
+ idTagInfo: {
126
+ status: 'Accepted',
127
+ },
128
+ },
129
+ ],
130
+ },
131
+ {
132
+ timestamp: '2024-01-15T12:02:31.000Z',
133
+ direction: 'CS_TO_CSMS',
134
+ message: [
135
+ 2,
136
+ 'msg-006',
137
+ 'StatusNotification',
138
+ {
139
+ connectorId: 1,
140
+ status: 'Charging',
141
+ errorCode: 'NoError',
142
+ },
143
+ ],
144
+ },
145
+ {
146
+ timestamp: '2024-01-15T12:02:31.500Z',
147
+ direction: 'CSMS_TO_CS',
148
+ message: [3, 'msg-006', {}],
149
+ },
150
+ {
151
+ timestamp: '2024-01-15T12:15:00.000Z',
152
+ direction: 'CS_TO_CSMS',
153
+ message: [
154
+ 2,
155
+ 'msg-007',
156
+ 'MeterValues',
157
+ {
158
+ connectorId: 1,
159
+ transactionId: 100002,
160
+ meterValue: [
161
+ {
162
+ timestamp: '2024-01-15T12:15:00.000Z',
163
+ sampledValue: [
164
+ {
165
+ value: '3500',
166
+ measurand: 'Energy.Active.Import.Register',
167
+ unit: 'Wh',
168
+ },
169
+ ],
170
+ },
171
+ ],
172
+ },
173
+ ],
174
+ },
175
+ {
176
+ timestamp: '2024-01-15T12:15:00.500Z',
177
+ direction: 'CSMS_TO_CS',
178
+ message: [3, 'msg-007', {}],
179
+ },
180
+ {
181
+ timestamp: '2024-01-15T12:18:00.000Z',
182
+ direction: 'CS_TO_CSMS',
183
+ message: [
184
+ 2,
185
+ 'msg-008',
186
+ 'StatusNotification',
187
+ {
188
+ connectorId: 1,
189
+ status: 'Faulted',
190
+ errorCode: 'ConnectorLockFailure',
191
+ info: 'Connector lock mechanism failure detected',
192
+ },
193
+ ],
194
+ },
195
+ {
196
+ timestamp: '2024-01-15T12:18:00.500Z',
197
+ direction: 'CSMS_TO_CS',
198
+ message: [3, 'msg-008', {}],
199
+ },
200
+ {
201
+ timestamp: '2024-01-15T12:18:05.000Z',
202
+ direction: 'CS_TO_CSMS',
203
+ message: [
204
+ 2,
205
+ 'msg-009',
206
+ 'StopTransaction',
207
+ {
208
+ transactionId: 100002,
209
+ idTag: 'SYNTHETIC-TAG-002',
210
+ meterStop: 3500,
211
+ timestamp: '2024-01-15T12:18:05.000Z',
212
+ reason: 'Faulted',
213
+ },
214
+ ],
215
+ },
216
+ {
217
+ timestamp: '2024-01-15T12:18:05.500Z',
218
+ direction: 'CSMS_TO_CS',
219
+ message: [
220
+ 3,
221
+ 'msg-009',
222
+ {
223
+ idTagInfo: {
224
+ status: 'Accepted',
225
+ },
226
+ },
227
+ ],
228
+ },
229
+ ],
230
+ };
231
+ //# sourceMappingURL=connector-fault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector-fault.js","sourceRoot":"","sources":["../../../src/core/__fixtures__/connector-fault.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
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
+ };
51
+ })[];
52
+ } | {
53
+ timestamp: string;
54
+ direction: string;
55
+ message: (string | number | {
56
+ connectorId: number;
57
+ status: string;
58
+ errorCode: string;
59
+ info: string;
60
+ })[];
61
+ })[];
62
+ };
63
+ export default _default;
64
+ //# sourceMappingURL=failed-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failed-auth.d.ts","sourceRoot":"","sources":["../../../src/core/__fixtures__/failed-auth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBA4KE"}
@@ -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/core/__fixtures__/failed-auth.ts"],"names":[],"mappings":"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"}