@claudexor/schema 4.8.2 → 5.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 (190) hide show
  1. package/dist/account-resources.d.ts +325 -56
  2. package/dist/account-resources.d.ts.map +1 -1
  3. package/dist/account-resources.js +35 -5
  4. package/dist/account-resources.js.map +1 -1
  5. package/dist/account-routing-evidence.d.ts +253 -45
  6. package/dist/account-routing-evidence.d.ts.map +1 -1
  7. package/dist/account-target.d.ts +19 -5
  8. package/dist/account-target.d.ts.map +1 -1
  9. package/dist/account-target.js +14 -1
  10. package/dist/account-target.js.map +1 -1
  11. package/dist/agent-capabilities.d.ts +183 -0
  12. package/dist/agent-capabilities.d.ts.map +1 -1
  13. package/dist/agent-capabilities.js +2 -0
  14. package/dist/agent-capabilities.js.map +1 -1
  15. package/dist/budget.d.ts +3 -0
  16. package/dist/budget.d.ts.map +1 -1
  17. package/dist/budget.js +5 -1
  18. package/dist/budget.js.map +1 -1
  19. package/dist/capture-inventory.d.ts +60 -0
  20. package/dist/capture-inventory.d.ts.map +1 -0
  21. package/dist/capture-inventory.js +57 -0
  22. package/dist/capture-inventory.js.map +1 -0
  23. package/dist/control-harness-list.d.ts +102 -18
  24. package/dist/control-harness-list.d.ts.map +1 -1
  25. package/dist/control-harness-models.d.ts +299 -6
  26. package/dist/control-harness-models.d.ts.map +1 -1
  27. package/dist/control-harness-models.js +12 -3
  28. package/dist/control-harness-models.js.map +1 -1
  29. package/dist/control-operation-responses.d.ts +606 -23
  30. package/dist/control-operation-responses.d.ts.map +1 -1
  31. package/dist/control-operation-responses.js +3 -0
  32. package/dist/control-operation-responses.js.map +1 -1
  33. package/dist/control-run-detail.d.ts +1178 -72
  34. package/dist/control-run-detail.d.ts.map +1 -1
  35. package/dist/control-run-event-part.d.ts +3 -3
  36. package/dist/control-run-event-part.js +1 -1
  37. package/dist/control-run-event-part.js.map +1 -1
  38. package/dist/control-run-failure.d.ts +276 -12
  39. package/dist/control-run-failure.d.ts.map +1 -1
  40. package/dist/control-run-failure.js +54 -16
  41. package/dist/control-run-failure.js.map +1 -1
  42. package/dist/control-run-message.js +1 -1
  43. package/dist/control-run-message.js.map +1 -1
  44. package/dist/control-thread-apply.d.ts +165 -0
  45. package/dist/control-thread-apply.d.ts.map +1 -1
  46. package/dist/control-timeline.d.ts.map +1 -1
  47. package/dist/control-timeline.js +7 -3
  48. package/dist/control-timeline.js.map +1 -1
  49. package/dist/control.d.ts +383 -42
  50. package/dist/control.d.ts.map +1 -1
  51. package/dist/control.js +9 -5
  52. package/dist/control.js.map +1 -1
  53. package/dist/credential-profile-snapshot.d.ts +506 -90
  54. package/dist/credential-profile-snapshot.d.ts.map +1 -1
  55. package/dist/decision.d.ts +9 -9
  56. package/dist/decision.d.ts.map +1 -1
  57. package/dist/decision.js +4 -0
  58. package/dist/decision.js.map +1 -1
  59. package/dist/delivery.d.ts +162 -0
  60. package/dist/delivery.d.ts.map +1 -1
  61. package/dist/delivery.js +32 -0
  62. package/dist/delivery.js.map +1 -1
  63. package/dist/events.d.ts +7 -6
  64. package/dist/events.d.ts.map +1 -1
  65. package/dist/events.js +10 -8
  66. package/dist/events.js.map +1 -1
  67. package/dist/git-result.d.ts +99 -0
  68. package/dist/git-result.d.ts.map +1 -0
  69. package/dist/git-result.js +80 -0
  70. package/dist/git-result.js.map +1 -0
  71. package/dist/harness-model.d.ts +89 -0
  72. package/dist/harness-model.d.ts.map +1 -1
  73. package/dist/harness-model.js +83 -0
  74. package/dist/harness-model.js.map +1 -1
  75. package/dist/harness.d.ts +353 -35
  76. package/dist/harness.d.ts.map +1 -1
  77. package/dist/harness.js +4 -19
  78. package/dist/harness.js.map +1 -1
  79. package/dist/index.d.ts +4 -0
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +4 -0
  82. package/dist/index.js.map +1 -1
  83. package/dist/mcp-run-result.d.ts +620 -51
  84. package/dist/mcp-run-result.d.ts.map +1 -1
  85. package/dist/mcp-run-result.js +45 -5
  86. package/dist/mcp-run-result.js.map +1 -1
  87. package/dist/mcp-run-wait.d.ts +7 -7
  88. package/dist/primitives.d.ts.map +1 -1
  89. package/dist/primitives.js +3 -2
  90. package/dist/primitives.js.map +1 -1
  91. package/dist/project.d.ts +45 -1
  92. package/dist/project.d.ts.map +1 -1
  93. package/dist/project.js +26 -1
  94. package/dist/project.js.map +1 -1
  95. package/dist/quota-read.d.ts +6 -3
  96. package/dist/quota-read.d.ts.map +1 -1
  97. package/dist/quota-read.js +7 -1
  98. package/dist/quota-read.js.map +1 -1
  99. package/dist/quota-scope.d.ts +29 -0
  100. package/dist/quota-scope.d.ts.map +1 -0
  101. package/dist/quota-scope.js +95 -0
  102. package/dist/quota-scope.js.map +1 -0
  103. package/dist/rate-limit.d.ts +3 -0
  104. package/dist/rate-limit.d.ts.map +1 -1
  105. package/dist/rate-limit.js +5 -1
  106. package/dist/rate-limit.js.map +1 -1
  107. package/dist/raw.d.ts +223 -1
  108. package/dist/raw.d.ts.map +1 -1
  109. package/dist/raw.js +86 -0
  110. package/dist/raw.js.map +1 -1
  111. package/dist/readiness.d.ts +87 -18
  112. package/dist/readiness.d.ts.map +1 -1
  113. package/dist/readiness.js +7 -6
  114. package/dist/readiness.js.map +1 -1
  115. package/dist/route-health.d.ts +303 -0
  116. package/dist/route-health.d.ts.map +1 -0
  117. package/dist/route-health.js +71 -0
  118. package/dist/route-health.js.map +1 -0
  119. package/dist/run-continuity.d.ts +3 -0
  120. package/dist/run-continuity.d.ts.map +1 -1
  121. package/dist/run-continuity.js +4 -0
  122. package/dist/run-continuity.js.map +1 -1
  123. package/dist/run-facts.d.ts +5 -5
  124. package/dist/run-facts.d.ts.map +1 -1
  125. package/dist/run-facts.js +1 -0
  126. package/dist/run-facts.js.map +1 -1
  127. package/dist/setup-login.d.ts +1 -1
  128. package/dist/setup-login.js +1 -1
  129. package/dist/setup.d.ts +1 -1
  130. package/dist/setup.js +1 -1
  131. package/dist/status-projection.d.ts.map +1 -1
  132. package/dist/status-projection.js +3 -0
  133. package/dist/status-projection.js.map +1 -1
  134. package/dist/telemetry.d.ts +239 -7
  135. package/dist/telemetry.d.ts.map +1 -1
  136. package/dist/telemetry.js +4 -2
  137. package/dist/telemetry.js.map +1 -1
  138. package/dist/thread-history.d.ts +1109 -161
  139. package/dist/thread-history.d.ts.map +1 -1
  140. package/dist/thread-history.js +1 -1
  141. package/dist/thread-history.js.map +1 -1
  142. package/dist/tool-ref.d.ts +94 -3
  143. package/dist/tool-ref.d.ts.map +1 -1
  144. package/dist/tool-ref.js +98 -6
  145. package/dist/tool-ref.js.map +1 -1
  146. package/generated/AgentCapabilityCatalog.schema.json +54 -0
  147. package/generated/BudgetObservation.schema.json +8 -1
  148. package/generated/ControlAccountResetResponse.schema.json +60 -1
  149. package/generated/ControlAccountResourcesFreshnessResponse.schema.json +46 -2
  150. package/generated/ControlAccountResourcesResponse.schema.json +46 -2
  151. package/generated/ControlApplyCheckResponse.schema.json +47 -0
  152. package/generated/ControlCredentialProfilesQueryResponse.schema.json +105 -4
  153. package/generated/ControlCredentialProfilesResourcesResponse.schema.json +105 -4
  154. package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +59 -2
  155. package/generated/ControlDeliveryResponse.schema.json +154 -0
  156. package/generated/ControlHarnessAccountCatalog.schema.json +13 -0
  157. package/generated/ControlHarnessAccountModelsResponse.schema.json +13 -0
  158. package/generated/ControlHarnessListResponse.schema.json +59 -2
  159. package/generated/ControlHarnessModelsQueryResponse.schema.json +97 -51
  160. package/generated/ControlHarnessModelsResponse.schema.json +96 -0
  161. package/generated/ControlProjectRemoveReceipt.schema.json +36 -0
  162. package/generated/ControlQuotaQueryResponse.schema.json +46 -2
  163. package/generated/ControlQuotaReadRequest.schema.json +4 -0
  164. package/generated/ControlQuotaRefreshRequest.schema.json +12 -3
  165. package/generated/ControlRouteHealth.schema.json +202 -0
  166. package/generated/ControlRunDetail.schema.json +344 -5
  167. package/generated/ControlRunEventPart.schema.json +3 -2
  168. package/generated/ControlRunListResponse.schema.json +341 -2
  169. package/generated/ControlRunMessageRequest.schema.json +1 -1
  170. package/generated/ControlRunSummary.schema.json +341 -2
  171. package/generated/ControlThreadApplyResponse.schema.json +154 -0
  172. package/generated/ControlThreadDetail.schema.json +1 -0
  173. package/generated/DecisionRecord.schema.json +1 -0
  174. package/generated/HarnessEvent.schema.json +189 -5
  175. package/generated/HarnessManifest.schema.json +57 -0
  176. package/generated/HarnessModel.schema.json +13 -0
  177. package/generated/HarnessStatusDto.schema.json +59 -2
  178. package/generated/JournaledRunCreatedPayload.schema.json +2 -2
  179. package/generated/McpAccountsToolResult.schema.json +105 -4
  180. package/generated/McpRunHandleResult.schema.json +279 -2
  181. package/generated/McpRunToolResult.schema.json +269 -0
  182. package/generated/McpRunWaitResult.schema.json +2 -1
  183. package/generated/RawContextPacket.schema.json +98 -0
  184. package/generated/RunContinuityReceipt.schema.json +8 -0
  185. package/generated/RunEvent.schema.json +2 -1
  186. package/generated/RunFacts.schema.json +1 -0
  187. package/generated/RunFailure.schema.json +201 -0
  188. package/generated/RunTelemetry.schema.json +123 -2
  189. package/generated/ThreadHistoryPage.schema.json +203 -1
  190. package/package.json +2 -2
@@ -328,6 +328,28 @@ export declare const HarnessStatusDto: z.ZodObject<{
328
328
  prompt_cache_ttls?: ("1h" | "5m")[] | undefined;
329
329
  }>>;
330
330
  capabilities: z.ZodObject<{
331
+ model_inventory_routes: z.ZodOptional<z.ZodArray<z.ZodEnum<["local_session", "api_key"]>, "many">>;
332
+ model_inventory_absence: z.ZodOptional<z.ZodEnum<["authoritative", "advisory"]>>;
333
+ model_routing_variants: z.ZodOptional<z.ZodArray<z.ZodObject<{
334
+ suffix: z.ZodString;
335
+ billing: z.ZodEnum<["base", "service_tier"]>;
336
+ }, "strict", z.ZodTypeAny, {
337
+ suffix: string;
338
+ billing: "base" | "service_tier";
339
+ }, {
340
+ suffix: string;
341
+ billing: "base" | "service_tier";
342
+ }>, "many">>;
343
+ model_refused_variants: z.ZodOptional<z.ZodArray<z.ZodObject<{
344
+ suffix: z.ZodString;
345
+ reason: z.ZodEnum<["provider_web_search"]>;
346
+ }, "strict", z.ZodTypeAny, {
347
+ suffix: string;
348
+ reason: "provider_web_search";
349
+ }, {
350
+ suffix: string;
351
+ reason: "provider_web_search";
352
+ }>, "many">>;
331
353
  processing_preferences: z.ZodOptional<z.ZodArray<z.ZodEnum<["standard", "fast", "economy"]>, "many">>;
332
354
  plan: z.ZodDefault<z.ZodBoolean>;
333
355
  implement: z.ZodDefault<z.ZodBoolean>;
@@ -357,8 +379,6 @@ export declare const HarnessStatusDto: z.ZodObject<{
357
379
  default?: string | null | undefined;
358
380
  }>>>;
359
381
  effort_levels_verified_against: z.ZodDefault<z.ZodNullable<z.ZodString>>;
360
- model_inventory_routes: z.ZodOptional<z.ZodArray<z.ZodEnum<["local_session", "api_key"]>, "many">>;
361
- model_inventory_absence: z.ZodOptional<z.ZodEnum<["authoritative", "advisory"]>>;
362
382
  known_models: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
363
383
  id: z.ZodString;
364
384
  routes: z.ZodArray<z.ZodEnum<["local_session", "api_key"]>, "many">;
@@ -371,6 +391,16 @@ export declare const HarnessStatusDto: z.ZodObject<{
371
391
  }>]>, "many">>;
372
392
  known_models_verified_against: z.ZodDefault<z.ZodNullable<z.ZodString>>;
373
393
  }, "strip", z.ZodTypeAny, {
394
+ model_inventory_routes?: ("api_key" | "local_session")[] | undefined;
395
+ model_inventory_absence?: "advisory" | "authoritative" | undefined;
396
+ model_routing_variants?: {
397
+ suffix: string;
398
+ billing: "base" | "service_tier";
399
+ }[] | undefined;
400
+ model_refused_variants?: {
401
+ suffix: string;
402
+ reason: "provider_web_search";
403
+ }[] | undefined;
374
404
  processing_preferences?: ("economy" | "fast" | "standard")[] | undefined;
375
405
  plan: boolean;
376
406
  implement: boolean;
@@ -394,14 +424,22 @@ export declare const HarnessStatusDto: z.ZodObject<{
394
424
  default: string | null;
395
425
  }>;
396
426
  effort_levels_verified_against: string | null;
397
- model_inventory_routes?: ("api_key" | "local_session")[] | undefined;
398
- model_inventory_absence?: "advisory" | "authoritative" | undefined;
399
427
  known_models: (string | {
400
428
  id: string;
401
429
  routes: ("api_key" | "local_session")[];
402
430
  })[];
403
431
  known_models_verified_against: string | null;
404
432
  }, {
433
+ model_inventory_routes?: ("api_key" | "local_session")[] | undefined;
434
+ model_inventory_absence?: "advisory" | "authoritative" | undefined;
435
+ model_routing_variants?: {
436
+ suffix: string;
437
+ billing: "base" | "service_tier";
438
+ }[] | undefined;
439
+ model_refused_variants?: {
440
+ suffix: string;
441
+ reason: "provider_web_search";
442
+ }[] | undefined;
405
443
  processing_preferences?: ("economy" | "fast" | "standard")[] | undefined;
406
444
  plan?: boolean | undefined;
407
445
  implement?: boolean | undefined;
@@ -425,8 +463,6 @@ export declare const HarnessStatusDto: z.ZodObject<{
425
463
  default?: string | null | undefined;
426
464
  }> | undefined;
427
465
  effort_levels_verified_against?: string | null | undefined;
428
- model_inventory_routes?: ("api_key" | "local_session")[] | undefined;
429
- model_inventory_absence?: "advisory" | "authoritative" | undefined;
430
466
  known_models?: (string | {
431
467
  id: string;
432
468
  routes: ("api_key" | "local_session")[];
@@ -491,6 +527,16 @@ export declare const HarnessStatusDto: z.ZodObject<{
491
527
  prompt_cache_ttls?: ("1h" | "5m")[] | undefined;
492
528
  };
493
529
  capabilities: {
530
+ model_inventory_routes?: ("api_key" | "local_session")[] | undefined;
531
+ model_inventory_absence?: "advisory" | "authoritative" | undefined;
532
+ model_routing_variants?: {
533
+ suffix: string;
534
+ billing: "base" | "service_tier";
535
+ }[] | undefined;
536
+ model_refused_variants?: {
537
+ suffix: string;
538
+ reason: "provider_web_search";
539
+ }[] | undefined;
494
540
  processing_preferences?: ("economy" | "fast" | "standard")[] | undefined;
495
541
  plan: boolean;
496
542
  implement: boolean;
@@ -514,8 +560,6 @@ export declare const HarnessStatusDto: z.ZodObject<{
514
560
  default: string | null;
515
561
  }>;
516
562
  effort_levels_verified_against: string | null;
517
- model_inventory_routes?: ("api_key" | "local_session")[] | undefined;
518
- model_inventory_absence?: "advisory" | "authoritative" | undefined;
519
563
  known_models: (string | {
520
564
  id: string;
521
565
  routes: ("api_key" | "local_session")[];
@@ -580,6 +624,16 @@ export declare const HarnessStatusDto: z.ZodObject<{
580
624
  prompt_cache_ttls?: ("1h" | "5m")[] | undefined;
581
625
  } | undefined;
582
626
  capabilities: {
627
+ model_inventory_routes?: ("api_key" | "local_session")[] | undefined;
628
+ model_inventory_absence?: "advisory" | "authoritative" | undefined;
629
+ model_routing_variants?: {
630
+ suffix: string;
631
+ billing: "base" | "service_tier";
632
+ }[] | undefined;
633
+ model_refused_variants?: {
634
+ suffix: string;
635
+ reason: "provider_web_search";
636
+ }[] | undefined;
583
637
  processing_preferences?: ("economy" | "fast" | "standard")[] | undefined;
584
638
  plan?: boolean | undefined;
585
639
  implement?: boolean | undefined;
@@ -603,8 +657,6 @@ export declare const HarnessStatusDto: z.ZodObject<{
603
657
  default?: string | null | undefined;
604
658
  }> | undefined;
605
659
  effort_levels_verified_against?: string | null | undefined;
606
- model_inventory_routes?: ("api_key" | "local_session")[] | undefined;
607
- model_inventory_absence?: "advisory" | "authoritative" | undefined;
608
660
  known_models?: (string | {
609
661
  id: string;
610
662
  routes: ("api_key" | "local_session")[];
@@ -614,11 +666,12 @@ export declare const HarnessStatusDto: z.ZodObject<{
614
666
  auth_modes?: ("api_key" | "local_session" | "none")[] | undefined;
615
667
  access_profiles_supported?: ("full" | "inherit_native" | "readonly" | "workspace_write")[] | undefined;
616
668
  }>>>;
669
+ /** Explicit-selection eligibility (#133): a degraded harness keeps the
670
+ * intents its doctor still enables, with its reasons; unavailable = none. */
617
671
  enabledIntents: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
618
- /** Intents this harness is ACTUALLY routable for right now: enabledIntents
619
- * gated by doctor readiness (a degraded/unauth'd harness routes nothing).
620
- * The SERVER-side availability truth — surfaces read this field and never
621
- * re-derive availability from status+intents business logic (R8). */
672
+ /** Automatic (Auto pool) eligibility: enabledIntents while the doctor
673
+ * reports ok, empty otherwise. Surfaces read these two server-side fields
674
+ * and never re-derive availability from status+intents logic (R8). */
622
675
  routableIntents: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
623
676
  disabledIntents: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
624
677
  checks: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -784,6 +837,16 @@ export declare const HarnessStatusDto: z.ZodObject<{
784
837
  prompt_cache_ttls?: ("1h" | "5m")[] | undefined;
785
838
  };
786
839
  capabilities: {
840
+ model_inventory_routes?: ("api_key" | "local_session")[] | undefined;
841
+ model_inventory_absence?: "advisory" | "authoritative" | undefined;
842
+ model_routing_variants?: {
843
+ suffix: string;
844
+ billing: "base" | "service_tier";
845
+ }[] | undefined;
846
+ model_refused_variants?: {
847
+ suffix: string;
848
+ reason: "provider_web_search";
849
+ }[] | undefined;
787
850
  processing_preferences?: ("economy" | "fast" | "standard")[] | undefined;
788
851
  plan: boolean;
789
852
  implement: boolean;
@@ -807,8 +870,6 @@ export declare const HarnessStatusDto: z.ZodObject<{
807
870
  default: string | null;
808
871
  }>;
809
872
  effort_levels_verified_against: string | null;
810
- model_inventory_routes?: ("api_key" | "local_session")[] | undefined;
811
- model_inventory_absence?: "advisory" | "authoritative" | undefined;
812
873
  known_models: (string | {
813
874
  id: string;
814
875
  routes: ("api_key" | "local_session")[];
@@ -914,6 +975,16 @@ export declare const HarnessStatusDto: z.ZodObject<{
914
975
  prompt_cache_ttls?: ("1h" | "5m")[] | undefined;
915
976
  } | undefined;
916
977
  capabilities: {
978
+ model_inventory_routes?: ("api_key" | "local_session")[] | undefined;
979
+ model_inventory_absence?: "advisory" | "authoritative" | undefined;
980
+ model_routing_variants?: {
981
+ suffix: string;
982
+ billing: "base" | "service_tier";
983
+ }[] | undefined;
984
+ model_refused_variants?: {
985
+ suffix: string;
986
+ reason: "provider_web_search";
987
+ }[] | undefined;
917
988
  processing_preferences?: ("economy" | "fast" | "standard")[] | undefined;
918
989
  plan?: boolean | undefined;
919
990
  implement?: boolean | undefined;
@@ -937,8 +1008,6 @@ export declare const HarnessStatusDto: z.ZodObject<{
937
1008
  default?: string | null | undefined;
938
1009
  }> | undefined;
939
1010
  effort_levels_verified_against?: string | null | undefined;
940
- model_inventory_routes?: ("api_key" | "local_session")[] | undefined;
941
- model_inventory_absence?: "advisory" | "authoritative" | undefined;
942
1011
  known_models?: (string | {
943
1012
  id: string;
944
1013
  routes: ("api_key" | "local_session")[];
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAK3B,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB;;;;;;EAS8C,CAAC;AAChF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAgB2C,CAAC;AAC1E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWzB;;;yEAGqE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmBrE;2EACuE;;;;;;;;;;;;;;;;;;;;IAKvE,+DAA+D;;IAM/D;;;;oCAIgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCjC,CAAC;AACJ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAK3B,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB;;;;;;EAS8C,CAAC;AAChF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAgB2C,CAAC;AAC1E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOzB;iFAC6E;;IAO7E;;0EAEsE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmBtE;2EACuE;;;;;;;;;;;;;;;;;;;;IAKvE,+DAA+D;;IAM/D;;;;oCAIgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCjC,CAAC;AACJ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
package/dist/readiness.js CHANGED
@@ -41,18 +41,19 @@ export const HarnessStatusDto = z
41
41
  manifest: HarnessManifest.nullable()
42
42
  .optional()
43
43
  .describe("The harness's declared manifest, when available."),
44
+ /** Explicit-selection eligibility (#133): a degraded harness keeps the
45
+ * intents its doctor still enables, with its reasons; unavailable = none. */
44
46
  enabledIntents: z
45
47
  .array(z.string())
46
48
  .default([])
47
- .describe("Intents the gateway will route to this harness."),
48
- /** Intents this harness is ACTUALLY routable for right now: enabledIntents
49
- * gated by doctor readiness (a degraded/unauth'd harness routes nothing).
50
- * The SERVER-side availability truth — surfaces read this field and never
51
- * re-derive availability from status+intents business logic (R8). */
49
+ .describe("Intents an explicit selection of this harness may run: capability intents its doctor enables. A degraded harness keeps the intents its doctor still enables, with its reasons; an unavailable harness has none."),
50
+ /** Automatic (Auto pool) eligibility: enabledIntents while the doctor
51
+ * reports ok, empty otherwise. Surfaces read these two server-side fields
52
+ * and never re-derive availability from status+intents logic (R8). */
52
53
  routableIntents: z
53
54
  .array(z.string())
54
55
  .default([])
55
- .describe("Intents the harness is actually routable for right now (doctor-gated); the server-side availability truth surfaces must read instead of re-deriving."),
56
+ .describe("Intents the automatic (Auto pool) routing may choose this harness for: enabledIntents while the doctor reports ok, empty for a degraded or unavailable harness. Explicit selection reads enabledIntents instead."),
56
57
  disabledIntents: z.array(z.string()).default([]).describe("Intents the doctor disabled."),
57
58
  checks: z.array(ConformanceCheck).default([]).describe("Doctor probe results."),
58
59
  reasons: z
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,303 @@
1
+ import { z } from "zod/v3";
2
+ /**
3
+ * `GET /v2/daemon/route-health`: per-route run outcomes over a fixed window,
4
+ * computed on demand from the retained run records. A route is one harness
5
+ * crossed with one effective access profile. Facts only: nothing here carries
6
+ * a threshold, an alarm or a remedy; the reader judges the shares.
7
+ */
8
+ /** The fixed window every answer covers: the last seven days before `generatedAt`. */
9
+ export declare const ROUTE_HEALTH_WINDOW_DAYS: 7;
10
+ /** Longest failure message a group carries (its first line, redacted). */
11
+ export declare const ROUTE_HEALTH_MESSAGE_MAX_CHARS = 160;
12
+ /** Most failure groups one route reports. */
13
+ export declare const ROUTE_HEALTH_TOP_FAILURES = 3;
14
+ export declare const ControlRouteHealthFailure: z.ZodObject<{
15
+ category: z.ZodEnum<["validation", "project", "auth", "harness_unavailable", "harness_error", "config_error", "budget", "policy", "cancelled", "internal", "unknown"]>;
16
+ code: z.ZodNullable<z.ZodEnum<["finite_zero", "hard_cap", "estimate_headroom", "unknown_paid_in_flight", "budget_overshoot", "cost_unverifiable", "delegation_child_drain_timeout", "subscription_window_exhausted", "credential_pool_exhausted", "input_too_large", "raw_context_mandatory_unavailable", "raw_context_exceeds_window", "model_catalog_unavailable", "vendor_cli_too_old", "credential_source_unconfirmed", "delegated_home_unavailable", "delegated_confinement_unavailable", "delegated_evidence_incomplete", "access_profile_incompatible", "auxiliary_writable_roots_unsupported", "retired_access_profile"]>>;
17
+ message: z.ZodString;
18
+ count: z.ZodNumber;
19
+ }, "strict", z.ZodTypeAny, {
20
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
21
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
22
+ message: string;
23
+ count: number;
24
+ }, {
25
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
26
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
27
+ message: string;
28
+ count: number;
29
+ }>;
30
+ export type ControlRouteHealthFailure = z.infer<typeof ControlRouteHealthFailure>;
31
+ export declare const ControlRouteHealthRoute: z.ZodEffects<z.ZodEffects<z.ZodObject<{
32
+ harnessId: z.ZodString;
33
+ access: z.ZodEnum<["readonly", "workspace_write", "full", "inherit_native", "unknown"]>;
34
+ runs: z.ZodNumber;
35
+ succeeded: z.ZodNumber;
36
+ failed: z.ZodNumber;
37
+ cancelled: z.ZodNumber;
38
+ other: z.ZodNumber;
39
+ topFailures: z.ZodArray<z.ZodObject<{
40
+ category: z.ZodEnum<["validation", "project", "auth", "harness_unavailable", "harness_error", "config_error", "budget", "policy", "cancelled", "internal", "unknown"]>;
41
+ code: z.ZodNullable<z.ZodEnum<["finite_zero", "hard_cap", "estimate_headroom", "unknown_paid_in_flight", "budget_overshoot", "cost_unverifiable", "delegation_child_drain_timeout", "subscription_window_exhausted", "credential_pool_exhausted", "input_too_large", "raw_context_mandatory_unavailable", "raw_context_exceeds_window", "model_catalog_unavailable", "vendor_cli_too_old", "credential_source_unconfirmed", "delegated_home_unavailable", "delegated_confinement_unavailable", "delegated_evidence_incomplete", "access_profile_incompatible", "auxiliary_writable_roots_unsupported", "retired_access_profile"]>>;
42
+ message: z.ZodString;
43
+ count: z.ZodNumber;
44
+ }, "strict", z.ZodTypeAny, {
45
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
46
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
47
+ message: string;
48
+ count: number;
49
+ }, {
50
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
51
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
52
+ message: string;
53
+ count: number;
54
+ }>, "many">;
55
+ }, "strict", z.ZodTypeAny, {
56
+ harnessId: string;
57
+ access: "full" | "inherit_native" | "readonly" | "unknown" | "workspace_write";
58
+ runs: number;
59
+ succeeded: number;
60
+ failed: number;
61
+ cancelled: number;
62
+ other: number;
63
+ topFailures: {
64
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
65
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
66
+ message: string;
67
+ count: number;
68
+ }[];
69
+ }, {
70
+ harnessId: string;
71
+ access: "full" | "inherit_native" | "readonly" | "unknown" | "workspace_write";
72
+ runs: number;
73
+ succeeded: number;
74
+ failed: number;
75
+ cancelled: number;
76
+ other: number;
77
+ topFailures: {
78
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
79
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
80
+ message: string;
81
+ count: number;
82
+ }[];
83
+ }>, {
84
+ harnessId: string;
85
+ access: "full" | "inherit_native" | "readonly" | "unknown" | "workspace_write";
86
+ runs: number;
87
+ succeeded: number;
88
+ failed: number;
89
+ cancelled: number;
90
+ other: number;
91
+ topFailures: {
92
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
93
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
94
+ message: string;
95
+ count: number;
96
+ }[];
97
+ }, {
98
+ harnessId: string;
99
+ access: "full" | "inherit_native" | "readonly" | "unknown" | "workspace_write";
100
+ runs: number;
101
+ succeeded: number;
102
+ failed: number;
103
+ cancelled: number;
104
+ other: number;
105
+ topFailures: {
106
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
107
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
108
+ message: string;
109
+ count: number;
110
+ }[];
111
+ }>, {
112
+ harnessId: string;
113
+ access: "full" | "inherit_native" | "readonly" | "unknown" | "workspace_write";
114
+ runs: number;
115
+ succeeded: number;
116
+ failed: number;
117
+ cancelled: number;
118
+ other: number;
119
+ topFailures: {
120
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
121
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
122
+ message: string;
123
+ count: number;
124
+ }[];
125
+ }, {
126
+ harnessId: string;
127
+ access: "full" | "inherit_native" | "readonly" | "unknown" | "workspace_write";
128
+ runs: number;
129
+ succeeded: number;
130
+ failed: number;
131
+ cancelled: number;
132
+ other: number;
133
+ topFailures: {
134
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
135
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
136
+ message: string;
137
+ count: number;
138
+ }[];
139
+ }>;
140
+ export type ControlRouteHealthRoute = z.infer<typeof ControlRouteHealthRoute>;
141
+ export declare const ControlRouteHealth: z.ZodObject<{
142
+ windowDays: z.ZodLiteral<7>;
143
+ from: z.ZodString;
144
+ generatedAt: z.ZodString;
145
+ scannedRuns: z.ZodNumber;
146
+ complete: z.ZodBoolean;
147
+ incompleteReason: z.ZodNullable<z.ZodEnum<["scan_bound"]>>;
148
+ routes: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
149
+ harnessId: z.ZodString;
150
+ access: z.ZodEnum<["readonly", "workspace_write", "full", "inherit_native", "unknown"]>;
151
+ runs: z.ZodNumber;
152
+ succeeded: z.ZodNumber;
153
+ failed: z.ZodNumber;
154
+ cancelled: z.ZodNumber;
155
+ other: z.ZodNumber;
156
+ topFailures: z.ZodArray<z.ZodObject<{
157
+ category: z.ZodEnum<["validation", "project", "auth", "harness_unavailable", "harness_error", "config_error", "budget", "policy", "cancelled", "internal", "unknown"]>;
158
+ code: z.ZodNullable<z.ZodEnum<["finite_zero", "hard_cap", "estimate_headroom", "unknown_paid_in_flight", "budget_overshoot", "cost_unverifiable", "delegation_child_drain_timeout", "subscription_window_exhausted", "credential_pool_exhausted", "input_too_large", "raw_context_mandatory_unavailable", "raw_context_exceeds_window", "model_catalog_unavailable", "vendor_cli_too_old", "credential_source_unconfirmed", "delegated_home_unavailable", "delegated_confinement_unavailable", "delegated_evidence_incomplete", "access_profile_incompatible", "auxiliary_writable_roots_unsupported", "retired_access_profile"]>>;
159
+ message: z.ZodString;
160
+ count: z.ZodNumber;
161
+ }, "strict", z.ZodTypeAny, {
162
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
163
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
164
+ message: string;
165
+ count: number;
166
+ }, {
167
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
168
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
169
+ message: string;
170
+ count: number;
171
+ }>, "many">;
172
+ }, "strict", z.ZodTypeAny, {
173
+ harnessId: string;
174
+ access: "full" | "inherit_native" | "readonly" | "unknown" | "workspace_write";
175
+ runs: number;
176
+ succeeded: number;
177
+ failed: number;
178
+ cancelled: number;
179
+ other: number;
180
+ topFailures: {
181
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
182
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
183
+ message: string;
184
+ count: number;
185
+ }[];
186
+ }, {
187
+ harnessId: string;
188
+ access: "full" | "inherit_native" | "readonly" | "unknown" | "workspace_write";
189
+ runs: number;
190
+ succeeded: number;
191
+ failed: number;
192
+ cancelled: number;
193
+ other: number;
194
+ topFailures: {
195
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
196
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
197
+ message: string;
198
+ count: number;
199
+ }[];
200
+ }>, {
201
+ harnessId: string;
202
+ access: "full" | "inherit_native" | "readonly" | "unknown" | "workspace_write";
203
+ runs: number;
204
+ succeeded: number;
205
+ failed: number;
206
+ cancelled: number;
207
+ other: number;
208
+ topFailures: {
209
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
210
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
211
+ message: string;
212
+ count: number;
213
+ }[];
214
+ }, {
215
+ harnessId: string;
216
+ access: "full" | "inherit_native" | "readonly" | "unknown" | "workspace_write";
217
+ runs: number;
218
+ succeeded: number;
219
+ failed: number;
220
+ cancelled: number;
221
+ other: number;
222
+ topFailures: {
223
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
224
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
225
+ message: string;
226
+ count: number;
227
+ }[];
228
+ }>, {
229
+ harnessId: string;
230
+ access: "full" | "inherit_native" | "readonly" | "unknown" | "workspace_write";
231
+ runs: number;
232
+ succeeded: number;
233
+ failed: number;
234
+ cancelled: number;
235
+ other: number;
236
+ topFailures: {
237
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
238
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
239
+ message: string;
240
+ count: number;
241
+ }[];
242
+ }, {
243
+ harnessId: string;
244
+ access: "full" | "inherit_native" | "readonly" | "unknown" | "workspace_write";
245
+ runs: number;
246
+ succeeded: number;
247
+ failed: number;
248
+ cancelled: number;
249
+ other: number;
250
+ topFailures: {
251
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
252
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
253
+ message: string;
254
+ count: number;
255
+ }[];
256
+ }>, "many">;
257
+ }, "strict", z.ZodTypeAny, {
258
+ windowDays: 7;
259
+ from: string;
260
+ generatedAt: string;
261
+ scannedRuns: number;
262
+ complete: boolean;
263
+ incompleteReason: "scan_bound" | null;
264
+ routes: {
265
+ harnessId: string;
266
+ access: "full" | "inherit_native" | "readonly" | "unknown" | "workspace_write";
267
+ runs: number;
268
+ succeeded: number;
269
+ failed: number;
270
+ cancelled: number;
271
+ other: number;
272
+ topFailures: {
273
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
274
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
275
+ message: string;
276
+ count: number;
277
+ }[];
278
+ }[];
279
+ }, {
280
+ windowDays: 7;
281
+ from: string;
282
+ generatedAt: string;
283
+ scannedRuns: number;
284
+ complete: boolean;
285
+ incompleteReason: "scan_bound" | null;
286
+ routes: {
287
+ harnessId: string;
288
+ access: "full" | "inherit_native" | "readonly" | "unknown" | "workspace_write";
289
+ runs: number;
290
+ succeeded: number;
291
+ failed: number;
292
+ cancelled: number;
293
+ other: number;
294
+ topFailures: {
295
+ category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
296
+ code: "access_profile_incompatible" | "auxiliary_writable_roots_unsupported" | "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "credential_source_unconfirmed" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "input_too_large" | "model_catalog_unavailable" | "raw_context_exceeds_window" | "raw_context_mandatory_unavailable" | "retired_access_profile" | "subscription_window_exhausted" | "unknown_paid_in_flight" | "vendor_cli_too_old" | null;
297
+ message: string;
298
+ count: number;
299
+ }[];
300
+ }[];
301
+ }>;
302
+ export type ControlRouteHealth = z.infer<typeof ControlRouteHealth>;
303
+ //# sourceMappingURL=route-health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-health.d.ts","sourceRoot":"","sources":["../src/route-health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B;;;;;GAKG;AAEH,sFAAsF;AACtF,eAAO,MAAM,wBAAwB,EAAG,CAAU,CAAC;AACnD,0EAA0E;AAC1E,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,6CAA6C;AAC7C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAI3C,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAiBiD,CAAC;AACxF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAElF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCsD,CAAC;AAC3F,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B5B,CAAC;AACJ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}