@cat-factory/contracts 0.287.1 → 0.290.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/binary-capabilities.d.ts +166 -0
  2. package/dist/binary-capabilities.d.ts.map +1 -1
  3. package/dist/binary-capabilities.js +267 -18
  4. package/dist/binary-capabilities.js.map +1 -1
  5. package/dist/binary-generators.d.ts +130 -4
  6. package/dist/binary-generators.d.ts.map +1 -1
  7. package/dist/binary-generators.js +96 -4
  8. package/dist/binary-generators.js.map +1 -1
  9. package/dist/debug-api.d.ts +2 -2
  10. package/dist/execution.d.ts +22 -10
  11. package/dist/execution.d.ts.map +1 -1
  12. package/dist/execution.js +5 -2
  13. package/dist/execution.js.map +1 -1
  14. package/dist/pipeline-environment-lifecycle.d.ts +12 -10
  15. package/dist/pipeline-environment-lifecycle.d.ts.map +1 -1
  16. package/dist/pipeline-environment-lifecycle.js +13 -11
  17. package/dist/pipeline-environment-lifecycle.js.map +1 -1
  18. package/dist/routes/agent-runs.d.ts +2 -2
  19. package/dist/routes/bug-hunt.d.ts +2 -2
  20. package/dist/routes/debug-api.d.ts +1 -1
  21. package/dist/routes/execution.d.ts +9 -9
  22. package/dist/routes/human-review.d.ts +1 -1
  23. package/dist/routes/human-test.d.ts +5 -5
  24. package/dist/routes/public-evidence.d.ts +16 -0
  25. package/dist/routes/public-evidence.d.ts.map +1 -1
  26. package/dist/routes/visual-confirm.d.ts +3 -3
  27. package/dist/routes/workspaces.d.ts +30 -2
  28. package/dist/routes/workspaces.d.ts.map +1 -1
  29. package/dist/run-evidence.d.ts +114 -1
  30. package/dist/run-evidence.d.ts.map +1 -1
  31. package/dist/run-evidence.js +170 -0
  32. package/dist/run-evidence.js.map +1 -1
  33. package/dist/run-outcome.d.ts +135 -2
  34. package/dist/run-outcome.d.ts.map +1 -1
  35. package/dist/run-outcome.js +277 -3
  36. package/dist/run-outcome.js.map +1 -1
  37. package/dist/snapshot.d.ts +15 -1
  38. package/dist/snapshot.d.ts.map +1 -1
  39. package/dist/tool-servers.d.ts +9 -7
  40. package/dist/tool-servers.d.ts.map +1 -1
  41. package/dist/tool-servers.js +8 -5
  42. package/dist/tool-servers.js.map +1 -1
  43. package/package.json +1 -1
@@ -1,15 +1,17 @@
1
1
  /**
2
- * The agent kind that PROVISIONS a run's ephemeral environments, the sole provisioner, which
3
- * is why every consumer below is stated relative to it. The canonical slug also backs
4
- * integrations' `DEPLOYER_AGENT_KIND` (re-exported there).
5
- */
6
- export declare const DEPLOYER_AGENT_KIND = "deployer";
7
- /**
8
- * The agent kind that RECLAIMS them again, the deployer's counterpart at the other end of the
9
- * lifecycle. It tears down by the environment ids the deployer RECORDED on its own step, so it
10
- * has nothing whatsoever to do without one earlier in the chain.
2
+ * The two slugs this module is stated relative to: the kind that PROVISIONS a run's ephemeral
3
+ * environments (the sole provisioner) and the kind that RECLAIMS them again at the other end of
4
+ * the lifecycle.
5
+ *
6
+ * DEFINED in `run-evidence.ts` and re-exported here, which is the opposite direction from the
7
+ * rest of this package's slugs and is a load-bearing detail rather than a tidiness one. The
8
+ * evidence reductions read the same two steps (which one recorded the per-frame outcomes, which
9
+ * one recorded the reclaims), and that module has to stay a LEAF: it already supplies this one's
10
+ * `TESTER_AGENT_KIND`, so a second edge back would close an import cycle whose only symptom is a
11
+ * TDZ `ReferenceError` at module load, in the spec generator rather than in a test.
12
+ * `DEPLOYER_AGENT_KIND` also backs integrations' re-export of the same name.
11
13
  */
12
- export declare const DISPOSER_AGENT_KIND = "disposer";
14
+ export { DEPLOYER_AGENT_KIND, DISPOSER_AGENT_KIND } from './run-evidence.js';
13
15
  /**
14
16
  * The agent kind of the human-testing gate: it parks for a person to validate the change in the
15
17
  * live URL, so it reads the environment rather than standing one up. The canonical slug also
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-environment-lifecycle.d.ts","sourceRoot":"","sources":["../src/pipeline-environment-lifecycle.ts"],"names":[],"mappings":"AAgCA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,aAAa,CAAA;AAE7C;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,aAAa,CAAA;AAE7C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,eAAe,CAAA;AAEjD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,eAAe,CAAA;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAKrD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,gCAAgC,GACxC,2BAA2B,GAC3B,yBAAyB,GACzB,2BAA2B,GAC3B,2BAA2B,GAC3B,6BAA6B,CAAA;AAEjC,iEAAiE;AACjE,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,gCAAgC,CAAA;IACxC,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAA;IACb,yFAAyF;IACzF,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,EAC1C,WAAW,CAAC,EAAE,SAAS,CAAC,sBAAsB,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GACnE,0BAA0B,EAAE,CAwC9B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,+BAA+B,mEAGoB,CAAA;AAEhE;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"pipeline-environment-lifecycle.d.ts","sourceRoot":"","sources":["../src/pipeline-environment-lifecycle.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAE5E;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,eAAe,CAAA;AAEjD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,eAAe,CAAA;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAKrD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,gCAAgC,GACxC,2BAA2B,GAC3B,yBAAyB,GACzB,2BAA2B,GAC3B,2BAA2B,GAC3B,6BAA6B,CAAA;AAEjC,iEAAiE;AACjE,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,gCAAgC,CAAA;IACxC,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAA;IACb,yFAAyF;IACzF,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,EAC1C,WAAW,CAAC,EAAE,SAAS,CAAC,sBAAsB,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GACnE,0BAA0B,EAAE,CAwC9B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,+BAA+B,mEAGoB,CAAA;AAEhE;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { TESTER_AGENT_KIND } from './run-evidence.js';
1
+ import { DEPLOYER_AGENT_KIND, DISPOSER_AGENT_KIND, TESTER_AGENT_KIND } from './run-evidence.js';
2
2
  import { UI_TESTER_AGENT_KIND } from './visual-pipeline.js';
3
3
  // ---------------------------------------------------------------------------
4
4
  // The ENVIRONMENT LIFECYCLE a pipeline's steps have to spell out: provision (`deployer`) →
@@ -29,17 +29,19 @@ import { UI_TESTER_AGENT_KIND } from './visual-pipeline.js';
29
29
  // coming (`prReport.environments.ts`).
30
30
  // ---------------------------------------------------------------------------
31
31
  /**
32
- * The agent kind that PROVISIONS a run's ephemeral environments, the sole provisioner, which
33
- * is why every consumer below is stated relative to it. The canonical slug also backs
34
- * integrations' `DEPLOYER_AGENT_KIND` (re-exported there).
35
- */
36
- export const DEPLOYER_AGENT_KIND = 'deployer';
37
- /**
38
- * The agent kind that RECLAIMS them again, the deployer's counterpart at the other end of the
39
- * lifecycle. It tears down by the environment ids the deployer RECORDED on its own step, so it
40
- * has nothing whatsoever to do without one earlier in the chain.
32
+ * The two slugs this module is stated relative to: the kind that PROVISIONS a run's ephemeral
33
+ * environments (the sole provisioner) and the kind that RECLAIMS them again at the other end of
34
+ * the lifecycle.
35
+ *
36
+ * DEFINED in `run-evidence.ts` and re-exported here, which is the opposite direction from the
37
+ * rest of this package's slugs and is a load-bearing detail rather than a tidiness one. The
38
+ * evidence reductions read the same two steps (which one recorded the per-frame outcomes, which
39
+ * one recorded the reclaims), and that module has to stay a LEAF: it already supplies this one's
40
+ * `TESTER_AGENT_KIND`, so a second edge back would close an import cycle whose only symptom is a
41
+ * TDZ `ReferenceError` at module load, in the spec generator rather than in a test.
42
+ * `DEPLOYER_AGENT_KIND` also backs integrations' re-export of the same name.
41
43
  */
42
- export const DISPOSER_AGENT_KIND = 'disposer';
44
+ export { DEPLOYER_AGENT_KIND, DISPOSER_AGENT_KIND } from './run-evidence.js';
43
45
  /**
44
46
  * The agent kind of the human-testing gate: it parks for a person to validate the change in the
45
47
  * live URL, so it reads the environment rather than standing one up. The canonical slug also
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-environment-lifecycle.js","sourceRoot":"","sources":["../src/pipeline-environment-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline-environment-lifecycle.js","sourceRoot":"","sources":["../src/pipeline-environment-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -779,7 +779,7 @@ export declare const retryAgentRunContract: {
779
779
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
780
780
  readonly id: v.StringSchema<undefined>;
781
781
  readonly label: v.StringSchema<undefined>;
782
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
782
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
783
783
  }, undefined>, undefined>;
784
784
  readonly agentKind: v.StringSchema<undefined>;
785
785
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -2046,7 +2046,7 @@ export declare const stopAgentRunContract: {
2046
2046
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
2047
2047
  readonly id: v.StringSchema<undefined>;
2048
2048
  readonly label: v.StringSchema<undefined>;
2049
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
2049
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
2050
2050
  }, undefined>, undefined>;
2051
2051
  readonly agentKind: v.StringSchema<undefined>;
2052
2052
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -1094,7 +1094,7 @@ declare const adoptBugHuntResultSchema: v.ObjectSchema<{
1094
1094
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
1095
1095
  readonly id: v.StringSchema<undefined>;
1096
1096
  readonly label: v.StringSchema<undefined>;
1097
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
1097
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
1098
1098
  }, undefined>, undefined>;
1099
1099
  readonly agentKind: v.StringSchema<undefined>;
1100
1100
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -2778,7 +2778,7 @@ export declare const adoptBugHuntCandidateContract: {
2778
2778
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
2779
2779
  readonly id: v.StringSchema<undefined>;
2780
2780
  readonly label: v.StringSchema<undefined>;
2781
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
2781
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
2782
2782
  }, undefined>, undefined>;
2783
2783
  readonly agentKind: v.StringSchema<undefined>;
2784
2784
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -166,7 +166,7 @@ export declare const getDebugRunContract: {
166
166
  readonly unavailable: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
167
167
  readonly id: import("valibot").StringSchema<undefined>;
168
168
  readonly label: import("valibot").StringSchema<undefined>;
169
- readonly reason: import("valibot").PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
169
+ readonly reason: import("valibot").PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
170
170
  }, undefined>, undefined>;
171
171
  readonly agentKind: import("valibot").StringSchema<undefined>;
172
172
  readonly observed: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
@@ -797,7 +797,7 @@ export declare const startExecutionContract: {
797
797
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
798
798
  readonly id: v.StringSchema<undefined>;
799
799
  readonly label: v.StringSchema<undefined>;
800
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
800
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
801
801
  }, undefined>, undefined>;
802
802
  readonly agentKind: v.StringSchema<undefined>;
803
803
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -1984,7 +1984,7 @@ export declare const startAgentKindExecutionContract: {
1984
1984
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
1985
1985
  readonly id: v.StringSchema<undefined>;
1986
1986
  readonly label: v.StringSchema<undefined>;
1987
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
1987
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
1988
1988
  }, undefined>, undefined>;
1989
1989
  readonly agentKind: v.StringSchema<undefined>;
1990
1990
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -4005,7 +4005,7 @@ export declare const resumeSpendContract: {
4005
4005
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
4006
4006
  readonly id: v.StringSchema<undefined>;
4007
4007
  readonly label: v.StringSchema<undefined>;
4008
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
4008
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
4009
4009
  }, undefined>, undefined>;
4010
4010
  readonly agentKind: v.StringSchema<undefined>;
4011
4011
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -5627,7 +5627,7 @@ export declare const resolveDecisionContract: {
5627
5627
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
5628
5628
  readonly id: v.StringSchema<undefined>;
5629
5629
  readonly label: v.StringSchema<undefined>;
5630
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
5630
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
5631
5631
  }, undefined>, undefined>;
5632
5632
  readonly agentKind: v.StringSchema<undefined>;
5633
5633
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -6811,7 +6811,7 @@ export declare const approveStepContract: {
6811
6811
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
6812
6812
  readonly id: v.StringSchema<undefined>;
6813
6813
  readonly label: v.StringSchema<undefined>;
6814
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
6814
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
6815
6815
  }, undefined>, undefined>;
6816
6816
  readonly agentKind: v.StringSchema<undefined>;
6817
6817
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -8009,7 +8009,7 @@ export declare const requestStepChangesContract: {
8009
8009
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
8010
8010
  readonly id: v.StringSchema<undefined>;
8011
8011
  readonly label: v.StringSchema<undefined>;
8012
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
8012
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
8013
8013
  }, undefined>, undefined>;
8014
8014
  readonly agentKind: v.StringSchema<undefined>;
8015
8015
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -9193,7 +9193,7 @@ export declare const resolveStepExceededContract: {
9193
9193
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
9194
9194
  readonly id: v.StringSchema<undefined>;
9195
9195
  readonly label: v.StringSchema<undefined>;
9196
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
9196
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
9197
9197
  }, undefined>, undefined>;
9198
9198
  readonly agentKind: v.StringSchema<undefined>;
9199
9199
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -10375,7 +10375,7 @@ export declare const restartExecutionContract: {
10375
10375
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
10376
10376
  readonly id: v.StringSchema<undefined>;
10377
10377
  readonly label: v.StringSchema<undefined>;
10378
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
10378
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
10379
10379
  }, undefined>, undefined>;
10380
10380
  readonly agentKind: v.StringSchema<undefined>;
10381
10381
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -11559,7 +11559,7 @@ export declare const rejectStepContract: {
11559
11559
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
11560
11560
  readonly id: v.StringSchema<undefined>;
11561
11561
  readonly label: v.StringSchema<undefined>;
11562
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
11562
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
11563
11563
  }, undefined>, undefined>;
11564
11564
  readonly agentKind: v.StringSchema<undefined>;
11565
11565
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -736,7 +736,7 @@ export declare const requestHumanReviewFixContract: {
736
736
  readonly unavailable: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
737
737
  readonly id: import("valibot").StringSchema<undefined>;
738
738
  readonly label: import("valibot").StringSchema<undefined>;
739
- readonly reason: import("valibot").PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
739
+ readonly reason: import("valibot").PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
740
740
  }, undefined>, undefined>;
741
741
  readonly agentKind: import("valibot").StringSchema<undefined>;
742
742
  readonly observed: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
@@ -735,7 +735,7 @@ export declare const confirmHumanTestContract: {
735
735
  readonly unavailable: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
736
736
  readonly id: import("valibot").StringSchema<undefined>;
737
737
  readonly label: import("valibot").StringSchema<undefined>;
738
- readonly reason: import("valibot").PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
738
+ readonly reason: import("valibot").PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
739
739
  }, undefined>, undefined>;
740
740
  readonly agentKind: import("valibot").StringSchema<undefined>;
741
741
  readonly observed: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
@@ -1917,7 +1917,7 @@ export declare const requestHumanTestFixContract: {
1917
1917
  readonly unavailable: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
1918
1918
  readonly id: import("valibot").StringSchema<undefined>;
1919
1919
  readonly label: import("valibot").StringSchema<undefined>;
1920
- readonly reason: import("valibot").PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
1920
+ readonly reason: import("valibot").PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
1921
1921
  }, undefined>, undefined>;
1922
1922
  readonly agentKind: import("valibot").StringSchema<undefined>;
1923
1923
  readonly observed: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
@@ -3097,7 +3097,7 @@ export declare const pullMainHumanTestContract: {
3097
3097
  readonly unavailable: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
3098
3098
  readonly id: import("valibot").StringSchema<undefined>;
3099
3099
  readonly label: import("valibot").StringSchema<undefined>;
3100
- readonly reason: import("valibot").PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
3100
+ readonly reason: import("valibot").PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
3101
3101
  }, undefined>, undefined>;
3102
3102
  readonly agentKind: import("valibot").StringSchema<undefined>;
3103
3103
  readonly observed: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
@@ -4277,7 +4277,7 @@ export declare const recreateHumanTestEnvContract: {
4277
4277
  readonly unavailable: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
4278
4278
  readonly id: import("valibot").StringSchema<undefined>;
4279
4279
  readonly label: import("valibot").StringSchema<undefined>;
4280
- readonly reason: import("valibot").PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
4280
+ readonly reason: import("valibot").PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
4281
4281
  }, undefined>, undefined>;
4282
4282
  readonly agentKind: import("valibot").StringSchema<undefined>;
4283
4283
  readonly observed: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
@@ -5457,7 +5457,7 @@ export declare const destroyHumanTestEnvContract: {
5457
5457
  readonly unavailable: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
5458
5458
  readonly id: import("valibot").StringSchema<undefined>;
5459
5459
  readonly label: import("valibot").StringSchema<undefined>;
5460
- readonly reason: import("valibot").PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
5460
+ readonly reason: import("valibot").PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
5461
5461
  }, undefined>, undefined>;
5462
5462
  readonly agentKind: import("valibot").StringSchema<undefined>;
5463
5463
  readonly observed: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
@@ -389,6 +389,22 @@ export declare const getPublicRunOutcomeContract: {
389
389
  readonly referenceArtifactId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
390
390
  }, undefined>, undefined>;
391
391
  }, undefined>], undefined>;
392
+ readonly environments: import("valibot").VariantSchema<"status", [import("valibot").ObjectSchema<{
393
+ readonly status: import("valibot").LiteralSchema<"absent", undefined>;
394
+ readonly gap: import("valibot").PicklistSchema<["run_unavailable", "no_environment_step", "not_provisioned", "infraless"], undefined>;
395
+ }, undefined>, import("valibot").ObjectSchema<{
396
+ readonly status: import("valibot").LiteralSchema<"reported", undefined>;
397
+ readonly entries: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
398
+ readonly url: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
399
+ readonly state: import("valibot").PicklistSchema<["live", "provisioning", "failed", "reclaiming", "reclaimed", "expired"], undefined>;
400
+ readonly origin: import("valibot").PicklistSchema<["deployer", "human_test", "projected"], undefined>;
401
+ readonly expiresAt: import("valibot").NullableSchema<import("valibot").NumberSchema<undefined>, undefined>;
402
+ readonly retained: import("valibot").BooleanSchema<undefined>;
403
+ readonly frameId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
404
+ readonly environmentId: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
405
+ readonly detail: import("valibot").NullableSchema<import("valibot").StringSchema<undefined>, undefined>;
406
+ }, undefined>, undefined>;
407
+ }, undefined>], undefined>;
392
408
  readonly sources: import("valibot").VariantSchema<"status", [import("valibot").ObjectSchema<{
393
409
  readonly status: import("valibot").LiteralSchema<"absent", undefined>;
394
410
  readonly gap: import("valibot").PicklistSchema<["run_unavailable", "none_linked"], undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"public-evidence.d.ts","sourceRoot":"","sources":["../../src/routes/public-evidence.ts"],"names":[],"mappings":"AAyBA;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQtC,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQvC,CAAA;AAED,oGAAoG;AACpG,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ1C,CAAA"}
1
+ {"version":3,"file":"public-evidence.d.ts","sourceRoot":"","sources":["../../src/routes/public-evidence.ts"],"names":[],"mappings":"AAyBA;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQtC,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQvC,CAAA;AAED,oGAAoG;AACpG,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ1C,CAAA"}
@@ -736,7 +736,7 @@ export declare const approveVisualConfirmContract: {
736
736
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
737
737
  readonly id: v.StringSchema<undefined>;
738
738
  readonly label: v.StringSchema<undefined>;
739
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
739
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
740
740
  }, undefined>, undefined>;
741
741
  readonly agentKind: v.StringSchema<undefined>;
742
742
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -1918,7 +1918,7 @@ export declare const requestVisualConfirmFixContract: {
1918
1918
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
1919
1919
  readonly id: v.StringSchema<undefined>;
1920
1920
  readonly label: v.StringSchema<undefined>;
1921
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
1921
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
1922
1922
  }, undefined>, undefined>;
1923
1923
  readonly agentKind: v.StringSchema<undefined>;
1924
1924
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -3098,7 +3098,7 @@ export declare const recaptureVisualConfirmContract: {
3098
3098
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
3099
3099
  readonly id: v.StringSchema<undefined>;
3100
3100
  readonly label: v.StringSchema<undefined>;
3101
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
3101
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
3102
3102
  }, undefined>, undefined>;
3103
3103
  readonly agentKind: v.StringSchema<undefined>;
3104
3104
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -1257,7 +1257,7 @@ export declare const createWorkspaceContract: {
1257
1257
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
1258
1258
  readonly id: v.StringSchema<undefined>;
1259
1259
  readonly label: v.StringSchema<undefined>;
1260
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
1260
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
1261
1261
  }, undefined>, undefined>;
1262
1262
  readonly agentKind: v.StringSchema<undefined>;
1263
1263
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -3257,6 +3257,20 @@ export declare const createWorkspaceContract: {
3257
3257
  readonly modalities: v.ArraySchema<v.PicklistSchema<["image", "audio", "video", "3d-model", "3d-scene", "document"], undefined>, undefined>;
3258
3258
  readonly mediaTypes: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.ToLowerCaseAction, v.MinLengthAction<string, 3, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a media type of the form type/subtype">]>, undefined>, undefined>;
3259
3259
  readonly capabilities: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["reference-image", "multi-reference", "instruction-edit", "mask-edit", "negative-prompt", "seed", "aspect-ratio", "exact-size", "candidate-batch", "upscale", "transparent-background", "tileable"], undefined>, undefined>, undefined>;
3260
+ readonly accepts: v.OptionalSchema<v.ObjectSchema<{
3261
+ readonly aspectRatios: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 16, undefined>, v.RegexAction<string, "must be an aspect ratio of the form W:H">]>, undefined>, v.MinLengthAction<string[], 1, undefined>, v.MaxLengthAction<string[], 64, undefined>]>, undefined>;
3262
+ readonly outputSizes: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.ObjectSchema<{
3263
+ readonly width: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 16384, undefined>]>;
3264
+ readonly height: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 16384, undefined>]>;
3265
+ }, undefined>, undefined>, v.MinLengthAction<{
3266
+ width: number;
3267
+ height: number;
3268
+ }[], 1, undefined>, v.MaxLengthAction<{
3269
+ width: number;
3270
+ height: number;
3271
+ }[], 64, undefined>]>, undefined>;
3272
+ readonly upscaleFactors: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 2, undefined>, v.MaxValueAction<number, 8, undefined>]>, undefined>, v.MinLengthAction<number[], 1, undefined>, v.MaxLengthAction<number[], 8, undefined>]>, undefined>;
3273
+ }, undefined>, undefined>;
3260
3274
  }, undefined>, undefined>, undefined>;
3261
3275
  readonly binaryGeneratorsUnavailable: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
3262
3276
  readonly environmentBackendKinds: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -4764,7 +4778,7 @@ export declare const getWorkspaceContract: {
4764
4778
  readonly unavailable: v.ArraySchema<v.ObjectSchema<{
4765
4779
  readonly id: v.StringSchema<undefined>;
4766
4780
  readonly label: v.StringSchema<undefined>;
4767
- readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget"], undefined>;
4781
+ readonly reason: v.PicklistSchema<["harness_unsupported", "transport_unsupported", "missing_secret", "reserved_secret", "unusable_secret", "oauth_not_connected", "oauth_token_failed", "over_budget", "consensus_panel"], undefined>;
4768
4782
  }, undefined>, undefined>;
4769
4783
  readonly agentKind: v.StringSchema<undefined>;
4770
4784
  readonly observed: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -6764,6 +6778,20 @@ export declare const getWorkspaceContract: {
6764
6778
  readonly modalities: v.ArraySchema<v.PicklistSchema<["image", "audio", "video", "3d-model", "3d-scene", "document"], undefined>, undefined>;
6765
6779
  readonly mediaTypes: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.ToLowerCaseAction, v.MinLengthAction<string, 3, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a media type of the form type/subtype">]>, undefined>, undefined>;
6766
6780
  readonly capabilities: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["reference-image", "multi-reference", "instruction-edit", "mask-edit", "negative-prompt", "seed", "aspect-ratio", "exact-size", "candidate-batch", "upscale", "transparent-background", "tileable"], undefined>, undefined>, undefined>;
6781
+ readonly accepts: v.OptionalSchema<v.ObjectSchema<{
6782
+ readonly aspectRatios: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 16, undefined>, v.RegexAction<string, "must be an aspect ratio of the form W:H">]>, undefined>, v.MinLengthAction<string[], 1, undefined>, v.MaxLengthAction<string[], 64, undefined>]>, undefined>;
6783
+ readonly outputSizes: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.ObjectSchema<{
6784
+ readonly width: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 16384, undefined>]>;
6785
+ readonly height: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 16384, undefined>]>;
6786
+ }, undefined>, undefined>, v.MinLengthAction<{
6787
+ width: number;
6788
+ height: number;
6789
+ }[], 1, undefined>, v.MaxLengthAction<{
6790
+ width: number;
6791
+ height: number;
6792
+ }[], 64, undefined>]>, undefined>;
6793
+ readonly upscaleFactors: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 2, undefined>, v.MaxValueAction<number, 8, undefined>]>, undefined>, v.MinLengthAction<number[], 1, undefined>, v.MaxLengthAction<number[], 8, undefined>]>, undefined>;
6794
+ }, undefined>, undefined>;
6767
6795
  }, undefined>, undefined>, undefined>;
6768
6796
  readonly binaryGeneratorsUnavailable: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
6769
6797
  readonly environmentBackendKinds: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAe5B;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;aAGlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAI7E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK/B,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMlC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA"}
1
+ {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAe5B;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;aAGlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAI7E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK/B,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMlC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA"}
@@ -1,10 +1,23 @@
1
1
  import type { Block } from './entities.js';
2
- import type { PipelineStep } from './execution.js';
2
+ import type { EnvironmentStatus } from './environments.js';
3
+ import type { DeployEnvState, DisposeEnvState, PipelineStep } from './execution.js';
3
4
  import type { VisualConfirmPair } from './human-verdict-gates.js';
4
5
  import type { RequirementPriority, RequirementState, SpecDoc } from './spec.js';
5
6
  import type { RequirementVerdict, RequirementVerdictStatus, TestReport } from './testing.js';
6
7
  /** The API tester gate's agent kind. */
7
8
  export declare const TESTER_AGENT_KIND = "tester-api";
9
+ /**
10
+ * The agent kind that PROVISIONS a run's ephemeral environments, the sole provisioner.
11
+ * `pipeline-environment-lifecycle.ts` states its authoring rules relative to it and re-exports
12
+ * it (see the note there for why the definition lives on this side).
13
+ */
14
+ export declare const DEPLOYER_AGENT_KIND = "deployer";
15
+ /**
16
+ * The agent kind that RECLAIMS them again, the deployer's counterpart at the other end of the
17
+ * lifecycle. It tears down by the environment ids the deployer RECORDED on its own step, so it
18
+ * has nothing whatsoever to do without one earlier in the chain.
19
+ */
20
+ export declare const DISPOSER_AGENT_KIND = "disposer";
8
21
  /**
9
22
  * Whether an agent kind is one of the tester gate kinds (API or UI).
10
23
  *
@@ -167,4 +180,104 @@ export declare function tallyTestOutcomes(report: TestReport): TestOutcomeTally;
167
180
  * answer stays its own: the gate words a degraded reason, the summary picks a gap code.
168
181
  */
169
182
  export declare function countCapturedViews(pairs: readonly VisualConfirmPair[]): number;
183
+ /**
184
+ * Whether a recorded lifecycle status means the environment is no longer standing.
185
+ *
186
+ * `tearing_down` is deliberately NOT one of them: a teardown that has been asked for is not a
187
+ * teardown that happened, and the two surfaces reading this need to keep them apart (the report
188
+ * because an unfinished reclaim is not proof of one, the summary because it is a different thing
189
+ * to tell a person than "it is gone").
190
+ */
191
+ export declare function isEnvironmentGone(status: EnvironmentStatus): boolean;
192
+ /** Every deployer step of a run, in pipeline order. */
193
+ export declare function deployerSteps(steps: readonly PipelineStep[]): PipelineStep[];
194
+ /**
195
+ * The per-frame deploy outcomes this run recorded, keyed by service-frame block id.
196
+ *
197
+ * Folded over EVERY deployer step rather than read off one of them, because a pipeline may
198
+ * deploy more than once (a re-deploy after a fix, a `human-test` gate looping back to rebuild
199
+ * the environment a person is testing), and a later deploy of the same frame WINS: it superseded
200
+ * the earlier environment, so its row is the live one and the earlier id is a tombstone.
201
+ *
202
+ * That is the rule the disposer has always reclaimed by, and it is stated here because the two
203
+ * evidence reductions read the same frames it tears down. Reading a single step instead drops
204
+ * every frame the earlier deploys settled, which does not merely lose rows: the superseded
205
+ * environment is then unaccounted for, and a summary that lists what no frame claims surfaces it
206
+ * again as a live preview URL pointing at something the re-deploy already replaced.
207
+ */
208
+ export declare function deployedFrames(steps: readonly PipelineStep[]): Map<string, DeployEnvState>;
209
+ /**
210
+ * The per-frame reclaim outcomes this run recorded, the mirror of {@link deployedFrames} at the
211
+ * other end of the lifecycle and folded the same way, for the same reason: a run that deployed
212
+ * twice disposes twice.
213
+ */
214
+ export declare function disposedFrames(steps: readonly PipelineStep[]): Map<string, DisposeEnvState>;
215
+ /**
216
+ * Whether the run's deployer step DECLARED that the environments it provisions outlive the run
217
+ * (`StepOptions.retainEnvironment`).
218
+ *
219
+ * Read off the step the run actually dispatched rather than off the pipeline definition, which
220
+ * can be edited after the run started: every consumer of this is describing what THIS run did.
221
+ * It is what separates an environment still standing because that was the point from one still
222
+ * standing because the reclaim never happened, which is the difference between a preview URL a
223
+ * reviewer is meant to keep clicking and a leak.
224
+ */
225
+ export declare function declaresRetainedEnvironment(steps: readonly PipelineStep[]): boolean;
226
+ /**
227
+ * What one of the run's steps last saw of one environment: the id it names, where it was, and
228
+ * the lifecycle status the observing step recorded.
229
+ *
230
+ * `source` travels with it because the two producers are not equally strong and a consumer must
231
+ * never read one as the other. A `projection` is a poll's snapshot of a row the platform owns; a
232
+ * `human_test` observation is the gate's record of the environment a PERSON was sent to, and its
233
+ * `torn_down` is not a snapshot at all but the gate stating what IT did on the way past.
234
+ */
235
+ export interface RunEnvironmentObservation {
236
+ /** The environments-registry id: the identity every producer of this run agrees on. */
237
+ id: string;
238
+ url: string | null;
239
+ status: EnvironmentStatus;
240
+ expiresAt: number | null;
241
+ /** The provider's own cause, where the observing producer recorded one. */
242
+ lastError: string | null;
243
+ source: 'projection' | 'human_test';
244
+ /**
245
+ * True when a LATER deploy of the same service frame replaced this environment.
246
+ *
247
+ * Derived rather than observed, and it has to be: a superseded environment is the one thing no
248
+ * producer here ever revisits. The run's polls stop refreshing its projection the moment the
249
+ * frame moves on, so it keeps whatever status it last had (usually `ready`) forever, while the
250
+ * provisioning service has already torn it down or tombstoned its row on the way to standing
251
+ * the replacement up. Left underived it is the most convincing dead link a run can produce: a
252
+ * `ready` snapshot with a URL, of an environment nothing will ever refresh again.
253
+ */
254
+ superseded: boolean;
255
+ }
256
+ /**
257
+ * Whether an observation describes an environment that is no longer standing, by either route:
258
+ * a recorded terminal status, or a later deploy having replaced it.
259
+ *
260
+ * The total form of {@link isEnvironmentGone} for a run's own observations, and the one both
261
+ * reductions ask. Reading the status alone answers "was it torn down", which is a strictly
262
+ * narrower question than "is it gone".
263
+ */
264
+ export declare function isObservedEnvironmentGone(observed: RunEnvironmentObservation): boolean;
265
+ /**
266
+ * Everything the run's own steps observed about the environments it stood up: one row per
267
+ * environment id, carrying the LAST observation of it, in the order the run first saw each one.
268
+ *
269
+ * Two producers write these and both have to be folded in, because they are the same
270
+ * environments seen at different moments. A step PROJECTION (`step.environment`) is the weakest
271
+ * signal there is: the run's polls write it and never refresh it once the run settles, so an
272
+ * environment the TTL sweep reclaimed afterwards keeps a `ready` projection forever. The
273
+ * `human-test` gate's own record (`step.humanTest.environment`) is written over the same
274
+ * environment (the gate no longer provisions one: it READS what the deployer stood up), and on
275
+ * the way past it stamps `torn_down` for the environment it destroyed when the person confirmed.
276
+ *
277
+ * Folding the two by IDENTITY, later-wins, is what makes that teardown visible. Kept apart, the
278
+ * deployer's step projection still says `ready` for the same id, and a consumer that reads only
279
+ * projections offers a link to an environment the gate destroyed. Kept as two lists, the same
280
+ * environment appears twice under two producers, which reads as two.
281
+ */
282
+ export declare function runEnvironmentObservations(steps: readonly PipelineStep[]): RunEnvironmentObservation[];
170
283
  //# sourceMappingURL=run-evidence.d.ts.map