@cat-factory/contracts 0.217.0 → 0.219.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.
@@ -147,14 +147,20 @@ export declare const capabilityCredentialsViewSchema: v.ObjectSchema<{
147
147
  readonly updatedAt: v.NumberSchema<undefined>;
148
148
  }, undefined>, undefined>;
149
149
  /**
150
- * Whether the deployment ALSO has an environment-variable fallback behind this store. False
151
- * when a facade wired a store-only resolver.
150
+ * Whether the deployment ALSO has an environment-variable fallback behind this store, read off
151
+ * the chain the facade actually COMPOSED rather than asserted by the surface that renders it.
152
152
  *
153
153
  * Stated because it changes what an EMPTY row means: with the fallback, a key nothing is stored
154
154
  * for may still resolve from the deployment's environment, so the UI must not report it as
155
155
  * missing. "Absent" and "zero" again.
156
+ *
157
+ * Three states, not two, because a deployment that supplied its OWN `ToolSecretResolver`
158
+ * replaced the whole chain, and the platform cannot describe what it put there: that resolver
159
+ * may read Vault, or the environment, or both. Absent is that answer. Rendering a guess either
160
+ * way is the same mistake in opposite directions: `true` sends an operator away from a
161
+ * credential nothing will resolve, `false` sends them hunting for a value that already answers.
156
162
  */
157
- readonly environmentFallback: v.BooleanSchema<undefined>;
163
+ readonly environmentFallback: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
158
164
  /**
159
165
  * Whether the DECLARATION half of this view is known to be incomplete — the generative
160
166
  * integrations are read through `BinaryGeneratorSource`, which THROWS rather than answering an
@@ -1 +1 @@
1
- {"version":3,"file":"capability-credentials.d.ts","sourceRoot":"","sources":["../src/capability-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAiC5B;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,6BAA6B,2ZAiBzC,CAAA;AAED,8FAA8F;AAC9F,eAAO,MAAM,+BAA+B;;;aAG1C,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,6BAA6B;;aAExC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAE9F;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B;;IAExC,2FAA2F;;aAE3F,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gCAAgC;;IAE3C,mFAAmF;;;;;QAM/E,mFAAmF;;;IAIvF,uEAAuE;;IAEvE,iDAAiD;;IAEjD,6EAA6E;;aAE7E,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gCAAgC,CAAC,CAAA;AAE/F;;;GAGG;AACH,eAAO,MAAM,0BAA0B,MAAM,CAAA;AAE7C,wFAAwF;AACxF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;wDAU7C,CAAA;AACD,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,WAAW,CAC1D,OAAO,iCAAiC,CACzC,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+BAA+B;;;QApD1C,mFAAmF;;;;;YAM/E,mFAAmF;;;QAIvF,uEAAuE;;QAEvE,iDAAiD;;QAEjD,6EAA6E;;;IAwC7E,qDAAqD;;;QA5ErD,2FAA2F;;;IA8E3F;;;;;;;OAOG;;IAEH;;;;;;;;;OASG;;aAEH,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F,gGAAgG;AAChG,eAAO,MAAM,iCAAiC;;;yBAA2C,CAAA;AACzF,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,OAAO,GAAG,yBAAyB,EAAE,CAE1F;AAED,6FAA6F;AAC7F,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,yBAAyB,EAAE,EACpC,SAAS,EAAE,MAAM,GAChB,uBAAuB,EAAE,CAE3B"}
1
+ {"version":3,"file":"capability-credentials.d.ts","sourceRoot":"","sources":["../src/capability-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAiC5B;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,6BAA6B,2ZAiBzC,CAAA;AAED,8FAA8F;AAC9F,eAAO,MAAM,+BAA+B;;;aAG1C,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,6BAA6B;;aAExC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAE9F;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B;;IAExC,2FAA2F;;aAE3F,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gCAAgC;;IAE3C,mFAAmF;;;;;QAM/E,mFAAmF;;;IAIvF,uEAAuE;;IAEvE,iDAAiD;;IAEjD,6EAA6E;;aAE7E,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gCAAgC,CAAC,CAAA;AAE/F;;;GAGG;AACH,eAAO,MAAM,0BAA0B,MAAM,CAAA;AAE7C,wFAAwF;AACxF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;wDAU7C,CAAA;AACD,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,WAAW,CAC1D,OAAO,iCAAiC,CACzC,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+BAA+B;;;QApD1C,mFAAmF;;;;;YAM/E,mFAAmF;;;QAIvF,uEAAuE;;QAEvE,iDAAiD;;QAEjD,6EAA6E;;;IAwC7E,qDAAqD;;;QA5ErD,2FAA2F;;;IA8E3F;;;;;;;;;;;;;OAaG;;IAEH;;;;;;;;;OASG;;aAEH,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F,gGAAgG;AAChG,eAAO,MAAM,iCAAiC;;;yBAA2C,CAAA;AACzF,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,OAAO,GAAG,yBAAyB,EAAE,CAE1F;AAED,6FAA6F;AAC7F,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,yBAAyB,EAAE,EACpC,SAAS,EAAE,MAAM,GAChB,uBAAuB,EAAE,CAE3B"}
@@ -132,14 +132,20 @@ export const capabilityCredentialsViewSchema = v.object({
132
132
  /** Stored keys no registered capability declares. */
133
133
  orphaned: v.array(capabilityCredentialRefSchema),
134
134
  /**
135
- * Whether the deployment ALSO has an environment-variable fallback behind this store. False
136
- * when a facade wired a store-only resolver.
135
+ * Whether the deployment ALSO has an environment-variable fallback behind this store, read off
136
+ * the chain the facade actually COMPOSED rather than asserted by the surface that renders it.
137
137
  *
138
138
  * Stated because it changes what an EMPTY row means: with the fallback, a key nothing is stored
139
139
  * for may still resolve from the deployment's environment, so the UI must not report it as
140
140
  * missing. "Absent" and "zero" again.
141
+ *
142
+ * Three states, not two, because a deployment that supplied its OWN `ToolSecretResolver`
143
+ * replaced the whole chain, and the platform cannot describe what it put there: that resolver
144
+ * may read Vault, or the environment, or both. Absent is that answer. Rendering a guess either
145
+ * way is the same mistake in opposite directions: `true` sends an operator away from a
146
+ * credential nothing will resolve, `false` sends them hunting for a value that already answers.
141
147
  */
142
- environmentFallback: v.boolean(),
148
+ environmentFallback: v.optional(v.boolean()),
143
149
  /**
144
150
  * Whether the DECLARATION half of this view is known to be incomplete — the generative
145
151
  * integrations are read through `BinaryGeneratorSource`, which THROWS rather than answering an
@@ -1 +1 @@
1
- {"version":3,"file":"capability-credentials.js","sourceRoot":"","sources":["../src/capability-credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability-credentials.js","sourceRoot":"","sources":["../src/capability-credentials.ts"],"names":[],"mappings":"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"}
@@ -1403,7 +1403,7 @@ export declare const pipelineSchema: v.ObjectSchema<{
1403
1403
  readonly version: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
1404
1404
  /**
1405
1405
  * When true this pipeline may be invoked by an EXTERNAL caller through the public API
1406
- * (`POST /api/v1/initiatives`). Only honored for inline (no-container/no-GitHub) pipelines,
1406
+ * (`POST /api/v1/jobs`). Only honored for inline (no-container/no-GitHub) pipelines,
1407
1407
  * so an external initiative run never pushes to a repo. Absent / false ⇒ not exposed to the
1408
1408
  * public API (still fully usable from the authenticated SPA). See the `initiative-breakdown`
1409
1409
  * pipeline for the first public entry.
package/dist/entities.js CHANGED
@@ -820,7 +820,7 @@ export const pipelineSchema = v.object({
820
820
  version: v.optional(v.number()),
821
821
  /**
822
822
  * When true this pipeline may be invoked by an EXTERNAL caller through the public API
823
- * (`POST /api/v1/initiatives`). Only honored for inline (no-container/no-GitHub) pipelines,
823
+ * (`POST /api/v1/jobs`). Only honored for inline (no-container/no-GitHub) pipelines,
824
824
  * so an external initiative run never pushes to a repo. Absent / false ⇒ not exposed to the
825
825
  * public API (still fully usable from the authenticated SPA). See the `initiative-breakdown`
826
826
  * pipeline for the first public entry.
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Built-in gate kinds whose poll never times out because they are waiting on a HUMAN, so a step
3
+ * carrying one can park the run indefinitely.
4
+ *
5
+ * Membership is equivalent to the gate's `pollExhaustion: 'rearm'` declaration, and
6
+ * `@cat-factory/gates`' `human-wait-parity.test.ts` fails the build if the two ever disagree: a new
7
+ * built-in gate that waits on a human cannot ship without being classified here.
8
+ *
9
+ * Only BUILT-IN gates are covered. A deployment that registers its own unbounded-wait gate is not
10
+ * seen by the static rule (reading a registered gate's `pollExhaustion` means invoking its factory
11
+ * with an engine context, which a request-time admission check has no business doing), so the run
12
+ * is admitted and the park is answered in the app. Stated rather than silently assumed: see
13
+ * ADR 0032.
14
+ */
15
+ export declare const HUMAN_WAIT_GATE_KINDS: ReadonlySet<string>;
16
+ //# sourceMappingURL=gate-parking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-parking.d.ts","sourceRoot":"","sources":["../src/gate-parking.ts"],"names":[],"mappings":"AAmBA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAIpD,CAAA"}
@@ -0,0 +1,38 @@
1
+ // Which polling-GATE kinds park the run on a human, and are therefore a static park surface a
2
+ // start path can refuse on.
3
+ //
4
+ // A gate is normally the opposite of a park: it probes a provider, escalates to a helper agent on a
5
+ // negative verdict, and settles itself. One gate kind is different. `human-review` declares
6
+ // `pollExhaustion: 'rearm'` with an effectively unbounded attempt budget, which is the engine's way
7
+ // of saying "there is no deadline for a human reviewer": running out of polls is not a verdict, so
8
+ // the step re-arms and the run waits indefinitely for a person on the PR.
9
+ //
10
+ // That makes it a human park in exactly the sense the public API's admission rule cares about, and
11
+ // it is STATIC: the kind sits in the pipeline's step chain at save time, unlike an agent-raised
12
+ // decision or a judge `park` disposition, which only exist once a run is under way.
13
+ //
14
+ // This lives in `contracts` rather than beside either consumer because the two packages that must
15
+ // agree cannot see each other: `@cat-factory/server`'s public-API admission reads it, and
16
+ // `@cat-factory/gates` (which owns the gate definitions and therefore the `pollExhaustion` values)
17
+ // pins it with a drift guard. A shared constant is the only shape in which those two cannot
18
+ // disagree. The same reasoning as `BUILTIN_GATABLE_KINDS` in `agent-gating.ts`.
19
+ /**
20
+ * Built-in gate kinds whose poll never times out because they are waiting on a HUMAN, so a step
21
+ * carrying one can park the run indefinitely.
22
+ *
23
+ * Membership is equivalent to the gate's `pollExhaustion: 'rearm'` declaration, and
24
+ * `@cat-factory/gates`' `human-wait-parity.test.ts` fails the build if the two ever disagree: a new
25
+ * built-in gate that waits on a human cannot ship without being classified here.
26
+ *
27
+ * Only BUILT-IN gates are covered. A deployment that registers its own unbounded-wait gate is not
28
+ * seen by the static rule (reading a registered gate's `pollExhaustion` means invoking its factory
29
+ * with an engine context, which a request-time admission check has no business doing), so the run
30
+ * is admitted and the park is answered in the app. Stated rather than silently assumed: see
31
+ * ADR 0032.
32
+ */
33
+ export const HUMAN_WAIT_GATE_KINDS = new Set([
34
+ // Waits for a real human code review on the PR. `pollExhaustion: 'rearm'`, an effectively
35
+ // infinite attempt budget, and a notification (not a timeout) as the nudge.
36
+ 'human-review',
37
+ ]);
38
+ //# sourceMappingURL=gate-parking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-parking.js","sourceRoot":"","sources":["../src/gate-parking.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,4BAA4B;AAC5B,EAAE;AACF,oGAAoG;AACpG,4FAA4F;AAC5F,oGAAoG;AACpG,mGAAmG;AACnG,0EAA0E;AAC1E,EAAE;AACF,mGAAmG;AACnG,gGAAgG;AAChG,oFAAoF;AACpF,EAAE;AACF,kGAAkG;AAClG,0FAA0F;AAC1F,mGAAmG;AACnG,4FAA4F;AAC5F,gFAAgF;AAEhF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAS;IACxE,0FAA0F;IAC1F,4EAA4E;IAC5E,cAAc;CACf,CAAC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -54,6 +54,7 @@ export * from './doc-interview.js';
54
54
  export * from './followUp.js';
55
55
  export * from './forkDecision.js';
56
56
  export * from './gate.js';
57
+ export * from './gate-parking.js';
57
58
  export * from './judge.js';
58
59
  export * from './ralph.js';
59
60
  export * from './validation-checks.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -54,6 +54,7 @@ export * from './doc-interview.js';
54
54
  export * from './followUp.js';
55
55
  export * from './forkDecision.js';
56
56
  export * from './gate.js';
57
+ export * from './gate-parking.js';
57
58
  export * from './judge.js';
58
59
  export * from './ralph.js';
59
60
  export * from './validation-checks.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import * as v from 'valibot';
4
4
  * external consumer must notice. Backwards compatibility is a non-goal (see CLAUDE.md), so
5
5
  * a bump means "re-read the schema", not "a compatibility shim exists".
6
6
  */
7
- export declare const PR_VERIFICATION_REPORT_VERSION = 3;
7
+ export declare const PR_VERIFICATION_REPORT_VERSION = 4;
8
8
  /**
9
9
  * Whether a section has evidence to show.
10
10
  * - `reported` — the producing step ran and its evidence is below.
@@ -162,10 +162,143 @@ export declare const prReportEnvironmentSchema: v.ObjectSchema<{
162
162
  }, undefined>;
163
163
  export type PrReportEnvironment = v.InferOutput<typeof prReportEnvironmentSchema>;
164
164
  /**
165
- * The ephemeral-environment lifecycle: which environments came up, and whether they were
166
- * torn down again. `teardown` reads the run's live environment projection:
167
- * - `confirmed` — every environment reached a torn-down/expired state.
168
- * - `pending` — at least one is still live (the run may still be using it).
165
+ * Why the lifecycle could not be dated, as a MACHINE-READABLE cause rather than prose. The four
166
+ * are kept apart because each is a different thing to fix, and because three of them would
167
+ * otherwise be reported as the fourth: an empty timeline is what a deployment retaining no log,
168
+ * a failed read, a truncated read and a run that stood nothing up all produce, and only one of
169
+ * those is a statement about how the deployment is configured.
170
+ *
171
+ * - `unwired`: no provisioning-log repository is wired, so nothing records these dates.
172
+ * - `unreadable`: the log is wired and the read FAILED. A transport blip, not a
173
+ * configuration fact; re-attempted on the next publish.
174
+ * - `truncated`: the run has more provisioning rows than one report read may take, so
175
+ * what came back cannot be reasoned over as a complete history. Stated
176
+ * rather than folded, because a partial history yields a CONFIDENT wrong
177
+ * answer (an environment whose bring-up row fell off the end looks like
178
+ * one that was never stood up, and therefore never needs reclaiming).
179
+ * - `not_provisioned`: the run has no deployer step, so no lifecycle was ever meant to exist
180
+ * and the log was deliberately not queried.
181
+ */
182
+ export declare const prReportTimelineGapSchema: v.PicklistSchema<["unwired", "unreadable", "truncated", "not_provisioned"], undefined>;
183
+ export type PrReportTimelineGap = v.InferOutput<typeof prReportTimelineGapSchema>;
184
+ /**
185
+ * The DATED half of the environment lifecycle, read off the run's rows in the provisioning
186
+ * event log, the only store that records WHEN a throwaway environment came up and when it
187
+ * went away. The step state can say an environment is gone; only the log can say it was torn
188
+ * down at a time, by an attempt that succeeded.
189
+ *
190
+ * `gap` is the honest-absence flag and it is NOT a formality: a deployment that retains no
191
+ * provisioning log, and one whose environments were never torn down, produce the same empty
192
+ * timeline and opposite facts. Reporting either as `tornDownAt: null` alone would let a reader
193
+ * conclude the environment is still running. It is a single field rather than a boolean beside
194
+ * a reason, so the two can never disagree.
195
+ */
196
+ export declare const prReportEnvironmentTimelineSchema: v.ObjectSchema<{
197
+ /**
198
+ * Why this timeline is empty, or `null` when the log was read whole and the dates below are
199
+ * the history. Non-null ⇒ every field below is a zero because nothing (or not enough) was
200
+ * READ, not because nothing happened; `note` renders the same fact for a human.
201
+ */
202
+ readonly gap: v.NullableSchema<v.PicklistSchema<["unwired", "unreadable", "truncated", "not_provisioned"], undefined>, undefined>;
203
+ /** Says why the timeline is empty when `gap` is set. */
204
+ readonly note: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
205
+ /** Epoch ms of the run's FIRST successful environment provision, when one is on record. */
206
+ readonly provisionedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
207
+ /**
208
+ * Epoch ms of the run's LAST successful environment teardown, when one is on record. This is
209
+ * the last one RECORDED, which is the end of the lifecycle only once {@link
210
+ * prReportEnvironmentsSchema.entries.teardown} is `confirmed`: a run that replaced an
211
+ * environment mid-flight reclaimed the superseded one and is still holding its replacement.
212
+ */
213
+ readonly tornDownAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
214
+ /**
215
+ * How many provisioning attempts the log records as failures for this run (0 on a clean
216
+ * bring-up). Counted at whatever grain the provider logged: a whole environment that failed to
217
+ * come up, or one step of a multi-step stack recipe. Both are attempts that did not work, and
218
+ * the log does not distinguish them, so neither does this.
219
+ */
220
+ readonly provisionFailures: v.NumberSchema<undefined>;
221
+ /**
222
+ * How many environments the run stood up whose LATEST teardown attempt failed. A non-zero
223
+ * count is the state the live-projection tri-state below cannot express: the platform tried to
224
+ * reclaim the environment and the provider refused, which is an operator's problem rather than
225
+ * a run's. Counted per environment, not per attempt, so a retry loop against one stuck
226
+ * environment does not read as a fleet of them.
227
+ */
228
+ readonly teardownFailures: v.NumberSchema<undefined>;
229
+ }, undefined>;
230
+ export type PrReportEnvironmentTimeline = v.InferOutput<typeof prReportEnvironmentTimelineSchema>;
231
+ /** One artifact the UI tester captured while exercising the live environment. */
232
+ export declare const prReportEvidenceArtifactSchema: v.ObjectSchema<{
233
+ /** The logical view the screenshot was taken of. */
234
+ readonly view: v.StringSchema<undefined>;
235
+ /** The stored artifact id, in the deployment's binary-artifact store. */
236
+ readonly artifactId: v.StringSchema<undefined>;
237
+ /** Whether a reference design image was paired with it for visual confirmation. */
238
+ readonly hasReference: v.BooleanSchema<undefined>;
239
+ }, undefined>;
240
+ export type PrReportEvidenceArtifact = v.InferOutput<typeof prReportEvidenceArtifactSchema>;
241
+ /**
242
+ * The MIDDLE leg of the lifecycle proof: what was actually observed against the environment
243
+ * while it was live. An environment that came up and was torn down again proves only that the
244
+ * platform can spin infrastructure; it becomes evidence for the CHANGE when something was
245
+ * exercised against it in between.
246
+ *
247
+ * The four statuses are kept apart because they call for different reactions:
248
+ * - `captured`: a tester ran against the ephemeral environment and its observations are below.
249
+ * - `local`: a tester ran, but against locally stood-up dependencies, so nothing was
250
+ * observed against the environment this section is about.
251
+ * - `undeclared`: a tester reported without saying where it ran, so its observations cannot be
252
+ * ATTRIBUTED to this environment. Distinct from `local`, which is a positive
253
+ * statement that it ran somewhere else; guessing either way would turn an
254
+ * unknown into a claim, in the one section whose whole job is provenance.
255
+ * - `absent`: no tester report at all (no tester step, or it never settled).
256
+ *
257
+ * The artifacts and counts are reported WHATEVER the status: they exist, and a reviewer should
258
+ * be able to reach them. What the status governs is whether they may be read as evidence about
259
+ * this environment, which is why the attribution rides the section rather than the rows.
260
+ */
261
+ export declare const prReportEnvironmentEvidenceSchema: v.ObjectSchema<{
262
+ readonly status: v.PicklistSchema<["captured", "local", "undeclared", "absent"], undefined>;
263
+ /** Says why the observations below are not evidence about this environment. */
264
+ readonly note: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
265
+ /** Where the tester stood the system under test up, when a report says. */
266
+ readonly ranAgainst: v.NullableSchema<v.PicklistSchema<["local", "ephemeral"], undefined>, undefined>;
267
+ /** Epoch ms the tester step settled: the observation's place on the timeline above. */
268
+ readonly capturedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
269
+ /** How many areas the tester reported an outcome for. */
270
+ readonly outcomes: v.NumberSchema<undefined>;
271
+ /** How many spec requirements it returned a verdict on. */
272
+ readonly requirementVerdicts: v.NumberSchema<undefined>;
273
+ /** The screenshots it captured (capped like every other list; see `truncations`). */
274
+ readonly screenshots: v.ArraySchema<v.ObjectSchema<{
275
+ /** The logical view the screenshot was taken of. */
276
+ readonly view: v.StringSchema<undefined>;
277
+ /** The stored artifact id, in the deployment's binary-artifact store. */
278
+ readonly artifactId: v.StringSchema<undefined>;
279
+ /** Whether a reference design image was paired with it for visual confirmation. */
280
+ readonly hasReference: v.BooleanSchema<undefined>;
281
+ }, undefined>, undefined>;
282
+ /**
283
+ * Deep link into the run's captured evidence in the app. Null when the deployment configured
284
+ * no public app URL, so the report never emits a link to nowhere. The rows above still name
285
+ * each artifact, which is what an operator greps the store for.
286
+ */
287
+ readonly url: v.NullableSchema<v.StringSchema<undefined>, undefined>;
288
+ }, undefined>;
289
+ export type PrReportEnvironmentEvidence = v.InferOutput<typeof prReportEnvironmentEvidenceSchema>;
290
+ /**
291
+ * The ephemeral-environment lifecycle, as the three-leg proof a reviewer needs: the
292
+ * environment came UP, evidence was CAPTURED from it while it was live, and it was TORN DOWN
293
+ * again. Each leg is a captured fact from a different producer, and `proof` is COMPUTED from
294
+ * the three in code, never read off any agent's claim that it tested against a preview.
295
+ *
296
+ * `teardown` prefers the provisioning log's RECORDED attempts, per environment identity, and
297
+ * falls back to the run's live step projection only when there is no log to read:
298
+ * - `confirmed` — every environment the run stood up was reclaimed.
299
+ * - `pending` — at least one is still standing (the run may still be using it).
300
+ * - `failed` — an environment's latest teardown attempt FAILED, so it is still standing
301
+ * for a reason someone has to act on.
169
302
  * - `not_applicable` — nothing was ever provisioned.
170
303
  */
171
304
  export declare const prReportEnvironmentsSchema: v.ObjectSchema<{
@@ -179,7 +312,86 @@ export declare const prReportEnvironmentsSchema: v.ObjectSchema<{
179
312
  readonly url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
180
313
  readonly error: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
181
314
  }, undefined>, undefined>;
182
- readonly teardown: v.PicklistSchema<["confirmed", "pending", "not_applicable"], undefined>;
315
+ readonly teardown: v.PicklistSchema<["confirmed", "pending", "failed", "not_applicable"], undefined>;
316
+ readonly timeline: v.ObjectSchema<{
317
+ /**
318
+ * Why this timeline is empty, or `null` when the log was read whole and the dates below are
319
+ * the history. Non-null ⇒ every field below is a zero because nothing (or not enough) was
320
+ * READ, not because nothing happened; `note` renders the same fact for a human.
321
+ */
322
+ readonly gap: v.NullableSchema<v.PicklistSchema<["unwired", "unreadable", "truncated", "not_provisioned"], undefined>, undefined>;
323
+ /** Says why the timeline is empty when `gap` is set. */
324
+ readonly note: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
325
+ /** Epoch ms of the run's FIRST successful environment provision, when one is on record. */
326
+ readonly provisionedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
327
+ /**
328
+ * Epoch ms of the run's LAST successful environment teardown, when one is on record. This is
329
+ * the last one RECORDED, which is the end of the lifecycle only once {@link
330
+ * prReportEnvironmentsSchema.entries.teardown} is `confirmed`: a run that replaced an
331
+ * environment mid-flight reclaimed the superseded one and is still holding its replacement.
332
+ */
333
+ readonly tornDownAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
334
+ /**
335
+ * How many provisioning attempts the log records as failures for this run (0 on a clean
336
+ * bring-up). Counted at whatever grain the provider logged: a whole environment that failed to
337
+ * come up, or one step of a multi-step stack recipe. Both are attempts that did not work, and
338
+ * the log does not distinguish them, so neither does this.
339
+ */
340
+ readonly provisionFailures: v.NumberSchema<undefined>;
341
+ /**
342
+ * How many environments the run stood up whose LATEST teardown attempt failed. A non-zero
343
+ * count is the state the live-projection tri-state below cannot express: the platform tried to
344
+ * reclaim the environment and the provider refused, which is an operator's problem rather than
345
+ * a run's. Counted per environment, not per attempt, so a retry loop against one stuck
346
+ * environment does not read as a fleet of them.
347
+ */
348
+ readonly teardownFailures: v.NumberSchema<undefined>;
349
+ }, undefined>;
350
+ readonly evidence: v.ObjectSchema<{
351
+ readonly status: v.PicklistSchema<["captured", "local", "undeclared", "absent"], undefined>;
352
+ /** Says why the observations below are not evidence about this environment. */
353
+ readonly note: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
354
+ /** Where the tester stood the system under test up, when a report says. */
355
+ readonly ranAgainst: v.NullableSchema<v.PicklistSchema<["local", "ephemeral"], undefined>, undefined>;
356
+ /** Epoch ms the tester step settled: the observation's place on the timeline above. */
357
+ readonly capturedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
358
+ /** How many areas the tester reported an outcome for. */
359
+ readonly outcomes: v.NumberSchema<undefined>;
360
+ /** How many spec requirements it returned a verdict on. */
361
+ readonly requirementVerdicts: v.NumberSchema<undefined>;
362
+ /** The screenshots it captured (capped like every other list; see `truncations`). */
363
+ readonly screenshots: v.ArraySchema<v.ObjectSchema<{
364
+ /** The logical view the screenshot was taken of. */
365
+ readonly view: v.StringSchema<undefined>;
366
+ /** The stored artifact id, in the deployment's binary-artifact store. */
367
+ readonly artifactId: v.StringSchema<undefined>;
368
+ /** Whether a reference design image was paired with it for visual confirmation. */
369
+ readonly hasReference: v.BooleanSchema<undefined>;
370
+ }, undefined>, undefined>;
371
+ /**
372
+ * Deep link into the run's captured evidence in the app. Null when the deployment configured
373
+ * no public app URL, so the report never emits a link to nowhere. The rows above still name
374
+ * each artifact, which is what an operator greps the store for.
375
+ */
376
+ readonly url: v.NullableSchema<v.StringSchema<undefined>, undefined>;
377
+ }, undefined>;
378
+ /**
379
+ * The composed verdict over the three legs:
380
+ * - `complete`: up, observed, and reclaimed.
381
+ * - `incomplete`: at least one leg is missing; {@link gaps} names which.
382
+ * - `not_applicable`: no environment was ever meant to stand up (no deployer step, or every
383
+ * frame is infraless), so there is nothing to prove.
384
+ *
385
+ * COMPUTED from the legs, never asserted: this is the platform's judgement about its own
386
+ * evidence, and a reviewer must be able to re-derive it from the rows above.
387
+ */
388
+ readonly proof: v.PicklistSchema<["complete", "incomplete", "not_applicable"], undefined>;
389
+ /**
390
+ * One human-readable line per missing or contradictory leg, so an `incomplete` proof always
391
+ * says WHAT is missing rather than leaving a reader to diff the sections. Empty when
392
+ * `proof` is `complete`.
393
+ */
394
+ readonly gaps: v.ArraySchema<v.StringSchema<undefined>, undefined>;
183
395
  }, undefined>;
184
396
  export type PrReportEnvironments = v.InferOutput<typeof prReportEnvironmentsSchema>;
185
397
  /**
@@ -535,7 +747,86 @@ export declare const prVerificationReportSchema: v.ObjectSchema<{
535
747
  readonly url: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
536
748
  readonly error: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
537
749
  }, undefined>, undefined>;
538
- readonly teardown: v.PicklistSchema<["confirmed", "pending", "not_applicable"], undefined>;
750
+ readonly teardown: v.PicklistSchema<["confirmed", "pending", "failed", "not_applicable"], undefined>;
751
+ readonly timeline: v.ObjectSchema<{
752
+ /**
753
+ * Why this timeline is empty, or `null` when the log was read whole and the dates below are
754
+ * the history. Non-null ⇒ every field below is a zero because nothing (or not enough) was
755
+ * READ, not because nothing happened; `note` renders the same fact for a human.
756
+ */
757
+ readonly gap: v.NullableSchema<v.PicklistSchema<["unwired", "unreadable", "truncated", "not_provisioned"], undefined>, undefined>;
758
+ /** Says why the timeline is empty when `gap` is set. */
759
+ readonly note: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
760
+ /** Epoch ms of the run's FIRST successful environment provision, when one is on record. */
761
+ readonly provisionedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
762
+ /**
763
+ * Epoch ms of the run's LAST successful environment teardown, when one is on record. This is
764
+ * the last one RECORDED, which is the end of the lifecycle only once {@link
765
+ * prReportEnvironmentsSchema.entries.teardown} is `confirmed`: a run that replaced an
766
+ * environment mid-flight reclaimed the superseded one and is still holding its replacement.
767
+ */
768
+ readonly tornDownAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
769
+ /**
770
+ * How many provisioning attempts the log records as failures for this run (0 on a clean
771
+ * bring-up). Counted at whatever grain the provider logged: a whole environment that failed to
772
+ * come up, or one step of a multi-step stack recipe. Both are attempts that did not work, and
773
+ * the log does not distinguish them, so neither does this.
774
+ */
775
+ readonly provisionFailures: v.NumberSchema<undefined>;
776
+ /**
777
+ * How many environments the run stood up whose LATEST teardown attempt failed. A non-zero
778
+ * count is the state the live-projection tri-state below cannot express: the platform tried to
779
+ * reclaim the environment and the provider refused, which is an operator's problem rather than
780
+ * a run's. Counted per environment, not per attempt, so a retry loop against one stuck
781
+ * environment does not read as a fleet of them.
782
+ */
783
+ readonly teardownFailures: v.NumberSchema<undefined>;
784
+ }, undefined>;
785
+ readonly evidence: v.ObjectSchema<{
786
+ readonly status: v.PicklistSchema<["captured", "local", "undeclared", "absent"], undefined>;
787
+ /** Says why the observations below are not evidence about this environment. */
788
+ readonly note: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
789
+ /** Where the tester stood the system under test up, when a report says. */
790
+ readonly ranAgainst: v.NullableSchema<v.PicklistSchema<["local", "ephemeral"], undefined>, undefined>;
791
+ /** Epoch ms the tester step settled: the observation's place on the timeline above. */
792
+ readonly capturedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
793
+ /** How many areas the tester reported an outcome for. */
794
+ readonly outcomes: v.NumberSchema<undefined>;
795
+ /** How many spec requirements it returned a verdict on. */
796
+ readonly requirementVerdicts: v.NumberSchema<undefined>;
797
+ /** The screenshots it captured (capped like every other list; see `truncations`). */
798
+ readonly screenshots: v.ArraySchema<v.ObjectSchema<{
799
+ /** The logical view the screenshot was taken of. */
800
+ readonly view: v.StringSchema<undefined>;
801
+ /** The stored artifact id, in the deployment's binary-artifact store. */
802
+ readonly artifactId: v.StringSchema<undefined>;
803
+ /** Whether a reference design image was paired with it for visual confirmation. */
804
+ readonly hasReference: v.BooleanSchema<undefined>;
805
+ }, undefined>, undefined>;
806
+ /**
807
+ * Deep link into the run's captured evidence in the app. Null when the deployment configured
808
+ * no public app URL, so the report never emits a link to nowhere. The rows above still name
809
+ * each artifact, which is what an operator greps the store for.
810
+ */
811
+ readonly url: v.NullableSchema<v.StringSchema<undefined>, undefined>;
812
+ }, undefined>;
813
+ /**
814
+ * The composed verdict over the three legs:
815
+ * - `complete`: up, observed, and reclaimed.
816
+ * - `incomplete`: at least one leg is missing; {@link gaps} names which.
817
+ * - `not_applicable`: no environment was ever meant to stand up (no deployer step, or every
818
+ * frame is infraless), so there is nothing to prove.
819
+ *
820
+ * COMPUTED from the legs, never asserted: this is the platform's judgement about its own
821
+ * evidence, and a reviewer must be able to re-derive it from the rows above.
822
+ */
823
+ readonly proof: v.PicklistSchema<["complete", "incomplete", "not_applicable"], undefined>;
824
+ /**
825
+ * One human-readable line per missing or contradictory leg, so an `incomplete` proof always
826
+ * says WHAT is missing rather than leaving a reader to diff the sections. Empty when
827
+ * `proof` is `complete`.
828
+ */
829
+ readonly gaps: v.ArraySchema<v.StringSchema<undefined>, undefined>;
539
830
  }, undefined>;
540
831
  readonly merge: v.ObjectSchema<{
541
832
  readonly status: v.PicklistSchema<["reported", "absent"], undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"pr-report.d.ts","sourceRoot":"","sources":["../src/pr-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr-report.d.ts","sourceRoot":"","sources":["../src/pr-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAyB5B;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,IAAI,CAAA;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,qDAAqC,CAAA;AAC7E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF,gEAAgE;AAChE,eAAO,MAAM,kBAAkB;IAC7B,wCAAwC;;IAExC,uFAAuF;;IAEvF,kFAAkF;;IAElF,8DAA8D;;aAE9D,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB;IAC9B,8EAA8E;;IAE9E,iEAAiE;;;;aAIjE,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE,2EAA2E;AAC3E,eAAO,MAAM,iBAAiB;IAC5B,iFAAiF;;IAEjF,iDAAiD;;;;;IAKjD,8DAA8D;;IAE9D,2FAA2F;;IAE3F,mDAAmD;;IAEnD,4CAA4C;;QArC5C,wCAAwC;;QAExC,uFAAuF;;QAEvF,kFAAkF;;QAElF,8DAA8D;;;IAiC9D,+DAA+D;;QA1B/D,8EAA8E;;QAE9E,iEAAiE;;;;;aA0BjE,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB;;IAE9B,4FAA4F;;;IAG5F,2DAA2D;;aAE3D,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;IAE3B,+DAA+D;;IAE/D,wCAAwC;;IAExC,2DAA2D;;IAE3D;;;OAGG;;;QAxBH,4FAA4F;;;QAG5F,2DAA2D;;;IAuB3D,uEAAuE;;;aAGvE,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,sDAAsD;AACtD,eAAO,MAAM,yBAAyB;;;;aAIpC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,mFAAmF;AACnF,eAAO,MAAM,yBAAyB;;;aAGpC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,wEAAwE;AACxE,eAAO,MAAM,mBAAmB;;;IAG9B,kEAAkE;;;IAGlE,wFAAwF;;IAExF,yCAAyC;;;;;;;;;;;IAIzC,0EAA0E;;;aAG1E,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE,kFAAkF;AAClF,eAAO,MAAM,yBAAyB;IACpC,6DAA6D;;IAE7D,wFAAwF;;;;aAIxF,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,yBAAyB,wFAKpC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iCAAiC;IAC5C;;;;OAIG;;IAEH,wDAAwD;;IAExD,2FAA2F;;IAE3F;;;;;OAKG;;IAEH;;;;;OAKG;;IAEH;;;;;;OAMG;;aAEH,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iCAAiC,CAAC,CAAA;AAEjG,iFAAiF;AACjF,eAAO,MAAM,8BAA8B;IACzC,oDAAoD;;IAEpD,yEAAyE;;IAEzE,mFAAmF;;aAEnF,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAE3F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,iCAAiC;;IAE5C,+EAA+E;;IAE/E,2EAA2E;;IAE3E,uFAAuF;;IAEvF,yDAAyD;;IAEzD,2DAA2D;;IAE3D,qFAAqF;;QAzCrF,oDAAoD;;QAEpD,yEAAyE;;QAEzE,mFAAmF;;;IAuCnF;;;;OAIG;;aAEH,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iCAAiC,CAAC,CAAA;AAEjG;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,0BAA0B;;;;QAvJrC,6DAA6D;;QAE7D,wFAAwF;;;;;;;QA8CxF;;;;WAIG;;QAEH,wDAAwD;;QAExD,2FAA2F;;QAE3F;;;;;WAKG;;QAEH;;;;;WAKG;;QAEH;;;;;;WAMG;;;;;QAsCH,+EAA+E;;QAE/E,2EAA2E;;QAE3E,uFAAuF;;QAEvF,yDAAyD;;QAEzD,2DAA2D;;QAE3D,qFAAqF;;YAzCrF,oDAAoD;;YAEpD,yEAAyE;;YAEzE,mFAAmF;;;QAuCnF;;;;WAIG;;;IA0BH;;;;;;;;;OASG;;IAEH;;;;OAIG;;aAEH,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;aAO9B,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;aAEtC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB;IAC9B,6EAA6E;;;IAG7E,8FAA8F;;IAE9F,+EAA+E;;;IAG/E,uFAAuF;;IAEvF,uCAAuC;;IAEvC,iFAAiF;;;;;;;IAEjF,yEAAyE;;;IAGzE,2CAA2C;;aAE3C,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE,mGAAmG;AACnG,eAAO,MAAM,oBAAoB;;IAE/B,+DAA+D;;;QAzB/D,6EAA6E;;;QAG7E,8FAA8F;;QAE9F,+EAA+E;;;QAG/E,uFAAuF;;QAEvF,uCAAuC;;QAEvC,iFAAiF;;;;;;;QAEjF,yEAAyE;;;QAGzE,2CAA2C;;;aAW3C,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,yBAAyB;IACpC,4FAA4F;;;IAG5F,oEAAoE;;;;IAIpE;;;;OAIG;;IAEH,4EAA4E;;IAE5E,+DAA+D;;IAE/D,uEAAuE;;aAEvE,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B;;IAErC,oFAAoF;;IAEpF,8EAA8E;;QAvC9E,4FAA4F;;;QAG5F,oEAAoE;;;;QAIpE;;;;WAIG;;QAEH,4EAA4E;;QAE5E,+DAA+D;;QAE/D,uEAAuE;;;IAwBvE,+FAA+F;;;;IAI/F;;;;;;;;;;;;;;;;;;OAkBG;;IAEH,oEAAoE;;aAEpE,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF,eAAO,MAAM,0BAA0B;IACrC,kDAAkD;;IAElD,qEAAqE;;;QAzarE,iFAAiF;;QAEjF,iDAAiD;;;;;QAKjD,8DAA8D;;QAE9D,2FAA2F;;QAE3F,mDAAmD;;QAEnD,4CAA4C;;YArC5C,wCAAwC;;YAExC,uFAAuF;;YAEvF,kFAAkF;;YAElF,8DAA8D;;;QAiC9D,+DAA+D;;YA1B/D,8EAA8E;;YAE9E,iEAAiE;;;;;;;;QA+CjE,+DAA+D;;QAE/D,wCAAwC;;QAExC,2DAA2D;;QAE3D;;;WAGG;;;YAxBH,4FAA4F;;;YAG5F,2DAA2D;;;QAuB3D,uEAAuE;;;;;;;QAyBvE,kEAAkE;;;QAGlE,wFAAwF;;QAExF,yCAAyC;;;;;;;;;;;QAIzC,0EAA0E;;;;;;QAkT1E,oFAAoF;;QAEpF,8EAA8E;;YAvC9E,4FAA4F;;;YAG5F,oEAAoE;;;;YAIpE;;;;eAIG;;YAEH,4EAA4E;;YAE5E,+DAA+D;;YAE/D,uEAAuE;;;QAwBvE,+FAA+F;;;;QAI/F;;;;;;;;;;;;;;;;;;WAkBG;;QAEH,oEAAoE;;;;;;;YAtUpE,6DAA6D;;YAE7D,wFAAwF;;;;;;;YA8CxF;;;;eAIG;;YAEH,wDAAwD;;YAExD,2FAA2F;;YAE3F;;;;;eAKG;;YAEH;;;;;eAKG;;YAEH;;;;;;eAMG;;;;;YAsCH,+EAA+E;;YAE/E,2EAA2E;;YAE3E,uFAAuF;;YAEvF,yDAAyD;;YAEzD,2DAA2D;;YAE3D,qFAAqF;;gBAzCrF,oDAAoD;;gBAEpD,yEAAyE;;gBAEzE,mFAAmF;;;YAuCnF;;;;eAIG;;;QA0BH;;;;;;;;;WASG;;QAEH;;;;WAIG;;;;;;;;;;;;;;;;;;QAmEH,+DAA+D;;;YAzB/D,6EAA6E;;;YAG7E,8FAA8F;;YAE9F,+EAA+E;;;YAG/E,uFAAuF;;YAEvF,uCAAuC;;YAEvC,iFAAiF;;;;;;;YAEjF,yEAAyE;;;YAGzE,2CAA2C;;;;;;;IAgH3C;;;;;;;;;OASG;;aAEH,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAE9E"}