statelyai 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,8 +1,27 @@
1
1
  import { Command } from "@oclif/core";
2
+ import { z } from "zod";
2
3
  import { ConnectedRepo, CreateProjectInput, OAuthAuthorizationServerMetadata, OAuthProtectedResourceMetadata, ProjectData, ProjectMachineSummary, StudioClient } from "@statelyai/sdk";
3
4
  import { SyncPlan } from "@statelyai/sdk/sync";
4
5
  import * as _oclif_core_interfaces0 from "@oclif/core/interfaces";
5
6
 
7
+ //#region src/verifyCommand.d.ts
8
+ declare class VerifyCommand extends Command {
9
+ static enableJsonFlag: boolean;
10
+ static summary: string;
11
+ static description: string;
12
+ static flags: {
13
+ model: _oclif_core_interfaces0.OptionFlag<string | undefined, _oclif_core_interfaces0.CustomOptions>;
14
+ bindings: _oclif_core_interfaces0.OptionFlag<string | undefined, _oclif_core_interfaces0.CustomOptions>;
15
+ baseline: _oclif_core_interfaces0.OptionFlag<string | undefined, _oclif_core_interfaces0.CustomOptions>;
16
+ config: _oclif_core_interfaces0.OptionFlag<string | undefined, _oclif_core_interfaces0.CustomOptions>;
17
+ 'from-report': _oclif_core_interfaces0.OptionFlag<string | undefined, _oclif_core_interfaces0.CustomOptions>;
18
+ report: _oclif_core_interfaces0.OptionFlag<string | undefined, _oclif_core_interfaces0.CustomOptions>;
19
+ 'report-format': _oclif_core_interfaces0.OptionFlag<string, _oclif_core_interfaces0.CustomOptions>;
20
+ 'fail-on': _oclif_core_interfaces0.OptionFlag<string, _oclif_core_interfaces0.CustomOptions>;
21
+ };
22
+ run(): Promise<void>;
23
+ }
24
+ //#endregion
6
25
  //#region src/credentials.d.ts
7
26
  type StatelyCredential = {
8
27
  type: 'api_key';
@@ -388,6 +407,7 @@ declare class WhoamiCommand extends Command {
388
407
  run(): Promise<void>;
389
408
  }
390
409
  declare const COMMANDS: {
410
+ verify: typeof VerifyCommand;
391
411
  plan: typeof PlanCommand;
392
412
  diff: typeof DiffCommand;
393
413
  pull: typeof PullCommand;
@@ -402,4 +422,922 @@ declare const COMMANDS: {
402
422
  };
403
423
  declare function run(argv?: string[], entryUrl?: string): Promise<void>;
404
424
  //#endregion
405
- export { ApiKeyResolution, COMMANDS, CredentialStatus, DiscoveredMachine, InitProjectOptions, InitProjectResult, LinkedPullTarget, OAuthLoginDiscovery, ProjectMachineStatus, ProjectStatusMachine, ProjectStatusResult, PushCandidateClassification, RemoteProjectMachineTarget, ResolveApiKeyOptions, ResolvedConfiguredPullTargets, ScanProjectSourcesOptions, buildOAuthLoginStart, classifyPushCandidates, createStatelyProjectConfig, discoverLinkedPullTargets, discoverMachinesInSource, discoverOAuthLogin, discoverRemoteProjectMachineTargets, formatDiscoveredMachines, formatMissingNewMachineDirMessage, formatPlanSummary, formatProjectStatus, formatStoredCredentialSource, getEnvApiKey, getEnvCredential, inferInitProjectName, initProject, isFileGitDirty, resolveApiKey, resolveConfiguredPullTargets, resolveCredentialStatus, resolveProjectStatus, run, scanProjectMachines, scanProjectSources };
425
+ //#region ../api-contract/dist/verification.d.mts
426
+ /** MBT version-one run report. Optional path/probe records support older reports. */
427
+ declare const verificationRunReportSchema: z.ZodObject<{
428
+ version: z.ZodLiteral<1>;
429
+ suite: z.ZodString;
430
+ status: z.ZodEnum<{
431
+ passed: "passed";
432
+ failed: "failed";
433
+ }>;
434
+ verdict: z.ZodEnum<{
435
+ conformant: "conformant";
436
+ divergent: "divergent";
437
+ inconclusive: "inconclusive";
438
+ }>;
439
+ coverage: z.ZodEnum<{
440
+ shortest: "shortest";
441
+ simple: "simple";
442
+ }>;
443
+ scenario: z.ZodOptional<z.ZodString>;
444
+ startedAt: z.ZodISODateTime;
445
+ completedAt: z.ZodISODateTime;
446
+ durationMs: z.ZodNumber;
447
+ exitCode: z.ZodNumber;
448
+ weakOracles: z.ZodBoolean;
449
+ phases: z.ZodArray<z.ZodObject<{
450
+ name: z.ZodEnum<{
451
+ exploration: "exploration";
452
+ verification: "verification";
453
+ }>;
454
+ status: z.ZodEnum<{
455
+ completed: "completed";
456
+ skipped: "skipped";
457
+ }>;
458
+ aiFree: z.ZodBoolean;
459
+ }, z.core.$strip>>;
460
+ probePlan: z.ZodObject<{
461
+ cap: z.ZodNumber;
462
+ totalCandidates: z.ZodNumber;
463
+ samplingRule: z.ZodString;
464
+ }, z.core.$strip>;
465
+ metrics: z.ZodObject<{
466
+ fitness: z.ZodOptional<z.ZodObject<{
467
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"n/a">]>;
468
+ detail: z.ZodString;
469
+ }, z.core.$strip>>;
470
+ precision: z.ZodObject<{
471
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"n/a">]>;
472
+ detail: z.ZodString;
473
+ }, z.core.$strip>;
474
+ soundnessRatio: z.ZodObject<{
475
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"n/a">]>;
476
+ detail: z.ZodString;
477
+ }, z.core.$strip>;
478
+ frontierSize: z.ZodObject<{
479
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"n/a">]>;
480
+ detail: z.ZodString;
481
+ }, z.core.$strip>;
482
+ determinism: z.ZodObject<{
483
+ value: z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"n/a">]>;
484
+ detail: z.ZodString;
485
+ }, z.core.$strip>;
486
+ }, z.core.$loose>;
487
+ modelCoverage: z.ZodObject<{
488
+ states: z.ZodObject<{
489
+ covered: z.ZodNumber;
490
+ total: z.ZodNumber;
491
+ uncovered: z.ZodArray<z.ZodString>;
492
+ }, z.core.$strip>;
493
+ transitions: z.ZodObject<{
494
+ covered: z.ZodNumber;
495
+ total: z.ZodNumber;
496
+ uncovered: z.ZodArray<z.ZodString>;
497
+ }, z.core.$strip>;
498
+ eventCases: z.ZodObject<{
499
+ covered: z.ZodNumber;
500
+ total: z.ZodNumber;
501
+ uncovered: z.ZodArray<z.ZodString>;
502
+ }, z.core.$strip>;
503
+ percent: z.ZodObject<{
504
+ states: z.ZodNumber;
505
+ transitions: z.ZodNumber;
506
+ eventCases: z.ZodNumber;
507
+ overall: z.ZodNumber;
508
+ }, z.core.$strip>;
509
+ }, z.core.$strip>;
510
+ executedCoverage: z.ZodObject<{
511
+ states: z.ZodObject<{
512
+ covered: z.ZodNumber;
513
+ total: z.ZodNumber;
514
+ uncovered: z.ZodArray<z.ZodString>;
515
+ }, z.core.$strip>;
516
+ transitions: z.ZodObject<{
517
+ covered: z.ZodNumber;
518
+ total: z.ZodNumber;
519
+ uncovered: z.ZodArray<z.ZodString>;
520
+ }, z.core.$strip>;
521
+ eventCases: z.ZodObject<{
522
+ covered: z.ZodNumber;
523
+ total: z.ZodNumber;
524
+ uncovered: z.ZodArray<z.ZodString>;
525
+ }, z.core.$strip>;
526
+ percent: z.ZodObject<{
527
+ states: z.ZodNumber;
528
+ transitions: z.ZodNumber;
529
+ eventCases: z.ZodNumber;
530
+ overall: z.ZodNumber;
531
+ }, z.core.$strip>;
532
+ }, z.core.$strip>;
533
+ paths: z.ZodOptional<z.ZodArray<z.ZodObject<{
534
+ type: z.ZodLiteral<"path-result">;
535
+ id: z.ZodString;
536
+ status: z.ZodEnum<{
537
+ passed: "passed";
538
+ failed: "failed";
539
+ }>;
540
+ witnessedStates: z.ZodArray<z.ZodString>;
541
+ witnessedTransitions: z.ZodArray<z.ZodString>;
542
+ }, z.core.$loose>>>;
543
+ probes: z.ZodOptional<z.ZodArray<z.ZodObject<{
544
+ type: z.ZodLiteral<"probe-result">;
545
+ id: z.ZodString;
546
+ state: z.ZodString;
547
+ event: z.ZodString;
548
+ status: z.ZodEnum<{
549
+ passed: "passed";
550
+ failed: "failed";
551
+ }>;
552
+ }, z.core.$strip>>>;
553
+ divergences: z.ZodArray<z.ZodObject<{
554
+ version: z.ZodLiteral<1>;
555
+ id: z.ZodString;
556
+ kind: z.ZodEnum<{
557
+ expectation: "expectation";
558
+ "negative-probe": "negative-probe";
559
+ }>;
560
+ classification: z.ZodEnum<{
561
+ unclassified: "unclassified";
562
+ "model-gap": "model-gap";
563
+ "behavior-gap": "behavior-gap";
564
+ flake: "flake";
565
+ }>;
566
+ pathId: z.ZodOptional<z.ZodString>;
567
+ witness: z.ZodObject<{
568
+ path: z.ZodArray<z.ZodObject<{
569
+ index: z.ZodNumber;
570
+ event: z.ZodObject<{
571
+ type: z.ZodString;
572
+ }, z.core.$catchall<z.ZodUnknown>>;
573
+ expectedState: z.ZodUnknown;
574
+ }, z.core.$strip>>;
575
+ stepCount: z.ZodNumber;
576
+ }, z.core.$strip>;
577
+ minimalWitness: z.ZodOptional<z.ZodObject<{
578
+ steps: z.ZodArray<z.ZodObject<{
579
+ index: z.ZodNumber;
580
+ event: z.ZodObject<{
581
+ type: z.ZodString;
582
+ }, z.core.$catchall<z.ZodUnknown>>;
583
+ expectedState: z.ZodUnknown;
584
+ }, z.core.$strip>>;
585
+ pathLength: z.ZodNumber;
586
+ candidatesTried: z.ZodNumber;
587
+ reproduced: z.ZodBoolean;
588
+ }, z.core.$strip>>;
589
+ expected: z.ZodObject<{
590
+ state: z.ZodString;
591
+ predicateResults: z.ZodArray<z.ZodObject<{
592
+ state: z.ZodString;
593
+ status: z.ZodEnum<{
594
+ passed: "passed";
595
+ failed: "failed";
596
+ }>;
597
+ signals: z.ZodArray<z.ZodString>;
598
+ message: z.ZodOptional<z.ZodString>;
599
+ }, z.core.$strip>>;
600
+ refusal: z.ZodOptional<z.ZodObject<{
601
+ stateUnchanged: z.ZodLiteral<true>;
602
+ noNavigationOrMutation: z.ZodLiteral<true>;
603
+ }, z.core.$strip>>;
604
+ }, z.core.$strip>;
605
+ observed: z.ZodObject<{
606
+ predicateResults: z.ZodArray<z.ZodObject<{
607
+ state: z.ZodString;
608
+ status: z.ZodEnum<{
609
+ passed: "passed";
610
+ failed: "failed";
611
+ }>;
612
+ signals: z.ZodArray<z.ZodString>;
613
+ message: z.ZodOptional<z.ZodString>;
614
+ }, z.core.$strip>>;
615
+ snapshot: z.ZodObject<{
616
+ url: z.ZodString;
617
+ title: z.ZodString;
618
+ visibleText: z.ZodString;
619
+ domHash: z.ZodString;
620
+ mutationCount: z.ZodOptional<z.ZodNumber>;
621
+ requestCount: z.ZodOptional<z.ZodNumber>;
622
+ }, z.core.$strip>;
623
+ error: z.ZodOptional<z.ZodString>;
624
+ }, z.core.$strip>;
625
+ screenshotPath: z.ZodString;
626
+ provenance: z.ZodObject<{
627
+ suite: z.ZodString;
628
+ modelVersion: z.ZodString;
629
+ modelHash: z.ZodString;
630
+ appBaseUrl: z.ZodString;
631
+ timestamp: z.ZodString;
632
+ traceFileRef: z.ZodString;
633
+ }, z.core.$strip>;
634
+ weakOracles: z.ZodBoolean;
635
+ }, z.core.$loose>>;
636
+ ledger: z.ZodArray<z.ZodObject<{
637
+ type: z.ZodLiteral<"divergence">;
638
+ timestamp: z.ZodString;
639
+ divergence: z.ZodObject<{
640
+ version: z.ZodLiteral<1>;
641
+ id: z.ZodString;
642
+ kind: z.ZodEnum<{
643
+ expectation: "expectation";
644
+ "negative-probe": "negative-probe";
645
+ }>;
646
+ classification: z.ZodEnum<{
647
+ unclassified: "unclassified";
648
+ "model-gap": "model-gap";
649
+ "behavior-gap": "behavior-gap";
650
+ flake: "flake";
651
+ }>;
652
+ pathId: z.ZodOptional<z.ZodString>;
653
+ witness: z.ZodObject<{
654
+ path: z.ZodArray<z.ZodObject<{
655
+ index: z.ZodNumber;
656
+ event: z.ZodObject<{
657
+ type: z.ZodString;
658
+ }, z.core.$catchall<z.ZodUnknown>>;
659
+ expectedState: z.ZodUnknown;
660
+ }, z.core.$strip>>;
661
+ stepCount: z.ZodNumber;
662
+ }, z.core.$strip>;
663
+ minimalWitness: z.ZodOptional<z.ZodObject<{
664
+ steps: z.ZodArray<z.ZodObject<{
665
+ index: z.ZodNumber;
666
+ event: z.ZodObject<{
667
+ type: z.ZodString;
668
+ }, z.core.$catchall<z.ZodUnknown>>;
669
+ expectedState: z.ZodUnknown;
670
+ }, z.core.$strip>>;
671
+ pathLength: z.ZodNumber;
672
+ candidatesTried: z.ZodNumber;
673
+ reproduced: z.ZodBoolean;
674
+ }, z.core.$strip>>;
675
+ expected: z.ZodObject<{
676
+ state: z.ZodString;
677
+ predicateResults: z.ZodArray<z.ZodObject<{
678
+ state: z.ZodString;
679
+ status: z.ZodEnum<{
680
+ passed: "passed";
681
+ failed: "failed";
682
+ }>;
683
+ signals: z.ZodArray<z.ZodString>;
684
+ message: z.ZodOptional<z.ZodString>;
685
+ }, z.core.$strip>>;
686
+ refusal: z.ZodOptional<z.ZodObject<{
687
+ stateUnchanged: z.ZodLiteral<true>;
688
+ noNavigationOrMutation: z.ZodLiteral<true>;
689
+ }, z.core.$strip>>;
690
+ }, z.core.$strip>;
691
+ observed: z.ZodObject<{
692
+ predicateResults: z.ZodArray<z.ZodObject<{
693
+ state: z.ZodString;
694
+ status: z.ZodEnum<{
695
+ passed: "passed";
696
+ failed: "failed";
697
+ }>;
698
+ signals: z.ZodArray<z.ZodString>;
699
+ message: z.ZodOptional<z.ZodString>;
700
+ }, z.core.$strip>>;
701
+ snapshot: z.ZodObject<{
702
+ url: z.ZodString;
703
+ title: z.ZodString;
704
+ visibleText: z.ZodString;
705
+ domHash: z.ZodString;
706
+ mutationCount: z.ZodOptional<z.ZodNumber>;
707
+ requestCount: z.ZodOptional<z.ZodNumber>;
708
+ }, z.core.$strip>;
709
+ error: z.ZodOptional<z.ZodString>;
710
+ }, z.core.$strip>;
711
+ screenshotPath: z.ZodString;
712
+ provenance: z.ZodObject<{
713
+ suite: z.ZodString;
714
+ modelVersion: z.ZodString;
715
+ modelHash: z.ZodString;
716
+ appBaseUrl: z.ZodString;
717
+ timestamp: z.ZodString;
718
+ traceFileRef: z.ZodString;
719
+ }, z.core.$strip>;
720
+ weakOracles: z.ZodBoolean;
721
+ }, z.core.$loose>;
722
+ }, z.core.$strip>>;
723
+ }, z.core.$loose>;
724
+ type VerificationRunReport = z.infer<typeof verificationRunReportSchema>;
725
+ declare const verificationFailOnSchema: z.ZodEnum<{
726
+ divergent: "divergent";
727
+ inconclusive: "inconclusive";
728
+ }>;
729
+ type VerificationFailOn = z.infer<typeof verificationFailOnSchema>;
730
+ /** References are inert data. The host resolves them inside its execution boundary. */
731
+ declare const verificationRequestSchema: z.ZodObject<{
732
+ model: z.ZodDiscriminatedUnion<[z.ZodObject<{
733
+ kind: z.ZodLiteral<"source">;
734
+ content: z.ZodString;
735
+ name: z.ZodOptional<z.ZodString>;
736
+ }, z.core.$strip>, z.ZodObject<{
737
+ kind: z.ZodLiteral<"machine">;
738
+ machineId: z.ZodString;
739
+ }, z.core.$strip>], "kind">;
740
+ bindings: z.ZodOptional<z.ZodObject<{
741
+ content: z.ZodString;
742
+ name: z.ZodOptional<z.ZodString>;
743
+ }, z.core.$strip>>;
744
+ baseline: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
745
+ kind: z.ZodLiteral<"report">;
746
+ report: z.ZodObject<{
747
+ version: z.ZodLiteral<1>;
748
+ suite: z.ZodString;
749
+ status: z.ZodEnum<{
750
+ passed: "passed";
751
+ failed: "failed";
752
+ }>;
753
+ verdict: z.ZodEnum<{
754
+ conformant: "conformant";
755
+ divergent: "divergent";
756
+ inconclusive: "inconclusive";
757
+ }>;
758
+ coverage: z.ZodEnum<{
759
+ shortest: "shortest";
760
+ simple: "simple";
761
+ }>;
762
+ scenario: z.ZodOptional<z.ZodString>;
763
+ startedAt: z.ZodISODateTime;
764
+ completedAt: z.ZodISODateTime;
765
+ durationMs: z.ZodNumber;
766
+ exitCode: z.ZodNumber;
767
+ weakOracles: z.ZodBoolean;
768
+ phases: z.ZodArray<z.ZodObject<{
769
+ name: z.ZodEnum<{
770
+ exploration: "exploration";
771
+ verification: "verification";
772
+ }>;
773
+ status: z.ZodEnum<{
774
+ completed: "completed";
775
+ skipped: "skipped";
776
+ }>;
777
+ aiFree: z.ZodBoolean;
778
+ }, z.core.$strip>>;
779
+ probePlan: z.ZodObject<{
780
+ cap: z.ZodNumber;
781
+ totalCandidates: z.ZodNumber;
782
+ samplingRule: z.ZodString;
783
+ }, z.core.$strip>;
784
+ metrics: z.ZodObject<{
785
+ fitness: z.ZodOptional<z.ZodObject<{
786
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"n/a">]>;
787
+ detail: z.ZodString;
788
+ }, z.core.$strip>>;
789
+ precision: z.ZodObject<{
790
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"n/a">]>;
791
+ detail: z.ZodString;
792
+ }, z.core.$strip>;
793
+ soundnessRatio: z.ZodObject<{
794
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"n/a">]>;
795
+ detail: z.ZodString;
796
+ }, z.core.$strip>;
797
+ frontierSize: z.ZodObject<{
798
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"n/a">]>;
799
+ detail: z.ZodString;
800
+ }, z.core.$strip>;
801
+ determinism: z.ZodObject<{
802
+ value: z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"n/a">]>;
803
+ detail: z.ZodString;
804
+ }, z.core.$strip>;
805
+ }, z.core.$loose>;
806
+ modelCoverage: z.ZodObject<{
807
+ states: z.ZodObject<{
808
+ covered: z.ZodNumber;
809
+ total: z.ZodNumber;
810
+ uncovered: z.ZodArray<z.ZodString>;
811
+ }, z.core.$strip>;
812
+ transitions: z.ZodObject<{
813
+ covered: z.ZodNumber;
814
+ total: z.ZodNumber;
815
+ uncovered: z.ZodArray<z.ZodString>;
816
+ }, z.core.$strip>;
817
+ eventCases: z.ZodObject<{
818
+ covered: z.ZodNumber;
819
+ total: z.ZodNumber;
820
+ uncovered: z.ZodArray<z.ZodString>;
821
+ }, z.core.$strip>;
822
+ percent: z.ZodObject<{
823
+ states: z.ZodNumber;
824
+ transitions: z.ZodNumber;
825
+ eventCases: z.ZodNumber;
826
+ overall: z.ZodNumber;
827
+ }, z.core.$strip>;
828
+ }, z.core.$strip>;
829
+ executedCoverage: z.ZodObject<{
830
+ states: z.ZodObject<{
831
+ covered: z.ZodNumber;
832
+ total: z.ZodNumber;
833
+ uncovered: z.ZodArray<z.ZodString>;
834
+ }, z.core.$strip>;
835
+ transitions: z.ZodObject<{
836
+ covered: z.ZodNumber;
837
+ total: z.ZodNumber;
838
+ uncovered: z.ZodArray<z.ZodString>;
839
+ }, z.core.$strip>;
840
+ eventCases: z.ZodObject<{
841
+ covered: z.ZodNumber;
842
+ total: z.ZodNumber;
843
+ uncovered: z.ZodArray<z.ZodString>;
844
+ }, z.core.$strip>;
845
+ percent: z.ZodObject<{
846
+ states: z.ZodNumber;
847
+ transitions: z.ZodNumber;
848
+ eventCases: z.ZodNumber;
849
+ overall: z.ZodNumber;
850
+ }, z.core.$strip>;
851
+ }, z.core.$strip>;
852
+ paths: z.ZodOptional<z.ZodArray<z.ZodObject<{
853
+ type: z.ZodLiteral<"path-result">;
854
+ id: z.ZodString;
855
+ status: z.ZodEnum<{
856
+ passed: "passed";
857
+ failed: "failed";
858
+ }>;
859
+ witnessedStates: z.ZodArray<z.ZodString>;
860
+ witnessedTransitions: z.ZodArray<z.ZodString>;
861
+ }, z.core.$loose>>>;
862
+ probes: z.ZodOptional<z.ZodArray<z.ZodObject<{
863
+ type: z.ZodLiteral<"probe-result">;
864
+ id: z.ZodString;
865
+ state: z.ZodString;
866
+ event: z.ZodString;
867
+ status: z.ZodEnum<{
868
+ passed: "passed";
869
+ failed: "failed";
870
+ }>;
871
+ }, z.core.$strip>>>;
872
+ divergences: z.ZodArray<z.ZodObject<{
873
+ version: z.ZodLiteral<1>;
874
+ id: z.ZodString;
875
+ kind: z.ZodEnum<{
876
+ expectation: "expectation";
877
+ "negative-probe": "negative-probe";
878
+ }>;
879
+ classification: z.ZodEnum<{
880
+ unclassified: "unclassified";
881
+ "model-gap": "model-gap";
882
+ "behavior-gap": "behavior-gap";
883
+ flake: "flake";
884
+ }>;
885
+ pathId: z.ZodOptional<z.ZodString>;
886
+ witness: z.ZodObject<{
887
+ path: z.ZodArray<z.ZodObject<{
888
+ index: z.ZodNumber;
889
+ event: z.ZodObject<{
890
+ type: z.ZodString;
891
+ }, z.core.$catchall<z.ZodUnknown>>;
892
+ expectedState: z.ZodUnknown;
893
+ }, z.core.$strip>>;
894
+ stepCount: z.ZodNumber;
895
+ }, z.core.$strip>;
896
+ minimalWitness: z.ZodOptional<z.ZodObject<{
897
+ steps: z.ZodArray<z.ZodObject<{
898
+ index: z.ZodNumber;
899
+ event: z.ZodObject<{
900
+ type: z.ZodString;
901
+ }, z.core.$catchall<z.ZodUnknown>>;
902
+ expectedState: z.ZodUnknown;
903
+ }, z.core.$strip>>;
904
+ pathLength: z.ZodNumber;
905
+ candidatesTried: z.ZodNumber;
906
+ reproduced: z.ZodBoolean;
907
+ }, z.core.$strip>>;
908
+ expected: z.ZodObject<{
909
+ state: z.ZodString;
910
+ predicateResults: z.ZodArray<z.ZodObject<{
911
+ state: z.ZodString;
912
+ status: z.ZodEnum<{
913
+ passed: "passed";
914
+ failed: "failed";
915
+ }>;
916
+ signals: z.ZodArray<z.ZodString>;
917
+ message: z.ZodOptional<z.ZodString>;
918
+ }, z.core.$strip>>;
919
+ refusal: z.ZodOptional<z.ZodObject<{
920
+ stateUnchanged: z.ZodLiteral<true>;
921
+ noNavigationOrMutation: z.ZodLiteral<true>;
922
+ }, z.core.$strip>>;
923
+ }, z.core.$strip>;
924
+ observed: z.ZodObject<{
925
+ predicateResults: z.ZodArray<z.ZodObject<{
926
+ state: z.ZodString;
927
+ status: z.ZodEnum<{
928
+ passed: "passed";
929
+ failed: "failed";
930
+ }>;
931
+ signals: z.ZodArray<z.ZodString>;
932
+ message: z.ZodOptional<z.ZodString>;
933
+ }, z.core.$strip>>;
934
+ snapshot: z.ZodObject<{
935
+ url: z.ZodString;
936
+ title: z.ZodString;
937
+ visibleText: z.ZodString;
938
+ domHash: z.ZodString;
939
+ mutationCount: z.ZodOptional<z.ZodNumber>;
940
+ requestCount: z.ZodOptional<z.ZodNumber>;
941
+ }, z.core.$strip>;
942
+ error: z.ZodOptional<z.ZodString>;
943
+ }, z.core.$strip>;
944
+ screenshotPath: z.ZodString;
945
+ provenance: z.ZodObject<{
946
+ suite: z.ZodString;
947
+ modelVersion: z.ZodString;
948
+ modelHash: z.ZodString;
949
+ appBaseUrl: z.ZodString;
950
+ timestamp: z.ZodString;
951
+ traceFileRef: z.ZodString;
952
+ }, z.core.$strip>;
953
+ weakOracles: z.ZodBoolean;
954
+ }, z.core.$loose>>;
955
+ ledger: z.ZodArray<z.ZodObject<{
956
+ type: z.ZodLiteral<"divergence">;
957
+ timestamp: z.ZodString;
958
+ divergence: z.ZodObject<{
959
+ version: z.ZodLiteral<1>;
960
+ id: z.ZodString;
961
+ kind: z.ZodEnum<{
962
+ expectation: "expectation";
963
+ "negative-probe": "negative-probe";
964
+ }>;
965
+ classification: z.ZodEnum<{
966
+ unclassified: "unclassified";
967
+ "model-gap": "model-gap";
968
+ "behavior-gap": "behavior-gap";
969
+ flake: "flake";
970
+ }>;
971
+ pathId: z.ZodOptional<z.ZodString>;
972
+ witness: z.ZodObject<{
973
+ path: z.ZodArray<z.ZodObject<{
974
+ index: z.ZodNumber;
975
+ event: z.ZodObject<{
976
+ type: z.ZodString;
977
+ }, z.core.$catchall<z.ZodUnknown>>;
978
+ expectedState: z.ZodUnknown;
979
+ }, z.core.$strip>>;
980
+ stepCount: z.ZodNumber;
981
+ }, z.core.$strip>;
982
+ minimalWitness: z.ZodOptional<z.ZodObject<{
983
+ steps: z.ZodArray<z.ZodObject<{
984
+ index: z.ZodNumber;
985
+ event: z.ZodObject<{
986
+ type: z.ZodString;
987
+ }, z.core.$catchall<z.ZodUnknown>>;
988
+ expectedState: z.ZodUnknown;
989
+ }, z.core.$strip>>;
990
+ pathLength: z.ZodNumber;
991
+ candidatesTried: z.ZodNumber;
992
+ reproduced: z.ZodBoolean;
993
+ }, z.core.$strip>>;
994
+ expected: z.ZodObject<{
995
+ state: z.ZodString;
996
+ predicateResults: z.ZodArray<z.ZodObject<{
997
+ state: z.ZodString;
998
+ status: z.ZodEnum<{
999
+ passed: "passed";
1000
+ failed: "failed";
1001
+ }>;
1002
+ signals: z.ZodArray<z.ZodString>;
1003
+ message: z.ZodOptional<z.ZodString>;
1004
+ }, z.core.$strip>>;
1005
+ refusal: z.ZodOptional<z.ZodObject<{
1006
+ stateUnchanged: z.ZodLiteral<true>;
1007
+ noNavigationOrMutation: z.ZodLiteral<true>;
1008
+ }, z.core.$strip>>;
1009
+ }, z.core.$strip>;
1010
+ observed: z.ZodObject<{
1011
+ predicateResults: z.ZodArray<z.ZodObject<{
1012
+ state: z.ZodString;
1013
+ status: z.ZodEnum<{
1014
+ passed: "passed";
1015
+ failed: "failed";
1016
+ }>;
1017
+ signals: z.ZodArray<z.ZodString>;
1018
+ message: z.ZodOptional<z.ZodString>;
1019
+ }, z.core.$strip>>;
1020
+ snapshot: z.ZodObject<{
1021
+ url: z.ZodString;
1022
+ title: z.ZodString;
1023
+ visibleText: z.ZodString;
1024
+ domHash: z.ZodString;
1025
+ mutationCount: z.ZodOptional<z.ZodNumber>;
1026
+ requestCount: z.ZodOptional<z.ZodNumber>;
1027
+ }, z.core.$strip>;
1028
+ error: z.ZodOptional<z.ZodString>;
1029
+ }, z.core.$strip>;
1030
+ screenshotPath: z.ZodString;
1031
+ provenance: z.ZodObject<{
1032
+ suite: z.ZodString;
1033
+ modelVersion: z.ZodString;
1034
+ modelHash: z.ZodString;
1035
+ appBaseUrl: z.ZodString;
1036
+ timestamp: z.ZodString;
1037
+ traceFileRef: z.ZodString;
1038
+ }, z.core.$strip>;
1039
+ weakOracles: z.ZodBoolean;
1040
+ }, z.core.$loose>;
1041
+ }, z.core.$strip>>;
1042
+ }, z.core.$loose>;
1043
+ }, z.core.$strip>, z.ZodObject<{
1044
+ kind: z.ZodLiteral<"reference">;
1045
+ id: z.ZodString;
1046
+ }, z.core.$strip>], "kind">>;
1047
+ }, z.core.$strip>;
1048
+ type VerificationRequest = z.infer<typeof verificationRequestSchema>;
1049
+ type VerificationExecutor = (request: VerificationRequest, policy: Readonly<{
1050
+ aiFree: true;
1051
+ network: 'deny';
1052
+ env: Readonly<{
1053
+ MBT_VERIFY_AI_FREE: '1';
1054
+ }>;
1055
+ }>) => Promise<unknown>;
1056
+ //#endregion
1057
+ //#region src/verification.d.ts
1058
+ interface VerifyProjectOptions {
1059
+ cwd?: string;
1060
+ configPath?: string;
1061
+ model?: string;
1062
+ bindings?: string;
1063
+ baseline?: string;
1064
+ fromReport?: string;
1065
+ report?: string;
1066
+ reportFormat?: 'json' | 'junit';
1067
+ failOn?: VerificationFailOn;
1068
+ /** Trusted host adapter. Must enforce the supplied isolation policy. */
1069
+ execute?: VerificationExecutor;
1070
+ }
1071
+ /** Read local source as data; never import or execute model/bindings modules. */
1072
+ declare function resolveVerificationRequest(options: VerifyProjectOptions): Promise<{
1073
+ request: VerificationRequest;
1074
+ inputFiles: string[];
1075
+ }>;
1076
+ declare function verifyProject(options?: VerifyProjectOptions): Promise<{
1077
+ report: {
1078
+ [x: string]: unknown;
1079
+ version: 1;
1080
+ suite: string;
1081
+ status: "passed" | "failed";
1082
+ verdict: "conformant" | "divergent" | "inconclusive";
1083
+ coverage: "shortest" | "simple";
1084
+ startedAt: string;
1085
+ completedAt: string;
1086
+ durationMs: number;
1087
+ exitCode: number;
1088
+ weakOracles: boolean;
1089
+ phases: {
1090
+ name: "exploration" | "verification";
1091
+ status: "completed" | "skipped";
1092
+ aiFree: boolean;
1093
+ }[];
1094
+ probePlan: {
1095
+ cap: number;
1096
+ totalCandidates: number;
1097
+ samplingRule: string;
1098
+ };
1099
+ metrics: {
1100
+ [x: string]: unknown;
1101
+ precision: {
1102
+ value: number | "n/a";
1103
+ detail: string;
1104
+ };
1105
+ soundnessRatio: {
1106
+ value: number | "n/a";
1107
+ detail: string;
1108
+ };
1109
+ frontierSize: {
1110
+ value: number | "n/a";
1111
+ detail: string;
1112
+ };
1113
+ determinism: {
1114
+ value: boolean | "n/a";
1115
+ detail: string;
1116
+ };
1117
+ fitness?: {
1118
+ value: number | "n/a";
1119
+ detail: string;
1120
+ } | undefined;
1121
+ };
1122
+ modelCoverage: {
1123
+ states: {
1124
+ covered: number;
1125
+ total: number;
1126
+ uncovered: string[];
1127
+ };
1128
+ transitions: {
1129
+ covered: number;
1130
+ total: number;
1131
+ uncovered: string[];
1132
+ };
1133
+ eventCases: {
1134
+ covered: number;
1135
+ total: number;
1136
+ uncovered: string[];
1137
+ };
1138
+ percent: {
1139
+ states: number;
1140
+ transitions: number;
1141
+ eventCases: number;
1142
+ overall: number;
1143
+ };
1144
+ };
1145
+ executedCoverage: {
1146
+ states: {
1147
+ covered: number;
1148
+ total: number;
1149
+ uncovered: string[];
1150
+ };
1151
+ transitions: {
1152
+ covered: number;
1153
+ total: number;
1154
+ uncovered: string[];
1155
+ };
1156
+ eventCases: {
1157
+ covered: number;
1158
+ total: number;
1159
+ uncovered: string[];
1160
+ };
1161
+ percent: {
1162
+ states: number;
1163
+ transitions: number;
1164
+ eventCases: number;
1165
+ overall: number;
1166
+ };
1167
+ };
1168
+ divergences: {
1169
+ [x: string]: unknown;
1170
+ version: 1;
1171
+ id: string;
1172
+ kind: "expectation" | "negative-probe";
1173
+ classification: "unclassified" | "model-gap" | "behavior-gap" | "flake";
1174
+ witness: {
1175
+ path: {
1176
+ index: number;
1177
+ event: {
1178
+ [x: string]: unknown;
1179
+ type: string;
1180
+ };
1181
+ expectedState: unknown;
1182
+ }[];
1183
+ stepCount: number;
1184
+ };
1185
+ expected: {
1186
+ state: string;
1187
+ predicateResults: {
1188
+ state: string;
1189
+ status: "passed" | "failed";
1190
+ signals: string[];
1191
+ message?: string | undefined;
1192
+ }[];
1193
+ refusal?: {
1194
+ stateUnchanged: true;
1195
+ noNavigationOrMutation: true;
1196
+ } | undefined;
1197
+ };
1198
+ observed: {
1199
+ predicateResults: {
1200
+ state: string;
1201
+ status: "passed" | "failed";
1202
+ signals: string[];
1203
+ message?: string | undefined;
1204
+ }[];
1205
+ snapshot: {
1206
+ url: string;
1207
+ title: string;
1208
+ visibleText: string;
1209
+ domHash: string;
1210
+ mutationCount?: number | undefined;
1211
+ requestCount?: number | undefined;
1212
+ };
1213
+ error?: string | undefined;
1214
+ };
1215
+ screenshotPath: string;
1216
+ provenance: {
1217
+ suite: string;
1218
+ modelVersion: string;
1219
+ modelHash: string;
1220
+ appBaseUrl: string;
1221
+ timestamp: string;
1222
+ traceFileRef: string;
1223
+ };
1224
+ weakOracles: boolean;
1225
+ pathId?: string | undefined;
1226
+ minimalWitness?: {
1227
+ steps: {
1228
+ index: number;
1229
+ event: {
1230
+ [x: string]: unknown;
1231
+ type: string;
1232
+ };
1233
+ expectedState: unknown;
1234
+ }[];
1235
+ pathLength: number;
1236
+ candidatesTried: number;
1237
+ reproduced: boolean;
1238
+ } | undefined;
1239
+ }[];
1240
+ ledger: {
1241
+ type: "divergence";
1242
+ timestamp: string;
1243
+ divergence: {
1244
+ [x: string]: unknown;
1245
+ version: 1;
1246
+ id: string;
1247
+ kind: "expectation" | "negative-probe";
1248
+ classification: "unclassified" | "model-gap" | "behavior-gap" | "flake";
1249
+ witness: {
1250
+ path: {
1251
+ index: number;
1252
+ event: {
1253
+ [x: string]: unknown;
1254
+ type: string;
1255
+ };
1256
+ expectedState: unknown;
1257
+ }[];
1258
+ stepCount: number;
1259
+ };
1260
+ expected: {
1261
+ state: string;
1262
+ predicateResults: {
1263
+ state: string;
1264
+ status: "passed" | "failed";
1265
+ signals: string[];
1266
+ message?: string | undefined;
1267
+ }[];
1268
+ refusal?: {
1269
+ stateUnchanged: true;
1270
+ noNavigationOrMutation: true;
1271
+ } | undefined;
1272
+ };
1273
+ observed: {
1274
+ predicateResults: {
1275
+ state: string;
1276
+ status: "passed" | "failed";
1277
+ signals: string[];
1278
+ message?: string | undefined;
1279
+ }[];
1280
+ snapshot: {
1281
+ url: string;
1282
+ title: string;
1283
+ visibleText: string;
1284
+ domHash: string;
1285
+ mutationCount?: number | undefined;
1286
+ requestCount?: number | undefined;
1287
+ };
1288
+ error?: string | undefined;
1289
+ };
1290
+ screenshotPath: string;
1291
+ provenance: {
1292
+ suite: string;
1293
+ modelVersion: string;
1294
+ modelHash: string;
1295
+ appBaseUrl: string;
1296
+ timestamp: string;
1297
+ traceFileRef: string;
1298
+ };
1299
+ weakOracles: boolean;
1300
+ pathId?: string | undefined;
1301
+ minimalWitness?: {
1302
+ steps: {
1303
+ index: number;
1304
+ event: {
1305
+ [x: string]: unknown;
1306
+ type: string;
1307
+ };
1308
+ expectedState: unknown;
1309
+ }[];
1310
+ pathLength: number;
1311
+ candidatesTried: number;
1312
+ reproduced: boolean;
1313
+ } | undefined;
1314
+ };
1315
+ }[];
1316
+ scenario?: string | undefined;
1317
+ paths?: {
1318
+ [x: string]: unknown;
1319
+ type: "path-result";
1320
+ id: string;
1321
+ status: "passed" | "failed";
1322
+ witnessedStates: string[];
1323
+ witnessedTransitions: string[];
1324
+ }[] | undefined;
1325
+ probes?: {
1326
+ type: "probe-result";
1327
+ id: string;
1328
+ state: string;
1329
+ event: string;
1330
+ status: "passed" | "failed";
1331
+ }[] | undefined;
1332
+ };
1333
+ output: string;
1334
+ destination: string;
1335
+ summary: string;
1336
+ exitCode: 0 | 1;
1337
+ }>;
1338
+ //#endregion
1339
+ //#region src/verificationJUnit.d.ts
1340
+ /** One case per recorded path/probe. Unattributed divergences remain separate cases. */
1341
+ declare function formatVerificationJUnit(report: VerificationRunReport): string;
1342
+ //#endregion
1343
+ export { ApiKeyResolution, COMMANDS, CredentialStatus, DiscoveredMachine, InitProjectOptions, InitProjectResult, LinkedPullTarget, OAuthLoginDiscovery, ProjectMachineStatus, ProjectStatusMachine, ProjectStatusResult, PushCandidateClassification, RemoteProjectMachineTarget, ResolveApiKeyOptions, ResolvedConfiguredPullTargets, ScanProjectSourcesOptions, type VerificationExecutor, type VerificationRequest, type VerificationRunReport, type VerifyProjectOptions, buildOAuthLoginStart, classifyPushCandidates, createStatelyProjectConfig, discoverLinkedPullTargets, discoverMachinesInSource, discoverOAuthLogin, discoverRemoteProjectMachineTargets, formatDiscoveredMachines, formatMissingNewMachineDirMessage, formatPlanSummary, formatProjectStatus, formatStoredCredentialSource, formatVerificationJUnit, getEnvApiKey, getEnvCredential, inferInitProjectName, initProject, isFileGitDirty, resolveApiKey, resolveConfiguredPullTargets, resolveCredentialStatus, resolveProjectStatus, resolveVerificationRequest, run, scanProjectMachines, scanProjectSources, verifyProject };