@mmnto/totem 1.101.2 → 1.103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/artifacts/grounding.test.js +2 -2
  2. package/dist/artifacts/grounding.test.js.map +1 -1
  3. package/dist/artifacts/panel.d.ts +1798 -16
  4. package/dist/artifacts/panel.d.ts.map +1 -1
  5. package/dist/artifacts/schema.d.ts +3125 -69
  6. package/dist/artifacts/schema.d.ts.map +1 -1
  7. package/dist/artifacts/schema.js +244 -2
  8. package/dist/artifacts/schema.js.map +1 -1
  9. package/dist/artifacts/schema.test.js +235 -3
  10. package/dist/artifacts/schema.test.js.map +1 -1
  11. package/dist/artifacts/storage.d.ts +21 -1
  12. package/dist/artifacts/storage.d.ts.map +1 -1
  13. package/dist/artifacts/storage.js +55 -1
  14. package/dist/artifacts/storage.js.map +1 -1
  15. package/dist/artifacts/storage.test.js +96 -2
  16. package/dist/artifacts/storage.test.js.map +1 -1
  17. package/dist/artifacts/verdict.d.ts +95 -22
  18. package/dist/artifacts/verdict.d.ts.map +1 -1
  19. package/dist/artifacts/verdict.js +62 -3
  20. package/dist/artifacts/verdict.js.map +1 -1
  21. package/dist/artifacts/verdict.test.js +197 -1
  22. package/dist/artifacts/verdict.test.js.map +1 -1
  23. package/dist/artifacts.d.ts +1 -1
  24. package/dist/artifacts.d.ts.map +1 -1
  25. package/dist/artifacts.js +1 -1
  26. package/dist/artifacts.js.map +1 -1
  27. package/dist/autoclose/index.d.ts +12 -0
  28. package/dist/autoclose/index.d.ts.map +1 -0
  29. package/dist/autoclose/index.js +9 -0
  30. package/dist/autoclose/index.js.map +1 -0
  31. package/dist/autoclose/matcher.d.ts +115 -0
  32. package/dist/autoclose/matcher.d.ts.map +1 -0
  33. package/dist/autoclose/matcher.js +164 -0
  34. package/dist/autoclose/matcher.js.map +1 -0
  35. package/dist/autoclose/matcher.test.d.ts +2 -0
  36. package/dist/autoclose/matcher.test.d.ts.map +1 -0
  37. package/dist/autoclose/matcher.test.js +133 -0
  38. package/dist/autoclose/matcher.test.js.map +1 -0
  39. package/dist/autoclose/merge-config.d.ts +73 -0
  40. package/dist/autoclose/merge-config.d.ts.map +1 -0
  41. package/dist/autoclose/merge-config.js +81 -0
  42. package/dist/autoclose/merge-config.js.map +1 -0
  43. package/dist/autoclose/merge-config.test.d.ts +2 -0
  44. package/dist/autoclose/merge-config.test.d.ts.map +1 -0
  45. package/dist/autoclose/merge-config.test.js +108 -0
  46. package/dist/autoclose/merge-config.test.js.map +1 -0
  47. package/dist/autoclose/receipt.d.ts +160 -0
  48. package/dist/autoclose/receipt.d.ts.map +1 -0
  49. package/dist/autoclose/receipt.js +296 -0
  50. package/dist/autoclose/receipt.js.map +1 -0
  51. package/dist/autoclose/receipt.test.d.ts +2 -0
  52. package/dist/autoclose/receipt.test.d.ts.map +1 -0
  53. package/dist/autoclose/receipt.test.js +248 -0
  54. package/dist/autoclose/receipt.test.js.map +1 -0
  55. package/dist/config-schema.d.ts +12 -12
  56. package/dist/index.d.ts +7 -5
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +4 -3
  59. package/dist/index.js.map +1 -1
  60. package/dist/spine/ledgers.d.ts +12 -12
  61. package/package.json +1 -1
@@ -24,12 +24,30 @@
24
24
  import { z } from 'zod';
25
25
  /**
26
26
  * The schemaVersion WRITTEN by this code. Readers accept any 1.x (F1).
27
- * 1.1.0 (mmnto-ai/totem#2101): `grounding` gained the optional per-item
27
+ * 1.2.0 (mmnto-ai/totem#2452): `output` gained optional execution-attempt
28
+ * evidence for fallback/configured-shell provenance. 1.1.0
29
+ * (mmnto-ai/totem#2101): `grounding` gained the optional per-item
28
30
  * `bundle`, and `grounding.hash` semantics changed from hash-of-raw-context
29
31
  * to hash-of-bundle — the minor is the observable marker for that meaning
30
32
  * change; the registry stays empty because the tolerant reader parses both.
31
33
  */
32
- export declare const RUN_ARTIFACT_SCHEMA_VERSION = "1.1.0";
34
+ export declare const RUN_ARTIFACT_SCHEMA_VERSION = "1.2.0";
35
+ /**
36
+ * Schema version for the distinct terminal-invocation failure ledger. The
37
+ * exact 1.0.0 literal is deliberate fail-closed behavior: before accepting a
38
+ * future version, add an explicit versioned union and migration path rather
39
+ * than widening this schema in place.
40
+ */
41
+ export declare const INVOCATION_FAILURE_ARTIFACT_SCHEMA_VERSION = "1.0.0";
42
+ /** Persisted evidence bounds (mmnto-ai/totem#2452 slice B). */
43
+ export declare const MAX_INVOKE_ATTEMPTS = 8;
44
+ export declare const INVOKE_STREAM_EVIDENCE_LIMIT_BYTES: number;
45
+ export declare const INVOKE_MESSAGE_EVIDENCE_LIMIT_BYTES: number;
46
+ /** Stable machine-readable failure taxonomy shared by CLI producers and artifact readers. */
47
+ export declare const INVOKE_FAILURE_KINDS: readonly ["auth", "quota", "model", "process-spawn", "process-exit", "timeout", "unknown"];
48
+ /** Persisted provider codes are bounded identifiers, never arbitrary provider prose. */
49
+ export declare const SAFE_PROVIDER_CODE_RE: RegExp;
50
+ export declare const InvokeFailureKindSchema: z.ZodEnum<["auth", "quota", "model", "process-spawn", "process-exit", "timeout", "unknown"]>;
33
51
  /** The major this reader understands; other majors need a migration entry. */
34
52
  export declare const RUN_ARTIFACT_KNOWN_MAJOR = 1;
35
53
  /**
@@ -272,20 +290,1203 @@ export declare const BackendSchema: z.ZodObject<{
272
290
  taskProfile: z.ZodString;
273
291
  temperature: z.ZodOptional<z.ZodNumber>;
274
292
  }, "strip", z.ZodTypeAny, {
275
- provider: string;
276
293
  model: string;
294
+ provider: string;
277
295
  qualifiedModel: string;
278
296
  admissionClass: "completion_only" | "self_grounding_agent";
279
297
  taskProfile: string;
280
298
  temperature?: number | undefined;
281
299
  }, {
282
- provider: string;
283
300
  model: string;
301
+ provider: string;
284
302
  qualifiedModel: string;
285
303
  admissionClass: "completion_only" | "self_grounding_agent";
286
304
  taskProfile: string;
287
305
  temperature?: number | undefined;
288
306
  }>;
307
+ /**
308
+ * A byte-bounded, post-DLP text fragment safe to persist. `head` and optional
309
+ * `tail` preserve both structured envelopes and terminal diagnostics without
310
+ * retaining an unbounded provider response.
311
+ */
312
+ export declare const BoundedTextEvidenceSchema: z.ZodEffects<z.ZodObject<{
313
+ encoding: z.ZodLiteral<"utf-8">;
314
+ head: z.ZodString;
315
+ tail: z.ZodOptional<z.ZodString>;
316
+ observedBytes: z.ZodNumber;
317
+ retainedBytes: z.ZodNumber;
318
+ limitBytes: z.ZodNumber;
319
+ truncated: z.ZodBoolean;
320
+ dlp: z.ZodEnum<["masked", "omitted-on-mask-failure"]>;
321
+ }, "strip", z.ZodTypeAny, {
322
+ encoding: "utf-8";
323
+ head: string;
324
+ observedBytes: number;
325
+ retainedBytes: number;
326
+ limitBytes: number;
327
+ truncated: boolean;
328
+ dlp: "masked" | "omitted-on-mask-failure";
329
+ tail?: string | undefined;
330
+ }, {
331
+ encoding: "utf-8";
332
+ head: string;
333
+ observedBytes: number;
334
+ retainedBytes: number;
335
+ limitBytes: number;
336
+ truncated: boolean;
337
+ dlp: "masked" | "omitted-on-mask-failure";
338
+ tail?: string | undefined;
339
+ }>, {
340
+ encoding: "utf-8";
341
+ head: string;
342
+ observedBytes: number;
343
+ retainedBytes: number;
344
+ limitBytes: number;
345
+ truncated: boolean;
346
+ dlp: "masked" | "omitted-on-mask-failure";
347
+ tail?: string | undefined;
348
+ }, {
349
+ encoding: "utf-8";
350
+ head: string;
351
+ observedBytes: number;
352
+ retainedBytes: number;
353
+ limitBytes: number;
354
+ truncated: boolean;
355
+ dlp: "masked" | "omitted-on-mask-failure";
356
+ tail?: string | undefined;
357
+ }>;
358
+ /** Process-level facts captured by configured-shell and CLI-fallback routes. */
359
+ export declare const InvokeProcessEvidenceSchema: z.ZodEffects<z.ZodObject<{
360
+ exitCode: z.ZodNullable<z.ZodNumber>;
361
+ signal: z.ZodNullable<z.ZodString>;
362
+ timedOut: z.ZodBoolean;
363
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
364
+ stdout: z.ZodOptional<z.ZodEffects<z.ZodObject<{
365
+ encoding: z.ZodLiteral<"utf-8">;
366
+ head: z.ZodString;
367
+ tail: z.ZodOptional<z.ZodString>;
368
+ observedBytes: z.ZodNumber;
369
+ retainedBytes: z.ZodNumber;
370
+ limitBytes: z.ZodNumber;
371
+ truncated: z.ZodBoolean;
372
+ dlp: z.ZodEnum<["masked", "omitted-on-mask-failure"]>;
373
+ }, "strip", z.ZodTypeAny, {
374
+ encoding: "utf-8";
375
+ head: string;
376
+ observedBytes: number;
377
+ retainedBytes: number;
378
+ limitBytes: number;
379
+ truncated: boolean;
380
+ dlp: "masked" | "omitted-on-mask-failure";
381
+ tail?: string | undefined;
382
+ }, {
383
+ encoding: "utf-8";
384
+ head: string;
385
+ observedBytes: number;
386
+ retainedBytes: number;
387
+ limitBytes: number;
388
+ truncated: boolean;
389
+ dlp: "masked" | "omitted-on-mask-failure";
390
+ tail?: string | undefined;
391
+ }>, {
392
+ encoding: "utf-8";
393
+ head: string;
394
+ observedBytes: number;
395
+ retainedBytes: number;
396
+ limitBytes: number;
397
+ truncated: boolean;
398
+ dlp: "masked" | "omitted-on-mask-failure";
399
+ tail?: string | undefined;
400
+ }, {
401
+ encoding: "utf-8";
402
+ head: string;
403
+ observedBytes: number;
404
+ retainedBytes: number;
405
+ limitBytes: number;
406
+ truncated: boolean;
407
+ dlp: "masked" | "omitted-on-mask-failure";
408
+ tail?: string | undefined;
409
+ }>>;
410
+ stderr: z.ZodOptional<z.ZodEffects<z.ZodObject<{
411
+ encoding: z.ZodLiteral<"utf-8">;
412
+ head: z.ZodString;
413
+ tail: z.ZodOptional<z.ZodString>;
414
+ observedBytes: z.ZodNumber;
415
+ retainedBytes: z.ZodNumber;
416
+ limitBytes: z.ZodNumber;
417
+ truncated: z.ZodBoolean;
418
+ dlp: z.ZodEnum<["masked", "omitted-on-mask-failure"]>;
419
+ }, "strip", z.ZodTypeAny, {
420
+ encoding: "utf-8";
421
+ head: string;
422
+ observedBytes: number;
423
+ retainedBytes: number;
424
+ limitBytes: number;
425
+ truncated: boolean;
426
+ dlp: "masked" | "omitted-on-mask-failure";
427
+ tail?: string | undefined;
428
+ }, {
429
+ encoding: "utf-8";
430
+ head: string;
431
+ observedBytes: number;
432
+ retainedBytes: number;
433
+ limitBytes: number;
434
+ truncated: boolean;
435
+ dlp: "masked" | "omitted-on-mask-failure";
436
+ tail?: string | undefined;
437
+ }>, {
438
+ encoding: "utf-8";
439
+ head: string;
440
+ observedBytes: number;
441
+ retainedBytes: number;
442
+ limitBytes: number;
443
+ truncated: boolean;
444
+ dlp: "masked" | "omitted-on-mask-failure";
445
+ tail?: string | undefined;
446
+ }, {
447
+ encoding: "utf-8";
448
+ head: string;
449
+ observedBytes: number;
450
+ retainedBytes: number;
451
+ limitBytes: number;
452
+ truncated: boolean;
453
+ dlp: "masked" | "omitted-on-mask-failure";
454
+ tail?: string | undefined;
455
+ }>>;
456
+ }, "strip", z.ZodTypeAny, {
457
+ exitCode: number | null;
458
+ signal: string | null;
459
+ timedOut: boolean;
460
+ stdout?: {
461
+ encoding: "utf-8";
462
+ head: string;
463
+ observedBytes: number;
464
+ retainedBytes: number;
465
+ limitBytes: number;
466
+ truncated: boolean;
467
+ dlp: "masked" | "omitted-on-mask-failure";
468
+ tail?: string | undefined;
469
+ } | undefined;
470
+ timeoutMs?: number | undefined;
471
+ stderr?: {
472
+ encoding: "utf-8";
473
+ head: string;
474
+ observedBytes: number;
475
+ retainedBytes: number;
476
+ limitBytes: number;
477
+ truncated: boolean;
478
+ dlp: "masked" | "omitted-on-mask-failure";
479
+ tail?: string | undefined;
480
+ } | undefined;
481
+ }, {
482
+ exitCode: number | null;
483
+ signal: string | null;
484
+ timedOut: boolean;
485
+ stdout?: {
486
+ encoding: "utf-8";
487
+ head: string;
488
+ observedBytes: number;
489
+ retainedBytes: number;
490
+ limitBytes: number;
491
+ truncated: boolean;
492
+ dlp: "masked" | "omitted-on-mask-failure";
493
+ tail?: string | undefined;
494
+ } | undefined;
495
+ timeoutMs?: number | undefined;
496
+ stderr?: {
497
+ encoding: "utf-8";
498
+ head: string;
499
+ observedBytes: number;
500
+ retainedBytes: number;
501
+ limitBytes: number;
502
+ truncated: boolean;
503
+ dlp: "masked" | "omitted-on-mask-failure";
504
+ tail?: string | undefined;
505
+ } | undefined;
506
+ }>, {
507
+ exitCode: number | null;
508
+ signal: string | null;
509
+ timedOut: boolean;
510
+ stdout?: {
511
+ encoding: "utf-8";
512
+ head: string;
513
+ observedBytes: number;
514
+ retainedBytes: number;
515
+ limitBytes: number;
516
+ truncated: boolean;
517
+ dlp: "masked" | "omitted-on-mask-failure";
518
+ tail?: string | undefined;
519
+ } | undefined;
520
+ timeoutMs?: number | undefined;
521
+ stderr?: {
522
+ encoding: "utf-8";
523
+ head: string;
524
+ observedBytes: number;
525
+ retainedBytes: number;
526
+ limitBytes: number;
527
+ truncated: boolean;
528
+ dlp: "masked" | "omitted-on-mask-failure";
529
+ tail?: string | undefined;
530
+ } | undefined;
531
+ }, {
532
+ exitCode: number | null;
533
+ signal: string | null;
534
+ timedOut: boolean;
535
+ stdout?: {
536
+ encoding: "utf-8";
537
+ head: string;
538
+ observedBytes: number;
539
+ retainedBytes: number;
540
+ limitBytes: number;
541
+ truncated: boolean;
542
+ dlp: "masked" | "omitted-on-mask-failure";
543
+ tail?: string | undefined;
544
+ } | undefined;
545
+ timeoutMs?: number | undefined;
546
+ stderr?: {
547
+ encoding: "utf-8";
548
+ head: string;
549
+ observedBytes: number;
550
+ retainedBytes: number;
551
+ limitBytes: number;
552
+ truncated: boolean;
553
+ dlp: "masked" | "omitted-on-mask-failure";
554
+ tail?: string | undefined;
555
+ } | undefined;
556
+ }>;
557
+ /** One ordered invocation leg, retained after DLP and byte bounding. */
558
+ export declare const InvokeAttemptEvidenceSchema: z.ZodEffects<z.ZodObject<{
559
+ sequence: z.ZodNumber;
560
+ route: z.ZodEnum<["sdk", "cli-fallback", "configured-shell", "quota-model-fallback"]>;
561
+ provider: z.ZodString;
562
+ model: z.ZodString;
563
+ status: z.ZodEnum<["succeeded", "failed"]>;
564
+ durationMs: z.ZodNumber;
565
+ failureKind: z.ZodOptional<z.ZodEnum<["auth", "quota", "model", "process-spawn", "process-exit", "timeout", "unknown"]>>;
566
+ providerStatus: z.ZodOptional<z.ZodNumber>;
567
+ providerCode: z.ZodOptional<z.ZodString>;
568
+ process: z.ZodOptional<z.ZodEffects<z.ZodObject<{
569
+ exitCode: z.ZodNullable<z.ZodNumber>;
570
+ signal: z.ZodNullable<z.ZodString>;
571
+ timedOut: z.ZodBoolean;
572
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
573
+ stdout: z.ZodOptional<z.ZodEffects<z.ZodObject<{
574
+ encoding: z.ZodLiteral<"utf-8">;
575
+ head: z.ZodString;
576
+ tail: z.ZodOptional<z.ZodString>;
577
+ observedBytes: z.ZodNumber;
578
+ retainedBytes: z.ZodNumber;
579
+ limitBytes: z.ZodNumber;
580
+ truncated: z.ZodBoolean;
581
+ dlp: z.ZodEnum<["masked", "omitted-on-mask-failure"]>;
582
+ }, "strip", z.ZodTypeAny, {
583
+ encoding: "utf-8";
584
+ head: string;
585
+ observedBytes: number;
586
+ retainedBytes: number;
587
+ limitBytes: number;
588
+ truncated: boolean;
589
+ dlp: "masked" | "omitted-on-mask-failure";
590
+ tail?: string | undefined;
591
+ }, {
592
+ encoding: "utf-8";
593
+ head: string;
594
+ observedBytes: number;
595
+ retainedBytes: number;
596
+ limitBytes: number;
597
+ truncated: boolean;
598
+ dlp: "masked" | "omitted-on-mask-failure";
599
+ tail?: string | undefined;
600
+ }>, {
601
+ encoding: "utf-8";
602
+ head: string;
603
+ observedBytes: number;
604
+ retainedBytes: number;
605
+ limitBytes: number;
606
+ truncated: boolean;
607
+ dlp: "masked" | "omitted-on-mask-failure";
608
+ tail?: string | undefined;
609
+ }, {
610
+ encoding: "utf-8";
611
+ head: string;
612
+ observedBytes: number;
613
+ retainedBytes: number;
614
+ limitBytes: number;
615
+ truncated: boolean;
616
+ dlp: "masked" | "omitted-on-mask-failure";
617
+ tail?: string | undefined;
618
+ }>>;
619
+ stderr: z.ZodOptional<z.ZodEffects<z.ZodObject<{
620
+ encoding: z.ZodLiteral<"utf-8">;
621
+ head: z.ZodString;
622
+ tail: z.ZodOptional<z.ZodString>;
623
+ observedBytes: z.ZodNumber;
624
+ retainedBytes: z.ZodNumber;
625
+ limitBytes: z.ZodNumber;
626
+ truncated: z.ZodBoolean;
627
+ dlp: z.ZodEnum<["masked", "omitted-on-mask-failure"]>;
628
+ }, "strip", z.ZodTypeAny, {
629
+ encoding: "utf-8";
630
+ head: string;
631
+ observedBytes: number;
632
+ retainedBytes: number;
633
+ limitBytes: number;
634
+ truncated: boolean;
635
+ dlp: "masked" | "omitted-on-mask-failure";
636
+ tail?: string | undefined;
637
+ }, {
638
+ encoding: "utf-8";
639
+ head: string;
640
+ observedBytes: number;
641
+ retainedBytes: number;
642
+ limitBytes: number;
643
+ truncated: boolean;
644
+ dlp: "masked" | "omitted-on-mask-failure";
645
+ tail?: string | undefined;
646
+ }>, {
647
+ encoding: "utf-8";
648
+ head: string;
649
+ observedBytes: number;
650
+ retainedBytes: number;
651
+ limitBytes: number;
652
+ truncated: boolean;
653
+ dlp: "masked" | "omitted-on-mask-failure";
654
+ tail?: string | undefined;
655
+ }, {
656
+ encoding: "utf-8";
657
+ head: string;
658
+ observedBytes: number;
659
+ retainedBytes: number;
660
+ limitBytes: number;
661
+ truncated: boolean;
662
+ dlp: "masked" | "omitted-on-mask-failure";
663
+ tail?: string | undefined;
664
+ }>>;
665
+ }, "strip", z.ZodTypeAny, {
666
+ exitCode: number | null;
667
+ signal: string | null;
668
+ timedOut: boolean;
669
+ stdout?: {
670
+ encoding: "utf-8";
671
+ head: string;
672
+ observedBytes: number;
673
+ retainedBytes: number;
674
+ limitBytes: number;
675
+ truncated: boolean;
676
+ dlp: "masked" | "omitted-on-mask-failure";
677
+ tail?: string | undefined;
678
+ } | undefined;
679
+ timeoutMs?: number | undefined;
680
+ stderr?: {
681
+ encoding: "utf-8";
682
+ head: string;
683
+ observedBytes: number;
684
+ retainedBytes: number;
685
+ limitBytes: number;
686
+ truncated: boolean;
687
+ dlp: "masked" | "omitted-on-mask-failure";
688
+ tail?: string | undefined;
689
+ } | undefined;
690
+ }, {
691
+ exitCode: number | null;
692
+ signal: string | null;
693
+ timedOut: boolean;
694
+ stdout?: {
695
+ encoding: "utf-8";
696
+ head: string;
697
+ observedBytes: number;
698
+ retainedBytes: number;
699
+ limitBytes: number;
700
+ truncated: boolean;
701
+ dlp: "masked" | "omitted-on-mask-failure";
702
+ tail?: string | undefined;
703
+ } | undefined;
704
+ timeoutMs?: number | undefined;
705
+ stderr?: {
706
+ encoding: "utf-8";
707
+ head: string;
708
+ observedBytes: number;
709
+ retainedBytes: number;
710
+ limitBytes: number;
711
+ truncated: boolean;
712
+ dlp: "masked" | "omitted-on-mask-failure";
713
+ tail?: string | undefined;
714
+ } | undefined;
715
+ }>, {
716
+ exitCode: number | null;
717
+ signal: string | null;
718
+ timedOut: boolean;
719
+ stdout?: {
720
+ encoding: "utf-8";
721
+ head: string;
722
+ observedBytes: number;
723
+ retainedBytes: number;
724
+ limitBytes: number;
725
+ truncated: boolean;
726
+ dlp: "masked" | "omitted-on-mask-failure";
727
+ tail?: string | undefined;
728
+ } | undefined;
729
+ timeoutMs?: number | undefined;
730
+ stderr?: {
731
+ encoding: "utf-8";
732
+ head: string;
733
+ observedBytes: number;
734
+ retainedBytes: number;
735
+ limitBytes: number;
736
+ truncated: boolean;
737
+ dlp: "masked" | "omitted-on-mask-failure";
738
+ tail?: string | undefined;
739
+ } | undefined;
740
+ }, {
741
+ exitCode: number | null;
742
+ signal: string | null;
743
+ timedOut: boolean;
744
+ stdout?: {
745
+ encoding: "utf-8";
746
+ head: string;
747
+ observedBytes: number;
748
+ retainedBytes: number;
749
+ limitBytes: number;
750
+ truncated: boolean;
751
+ dlp: "masked" | "omitted-on-mask-failure";
752
+ tail?: string | undefined;
753
+ } | undefined;
754
+ timeoutMs?: number | undefined;
755
+ stderr?: {
756
+ encoding: "utf-8";
757
+ head: string;
758
+ observedBytes: number;
759
+ retainedBytes: number;
760
+ limitBytes: number;
761
+ truncated: boolean;
762
+ dlp: "masked" | "omitted-on-mask-failure";
763
+ tail?: string | undefined;
764
+ } | undefined;
765
+ }>>;
766
+ }, "strip", z.ZodTypeAny, {
767
+ status: "succeeded" | "failed";
768
+ model: string;
769
+ provider: string;
770
+ sequence: number;
771
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
772
+ durationMs: number;
773
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
774
+ providerStatus?: number | undefined;
775
+ providerCode?: string | undefined;
776
+ process?: {
777
+ exitCode: number | null;
778
+ signal: string | null;
779
+ timedOut: boolean;
780
+ stdout?: {
781
+ encoding: "utf-8";
782
+ head: string;
783
+ observedBytes: number;
784
+ retainedBytes: number;
785
+ limitBytes: number;
786
+ truncated: boolean;
787
+ dlp: "masked" | "omitted-on-mask-failure";
788
+ tail?: string | undefined;
789
+ } | undefined;
790
+ timeoutMs?: number | undefined;
791
+ stderr?: {
792
+ encoding: "utf-8";
793
+ head: string;
794
+ observedBytes: number;
795
+ retainedBytes: number;
796
+ limitBytes: number;
797
+ truncated: boolean;
798
+ dlp: "masked" | "omitted-on-mask-failure";
799
+ tail?: string | undefined;
800
+ } | undefined;
801
+ } | undefined;
802
+ }, {
803
+ status: "succeeded" | "failed";
804
+ model: string;
805
+ provider: string;
806
+ sequence: number;
807
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
808
+ durationMs: number;
809
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
810
+ providerStatus?: number | undefined;
811
+ providerCode?: string | undefined;
812
+ process?: {
813
+ exitCode: number | null;
814
+ signal: string | null;
815
+ timedOut: boolean;
816
+ stdout?: {
817
+ encoding: "utf-8";
818
+ head: string;
819
+ observedBytes: number;
820
+ retainedBytes: number;
821
+ limitBytes: number;
822
+ truncated: boolean;
823
+ dlp: "masked" | "omitted-on-mask-failure";
824
+ tail?: string | undefined;
825
+ } | undefined;
826
+ timeoutMs?: number | undefined;
827
+ stderr?: {
828
+ encoding: "utf-8";
829
+ head: string;
830
+ observedBytes: number;
831
+ retainedBytes: number;
832
+ limitBytes: number;
833
+ truncated: boolean;
834
+ dlp: "masked" | "omitted-on-mask-failure";
835
+ tail?: string | undefined;
836
+ } | undefined;
837
+ } | undefined;
838
+ }>, {
839
+ status: "succeeded" | "failed";
840
+ model: string;
841
+ provider: string;
842
+ sequence: number;
843
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
844
+ durationMs: number;
845
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
846
+ providerStatus?: number | undefined;
847
+ providerCode?: string | undefined;
848
+ process?: {
849
+ exitCode: number | null;
850
+ signal: string | null;
851
+ timedOut: boolean;
852
+ stdout?: {
853
+ encoding: "utf-8";
854
+ head: string;
855
+ observedBytes: number;
856
+ retainedBytes: number;
857
+ limitBytes: number;
858
+ truncated: boolean;
859
+ dlp: "masked" | "omitted-on-mask-failure";
860
+ tail?: string | undefined;
861
+ } | undefined;
862
+ timeoutMs?: number | undefined;
863
+ stderr?: {
864
+ encoding: "utf-8";
865
+ head: string;
866
+ observedBytes: number;
867
+ retainedBytes: number;
868
+ limitBytes: number;
869
+ truncated: boolean;
870
+ dlp: "masked" | "omitted-on-mask-failure";
871
+ tail?: string | undefined;
872
+ } | undefined;
873
+ } | undefined;
874
+ }, {
875
+ status: "succeeded" | "failed";
876
+ model: string;
877
+ provider: string;
878
+ sequence: number;
879
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
880
+ durationMs: number;
881
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
882
+ providerStatus?: number | undefined;
883
+ providerCode?: string | undefined;
884
+ process?: {
885
+ exitCode: number | null;
886
+ signal: string | null;
887
+ timedOut: boolean;
888
+ stdout?: {
889
+ encoding: "utf-8";
890
+ head: string;
891
+ observedBytes: number;
892
+ retainedBytes: number;
893
+ limitBytes: number;
894
+ truncated: boolean;
895
+ dlp: "masked" | "omitted-on-mask-failure";
896
+ tail?: string | undefined;
897
+ } | undefined;
898
+ timeoutMs?: number | undefined;
899
+ stderr?: {
900
+ encoding: "utf-8";
901
+ head: string;
902
+ observedBytes: number;
903
+ retainedBytes: number;
904
+ limitBytes: number;
905
+ truncated: boolean;
906
+ dlp: "masked" | "omitted-on-mask-failure";
907
+ tail?: string | undefined;
908
+ } | undefined;
909
+ } | undefined;
910
+ }>;
911
+ export declare const RunExecutionEvidenceSchema: z.ZodEffects<z.ZodObject<{
912
+ attempts: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodObject<{
913
+ sequence: z.ZodNumber;
914
+ route: z.ZodEnum<["sdk", "cli-fallback", "configured-shell", "quota-model-fallback"]>;
915
+ provider: z.ZodString;
916
+ model: z.ZodString;
917
+ status: z.ZodEnum<["succeeded", "failed"]>;
918
+ durationMs: z.ZodNumber;
919
+ failureKind: z.ZodOptional<z.ZodEnum<["auth", "quota", "model", "process-spawn", "process-exit", "timeout", "unknown"]>>;
920
+ providerStatus: z.ZodOptional<z.ZodNumber>;
921
+ providerCode: z.ZodOptional<z.ZodString>;
922
+ process: z.ZodOptional<z.ZodEffects<z.ZodObject<{
923
+ exitCode: z.ZodNullable<z.ZodNumber>;
924
+ signal: z.ZodNullable<z.ZodString>;
925
+ timedOut: z.ZodBoolean;
926
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
927
+ stdout: z.ZodOptional<z.ZodEffects<z.ZodObject<{
928
+ encoding: z.ZodLiteral<"utf-8">;
929
+ head: z.ZodString;
930
+ tail: z.ZodOptional<z.ZodString>;
931
+ observedBytes: z.ZodNumber;
932
+ retainedBytes: z.ZodNumber;
933
+ limitBytes: z.ZodNumber;
934
+ truncated: z.ZodBoolean;
935
+ dlp: z.ZodEnum<["masked", "omitted-on-mask-failure"]>;
936
+ }, "strip", z.ZodTypeAny, {
937
+ encoding: "utf-8";
938
+ head: string;
939
+ observedBytes: number;
940
+ retainedBytes: number;
941
+ limitBytes: number;
942
+ truncated: boolean;
943
+ dlp: "masked" | "omitted-on-mask-failure";
944
+ tail?: string | undefined;
945
+ }, {
946
+ encoding: "utf-8";
947
+ head: string;
948
+ observedBytes: number;
949
+ retainedBytes: number;
950
+ limitBytes: number;
951
+ truncated: boolean;
952
+ dlp: "masked" | "omitted-on-mask-failure";
953
+ tail?: string | undefined;
954
+ }>, {
955
+ encoding: "utf-8";
956
+ head: string;
957
+ observedBytes: number;
958
+ retainedBytes: number;
959
+ limitBytes: number;
960
+ truncated: boolean;
961
+ dlp: "masked" | "omitted-on-mask-failure";
962
+ tail?: string | undefined;
963
+ }, {
964
+ encoding: "utf-8";
965
+ head: string;
966
+ observedBytes: number;
967
+ retainedBytes: number;
968
+ limitBytes: number;
969
+ truncated: boolean;
970
+ dlp: "masked" | "omitted-on-mask-failure";
971
+ tail?: string | undefined;
972
+ }>>;
973
+ stderr: z.ZodOptional<z.ZodEffects<z.ZodObject<{
974
+ encoding: z.ZodLiteral<"utf-8">;
975
+ head: z.ZodString;
976
+ tail: z.ZodOptional<z.ZodString>;
977
+ observedBytes: z.ZodNumber;
978
+ retainedBytes: z.ZodNumber;
979
+ limitBytes: z.ZodNumber;
980
+ truncated: z.ZodBoolean;
981
+ dlp: z.ZodEnum<["masked", "omitted-on-mask-failure"]>;
982
+ }, "strip", z.ZodTypeAny, {
983
+ encoding: "utf-8";
984
+ head: string;
985
+ observedBytes: number;
986
+ retainedBytes: number;
987
+ limitBytes: number;
988
+ truncated: boolean;
989
+ dlp: "masked" | "omitted-on-mask-failure";
990
+ tail?: string | undefined;
991
+ }, {
992
+ encoding: "utf-8";
993
+ head: string;
994
+ observedBytes: number;
995
+ retainedBytes: number;
996
+ limitBytes: number;
997
+ truncated: boolean;
998
+ dlp: "masked" | "omitted-on-mask-failure";
999
+ tail?: string | undefined;
1000
+ }>, {
1001
+ encoding: "utf-8";
1002
+ head: string;
1003
+ observedBytes: number;
1004
+ retainedBytes: number;
1005
+ limitBytes: number;
1006
+ truncated: boolean;
1007
+ dlp: "masked" | "omitted-on-mask-failure";
1008
+ tail?: string | undefined;
1009
+ }, {
1010
+ encoding: "utf-8";
1011
+ head: string;
1012
+ observedBytes: number;
1013
+ retainedBytes: number;
1014
+ limitBytes: number;
1015
+ truncated: boolean;
1016
+ dlp: "masked" | "omitted-on-mask-failure";
1017
+ tail?: string | undefined;
1018
+ }>>;
1019
+ }, "strip", z.ZodTypeAny, {
1020
+ exitCode: number | null;
1021
+ signal: string | null;
1022
+ timedOut: boolean;
1023
+ stdout?: {
1024
+ encoding: "utf-8";
1025
+ head: string;
1026
+ observedBytes: number;
1027
+ retainedBytes: number;
1028
+ limitBytes: number;
1029
+ truncated: boolean;
1030
+ dlp: "masked" | "omitted-on-mask-failure";
1031
+ tail?: string | undefined;
1032
+ } | undefined;
1033
+ timeoutMs?: number | undefined;
1034
+ stderr?: {
1035
+ encoding: "utf-8";
1036
+ head: string;
1037
+ observedBytes: number;
1038
+ retainedBytes: number;
1039
+ limitBytes: number;
1040
+ truncated: boolean;
1041
+ dlp: "masked" | "omitted-on-mask-failure";
1042
+ tail?: string | undefined;
1043
+ } | undefined;
1044
+ }, {
1045
+ exitCode: number | null;
1046
+ signal: string | null;
1047
+ timedOut: boolean;
1048
+ stdout?: {
1049
+ encoding: "utf-8";
1050
+ head: string;
1051
+ observedBytes: number;
1052
+ retainedBytes: number;
1053
+ limitBytes: number;
1054
+ truncated: boolean;
1055
+ dlp: "masked" | "omitted-on-mask-failure";
1056
+ tail?: string | undefined;
1057
+ } | undefined;
1058
+ timeoutMs?: number | undefined;
1059
+ stderr?: {
1060
+ encoding: "utf-8";
1061
+ head: string;
1062
+ observedBytes: number;
1063
+ retainedBytes: number;
1064
+ limitBytes: number;
1065
+ truncated: boolean;
1066
+ dlp: "masked" | "omitted-on-mask-failure";
1067
+ tail?: string | undefined;
1068
+ } | undefined;
1069
+ }>, {
1070
+ exitCode: number | null;
1071
+ signal: string | null;
1072
+ timedOut: boolean;
1073
+ stdout?: {
1074
+ encoding: "utf-8";
1075
+ head: string;
1076
+ observedBytes: number;
1077
+ retainedBytes: number;
1078
+ limitBytes: number;
1079
+ truncated: boolean;
1080
+ dlp: "masked" | "omitted-on-mask-failure";
1081
+ tail?: string | undefined;
1082
+ } | undefined;
1083
+ timeoutMs?: number | undefined;
1084
+ stderr?: {
1085
+ encoding: "utf-8";
1086
+ head: string;
1087
+ observedBytes: number;
1088
+ retainedBytes: number;
1089
+ limitBytes: number;
1090
+ truncated: boolean;
1091
+ dlp: "masked" | "omitted-on-mask-failure";
1092
+ tail?: string | undefined;
1093
+ } | undefined;
1094
+ }, {
1095
+ exitCode: number | null;
1096
+ signal: string | null;
1097
+ timedOut: boolean;
1098
+ stdout?: {
1099
+ encoding: "utf-8";
1100
+ head: string;
1101
+ observedBytes: number;
1102
+ retainedBytes: number;
1103
+ limitBytes: number;
1104
+ truncated: boolean;
1105
+ dlp: "masked" | "omitted-on-mask-failure";
1106
+ tail?: string | undefined;
1107
+ } | undefined;
1108
+ timeoutMs?: number | undefined;
1109
+ stderr?: {
1110
+ encoding: "utf-8";
1111
+ head: string;
1112
+ observedBytes: number;
1113
+ retainedBytes: number;
1114
+ limitBytes: number;
1115
+ truncated: boolean;
1116
+ dlp: "masked" | "omitted-on-mask-failure";
1117
+ tail?: string | undefined;
1118
+ } | undefined;
1119
+ }>>;
1120
+ }, "strip", z.ZodTypeAny, {
1121
+ status: "succeeded" | "failed";
1122
+ model: string;
1123
+ provider: string;
1124
+ sequence: number;
1125
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
1126
+ durationMs: number;
1127
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
1128
+ providerStatus?: number | undefined;
1129
+ providerCode?: string | undefined;
1130
+ process?: {
1131
+ exitCode: number | null;
1132
+ signal: string | null;
1133
+ timedOut: boolean;
1134
+ stdout?: {
1135
+ encoding: "utf-8";
1136
+ head: string;
1137
+ observedBytes: number;
1138
+ retainedBytes: number;
1139
+ limitBytes: number;
1140
+ truncated: boolean;
1141
+ dlp: "masked" | "omitted-on-mask-failure";
1142
+ tail?: string | undefined;
1143
+ } | undefined;
1144
+ timeoutMs?: number | undefined;
1145
+ stderr?: {
1146
+ encoding: "utf-8";
1147
+ head: string;
1148
+ observedBytes: number;
1149
+ retainedBytes: number;
1150
+ limitBytes: number;
1151
+ truncated: boolean;
1152
+ dlp: "masked" | "omitted-on-mask-failure";
1153
+ tail?: string | undefined;
1154
+ } | undefined;
1155
+ } | undefined;
1156
+ }, {
1157
+ status: "succeeded" | "failed";
1158
+ model: string;
1159
+ provider: string;
1160
+ sequence: number;
1161
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
1162
+ durationMs: number;
1163
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
1164
+ providerStatus?: number | undefined;
1165
+ providerCode?: string | undefined;
1166
+ process?: {
1167
+ exitCode: number | null;
1168
+ signal: string | null;
1169
+ timedOut: boolean;
1170
+ stdout?: {
1171
+ encoding: "utf-8";
1172
+ head: string;
1173
+ observedBytes: number;
1174
+ retainedBytes: number;
1175
+ limitBytes: number;
1176
+ truncated: boolean;
1177
+ dlp: "masked" | "omitted-on-mask-failure";
1178
+ tail?: string | undefined;
1179
+ } | undefined;
1180
+ timeoutMs?: number | undefined;
1181
+ stderr?: {
1182
+ encoding: "utf-8";
1183
+ head: string;
1184
+ observedBytes: number;
1185
+ retainedBytes: number;
1186
+ limitBytes: number;
1187
+ truncated: boolean;
1188
+ dlp: "masked" | "omitted-on-mask-failure";
1189
+ tail?: string | undefined;
1190
+ } | undefined;
1191
+ } | undefined;
1192
+ }>, {
1193
+ status: "succeeded" | "failed";
1194
+ model: string;
1195
+ provider: string;
1196
+ sequence: number;
1197
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
1198
+ durationMs: number;
1199
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
1200
+ providerStatus?: number | undefined;
1201
+ providerCode?: string | undefined;
1202
+ process?: {
1203
+ exitCode: number | null;
1204
+ signal: string | null;
1205
+ timedOut: boolean;
1206
+ stdout?: {
1207
+ encoding: "utf-8";
1208
+ head: string;
1209
+ observedBytes: number;
1210
+ retainedBytes: number;
1211
+ limitBytes: number;
1212
+ truncated: boolean;
1213
+ dlp: "masked" | "omitted-on-mask-failure";
1214
+ tail?: string | undefined;
1215
+ } | undefined;
1216
+ timeoutMs?: number | undefined;
1217
+ stderr?: {
1218
+ encoding: "utf-8";
1219
+ head: string;
1220
+ observedBytes: number;
1221
+ retainedBytes: number;
1222
+ limitBytes: number;
1223
+ truncated: boolean;
1224
+ dlp: "masked" | "omitted-on-mask-failure";
1225
+ tail?: string | undefined;
1226
+ } | undefined;
1227
+ } | undefined;
1228
+ }, {
1229
+ status: "succeeded" | "failed";
1230
+ model: string;
1231
+ provider: string;
1232
+ sequence: number;
1233
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
1234
+ durationMs: number;
1235
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
1236
+ providerStatus?: number | undefined;
1237
+ providerCode?: string | undefined;
1238
+ process?: {
1239
+ exitCode: number | null;
1240
+ signal: string | null;
1241
+ timedOut: boolean;
1242
+ stdout?: {
1243
+ encoding: "utf-8";
1244
+ head: string;
1245
+ observedBytes: number;
1246
+ retainedBytes: number;
1247
+ limitBytes: number;
1248
+ truncated: boolean;
1249
+ dlp: "masked" | "omitted-on-mask-failure";
1250
+ tail?: string | undefined;
1251
+ } | undefined;
1252
+ timeoutMs?: number | undefined;
1253
+ stderr?: {
1254
+ encoding: "utf-8";
1255
+ head: string;
1256
+ observedBytes: number;
1257
+ retainedBytes: number;
1258
+ limitBytes: number;
1259
+ truncated: boolean;
1260
+ dlp: "masked" | "omitted-on-mask-failure";
1261
+ tail?: string | undefined;
1262
+ } | undefined;
1263
+ } | undefined;
1264
+ }>, "many">, {
1265
+ status: "succeeded" | "failed";
1266
+ model: string;
1267
+ provider: string;
1268
+ sequence: number;
1269
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
1270
+ durationMs: number;
1271
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
1272
+ providerStatus?: number | undefined;
1273
+ providerCode?: string | undefined;
1274
+ process?: {
1275
+ exitCode: number | null;
1276
+ signal: string | null;
1277
+ timedOut: boolean;
1278
+ stdout?: {
1279
+ encoding: "utf-8";
1280
+ head: string;
1281
+ observedBytes: number;
1282
+ retainedBytes: number;
1283
+ limitBytes: number;
1284
+ truncated: boolean;
1285
+ dlp: "masked" | "omitted-on-mask-failure";
1286
+ tail?: string | undefined;
1287
+ } | undefined;
1288
+ timeoutMs?: number | undefined;
1289
+ stderr?: {
1290
+ encoding: "utf-8";
1291
+ head: string;
1292
+ observedBytes: number;
1293
+ retainedBytes: number;
1294
+ limitBytes: number;
1295
+ truncated: boolean;
1296
+ dlp: "masked" | "omitted-on-mask-failure";
1297
+ tail?: string | undefined;
1298
+ } | undefined;
1299
+ } | undefined;
1300
+ }[], {
1301
+ status: "succeeded" | "failed";
1302
+ model: string;
1303
+ provider: string;
1304
+ sequence: number;
1305
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
1306
+ durationMs: number;
1307
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
1308
+ providerStatus?: number | undefined;
1309
+ providerCode?: string | undefined;
1310
+ process?: {
1311
+ exitCode: number | null;
1312
+ signal: string | null;
1313
+ timedOut: boolean;
1314
+ stdout?: {
1315
+ encoding: "utf-8";
1316
+ head: string;
1317
+ observedBytes: number;
1318
+ retainedBytes: number;
1319
+ limitBytes: number;
1320
+ truncated: boolean;
1321
+ dlp: "masked" | "omitted-on-mask-failure";
1322
+ tail?: string | undefined;
1323
+ } | undefined;
1324
+ timeoutMs?: number | undefined;
1325
+ stderr?: {
1326
+ encoding: "utf-8";
1327
+ head: string;
1328
+ observedBytes: number;
1329
+ retainedBytes: number;
1330
+ limitBytes: number;
1331
+ truncated: boolean;
1332
+ dlp: "masked" | "omitted-on-mask-failure";
1333
+ tail?: string | undefined;
1334
+ } | undefined;
1335
+ } | undefined;
1336
+ }[]>;
1337
+ }, "strip", z.ZodTypeAny, {
1338
+ attempts: {
1339
+ status: "succeeded" | "failed";
1340
+ model: string;
1341
+ provider: string;
1342
+ sequence: number;
1343
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
1344
+ durationMs: number;
1345
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
1346
+ providerStatus?: number | undefined;
1347
+ providerCode?: string | undefined;
1348
+ process?: {
1349
+ exitCode: number | null;
1350
+ signal: string | null;
1351
+ timedOut: boolean;
1352
+ stdout?: {
1353
+ encoding: "utf-8";
1354
+ head: string;
1355
+ observedBytes: number;
1356
+ retainedBytes: number;
1357
+ limitBytes: number;
1358
+ truncated: boolean;
1359
+ dlp: "masked" | "omitted-on-mask-failure";
1360
+ tail?: string | undefined;
1361
+ } | undefined;
1362
+ timeoutMs?: number | undefined;
1363
+ stderr?: {
1364
+ encoding: "utf-8";
1365
+ head: string;
1366
+ observedBytes: number;
1367
+ retainedBytes: number;
1368
+ limitBytes: number;
1369
+ truncated: boolean;
1370
+ dlp: "masked" | "omitted-on-mask-failure";
1371
+ tail?: string | undefined;
1372
+ } | undefined;
1373
+ } | undefined;
1374
+ }[];
1375
+ }, {
1376
+ attempts: {
1377
+ status: "succeeded" | "failed";
1378
+ model: string;
1379
+ provider: string;
1380
+ sequence: number;
1381
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
1382
+ durationMs: number;
1383
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
1384
+ providerStatus?: number | undefined;
1385
+ providerCode?: string | undefined;
1386
+ process?: {
1387
+ exitCode: number | null;
1388
+ signal: string | null;
1389
+ timedOut: boolean;
1390
+ stdout?: {
1391
+ encoding: "utf-8";
1392
+ head: string;
1393
+ observedBytes: number;
1394
+ retainedBytes: number;
1395
+ limitBytes: number;
1396
+ truncated: boolean;
1397
+ dlp: "masked" | "omitted-on-mask-failure";
1398
+ tail?: string | undefined;
1399
+ } | undefined;
1400
+ timeoutMs?: number | undefined;
1401
+ stderr?: {
1402
+ encoding: "utf-8";
1403
+ head: string;
1404
+ observedBytes: number;
1405
+ retainedBytes: number;
1406
+ limitBytes: number;
1407
+ truncated: boolean;
1408
+ dlp: "masked" | "omitted-on-mask-failure";
1409
+ tail?: string | undefined;
1410
+ } | undefined;
1411
+ } | undefined;
1412
+ }[];
1413
+ }>, {
1414
+ attempts: {
1415
+ status: "succeeded" | "failed";
1416
+ model: string;
1417
+ provider: string;
1418
+ sequence: number;
1419
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
1420
+ durationMs: number;
1421
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
1422
+ providerStatus?: number | undefined;
1423
+ providerCode?: string | undefined;
1424
+ process?: {
1425
+ exitCode: number | null;
1426
+ signal: string | null;
1427
+ timedOut: boolean;
1428
+ stdout?: {
1429
+ encoding: "utf-8";
1430
+ head: string;
1431
+ observedBytes: number;
1432
+ retainedBytes: number;
1433
+ limitBytes: number;
1434
+ truncated: boolean;
1435
+ dlp: "masked" | "omitted-on-mask-failure";
1436
+ tail?: string | undefined;
1437
+ } | undefined;
1438
+ timeoutMs?: number | undefined;
1439
+ stderr?: {
1440
+ encoding: "utf-8";
1441
+ head: string;
1442
+ observedBytes: number;
1443
+ retainedBytes: number;
1444
+ limitBytes: number;
1445
+ truncated: boolean;
1446
+ dlp: "masked" | "omitted-on-mask-failure";
1447
+ tail?: string | undefined;
1448
+ } | undefined;
1449
+ } | undefined;
1450
+ }[];
1451
+ }, {
1452
+ attempts: {
1453
+ status: "succeeded" | "failed";
1454
+ model: string;
1455
+ provider: string;
1456
+ sequence: number;
1457
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
1458
+ durationMs: number;
1459
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
1460
+ providerStatus?: number | undefined;
1461
+ providerCode?: string | undefined;
1462
+ process?: {
1463
+ exitCode: number | null;
1464
+ signal: string | null;
1465
+ timedOut: boolean;
1466
+ stdout?: {
1467
+ encoding: "utf-8";
1468
+ head: string;
1469
+ observedBytes: number;
1470
+ retainedBytes: number;
1471
+ limitBytes: number;
1472
+ truncated: boolean;
1473
+ dlp: "masked" | "omitted-on-mask-failure";
1474
+ tail?: string | undefined;
1475
+ } | undefined;
1476
+ timeoutMs?: number | undefined;
1477
+ stderr?: {
1478
+ encoding: "utf-8";
1479
+ head: string;
1480
+ observedBytes: number;
1481
+ retainedBytes: number;
1482
+ limitBytes: number;
1483
+ truncated: boolean;
1484
+ dlp: "masked" | "omitted-on-mask-failure";
1485
+ tail?: string | undefined;
1486
+ } | undefined;
1487
+ } | undefined;
1488
+ }[];
1489
+ }>;
289
1490
  /**
290
1491
  * Caller-declared output contract (mmnto-ai/totem#2102): the citations-or-
291
1492
  * `VERIFY:` declaration. Callers write; #2103 post-checks read; providers
@@ -371,8 +1572,12 @@ export declare const RunMetricsSchema: z.ZodObject<{
371
1572
  cacheReadInputTokens?: number | null | undefined;
372
1573
  finishReason?: string | undefined;
373
1574
  }>;
374
- export declare const RunArtifactSchema: z.ZodObject<{
375
- schemaVersion: z.ZodEffects<z.ZodString, string, string>;
1575
+ /**
1576
+ * Terminal invocation evidence is deliberately NOT a RunArtifact: it has no
1577
+ * successful semantic output and lives under `artifacts/runs/failures/`.
1578
+ */
1579
+ export declare const InvocationFailureArtifactSchema: z.ZodEffects<z.ZodObject<{
1580
+ schemaVersion: z.ZodLiteral<"1.0.0">;
376
1581
  inputBundle: z.ZodObject<{
377
1582
  maskedPrompt: z.ZodString;
378
1583
  maskedSystemPrompt: z.ZodOptional<z.ZodString>;
@@ -391,7 +1596,6 @@ export declare const RunArtifactSchema: z.ZodObject<{
391
1596
  diffScope?: string | undefined;
392
1597
  specContract?: string | undefined;
393
1598
  }>;
394
- /** Deterministic hash of `inputBundle` alone — the rerun identity. */
395
1599
  inputHash: z.ZodString;
396
1600
  grounding: z.ZodObject<{
397
1601
  /**
@@ -472,7 +1676,7 @@ export declare const RunArtifactSchema: z.ZodObject<{
472
1676
  }[];
473
1677
  } | undefined;
474
1678
  }>;
475
- backend: z.ZodObject<{
1679
+ requestedBackend: z.ZodObject<{
476
1680
  provider: z.ZodString;
477
1681
  model: z.ZodString;
478
1682
  /** The full provider-qualified string telemetry/cache key on (`provider:model`). */
@@ -482,61 +1686,539 @@ export declare const RunArtifactSchema: z.ZodObject<{
482
1686
  taskProfile: z.ZodString;
483
1687
  temperature: z.ZodOptional<z.ZodNumber>;
484
1688
  }, "strip", z.ZodTypeAny, {
485
- provider: string;
486
1689
  model: string;
1690
+ provider: string;
487
1691
  qualifiedModel: string;
488
1692
  admissionClass: "completion_only" | "self_grounding_agent";
489
1693
  taskProfile: string;
490
1694
  temperature?: number | undefined;
491
1695
  }, {
492
- provider: string;
493
1696
  model: string;
1697
+ provider: string;
494
1698
  qualifiedModel: string;
495
1699
  admissionClass: "completion_only" | "self_grounding_agent";
496
1700
  taskProfile: string;
497
1701
  temperature?: number | undefined;
498
1702
  }>;
499
- output: z.ZodObject<{
500
- content: z.ZodString;
501
- metrics: z.ZodObject<{
502
- inputTokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
503
- outputTokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
504
- cacheReadInputTokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
505
- durationMs: z.ZodNumber;
506
- finishReason: z.ZodOptional<z.ZodString>;
1703
+ attempts: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodObject<{
1704
+ sequence: z.ZodNumber;
1705
+ route: z.ZodEnum<["sdk", "cli-fallback", "configured-shell", "quota-model-fallback"]>;
1706
+ provider: z.ZodString;
1707
+ model: z.ZodString;
1708
+ status: z.ZodEnum<["succeeded", "failed"]>;
1709
+ durationMs: z.ZodNumber;
1710
+ failureKind: z.ZodOptional<z.ZodEnum<["auth", "quota", "model", "process-spawn", "process-exit", "timeout", "unknown"]>>;
1711
+ providerStatus: z.ZodOptional<z.ZodNumber>;
1712
+ providerCode: z.ZodOptional<z.ZodString>;
1713
+ process: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1714
+ exitCode: z.ZodNullable<z.ZodNumber>;
1715
+ signal: z.ZodNullable<z.ZodString>;
1716
+ timedOut: z.ZodBoolean;
1717
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
1718
+ stdout: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1719
+ encoding: z.ZodLiteral<"utf-8">;
1720
+ head: z.ZodString;
1721
+ tail: z.ZodOptional<z.ZodString>;
1722
+ observedBytes: z.ZodNumber;
1723
+ retainedBytes: z.ZodNumber;
1724
+ limitBytes: z.ZodNumber;
1725
+ truncated: z.ZodBoolean;
1726
+ dlp: z.ZodEnum<["masked", "omitted-on-mask-failure"]>;
1727
+ }, "strip", z.ZodTypeAny, {
1728
+ encoding: "utf-8";
1729
+ head: string;
1730
+ observedBytes: number;
1731
+ retainedBytes: number;
1732
+ limitBytes: number;
1733
+ truncated: boolean;
1734
+ dlp: "masked" | "omitted-on-mask-failure";
1735
+ tail?: string | undefined;
1736
+ }, {
1737
+ encoding: "utf-8";
1738
+ head: string;
1739
+ observedBytes: number;
1740
+ retainedBytes: number;
1741
+ limitBytes: number;
1742
+ truncated: boolean;
1743
+ dlp: "masked" | "omitted-on-mask-failure";
1744
+ tail?: string | undefined;
1745
+ }>, {
1746
+ encoding: "utf-8";
1747
+ head: string;
1748
+ observedBytes: number;
1749
+ retainedBytes: number;
1750
+ limitBytes: number;
1751
+ truncated: boolean;
1752
+ dlp: "masked" | "omitted-on-mask-failure";
1753
+ tail?: string | undefined;
1754
+ }, {
1755
+ encoding: "utf-8";
1756
+ head: string;
1757
+ observedBytes: number;
1758
+ retainedBytes: number;
1759
+ limitBytes: number;
1760
+ truncated: boolean;
1761
+ dlp: "masked" | "omitted-on-mask-failure";
1762
+ tail?: string | undefined;
1763
+ }>>;
1764
+ stderr: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1765
+ encoding: z.ZodLiteral<"utf-8">;
1766
+ head: z.ZodString;
1767
+ tail: z.ZodOptional<z.ZodString>;
1768
+ observedBytes: z.ZodNumber;
1769
+ retainedBytes: z.ZodNumber;
1770
+ limitBytes: z.ZodNumber;
1771
+ truncated: z.ZodBoolean;
1772
+ dlp: z.ZodEnum<["masked", "omitted-on-mask-failure"]>;
1773
+ }, "strip", z.ZodTypeAny, {
1774
+ encoding: "utf-8";
1775
+ head: string;
1776
+ observedBytes: number;
1777
+ retainedBytes: number;
1778
+ limitBytes: number;
1779
+ truncated: boolean;
1780
+ dlp: "masked" | "omitted-on-mask-failure";
1781
+ tail?: string | undefined;
1782
+ }, {
1783
+ encoding: "utf-8";
1784
+ head: string;
1785
+ observedBytes: number;
1786
+ retainedBytes: number;
1787
+ limitBytes: number;
1788
+ truncated: boolean;
1789
+ dlp: "masked" | "omitted-on-mask-failure";
1790
+ tail?: string | undefined;
1791
+ }>, {
1792
+ encoding: "utf-8";
1793
+ head: string;
1794
+ observedBytes: number;
1795
+ retainedBytes: number;
1796
+ limitBytes: number;
1797
+ truncated: boolean;
1798
+ dlp: "masked" | "omitted-on-mask-failure";
1799
+ tail?: string | undefined;
1800
+ }, {
1801
+ encoding: "utf-8";
1802
+ head: string;
1803
+ observedBytes: number;
1804
+ retainedBytes: number;
1805
+ limitBytes: number;
1806
+ truncated: boolean;
1807
+ dlp: "masked" | "omitted-on-mask-failure";
1808
+ tail?: string | undefined;
1809
+ }>>;
507
1810
  }, "strip", z.ZodTypeAny, {
508
- durationMs: number;
509
- inputTokens?: number | null | undefined;
510
- outputTokens?: number | null | undefined;
511
- cacheReadInputTokens?: number | null | undefined;
512
- finishReason?: string | undefined;
1811
+ exitCode: number | null;
1812
+ signal: string | null;
1813
+ timedOut: boolean;
1814
+ stdout?: {
1815
+ encoding: "utf-8";
1816
+ head: string;
1817
+ observedBytes: number;
1818
+ retainedBytes: number;
1819
+ limitBytes: number;
1820
+ truncated: boolean;
1821
+ dlp: "masked" | "omitted-on-mask-failure";
1822
+ tail?: string | undefined;
1823
+ } | undefined;
1824
+ timeoutMs?: number | undefined;
1825
+ stderr?: {
1826
+ encoding: "utf-8";
1827
+ head: string;
1828
+ observedBytes: number;
1829
+ retainedBytes: number;
1830
+ limitBytes: number;
1831
+ truncated: boolean;
1832
+ dlp: "masked" | "omitted-on-mask-failure";
1833
+ tail?: string | undefined;
1834
+ } | undefined;
513
1835
  }, {
514
- durationMs: number;
515
- inputTokens?: number | null | undefined;
516
- outputTokens?: number | null | undefined;
517
- cacheReadInputTokens?: number | null | undefined;
518
- finishReason?: string | undefined;
1836
+ exitCode: number | null;
1837
+ signal: string | null;
1838
+ timedOut: boolean;
1839
+ stdout?: {
1840
+ encoding: "utf-8";
1841
+ head: string;
1842
+ observedBytes: number;
1843
+ retainedBytes: number;
1844
+ limitBytes: number;
1845
+ truncated: boolean;
1846
+ dlp: "masked" | "omitted-on-mask-failure";
1847
+ tail?: string | undefined;
1848
+ } | undefined;
1849
+ timeoutMs?: number | undefined;
1850
+ stderr?: {
1851
+ encoding: "utf-8";
1852
+ head: string;
1853
+ observedBytes: number;
1854
+ retainedBytes: number;
1855
+ limitBytes: number;
1856
+ truncated: boolean;
1857
+ dlp: "masked" | "omitted-on-mask-failure";
1858
+ tail?: string | undefined;
1859
+ } | undefined;
1860
+ }>, {
1861
+ exitCode: number | null;
1862
+ signal: string | null;
1863
+ timedOut: boolean;
1864
+ stdout?: {
1865
+ encoding: "utf-8";
1866
+ head: string;
1867
+ observedBytes: number;
1868
+ retainedBytes: number;
1869
+ limitBytes: number;
1870
+ truncated: boolean;
1871
+ dlp: "masked" | "omitted-on-mask-failure";
1872
+ tail?: string | undefined;
1873
+ } | undefined;
1874
+ timeoutMs?: number | undefined;
1875
+ stderr?: {
1876
+ encoding: "utf-8";
1877
+ head: string;
1878
+ observedBytes: number;
1879
+ retainedBytes: number;
1880
+ limitBytes: number;
1881
+ truncated: boolean;
1882
+ dlp: "masked" | "omitted-on-mask-failure";
1883
+ tail?: string | undefined;
1884
+ } | undefined;
1885
+ }, {
1886
+ exitCode: number | null;
1887
+ signal: string | null;
1888
+ timedOut: boolean;
1889
+ stdout?: {
1890
+ encoding: "utf-8";
1891
+ head: string;
1892
+ observedBytes: number;
1893
+ retainedBytes: number;
1894
+ limitBytes: number;
1895
+ truncated: boolean;
1896
+ dlp: "masked" | "omitted-on-mask-failure";
1897
+ tail?: string | undefined;
1898
+ } | undefined;
1899
+ timeoutMs?: number | undefined;
1900
+ stderr?: {
1901
+ encoding: "utf-8";
1902
+ head: string;
1903
+ observedBytes: number;
1904
+ retainedBytes: number;
1905
+ limitBytes: number;
1906
+ truncated: boolean;
1907
+ dlp: "masked" | "omitted-on-mask-failure";
1908
+ tail?: string | undefined;
1909
+ } | undefined;
1910
+ }>>;
1911
+ }, "strip", z.ZodTypeAny, {
1912
+ status: "succeeded" | "failed";
1913
+ model: string;
1914
+ provider: string;
1915
+ sequence: number;
1916
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
1917
+ durationMs: number;
1918
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
1919
+ providerStatus?: number | undefined;
1920
+ providerCode?: string | undefined;
1921
+ process?: {
1922
+ exitCode: number | null;
1923
+ signal: string | null;
1924
+ timedOut: boolean;
1925
+ stdout?: {
1926
+ encoding: "utf-8";
1927
+ head: string;
1928
+ observedBytes: number;
1929
+ retainedBytes: number;
1930
+ limitBytes: number;
1931
+ truncated: boolean;
1932
+ dlp: "masked" | "omitted-on-mask-failure";
1933
+ tail?: string | undefined;
1934
+ } | undefined;
1935
+ timeoutMs?: number | undefined;
1936
+ stderr?: {
1937
+ encoding: "utf-8";
1938
+ head: string;
1939
+ observedBytes: number;
1940
+ retainedBytes: number;
1941
+ limitBytes: number;
1942
+ truncated: boolean;
1943
+ dlp: "masked" | "omitted-on-mask-failure";
1944
+ tail?: string | undefined;
1945
+ } | undefined;
1946
+ } | undefined;
1947
+ }, {
1948
+ status: "succeeded" | "failed";
1949
+ model: string;
1950
+ provider: string;
1951
+ sequence: number;
1952
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
1953
+ durationMs: number;
1954
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
1955
+ providerStatus?: number | undefined;
1956
+ providerCode?: string | undefined;
1957
+ process?: {
1958
+ exitCode: number | null;
1959
+ signal: string | null;
1960
+ timedOut: boolean;
1961
+ stdout?: {
1962
+ encoding: "utf-8";
1963
+ head: string;
1964
+ observedBytes: number;
1965
+ retainedBytes: number;
1966
+ limitBytes: number;
1967
+ truncated: boolean;
1968
+ dlp: "masked" | "omitted-on-mask-failure";
1969
+ tail?: string | undefined;
1970
+ } | undefined;
1971
+ timeoutMs?: number | undefined;
1972
+ stderr?: {
1973
+ encoding: "utf-8";
1974
+ head: string;
1975
+ observedBytes: number;
1976
+ retainedBytes: number;
1977
+ limitBytes: number;
1978
+ truncated: boolean;
1979
+ dlp: "masked" | "omitted-on-mask-failure";
1980
+ tail?: string | undefined;
1981
+ } | undefined;
1982
+ } | undefined;
1983
+ }>, {
1984
+ status: "succeeded" | "failed";
1985
+ model: string;
1986
+ provider: string;
1987
+ sequence: number;
1988
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
1989
+ durationMs: number;
1990
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
1991
+ providerStatus?: number | undefined;
1992
+ providerCode?: string | undefined;
1993
+ process?: {
1994
+ exitCode: number | null;
1995
+ signal: string | null;
1996
+ timedOut: boolean;
1997
+ stdout?: {
1998
+ encoding: "utf-8";
1999
+ head: string;
2000
+ observedBytes: number;
2001
+ retainedBytes: number;
2002
+ limitBytes: number;
2003
+ truncated: boolean;
2004
+ dlp: "masked" | "omitted-on-mask-failure";
2005
+ tail?: string | undefined;
2006
+ } | undefined;
2007
+ timeoutMs?: number | undefined;
2008
+ stderr?: {
2009
+ encoding: "utf-8";
2010
+ head: string;
2011
+ observedBytes: number;
2012
+ retainedBytes: number;
2013
+ limitBytes: number;
2014
+ truncated: boolean;
2015
+ dlp: "masked" | "omitted-on-mask-failure";
2016
+ tail?: string | undefined;
2017
+ } | undefined;
2018
+ } | undefined;
2019
+ }, {
2020
+ status: "succeeded" | "failed";
2021
+ model: string;
2022
+ provider: string;
2023
+ sequence: number;
2024
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
2025
+ durationMs: number;
2026
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
2027
+ providerStatus?: number | undefined;
2028
+ providerCode?: string | undefined;
2029
+ process?: {
2030
+ exitCode: number | null;
2031
+ signal: string | null;
2032
+ timedOut: boolean;
2033
+ stdout?: {
2034
+ encoding: "utf-8";
2035
+ head: string;
2036
+ observedBytes: number;
2037
+ retainedBytes: number;
2038
+ limitBytes: number;
2039
+ truncated: boolean;
2040
+ dlp: "masked" | "omitted-on-mask-failure";
2041
+ tail?: string | undefined;
2042
+ } | undefined;
2043
+ timeoutMs?: number | undefined;
2044
+ stderr?: {
2045
+ encoding: "utf-8";
2046
+ head: string;
2047
+ observedBytes: number;
2048
+ retainedBytes: number;
2049
+ limitBytes: number;
2050
+ truncated: boolean;
2051
+ dlp: "masked" | "omitted-on-mask-failure";
2052
+ tail?: string | undefined;
2053
+ } | undefined;
2054
+ } | undefined;
2055
+ }>, "many">, {
2056
+ status: "succeeded" | "failed";
2057
+ model: string;
2058
+ provider: string;
2059
+ sequence: number;
2060
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
2061
+ durationMs: number;
2062
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
2063
+ providerStatus?: number | undefined;
2064
+ providerCode?: string | undefined;
2065
+ process?: {
2066
+ exitCode: number | null;
2067
+ signal: string | null;
2068
+ timedOut: boolean;
2069
+ stdout?: {
2070
+ encoding: "utf-8";
2071
+ head: string;
2072
+ observedBytes: number;
2073
+ retainedBytes: number;
2074
+ limitBytes: number;
2075
+ truncated: boolean;
2076
+ dlp: "masked" | "omitted-on-mask-failure";
2077
+ tail?: string | undefined;
2078
+ } | undefined;
2079
+ timeoutMs?: number | undefined;
2080
+ stderr?: {
2081
+ encoding: "utf-8";
2082
+ head: string;
2083
+ observedBytes: number;
2084
+ retainedBytes: number;
2085
+ limitBytes: number;
2086
+ truncated: boolean;
2087
+ dlp: "masked" | "omitted-on-mask-failure";
2088
+ tail?: string | undefined;
2089
+ } | undefined;
2090
+ } | undefined;
2091
+ }[], {
2092
+ status: "succeeded" | "failed";
2093
+ model: string;
2094
+ provider: string;
2095
+ sequence: number;
2096
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
2097
+ durationMs: number;
2098
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
2099
+ providerStatus?: number | undefined;
2100
+ providerCode?: string | undefined;
2101
+ process?: {
2102
+ exitCode: number | null;
2103
+ signal: string | null;
2104
+ timedOut: boolean;
2105
+ stdout?: {
2106
+ encoding: "utf-8";
2107
+ head: string;
2108
+ observedBytes: number;
2109
+ retainedBytes: number;
2110
+ limitBytes: number;
2111
+ truncated: boolean;
2112
+ dlp: "masked" | "omitted-on-mask-failure";
2113
+ tail?: string | undefined;
2114
+ } | undefined;
2115
+ timeoutMs?: number | undefined;
2116
+ stderr?: {
2117
+ encoding: "utf-8";
2118
+ head: string;
2119
+ observedBytes: number;
2120
+ retainedBytes: number;
2121
+ limitBytes: number;
2122
+ truncated: boolean;
2123
+ dlp: "masked" | "omitted-on-mask-failure";
2124
+ tail?: string | undefined;
2125
+ } | undefined;
2126
+ } | undefined;
2127
+ }[]>;
2128
+ terminal: z.ZodObject<{
2129
+ kind: z.ZodEnum<["auth", "quota", "model", "process-spawn", "process-exit", "timeout", "unknown"]>;
2130
+ attempt: z.ZodNumber;
2131
+ message: z.ZodEffects<z.ZodEffects<z.ZodObject<{
2132
+ encoding: z.ZodLiteral<"utf-8">;
2133
+ head: z.ZodString;
2134
+ tail: z.ZodOptional<z.ZodString>;
2135
+ observedBytes: z.ZodNumber;
2136
+ retainedBytes: z.ZodNumber;
2137
+ limitBytes: z.ZodNumber;
2138
+ truncated: z.ZodBoolean;
2139
+ dlp: z.ZodEnum<["masked", "omitted-on-mask-failure"]>;
2140
+ }, "strip", z.ZodTypeAny, {
2141
+ encoding: "utf-8";
2142
+ head: string;
2143
+ observedBytes: number;
2144
+ retainedBytes: number;
2145
+ limitBytes: number;
2146
+ truncated: boolean;
2147
+ dlp: "masked" | "omitted-on-mask-failure";
2148
+ tail?: string | undefined;
2149
+ }, {
2150
+ encoding: "utf-8";
2151
+ head: string;
2152
+ observedBytes: number;
2153
+ retainedBytes: number;
2154
+ limitBytes: number;
2155
+ truncated: boolean;
2156
+ dlp: "masked" | "omitted-on-mask-failure";
2157
+ tail?: string | undefined;
2158
+ }>, {
2159
+ encoding: "utf-8";
2160
+ head: string;
2161
+ observedBytes: number;
2162
+ retainedBytes: number;
2163
+ limitBytes: number;
2164
+ truncated: boolean;
2165
+ dlp: "masked" | "omitted-on-mask-failure";
2166
+ tail?: string | undefined;
2167
+ }, {
2168
+ encoding: "utf-8";
2169
+ head: string;
2170
+ observedBytes: number;
2171
+ retainedBytes: number;
2172
+ limitBytes: number;
2173
+ truncated: boolean;
2174
+ dlp: "masked" | "omitted-on-mask-failure";
2175
+ tail?: string | undefined;
2176
+ }>, {
2177
+ encoding: "utf-8";
2178
+ head: string;
2179
+ observedBytes: number;
2180
+ retainedBytes: number;
2181
+ limitBytes: number;
2182
+ truncated: boolean;
2183
+ dlp: "masked" | "omitted-on-mask-failure";
2184
+ tail?: string | undefined;
2185
+ }, {
2186
+ encoding: "utf-8";
2187
+ head: string;
2188
+ observedBytes: number;
2189
+ retainedBytes: number;
2190
+ limitBytes: number;
2191
+ truncated: boolean;
2192
+ dlp: "masked" | "omitted-on-mask-failure";
2193
+ tail?: string | undefined;
519
2194
  }>;
520
2195
  }, "strip", z.ZodTypeAny, {
521
- content: string;
522
- metrics: {
523
- durationMs: number;
524
- inputTokens?: number | null | undefined;
525
- outputTokens?: number | null | undefined;
526
- cacheReadInputTokens?: number | null | undefined;
527
- finishReason?: string | undefined;
2196
+ message: {
2197
+ encoding: "utf-8";
2198
+ head: string;
2199
+ observedBytes: number;
2200
+ retainedBytes: number;
2201
+ limitBytes: number;
2202
+ truncated: boolean;
2203
+ dlp: "masked" | "omitted-on-mask-failure";
2204
+ tail?: string | undefined;
528
2205
  };
2206
+ kind: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout";
2207
+ attempt: number;
529
2208
  }, {
530
- content: string;
531
- metrics: {
532
- durationMs: number;
533
- inputTokens?: number | null | undefined;
534
- outputTokens?: number | null | undefined;
535
- cacheReadInputTokens?: number | null | undefined;
536
- finishReason?: string | undefined;
2209
+ message: {
2210
+ encoding: "utf-8";
2211
+ head: string;
2212
+ observedBytes: number;
2213
+ retainedBytes: number;
2214
+ limitBytes: number;
2215
+ truncated: boolean;
2216
+ dlp: "masked" | "omitted-on-mask-failure";
2217
+ tail?: string | undefined;
537
2218
  };
2219
+ kind: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout";
2220
+ attempt: number;
538
2221
  }>;
539
- /** Admitted contract group (mmnto-ai/totem#2102) — additive 1.x optional; slice-1/2 artifacts predate it. */
540
2222
  admission: z.ZodOptional<z.ZodObject<{
541
2223
  outputContract: z.ZodOptional<z.ZodObject<{
542
2224
  /** Response claims must carry citations into the delivered grounding. */
@@ -613,14 +2295,47 @@ export declare const RunArtifactSchema: z.ZodObject<{
613
2295
  codeBlind?: boolean | undefined;
614
2296
  } | undefined;
615
2297
  }>>;
616
- /**
617
- * ISO-8601 emission time. EXCLUDED from the content address (identical runs
618
- * dedup to one artifact regardless of when they ran) — observability only.
619
- */
620
2298
  createdAt: z.ZodString;
621
2299
  }, "strip", z.ZodTypeAny, {
622
2300
  createdAt: string;
623
- schemaVersion: string;
2301
+ attempts: {
2302
+ status: "succeeded" | "failed";
2303
+ model: string;
2304
+ provider: string;
2305
+ sequence: number;
2306
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
2307
+ durationMs: number;
2308
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
2309
+ providerStatus?: number | undefined;
2310
+ providerCode?: string | undefined;
2311
+ process?: {
2312
+ exitCode: number | null;
2313
+ signal: string | null;
2314
+ timedOut: boolean;
2315
+ stdout?: {
2316
+ encoding: "utf-8";
2317
+ head: string;
2318
+ observedBytes: number;
2319
+ retainedBytes: number;
2320
+ limitBytes: number;
2321
+ truncated: boolean;
2322
+ dlp: "masked" | "omitted-on-mask-failure";
2323
+ tail?: string | undefined;
2324
+ } | undefined;
2325
+ timeoutMs?: number | undefined;
2326
+ stderr?: {
2327
+ encoding: "utf-8";
2328
+ head: string;
2329
+ observedBytes: number;
2330
+ retainedBytes: number;
2331
+ limitBytes: number;
2332
+ truncated: boolean;
2333
+ dlp: "masked" | "omitted-on-mask-failure";
2334
+ tail?: string | undefined;
2335
+ } | undefined;
2336
+ } | undefined;
2337
+ }[];
2338
+ schemaVersion: "1.0.0";
624
2339
  inputBundle: {
625
2340
  maskedPrompt: string;
626
2341
  maskedSystemPrompt?: string | undefined;
@@ -641,23 +2356,27 @@ export declare const RunArtifactSchema: z.ZodObject<{
641
2356
  }[];
642
2357
  } | undefined;
643
2358
  };
644
- backend: {
645
- provider: string;
2359
+ requestedBackend: {
646
2360
  model: string;
2361
+ provider: string;
647
2362
  qualifiedModel: string;
648
2363
  admissionClass: "completion_only" | "self_grounding_agent";
649
2364
  taskProfile: string;
650
2365
  temperature?: number | undefined;
651
2366
  };
652
- output: {
653
- content: string;
654
- metrics: {
655
- durationMs: number;
656
- inputTokens?: number | null | undefined;
657
- outputTokens?: number | null | undefined;
658
- cacheReadInputTokens?: number | null | undefined;
659
- finishReason?: string | undefined;
2367
+ terminal: {
2368
+ message: {
2369
+ encoding: "utf-8";
2370
+ head: string;
2371
+ observedBytes: number;
2372
+ retainedBytes: number;
2373
+ limitBytes: number;
2374
+ truncated: boolean;
2375
+ dlp: "masked" | "omitted-on-mask-failure";
2376
+ tail?: string | undefined;
660
2377
  };
2378
+ kind: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout";
2379
+ attempt: number;
661
2380
  };
662
2381
  admission?: {
663
2382
  outputContract?: {
@@ -676,7 +2395,44 @@ export declare const RunArtifactSchema: z.ZodObject<{
676
2395
  } | undefined;
677
2396
  }, {
678
2397
  createdAt: string;
679
- schemaVersion: string;
2398
+ attempts: {
2399
+ status: "succeeded" | "failed";
2400
+ model: string;
2401
+ provider: string;
2402
+ sequence: number;
2403
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
2404
+ durationMs: number;
2405
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
2406
+ providerStatus?: number | undefined;
2407
+ providerCode?: string | undefined;
2408
+ process?: {
2409
+ exitCode: number | null;
2410
+ signal: string | null;
2411
+ timedOut: boolean;
2412
+ stdout?: {
2413
+ encoding: "utf-8";
2414
+ head: string;
2415
+ observedBytes: number;
2416
+ retainedBytes: number;
2417
+ limitBytes: number;
2418
+ truncated: boolean;
2419
+ dlp: "masked" | "omitted-on-mask-failure";
2420
+ tail?: string | undefined;
2421
+ } | undefined;
2422
+ timeoutMs?: number | undefined;
2423
+ stderr?: {
2424
+ encoding: "utf-8";
2425
+ head: string;
2426
+ observedBytes: number;
2427
+ retainedBytes: number;
2428
+ limitBytes: number;
2429
+ truncated: boolean;
2430
+ dlp: "masked" | "omitted-on-mask-failure";
2431
+ tail?: string | undefined;
2432
+ } | undefined;
2433
+ } | undefined;
2434
+ }[];
2435
+ schemaVersion: "1.0.0";
680
2436
  inputBundle: {
681
2437
  maskedPrompt: string;
682
2438
  maskedSystemPrompt?: string | undefined;
@@ -697,23 +2453,1317 @@ export declare const RunArtifactSchema: z.ZodObject<{
697
2453
  }[];
698
2454
  } | undefined;
699
2455
  };
700
- backend: {
701
- provider: string;
2456
+ requestedBackend: {
702
2457
  model: string;
2458
+ provider: string;
703
2459
  qualifiedModel: string;
704
2460
  admissionClass: "completion_only" | "self_grounding_agent";
705
2461
  taskProfile: string;
706
2462
  temperature?: number | undefined;
707
2463
  };
708
- output: {
709
- content: string;
710
- metrics: {
711
- durationMs: number;
712
- inputTokens?: number | null | undefined;
713
- outputTokens?: number | null | undefined;
714
- cacheReadInputTokens?: number | null | undefined;
715
- finishReason?: string | undefined;
2464
+ terminal: {
2465
+ message: {
2466
+ encoding: "utf-8";
2467
+ head: string;
2468
+ observedBytes: number;
2469
+ retainedBytes: number;
2470
+ limitBytes: number;
2471
+ truncated: boolean;
2472
+ dlp: "masked" | "omitted-on-mask-failure";
2473
+ tail?: string | undefined;
716
2474
  };
2475
+ kind: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout";
2476
+ attempt: number;
2477
+ };
2478
+ admission?: {
2479
+ outputContract?: {
2480
+ citationsRequired?: boolean | undefined;
2481
+ verifyFallback?: boolean | undefined;
2482
+ schema?: Record<string, unknown> | undefined;
2483
+ } | undefined;
2484
+ contextPolicy?: {
2485
+ budget?: number | undefined;
2486
+ } | undefined;
2487
+ runMetadata?: {
2488
+ caller?: string | undefined;
2489
+ command?: string | undefined;
2490
+ codeBlind?: boolean | undefined;
2491
+ } | undefined;
2492
+ } | undefined;
2493
+ }>, {
2494
+ createdAt: string;
2495
+ attempts: {
2496
+ status: "succeeded" | "failed";
2497
+ model: string;
2498
+ provider: string;
2499
+ sequence: number;
2500
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
2501
+ durationMs: number;
2502
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
2503
+ providerStatus?: number | undefined;
2504
+ providerCode?: string | undefined;
2505
+ process?: {
2506
+ exitCode: number | null;
2507
+ signal: string | null;
2508
+ timedOut: boolean;
2509
+ stdout?: {
2510
+ encoding: "utf-8";
2511
+ head: string;
2512
+ observedBytes: number;
2513
+ retainedBytes: number;
2514
+ limitBytes: number;
2515
+ truncated: boolean;
2516
+ dlp: "masked" | "omitted-on-mask-failure";
2517
+ tail?: string | undefined;
2518
+ } | undefined;
2519
+ timeoutMs?: number | undefined;
2520
+ stderr?: {
2521
+ encoding: "utf-8";
2522
+ head: string;
2523
+ observedBytes: number;
2524
+ retainedBytes: number;
2525
+ limitBytes: number;
2526
+ truncated: boolean;
2527
+ dlp: "masked" | "omitted-on-mask-failure";
2528
+ tail?: string | undefined;
2529
+ } | undefined;
2530
+ } | undefined;
2531
+ }[];
2532
+ schemaVersion: "1.0.0";
2533
+ inputBundle: {
2534
+ maskedPrompt: string;
2535
+ maskedSystemPrompt?: string | undefined;
2536
+ diffScope?: string | undefined;
2537
+ specContract?: string | undefined;
2538
+ };
2539
+ inputHash: string;
2540
+ grounding: {
2541
+ hash: string;
2542
+ provenanceSummary: string;
2543
+ bundle?: {
2544
+ items: {
2545
+ filePath: string;
2546
+ contentHash: string;
2547
+ provenance: string;
2548
+ sourceType: string;
2549
+ sourceRepo?: string | undefined;
2550
+ }[];
2551
+ } | undefined;
2552
+ };
2553
+ requestedBackend: {
2554
+ model: string;
2555
+ provider: string;
2556
+ qualifiedModel: string;
2557
+ admissionClass: "completion_only" | "self_grounding_agent";
2558
+ taskProfile: string;
2559
+ temperature?: number | undefined;
2560
+ };
2561
+ terminal: {
2562
+ message: {
2563
+ encoding: "utf-8";
2564
+ head: string;
2565
+ observedBytes: number;
2566
+ retainedBytes: number;
2567
+ limitBytes: number;
2568
+ truncated: boolean;
2569
+ dlp: "masked" | "omitted-on-mask-failure";
2570
+ tail?: string | undefined;
2571
+ };
2572
+ kind: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout";
2573
+ attempt: number;
2574
+ };
2575
+ admission?: {
2576
+ outputContract?: {
2577
+ citationsRequired?: boolean | undefined;
2578
+ verifyFallback?: boolean | undefined;
2579
+ schema?: Record<string, unknown> | undefined;
2580
+ } | undefined;
2581
+ contextPolicy?: {
2582
+ budget?: number | undefined;
2583
+ } | undefined;
2584
+ runMetadata?: {
2585
+ caller?: string | undefined;
2586
+ command?: string | undefined;
2587
+ codeBlind?: boolean | undefined;
2588
+ } | undefined;
2589
+ } | undefined;
2590
+ }, {
2591
+ createdAt: string;
2592
+ attempts: {
2593
+ status: "succeeded" | "failed";
2594
+ model: string;
2595
+ provider: string;
2596
+ sequence: number;
2597
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
2598
+ durationMs: number;
2599
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
2600
+ providerStatus?: number | undefined;
2601
+ providerCode?: string | undefined;
2602
+ process?: {
2603
+ exitCode: number | null;
2604
+ signal: string | null;
2605
+ timedOut: boolean;
2606
+ stdout?: {
2607
+ encoding: "utf-8";
2608
+ head: string;
2609
+ observedBytes: number;
2610
+ retainedBytes: number;
2611
+ limitBytes: number;
2612
+ truncated: boolean;
2613
+ dlp: "masked" | "omitted-on-mask-failure";
2614
+ tail?: string | undefined;
2615
+ } | undefined;
2616
+ timeoutMs?: number | undefined;
2617
+ stderr?: {
2618
+ encoding: "utf-8";
2619
+ head: string;
2620
+ observedBytes: number;
2621
+ retainedBytes: number;
2622
+ limitBytes: number;
2623
+ truncated: boolean;
2624
+ dlp: "masked" | "omitted-on-mask-failure";
2625
+ tail?: string | undefined;
2626
+ } | undefined;
2627
+ } | undefined;
2628
+ }[];
2629
+ schemaVersion: "1.0.0";
2630
+ inputBundle: {
2631
+ maskedPrompt: string;
2632
+ maskedSystemPrompt?: string | undefined;
2633
+ diffScope?: string | undefined;
2634
+ specContract?: string | undefined;
2635
+ };
2636
+ inputHash: string;
2637
+ grounding: {
2638
+ hash: string;
2639
+ provenanceSummary: string;
2640
+ bundle?: {
2641
+ items: {
2642
+ filePath: string;
2643
+ contentHash: string;
2644
+ provenance: string;
2645
+ sourceType: string;
2646
+ sourceRepo?: string | undefined;
2647
+ }[];
2648
+ } | undefined;
2649
+ };
2650
+ requestedBackend: {
2651
+ model: string;
2652
+ provider: string;
2653
+ qualifiedModel: string;
2654
+ admissionClass: "completion_only" | "self_grounding_agent";
2655
+ taskProfile: string;
2656
+ temperature?: number | undefined;
2657
+ };
2658
+ terminal: {
2659
+ message: {
2660
+ encoding: "utf-8";
2661
+ head: string;
2662
+ observedBytes: number;
2663
+ retainedBytes: number;
2664
+ limitBytes: number;
2665
+ truncated: boolean;
2666
+ dlp: "masked" | "omitted-on-mask-failure";
2667
+ tail?: string | undefined;
2668
+ };
2669
+ kind: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout";
2670
+ attempt: number;
2671
+ };
2672
+ admission?: {
2673
+ outputContract?: {
2674
+ citationsRequired?: boolean | undefined;
2675
+ verifyFallback?: boolean | undefined;
2676
+ schema?: Record<string, unknown> | undefined;
2677
+ } | undefined;
2678
+ contextPolicy?: {
2679
+ budget?: number | undefined;
2680
+ } | undefined;
2681
+ runMetadata?: {
2682
+ caller?: string | undefined;
2683
+ command?: string | undefined;
2684
+ codeBlind?: boolean | undefined;
2685
+ } | undefined;
2686
+ } | undefined;
2687
+ }>;
2688
+ export declare const RunArtifactSchema: z.ZodObject<{
2689
+ schemaVersion: z.ZodEffects<z.ZodString, string, string>;
2690
+ inputBundle: z.ZodObject<{
2691
+ maskedPrompt: z.ZodString;
2692
+ maskedSystemPrompt: z.ZodOptional<z.ZodString>;
2693
+ /** Deterministic diff input when the caller ran with a forced scope (#2098). */
2694
+ diffScope: z.ZodOptional<z.ZodString>;
2695
+ /** The grounded spec contract, when present (review sensing against a spec doc). */
2696
+ specContract: z.ZodOptional<z.ZodString>;
2697
+ }, "strip", z.ZodTypeAny, {
2698
+ maskedPrompt: string;
2699
+ maskedSystemPrompt?: string | undefined;
2700
+ diffScope?: string | undefined;
2701
+ specContract?: string | undefined;
2702
+ }, {
2703
+ maskedPrompt: string;
2704
+ maskedSystemPrompt?: string | undefined;
2705
+ diffScope?: string | undefined;
2706
+ specContract?: string | undefined;
2707
+ }>;
2708
+ /** Deterministic hash of `inputBundle` alone — the rerun identity. */
2709
+ inputHash: z.ZodString;
2710
+ grounding: z.ZodObject<{
2711
+ /**
2712
+ * Deterministic hash of the grounding surface. From 1.1.0 this is
2713
+ * `calculateDeterministicHash(bundle)` — the verifier recomputes it from
2714
+ * the artifact surface ALONE (one enumeration, two readers). Slice-1
2715
+ * artifacts (no `bundle`) carry their original hash-of-raw-context, which
2716
+ * is self-consistent but not recomputable offline.
2717
+ */
2718
+ hash: z.ZodString;
2719
+ /** Derived from the bundle since 1.1.0 (sorted class counts, or `ungrounded`); wholesale string in slice-1 artifacts. */
2720
+ provenanceSummary: z.ZodString;
2721
+ /** Per-item provenance record (mmnto-ai/totem#2101). Optional: slice-1 artifacts predate it and cannot be re-classed. */
2722
+ bundle: z.ZodOptional<z.ZodObject<{
2723
+ items: z.ZodArray<z.ZodObject<{
2724
+ /** Provenance class — open vocabulary, canonical values in {@link PROVENANCE_CLASSES}; consumers fail-safe-down on unknown strings (F2). */
2725
+ provenance: z.ZodString;
2726
+ /** Deterministic hash of the delivered snippet content (identity, not bytes). */
2727
+ contentHash: z.ZodString;
2728
+ /** Retrieval partition the item entered the prompt under (`spec` | `session_log` | `code` | `lesson`). */
2729
+ sourceType: z.ZodString;
2730
+ /** Path relative to the owning repo root — display + structural-resolution identity. */
2731
+ filePath: z.ZodString;
2732
+ /** Linked-index name for cross-repo hits; ABSENT = the run's own repo (F1) — post-checks resolve `filePath` against the run's config root when absent. */
2733
+ sourceRepo: z.ZodOptional<z.ZodString>;
2734
+ }, "strip", z.ZodTypeAny, {
2735
+ filePath: string;
2736
+ contentHash: string;
2737
+ provenance: string;
2738
+ sourceType: string;
2739
+ sourceRepo?: string | undefined;
2740
+ }, {
2741
+ filePath: string;
2742
+ contentHash: string;
2743
+ provenance: string;
2744
+ sourceType: string;
2745
+ sourceRepo?: string | undefined;
2746
+ }>, "many">;
2747
+ }, "strip", z.ZodTypeAny, {
2748
+ items: {
2749
+ filePath: string;
2750
+ contentHash: string;
2751
+ provenance: string;
2752
+ sourceType: string;
2753
+ sourceRepo?: string | undefined;
2754
+ }[];
2755
+ }, {
2756
+ items: {
2757
+ filePath: string;
2758
+ contentHash: string;
2759
+ provenance: string;
2760
+ sourceType: string;
2761
+ sourceRepo?: string | undefined;
2762
+ }[];
2763
+ }>>;
2764
+ }, "strip", z.ZodTypeAny, {
2765
+ hash: string;
2766
+ provenanceSummary: string;
2767
+ bundle?: {
2768
+ items: {
2769
+ filePath: string;
2770
+ contentHash: string;
2771
+ provenance: string;
2772
+ sourceType: string;
2773
+ sourceRepo?: string | undefined;
2774
+ }[];
2775
+ } | undefined;
2776
+ }, {
2777
+ hash: string;
2778
+ provenanceSummary: string;
2779
+ bundle?: {
2780
+ items: {
2781
+ filePath: string;
2782
+ contentHash: string;
2783
+ provenance: string;
2784
+ sourceType: string;
2785
+ sourceRepo?: string | undefined;
2786
+ }[];
2787
+ } | undefined;
2788
+ }>;
2789
+ backend: z.ZodObject<{
2790
+ provider: z.ZodString;
2791
+ model: z.ZodString;
2792
+ /** The full provider-qualified string telemetry/cache key on (`provider:model`). */
2793
+ qualifiedModel: z.ZodString;
2794
+ admissionClass: z.ZodEnum<["completion_only", "self_grounding_agent"]>;
2795
+ /** The command tag the run served (`Spec`, `Review`, ...) — the task profile. */
2796
+ taskProfile: z.ZodString;
2797
+ temperature: z.ZodOptional<z.ZodNumber>;
2798
+ }, "strip", z.ZodTypeAny, {
2799
+ model: string;
2800
+ provider: string;
2801
+ qualifiedModel: string;
2802
+ admissionClass: "completion_only" | "self_grounding_agent";
2803
+ taskProfile: string;
2804
+ temperature?: number | undefined;
2805
+ }, {
2806
+ model: string;
2807
+ provider: string;
2808
+ qualifiedModel: string;
2809
+ admissionClass: "completion_only" | "self_grounding_agent";
2810
+ taskProfile: string;
2811
+ temperature?: number | undefined;
2812
+ }>;
2813
+ output: z.ZodObject<{
2814
+ content: z.ZodString;
2815
+ metrics: z.ZodObject<{
2816
+ inputTokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2817
+ outputTokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2818
+ cacheReadInputTokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2819
+ durationMs: z.ZodNumber;
2820
+ finishReason: z.ZodOptional<z.ZodString>;
2821
+ }, "strip", z.ZodTypeAny, {
2822
+ durationMs: number;
2823
+ inputTokens?: number | null | undefined;
2824
+ outputTokens?: number | null | undefined;
2825
+ cacheReadInputTokens?: number | null | undefined;
2826
+ finishReason?: string | undefined;
2827
+ }, {
2828
+ durationMs: number;
2829
+ inputTokens?: number | null | undefined;
2830
+ outputTokens?: number | null | undefined;
2831
+ cacheReadInputTokens?: number | null | undefined;
2832
+ finishReason?: string | undefined;
2833
+ }>;
2834
+ /** Additive 1.2 execution provenance; absent on ordinary one-shot SDK success. */
2835
+ execution: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2836
+ attempts: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodObject<{
2837
+ sequence: z.ZodNumber;
2838
+ route: z.ZodEnum<["sdk", "cli-fallback", "configured-shell", "quota-model-fallback"]>;
2839
+ provider: z.ZodString;
2840
+ model: z.ZodString;
2841
+ status: z.ZodEnum<["succeeded", "failed"]>;
2842
+ durationMs: z.ZodNumber;
2843
+ failureKind: z.ZodOptional<z.ZodEnum<["auth", "quota", "model", "process-spawn", "process-exit", "timeout", "unknown"]>>;
2844
+ providerStatus: z.ZodOptional<z.ZodNumber>;
2845
+ providerCode: z.ZodOptional<z.ZodString>;
2846
+ process: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2847
+ exitCode: z.ZodNullable<z.ZodNumber>;
2848
+ signal: z.ZodNullable<z.ZodString>;
2849
+ timedOut: z.ZodBoolean;
2850
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
2851
+ stdout: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2852
+ encoding: z.ZodLiteral<"utf-8">;
2853
+ head: z.ZodString;
2854
+ tail: z.ZodOptional<z.ZodString>;
2855
+ observedBytes: z.ZodNumber;
2856
+ retainedBytes: z.ZodNumber;
2857
+ limitBytes: z.ZodNumber;
2858
+ truncated: z.ZodBoolean;
2859
+ dlp: z.ZodEnum<["masked", "omitted-on-mask-failure"]>;
2860
+ }, "strip", z.ZodTypeAny, {
2861
+ encoding: "utf-8";
2862
+ head: string;
2863
+ observedBytes: number;
2864
+ retainedBytes: number;
2865
+ limitBytes: number;
2866
+ truncated: boolean;
2867
+ dlp: "masked" | "omitted-on-mask-failure";
2868
+ tail?: string | undefined;
2869
+ }, {
2870
+ encoding: "utf-8";
2871
+ head: string;
2872
+ observedBytes: number;
2873
+ retainedBytes: number;
2874
+ limitBytes: number;
2875
+ truncated: boolean;
2876
+ dlp: "masked" | "omitted-on-mask-failure";
2877
+ tail?: string | undefined;
2878
+ }>, {
2879
+ encoding: "utf-8";
2880
+ head: string;
2881
+ observedBytes: number;
2882
+ retainedBytes: number;
2883
+ limitBytes: number;
2884
+ truncated: boolean;
2885
+ dlp: "masked" | "omitted-on-mask-failure";
2886
+ tail?: string | undefined;
2887
+ }, {
2888
+ encoding: "utf-8";
2889
+ head: string;
2890
+ observedBytes: number;
2891
+ retainedBytes: number;
2892
+ limitBytes: number;
2893
+ truncated: boolean;
2894
+ dlp: "masked" | "omitted-on-mask-failure";
2895
+ tail?: string | undefined;
2896
+ }>>;
2897
+ stderr: z.ZodOptional<z.ZodEffects<z.ZodObject<{
2898
+ encoding: z.ZodLiteral<"utf-8">;
2899
+ head: z.ZodString;
2900
+ tail: z.ZodOptional<z.ZodString>;
2901
+ observedBytes: z.ZodNumber;
2902
+ retainedBytes: z.ZodNumber;
2903
+ limitBytes: z.ZodNumber;
2904
+ truncated: z.ZodBoolean;
2905
+ dlp: z.ZodEnum<["masked", "omitted-on-mask-failure"]>;
2906
+ }, "strip", z.ZodTypeAny, {
2907
+ encoding: "utf-8";
2908
+ head: string;
2909
+ observedBytes: number;
2910
+ retainedBytes: number;
2911
+ limitBytes: number;
2912
+ truncated: boolean;
2913
+ dlp: "masked" | "omitted-on-mask-failure";
2914
+ tail?: string | undefined;
2915
+ }, {
2916
+ encoding: "utf-8";
2917
+ head: string;
2918
+ observedBytes: number;
2919
+ retainedBytes: number;
2920
+ limitBytes: number;
2921
+ truncated: boolean;
2922
+ dlp: "masked" | "omitted-on-mask-failure";
2923
+ tail?: string | undefined;
2924
+ }>, {
2925
+ encoding: "utf-8";
2926
+ head: string;
2927
+ observedBytes: number;
2928
+ retainedBytes: number;
2929
+ limitBytes: number;
2930
+ truncated: boolean;
2931
+ dlp: "masked" | "omitted-on-mask-failure";
2932
+ tail?: string | undefined;
2933
+ }, {
2934
+ encoding: "utf-8";
2935
+ head: string;
2936
+ observedBytes: number;
2937
+ retainedBytes: number;
2938
+ limitBytes: number;
2939
+ truncated: boolean;
2940
+ dlp: "masked" | "omitted-on-mask-failure";
2941
+ tail?: string | undefined;
2942
+ }>>;
2943
+ }, "strip", z.ZodTypeAny, {
2944
+ exitCode: number | null;
2945
+ signal: string | null;
2946
+ timedOut: boolean;
2947
+ stdout?: {
2948
+ encoding: "utf-8";
2949
+ head: string;
2950
+ observedBytes: number;
2951
+ retainedBytes: number;
2952
+ limitBytes: number;
2953
+ truncated: boolean;
2954
+ dlp: "masked" | "omitted-on-mask-failure";
2955
+ tail?: string | undefined;
2956
+ } | undefined;
2957
+ timeoutMs?: number | undefined;
2958
+ stderr?: {
2959
+ encoding: "utf-8";
2960
+ head: string;
2961
+ observedBytes: number;
2962
+ retainedBytes: number;
2963
+ limitBytes: number;
2964
+ truncated: boolean;
2965
+ dlp: "masked" | "omitted-on-mask-failure";
2966
+ tail?: string | undefined;
2967
+ } | undefined;
2968
+ }, {
2969
+ exitCode: number | null;
2970
+ signal: string | null;
2971
+ timedOut: boolean;
2972
+ stdout?: {
2973
+ encoding: "utf-8";
2974
+ head: string;
2975
+ observedBytes: number;
2976
+ retainedBytes: number;
2977
+ limitBytes: number;
2978
+ truncated: boolean;
2979
+ dlp: "masked" | "omitted-on-mask-failure";
2980
+ tail?: string | undefined;
2981
+ } | undefined;
2982
+ timeoutMs?: number | undefined;
2983
+ stderr?: {
2984
+ encoding: "utf-8";
2985
+ head: string;
2986
+ observedBytes: number;
2987
+ retainedBytes: number;
2988
+ limitBytes: number;
2989
+ truncated: boolean;
2990
+ dlp: "masked" | "omitted-on-mask-failure";
2991
+ tail?: string | undefined;
2992
+ } | undefined;
2993
+ }>, {
2994
+ exitCode: number | null;
2995
+ signal: string | null;
2996
+ timedOut: boolean;
2997
+ stdout?: {
2998
+ encoding: "utf-8";
2999
+ head: string;
3000
+ observedBytes: number;
3001
+ retainedBytes: number;
3002
+ limitBytes: number;
3003
+ truncated: boolean;
3004
+ dlp: "masked" | "omitted-on-mask-failure";
3005
+ tail?: string | undefined;
3006
+ } | undefined;
3007
+ timeoutMs?: number | undefined;
3008
+ stderr?: {
3009
+ encoding: "utf-8";
3010
+ head: string;
3011
+ observedBytes: number;
3012
+ retainedBytes: number;
3013
+ limitBytes: number;
3014
+ truncated: boolean;
3015
+ dlp: "masked" | "omitted-on-mask-failure";
3016
+ tail?: string | undefined;
3017
+ } | undefined;
3018
+ }, {
3019
+ exitCode: number | null;
3020
+ signal: string | null;
3021
+ timedOut: boolean;
3022
+ stdout?: {
3023
+ encoding: "utf-8";
3024
+ head: string;
3025
+ observedBytes: number;
3026
+ retainedBytes: number;
3027
+ limitBytes: number;
3028
+ truncated: boolean;
3029
+ dlp: "masked" | "omitted-on-mask-failure";
3030
+ tail?: string | undefined;
3031
+ } | undefined;
3032
+ timeoutMs?: number | undefined;
3033
+ stderr?: {
3034
+ encoding: "utf-8";
3035
+ head: string;
3036
+ observedBytes: number;
3037
+ retainedBytes: number;
3038
+ limitBytes: number;
3039
+ truncated: boolean;
3040
+ dlp: "masked" | "omitted-on-mask-failure";
3041
+ tail?: string | undefined;
3042
+ } | undefined;
3043
+ }>>;
3044
+ }, "strip", z.ZodTypeAny, {
3045
+ status: "succeeded" | "failed";
3046
+ model: string;
3047
+ provider: string;
3048
+ sequence: number;
3049
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
3050
+ durationMs: number;
3051
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
3052
+ providerStatus?: number | undefined;
3053
+ providerCode?: string | undefined;
3054
+ process?: {
3055
+ exitCode: number | null;
3056
+ signal: string | null;
3057
+ timedOut: boolean;
3058
+ stdout?: {
3059
+ encoding: "utf-8";
3060
+ head: string;
3061
+ observedBytes: number;
3062
+ retainedBytes: number;
3063
+ limitBytes: number;
3064
+ truncated: boolean;
3065
+ dlp: "masked" | "omitted-on-mask-failure";
3066
+ tail?: string | undefined;
3067
+ } | undefined;
3068
+ timeoutMs?: number | undefined;
3069
+ stderr?: {
3070
+ encoding: "utf-8";
3071
+ head: string;
3072
+ observedBytes: number;
3073
+ retainedBytes: number;
3074
+ limitBytes: number;
3075
+ truncated: boolean;
3076
+ dlp: "masked" | "omitted-on-mask-failure";
3077
+ tail?: string | undefined;
3078
+ } | undefined;
3079
+ } | undefined;
3080
+ }, {
3081
+ status: "succeeded" | "failed";
3082
+ model: string;
3083
+ provider: string;
3084
+ sequence: number;
3085
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
3086
+ durationMs: number;
3087
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
3088
+ providerStatus?: number | undefined;
3089
+ providerCode?: string | undefined;
3090
+ process?: {
3091
+ exitCode: number | null;
3092
+ signal: string | null;
3093
+ timedOut: boolean;
3094
+ stdout?: {
3095
+ encoding: "utf-8";
3096
+ head: string;
3097
+ observedBytes: number;
3098
+ retainedBytes: number;
3099
+ limitBytes: number;
3100
+ truncated: boolean;
3101
+ dlp: "masked" | "omitted-on-mask-failure";
3102
+ tail?: string | undefined;
3103
+ } | undefined;
3104
+ timeoutMs?: number | undefined;
3105
+ stderr?: {
3106
+ encoding: "utf-8";
3107
+ head: string;
3108
+ observedBytes: number;
3109
+ retainedBytes: number;
3110
+ limitBytes: number;
3111
+ truncated: boolean;
3112
+ dlp: "masked" | "omitted-on-mask-failure";
3113
+ tail?: string | undefined;
3114
+ } | undefined;
3115
+ } | undefined;
3116
+ }>, {
3117
+ status: "succeeded" | "failed";
3118
+ model: string;
3119
+ provider: string;
3120
+ sequence: number;
3121
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
3122
+ durationMs: number;
3123
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
3124
+ providerStatus?: number | undefined;
3125
+ providerCode?: string | undefined;
3126
+ process?: {
3127
+ exitCode: number | null;
3128
+ signal: string | null;
3129
+ timedOut: boolean;
3130
+ stdout?: {
3131
+ encoding: "utf-8";
3132
+ head: string;
3133
+ observedBytes: number;
3134
+ retainedBytes: number;
3135
+ limitBytes: number;
3136
+ truncated: boolean;
3137
+ dlp: "masked" | "omitted-on-mask-failure";
3138
+ tail?: string | undefined;
3139
+ } | undefined;
3140
+ timeoutMs?: number | undefined;
3141
+ stderr?: {
3142
+ encoding: "utf-8";
3143
+ head: string;
3144
+ observedBytes: number;
3145
+ retainedBytes: number;
3146
+ limitBytes: number;
3147
+ truncated: boolean;
3148
+ dlp: "masked" | "omitted-on-mask-failure";
3149
+ tail?: string | undefined;
3150
+ } | undefined;
3151
+ } | undefined;
3152
+ }, {
3153
+ status: "succeeded" | "failed";
3154
+ model: string;
3155
+ provider: string;
3156
+ sequence: number;
3157
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
3158
+ durationMs: number;
3159
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
3160
+ providerStatus?: number | undefined;
3161
+ providerCode?: string | undefined;
3162
+ process?: {
3163
+ exitCode: number | null;
3164
+ signal: string | null;
3165
+ timedOut: boolean;
3166
+ stdout?: {
3167
+ encoding: "utf-8";
3168
+ head: string;
3169
+ observedBytes: number;
3170
+ retainedBytes: number;
3171
+ limitBytes: number;
3172
+ truncated: boolean;
3173
+ dlp: "masked" | "omitted-on-mask-failure";
3174
+ tail?: string | undefined;
3175
+ } | undefined;
3176
+ timeoutMs?: number | undefined;
3177
+ stderr?: {
3178
+ encoding: "utf-8";
3179
+ head: string;
3180
+ observedBytes: number;
3181
+ retainedBytes: number;
3182
+ limitBytes: number;
3183
+ truncated: boolean;
3184
+ dlp: "masked" | "omitted-on-mask-failure";
3185
+ tail?: string | undefined;
3186
+ } | undefined;
3187
+ } | undefined;
3188
+ }>, "many">, {
3189
+ status: "succeeded" | "failed";
3190
+ model: string;
3191
+ provider: string;
3192
+ sequence: number;
3193
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
3194
+ durationMs: number;
3195
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
3196
+ providerStatus?: number | undefined;
3197
+ providerCode?: string | undefined;
3198
+ process?: {
3199
+ exitCode: number | null;
3200
+ signal: string | null;
3201
+ timedOut: boolean;
3202
+ stdout?: {
3203
+ encoding: "utf-8";
3204
+ head: string;
3205
+ observedBytes: number;
3206
+ retainedBytes: number;
3207
+ limitBytes: number;
3208
+ truncated: boolean;
3209
+ dlp: "masked" | "omitted-on-mask-failure";
3210
+ tail?: string | undefined;
3211
+ } | undefined;
3212
+ timeoutMs?: number | undefined;
3213
+ stderr?: {
3214
+ encoding: "utf-8";
3215
+ head: string;
3216
+ observedBytes: number;
3217
+ retainedBytes: number;
3218
+ limitBytes: number;
3219
+ truncated: boolean;
3220
+ dlp: "masked" | "omitted-on-mask-failure";
3221
+ tail?: string | undefined;
3222
+ } | undefined;
3223
+ } | undefined;
3224
+ }[], {
3225
+ status: "succeeded" | "failed";
3226
+ model: string;
3227
+ provider: string;
3228
+ sequence: number;
3229
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
3230
+ durationMs: number;
3231
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
3232
+ providerStatus?: number | undefined;
3233
+ providerCode?: string | undefined;
3234
+ process?: {
3235
+ exitCode: number | null;
3236
+ signal: string | null;
3237
+ timedOut: boolean;
3238
+ stdout?: {
3239
+ encoding: "utf-8";
3240
+ head: string;
3241
+ observedBytes: number;
3242
+ retainedBytes: number;
3243
+ limitBytes: number;
3244
+ truncated: boolean;
3245
+ dlp: "masked" | "omitted-on-mask-failure";
3246
+ tail?: string | undefined;
3247
+ } | undefined;
3248
+ timeoutMs?: number | undefined;
3249
+ stderr?: {
3250
+ encoding: "utf-8";
3251
+ head: string;
3252
+ observedBytes: number;
3253
+ retainedBytes: number;
3254
+ limitBytes: number;
3255
+ truncated: boolean;
3256
+ dlp: "masked" | "omitted-on-mask-failure";
3257
+ tail?: string | undefined;
3258
+ } | undefined;
3259
+ } | undefined;
3260
+ }[]>;
3261
+ }, "strip", z.ZodTypeAny, {
3262
+ attempts: {
3263
+ status: "succeeded" | "failed";
3264
+ model: string;
3265
+ provider: string;
3266
+ sequence: number;
3267
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
3268
+ durationMs: number;
3269
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
3270
+ providerStatus?: number | undefined;
3271
+ providerCode?: string | undefined;
3272
+ process?: {
3273
+ exitCode: number | null;
3274
+ signal: string | null;
3275
+ timedOut: boolean;
3276
+ stdout?: {
3277
+ encoding: "utf-8";
3278
+ head: string;
3279
+ observedBytes: number;
3280
+ retainedBytes: number;
3281
+ limitBytes: number;
3282
+ truncated: boolean;
3283
+ dlp: "masked" | "omitted-on-mask-failure";
3284
+ tail?: string | undefined;
3285
+ } | undefined;
3286
+ timeoutMs?: number | undefined;
3287
+ stderr?: {
3288
+ encoding: "utf-8";
3289
+ head: string;
3290
+ observedBytes: number;
3291
+ retainedBytes: number;
3292
+ limitBytes: number;
3293
+ truncated: boolean;
3294
+ dlp: "masked" | "omitted-on-mask-failure";
3295
+ tail?: string | undefined;
3296
+ } | undefined;
3297
+ } | undefined;
3298
+ }[];
3299
+ }, {
3300
+ attempts: {
3301
+ status: "succeeded" | "failed";
3302
+ model: string;
3303
+ provider: string;
3304
+ sequence: number;
3305
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
3306
+ durationMs: number;
3307
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
3308
+ providerStatus?: number | undefined;
3309
+ providerCode?: string | undefined;
3310
+ process?: {
3311
+ exitCode: number | null;
3312
+ signal: string | null;
3313
+ timedOut: boolean;
3314
+ stdout?: {
3315
+ encoding: "utf-8";
3316
+ head: string;
3317
+ observedBytes: number;
3318
+ retainedBytes: number;
3319
+ limitBytes: number;
3320
+ truncated: boolean;
3321
+ dlp: "masked" | "omitted-on-mask-failure";
3322
+ tail?: string | undefined;
3323
+ } | undefined;
3324
+ timeoutMs?: number | undefined;
3325
+ stderr?: {
3326
+ encoding: "utf-8";
3327
+ head: string;
3328
+ observedBytes: number;
3329
+ retainedBytes: number;
3330
+ limitBytes: number;
3331
+ truncated: boolean;
3332
+ dlp: "masked" | "omitted-on-mask-failure";
3333
+ tail?: string | undefined;
3334
+ } | undefined;
3335
+ } | undefined;
3336
+ }[];
3337
+ }>, {
3338
+ attempts: {
3339
+ status: "succeeded" | "failed";
3340
+ model: string;
3341
+ provider: string;
3342
+ sequence: number;
3343
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
3344
+ durationMs: number;
3345
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
3346
+ providerStatus?: number | undefined;
3347
+ providerCode?: string | undefined;
3348
+ process?: {
3349
+ exitCode: number | null;
3350
+ signal: string | null;
3351
+ timedOut: boolean;
3352
+ stdout?: {
3353
+ encoding: "utf-8";
3354
+ head: string;
3355
+ observedBytes: number;
3356
+ retainedBytes: number;
3357
+ limitBytes: number;
3358
+ truncated: boolean;
3359
+ dlp: "masked" | "omitted-on-mask-failure";
3360
+ tail?: string | undefined;
3361
+ } | undefined;
3362
+ timeoutMs?: number | undefined;
3363
+ stderr?: {
3364
+ encoding: "utf-8";
3365
+ head: string;
3366
+ observedBytes: number;
3367
+ retainedBytes: number;
3368
+ limitBytes: number;
3369
+ truncated: boolean;
3370
+ dlp: "masked" | "omitted-on-mask-failure";
3371
+ tail?: string | undefined;
3372
+ } | undefined;
3373
+ } | undefined;
3374
+ }[];
3375
+ }, {
3376
+ attempts: {
3377
+ status: "succeeded" | "failed";
3378
+ model: string;
3379
+ provider: string;
3380
+ sequence: number;
3381
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
3382
+ durationMs: number;
3383
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
3384
+ providerStatus?: number | undefined;
3385
+ providerCode?: string | undefined;
3386
+ process?: {
3387
+ exitCode: number | null;
3388
+ signal: string | null;
3389
+ timedOut: boolean;
3390
+ stdout?: {
3391
+ encoding: "utf-8";
3392
+ head: string;
3393
+ observedBytes: number;
3394
+ retainedBytes: number;
3395
+ limitBytes: number;
3396
+ truncated: boolean;
3397
+ dlp: "masked" | "omitted-on-mask-failure";
3398
+ tail?: string | undefined;
3399
+ } | undefined;
3400
+ timeoutMs?: number | undefined;
3401
+ stderr?: {
3402
+ encoding: "utf-8";
3403
+ head: string;
3404
+ observedBytes: number;
3405
+ retainedBytes: number;
3406
+ limitBytes: number;
3407
+ truncated: boolean;
3408
+ dlp: "masked" | "omitted-on-mask-failure";
3409
+ tail?: string | undefined;
3410
+ } | undefined;
3411
+ } | undefined;
3412
+ }[];
3413
+ }>>;
3414
+ }, "strip", z.ZodTypeAny, {
3415
+ content: string;
3416
+ metrics: {
3417
+ durationMs: number;
3418
+ inputTokens?: number | null | undefined;
3419
+ outputTokens?: number | null | undefined;
3420
+ cacheReadInputTokens?: number | null | undefined;
3421
+ finishReason?: string | undefined;
3422
+ };
3423
+ execution?: {
3424
+ attempts: {
3425
+ status: "succeeded" | "failed";
3426
+ model: string;
3427
+ provider: string;
3428
+ sequence: number;
3429
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
3430
+ durationMs: number;
3431
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
3432
+ providerStatus?: number | undefined;
3433
+ providerCode?: string | undefined;
3434
+ process?: {
3435
+ exitCode: number | null;
3436
+ signal: string | null;
3437
+ timedOut: boolean;
3438
+ stdout?: {
3439
+ encoding: "utf-8";
3440
+ head: string;
3441
+ observedBytes: number;
3442
+ retainedBytes: number;
3443
+ limitBytes: number;
3444
+ truncated: boolean;
3445
+ dlp: "masked" | "omitted-on-mask-failure";
3446
+ tail?: string | undefined;
3447
+ } | undefined;
3448
+ timeoutMs?: number | undefined;
3449
+ stderr?: {
3450
+ encoding: "utf-8";
3451
+ head: string;
3452
+ observedBytes: number;
3453
+ retainedBytes: number;
3454
+ limitBytes: number;
3455
+ truncated: boolean;
3456
+ dlp: "masked" | "omitted-on-mask-failure";
3457
+ tail?: string | undefined;
3458
+ } | undefined;
3459
+ } | undefined;
3460
+ }[];
3461
+ } | undefined;
3462
+ }, {
3463
+ content: string;
3464
+ metrics: {
3465
+ durationMs: number;
3466
+ inputTokens?: number | null | undefined;
3467
+ outputTokens?: number | null | undefined;
3468
+ cacheReadInputTokens?: number | null | undefined;
3469
+ finishReason?: string | undefined;
3470
+ };
3471
+ execution?: {
3472
+ attempts: {
3473
+ status: "succeeded" | "failed";
3474
+ model: string;
3475
+ provider: string;
3476
+ sequence: number;
3477
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
3478
+ durationMs: number;
3479
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
3480
+ providerStatus?: number | undefined;
3481
+ providerCode?: string | undefined;
3482
+ process?: {
3483
+ exitCode: number | null;
3484
+ signal: string | null;
3485
+ timedOut: boolean;
3486
+ stdout?: {
3487
+ encoding: "utf-8";
3488
+ head: string;
3489
+ observedBytes: number;
3490
+ retainedBytes: number;
3491
+ limitBytes: number;
3492
+ truncated: boolean;
3493
+ dlp: "masked" | "omitted-on-mask-failure";
3494
+ tail?: string | undefined;
3495
+ } | undefined;
3496
+ timeoutMs?: number | undefined;
3497
+ stderr?: {
3498
+ encoding: "utf-8";
3499
+ head: string;
3500
+ observedBytes: number;
3501
+ retainedBytes: number;
3502
+ limitBytes: number;
3503
+ truncated: boolean;
3504
+ dlp: "masked" | "omitted-on-mask-failure";
3505
+ tail?: string | undefined;
3506
+ } | undefined;
3507
+ } | undefined;
3508
+ }[];
3509
+ } | undefined;
3510
+ }>;
3511
+ /** Admitted contract group (mmnto-ai/totem#2102) — additive 1.x optional; slice-1/2 artifacts predate it. */
3512
+ admission: z.ZodOptional<z.ZodObject<{
3513
+ outputContract: z.ZodOptional<z.ZodObject<{
3514
+ /** Response claims must carry citations into the delivered grounding. */
3515
+ citationsRequired: z.ZodOptional<z.ZodBoolean>;
3516
+ /** Whether an explicit `VERIFY:` escalation is an acceptable fallback for an uncitable claim. */
3517
+ verifyFallback: z.ZodOptional<z.ZodBoolean>;
3518
+ /** JSON-Schema definition for structured output. */
3519
+ schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3520
+ }, "strip", z.ZodTypeAny, {
3521
+ citationsRequired?: boolean | undefined;
3522
+ verifyFallback?: boolean | undefined;
3523
+ schema?: Record<string, unknown> | undefined;
3524
+ }, {
3525
+ citationsRequired?: boolean | undefined;
3526
+ verifyFallback?: boolean | undefined;
3527
+ schema?: Record<string, unknown> | undefined;
3528
+ }>>;
3529
+ contextPolicy: z.ZodOptional<z.ZodObject<{
3530
+ /** Advisory context budget. Unit: INPUT TOKENS. */
3531
+ budget: z.ZodOptional<z.ZodNumber>;
3532
+ }, "strip", z.ZodTypeAny, {
3533
+ budget?: number | undefined;
3534
+ }, {
3535
+ budget?: number | undefined;
3536
+ }>>;
3537
+ runMetadata: z.ZodOptional<z.ZodObject<{
3538
+ /** The command/module that issued the run (e.g. `spec`, `review`). */
3539
+ caller: z.ZodOptional<z.ZodString>;
3540
+ /** The CLI command identity the run served, when distinct from `caller`. */
3541
+ command: z.ZodOptional<z.ZodString>;
3542
+ /**
3543
+ * Whether the code-blind grounding guard fired for this run (mmnto-ai/totem#2106):
3544
+ * zero code chunks were retrieved, so the prompt carried the suppression
3545
+ * directive and the output is degraded/caveated. Recorded so run artifacts
3546
+ * (eval fixtures, #2100) are filterable by guard activation without
3547
+ * recomputing `code.length === 0` from the grounding bundle.
3548
+ */
3549
+ codeBlind: z.ZodOptional<z.ZodBoolean>;
3550
+ }, "strip", z.ZodTypeAny, {
3551
+ caller?: string | undefined;
3552
+ command?: string | undefined;
3553
+ codeBlind?: boolean | undefined;
3554
+ }, {
3555
+ caller?: string | undefined;
3556
+ command?: string | undefined;
3557
+ codeBlind?: boolean | undefined;
3558
+ }>>;
3559
+ }, "strip", z.ZodTypeAny, {
3560
+ outputContract?: {
3561
+ citationsRequired?: boolean | undefined;
3562
+ verifyFallback?: boolean | undefined;
3563
+ schema?: Record<string, unknown> | undefined;
3564
+ } | undefined;
3565
+ contextPolicy?: {
3566
+ budget?: number | undefined;
3567
+ } | undefined;
3568
+ runMetadata?: {
3569
+ caller?: string | undefined;
3570
+ command?: string | undefined;
3571
+ codeBlind?: boolean | undefined;
3572
+ } | undefined;
3573
+ }, {
3574
+ outputContract?: {
3575
+ citationsRequired?: boolean | undefined;
3576
+ verifyFallback?: boolean | undefined;
3577
+ schema?: Record<string, unknown> | undefined;
3578
+ } | undefined;
3579
+ contextPolicy?: {
3580
+ budget?: number | undefined;
3581
+ } | undefined;
3582
+ runMetadata?: {
3583
+ caller?: string | undefined;
3584
+ command?: string | undefined;
3585
+ codeBlind?: boolean | undefined;
3586
+ } | undefined;
3587
+ }>>;
3588
+ /**
3589
+ * ISO-8601 emission time. EXCLUDED from the content address (identical runs
3590
+ * dedup to one artifact regardless of when they ran) — observability only.
3591
+ */
3592
+ createdAt: z.ZodString;
3593
+ }, "strip", z.ZodTypeAny, {
3594
+ createdAt: string;
3595
+ schemaVersion: string;
3596
+ inputBundle: {
3597
+ maskedPrompt: string;
3598
+ maskedSystemPrompt?: string | undefined;
3599
+ diffScope?: string | undefined;
3600
+ specContract?: string | undefined;
3601
+ };
3602
+ inputHash: string;
3603
+ grounding: {
3604
+ hash: string;
3605
+ provenanceSummary: string;
3606
+ bundle?: {
3607
+ items: {
3608
+ filePath: string;
3609
+ contentHash: string;
3610
+ provenance: string;
3611
+ sourceType: string;
3612
+ sourceRepo?: string | undefined;
3613
+ }[];
3614
+ } | undefined;
3615
+ };
3616
+ backend: {
3617
+ model: string;
3618
+ provider: string;
3619
+ qualifiedModel: string;
3620
+ admissionClass: "completion_only" | "self_grounding_agent";
3621
+ taskProfile: string;
3622
+ temperature?: number | undefined;
3623
+ };
3624
+ output: {
3625
+ content: string;
3626
+ metrics: {
3627
+ durationMs: number;
3628
+ inputTokens?: number | null | undefined;
3629
+ outputTokens?: number | null | undefined;
3630
+ cacheReadInputTokens?: number | null | undefined;
3631
+ finishReason?: string | undefined;
3632
+ };
3633
+ execution?: {
3634
+ attempts: {
3635
+ status: "succeeded" | "failed";
3636
+ model: string;
3637
+ provider: string;
3638
+ sequence: number;
3639
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
3640
+ durationMs: number;
3641
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
3642
+ providerStatus?: number | undefined;
3643
+ providerCode?: string | undefined;
3644
+ process?: {
3645
+ exitCode: number | null;
3646
+ signal: string | null;
3647
+ timedOut: boolean;
3648
+ stdout?: {
3649
+ encoding: "utf-8";
3650
+ head: string;
3651
+ observedBytes: number;
3652
+ retainedBytes: number;
3653
+ limitBytes: number;
3654
+ truncated: boolean;
3655
+ dlp: "masked" | "omitted-on-mask-failure";
3656
+ tail?: string | undefined;
3657
+ } | undefined;
3658
+ timeoutMs?: number | undefined;
3659
+ stderr?: {
3660
+ encoding: "utf-8";
3661
+ head: string;
3662
+ observedBytes: number;
3663
+ retainedBytes: number;
3664
+ limitBytes: number;
3665
+ truncated: boolean;
3666
+ dlp: "masked" | "omitted-on-mask-failure";
3667
+ tail?: string | undefined;
3668
+ } | undefined;
3669
+ } | undefined;
3670
+ }[];
3671
+ } | undefined;
3672
+ };
3673
+ admission?: {
3674
+ outputContract?: {
3675
+ citationsRequired?: boolean | undefined;
3676
+ verifyFallback?: boolean | undefined;
3677
+ schema?: Record<string, unknown> | undefined;
3678
+ } | undefined;
3679
+ contextPolicy?: {
3680
+ budget?: number | undefined;
3681
+ } | undefined;
3682
+ runMetadata?: {
3683
+ caller?: string | undefined;
3684
+ command?: string | undefined;
3685
+ codeBlind?: boolean | undefined;
3686
+ } | undefined;
3687
+ } | undefined;
3688
+ }, {
3689
+ createdAt: string;
3690
+ schemaVersion: string;
3691
+ inputBundle: {
3692
+ maskedPrompt: string;
3693
+ maskedSystemPrompt?: string | undefined;
3694
+ diffScope?: string | undefined;
3695
+ specContract?: string | undefined;
3696
+ };
3697
+ inputHash: string;
3698
+ grounding: {
3699
+ hash: string;
3700
+ provenanceSummary: string;
3701
+ bundle?: {
3702
+ items: {
3703
+ filePath: string;
3704
+ contentHash: string;
3705
+ provenance: string;
3706
+ sourceType: string;
3707
+ sourceRepo?: string | undefined;
3708
+ }[];
3709
+ } | undefined;
3710
+ };
3711
+ backend: {
3712
+ model: string;
3713
+ provider: string;
3714
+ qualifiedModel: string;
3715
+ admissionClass: "completion_only" | "self_grounding_agent";
3716
+ taskProfile: string;
3717
+ temperature?: number | undefined;
3718
+ };
3719
+ output: {
3720
+ content: string;
3721
+ metrics: {
3722
+ durationMs: number;
3723
+ inputTokens?: number | null | undefined;
3724
+ outputTokens?: number | null | undefined;
3725
+ cacheReadInputTokens?: number | null | undefined;
3726
+ finishReason?: string | undefined;
3727
+ };
3728
+ execution?: {
3729
+ attempts: {
3730
+ status: "succeeded" | "failed";
3731
+ model: string;
3732
+ provider: string;
3733
+ sequence: number;
3734
+ route: "sdk" | "cli-fallback" | "configured-shell" | "quota-model-fallback";
3735
+ durationMs: number;
3736
+ failureKind?: "unknown" | "auth" | "quota" | "model" | "process-spawn" | "process-exit" | "timeout" | undefined;
3737
+ providerStatus?: number | undefined;
3738
+ providerCode?: string | undefined;
3739
+ process?: {
3740
+ exitCode: number | null;
3741
+ signal: string | null;
3742
+ timedOut: boolean;
3743
+ stdout?: {
3744
+ encoding: "utf-8";
3745
+ head: string;
3746
+ observedBytes: number;
3747
+ retainedBytes: number;
3748
+ limitBytes: number;
3749
+ truncated: boolean;
3750
+ dlp: "masked" | "omitted-on-mask-failure";
3751
+ tail?: string | undefined;
3752
+ } | undefined;
3753
+ timeoutMs?: number | undefined;
3754
+ stderr?: {
3755
+ encoding: "utf-8";
3756
+ head: string;
3757
+ observedBytes: number;
3758
+ retainedBytes: number;
3759
+ limitBytes: number;
3760
+ truncated: boolean;
3761
+ dlp: "masked" | "omitted-on-mask-failure";
3762
+ tail?: string | undefined;
3763
+ } | undefined;
3764
+ } | undefined;
3765
+ }[];
3766
+ } | undefined;
717
3767
  };
718
3768
  admission?: {
719
3769
  outputContract?: {
@@ -732,6 +3782,12 @@ export declare const RunArtifactSchema: z.ZodObject<{
732
3782
  } | undefined;
733
3783
  }>;
734
3784
  export type RunArtifact = z.infer<typeof RunArtifactSchema>;
3785
+ export type InvokeFailureKind = z.infer<typeof InvokeFailureKindSchema>;
3786
+ export type BoundedTextEvidence = z.infer<typeof BoundedTextEvidenceSchema>;
3787
+ export type InvokeProcessEvidence = z.infer<typeof InvokeProcessEvidenceSchema>;
3788
+ export type InvokeAttemptEvidence = z.infer<typeof InvokeAttemptEvidenceSchema>;
3789
+ export type RunExecutionEvidence = z.infer<typeof RunExecutionEvidenceSchema>;
3790
+ export type InvocationFailureArtifact = z.infer<typeof InvocationFailureArtifactSchema>;
735
3791
  export type InputBundle = z.infer<typeof InputBundleSchema>;
736
3792
  export type GroundingItem = z.infer<typeof GroundingItemSchema>;
737
3793
  export type GroundingBundle = z.infer<typeof GroundingBundleSchema>;