@telora/daemon 0.24.26 → 0.24.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +6 -3
- package/dist/ci/gate-job-conclusion.d.ts +88 -0
- package/dist/ci/gate-job-conclusion.d.ts.map +1 -0
- package/dist/ci/gate-job-conclusion.js +207 -0
- package/dist/ci/gate-job-conclusion.js.map +1 -0
- package/dist/ci/gate-ref.d.ts +12 -0
- package/dist/ci/gate-ref.d.ts.map +1 -1
- package/dist/ci/gate-ref.js +2 -0
- package/dist/ci/gate-ref.js.map +1 -1
- package/dist/composition/tower-escalation-context.d.ts +3 -0
- package/dist/composition/tower-escalation-context.d.ts.map +1 -1
- package/dist/composition/tower-escalation-context.js +26 -12
- package/dist/composition/tower-escalation-context.js.map +1 -1
- package/dist/composition/verification-context.d.ts.map +1 -1
- package/dist/composition/verification-context.js +13 -2
- package/dist/composition/verification-context.js.map +1 -1
- package/dist/composition/verify-probe-context.d.ts +15 -1
- package/dist/composition/verify-probe-context.d.ts.map +1 -1
- package/dist/composition/verify-probe-context.js +45 -4
- package/dist/composition/verify-probe-context.js.map +1 -1
- package/dist/nexus/escalation-bridge.d.ts.map +1 -1
- package/dist/nexus/escalation-bridge.js +2 -1
- package/dist/nexus/escalation-bridge.js.map +1 -1
- package/dist/nexus/file-escalation.d.ts.map +1 -1
- package/dist/nexus/file-escalation.js +1 -0
- package/dist/nexus/file-escalation.js.map +1 -1
- package/dist/prompt-sections/ci-failed-step-section.d.ts +16 -0
- package/dist/prompt-sections/ci-failed-step-section.d.ts.map +1 -0
- package/dist/prompt-sections/ci-failed-step-section.js +20 -0
- package/dist/prompt-sections/ci-failed-step-section.js.map +1 -0
- package/dist/prompt-sections/prompt-listing.d.ts +3 -0
- package/dist/prompt-sections/prompt-listing.d.ts.map +1 -1
- package/dist/prompt-sections/prompt-listing.js +11 -1
- package/dist/prompt-sections/prompt-listing.js.map +1 -1
- package/dist/prompt-sections/routing-decider-sections.d.ts +7 -0
- package/dist/prompt-sections/routing-decider-sections.d.ts.map +1 -1
- package/dist/prompt-sections/routing-decider-sections.js +22 -0
- package/dist/prompt-sections/routing-decider-sections.js.map +1 -1
- package/dist/queries/api-client/shared.js +1 -1
- package/dist/queries/deliveries/deliveries.js +1 -1
- package/dist/queries/delivery-gate-state/delivery-gate-holds.d.ts.map +1 -1
- package/dist/queries/delivery-gate-state/delivery-gate-holds.js +2 -1
- package/dist/queries/delivery-gate-state/delivery-gate-holds.js.map +1 -1
- package/dist/queries/delivery-gate-state/delivery-gate-state.d.ts +13 -0
- package/dist/queries/delivery-gate-state/delivery-gate-state.d.ts.map +1 -1
- package/dist/queries/delivery-gate-state/delivery-gate-state.js +3 -1
- package/dist/queries/delivery-gate-state/delivery-gate-state.js.map +1 -1
- package/dist/queries/delivery-gate-state/verify-own-holds.d.ts +24 -2
- package/dist/queries/delivery-gate-state/verify-own-holds.d.ts.map +1 -1
- package/dist/queries/delivery-gate-state/verify-own-holds.js.map +1 -1
- package/dist/queries/escalations/cause-key.d.ts.map +1 -1
- package/dist/queries/escalations/cause-key.js +1 -0
- package/dist/queries/escalations/cause-key.js.map +1 -1
- package/dist/queries/escalations/escalations.d.ts.map +1 -1
- package/dist/queries/escalations/escalations.js +2 -1
- package/dist/queries/escalations/escalations.js.map +1 -1
- package/dist/queries/escalations/filing-observation.d.ts +24 -1
- package/dist/queries/escalations/filing-observation.d.ts.map +1 -1
- package/dist/queries/escalations/filing-observation.js +27 -2
- package/dist/queries/escalations/filing-observation.js.map +1 -1
- package/dist/queries/escalations/tower-escalations.d.ts +21 -0
- package/dist/queries/escalations/tower-escalations.d.ts.map +1 -1
- package/dist/queries/escalations/tower-escalations.js +24 -0
- package/dist/queries/escalations/tower-escalations.js.map +1 -1
- package/dist/queries/focus-review/review-criterion-verdicts.d.ts.map +1 -1
- package/dist/queries/focus-review/review-criterion-verdicts.js +3 -0
- package/dist/queries/focus-review/review-criterion-verdicts.js.map +1 -1
- package/dist/queries/focus-review/review-summary-verdicts.d.ts +50 -0
- package/dist/queries/focus-review/review-summary-verdicts.d.ts.map +1 -0
- package/dist/queries/focus-review/review-summary-verdicts.js +117 -0
- package/dist/queries/focus-review/review-summary-verdicts.js.map +1 -0
- package/dist/queries/focuses/focuses.d.ts.map +1 -1
- package/dist/queries/focuses/focuses.js +2 -0
- package/dist/queries/focuses/focuses.js.map +1 -1
- package/dist/queries/reality-tree/reality-tree.d.ts.map +1 -1
- package/dist/queries/reality-tree/reality-tree.js +1 -0
- package/dist/queries/reality-tree/reality-tree.js.map +1 -1
- package/dist/queries/reality-tree/shortfall-node-bindings.d.ts +42 -0
- package/dist/queries/reality-tree/shortfall-node-bindings.d.ts.map +1 -0
- package/dist/queries/reality-tree/shortfall-node-bindings.js +42 -0
- package/dist/queries/reality-tree/shortfall-node-bindings.js.map +1 -0
- package/dist/queries/tower-decisions/tower-decisions.d.ts +3 -1
- package/dist/queries/tower-decisions/tower-decisions.d.ts.map +1 -1
- package/dist/queries/tower-decisions/tower-decisions.js +1 -0
- package/dist/queries/tower-decisions/tower-decisions.js.map +1 -1
- package/dist/queries/verification/verification.js +1 -1
- package/dist/supervision/escalation-filing.js +1 -1
- package/dist/supervision/incident-correlation.d.ts +4 -1
- package/dist/supervision/incident-correlation.d.ts.map +1 -1
- package/dist/supervision/incident-correlation.js +7 -2
- package/dist/supervision/incident-correlation.js.map +1 -1
- package/dist/supervision/stop-registry.d.ts +1 -0
- package/dist/supervision/stop-registry.d.ts.map +1 -1
- package/dist/supervision/stop-rows-delivery.d.ts +10 -0
- package/dist/supervision/stop-rows-delivery.d.ts.map +1 -1
- package/dist/supervision/stop-rows-delivery.js +29 -0
- package/dist/supervision/stop-rows-delivery.js.map +1 -1
- package/dist/testing/fixtures/api-client.js +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/fixtures/tower-shortfall-7bac4c82.d.ts +38 -0
- package/dist/testing/fixtures/tower-shortfall-7bac4c82.d.ts.map +1 -0
- package/dist/testing/fixtures/tower-shortfall-7bac4c82.js +67 -0
- package/dist/testing/fixtures/tower-shortfall-7bac4c82.js.map +1 -0
- package/dist/testing/fixtures/tower-shortfall-cd32119b.d.ts +79 -0
- package/dist/testing/fixtures/tower-shortfall-cd32119b.d.ts.map +1 -0
- package/dist/testing/fixtures/tower-shortfall-cd32119b.js +142 -0
- package/dist/testing/fixtures/tower-shortfall-cd32119b.js.map +1 -0
- package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/verification-deps.js +3 -0
- package/dist/testing/fixtures/verification-deps.js.map +1 -1
- package/dist/testing/fixtures/verification-feedback-deps.js +1 -1
- package/dist/tower/tower-escalation-gather.d.ts +24 -0
- package/dist/tower/tower-escalation-gather.d.ts.map +1 -1
- package/dist/tower/tower-escalation-gather.js +29 -1
- package/dist/tower/tower-escalation-gather.js.map +1 -1
- package/dist/tower/tower-escalation-prompt.d.ts +26 -1
- package/dist/tower/tower-escalation-prompt.d.ts.map +1 -1
- package/dist/tower/tower-escalation-prompt.js +76 -8
- package/dist/tower/tower-escalation-prompt.js.map +1 -1
- package/dist/tower/tower-escalation-routing.d.ts +27 -1
- package/dist/tower/tower-escalation-routing.d.ts.map +1 -1
- package/dist/tower/tower-escalation-routing.js +32 -3
- package/dist/tower/tower-escalation-routing.js.map +1 -1
- package/dist/tower/tower-escalation-session.d.ts +29 -6
- package/dist/tower/tower-escalation-session.d.ts.map +1 -1
- package/dist/tower/tower-escalation-session.js +27 -9
- package/dist/tower/tower-escalation-session.js.map +1 -1
- package/dist/tower/tower-escalation-shortfall.d.ts +158 -0
- package/dist/tower/tower-escalation-shortfall.d.ts.map +1 -0
- package/dist/tower/tower-escalation-shortfall.js +452 -0
- package/dist/tower/tower-escalation-shortfall.js.map +1 -0
- package/dist/tower/tower-supervisor-session.d.ts.map +1 -1
- package/dist/tower/tower-supervisor-session.js +1 -0
- package/dist/tower/tower-supervisor-session.js.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/verify/ci-gate/ci-gate-dispatch.d.ts +41 -0
- package/dist/verify/ci-gate/ci-gate-dispatch.d.ts.map +1 -1
- package/dist/verify/ci-gate/ci-gate-dispatch.js +148 -7
- package/dist/verify/ci-gate/ci-gate-dispatch.js.map +1 -1
- package/dist/verify/ci-gate/ci-gate-pin-publish.d.ts +101 -0
- package/dist/verify/ci-gate/ci-gate-pin-publish.d.ts.map +1 -0
- package/dist/verify/ci-gate/ci-gate-pin-publish.js +238 -0
- package/dist/verify/ci-gate/ci-gate-pin-publish.js.map +1 -0
- package/dist/verify/deterministic-gate/verification-deterministic.d.ts +3 -1
- package/dist/verify/deterministic-gate/verification-deterministic.d.ts.map +1 -1
- package/dist/verify/deterministic-gate/verification-deterministic.js +1 -1
- package/dist/verify/deterministic-gate/verification-deterministic.js.map +1 -1
- package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts +11 -0
- package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts.map +1 -1
- package/dist/verify/effect-reconciliation/verify-reconciliation.js +35 -2
- package/dist/verify/effect-reconciliation/verify-reconciliation.js.map +1 -1
- package/dist/verify/effect-reconciliation/verify-restatement.d.ts +4 -0
- package/dist/verify/effect-reconciliation/verify-restatement.d.ts.map +1 -1
- package/dist/verify/effect-reconciliation/verify-restatement.js +3 -3
- package/dist/verify/effect-reconciliation/verify-restatement.js.map +1 -1
- package/dist/verify/engine/reconciliation-step.d.ts +9 -2
- package/dist/verify/engine/reconciliation-step.d.ts.map +1 -1
- package/dist/verify/engine/reconciliation-step.js +26 -3
- package/dist/verify/engine/reconciliation-step.js.map +1 -1
- package/dist/verify/gate-verdicts/commit-verdict-record.d.ts +2 -0
- package/dist/verify/gate-verdicts/commit-verdict-record.d.ts.map +1 -1
- package/dist/verify/gate-verdicts/commit-verdict-record.js +10 -1
- package/dist/verify/gate-verdicts/commit-verdict-record.js.map +1 -1
- package/dist/verify/install-probe/in-repo-publish.d.ts +10 -0
- package/dist/verify/install-probe/in-repo-publish.d.ts.map +1 -1
- package/dist/verify/install-probe/in-repo-publish.js +15 -0
- package/dist/verify/install-probe/in-repo-publish.js.map +1 -1
- package/dist/verify/install-probe/install-probe-tick.d.ts +7 -0
- package/dist/verify/install-probe/install-probe-tick.d.ts.map +1 -1
- package/dist/verify/install-probe/install-probe-tick.js +4 -1
- package/dist/verify/install-probe/install-probe-tick.js.map +1 -1
- package/dist/verify/outcome-routing/incurable-model-hold.d.ts +2 -0
- package/dist/verify/outcome-routing/incurable-model-hold.d.ts.map +1 -1
- package/dist/verify/outcome-routing/incurable-model-hold.js +21 -6
- package/dist/verify/outcome-routing/incurable-model-hold.js.map +1 -1
- package/dist/verify/outcome-routing/repeating-model-hold.d.ts.map +1 -1
- package/dist/verify/outcome-routing/repeating-model-hold.js +13 -7
- package/dist/verify/outcome-routing/repeating-model-hold.js.map +1 -1
- package/dist/verify/outcome-routing/unjudged-node-hold.d.ts +31 -0
- package/dist/verify/outcome-routing/unjudged-node-hold.d.ts.map +1 -0
- package/dist/verify/outcome-routing/unjudged-node-hold.js +134 -0
- package/dist/verify/outcome-routing/unjudged-node-hold.js.map +1 -0
- package/dist/verify/outcome-routing/verification-feedback.d.ts +5 -1
- package/dist/verify/outcome-routing/verification-feedback.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-feedback.js +7 -1
- package/dist/verify/outcome-routing/verification-feedback.js.map +1 -1
- package/dist/verify/outcome-routing/verification-model-unavailable-hold.d.ts +4 -0
- package/dist/verify/outcome-routing/verification-model-unavailable-hold.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-model-unavailable-hold.js +25 -8
- package/dist/verify/outcome-routing/verification-model-unavailable-hold.js.map +1 -1
- package/dist/verify/outcome-routing/verification-rework-messages.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-rework-messages.js +7 -2
- package/dist/verify/outcome-routing/verification-rework-messages.js.map +1 -1
- package/dist/verify/shortfalls/pre-judge-rulings.d.ts.map +1 -1
- package/dist/verify/shortfalls/pre-judge-rulings.js +1 -0
- package/dist/verify/shortfalls/pre-judge-rulings.js.map +1 -1
- package/dist/verify/shortfalls/shortfall-park-escalation.d.ts +9 -2
- package/dist/verify/shortfalls/shortfall-park-escalation.d.ts.map +1 -1
- package/dist/verify/shortfalls/shortfall-park-escalation.js +13 -1
- package/dist/verify/shortfalls/shortfall-park-escalation.js.map +1 -1
- package/dist/verify/shortfalls/shortfall-rulings.d.ts.map +1 -1
- package/dist/verify/shortfalls/shortfall-rulings.js +4 -0
- package/dist/verify/shortfalls/shortfall-rulings.js.map +1 -1
- package/dist/worktree/focus-worktree-state.d.ts.map +1 -1
- package/dist/worktree/focus-worktree-state.js +1 -0
- package/dist/worktree/focus-worktree-state.js.map +1 -1
- package/package.json +2 -2
|
@@ -6,6 +6,8 @@ import type { AppliedVerificationConfig, VerificationConfigScope } from '../gate
|
|
|
6
6
|
import type { JudgedCommitManifest, JudgedCommitRead } from '../run-selection/verification-default-on.js';
|
|
7
7
|
import type { FileEscalationInput } from '../../nexus/file-escalation.js';
|
|
8
8
|
import type { CiGateWaitStore } from './ci-gate-wait-record.js';
|
|
9
|
+
import type { ConcludedGateJob, GateJobRead } from '../../ci/gate-job-conclusion.js';
|
|
10
|
+
import type { PinPublishStep } from './ci-gate-pin-publish.js';
|
|
9
11
|
import { type EscapedTestsDeps } from '../escaped-tests/escaped-tests-source.js';
|
|
10
12
|
/** Past the gate's own timeout, how long a handed-over run may sit with no verdict before it is re-pushed (once). */
|
|
11
13
|
export declare const CI_GATE_QUEUE_MARGIN_MS: number;
|
|
@@ -13,6 +15,8 @@ export declare const CI_GATE_QUEUE_MARGIN_MS: number;
|
|
|
13
15
|
export declare const CI_GATE_REGISTRATION_STALE_MS: number;
|
|
14
16
|
/** The machine kind of the one filing a held CI gate run makes. */
|
|
15
17
|
export declare const CI_GATE_NO_VERDICT_KIND = "verify_ci_gate_no_verdict";
|
|
18
|
+
/** Dispatch attempts a published red waits for its uncaptured step's error from the job log before it routes without it. */
|
|
19
|
+
export declare const CI_GATE_STEP_LOG_ATTEMPTS = 3;
|
|
16
20
|
/** The CI-run gate's own seams; production binds the git IO of ci/gate-ref.ts and the durable wait record. */
|
|
17
21
|
export interface CiGateDeps {
|
|
18
22
|
/** The config a default-on run applies at the judged commit (verify/gate-config/judged-commit-gate.ts), or null. */
|
|
@@ -29,6 +33,27 @@ export interface CiGateDeps {
|
|
|
29
33
|
* whose gate job and script ride along (ci/gate-ref.ts buildHarnessCommit).
|
|
30
34
|
*/
|
|
31
35
|
pushRun: (repoPath: string, spec: GateRunSpec, harnessFrom?: string) => boolean;
|
|
36
|
+
/**
|
|
37
|
+
* The conclusion of the gate job CI ran for the hand-over at `sinceMs` of `sha`
|
|
38
|
+
* on the focus's gate branch (ci/gate-job-conclusion.ts); 'unconcluded' when
|
|
39
|
+
* still running or unreadable. Never throws.
|
|
40
|
+
*/
|
|
41
|
+
readJob: (repoPath: string, focusId: string, sha: string, sinceMs: number) => Promise<GateJobRead>;
|
|
42
|
+
/**
|
|
43
|
+
* The log of the gate job CI ran for the hand-over at `sinceMs`, up to the
|
|
44
|
+
* failed step's error (ci/gate-job-conclusion.ts readGateJobLogTail); null when
|
|
45
|
+
* unreadable. Never throws.
|
|
46
|
+
*/
|
|
47
|
+
readJobLog: (repoPath: string, focusId: string, sha: string, sinceMs: number) => Promise<string | null>;
|
|
48
|
+
/**
|
|
49
|
+
* Before a hand-over: publish the judged commit's unpublished in-repo @telora
|
|
50
|
+
* pins under pending, or decline naming them (ci-gate-pin-publish.ts). Never throws.
|
|
51
|
+
*/
|
|
52
|
+
ensurePins: (run: {
|
|
53
|
+
repoPath: string;
|
|
54
|
+
focusId: string;
|
|
55
|
+
sha: string;
|
|
56
|
+
}) => Promise<PinPublishStep>;
|
|
32
57
|
waits: CiGateWaitStore;
|
|
33
58
|
/** Where a fetched CI log is kept, so the log readers find it by path. */
|
|
34
59
|
logDir: () => string;
|
|
@@ -88,6 +113,22 @@ export declare function __resetCiGateRunsForTests(): void;
|
|
|
88
113
|
* and the gate's own blindness rules (a failure naming nothing) apply to it.
|
|
89
114
|
*/
|
|
90
115
|
export declare function resultFromPublished(run: CiGateRun, status: 'green' | 'red', published: PublishedGateStatus, fetched: PublishedGateLog | null, logPath: string | null): StrategyResult;
|
|
116
|
+
/**
|
|
117
|
+
* The headers scripts/ci-gate-run.sh publish-step-failure writes a failed step's
|
|
118
|
+
* error under in gate.log: its own captured output, or the job log it read over
|
|
119
|
+
* the Gitea Actions API.
|
|
120
|
+
*/
|
|
121
|
+
export declare const STEP_ERROR_HEADERS: readonly ["--- last lines of the step's output ---", "--- the step's error, from the job log ---"];
|
|
122
|
+
/** The failed step's error a published gate.log carries (after its header); null when it carries none. Pure. */
|
|
123
|
+
export declare function stepErrorOf(log: string): string | null;
|
|
124
|
+
/** The text a concluded-red gate job is kept and fed back as: what ended, where, and the failed step's log tail. Pure. */
|
|
125
|
+
export declare function concludedJobLogText(run: CiGateRun, job: ConcludedGateJob): string;
|
|
126
|
+
/**
|
|
127
|
+
* The StrategyResult a gate job CI concluded red with NO published status renders
|
|
128
|
+
* (module doc): failed, naming the job and the failed step, its log kept like a
|
|
129
|
+
* published run's. Pure.
|
|
130
|
+
*/
|
|
131
|
+
export declare function resultFromConcludedJob(run: CiGateRun, job: ConcludedGateJob, text: string, logPath: string | null): StrategyResult;
|
|
91
132
|
/**
|
|
92
133
|
* Take one step of the CI-run gate for `run` (module doc). Never throws for a
|
|
93
134
|
* normal miss: anything unreadable is a wait.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ci-gate-dispatch.d.ts","sourceRoot":"","sources":["../../../src/verify/ci-gate/ci-gate-dispatch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ci-gate-dispatch.d.ts","sourceRoot":"","sources":["../../../src/verify/ci-gate/ci-gate-dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,10 +21,25 @@
|
|
|
21
21
|
* (verify/engine/verification-commit-sharing.ts), so the
|
|
22
22
|
* review request, re-work routing, the gate-verdict
|
|
23
23
|
* prompt section and the dashboard read it unchanged.
|
|
24
|
-
* nothing handed yet ->
|
|
24
|
+
* nothing handed yet -> first publish what the commit's in-repo @telora pins
|
|
25
|
+
* need (ci-gate-pin-publish.ts) -- the hand-over waits
|
|
26
|
+
* until that lands or is declined (named on gate_state);
|
|
27
|
+
* then push the commit to the focus's gate branch with the
|
|
25
28
|
* run's spec (command, timeout, the verify boundary env),
|
|
26
29
|
* and stamp the wait durably (ci-gate-wait-record.ts).
|
|
27
|
-
*
|
|
30
|
+
* A red whose job's final step names an earlier step the
|
|
31
|
+
* runner captured no output of (checkout, setup) waits a
|
|
32
|
+
* bounded few ticks for that step's ERROR, read from the
|
|
33
|
+
* job log (ci/gate-job-conclusion.ts readGateJobLogTail),
|
|
34
|
+
* so the verdict carries the error, not only the name.
|
|
35
|
+
* waiting -> the gate JOB's own conclusion is read on each tick
|
|
36
|
+
* (ci/gate-job-conclusion.ts): a job of this hand-over's
|
|
37
|
+
* run that concluded failure or cancelled with no status
|
|
38
|
+
* published -- it died before the gate script could
|
|
39
|
+
* publish one, e.g. run 8807's `npm ci` E404 -- is a red
|
|
40
|
+
* at once, naming the job and the step that failed. A job
|
|
41
|
+
* still queued or running (or unreadable) keeps waiting:
|
|
42
|
+
* nothing, until the bounded window has passed with no
|
|
28
43
|
* verdict; then the run is RE-PUSHED once (so CI sees a
|
|
29
44
|
* fresh push), and after a second window the delivery
|
|
30
45
|
* simply holds and the hold is SURFACED once (one
|
|
@@ -76,6 +91,8 @@ export const CI_GATE_REGISTRATION_STALE_MS = 10 * 60 * 1000;
|
|
|
76
91
|
export const CI_GATE_NO_VERDICT_KIND = 'verify_ci_gate_no_verdict';
|
|
77
92
|
/** Chars of the CI log kept inline on the result (the whole log is in the file logPath names). */
|
|
78
93
|
const LOG_TAIL_CHARS = 4000;
|
|
94
|
+
/** Dispatch attempts a published red waits for its uncaptured step's error from the job log before it routes without it. */
|
|
95
|
+
export const CI_GATE_STEP_LOG_ATTEMPTS = 3;
|
|
79
96
|
/**
|
|
80
97
|
* The CI-run gate a candidate takes, or null when its gate runs on the host: a
|
|
81
98
|
* deterministic candidate -- default-on, or an explicit-method row -- on a focus
|
|
@@ -172,10 +189,12 @@ export function resultFromPublished(run, status, published, fetched, logPath) {
|
|
|
172
189
|
const passed = status === 'green';
|
|
173
190
|
const exitCode = fetched?.result?.exitCode ?? (passed ? 0 : 1);
|
|
174
191
|
const tail = fetched ? fetched.log.slice(-LOG_TAIL_CHARS) : undefined;
|
|
192
|
+
const failedStep = fetched?.result?.failedStep;
|
|
193
|
+
const how = passed ? 'passed (exit 0)'
|
|
194
|
+
: failedStep ? `failed at CI job step "${failedStep}", before the gate command ran` : `failed (exit ${exitCode})`;
|
|
175
195
|
return {
|
|
176
196
|
outcome: passed ? 'passed' : 'failed',
|
|
177
|
-
rationale: `CI gate run #${published.runNumber} of ${run.sha.slice(0, 8)} ${
|
|
178
|
-
+ `-- published as ${published.ref}`,
|
|
197
|
+
rationale: `CI gate run #${published.runNumber} of ${run.sha.slice(0, 8)} ${how} -- published as ${published.ref}`,
|
|
179
198
|
exitCode,
|
|
180
199
|
verifiedSha: run.sha,
|
|
181
200
|
appliedConfig: run.applied,
|
|
@@ -183,8 +202,69 @@ export function resultFromPublished(run, status, published, fetched, logPath) {
|
|
|
183
202
|
...(tail !== undefined ? { stdoutTail: tail } : {}),
|
|
184
203
|
...(logPath !== null ? { logPath } : {}),
|
|
185
204
|
publishedLogRef: published.ref,
|
|
205
|
+
...(!passed && failedStep ? { ciFailedStep: { name: failedStep, error: stepErrorOf(fetched?.log ?? '') } } : {}),
|
|
186
206
|
};
|
|
187
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* The headers scripts/ci-gate-run.sh publish-step-failure writes a failed step's
|
|
210
|
+
* error under in gate.log: its own captured output, or the job log it read over
|
|
211
|
+
* the Gitea Actions API.
|
|
212
|
+
*/
|
|
213
|
+
export const STEP_ERROR_HEADERS = ["--- last lines of the step's output ---", "--- the step's error, from the job log ---"];
|
|
214
|
+
/** The failed step's error a published gate.log carries (after its header); null when it carries none. Pure. */
|
|
215
|
+
export function stepErrorOf(log) {
|
|
216
|
+
for (const header of STEP_ERROR_HEADERS) {
|
|
217
|
+
const at = log.indexOf(header);
|
|
218
|
+
if (at >= 0) {
|
|
219
|
+
const error = log.slice(at + header.length).trim();
|
|
220
|
+
return error === '' ? null : error;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return null;
|
|
224
|
+
}
|
|
225
|
+
/** The text a concluded-red gate job is kept and fed back as: what ended, where, and the failed step's log tail. Pure. */
|
|
226
|
+
export function concludedJobLogText(run, job) {
|
|
227
|
+
const step = job.failedStep === null ? 'before any step ran' : `at step "${job.failedStep}"`;
|
|
228
|
+
return [
|
|
229
|
+
`CI gate job "${job.jobName}" (run ${job.runId}, job ${job.jobId}) of ${run.sha} ${job.conclusion === 'cancelled' ? 'was cancelled' : 'failed'} ${step}, `
|
|
230
|
+
+ 'before the gate command published a verdict; read from the job\'s own conclusion.',
|
|
231
|
+
...(job.htmlUrl ? [`Job: ${job.htmlUrl}`] : []),
|
|
232
|
+
job.logTail === null ? '(the job log could not be read; diagnose with `ci-logs`)' : `--- job log, up to the failed step's error ---\n${job.logTail}`,
|
|
233
|
+
].join('\n');
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* The StrategyResult a gate job CI concluded red with NO published status renders
|
|
237
|
+
* (module doc): failed, naming the job and the failed step, its log kept like a
|
|
238
|
+
* published run's. Pure.
|
|
239
|
+
*/
|
|
240
|
+
export function resultFromConcludedJob(run, job, text, logPath) {
|
|
241
|
+
const step = job.failedStep === null ? 'before any step ran' : `at step "${job.failedStep}"`;
|
|
242
|
+
return {
|
|
243
|
+
outcome: 'failed',
|
|
244
|
+
rationale: `CI gate job "${job.jobName}" (run ${job.runId}, job ${job.jobId}) of ${run.sha.slice(0, 8)} `
|
|
245
|
+
+ `${job.conclusion === 'cancelled' ? 'was cancelled' : 'failed'} ${step} with no gate verdict published -- read from the job's conclusion`,
|
|
246
|
+
exitCode: 1,
|
|
247
|
+
verifiedSha: run.sha,
|
|
248
|
+
appliedConfig: run.applied,
|
|
249
|
+
stdoutTail: text.slice(-LOG_TAIL_CHARS),
|
|
250
|
+
...(logPath !== null ? { logPath } : {}),
|
|
251
|
+
ciFailedStep: { name: job.failedStep ?? '(the job named no step)', error: job.logTail },
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
/** Keep a concluded-red job's text on disk, where the log readers find it; null when it cannot be written. */
|
|
255
|
+
function keepJobLog(run, job, text, deps) {
|
|
256
|
+
try {
|
|
257
|
+
const dir = deps.logDir();
|
|
258
|
+
mkdirSync(dir, { recursive: true });
|
|
259
|
+
const path = resolve(dir, `ci-gate-${run.focusId}-${run.sha.slice(0, 12)}-${run.key}-job${job.jobId}.log`);
|
|
260
|
+
writeFileSync(path, text, { mode: 0o600 });
|
|
261
|
+
return path;
|
|
262
|
+
}
|
|
263
|
+
catch (err) {
|
|
264
|
+
log.warn(`[verification] ci-gate: could not keep the log of CI gate job ${job.jobId}:`, err.message);
|
|
265
|
+
return null;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
188
268
|
/**
|
|
189
269
|
* Read the verdict CI published for the run; a 'verdict' step, or null when there
|
|
190
270
|
* is none to take. A red's log is always fetched; a green's only when the run
|
|
@@ -201,11 +281,48 @@ function readPublished(run, deps, fetchGreenLog) {
|
|
|
201
281
|
}
|
|
202
282
|
const logPath = fetched ? keepLog(run, published, fetched.log, deps) : null;
|
|
203
283
|
const raw = resultFromPublished(run, verdict.status, published, fetched, logPath);
|
|
284
|
+
const step = fetched?.result?.failedStep;
|
|
285
|
+
const uncaptured = verdict.status === 'red' && fetched && step && fetched.result?.stepLogCaptured === false
|
|
286
|
+
? { step, ref: published.ref, log: fetched.log } : null;
|
|
204
287
|
if (raw.timedOut !== true)
|
|
205
|
-
return { result: raw, timedOutUnrendered: false };
|
|
288
|
+
return { result: raw, timedOutUnrendered: false, uncaptured };
|
|
206
289
|
// CI ended the run at its timeout: a completed pass or named failing tests in its log are still a verdict.
|
|
207
290
|
const judged = judgeTimedOutRun(raw, run.applied.command, fetched?.log ?? '');
|
|
208
|
-
return { result: judged, timedOutUnrendered: judged.timedOut === true };
|
|
291
|
+
return { result: judged, timedOutUnrendered: judged.timedOut === true, uncaptured };
|
|
292
|
+
}
|
|
293
|
+
const stepLogAttempts = new Map();
|
|
294
|
+
/**
|
|
295
|
+
* A published red whose failed step's output the runner did not capture, with
|
|
296
|
+
* that step's error read from the job log appended (its kept log rewritten and
|
|
297
|
+
* its tail taken from it); null while the log cannot be read yet, inside
|
|
298
|
+
* {@link CI_GATE_STEP_LOG_ATTEMPTS}. Past them it routes as published.
|
|
299
|
+
*/
|
|
300
|
+
async function withJobLogError(run, read, sinceMs, deps) {
|
|
301
|
+
const uncaptured = read.uncaptured;
|
|
302
|
+
const tail = await deps.readJobLog(run.repoPath, run.focusId, run.sha, sinceMs);
|
|
303
|
+
if (tail === null) {
|
|
304
|
+
const attempt = (stepLogAttempts.get(uncaptured.ref) ?? 0) + 1;
|
|
305
|
+
stepLogAttempts.set(uncaptured.ref, attempt);
|
|
306
|
+
if (attempt < CI_GATE_STEP_LOG_ATTEMPTS)
|
|
307
|
+
return null;
|
|
308
|
+
log.warn(`[verification] ci-gate: the job log of ${uncaptured.ref} could not be read in ${attempt} attempts; its red routes naming step "${uncaptured.step}" alone`);
|
|
309
|
+
}
|
|
310
|
+
stepLogAttempts.delete(uncaptured.ref);
|
|
311
|
+
if (tail === null)
|
|
312
|
+
return read.result;
|
|
313
|
+
const text = `${uncaptured.log}\n--- job log from the Gitea Actions API, up to the failed step's error ---\n${tail}\n`;
|
|
314
|
+
if (read.result.logPath) {
|
|
315
|
+
try {
|
|
316
|
+
writeFileSync(read.result.logPath, text, { mode: 0o600 });
|
|
317
|
+
}
|
|
318
|
+
catch (err) {
|
|
319
|
+
log.warn(`[verification] ci-gate: could not keep the job log of ${uncaptured.ref}:`, err.message);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
return {
|
|
323
|
+
...read.result, stdoutTail: text.slice(-LOG_TAIL_CHARS),
|
|
324
|
+
ciFailedStep: { name: uncaptured.step, error: tail },
|
|
325
|
+
};
|
|
209
326
|
}
|
|
210
327
|
/**
|
|
211
328
|
* Hand the run to CI: its spec, carrying the verify boundary the local run would
|
|
@@ -297,15 +414,29 @@ export async function stepCiGate(v, run, deps) {
|
|
|
297
414
|
const current = wait !== null && wait.sha === run.sha && wait.key === run.key ? wait : null;
|
|
298
415
|
const published = readPublished(run, deps.ciGate, (current?.escapedFiles ?? 0) > 0);
|
|
299
416
|
if (published !== null && !published.timedOutUnrendered) {
|
|
417
|
+
let result = published.result;
|
|
418
|
+
if (published.uncaptured !== null) {
|
|
419
|
+
const withError = await withJobLogError(run, published, current?.repushedAt ?? current?.pushedAt ?? 0, deps.ciGate);
|
|
420
|
+
if (withError === null) {
|
|
421
|
+
showWaiting(run, v.deliveryId);
|
|
422
|
+
return { kind: 'waiting', why: `CI's red names step "${published.uncaptured.step}"; reading that step's error from the job log` };
|
|
423
|
+
}
|
|
424
|
+
result = withError;
|
|
425
|
+
}
|
|
300
426
|
endVisible(run.focusId);
|
|
301
427
|
log.info(`[verification] ci-gate: delivery "${v.deliveryName}" (${v.deliveryId}) -- CI's '${published.result.outcome}' verdict for `
|
|
302
428
|
+ `${run.sha.slice(0, 8)} is read back; it is judged and recorded as the commit's gate verdict (no gate process on this host)`);
|
|
303
|
-
return { kind: 'verdict', result
|
|
429
|
+
return { kind: 'verdict', result };
|
|
304
430
|
}
|
|
305
431
|
if (current === null && sharesBranchWithOtherGate(run, wait, deps.ciGate, now)) {
|
|
306
432
|
return { kind: 'waiting', why: `another gate of ${run.sha.slice(0, 8)} is on CI on this focus's gate branch` };
|
|
307
433
|
}
|
|
308
434
|
if (current === null) {
|
|
435
|
+
if (run.repoPath === '')
|
|
436
|
+
return { kind: 'waiting', why: 'no repoPath to push from' };
|
|
437
|
+
const pins = await deps.ciGate.ensurePins({ repoPath: run.repoPath, focusId: run.focusId, sha: run.sha });
|
|
438
|
+
if (pins.kind === 'deferred')
|
|
439
|
+
return { kind: 'waiting', why: `the in-repo @telora publish before the hand-over is deferred: ${pins.note}` };
|
|
309
440
|
const pushed = await handOver(v, run, deps);
|
|
310
441
|
if (!pushed) {
|
|
311
442
|
log.warn(`[verification] ci-gate: could not push ${run.sha.slice(0, 8)} to ${gateBranchForFocus(run.focusId)} for delivery ${v.deliveryId}; retried next tick`);
|
|
@@ -320,6 +451,16 @@ export async function stepCiGate(v, run, deps) {
|
|
|
320
451
|
+ `${gateBranchForFocus(run.focusId)} (gate key ${run.key}); the delivery waits on the CI gate`);
|
|
321
452
|
return { kind: 'waiting', why: 'handed to CI' };
|
|
322
453
|
}
|
|
454
|
+
if (published === null) {
|
|
455
|
+
const job = await deps.ciGate.readJob(run.repoPath, run.focusId, run.sha, current.repushedAt ?? current.pushedAt);
|
|
456
|
+
if (job.kind === 'red') {
|
|
457
|
+
endVisible(run.focusId);
|
|
458
|
+
const text = concludedJobLogText(run, job.job);
|
|
459
|
+
log.warn(`[verification] ci-gate: delivery "${v.deliveryName}" (${v.deliveryId}) -- CI gate job ${job.job.jobId} (run ${job.job.runId}) of `
|
|
460
|
+
+ `${run.sha.slice(0, 8)} concluded ${job.job.conclusion} at step "${job.job.failedStep ?? '(none)'}" with no status published; recorded as a failed gate verdict`);
|
|
461
|
+
return { kind: 'verdict', result: resultFromConcludedJob(run, job.job, text, keepJobLog(run, job.job, text, deps.ciGate)) };
|
|
462
|
+
}
|
|
463
|
+
}
|
|
323
464
|
showWaiting(run, v.deliveryId);
|
|
324
465
|
return waitForVerdict(v, run, current, deps, published?.timedOutUnrendered === true && current.repushedAt === undefined);
|
|
325
466
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ci-gate-dispatch.js","sourceRoot":"","sources":["../../../src/verify/ci-gate/ci-gate-dispatch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ci-gate-dispatch.js","sourceRoot":"","sources":["../../../src/verify/ci-gate/ci-gate-dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The in-repo @telora pins of a judged commit, published before its gate is
|
|
3
|
+
* handed to CI (verify/ci-gate/ci-gate-dispatch.ts).
|
|
4
|
+
*
|
|
5
|
+
* A focus branch that raises an in-repo @telora version (daemon-core,
|
|
6
|
+
* mcp-products, daemon) pins a version only /sync publishes, after merge. The
|
|
7
|
+
* CI gate job installs with `npm ci` against the registry, so it fails on that
|
|
8
|
+
* pin (npm E404) before the gate command runs. The daemon already publishes such
|
|
9
|
+
* a version under the `pending` dist-tag from the branch
|
|
10
|
+
* (verify/install-probe/in-repo-publish.ts) -- but only from the install-probe
|
|
11
|
+
* pass, which runs after the dispatch in a tick and judges with
|
|
12
|
+
* `npm ci --dry-run`, which never fetches a tarball: a lockfile entry pinned by
|
|
13
|
+
* its resolved URL passes the probe even when that URL is a 404.
|
|
14
|
+
*
|
|
15
|
+
* So the hand-over asks the registry itself. For every lockfile the CI job
|
|
16
|
+
* installs from ({@link CI_INSTALL_DIRS}), read AT THE JUDGED COMMIT, each
|
|
17
|
+
* registry-resolved `@telora/*` entry is a pin; `npm view <name>@<version>`
|
|
18
|
+
* says whether the registry holds it. A missing pin that is an in-repo package
|
|
19
|
+
* whose version at the judged commit is the pinned one is published from that
|
|
20
|
+
* commit ({@link publishInRepoTargets}: pending, committed bytes, dependency
|
|
21
|
+
* order). Anything else missing -- a package not built in this repo, a pin the
|
|
22
|
+
* commit's own source does not carry, a publish npm refused -- is DECLINED:
|
|
23
|
+
* nothing is published, and the decline is named on the deliveries' gate_state
|
|
24
|
+
* (the install probe's `clean_install_probe` entry and its `installProbe`
|
|
25
|
+
* detail). The hand-over then goes ahead: CI judges, and its red names the step.
|
|
26
|
+
*
|
|
27
|
+
* The hand-over WAITS for this: a publish that could not start (no checkout to
|
|
28
|
+
* build from), a decline whose gate_state write did not land, and a pin the
|
|
29
|
+
* registry could not be asked about are each 'deferred', and the dispatch hands
|
|
30
|
+
* nothing over that tick. A pin the registry still cannot be asked about after
|
|
31
|
+
* {@link PIN_REGISTRY_ATTEMPTS} attempts is declined and named like any other,
|
|
32
|
+
* so a registry outage bounds the wait instead of holding it forever.
|
|
33
|
+
*
|
|
34
|
+
* Settled outcomes are kept per (focus, commit), so a re-push or a retried push
|
|
35
|
+
* of the same commit asks nothing again.
|
|
36
|
+
*
|
|
37
|
+
* @module verify/ci-gate/ci-gate-pin-publish
|
|
38
|
+
*/
|
|
39
|
+
import { type InRepoPublishOutcome, type PublishTarget } from '../install-probe/in-repo-publish.js';
|
|
40
|
+
import type { InstallProbeDetail } from '../../queries/delivery-gate-state/delivery-gate-holds.js';
|
|
41
|
+
/** The package dirs whose lockfiles the CI gate job installs from (.github/workflows/ci.yml, job `gate`). */
|
|
42
|
+
export declare const CI_INSTALL_DIRS: readonly string[];
|
|
43
|
+
/** One registry-resolved @telora pin a consumer's lockfile holds. */
|
|
44
|
+
export interface InRepoPin {
|
|
45
|
+
/** The repo-relative dir whose lockfile holds it ('.' = root). */
|
|
46
|
+
consumerDir: string;
|
|
47
|
+
name: string;
|
|
48
|
+
version: string;
|
|
49
|
+
}
|
|
50
|
+
/** What the registry says of one pin. */
|
|
51
|
+
export type RegistryAnswer = 'published' | 'missing' | 'unknown';
|
|
52
|
+
/** The check's IO; production binds git, npm and the gate_state write (composition/verification-context.ts). */
|
|
53
|
+
export interface PinPublishDeps {
|
|
54
|
+
/** `<path>` at commit `sha` of the repository at `repoPath`; null when absent. */
|
|
55
|
+
readFileAt: (repoPath: string, sha: string, path: string) => string | null;
|
|
56
|
+
/** Whether the registry (as `cwd`'s .npmrc scopes it) holds `name@version`. */
|
|
57
|
+
registryHas: (cwd: string, name: string, version: string) => Promise<RegistryAnswer>;
|
|
58
|
+
/** The focus worktree a publish builds against (its installed dependencies); null when it has none. */
|
|
59
|
+
resolveWorktree: (focusId: string) => string | null;
|
|
60
|
+
/** Publish `targets` from commit `sha` (in-repo-publish.ts publishInRepoTargets); null when all landed. */
|
|
61
|
+
publish: (worktreePath: string, sha: string, targets: PublishTarget[]) => Promise<InRepoPublishOutcome | null>;
|
|
62
|
+
/** Name a declined publish on the gate_state of the focus's deliveries in verify. */
|
|
63
|
+
writeDeclined: (focusId: string, detail: InstallProbeDetail) => Promise<void>;
|
|
64
|
+
}
|
|
65
|
+
/** The check's answer: hand over (after what it published), hand over with a named decline, or wait. */
|
|
66
|
+
export type PinPublishStep = {
|
|
67
|
+
kind: 'ready';
|
|
68
|
+
published: PublishTarget[];
|
|
69
|
+
} | {
|
|
70
|
+
kind: 'declined';
|
|
71
|
+
note: string;
|
|
72
|
+
detail: InstallProbeDetail;
|
|
73
|
+
} | {
|
|
74
|
+
kind: 'deferred';
|
|
75
|
+
note: string;
|
|
76
|
+
};
|
|
77
|
+
/** The `@telora/*` entries a lockfile resolves from a registry (not links, not file: specs). Pure. */
|
|
78
|
+
export declare function inRepoPinsOf(consumerDir: string, lockText: string): InRepoPin[];
|
|
79
|
+
/** Classify `npm view <name>@<version> version --json`. Pure. */
|
|
80
|
+
export declare function classifyNpmView(exitCode: number | null, output: string, version: string): RegistryAnswer;
|
|
81
|
+
/** The decline as the gate_state names it: the missing pins and why nothing was published. Pure. */
|
|
82
|
+
export declare function declinedDetail(missing: readonly InRepoPin[], why: string): InstallProbeDetail;
|
|
83
|
+
/**
|
|
84
|
+
* How many dispatch attempts a pin the registry could not be asked about holds
|
|
85
|
+
* the hand-over before it is declined, named, and handed over unverified.
|
|
86
|
+
*/
|
|
87
|
+
export declare const PIN_REGISTRY_ATTEMPTS = 3;
|
|
88
|
+
/** The decline settled for (focus, commit), for the install probe to keep naming it; null when none. */
|
|
89
|
+
export declare function declinedPinPublishFor(focusId: string, sha: string): InstallProbeDetail | null;
|
|
90
|
+
/** Test seam: forget every settled check. */
|
|
91
|
+
export declare function __resetPinPublishForTests(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Before the gate of `run.sha` is handed to CI: publish what its in-repo pins
|
|
94
|
+
* need, or name why not (module doc). Never throws.
|
|
95
|
+
*/
|
|
96
|
+
export declare function ensureInRepoPinsPublished(run: {
|
|
97
|
+
repoPath: string;
|
|
98
|
+
focusId: string;
|
|
99
|
+
sha: string;
|
|
100
|
+
}, deps: PinPublishDeps): Promise<PinPublishStep>;
|
|
101
|
+
//# sourceMappingURL=ci-gate-pin-publish.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci-gate-pin-publish.d.ts","sourceRoot":"","sources":["../../../src/verify/ci-gate/ci-gate-pin-publish.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAyC,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAC3I,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAKnG,6GAA6G;AAC7G,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAAoD,CAAC;AAElG,qEAAqE;AACrE,MAAM,WAAW,SAAS;IACxB,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,yCAAyC;AACzC,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjE,gHAAgH;AAChH,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC3E,+EAA+E;IAC/E,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACrF,uGAAuG;IACvG,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACpD,2GAA2G;IAC3G,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAC/G,qFAAqF;IACrF,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E;AAED,wGAAwG;AACxG,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,aAAa,EAAE,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAIvC,sGAAsG;AACtG,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAgB/E;AAED,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAIxG;AAeD,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAK7F;AAuBD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAyBvC,wGAAwG;AACxG,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAG7F;AAED,6CAA6C;AAC7C,wBAAgB,yBAAyB,IAAI,IAAI,CAIhD;AAkDD;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACvD,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,cAAc,CAAC,CA0BzB"}
|