@justinmiehle/shared 0.0.6 → 0.0.9

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/types.d.ts CHANGED
@@ -2,6 +2,38 @@ import { z } from "zod";
2
2
  export declare const TestFrameworkSchema: z.ZodEnum<["vitest", "playwright", "jest", "other"]>;
3
3
  export declare const TestTypeSchema: z.ZodEnum<["unit", "integration", "e2e", "visual"]>;
4
4
  export declare const TestStatusSchema: z.ZodEnum<["passed", "failed", "skipped", "running"]>;
5
+ export declare const CodeSnippetSchema: z.ZodObject<{
6
+ startLine: z.ZodNumber;
7
+ endLine: z.ZodNumber;
8
+ content: z.ZodString;
9
+ language: z.ZodOptional<z.ZodString>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ startLine: number;
12
+ endLine: number;
13
+ content: string;
14
+ language?: string | undefined;
15
+ }, {
16
+ startLine: number;
17
+ endLine: number;
18
+ content: string;
19
+ language?: string | undefined;
20
+ }>;
21
+ export declare const TestAttachmentIngestSchema: z.ZodObject<{
22
+ name: z.ZodString;
23
+ contentType: z.ZodString;
24
+ storageId: z.ZodOptional<z.ZodString>;
25
+ bodyBase64: z.ZodOptional<z.ZodString>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ name: string;
28
+ contentType: string;
29
+ storageId?: string | undefined;
30
+ bodyBase64?: string | undefined;
31
+ }, {
32
+ name: string;
33
+ contentType: string;
34
+ storageId?: string | undefined;
35
+ bodyBase64?: string | undefined;
36
+ }>;
5
37
  export declare const TestResultSchema: z.ZodObject<{
6
38
  name: z.ZodString;
7
39
  file: z.ZodString;
@@ -15,10 +47,44 @@ export declare const TestResultSchema: z.ZodObject<{
15
47
  suite: z.ZodOptional<z.ZodString>;
16
48
  tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
17
49
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
50
+ stdout: z.ZodOptional<z.ZodString>;
51
+ stderr: z.ZodOptional<z.ZodString>;
52
+ codeSnippet: z.ZodOptional<z.ZodObject<{
53
+ startLine: z.ZodNumber;
54
+ endLine: z.ZodNumber;
55
+ content: z.ZodString;
56
+ language: z.ZodOptional<z.ZodString>;
57
+ }, "strip", z.ZodTypeAny, {
58
+ startLine: number;
59
+ endLine: number;
60
+ content: string;
61
+ language?: string | undefined;
62
+ }, {
63
+ startLine: number;
64
+ endLine: number;
65
+ content: string;
66
+ language?: string | undefined;
67
+ }>>;
68
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
69
+ name: z.ZodString;
70
+ contentType: z.ZodString;
71
+ storageId: z.ZodOptional<z.ZodString>;
72
+ bodyBase64: z.ZodOptional<z.ZodString>;
73
+ }, "strip", z.ZodTypeAny, {
74
+ name: string;
75
+ contentType: string;
76
+ storageId?: string | undefined;
77
+ bodyBase64?: string | undefined;
78
+ }, {
79
+ name: string;
80
+ contentType: string;
81
+ storageId?: string | undefined;
82
+ bodyBase64?: string | undefined;
83
+ }>, "many">>;
18
84
  }, "strip", z.ZodTypeAny, {
85
+ status: "passed" | "failed" | "skipped" | "running";
19
86
  name: string;
20
87
  file: string;
21
- status: "passed" | "failed" | "skipped" | "running";
22
88
  duration: number;
23
89
  line?: number | undefined;
24
90
  column?: number | undefined;
@@ -28,10 +94,24 @@ export declare const TestResultSchema: z.ZodObject<{
28
94
  suite?: string | undefined;
29
95
  tags?: string[] | undefined;
30
96
  metadata?: Record<string, any> | undefined;
97
+ stdout?: string | undefined;
98
+ stderr?: string | undefined;
99
+ codeSnippet?: {
100
+ startLine: number;
101
+ endLine: number;
102
+ content: string;
103
+ language?: string | undefined;
104
+ } | undefined;
105
+ attachments?: {
106
+ name: string;
107
+ contentType: string;
108
+ storageId?: string | undefined;
109
+ bodyBase64?: string | undefined;
110
+ }[] | undefined;
31
111
  }, {
112
+ status: "passed" | "failed" | "skipped" | "running";
32
113
  name: string;
33
114
  file: string;
34
- status: "passed" | "failed" | "skipped" | "running";
35
115
  duration: number;
36
116
  line?: number | undefined;
37
117
  column?: number | undefined;
@@ -41,6 +121,304 @@ export declare const TestResultSchema: z.ZodObject<{
41
121
  suite?: string | undefined;
42
122
  tags?: string[] | undefined;
43
123
  metadata?: Record<string, any> | undefined;
124
+ stdout?: string | undefined;
125
+ stderr?: string | undefined;
126
+ codeSnippet?: {
127
+ startLine: number;
128
+ endLine: number;
129
+ content: string;
130
+ language?: string | undefined;
131
+ } | undefined;
132
+ attachments?: {
133
+ name: string;
134
+ contentType: string;
135
+ storageId?: string | undefined;
136
+ bodyBase64?: string | undefined;
137
+ }[] | undefined;
138
+ }>;
139
+ export declare const CoverageSummarySchema: z.ZodObject<{
140
+ lines: z.ZodOptional<z.ZodObject<{
141
+ total: z.ZodNumber;
142
+ covered: z.ZodNumber;
143
+ }, "strip", z.ZodTypeAny, {
144
+ total: number;
145
+ covered: number;
146
+ }, {
147
+ total: number;
148
+ covered: number;
149
+ }>>;
150
+ statements: z.ZodOptional<z.ZodObject<{
151
+ total: z.ZodNumber;
152
+ covered: z.ZodNumber;
153
+ }, "strip", z.ZodTypeAny, {
154
+ total: number;
155
+ covered: number;
156
+ }, {
157
+ total: number;
158
+ covered: number;
159
+ }>>;
160
+ branches: z.ZodOptional<z.ZodObject<{
161
+ total: z.ZodNumber;
162
+ covered: z.ZodNumber;
163
+ }, "strip", z.ZodTypeAny, {
164
+ total: number;
165
+ covered: number;
166
+ }, {
167
+ total: number;
168
+ covered: number;
169
+ }>>;
170
+ functions: z.ZodOptional<z.ZodObject<{
171
+ total: z.ZodNumber;
172
+ covered: z.ZodNumber;
173
+ }, "strip", z.ZodTypeAny, {
174
+ total: number;
175
+ covered: number;
176
+ }, {
177
+ total: number;
178
+ covered: number;
179
+ }>>;
180
+ }, "strip", z.ZodTypeAny, {
181
+ lines?: {
182
+ total: number;
183
+ covered: number;
184
+ } | undefined;
185
+ statements?: {
186
+ total: number;
187
+ covered: number;
188
+ } | undefined;
189
+ branches?: {
190
+ total: number;
191
+ covered: number;
192
+ } | undefined;
193
+ functions?: {
194
+ total: number;
195
+ covered: number;
196
+ } | undefined;
197
+ }, {
198
+ lines?: {
199
+ total: number;
200
+ covered: number;
201
+ } | undefined;
202
+ statements?: {
203
+ total: number;
204
+ covered: number;
205
+ } | undefined;
206
+ branches?: {
207
+ total: number;
208
+ covered: number;
209
+ } | undefined;
210
+ functions?: {
211
+ total: number;
212
+ covered: number;
213
+ } | undefined;
214
+ }>;
215
+ export declare const FileCoverageSchema: z.ZodObject<{
216
+ linesCovered: z.ZodNumber;
217
+ linesTotal: z.ZodNumber;
218
+ lineDetails: z.ZodOptional<z.ZodString>;
219
+ statementDetails: z.ZodOptional<z.ZodString>;
220
+ statementsCovered: z.ZodOptional<z.ZodNumber>;
221
+ statementsTotal: z.ZodOptional<z.ZodNumber>;
222
+ branchesCovered: z.ZodOptional<z.ZodNumber>;
223
+ branchesTotal: z.ZodOptional<z.ZodNumber>;
224
+ functionsCovered: z.ZodOptional<z.ZodNumber>;
225
+ functionsTotal: z.ZodOptional<z.ZodNumber>;
226
+ }, "strip", z.ZodTypeAny, {
227
+ linesCovered: number;
228
+ linesTotal: number;
229
+ lineDetails?: string | undefined;
230
+ statementDetails?: string | undefined;
231
+ statementsCovered?: number | undefined;
232
+ statementsTotal?: number | undefined;
233
+ branchesCovered?: number | undefined;
234
+ branchesTotal?: number | undefined;
235
+ functionsCovered?: number | undefined;
236
+ functionsTotal?: number | undefined;
237
+ }, {
238
+ linesCovered: number;
239
+ linesTotal: number;
240
+ lineDetails?: string | undefined;
241
+ statementDetails?: string | undefined;
242
+ statementsCovered?: number | undefined;
243
+ statementsTotal?: number | undefined;
244
+ branchesCovered?: number | undefined;
245
+ branchesTotal?: number | undefined;
246
+ functionsCovered?: number | undefined;
247
+ functionsTotal?: number | undefined;
248
+ }>;
249
+ export declare const CoverageIngestSchema: z.ZodObject<{
250
+ summary: z.ZodOptional<z.ZodObject<{
251
+ lines: z.ZodOptional<z.ZodObject<{
252
+ total: z.ZodNumber;
253
+ covered: z.ZodNumber;
254
+ }, "strip", z.ZodTypeAny, {
255
+ total: number;
256
+ covered: number;
257
+ }, {
258
+ total: number;
259
+ covered: number;
260
+ }>>;
261
+ statements: z.ZodOptional<z.ZodObject<{
262
+ total: z.ZodNumber;
263
+ covered: z.ZodNumber;
264
+ }, "strip", z.ZodTypeAny, {
265
+ total: number;
266
+ covered: number;
267
+ }, {
268
+ total: number;
269
+ covered: number;
270
+ }>>;
271
+ branches: z.ZodOptional<z.ZodObject<{
272
+ total: z.ZodNumber;
273
+ covered: z.ZodNumber;
274
+ }, "strip", z.ZodTypeAny, {
275
+ total: number;
276
+ covered: number;
277
+ }, {
278
+ total: number;
279
+ covered: number;
280
+ }>>;
281
+ functions: z.ZodOptional<z.ZodObject<{
282
+ total: z.ZodNumber;
283
+ covered: z.ZodNumber;
284
+ }, "strip", z.ZodTypeAny, {
285
+ total: number;
286
+ covered: number;
287
+ }, {
288
+ total: number;
289
+ covered: number;
290
+ }>>;
291
+ }, "strip", z.ZodTypeAny, {
292
+ lines?: {
293
+ total: number;
294
+ covered: number;
295
+ } | undefined;
296
+ statements?: {
297
+ total: number;
298
+ covered: number;
299
+ } | undefined;
300
+ branches?: {
301
+ total: number;
302
+ covered: number;
303
+ } | undefined;
304
+ functions?: {
305
+ total: number;
306
+ covered: number;
307
+ } | undefined;
308
+ }, {
309
+ lines?: {
310
+ total: number;
311
+ covered: number;
312
+ } | undefined;
313
+ statements?: {
314
+ total: number;
315
+ covered: number;
316
+ } | undefined;
317
+ branches?: {
318
+ total: number;
319
+ covered: number;
320
+ } | undefined;
321
+ functions?: {
322
+ total: number;
323
+ covered: number;
324
+ } | undefined;
325
+ }>>;
326
+ files: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
327
+ linesCovered: z.ZodNumber;
328
+ linesTotal: z.ZodNumber;
329
+ lineDetails: z.ZodOptional<z.ZodString>;
330
+ statementDetails: z.ZodOptional<z.ZodString>;
331
+ statementsCovered: z.ZodOptional<z.ZodNumber>;
332
+ statementsTotal: z.ZodOptional<z.ZodNumber>;
333
+ branchesCovered: z.ZodOptional<z.ZodNumber>;
334
+ branchesTotal: z.ZodOptional<z.ZodNumber>;
335
+ functionsCovered: z.ZodOptional<z.ZodNumber>;
336
+ functionsTotal: z.ZodOptional<z.ZodNumber>;
337
+ }, "strip", z.ZodTypeAny, {
338
+ linesCovered: number;
339
+ linesTotal: number;
340
+ lineDetails?: string | undefined;
341
+ statementDetails?: string | undefined;
342
+ statementsCovered?: number | undefined;
343
+ statementsTotal?: number | undefined;
344
+ branchesCovered?: number | undefined;
345
+ branchesTotal?: number | undefined;
346
+ functionsCovered?: number | undefined;
347
+ functionsTotal?: number | undefined;
348
+ }, {
349
+ linesCovered: number;
350
+ linesTotal: number;
351
+ lineDetails?: string | undefined;
352
+ statementDetails?: string | undefined;
353
+ statementsCovered?: number | undefined;
354
+ statementsTotal?: number | undefined;
355
+ branchesCovered?: number | undefined;
356
+ branchesTotal?: number | undefined;
357
+ functionsCovered?: number | undefined;
358
+ functionsTotal?: number | undefined;
359
+ }>>>;
360
+ }, "strip", z.ZodTypeAny, {
361
+ summary?: {
362
+ lines?: {
363
+ total: number;
364
+ covered: number;
365
+ } | undefined;
366
+ statements?: {
367
+ total: number;
368
+ covered: number;
369
+ } | undefined;
370
+ branches?: {
371
+ total: number;
372
+ covered: number;
373
+ } | undefined;
374
+ functions?: {
375
+ total: number;
376
+ covered: number;
377
+ } | undefined;
378
+ } | undefined;
379
+ files?: Record<string, {
380
+ linesCovered: number;
381
+ linesTotal: number;
382
+ lineDetails?: string | undefined;
383
+ statementDetails?: string | undefined;
384
+ statementsCovered?: number | undefined;
385
+ statementsTotal?: number | undefined;
386
+ branchesCovered?: number | undefined;
387
+ branchesTotal?: number | undefined;
388
+ functionsCovered?: number | undefined;
389
+ functionsTotal?: number | undefined;
390
+ }> | undefined;
391
+ }, {
392
+ summary?: {
393
+ lines?: {
394
+ total: number;
395
+ covered: number;
396
+ } | undefined;
397
+ statements?: {
398
+ total: number;
399
+ covered: number;
400
+ } | undefined;
401
+ branches?: {
402
+ total: number;
403
+ covered: number;
404
+ } | undefined;
405
+ functions?: {
406
+ total: number;
407
+ covered: number;
408
+ } | undefined;
409
+ } | undefined;
410
+ files?: Record<string, {
411
+ linesCovered: number;
412
+ linesTotal: number;
413
+ lineDetails?: string | undefined;
414
+ statementDetails?: string | undefined;
415
+ statementsCovered?: number | undefined;
416
+ statementsTotal?: number | undefined;
417
+ branchesCovered?: number | undefined;
418
+ branchesTotal?: number | undefined;
419
+ functionsCovered?: number | undefined;
420
+ functionsTotal?: number | undefined;
421
+ }> | undefined;
44
422
  }>;
45
423
  export declare const TestRunIngestSchema: z.ZodObject<{
46
424
  projectId: z.ZodOptional<z.ZodString>;
@@ -57,6 +435,8 @@ export declare const TestRunIngestSchema: z.ZodObject<{
57
435
  environment: z.ZodOptional<z.ZodString>;
58
436
  ci: z.ZodOptional<z.ZodBoolean>;
59
437
  commitSha: z.ZodOptional<z.ZodString>;
438
+ triggeredBy: z.ZodOptional<z.ZodString>;
439
+ reporterVersion: z.ZodOptional<z.ZodString>;
60
440
  tests: z.ZodArray<z.ZodObject<{
61
441
  name: z.ZodString;
62
442
  file: z.ZodString;
@@ -70,10 +450,44 @@ export declare const TestRunIngestSchema: z.ZodObject<{
70
450
  suite: z.ZodOptional<z.ZodString>;
71
451
  tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
72
452
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
453
+ stdout: z.ZodOptional<z.ZodString>;
454
+ stderr: z.ZodOptional<z.ZodString>;
455
+ codeSnippet: z.ZodOptional<z.ZodObject<{
456
+ startLine: z.ZodNumber;
457
+ endLine: z.ZodNumber;
458
+ content: z.ZodString;
459
+ language: z.ZodOptional<z.ZodString>;
460
+ }, "strip", z.ZodTypeAny, {
461
+ startLine: number;
462
+ endLine: number;
463
+ content: string;
464
+ language?: string | undefined;
465
+ }, {
466
+ startLine: number;
467
+ endLine: number;
468
+ content: string;
469
+ language?: string | undefined;
470
+ }>>;
471
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
472
+ name: z.ZodString;
473
+ contentType: z.ZodString;
474
+ storageId: z.ZodOptional<z.ZodString>;
475
+ bodyBase64: z.ZodOptional<z.ZodString>;
476
+ }, "strip", z.ZodTypeAny, {
477
+ name: string;
478
+ contentType: string;
479
+ storageId?: string | undefined;
480
+ bodyBase64?: string | undefined;
481
+ }, {
482
+ name: string;
483
+ contentType: string;
484
+ storageId?: string | undefined;
485
+ bodyBase64?: string | undefined;
486
+ }>, "many">>;
73
487
  }, "strip", z.ZodTypeAny, {
488
+ status: "passed" | "failed" | "skipped" | "running";
74
489
  name: string;
75
490
  file: string;
76
- status: "passed" | "failed" | "skipped" | "running";
77
491
  duration: number;
78
492
  line?: number | undefined;
79
493
  column?: number | undefined;
@@ -83,10 +497,24 @@ export declare const TestRunIngestSchema: z.ZodObject<{
83
497
  suite?: string | undefined;
84
498
  tags?: string[] | undefined;
85
499
  metadata?: Record<string, any> | undefined;
500
+ stdout?: string | undefined;
501
+ stderr?: string | undefined;
502
+ codeSnippet?: {
503
+ startLine: number;
504
+ endLine: number;
505
+ content: string;
506
+ language?: string | undefined;
507
+ } | undefined;
508
+ attachments?: {
509
+ name: string;
510
+ contentType: string;
511
+ storageId?: string | undefined;
512
+ bodyBase64?: string | undefined;
513
+ }[] | undefined;
86
514
  }, {
515
+ status: "passed" | "failed" | "skipped" | "running";
87
516
  name: string;
88
517
  file: string;
89
- status: "passed" | "failed" | "skipped" | "running";
90
518
  duration: number;
91
519
  line?: number | undefined;
92
520
  column?: number | undefined;
@@ -96,6 +524,20 @@ export declare const TestRunIngestSchema: z.ZodObject<{
96
524
  suite?: string | undefined;
97
525
  tags?: string[] | undefined;
98
526
  metadata?: Record<string, any> | undefined;
527
+ stdout?: string | undefined;
528
+ stderr?: string | undefined;
529
+ codeSnippet?: {
530
+ startLine: number;
531
+ endLine: number;
532
+ content: string;
533
+ language?: string | undefined;
534
+ } | undefined;
535
+ attachments?: {
536
+ name: string;
537
+ contentType: string;
538
+ storageId?: string | undefined;
539
+ bodyBase64?: string | undefined;
540
+ }[] | undefined;
99
541
  }>, "many">;
100
542
  suites: z.ZodOptional<z.ZodArray<z.ZodObject<{
101
543
  name: z.ZodString;
@@ -107,24 +549,198 @@ export declare const TestRunIngestSchema: z.ZodObject<{
107
549
  failedTests: z.ZodNumber;
108
550
  skippedTests: z.ZodNumber;
109
551
  }, "strip", z.ZodTypeAny, {
552
+ status: "passed" | "failed" | "skipped" | "running";
110
553
  name: string;
111
554
  file: string;
112
- status: "passed" | "failed" | "skipped" | "running";
113
555
  duration: number;
114
556
  totalTests: number;
115
557
  passedTests: number;
116
558
  failedTests: number;
117
559
  skippedTests: number;
118
560
  }, {
561
+ status: "passed" | "failed" | "skipped" | "running";
119
562
  name: string;
120
563
  file: string;
121
- status: "passed" | "failed" | "skipped" | "running";
122
564
  duration: number;
123
565
  totalTests: number;
124
566
  passedTests: number;
125
567
  failedTests: number;
126
568
  skippedTests: number;
127
569
  }>, "many">>;
570
+ coverage: z.ZodOptional<z.ZodObject<{
571
+ summary: z.ZodOptional<z.ZodObject<{
572
+ lines: z.ZodOptional<z.ZodObject<{
573
+ total: z.ZodNumber;
574
+ covered: z.ZodNumber;
575
+ }, "strip", z.ZodTypeAny, {
576
+ total: number;
577
+ covered: number;
578
+ }, {
579
+ total: number;
580
+ covered: number;
581
+ }>>;
582
+ statements: z.ZodOptional<z.ZodObject<{
583
+ total: z.ZodNumber;
584
+ covered: z.ZodNumber;
585
+ }, "strip", z.ZodTypeAny, {
586
+ total: number;
587
+ covered: number;
588
+ }, {
589
+ total: number;
590
+ covered: number;
591
+ }>>;
592
+ branches: z.ZodOptional<z.ZodObject<{
593
+ total: z.ZodNumber;
594
+ covered: z.ZodNumber;
595
+ }, "strip", z.ZodTypeAny, {
596
+ total: number;
597
+ covered: number;
598
+ }, {
599
+ total: number;
600
+ covered: number;
601
+ }>>;
602
+ functions: z.ZodOptional<z.ZodObject<{
603
+ total: z.ZodNumber;
604
+ covered: z.ZodNumber;
605
+ }, "strip", z.ZodTypeAny, {
606
+ total: number;
607
+ covered: number;
608
+ }, {
609
+ total: number;
610
+ covered: number;
611
+ }>>;
612
+ }, "strip", z.ZodTypeAny, {
613
+ lines?: {
614
+ total: number;
615
+ covered: number;
616
+ } | undefined;
617
+ statements?: {
618
+ total: number;
619
+ covered: number;
620
+ } | undefined;
621
+ branches?: {
622
+ total: number;
623
+ covered: number;
624
+ } | undefined;
625
+ functions?: {
626
+ total: number;
627
+ covered: number;
628
+ } | undefined;
629
+ }, {
630
+ lines?: {
631
+ total: number;
632
+ covered: number;
633
+ } | undefined;
634
+ statements?: {
635
+ total: number;
636
+ covered: number;
637
+ } | undefined;
638
+ branches?: {
639
+ total: number;
640
+ covered: number;
641
+ } | undefined;
642
+ functions?: {
643
+ total: number;
644
+ covered: number;
645
+ } | undefined;
646
+ }>>;
647
+ files: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
648
+ linesCovered: z.ZodNumber;
649
+ linesTotal: z.ZodNumber;
650
+ lineDetails: z.ZodOptional<z.ZodString>;
651
+ statementDetails: z.ZodOptional<z.ZodString>;
652
+ statementsCovered: z.ZodOptional<z.ZodNumber>;
653
+ statementsTotal: z.ZodOptional<z.ZodNumber>;
654
+ branchesCovered: z.ZodOptional<z.ZodNumber>;
655
+ branchesTotal: z.ZodOptional<z.ZodNumber>;
656
+ functionsCovered: z.ZodOptional<z.ZodNumber>;
657
+ functionsTotal: z.ZodOptional<z.ZodNumber>;
658
+ }, "strip", z.ZodTypeAny, {
659
+ linesCovered: number;
660
+ linesTotal: number;
661
+ lineDetails?: string | undefined;
662
+ statementDetails?: string | undefined;
663
+ statementsCovered?: number | undefined;
664
+ statementsTotal?: number | undefined;
665
+ branchesCovered?: number | undefined;
666
+ branchesTotal?: number | undefined;
667
+ functionsCovered?: number | undefined;
668
+ functionsTotal?: number | undefined;
669
+ }, {
670
+ linesCovered: number;
671
+ linesTotal: number;
672
+ lineDetails?: string | undefined;
673
+ statementDetails?: string | undefined;
674
+ statementsCovered?: number | undefined;
675
+ statementsTotal?: number | undefined;
676
+ branchesCovered?: number | undefined;
677
+ branchesTotal?: number | undefined;
678
+ functionsCovered?: number | undefined;
679
+ functionsTotal?: number | undefined;
680
+ }>>>;
681
+ }, "strip", z.ZodTypeAny, {
682
+ summary?: {
683
+ lines?: {
684
+ total: number;
685
+ covered: number;
686
+ } | undefined;
687
+ statements?: {
688
+ total: number;
689
+ covered: number;
690
+ } | undefined;
691
+ branches?: {
692
+ total: number;
693
+ covered: number;
694
+ } | undefined;
695
+ functions?: {
696
+ total: number;
697
+ covered: number;
698
+ } | undefined;
699
+ } | undefined;
700
+ files?: Record<string, {
701
+ linesCovered: number;
702
+ linesTotal: number;
703
+ lineDetails?: string | undefined;
704
+ statementDetails?: string | undefined;
705
+ statementsCovered?: number | undefined;
706
+ statementsTotal?: number | undefined;
707
+ branchesCovered?: number | undefined;
708
+ branchesTotal?: number | undefined;
709
+ functionsCovered?: number | undefined;
710
+ functionsTotal?: number | undefined;
711
+ }> | undefined;
712
+ }, {
713
+ summary?: {
714
+ lines?: {
715
+ total: number;
716
+ covered: number;
717
+ } | undefined;
718
+ statements?: {
719
+ total: number;
720
+ covered: number;
721
+ } | undefined;
722
+ branches?: {
723
+ total: number;
724
+ covered: number;
725
+ } | undefined;
726
+ functions?: {
727
+ total: number;
728
+ covered: number;
729
+ } | undefined;
730
+ } | undefined;
731
+ files?: Record<string, {
732
+ linesCovered: number;
733
+ linesTotal: number;
734
+ lineDetails?: string | undefined;
735
+ statementDetails?: string | undefined;
736
+ statementsCovered?: number | undefined;
737
+ statementsTotal?: number | undefined;
738
+ branchesCovered?: number | undefined;
739
+ branchesTotal?: number | undefined;
740
+ functionsCovered?: number | undefined;
741
+ functionsTotal?: number | undefined;
742
+ }> | undefined;
743
+ }>>;
128
744
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
129
745
  }, "strip", z.ZodTypeAny, {
130
746
  projectName: string;
@@ -136,9 +752,9 @@ export declare const TestRunIngestSchema: z.ZodObject<{
136
752
  failedTests: number;
137
753
  skippedTests: number;
138
754
  tests: {
755
+ status: "passed" | "failed" | "skipped" | "running";
139
756
  name: string;
140
757
  file: string;
141
- status: "passed" | "failed" | "skipped" | "running";
142
758
  duration: number;
143
759
  line?: number | undefined;
144
760
  column?: number | undefined;
@@ -148,6 +764,20 @@ export declare const TestRunIngestSchema: z.ZodObject<{
148
764
  suite?: string | undefined;
149
765
  tags?: string[] | undefined;
150
766
  metadata?: Record<string, any> | undefined;
767
+ stdout?: string | undefined;
768
+ stderr?: string | undefined;
769
+ codeSnippet?: {
770
+ startLine: number;
771
+ endLine: number;
772
+ content: string;
773
+ language?: string | undefined;
774
+ } | undefined;
775
+ attachments?: {
776
+ name: string;
777
+ contentType: string;
778
+ storageId?: string | undefined;
779
+ bodyBase64?: string | undefined;
780
+ }[] | undefined;
151
781
  }[];
152
782
  duration?: number | undefined;
153
783
  metadata?: Record<string, any> | undefined;
@@ -156,16 +786,50 @@ export declare const TestRunIngestSchema: z.ZodObject<{
156
786
  environment?: string | undefined;
157
787
  ci?: boolean | undefined;
158
788
  commitSha?: string | undefined;
789
+ triggeredBy?: string | undefined;
790
+ reporterVersion?: string | undefined;
159
791
  suites?: {
792
+ status: "passed" | "failed" | "skipped" | "running";
160
793
  name: string;
161
794
  file: string;
162
- status: "passed" | "failed" | "skipped" | "running";
163
795
  duration: number;
164
796
  totalTests: number;
165
797
  passedTests: number;
166
798
  failedTests: number;
167
799
  skippedTests: number;
168
800
  }[] | undefined;
801
+ coverage?: {
802
+ summary?: {
803
+ lines?: {
804
+ total: number;
805
+ covered: number;
806
+ } | undefined;
807
+ statements?: {
808
+ total: number;
809
+ covered: number;
810
+ } | undefined;
811
+ branches?: {
812
+ total: number;
813
+ covered: number;
814
+ } | undefined;
815
+ functions?: {
816
+ total: number;
817
+ covered: number;
818
+ } | undefined;
819
+ } | undefined;
820
+ files?: Record<string, {
821
+ linesCovered: number;
822
+ linesTotal: number;
823
+ lineDetails?: string | undefined;
824
+ statementDetails?: string | undefined;
825
+ statementsCovered?: number | undefined;
826
+ statementsTotal?: number | undefined;
827
+ branchesCovered?: number | undefined;
828
+ branchesTotal?: number | undefined;
829
+ functionsCovered?: number | undefined;
830
+ functionsTotal?: number | undefined;
831
+ }> | undefined;
832
+ } | undefined;
169
833
  }, {
170
834
  projectName: string;
171
835
  framework: "vitest" | "playwright" | "jest" | "other";
@@ -176,9 +840,9 @@ export declare const TestRunIngestSchema: z.ZodObject<{
176
840
  failedTests: number;
177
841
  skippedTests: number;
178
842
  tests: {
843
+ status: "passed" | "failed" | "skipped" | "running";
179
844
  name: string;
180
845
  file: string;
181
- status: "passed" | "failed" | "skipped" | "running";
182
846
  duration: number;
183
847
  line?: number | undefined;
184
848
  column?: number | undefined;
@@ -188,6 +852,20 @@ export declare const TestRunIngestSchema: z.ZodObject<{
188
852
  suite?: string | undefined;
189
853
  tags?: string[] | undefined;
190
854
  metadata?: Record<string, any> | undefined;
855
+ stdout?: string | undefined;
856
+ stderr?: string | undefined;
857
+ codeSnippet?: {
858
+ startLine: number;
859
+ endLine: number;
860
+ content: string;
861
+ language?: string | undefined;
862
+ } | undefined;
863
+ attachments?: {
864
+ name: string;
865
+ contentType: string;
866
+ storageId?: string | undefined;
867
+ bodyBase64?: string | undefined;
868
+ }[] | undefined;
191
869
  }[];
192
870
  duration?: number | undefined;
193
871
  metadata?: Record<string, any> | undefined;
@@ -196,19 +874,58 @@ export declare const TestRunIngestSchema: z.ZodObject<{
196
874
  environment?: string | undefined;
197
875
  ci?: boolean | undefined;
198
876
  commitSha?: string | undefined;
877
+ triggeredBy?: string | undefined;
878
+ reporterVersion?: string | undefined;
199
879
  suites?: {
880
+ status: "passed" | "failed" | "skipped" | "running";
200
881
  name: string;
201
882
  file: string;
202
- status: "passed" | "failed" | "skipped" | "running";
203
883
  duration: number;
204
884
  totalTests: number;
205
885
  passedTests: number;
206
886
  failedTests: number;
207
887
  skippedTests: number;
208
888
  }[] | undefined;
889
+ coverage?: {
890
+ summary?: {
891
+ lines?: {
892
+ total: number;
893
+ covered: number;
894
+ } | undefined;
895
+ statements?: {
896
+ total: number;
897
+ covered: number;
898
+ } | undefined;
899
+ branches?: {
900
+ total: number;
901
+ covered: number;
902
+ } | undefined;
903
+ functions?: {
904
+ total: number;
905
+ covered: number;
906
+ } | undefined;
907
+ } | undefined;
908
+ files?: Record<string, {
909
+ linesCovered: number;
910
+ linesTotal: number;
911
+ lineDetails?: string | undefined;
912
+ statementDetails?: string | undefined;
913
+ statementsCovered?: number | undefined;
914
+ statementsTotal?: number | undefined;
915
+ branchesCovered?: number | undefined;
916
+ branchesTotal?: number | undefined;
917
+ functionsCovered?: number | undefined;
918
+ functionsTotal?: number | undefined;
919
+ }> | undefined;
920
+ } | undefined;
209
921
  }>;
210
922
  export type TestRunIngest = z.infer<typeof TestRunIngestSchema>;
211
923
  export type TestResult = z.infer<typeof TestResultSchema>;
212
924
  export type TestFramework = z.infer<typeof TestFrameworkSchema>;
213
925
  export type TestType = z.infer<typeof TestTypeSchema>;
214
926
  export type TestStatus = z.infer<typeof TestStatusSchema>;
927
+ export type CodeSnippet = z.infer<typeof CodeSnippetSchema>;
928
+ export type TestAttachmentIngest = z.infer<typeof TestAttachmentIngestSchema>;
929
+ export type CoverageSummary = z.infer<typeof CoverageSummarySchema>;
930
+ export type FileCoverage = z.infer<typeof FileCoverageSchema>;
931
+ export type CoverageIngest = z.infer<typeof CoverageIngestSchema>;
package/dist/types.js CHANGED
@@ -2,6 +2,18 @@ import { z } from "zod";
2
2
  export const TestFrameworkSchema = z.enum(["vitest", "playwright", "jest", "other"]);
3
3
  export const TestTypeSchema = z.enum(["unit", "integration", "e2e", "visual"]);
4
4
  export const TestStatusSchema = z.enum(["passed", "failed", "skipped", "running"]);
5
+ export const CodeSnippetSchema = z.object({
6
+ startLine: z.number(),
7
+ endLine: z.number(),
8
+ content: z.string(),
9
+ language: z.string().optional(),
10
+ });
11
+ export const TestAttachmentIngestSchema = z.object({
12
+ name: z.string(),
13
+ contentType: z.string(),
14
+ storageId: z.string().optional(),
15
+ bodyBase64: z.string().optional(),
16
+ });
5
17
  export const TestResultSchema = z.object({
6
18
  name: z.string(),
7
19
  file: z.string(),
@@ -15,6 +27,32 @@ export const TestResultSchema = z.object({
15
27
  suite: z.string().optional(),
16
28
  tags: z.array(z.string()).optional(),
17
29
  metadata: z.record(z.any()).optional(),
30
+ stdout: z.string().optional(),
31
+ stderr: z.string().optional(),
32
+ codeSnippet: CodeSnippetSchema.optional(),
33
+ attachments: z.array(TestAttachmentIngestSchema).optional(),
34
+ });
35
+ export const CoverageSummarySchema = z.object({
36
+ lines: z.object({ total: z.number(), covered: z.number() }).optional(),
37
+ statements: z.object({ total: z.number(), covered: z.number() }).optional(),
38
+ branches: z.object({ total: z.number(), covered: z.number() }).optional(),
39
+ functions: z.object({ total: z.number(), covered: z.number() }).optional(),
40
+ });
41
+ export const FileCoverageSchema = z.object({
42
+ linesCovered: z.number(),
43
+ linesTotal: z.number(),
44
+ lineDetails: z.string().optional(), // JSON: covered/uncovered line numbers
45
+ statementDetails: z.string().optional(), // JSON: array of statement coverage info
46
+ statementsCovered: z.number().optional(),
47
+ statementsTotal: z.number().optional(),
48
+ branchesCovered: z.number().optional(),
49
+ branchesTotal: z.number().optional(),
50
+ functionsCovered: z.number().optional(),
51
+ functionsTotal: z.number().optional(),
52
+ });
53
+ export const CoverageIngestSchema = z.object({
54
+ summary: CoverageSummarySchema.optional(),
55
+ files: z.record(z.string(), FileCoverageSchema).optional(),
18
56
  });
19
57
  export const TestRunIngestSchema = z.object({
20
58
  projectId: z.string().optional(),
@@ -31,6 +69,8 @@ export const TestRunIngestSchema = z.object({
31
69
  environment: z.string().optional(),
32
70
  ci: z.boolean().optional(),
33
71
  commitSha: z.string().optional(),
72
+ triggeredBy: z.string().optional(),
73
+ reporterVersion: z.string().optional(),
34
74
  tests: z.array(TestResultSchema),
35
75
  suites: z
36
76
  .array(z.object({
@@ -44,5 +84,6 @@ export const TestRunIngestSchema = z.object({
44
84
  skippedTests: z.number(),
45
85
  }))
46
86
  .optional(),
87
+ coverage: CoverageIngestSchema.optional(),
47
88
  metadata: z.record(z.any()).optional(),
48
89
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@justinmiehle/shared",
3
- "version": "0.0.6",
3
+ "version": "0.0.9",
4
4
  "description": "Shared types and schemas for Panoptes test reporters",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/types.ts CHANGED
@@ -4,6 +4,20 @@ export const TestFrameworkSchema = z.enum(["vitest", "playwright", "jest", "othe
4
4
  export const TestTypeSchema = z.enum(["unit", "integration", "e2e", "visual"]);
5
5
  export const TestStatusSchema = z.enum(["passed", "failed", "skipped", "running"]);
6
6
 
7
+ export const CodeSnippetSchema = z.object({
8
+ startLine: z.number(),
9
+ endLine: z.number(),
10
+ content: z.string(),
11
+ language: z.string().optional(),
12
+ });
13
+
14
+ export const TestAttachmentIngestSchema = z.object({
15
+ name: z.string(),
16
+ contentType: z.string(),
17
+ storageId: z.string().optional(),
18
+ bodyBase64: z.string().optional(),
19
+ });
20
+
7
21
  export const TestResultSchema = z.object({
8
22
  name: z.string(),
9
23
  file: z.string(),
@@ -17,6 +31,35 @@ export const TestResultSchema = z.object({
17
31
  suite: z.string().optional(),
18
32
  tags: z.array(z.string()).optional(),
19
33
  metadata: z.record(z.any()).optional(),
34
+ stdout: z.string().optional(),
35
+ stderr: z.string().optional(),
36
+ codeSnippet: CodeSnippetSchema.optional(),
37
+ attachments: z.array(TestAttachmentIngestSchema).optional(),
38
+ });
39
+
40
+ export const CoverageSummarySchema = z.object({
41
+ lines: z.object({ total: z.number(), covered: z.number() }).optional(),
42
+ statements: z.object({ total: z.number(), covered: z.number() }).optional(),
43
+ branches: z.object({ total: z.number(), covered: z.number() }).optional(),
44
+ functions: z.object({ total: z.number(), covered: z.number() }).optional(),
45
+ });
46
+
47
+ export const FileCoverageSchema = z.object({
48
+ linesCovered: z.number(),
49
+ linesTotal: z.number(),
50
+ lineDetails: z.string().optional(), // JSON: covered/uncovered line numbers
51
+ statementDetails: z.string().optional(), // JSON: array of statement coverage info
52
+ statementsCovered: z.number().optional(),
53
+ statementsTotal: z.number().optional(),
54
+ branchesCovered: z.number().optional(),
55
+ branchesTotal: z.number().optional(),
56
+ functionsCovered: z.number().optional(),
57
+ functionsTotal: z.number().optional(),
58
+ });
59
+
60
+ export const CoverageIngestSchema = z.object({
61
+ summary: CoverageSummarySchema.optional(),
62
+ files: z.record(z.string(), FileCoverageSchema).optional(),
20
63
  });
21
64
 
22
65
  export const TestRunIngestSchema = z.object({
@@ -34,6 +77,8 @@ export const TestRunIngestSchema = z.object({
34
77
  environment: z.string().optional(),
35
78
  ci: z.boolean().optional(),
36
79
  commitSha: z.string().optional(),
80
+ triggeredBy: z.string().optional(),
81
+ reporterVersion: z.string().optional(),
37
82
  tests: z.array(TestResultSchema),
38
83
  suites: z
39
84
  .array(
@@ -49,6 +94,7 @@ export const TestRunIngestSchema = z.object({
49
94
  })
50
95
  )
51
96
  .optional(),
97
+ coverage: CoverageIngestSchema.optional(),
52
98
  metadata: z.record(z.any()).optional(),
53
99
  });
54
100
 
@@ -57,3 +103,8 @@ export type TestResult = z.infer<typeof TestResultSchema>;
57
103
  export type TestFramework = z.infer<typeof TestFrameworkSchema>;
58
104
  export type TestType = z.infer<typeof TestTypeSchema>;
59
105
  export type TestStatus = z.infer<typeof TestStatusSchema>;
106
+ export type CodeSnippet = z.infer<typeof CodeSnippetSchema>;
107
+ export type TestAttachmentIngest = z.infer<typeof TestAttachmentIngestSchema>;
108
+ export type CoverageSummary = z.infer<typeof CoverageSummarySchema>;
109
+ export type FileCoverage = z.infer<typeof FileCoverageSchema>;
110
+ export type CoverageIngest = z.infer<typeof CoverageIngestSchema>;