executable-stories-react 0.1.15 → 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.
package/dist/parse.js CHANGED
@@ -5,7 +5,7 @@ var err = (error) => ({ ok: false, error });
5
5
  // src/schema/story-report.schema.ts
6
6
  import { z } from "zod";
7
7
 
8
- // ../executable-stories-formatters/schemas/story-report-v1.json
8
+ // ../executable-stories-core/schemas/story-report-v1.json
9
9
  var story_report_v1_default = {
10
10
  $schema: "https://json-schema.org/draft/2020-12/schema",
11
11
  $id: "https://executable-stories.dev/schemas/story-report-v1.schema.json",
@@ -68,25 +68,61 @@ var story_report_v1_default = {
68
68
  },
69
69
  features: {
70
70
  type: "array",
71
- items: { $ref: "#/$defs/Feature" },
71
+ items: {
72
+ $ref: "#/$defs/Feature"
73
+ },
72
74
  description: "Features grouped by sourceFile, sorted by title."
73
75
  }
74
76
  },
75
- required: ["schemaVersion", "runId", "startedAtMs", "finishedAtMs", "durationMs", "projectRoot", "summary", "features"],
77
+ required: [
78
+ "schemaVersion",
79
+ "runId",
80
+ "startedAtMs",
81
+ "finishedAtMs",
82
+ "durationMs",
83
+ "projectRoot",
84
+ "summary",
85
+ "features"
86
+ ],
76
87
  additionalProperties: false
77
88
  },
78
89
  Summary: {
79
90
  type: "object",
80
91
  description: "Counts by status. Sums equal 'total'.",
81
92
  properties: {
82
- total: { type: "integer", minimum: 0 },
83
- passed: { type: "integer", minimum: 0 },
84
- failed: { type: "integer", minimum: 0 },
85
- skipped: { type: "integer", minimum: 0 },
86
- pending: { type: "integer", minimum: 0 },
87
- durationMs: { type: "number", minimum: 0 }
93
+ total: {
94
+ type: "integer",
95
+ minimum: 0
96
+ },
97
+ passed: {
98
+ type: "integer",
99
+ minimum: 0
100
+ },
101
+ failed: {
102
+ type: "integer",
103
+ minimum: 0
104
+ },
105
+ skipped: {
106
+ type: "integer",
107
+ minimum: 0
108
+ },
109
+ pending: {
110
+ type: "integer",
111
+ minimum: 0
112
+ },
113
+ durationMs: {
114
+ type: "number",
115
+ minimum: 0
116
+ }
88
117
  },
89
- required: ["total", "passed", "failed", "skipped", "pending", "durationMs"],
118
+ required: [
119
+ "total",
120
+ "passed",
121
+ "failed",
122
+ "skipped",
123
+ "pending",
124
+ "durationMs"
125
+ ],
90
126
  additionalProperties: false
91
127
  },
92
128
  Feature: {
@@ -108,14 +144,24 @@ var story_report_v1_default = {
108
144
  minLength: 1,
109
145
  description: "Source path, relative to projectRoot when possible."
110
146
  },
111
- summary: { $ref: "#/$defs/Summary" },
147
+ summary: {
148
+ $ref: "#/$defs/Summary"
149
+ },
112
150
  scenarios: {
113
151
  type: "array",
114
- items: { $ref: "#/$defs/Scenario" },
152
+ items: {
153
+ $ref: "#/$defs/Scenario"
154
+ },
115
155
  description: "Scenarios in this feature, in declaration order."
116
156
  }
117
157
  },
118
- required: ["id", "title", "sourceFile", "summary", "scenarios"],
158
+ required: [
159
+ "id",
160
+ "title",
161
+ "sourceFile",
162
+ "summary",
163
+ "scenarios"
164
+ ],
119
165
  additionalProperties: false
120
166
  },
121
167
  Scenario: {
@@ -127,346 +173,777 @@ var story_report_v1_default = {
127
173
  minLength: 1,
128
174
  description: "Stable identifier: '<feature.id>--<slug-of-title>'. Suitable for use as a deep-link anchor."
129
175
  },
130
- title: { type: "string", minLength: 1 },
131
- status: { $ref: "#/$defs/TestStatus" },
132
- durationMs: { type: "number", minimum: 0 },
176
+ title: {
177
+ type: "string",
178
+ minLength: 1
179
+ },
180
+ status: {
181
+ $ref: "#/$defs/TestStatus"
182
+ },
183
+ durationMs: {
184
+ type: "number",
185
+ minimum: 0
186
+ },
133
187
  tags: {
134
188
  type: "array",
135
- items: { type: "string" },
189
+ items: {
190
+ type: "string"
191
+ },
136
192
  description: "Normalized tags, deduplicated, lowercased."
137
193
  },
138
194
  tickets: {
139
195
  type: "array",
140
- items: { $ref: "#/$defs/Ticket" }
196
+ items: {
197
+ $ref: "#/$defs/Ticket"
198
+ }
141
199
  },
142
200
  covers: {
143
201
  type: "array",
144
- items: { type: "string" },
202
+ items: {
203
+ type: "string"
204
+ },
145
205
  description: "Product-code paths/globs this scenario exercises."
146
206
  },
147
- sourceLine: { type: "integer", minimum: 1 },
148
- errorMessage: { type: "string" },
149
- errorStack: { type: "string" },
150
- retry: { type: "integer", minimum: 0 },
151
- retries: { type: "integer", minimum: 0 },
207
+ sourceLine: {
208
+ type: "integer",
209
+ minimum: 1
210
+ },
211
+ errorMessage: {
212
+ type: "string"
213
+ },
214
+ errorStack: {
215
+ type: "string"
216
+ },
217
+ retry: {
218
+ type: "integer",
219
+ minimum: 0
220
+ },
221
+ retries: {
222
+ type: "integer",
223
+ minimum: 0
224
+ },
152
225
  docEntries: {
153
226
  type: "array",
154
- items: { $ref: "#/$defs/DocEntry" },
227
+ items: {
228
+ $ref: "#/$defs/DocEntry"
229
+ },
155
230
  description: "Story-level doc entries (rendered before steps)."
156
231
  },
157
232
  steps: {
158
233
  type: "array",
159
- items: { $ref: "#/$defs/Step" }
234
+ items: {
235
+ $ref: "#/$defs/Step"
236
+ }
160
237
  },
161
238
  attachments: {
162
239
  type: "array",
163
- items: { $ref: "#/$defs/Attachment" }
240
+ items: {
241
+ $ref: "#/$defs/Attachment"
242
+ }
243
+ },
244
+ otelSpans: {
245
+ type: "array",
246
+ items: {
247
+ $ref: "#/$defs/OtelSpan"
248
+ }
164
249
  }
165
250
  },
166
- required: ["id", "title", "status", "durationMs", "tags", "retry", "retries", "docEntries", "steps", "attachments"],
251
+ required: [
252
+ "id",
253
+ "title",
254
+ "status",
255
+ "durationMs",
256
+ "tags",
257
+ "retry",
258
+ "retries",
259
+ "docEntries",
260
+ "steps",
261
+ "attachments"
262
+ ],
167
263
  additionalProperties: false
168
264
  },
169
265
  Step: {
170
266
  type: "object",
171
267
  description: "A single BDD step.",
172
268
  properties: {
173
- id: { type: "string", minLength: 1 },
174
- index: { type: "integer", minimum: 0 },
175
- keyword: { $ref: "#/$defs/StepKeyword" },
176
- text: { type: "string" },
177
- status: { $ref: "#/$defs/TestStatus" },
178
- durationMs: { type: "number", minimum: 0 },
179
- errorMessage: { type: "string" },
180
- mode: { $ref: "#/$defs/StepMode" },
269
+ id: {
270
+ type: "string",
271
+ minLength: 1
272
+ },
273
+ index: {
274
+ type: "integer",
275
+ minimum: 0
276
+ },
277
+ keyword: {
278
+ $ref: "#/$defs/StepKeyword"
279
+ },
280
+ text: {
281
+ type: "string"
282
+ },
283
+ status: {
284
+ $ref: "#/$defs/TestStatus"
285
+ },
286
+ durationMs: {
287
+ type: "number",
288
+ minimum: 0
289
+ },
290
+ errorMessage: {
291
+ type: "string"
292
+ },
293
+ mode: {
294
+ $ref: "#/$defs/StepMode"
295
+ },
181
296
  docEntries: {
182
297
  type: "array",
183
- items: { $ref: "#/$defs/DocEntry" },
298
+ items: {
299
+ $ref: "#/$defs/DocEntry"
300
+ },
184
301
  description: "Doc entries attached to this step."
185
302
  }
186
303
  },
187
- required: ["id", "index", "keyword", "text", "status", "durationMs", "docEntries"],
304
+ required: [
305
+ "id",
306
+ "index",
307
+ "keyword",
308
+ "text",
309
+ "status",
310
+ "durationMs",
311
+ "docEntries"
312
+ ],
188
313
  additionalProperties: false
189
314
  },
190
315
  StepKeyword: {
191
316
  type: "string",
192
- enum: ["Given", "When", "Then", "And", "But"]
317
+ enum: [
318
+ "Given",
319
+ "When",
320
+ "Then",
321
+ "And",
322
+ "But"
323
+ ]
193
324
  },
194
325
  StepMode: {
195
326
  type: "string",
196
- enum: ["normal", "skip", "only", "todo", "fails", "concurrent"]
327
+ enum: [
328
+ "normal",
329
+ "skip",
330
+ "only",
331
+ "todo",
332
+ "fails",
333
+ "concurrent"
334
+ ]
197
335
  },
198
336
  TestStatus: {
199
337
  type: "string",
200
- enum: ["passed", "failed", "skipped", "pending"]
338
+ enum: [
339
+ "passed",
340
+ "failed",
341
+ "skipped",
342
+ "pending"
343
+ ]
201
344
  },
202
345
  Ticket: {
203
346
  type: "object",
204
347
  properties: {
205
- id: { type: "string", minLength: 1 },
206
- url: { type: "string" }
348
+ id: {
349
+ type: "string",
350
+ minLength: 1
351
+ },
352
+ url: {
353
+ type: "string"
354
+ }
207
355
  },
208
- required: ["id"],
356
+ required: [
357
+ "id"
358
+ ],
209
359
  additionalProperties: false
210
360
  },
211
361
  Attachment: {
212
362
  type: "object",
213
363
  properties: {
214
- name: { type: "string" },
215
- mediaType: { type: "string", minLength: 1 },
216
- body: { type: "string" },
364
+ name: {
365
+ type: "string"
366
+ },
367
+ mediaType: {
368
+ type: "string",
369
+ minLength: 1
370
+ },
371
+ body: {
372
+ type: "string"
373
+ },
217
374
  contentEncoding: {
218
375
  type: "string",
219
- enum: ["BASE64", "IDENTITY"]
376
+ enum: [
377
+ "BASE64",
378
+ "IDENTITY"
379
+ ]
220
380
  }
221
381
  },
222
- required: ["name", "mediaType", "body", "contentEncoding"],
382
+ required: [
383
+ "name",
384
+ "mediaType",
385
+ "body",
386
+ "contentEncoding"
387
+ ],
223
388
  additionalProperties: false
224
389
  },
225
390
  CIInfo: {
226
391
  type: "object",
227
392
  properties: {
228
- name: { type: "string" },
229
- url: { type: "string" },
230
- buildNumber: { type: "string" },
231
- branch: { type: "string" },
232
- commitSha: { type: "string" },
233
- prNumber: { type: "string" }
393
+ name: {
394
+ type: "string"
395
+ },
396
+ url: {
397
+ type: "string"
398
+ },
399
+ buildNumber: {
400
+ type: "string"
401
+ },
402
+ branch: {
403
+ type: "string"
404
+ },
405
+ commitSha: {
406
+ type: "string"
407
+ },
408
+ prNumber: {
409
+ type: "string"
410
+ }
234
411
  },
235
- required: ["name"],
412
+ required: [
413
+ "name"
414
+ ],
236
415
  additionalProperties: false
237
416
  },
238
417
  CoverageSummary: {
239
418
  type: "object",
240
419
  properties: {
241
- linesPct: { type: "number", minimum: 0, maximum: 100 },
242
- branchesPct: { type: "number", minimum: 0, maximum: 100 },
243
- functionsPct: { type: "number", minimum: 0, maximum: 100 },
244
- statementsPct: { type: "number", minimum: 0, maximum: 100 }
420
+ linesPct: {
421
+ type: "number",
422
+ minimum: 0,
423
+ maximum: 100
424
+ },
425
+ branchesPct: {
426
+ type: "number",
427
+ minimum: 0,
428
+ maximum: 100
429
+ },
430
+ functionsPct: {
431
+ type: "number",
432
+ minimum: 0,
433
+ maximum: 100
434
+ },
435
+ statementsPct: {
436
+ type: "number",
437
+ minimum: 0,
438
+ maximum: 100
439
+ }
245
440
  },
246
441
  additionalProperties: false
247
442
  },
248
443
  DocPhase: {
249
444
  type: "string",
250
- enum: ["static", "runtime"]
445
+ enum: [
446
+ "static",
447
+ "runtime"
448
+ ]
251
449
  },
252
450
  DocEntry: {
253
451
  oneOf: [
254
- { $ref: "#/$defs/DocNote" },
255
- { $ref: "#/$defs/DocTag" },
256
- { $ref: "#/$defs/DocKv" },
257
- { $ref: "#/$defs/DocCode" },
258
- { $ref: "#/$defs/DocTable" },
259
- { $ref: "#/$defs/DocLink" },
260
- { $ref: "#/$defs/DocSection" },
261
- { $ref: "#/$defs/DocMermaid" },
262
- { $ref: "#/$defs/DocScreenshot" },
263
- { $ref: "#/$defs/DocVideo" },
264
- { $ref: "#/$defs/DocHtml" },
265
- { $ref: "#/$defs/DocCustom" }
452
+ {
453
+ $ref: "#/$defs/DocNote"
454
+ },
455
+ {
456
+ $ref: "#/$defs/DocTag"
457
+ },
458
+ {
459
+ $ref: "#/$defs/DocKv"
460
+ },
461
+ {
462
+ $ref: "#/$defs/DocCode"
463
+ },
464
+ {
465
+ $ref: "#/$defs/DocTable"
466
+ },
467
+ {
468
+ $ref: "#/$defs/DocLink"
469
+ },
470
+ {
471
+ $ref: "#/$defs/DocSection"
472
+ },
473
+ {
474
+ $ref: "#/$defs/DocMermaid"
475
+ },
476
+ {
477
+ $ref: "#/$defs/DocScreenshot"
478
+ },
479
+ {
480
+ $ref: "#/$defs/DocVideo"
481
+ },
482
+ {
483
+ $ref: "#/$defs/DocHtml"
484
+ },
485
+ {
486
+ $ref: "#/$defs/DocCustom"
487
+ }
266
488
  ]
267
489
  },
268
490
  DocNote: {
269
491
  type: "object",
270
492
  properties: {
271
- kind: { const: "note" },
272
- text: { type: "string" },
273
- phase: { $ref: "#/$defs/DocPhase" },
493
+ kind: {
494
+ const: "note"
495
+ },
496
+ text: {
497
+ type: "string"
498
+ },
499
+ phase: {
500
+ $ref: "#/$defs/DocPhase"
501
+ },
274
502
  children: {
275
503
  type: "array",
276
- items: { $ref: "#/$defs/DocEntry" }
504
+ items: {
505
+ $ref: "#/$defs/DocEntry"
506
+ }
277
507
  }
278
508
  },
279
- required: ["kind", "text", "phase"],
509
+ required: [
510
+ "kind",
511
+ "text",
512
+ "phase"
513
+ ],
280
514
  additionalProperties: false
281
515
  },
282
516
  DocTag: {
283
517
  type: "object",
284
518
  properties: {
285
- kind: { const: "tag" },
286
- names: { type: "array", items: { type: "string" } },
287
- phase: { $ref: "#/$defs/DocPhase" },
519
+ kind: {
520
+ const: "tag"
521
+ },
522
+ names: {
523
+ type: "array",
524
+ items: {
525
+ type: "string"
526
+ }
527
+ },
528
+ phase: {
529
+ $ref: "#/$defs/DocPhase"
530
+ },
288
531
  children: {
289
532
  type: "array",
290
- items: { $ref: "#/$defs/DocEntry" }
533
+ items: {
534
+ $ref: "#/$defs/DocEntry"
535
+ }
291
536
  }
292
537
  },
293
- required: ["kind", "names", "phase"],
538
+ required: [
539
+ "kind",
540
+ "names",
541
+ "phase"
542
+ ],
294
543
  additionalProperties: false
295
544
  },
296
545
  DocKv: {
297
546
  type: "object",
298
547
  properties: {
299
- kind: { const: "kv" },
300
- label: { type: "string" },
548
+ kind: {
549
+ const: "kv"
550
+ },
551
+ label: {
552
+ type: "string"
553
+ },
301
554
  value: {},
302
- phase: { $ref: "#/$defs/DocPhase" },
555
+ phase: {
556
+ $ref: "#/$defs/DocPhase"
557
+ },
303
558
  children: {
304
559
  type: "array",
305
- items: { $ref: "#/$defs/DocEntry" }
560
+ items: {
561
+ $ref: "#/$defs/DocEntry"
562
+ }
306
563
  }
307
564
  },
308
- required: ["kind", "label", "value", "phase"],
565
+ required: [
566
+ "kind",
567
+ "label",
568
+ "value",
569
+ "phase"
570
+ ],
309
571
  additionalProperties: false
310
572
  },
311
573
  DocCode: {
312
574
  type: "object",
313
575
  properties: {
314
- kind: { const: "code" },
315
- label: { type: "string" },
316
- content: { type: "string" },
317
- lang: { type: "string" },
318
- phase: { $ref: "#/$defs/DocPhase" },
576
+ kind: {
577
+ const: "code"
578
+ },
579
+ label: {
580
+ type: "string"
581
+ },
582
+ content: {
583
+ type: "string"
584
+ },
585
+ lang: {
586
+ type: "string"
587
+ },
588
+ phase: {
589
+ $ref: "#/$defs/DocPhase"
590
+ },
319
591
  children: {
320
592
  type: "array",
321
- items: { $ref: "#/$defs/DocEntry" }
593
+ items: {
594
+ $ref: "#/$defs/DocEntry"
595
+ }
322
596
  }
323
597
  },
324
- required: ["kind", "label", "content", "phase"],
598
+ required: [
599
+ "kind",
600
+ "label",
601
+ "content",
602
+ "phase"
603
+ ],
325
604
  additionalProperties: false
326
605
  },
327
606
  DocTable: {
328
607
  type: "object",
329
608
  properties: {
330
- kind: { const: "table" },
331
- label: { type: "string" },
332
- columns: { type: "array", items: { type: "string" } },
609
+ kind: {
610
+ const: "table"
611
+ },
612
+ label: {
613
+ type: "string"
614
+ },
615
+ columns: {
616
+ type: "array",
617
+ items: {
618
+ type: "string"
619
+ }
620
+ },
333
621
  rows: {
334
622
  type: "array",
335
623
  items: {
336
624
  type: "array",
337
- items: { type: "string" }
625
+ items: {
626
+ type: "string"
627
+ }
338
628
  }
339
629
  },
340
- phase: { $ref: "#/$defs/DocPhase" },
630
+ phase: {
631
+ $ref: "#/$defs/DocPhase"
632
+ },
341
633
  children: {
342
634
  type: "array",
343
- items: { $ref: "#/$defs/DocEntry" }
635
+ items: {
636
+ $ref: "#/$defs/DocEntry"
637
+ }
344
638
  }
345
639
  },
346
- required: ["kind", "label", "columns", "rows", "phase"],
640
+ required: [
641
+ "kind",
642
+ "label",
643
+ "columns",
644
+ "rows",
645
+ "phase"
646
+ ],
347
647
  additionalProperties: false
348
648
  },
349
649
  DocLink: {
350
650
  type: "object",
351
651
  properties: {
352
- kind: { const: "link" },
353
- label: { type: "string" },
354
- url: { type: "string" },
355
- phase: { $ref: "#/$defs/DocPhase" },
652
+ kind: {
653
+ const: "link"
654
+ },
655
+ label: {
656
+ type: "string"
657
+ },
658
+ url: {
659
+ type: "string"
660
+ },
661
+ phase: {
662
+ $ref: "#/$defs/DocPhase"
663
+ },
356
664
  children: {
357
665
  type: "array",
358
- items: { $ref: "#/$defs/DocEntry" }
666
+ items: {
667
+ $ref: "#/$defs/DocEntry"
668
+ }
359
669
  }
360
670
  },
361
- required: ["kind", "label", "url", "phase"],
671
+ required: [
672
+ "kind",
673
+ "label",
674
+ "url",
675
+ "phase"
676
+ ],
362
677
  additionalProperties: false
363
678
  },
364
679
  DocSection: {
365
680
  type: "object",
366
681
  properties: {
367
- kind: { const: "section" },
368
- title: { type: "string" },
369
- markdown: { type: "string" },
370
- phase: { $ref: "#/$defs/DocPhase" },
682
+ kind: {
683
+ const: "section"
684
+ },
685
+ title: {
686
+ type: "string"
687
+ },
688
+ markdown: {
689
+ type: "string"
690
+ },
691
+ phase: {
692
+ $ref: "#/$defs/DocPhase"
693
+ },
371
694
  children: {
372
695
  type: "array",
373
- items: { $ref: "#/$defs/DocEntry" }
696
+ items: {
697
+ $ref: "#/$defs/DocEntry"
698
+ }
374
699
  }
375
700
  },
376
- required: ["kind", "title", "markdown", "phase"],
701
+ required: [
702
+ "kind",
703
+ "title",
704
+ "markdown",
705
+ "phase"
706
+ ],
377
707
  additionalProperties: false
378
708
  },
379
709
  DocMermaid: {
380
710
  type: "object",
381
711
  properties: {
382
- kind: { const: "mermaid" },
383
- code: { type: "string" },
384
- title: { type: "string" },
385
- phase: { $ref: "#/$defs/DocPhase" },
712
+ kind: {
713
+ const: "mermaid"
714
+ },
715
+ code: {
716
+ type: "string"
717
+ },
718
+ title: {
719
+ type: "string"
720
+ },
721
+ phase: {
722
+ $ref: "#/$defs/DocPhase"
723
+ },
386
724
  children: {
387
725
  type: "array",
388
- items: { $ref: "#/$defs/DocEntry" }
726
+ items: {
727
+ $ref: "#/$defs/DocEntry"
728
+ }
389
729
  }
390
730
  },
391
- required: ["kind", "code", "phase"],
731
+ required: [
732
+ "kind",
733
+ "code",
734
+ "phase"
735
+ ],
392
736
  additionalProperties: false
393
737
  },
394
738
  DocScreenshot: {
395
739
  type: "object",
396
740
  properties: {
397
- kind: { const: "screenshot" },
398
- path: { type: "string" },
399
- alt: { type: "string" },
400
- phase: { $ref: "#/$defs/DocPhase" },
741
+ kind: {
742
+ const: "screenshot"
743
+ },
744
+ path: {
745
+ type: "string"
746
+ },
747
+ alt: {
748
+ type: "string"
749
+ },
750
+ phase: {
751
+ $ref: "#/$defs/DocPhase"
752
+ },
401
753
  children: {
402
754
  type: "array",
403
- items: { $ref: "#/$defs/DocEntry" }
755
+ items: {
756
+ $ref: "#/$defs/DocEntry"
757
+ }
404
758
  }
405
759
  },
406
- required: ["kind", "path", "phase"],
760
+ required: [
761
+ "kind",
762
+ "path",
763
+ "phase"
764
+ ],
407
765
  additionalProperties: false
408
766
  },
409
767
  DocVideo: {
410
768
  type: "object",
411
769
  properties: {
412
- kind: { const: "video" },
413
- path: { type: "string" },
414
- caption: { type: "string" },
415
- poster: { type: "string" },
416
- phase: { $ref: "#/$defs/DocPhase" },
770
+ kind: {
771
+ const: "video"
772
+ },
773
+ path: {
774
+ type: "string"
775
+ },
776
+ caption: {
777
+ type: "string"
778
+ },
779
+ poster: {
780
+ type: "string"
781
+ },
782
+ phase: {
783
+ $ref: "#/$defs/DocPhase"
784
+ },
417
785
  children: {
418
786
  type: "array",
419
- items: { $ref: "#/$defs/DocEntry" }
787
+ items: {
788
+ $ref: "#/$defs/DocEntry"
789
+ }
420
790
  }
421
791
  },
422
- required: ["kind", "path", "phase"],
792
+ required: [
793
+ "kind",
794
+ "path",
795
+ "phase"
796
+ ],
423
797
  additionalProperties: false
424
798
  },
425
799
  DocHtml: {
426
800
  type: "object",
427
801
  properties: {
428
- kind: { const: "html" },
429
- path: { type: "string" },
430
- url: { type: "string" },
431
- content: { type: "string" },
432
- title: { type: "string" },
433
- height: { oneOf: [{ type: "number" }, { type: "string" }] },
434
- phase: { $ref: "#/$defs/DocPhase" },
802
+ kind: {
803
+ const: "html"
804
+ },
805
+ path: {
806
+ type: "string"
807
+ },
808
+ url: {
809
+ type: "string"
810
+ },
811
+ content: {
812
+ type: "string"
813
+ },
814
+ title: {
815
+ type: "string"
816
+ },
817
+ height: {
818
+ oneOf: [
819
+ {
820
+ type: "number"
821
+ },
822
+ {
823
+ type: "string"
824
+ }
825
+ ]
826
+ },
827
+ phase: {
828
+ $ref: "#/$defs/DocPhase"
829
+ },
435
830
  children: {
436
831
  type: "array",
437
- items: { $ref: "#/$defs/DocEntry" }
832
+ items: {
833
+ $ref: "#/$defs/DocEntry"
834
+ }
438
835
  }
439
836
  },
440
- required: ["kind", "phase"],
441
- oneOf: [
442
- { required: ["path"] },
443
- { required: ["url"] },
444
- { required: ["content"] }
837
+ required: [
838
+ "kind",
839
+ "phase"
445
840
  ],
446
- additionalProperties: false
841
+ additionalProperties: false,
842
+ oneOf: [
843
+ {
844
+ required: [
845
+ "path"
846
+ ]
847
+ },
848
+ {
849
+ required: [
850
+ "url"
851
+ ]
852
+ },
853
+ {
854
+ required: [
855
+ "content"
856
+ ]
857
+ }
858
+ ]
447
859
  },
448
860
  DocCustom: {
449
861
  type: "object",
450
862
  properties: {
451
- kind: { const: "custom" },
452
- type: { type: "string", minLength: 1 },
863
+ kind: {
864
+ const: "custom"
865
+ },
866
+ type: {
867
+ type: "string",
868
+ minLength: 1
869
+ },
453
870
  data: {},
454
- phase: { $ref: "#/$defs/DocPhase" },
871
+ phase: {
872
+ $ref: "#/$defs/DocPhase"
873
+ },
455
874
  children: {
456
875
  type: "array",
457
- items: { $ref: "#/$defs/DocEntry" }
876
+ items: {
877
+ $ref: "#/$defs/DocEntry"
878
+ }
879
+ }
880
+ },
881
+ required: [
882
+ "kind",
883
+ "type",
884
+ "data",
885
+ "phase"
886
+ ],
887
+ additionalProperties: false
888
+ },
889
+ OtelSpan: {
890
+ type: "object",
891
+ required: [
892
+ "spanId",
893
+ "name",
894
+ "status"
895
+ ],
896
+ properties: {
897
+ spanId: {
898
+ type: "string"
899
+ },
900
+ parentSpanId: {
901
+ type: "string"
902
+ },
903
+ name: {
904
+ type: "string"
905
+ },
906
+ startTimeMs: {
907
+ type: "number"
908
+ },
909
+ durationMs: {
910
+ type: "number"
911
+ },
912
+ startTimeUnixNano: {
913
+ type: "number"
914
+ },
915
+ endTimeUnixNano: {
916
+ type: "number"
917
+ },
918
+ status: {
919
+ enum: [
920
+ "ok",
921
+ "error",
922
+ "unset"
923
+ ]
924
+ },
925
+ statusMessage: {
926
+ type: "string"
927
+ },
928
+ attributes: {
929
+ type: "object"
458
930
  }
459
931
  },
460
- required: ["kind", "type", "data", "phase"],
461
932
  additionalProperties: false
462
933
  }
463
934
  }
464
935
  };
465
936
 
937
+ // src/schema/version.ts
938
+ var STORY_REPORT_SCHEMA_MAJOR = 1;
939
+
466
940
  // src/schema/story-report.schema.ts
467
- var compiled = z.fromJSONSchema(story_report_v1_default);
941
+ var schemaForZod = structuredClone(story_report_v1_default);
942
+ if (schemaForZod.$defs?.DocHtml) {
943
+ delete schemaForZod.$defs.DocHtml.oneOf;
944
+ }
945
+ var compiled = z.fromJSONSchema(schemaForZod);
468
946
  var storyReportSchema = compiled;
469
- var STORY_REPORT_SCHEMA_MAJOR = 1;
470
947
 
471
948
  // src/schema/parse.ts
472
949
  function parseStoryReport(input) {