@harness-engineering/cli 6.0.0 → 6.0.1

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 (2) hide show
  1. package/dist/index.d.ts +655 -0
  2. package/package.json +3 -3
package/dist/index.d.ts CHANGED
@@ -411,54 +411,244 @@ declare const HarnessConfigSchema: z.ZodObject<{
411
411
  */
412
412
  backends: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
413
413
  type: z.ZodLiteral<"mock">;
414
+ capabilities: z.ZodOptional<z.ZodObject<{
415
+ tier: z.ZodEnum<["fast", "standard", "strong"]>;
416
+ costPer1kTokens: z.ZodNumber;
417
+ privacyClass: z.ZodEnum<["on-device", "pooled-isolated", "byo-endpoint", "shared-cloud"]>;
418
+ contextWindow: z.ZodNumber;
419
+ vision: z.ZodOptional<z.ZodBoolean>;
420
+ toolUse: z.ZodOptional<z.ZodBoolean>;
421
+ }, "strict", z.ZodTypeAny, {
422
+ tier: "fast" | "standard" | "strong";
423
+ costPer1kTokens: number;
424
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
425
+ contextWindow: number;
426
+ vision?: boolean | undefined;
427
+ toolUse?: boolean | undefined;
428
+ }, {
429
+ tier: "fast" | "standard" | "strong";
430
+ costPer1kTokens: number;
431
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
432
+ contextWindow: number;
433
+ vision?: boolean | undefined;
434
+ toolUse?: boolean | undefined;
435
+ }>>;
414
436
  }, "strict", z.ZodTypeAny, {
415
437
  type: "mock";
438
+ capabilities?: {
439
+ tier: "fast" | "standard" | "strong";
440
+ costPer1kTokens: number;
441
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
442
+ contextWindow: number;
443
+ vision?: boolean | undefined;
444
+ toolUse?: boolean | undefined;
445
+ } | undefined;
416
446
  }, {
417
447
  type: "mock";
448
+ capabilities?: {
449
+ tier: "fast" | "standard" | "strong";
450
+ costPer1kTokens: number;
451
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
452
+ contextWindow: number;
453
+ vision?: boolean | undefined;
454
+ toolUse?: boolean | undefined;
455
+ } | undefined;
418
456
  }>, z.ZodObject<{
419
457
  type: z.ZodLiteral<"claude">;
420
458
  command: z.ZodOptional<z.ZodString>;
459
+ capabilities: z.ZodOptional<z.ZodObject<{
460
+ tier: z.ZodEnum<["fast", "standard", "strong"]>;
461
+ costPer1kTokens: z.ZodNumber;
462
+ privacyClass: z.ZodEnum<["on-device", "pooled-isolated", "byo-endpoint", "shared-cloud"]>;
463
+ contextWindow: z.ZodNumber;
464
+ vision: z.ZodOptional<z.ZodBoolean>;
465
+ toolUse: z.ZodOptional<z.ZodBoolean>;
466
+ }, "strict", z.ZodTypeAny, {
467
+ tier: "fast" | "standard" | "strong";
468
+ costPer1kTokens: number;
469
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
470
+ contextWindow: number;
471
+ vision?: boolean | undefined;
472
+ toolUse?: boolean | undefined;
473
+ }, {
474
+ tier: "fast" | "standard" | "strong";
475
+ costPer1kTokens: number;
476
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
477
+ contextWindow: number;
478
+ vision?: boolean | undefined;
479
+ toolUse?: boolean | undefined;
480
+ }>>;
421
481
  }, "strict", z.ZodTypeAny, {
422
482
  type: "claude";
483
+ capabilities?: {
484
+ tier: "fast" | "standard" | "strong";
485
+ costPer1kTokens: number;
486
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
487
+ contextWindow: number;
488
+ vision?: boolean | undefined;
489
+ toolUse?: boolean | undefined;
490
+ } | undefined;
423
491
  command?: string | undefined;
424
492
  }, {
425
493
  type: "claude";
494
+ capabilities?: {
495
+ tier: "fast" | "standard" | "strong";
496
+ costPer1kTokens: number;
497
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
498
+ contextWindow: number;
499
+ vision?: boolean | undefined;
500
+ toolUse?: boolean | undefined;
501
+ } | undefined;
426
502
  command?: string | undefined;
427
503
  }>, z.ZodObject<{
428
504
  type: z.ZodLiteral<"anthropic">;
429
505
  model: z.ZodString;
430
506
  apiKey: z.ZodOptional<z.ZodString>;
507
+ capabilities: z.ZodOptional<z.ZodObject<{
508
+ tier: z.ZodEnum<["fast", "standard", "strong"]>;
509
+ costPer1kTokens: z.ZodNumber;
510
+ privacyClass: z.ZodEnum<["on-device", "pooled-isolated", "byo-endpoint", "shared-cloud"]>;
511
+ contextWindow: z.ZodNumber;
512
+ vision: z.ZodOptional<z.ZodBoolean>;
513
+ toolUse: z.ZodOptional<z.ZodBoolean>;
514
+ }, "strict", z.ZodTypeAny, {
515
+ tier: "fast" | "standard" | "strong";
516
+ costPer1kTokens: number;
517
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
518
+ contextWindow: number;
519
+ vision?: boolean | undefined;
520
+ toolUse?: boolean | undefined;
521
+ }, {
522
+ tier: "fast" | "standard" | "strong";
523
+ costPer1kTokens: number;
524
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
525
+ contextWindow: number;
526
+ vision?: boolean | undefined;
527
+ toolUse?: boolean | undefined;
528
+ }>>;
431
529
  }, "strict", z.ZodTypeAny, {
432
530
  type: "anthropic";
433
531
  model: string;
532
+ capabilities?: {
533
+ tier: "fast" | "standard" | "strong";
534
+ costPer1kTokens: number;
535
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
536
+ contextWindow: number;
537
+ vision?: boolean | undefined;
538
+ toolUse?: boolean | undefined;
539
+ } | undefined;
434
540
  apiKey?: string | undefined;
435
541
  }, {
436
542
  type: "anthropic";
437
543
  model: string;
544
+ capabilities?: {
545
+ tier: "fast" | "standard" | "strong";
546
+ costPer1kTokens: number;
547
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
548
+ contextWindow: number;
549
+ vision?: boolean | undefined;
550
+ toolUse?: boolean | undefined;
551
+ } | undefined;
438
552
  apiKey?: string | undefined;
439
553
  }>, z.ZodObject<{
440
554
  type: z.ZodLiteral<"openai">;
441
555
  model: z.ZodString;
442
556
  apiKey: z.ZodOptional<z.ZodString>;
557
+ capabilities: z.ZodOptional<z.ZodObject<{
558
+ tier: z.ZodEnum<["fast", "standard", "strong"]>;
559
+ costPer1kTokens: z.ZodNumber;
560
+ privacyClass: z.ZodEnum<["on-device", "pooled-isolated", "byo-endpoint", "shared-cloud"]>;
561
+ contextWindow: z.ZodNumber;
562
+ vision: z.ZodOptional<z.ZodBoolean>;
563
+ toolUse: z.ZodOptional<z.ZodBoolean>;
564
+ }, "strict", z.ZodTypeAny, {
565
+ tier: "fast" | "standard" | "strong";
566
+ costPer1kTokens: number;
567
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
568
+ contextWindow: number;
569
+ vision?: boolean | undefined;
570
+ toolUse?: boolean | undefined;
571
+ }, {
572
+ tier: "fast" | "standard" | "strong";
573
+ costPer1kTokens: number;
574
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
575
+ contextWindow: number;
576
+ vision?: boolean | undefined;
577
+ toolUse?: boolean | undefined;
578
+ }>>;
443
579
  }, "strict", z.ZodTypeAny, {
444
580
  type: "openai";
445
581
  model: string;
582
+ capabilities?: {
583
+ tier: "fast" | "standard" | "strong";
584
+ costPer1kTokens: number;
585
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
586
+ contextWindow: number;
587
+ vision?: boolean | undefined;
588
+ toolUse?: boolean | undefined;
589
+ } | undefined;
446
590
  apiKey?: string | undefined;
447
591
  }, {
448
592
  type: "openai";
449
593
  model: string;
594
+ capabilities?: {
595
+ tier: "fast" | "standard" | "strong";
596
+ costPer1kTokens: number;
597
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
598
+ contextWindow: number;
599
+ vision?: boolean | undefined;
600
+ toolUse?: boolean | undefined;
601
+ } | undefined;
450
602
  apiKey?: string | undefined;
451
603
  }>, z.ZodObject<{
452
604
  type: z.ZodLiteral<"gemini">;
453
605
  model: z.ZodString;
454
606
  apiKey: z.ZodOptional<z.ZodString>;
607
+ capabilities: z.ZodOptional<z.ZodObject<{
608
+ tier: z.ZodEnum<["fast", "standard", "strong"]>;
609
+ costPer1kTokens: z.ZodNumber;
610
+ privacyClass: z.ZodEnum<["on-device", "pooled-isolated", "byo-endpoint", "shared-cloud"]>;
611
+ contextWindow: z.ZodNumber;
612
+ vision: z.ZodOptional<z.ZodBoolean>;
613
+ toolUse: z.ZodOptional<z.ZodBoolean>;
614
+ }, "strict", z.ZodTypeAny, {
615
+ tier: "fast" | "standard" | "strong";
616
+ costPer1kTokens: number;
617
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
618
+ contextWindow: number;
619
+ vision?: boolean | undefined;
620
+ toolUse?: boolean | undefined;
621
+ }, {
622
+ tier: "fast" | "standard" | "strong";
623
+ costPer1kTokens: number;
624
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
625
+ contextWindow: number;
626
+ vision?: boolean | undefined;
627
+ toolUse?: boolean | undefined;
628
+ }>>;
455
629
  }, "strict", z.ZodTypeAny, {
456
630
  type: "gemini";
457
631
  model: string;
632
+ capabilities?: {
633
+ tier: "fast" | "standard" | "strong";
634
+ costPer1kTokens: number;
635
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
636
+ contextWindow: number;
637
+ vision?: boolean | undefined;
638
+ toolUse?: boolean | undefined;
639
+ } | undefined;
458
640
  apiKey?: string | undefined;
459
641
  }, {
460
642
  type: "gemini";
461
643
  model: string;
644
+ capabilities?: {
645
+ tier: "fast" | "standard" | "strong";
646
+ costPer1kTokens: number;
647
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
648
+ contextWindow: number;
649
+ vision?: boolean | undefined;
650
+ toolUse?: boolean | undefined;
651
+ } | undefined;
462
652
  apiKey?: string | undefined;
463
653
  }>, z.ZodObject<{
464
654
  type: z.ZodLiteral<"local">;
@@ -467,10 +657,40 @@ declare const HarnessConfigSchema: z.ZodObject<{
467
657
  apiKey: z.ZodOptional<z.ZodString>;
468
658
  timeoutMs: z.ZodOptional<z.ZodNumber>;
469
659
  probeIntervalMs: z.ZodOptional<z.ZodNumber>;
660
+ capabilities: z.ZodOptional<z.ZodObject<{
661
+ tier: z.ZodEnum<["fast", "standard", "strong"]>;
662
+ costPer1kTokens: z.ZodNumber;
663
+ privacyClass: z.ZodEnum<["on-device", "pooled-isolated", "byo-endpoint", "shared-cloud"]>;
664
+ contextWindow: z.ZodNumber;
665
+ vision: z.ZodOptional<z.ZodBoolean>;
666
+ toolUse: z.ZodOptional<z.ZodBoolean>;
667
+ }, "strict", z.ZodTypeAny, {
668
+ tier: "fast" | "standard" | "strong";
669
+ costPer1kTokens: number;
670
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
671
+ contextWindow: number;
672
+ vision?: boolean | undefined;
673
+ toolUse?: boolean | undefined;
674
+ }, {
675
+ tier: "fast" | "standard" | "strong";
676
+ costPer1kTokens: number;
677
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
678
+ contextWindow: number;
679
+ vision?: boolean | undefined;
680
+ toolUse?: boolean | undefined;
681
+ }>>;
470
682
  }, "strict", z.ZodTypeAny, {
471
683
  type: "local";
472
684
  model: string | [string, ...string[]];
473
685
  endpoint: string;
686
+ capabilities?: {
687
+ tier: "fast" | "standard" | "strong";
688
+ costPer1kTokens: number;
689
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
690
+ contextWindow: number;
691
+ vision?: boolean | undefined;
692
+ toolUse?: boolean | undefined;
693
+ } | undefined;
474
694
  apiKey?: string | undefined;
475
695
  timeoutMs?: number | undefined;
476
696
  probeIntervalMs?: number | undefined;
@@ -478,6 +698,14 @@ declare const HarnessConfigSchema: z.ZodObject<{
478
698
  type: "local";
479
699
  model: string | [string, ...string[]];
480
700
  endpoint: string;
701
+ capabilities?: {
702
+ tier: "fast" | "standard" | "strong";
703
+ costPer1kTokens: number;
704
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
705
+ contextWindow: number;
706
+ vision?: boolean | undefined;
707
+ toolUse?: boolean | undefined;
708
+ } | undefined;
481
709
  apiKey?: string | undefined;
482
710
  timeoutMs?: number | undefined;
483
711
  probeIntervalMs?: number | undefined;
@@ -488,10 +716,40 @@ declare const HarnessConfigSchema: z.ZodObject<{
488
716
  apiKey: z.ZodOptional<z.ZodString>;
489
717
  timeoutMs: z.ZodOptional<z.ZodNumber>;
490
718
  probeIntervalMs: z.ZodOptional<z.ZodNumber>;
719
+ capabilities: z.ZodOptional<z.ZodObject<{
720
+ tier: z.ZodEnum<["fast", "standard", "strong"]>;
721
+ costPer1kTokens: z.ZodNumber;
722
+ privacyClass: z.ZodEnum<["on-device", "pooled-isolated", "byo-endpoint", "shared-cloud"]>;
723
+ contextWindow: z.ZodNumber;
724
+ vision: z.ZodOptional<z.ZodBoolean>;
725
+ toolUse: z.ZodOptional<z.ZodBoolean>;
726
+ }, "strict", z.ZodTypeAny, {
727
+ tier: "fast" | "standard" | "strong";
728
+ costPer1kTokens: number;
729
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
730
+ contextWindow: number;
731
+ vision?: boolean | undefined;
732
+ toolUse?: boolean | undefined;
733
+ }, {
734
+ tier: "fast" | "standard" | "strong";
735
+ costPer1kTokens: number;
736
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
737
+ contextWindow: number;
738
+ vision?: boolean | undefined;
739
+ toolUse?: boolean | undefined;
740
+ }>>;
491
741
  }, "strict", z.ZodTypeAny, {
492
742
  type: "pi";
493
743
  model: string | [string, ...string[]];
494
744
  endpoint: string;
745
+ capabilities?: {
746
+ tier: "fast" | "standard" | "strong";
747
+ costPer1kTokens: number;
748
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
749
+ contextWindow: number;
750
+ vision?: boolean | undefined;
751
+ toolUse?: boolean | undefined;
752
+ } | undefined;
495
753
  apiKey?: string | undefined;
496
754
  timeoutMs?: number | undefined;
497
755
  probeIntervalMs?: number | undefined;
@@ -499,6 +757,14 @@ declare const HarnessConfigSchema: z.ZodObject<{
499
757
  type: "pi";
500
758
  model: string | [string, ...string[]];
501
759
  endpoint: string;
760
+ capabilities?: {
761
+ tier: "fast" | "standard" | "strong";
762
+ costPer1kTokens: number;
763
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
764
+ contextWindow: number;
765
+ vision?: boolean | undefined;
766
+ toolUse?: boolean | undefined;
767
+ } | undefined;
502
768
  apiKey?: string | undefined;
503
769
  timeoutMs?: number | undefined;
504
770
  probeIntervalMs?: number | undefined;
@@ -535,6 +801,69 @@ declare const HarnessConfigSchema: z.ZodObject<{
535
801
  }>>;
536
802
  skills: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodReadonly<z.ZodArray<z.ZodString, "atleastone">>]>>>;
537
803
  modes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodReadonly<z.ZodArray<z.ZodString, "atleastone">>]>>>;
804
+ policy: z.ZodOptional<z.ZodObject<{
805
+ complexityTierMatrix: z.ZodOptional<z.ZodRecord<z.ZodEnum<["trivial", "simple", "moderate", "complex"]>, z.ZodEnum<["fast", "standard", "strong"]>>>;
806
+ skillTierOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<["fast", "standard", "strong"]>>>;
807
+ privacyFloor: z.ZodOptional<z.ZodEnum<["on-device", "pooled-isolated", "byo-endpoint", "shared-cloud"]>>;
808
+ budget: z.ZodOptional<z.ZodObject<{
809
+ capUsd: z.ZodNumber;
810
+ degradeAtPct: z.ZodOptional<z.ZodNumber>;
811
+ onBudgetExhausted: z.ZodEnum<["degrade", "pause", "human"]>;
812
+ }, "strip", z.ZodTypeAny, {
813
+ capUsd: number;
814
+ onBudgetExhausted: "human" | "degrade" | "pause";
815
+ degradeAtPct?: number | undefined;
816
+ }, {
817
+ capUsd: number;
818
+ onBudgetExhausted: "human" | "degrade" | "pause";
819
+ degradeAtPct?: number | undefined;
820
+ }>>;
821
+ sensitivePaths: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
822
+ escalationThreshold: z.ZodOptional<z.ZodNumber>;
823
+ allowedProviders: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
824
+ acceptanceEval: z.ZodOptional<z.ZodObject<{
825
+ enabled: z.ZodBoolean;
826
+ model: z.ZodOptional<z.ZodString>;
827
+ }, "strip", z.ZodTypeAny, {
828
+ enabled: boolean;
829
+ model?: string | undefined;
830
+ }, {
831
+ enabled: boolean;
832
+ model?: string | undefined;
833
+ }>>;
834
+ }, "strip", z.ZodTypeAny, {
835
+ complexityTierMatrix?: Partial<Record<"trivial" | "simple" | "moderate" | "complex", "fast" | "standard" | "strong">> | undefined;
836
+ skillTierOverrides?: Record<string, "fast" | "standard" | "strong"> | undefined;
837
+ privacyFloor?: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud" | undefined;
838
+ budget?: {
839
+ capUsd: number;
840
+ onBudgetExhausted: "human" | "degrade" | "pause";
841
+ degradeAtPct?: number | undefined;
842
+ } | undefined;
843
+ sensitivePaths?: string[] | undefined;
844
+ escalationThreshold?: number | undefined;
845
+ allowedProviders?: string[] | undefined;
846
+ acceptanceEval?: {
847
+ enabled: boolean;
848
+ model?: string | undefined;
849
+ } | undefined;
850
+ }, {
851
+ complexityTierMatrix?: Partial<Record<"trivial" | "simple" | "moderate" | "complex", "fast" | "standard" | "strong">> | undefined;
852
+ skillTierOverrides?: Record<string, "fast" | "standard" | "strong"> | undefined;
853
+ privacyFloor?: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud" | undefined;
854
+ budget?: {
855
+ capUsd: number;
856
+ onBudgetExhausted: "human" | "degrade" | "pause";
857
+ degradeAtPct?: number | undefined;
858
+ } | undefined;
859
+ sensitivePaths?: string[] | undefined;
860
+ escalationThreshold?: number | undefined;
861
+ allowedProviders?: string[] | undefined;
862
+ acceptanceEval?: {
863
+ enabled: boolean;
864
+ model?: string | undefined;
865
+ } | undefined;
866
+ }>>;
538
867
  }, "strict", z.ZodTypeAny, {
539
868
  default: string | readonly [string, ...string[]];
540
869
  'quick-fix'?: string | readonly [string, ...string[]] | undefined;
@@ -552,6 +881,23 @@ declare const HarnessConfigSchema: z.ZodObject<{
552
881
  } | undefined;
553
882
  skills?: Record<string, string | readonly [string, ...string[]]> | undefined;
554
883
  modes?: Record<string, string | readonly [string, ...string[]]> | undefined;
884
+ policy?: {
885
+ complexityTierMatrix?: Partial<Record<"trivial" | "simple" | "moderate" | "complex", "fast" | "standard" | "strong">> | undefined;
886
+ skillTierOverrides?: Record<string, "fast" | "standard" | "strong"> | undefined;
887
+ privacyFloor?: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud" | undefined;
888
+ budget?: {
889
+ capUsd: number;
890
+ onBudgetExhausted: "human" | "degrade" | "pause";
891
+ degradeAtPct?: number | undefined;
892
+ } | undefined;
893
+ sensitivePaths?: string[] | undefined;
894
+ escalationThreshold?: number | undefined;
895
+ allowedProviders?: string[] | undefined;
896
+ acceptanceEval?: {
897
+ enabled: boolean;
898
+ model?: string | undefined;
899
+ } | undefined;
900
+ } | undefined;
555
901
  }, {
556
902
  default: string | readonly [string, ...string[]];
557
903
  'quick-fix'?: string | readonly [string, ...string[]] | undefined;
@@ -569,6 +915,23 @@ declare const HarnessConfigSchema: z.ZodObject<{
569
915
  } | undefined;
570
916
  skills?: Record<string, string | readonly [string, ...string[]]> | undefined;
571
917
  modes?: Record<string, string | readonly [string, ...string[]]> | undefined;
918
+ policy?: {
919
+ complexityTierMatrix?: Partial<Record<"trivial" | "simple" | "moderate" | "complex", "fast" | "standard" | "strong">> | undefined;
920
+ skillTierOverrides?: Record<string, "fast" | "standard" | "strong"> | undefined;
921
+ privacyFloor?: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud" | undefined;
922
+ budget?: {
923
+ capUsd: number;
924
+ onBudgetExhausted: "human" | "degrade" | "pause";
925
+ degradeAtPct?: number | undefined;
926
+ } | undefined;
927
+ sensitivePaths?: string[] | undefined;
928
+ escalationThreshold?: number | undefined;
929
+ allowedProviders?: string[] | undefined;
930
+ acceptanceEval?: {
931
+ enabled: boolean;
932
+ model?: string | undefined;
933
+ } | undefined;
934
+ } | undefined;
572
935
  }>>;
573
936
  }, "strip", z.ZodTypeAny, {
574
937
  executor: "subprocess" | "cloud" | "noop";
@@ -576,25 +939,73 @@ declare const HarnessConfigSchema: z.ZodObject<{
576
939
  skills?: string[] | undefined;
577
940
  backends?: Record<string, {
578
941
  type: "mock";
942
+ capabilities?: {
943
+ tier: "fast" | "standard" | "strong";
944
+ costPer1kTokens: number;
945
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
946
+ contextWindow: number;
947
+ vision?: boolean | undefined;
948
+ toolUse?: boolean | undefined;
949
+ } | undefined;
579
950
  } | {
580
951
  type: "claude";
952
+ capabilities?: {
953
+ tier: "fast" | "standard" | "strong";
954
+ costPer1kTokens: number;
955
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
956
+ contextWindow: number;
957
+ vision?: boolean | undefined;
958
+ toolUse?: boolean | undefined;
959
+ } | undefined;
581
960
  command?: string | undefined;
582
961
  } | {
583
962
  type: "anthropic";
584
963
  model: string;
964
+ capabilities?: {
965
+ tier: "fast" | "standard" | "strong";
966
+ costPer1kTokens: number;
967
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
968
+ contextWindow: number;
969
+ vision?: boolean | undefined;
970
+ toolUse?: boolean | undefined;
971
+ } | undefined;
585
972
  apiKey?: string | undefined;
586
973
  } | {
587
974
  type: "openai";
588
975
  model: string;
976
+ capabilities?: {
977
+ tier: "fast" | "standard" | "strong";
978
+ costPer1kTokens: number;
979
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
980
+ contextWindow: number;
981
+ vision?: boolean | undefined;
982
+ toolUse?: boolean | undefined;
983
+ } | undefined;
589
984
  apiKey?: string | undefined;
590
985
  } | {
591
986
  type: "gemini";
592
987
  model: string;
988
+ capabilities?: {
989
+ tier: "fast" | "standard" | "strong";
990
+ costPer1kTokens: number;
991
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
992
+ contextWindow: number;
993
+ vision?: boolean | undefined;
994
+ toolUse?: boolean | undefined;
995
+ } | undefined;
593
996
  apiKey?: string | undefined;
594
997
  } | {
595
998
  type: "local";
596
999
  model: string | [string, ...string[]];
597
1000
  endpoint: string;
1001
+ capabilities?: {
1002
+ tier: "fast" | "standard" | "strong";
1003
+ costPer1kTokens: number;
1004
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
1005
+ contextWindow: number;
1006
+ vision?: boolean | undefined;
1007
+ toolUse?: boolean | undefined;
1008
+ } | undefined;
598
1009
  apiKey?: string | undefined;
599
1010
  timeoutMs?: number | undefined;
600
1011
  probeIntervalMs?: number | undefined;
@@ -602,6 +1013,14 @@ declare const HarnessConfigSchema: z.ZodObject<{
602
1013
  type: "pi";
603
1014
  model: string | [string, ...string[]];
604
1015
  endpoint: string;
1016
+ capabilities?: {
1017
+ tier: "fast" | "standard" | "strong";
1018
+ costPer1kTokens: number;
1019
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
1020
+ contextWindow: number;
1021
+ vision?: boolean | undefined;
1022
+ toolUse?: boolean | undefined;
1023
+ } | undefined;
605
1024
  apiKey?: string | undefined;
606
1025
  timeoutMs?: number | undefined;
607
1026
  probeIntervalMs?: number | undefined;
@@ -623,6 +1042,23 @@ declare const HarnessConfigSchema: z.ZodObject<{
623
1042
  } | undefined;
624
1043
  skills?: Record<string, string | readonly [string, ...string[]]> | undefined;
625
1044
  modes?: Record<string, string | readonly [string, ...string[]]> | undefined;
1045
+ policy?: {
1046
+ complexityTierMatrix?: Partial<Record<"trivial" | "simple" | "moderate" | "complex", "fast" | "standard" | "strong">> | undefined;
1047
+ skillTierOverrides?: Record<string, "fast" | "standard" | "strong"> | undefined;
1048
+ privacyFloor?: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud" | undefined;
1049
+ budget?: {
1050
+ capUsd: number;
1051
+ onBudgetExhausted: "human" | "degrade" | "pause";
1052
+ degradeAtPct?: number | undefined;
1053
+ } | undefined;
1054
+ sensitivePaths?: string[] | undefined;
1055
+ escalationThreshold?: number | undefined;
1056
+ allowedProviders?: string[] | undefined;
1057
+ acceptanceEval?: {
1058
+ enabled: boolean;
1059
+ model?: string | undefined;
1060
+ } | undefined;
1061
+ } | undefined;
626
1062
  } | undefined;
627
1063
  }, {
628
1064
  executor?: "subprocess" | "cloud" | "noop" | undefined;
@@ -630,25 +1066,73 @@ declare const HarnessConfigSchema: z.ZodObject<{
630
1066
  skills?: string[] | undefined;
631
1067
  backends?: Record<string, {
632
1068
  type: "mock";
1069
+ capabilities?: {
1070
+ tier: "fast" | "standard" | "strong";
1071
+ costPer1kTokens: number;
1072
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
1073
+ contextWindow: number;
1074
+ vision?: boolean | undefined;
1075
+ toolUse?: boolean | undefined;
1076
+ } | undefined;
633
1077
  } | {
634
1078
  type: "claude";
1079
+ capabilities?: {
1080
+ tier: "fast" | "standard" | "strong";
1081
+ costPer1kTokens: number;
1082
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
1083
+ contextWindow: number;
1084
+ vision?: boolean | undefined;
1085
+ toolUse?: boolean | undefined;
1086
+ } | undefined;
635
1087
  command?: string | undefined;
636
1088
  } | {
637
1089
  type: "anthropic";
638
1090
  model: string;
1091
+ capabilities?: {
1092
+ tier: "fast" | "standard" | "strong";
1093
+ costPer1kTokens: number;
1094
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
1095
+ contextWindow: number;
1096
+ vision?: boolean | undefined;
1097
+ toolUse?: boolean | undefined;
1098
+ } | undefined;
639
1099
  apiKey?: string | undefined;
640
1100
  } | {
641
1101
  type: "openai";
642
1102
  model: string;
1103
+ capabilities?: {
1104
+ tier: "fast" | "standard" | "strong";
1105
+ costPer1kTokens: number;
1106
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
1107
+ contextWindow: number;
1108
+ vision?: boolean | undefined;
1109
+ toolUse?: boolean | undefined;
1110
+ } | undefined;
643
1111
  apiKey?: string | undefined;
644
1112
  } | {
645
1113
  type: "gemini";
646
1114
  model: string;
1115
+ capabilities?: {
1116
+ tier: "fast" | "standard" | "strong";
1117
+ costPer1kTokens: number;
1118
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
1119
+ contextWindow: number;
1120
+ vision?: boolean | undefined;
1121
+ toolUse?: boolean | undefined;
1122
+ } | undefined;
647
1123
  apiKey?: string | undefined;
648
1124
  } | {
649
1125
  type: "local";
650
1126
  model: string | [string, ...string[]];
651
1127
  endpoint: string;
1128
+ capabilities?: {
1129
+ tier: "fast" | "standard" | "strong";
1130
+ costPer1kTokens: number;
1131
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
1132
+ contextWindow: number;
1133
+ vision?: boolean | undefined;
1134
+ toolUse?: boolean | undefined;
1135
+ } | undefined;
652
1136
  apiKey?: string | undefined;
653
1137
  timeoutMs?: number | undefined;
654
1138
  probeIntervalMs?: number | undefined;
@@ -656,6 +1140,14 @@ declare const HarnessConfigSchema: z.ZodObject<{
656
1140
  type: "pi";
657
1141
  model: string | [string, ...string[]];
658
1142
  endpoint: string;
1143
+ capabilities?: {
1144
+ tier: "fast" | "standard" | "strong";
1145
+ costPer1kTokens: number;
1146
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
1147
+ contextWindow: number;
1148
+ vision?: boolean | undefined;
1149
+ toolUse?: boolean | undefined;
1150
+ } | undefined;
659
1151
  apiKey?: string | undefined;
660
1152
  timeoutMs?: number | undefined;
661
1153
  probeIntervalMs?: number | undefined;
@@ -677,6 +1169,23 @@ declare const HarnessConfigSchema: z.ZodObject<{
677
1169
  } | undefined;
678
1170
  skills?: Record<string, string | readonly [string, ...string[]]> | undefined;
679
1171
  modes?: Record<string, string | readonly [string, ...string[]]> | undefined;
1172
+ policy?: {
1173
+ complexityTierMatrix?: Partial<Record<"trivial" | "simple" | "moderate" | "complex", "fast" | "standard" | "strong">> | undefined;
1174
+ skillTierOverrides?: Record<string, "fast" | "standard" | "strong"> | undefined;
1175
+ privacyFloor?: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud" | undefined;
1176
+ budget?: {
1177
+ capUsd: number;
1178
+ onBudgetExhausted: "human" | "degrade" | "pause";
1179
+ degradeAtPct?: number | undefined;
1180
+ } | undefined;
1181
+ sensitivePaths?: string[] | undefined;
1182
+ escalationThreshold?: number | undefined;
1183
+ allowedProviders?: string[] | undefined;
1184
+ acceptanceEval?: {
1185
+ enabled: boolean;
1186
+ model?: string | undefined;
1187
+ } | undefined;
1188
+ } | undefined;
680
1189
  } | undefined;
681
1190
  }>>;
682
1191
  /** Source-file ingestion controls (skip-dirs, exclude patterns, gitignore handling) */
@@ -2132,25 +2641,73 @@ declare const HarnessConfigSchema: z.ZodObject<{
2132
2641
  skills?: string[] | undefined;
2133
2642
  backends?: Record<string, {
2134
2643
  type: "mock";
2644
+ capabilities?: {
2645
+ tier: "fast" | "standard" | "strong";
2646
+ costPer1kTokens: number;
2647
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
2648
+ contextWindow: number;
2649
+ vision?: boolean | undefined;
2650
+ toolUse?: boolean | undefined;
2651
+ } | undefined;
2135
2652
  } | {
2136
2653
  type: "claude";
2654
+ capabilities?: {
2655
+ tier: "fast" | "standard" | "strong";
2656
+ costPer1kTokens: number;
2657
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
2658
+ contextWindow: number;
2659
+ vision?: boolean | undefined;
2660
+ toolUse?: boolean | undefined;
2661
+ } | undefined;
2137
2662
  command?: string | undefined;
2138
2663
  } | {
2139
2664
  type: "anthropic";
2140
2665
  model: string;
2666
+ capabilities?: {
2667
+ tier: "fast" | "standard" | "strong";
2668
+ costPer1kTokens: number;
2669
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
2670
+ contextWindow: number;
2671
+ vision?: boolean | undefined;
2672
+ toolUse?: boolean | undefined;
2673
+ } | undefined;
2141
2674
  apiKey?: string | undefined;
2142
2675
  } | {
2143
2676
  type: "openai";
2144
2677
  model: string;
2678
+ capabilities?: {
2679
+ tier: "fast" | "standard" | "strong";
2680
+ costPer1kTokens: number;
2681
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
2682
+ contextWindow: number;
2683
+ vision?: boolean | undefined;
2684
+ toolUse?: boolean | undefined;
2685
+ } | undefined;
2145
2686
  apiKey?: string | undefined;
2146
2687
  } | {
2147
2688
  type: "gemini";
2148
2689
  model: string;
2690
+ capabilities?: {
2691
+ tier: "fast" | "standard" | "strong";
2692
+ costPer1kTokens: number;
2693
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
2694
+ contextWindow: number;
2695
+ vision?: boolean | undefined;
2696
+ toolUse?: boolean | undefined;
2697
+ } | undefined;
2149
2698
  apiKey?: string | undefined;
2150
2699
  } | {
2151
2700
  type: "local";
2152
2701
  model: string | [string, ...string[]];
2153
2702
  endpoint: string;
2703
+ capabilities?: {
2704
+ tier: "fast" | "standard" | "strong";
2705
+ costPer1kTokens: number;
2706
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
2707
+ contextWindow: number;
2708
+ vision?: boolean | undefined;
2709
+ toolUse?: boolean | undefined;
2710
+ } | undefined;
2154
2711
  apiKey?: string | undefined;
2155
2712
  timeoutMs?: number | undefined;
2156
2713
  probeIntervalMs?: number | undefined;
@@ -2158,6 +2715,14 @@ declare const HarnessConfigSchema: z.ZodObject<{
2158
2715
  type: "pi";
2159
2716
  model: string | [string, ...string[]];
2160
2717
  endpoint: string;
2718
+ capabilities?: {
2719
+ tier: "fast" | "standard" | "strong";
2720
+ costPer1kTokens: number;
2721
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
2722
+ contextWindow: number;
2723
+ vision?: boolean | undefined;
2724
+ toolUse?: boolean | undefined;
2725
+ } | undefined;
2161
2726
  apiKey?: string | undefined;
2162
2727
  timeoutMs?: number | undefined;
2163
2728
  probeIntervalMs?: number | undefined;
@@ -2179,6 +2744,23 @@ declare const HarnessConfigSchema: z.ZodObject<{
2179
2744
  } | undefined;
2180
2745
  skills?: Record<string, string | readonly [string, ...string[]]> | undefined;
2181
2746
  modes?: Record<string, string | readonly [string, ...string[]]> | undefined;
2747
+ policy?: {
2748
+ complexityTierMatrix?: Partial<Record<"trivial" | "simple" | "moderate" | "complex", "fast" | "standard" | "strong">> | undefined;
2749
+ skillTierOverrides?: Record<string, "fast" | "standard" | "strong"> | undefined;
2750
+ privacyFloor?: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud" | undefined;
2751
+ budget?: {
2752
+ capUsd: number;
2753
+ onBudgetExhausted: "human" | "degrade" | "pause";
2754
+ degradeAtPct?: number | undefined;
2755
+ } | undefined;
2756
+ sensitivePaths?: string[] | undefined;
2757
+ escalationThreshold?: number | undefined;
2758
+ allowedProviders?: string[] | undefined;
2759
+ acceptanceEval?: {
2760
+ enabled: boolean;
2761
+ model?: string | undefined;
2762
+ } | undefined;
2763
+ } | undefined;
2182
2764
  } | undefined;
2183
2765
  } | undefined;
2184
2766
  ingest?: {
@@ -2468,25 +3050,73 @@ declare const HarnessConfigSchema: z.ZodObject<{
2468
3050
  skills?: string[] | undefined;
2469
3051
  backends?: Record<string, {
2470
3052
  type: "mock";
3053
+ capabilities?: {
3054
+ tier: "fast" | "standard" | "strong";
3055
+ costPer1kTokens: number;
3056
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
3057
+ contextWindow: number;
3058
+ vision?: boolean | undefined;
3059
+ toolUse?: boolean | undefined;
3060
+ } | undefined;
2471
3061
  } | {
2472
3062
  type: "claude";
3063
+ capabilities?: {
3064
+ tier: "fast" | "standard" | "strong";
3065
+ costPer1kTokens: number;
3066
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
3067
+ contextWindow: number;
3068
+ vision?: boolean | undefined;
3069
+ toolUse?: boolean | undefined;
3070
+ } | undefined;
2473
3071
  command?: string | undefined;
2474
3072
  } | {
2475
3073
  type: "anthropic";
2476
3074
  model: string;
3075
+ capabilities?: {
3076
+ tier: "fast" | "standard" | "strong";
3077
+ costPer1kTokens: number;
3078
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
3079
+ contextWindow: number;
3080
+ vision?: boolean | undefined;
3081
+ toolUse?: boolean | undefined;
3082
+ } | undefined;
2477
3083
  apiKey?: string | undefined;
2478
3084
  } | {
2479
3085
  type: "openai";
2480
3086
  model: string;
3087
+ capabilities?: {
3088
+ tier: "fast" | "standard" | "strong";
3089
+ costPer1kTokens: number;
3090
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
3091
+ contextWindow: number;
3092
+ vision?: boolean | undefined;
3093
+ toolUse?: boolean | undefined;
3094
+ } | undefined;
2481
3095
  apiKey?: string | undefined;
2482
3096
  } | {
2483
3097
  type: "gemini";
2484
3098
  model: string;
3099
+ capabilities?: {
3100
+ tier: "fast" | "standard" | "strong";
3101
+ costPer1kTokens: number;
3102
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
3103
+ contextWindow: number;
3104
+ vision?: boolean | undefined;
3105
+ toolUse?: boolean | undefined;
3106
+ } | undefined;
2485
3107
  apiKey?: string | undefined;
2486
3108
  } | {
2487
3109
  type: "local";
2488
3110
  model: string | [string, ...string[]];
2489
3111
  endpoint: string;
3112
+ capabilities?: {
3113
+ tier: "fast" | "standard" | "strong";
3114
+ costPer1kTokens: number;
3115
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
3116
+ contextWindow: number;
3117
+ vision?: boolean | undefined;
3118
+ toolUse?: boolean | undefined;
3119
+ } | undefined;
2490
3120
  apiKey?: string | undefined;
2491
3121
  timeoutMs?: number | undefined;
2492
3122
  probeIntervalMs?: number | undefined;
@@ -2494,6 +3124,14 @@ declare const HarnessConfigSchema: z.ZodObject<{
2494
3124
  type: "pi";
2495
3125
  model: string | [string, ...string[]];
2496
3126
  endpoint: string;
3127
+ capabilities?: {
3128
+ tier: "fast" | "standard" | "strong";
3129
+ costPer1kTokens: number;
3130
+ privacyClass: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud";
3131
+ contextWindow: number;
3132
+ vision?: boolean | undefined;
3133
+ toolUse?: boolean | undefined;
3134
+ } | undefined;
2497
3135
  apiKey?: string | undefined;
2498
3136
  timeoutMs?: number | undefined;
2499
3137
  probeIntervalMs?: number | undefined;
@@ -2515,6 +3153,23 @@ declare const HarnessConfigSchema: z.ZodObject<{
2515
3153
  } | undefined;
2516
3154
  skills?: Record<string, string | readonly [string, ...string[]]> | undefined;
2517
3155
  modes?: Record<string, string | readonly [string, ...string[]]> | undefined;
3156
+ policy?: {
3157
+ complexityTierMatrix?: Partial<Record<"trivial" | "simple" | "moderate" | "complex", "fast" | "standard" | "strong">> | undefined;
3158
+ skillTierOverrides?: Record<string, "fast" | "standard" | "strong"> | undefined;
3159
+ privacyFloor?: "on-device" | "pooled-isolated" | "byo-endpoint" | "shared-cloud" | undefined;
3160
+ budget?: {
3161
+ capUsd: number;
3162
+ onBudgetExhausted: "human" | "degrade" | "pause";
3163
+ degradeAtPct?: number | undefined;
3164
+ } | undefined;
3165
+ sensitivePaths?: string[] | undefined;
3166
+ escalationThreshold?: number | undefined;
3167
+ allowedProviders?: string[] | undefined;
3168
+ acceptanceEval?: {
3169
+ enabled: boolean;
3170
+ model?: string | undefined;
3171
+ } | undefined;
3172
+ } | undefined;
2518
3173
  } | undefined;
2519
3174
  } | undefined;
2520
3175
  ingest?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harness-engineering/cli",
3
- "version": "6.0.0",
3
+ "version": "6.0.1",
4
4
  "description": "CLI for Harness Engineering toolkit",
5
5
  "type": "module",
6
6
  "bin": {
@@ -39,11 +39,11 @@
39
39
  "web-tree-sitter": "^0.24.7",
40
40
  "yaml": "^2.8.3",
41
41
  "zod": "^3.25.76",
42
+ "@harness-engineering/dashboard": "0.14.2",
42
43
  "@harness-engineering/core": "0.36.0",
43
- "@harness-engineering/dashboard": "0.14.1",
44
44
  "@harness-engineering/graph": "0.11.7",
45
+ "@harness-engineering/orchestrator": "0.14.0",
45
46
  "@harness-engineering/linter-gen": "0.1.7",
46
- "@harness-engineering/orchestrator": "0.13.0",
47
47
  "@harness-engineering/signals": "0.2.5",
48
48
  "@harness-engineering/types": "0.21.0"
49
49
  },