@justinmiehle/shared 0.0.5 → 0.0.7

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