@telora/daemon 0.24.16 → 0.24.25
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 +7 -3
- package/dist/ci/candidate-failure-record.d.ts +104 -0
- package/dist/ci/candidate-failure-record.d.ts.map +1 -0
- package/dist/ci/candidate-failure-record.js +135 -0
- package/dist/ci/candidate-failure-record.js.map +1 -0
- package/dist/ci/candidate-ref.d.ts.map +1 -1
- package/dist/ci/candidate-ref.js +10 -3
- package/dist/ci/candidate-ref.js.map +1 -1
- package/dist/ci/ci-status-git.d.ts.map +1 -1
- package/dist/ci/ci-status-git.js +1 -0
- package/dist/ci/ci-status-git.js.map +1 -1
- package/dist/ci/ci-status.d.ts.map +1 -1
- package/dist/ci/ci-status.js +1 -0
- package/dist/ci/ci-status.js.map +1 -1
- package/dist/ci/gate-ref.d.ts +10 -1
- package/dist/ci/gate-ref.d.ts.map +1 -1
- package/dist/ci/gate-ref.js +11 -4
- package/dist/ci/gate-ref.js.map +1 -1
- package/dist/ci/product-ci-repo.d.ts.map +1 -1
- package/dist/ci/product-ci-repo.js +3 -2
- package/dist/ci/product-ci-repo.js.map +1 -1
- package/dist/completion/review-exit/review-exit-phase.js +7 -3
- package/dist/completion/review-exit/review-exit-phase.js.map +1 -1
- package/dist/completion/review-exit/review-exit-rehoming.d.ts +27 -3
- package/dist/completion/review-exit/review-exit-rehoming.d.ts.map +1 -1
- package/dist/completion/review-exit/review-exit-rehoming.js +29 -5
- package/dist/completion/review-exit/review-exit-rehoming.js.map +1 -1
- package/dist/composition/execution-merge-context.d.ts +13 -0
- package/dist/composition/execution-merge-context.d.ts.map +1 -1
- package/dist/composition/execution-merge-context.js +76 -3
- package/dist/composition/execution-merge-context.js.map +1 -1
- package/dist/composition/focus-activity-live-sources.d.ts.map +1 -1
- package/dist/composition/focus-activity-live-sources.js +1 -0
- package/dist/composition/focus-activity-live-sources.js.map +1 -1
- package/dist/composition/runtime-heartbeat-context.d.ts +11 -0
- package/dist/composition/runtime-heartbeat-context.d.ts.map +1 -1
- package/dist/composition/runtime-heartbeat-context.js +26 -1
- package/dist/composition/runtime-heartbeat-context.js.map +1 -1
- package/dist/composition/team-liveness-phase-sources.d.ts.map +1 -1
- package/dist/composition/team-liveness-phase-sources.js +1 -0
- package/dist/composition/team-liveness-phase-sources.js.map +1 -1
- package/dist/composition/verification-context.d.ts.map +1 -1
- package/dist/composition/verification-context.js +34 -4
- package/dist/composition/verification-context.js.map +1 -1
- package/dist/focus/control-state.d.ts +12 -6
- package/dist/focus/control-state.d.ts.map +1 -1
- package/dist/focus/control-state.js +16 -9
- package/dist/focus/control-state.js.map +1 -1
- package/dist/focus/heartbeat-metadata.d.ts +5 -0
- package/dist/focus/heartbeat-metadata.d.ts.map +1 -1
- package/dist/focus/heartbeat-metadata.js +12 -0
- package/dist/focus/heartbeat-metadata.js.map +1 -1
- package/dist/focus/heartbeat.d.ts.map +1 -1
- package/dist/focus/heartbeat.js +1 -0
- package/dist/focus/heartbeat.js.map +1 -1
- package/dist/focus/host-pressure.d.ts +77 -0
- package/dist/focus/host-pressure.d.ts.map +1 -0
- package/dist/focus/host-pressure.js +83 -0
- package/dist/focus/host-pressure.js.map +1 -0
- package/dist/focus-stage-lifecycle/index.js +1 -1
- package/dist/focus-stage-lifecycle/index.js.map +1 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +17 -7
- package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.js +58 -28
- package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
- package/dist/git/types.js +1 -1
- package/dist/merge/candidate-ci-failures.d.ts +72 -0
- package/dist/merge/candidate-ci-failures.d.ts.map +1 -0
- package/dist/merge/candidate-ci-failures.js +240 -0
- package/dist/merge/candidate-ci-failures.js.map +1 -0
- package/dist/merge/candidate-red-record.d.ts +44 -0
- package/dist/merge/candidate-red-record.d.ts.map +1 -0
- package/dist/merge/candidate-red-record.js +98 -0
- package/dist/merge/candidate-red-record.js.map +1 -0
- package/dist/merge/candidate-rework.d.ts +4 -3
- package/dist/merge/candidate-rework.d.ts.map +1 -1
- package/dist/merge/candidate-rework.js +46 -14
- package/dist/merge/candidate-rework.js.map +1 -1
- package/dist/merge/candidate-tip-attribution.d.ts +135 -0
- package/dist/merge/candidate-tip-attribution.d.ts.map +1 -0
- package/dist/merge/candidate-tip-attribution.js +319 -0
- package/dist/merge/candidate-tip-attribution.js.map +1 -0
- package/dist/merge/completion-merge-driver.d.ts +49 -5
- package/dist/merge/completion-merge-driver.d.ts.map +1 -1
- package/dist/merge/completion-merge-driver.js +56 -2
- package/dist/merge/completion-merge-driver.js.map +1 -1
- package/dist/merge/completion-merge-gate.d.ts +4 -1
- package/dist/merge/completion-merge-gate.d.ts.map +1 -1
- package/dist/merge/completion-merge-gate.js +9 -8
- package/dist/merge/completion-merge-gate.js.map +1 -1
- package/dist/queries/api-client/shared.d.ts.map +1 -1
- package/dist/queries/api-client/shared.js +6 -1
- package/dist/queries/api-client/shared.js.map +1 -1
- package/dist/queries/candidate-ci-reds/candidate-ci-reds.d.ts +35 -0
- package/dist/queries/candidate-ci-reds/candidate-ci-reds.d.ts.map +1 -0
- package/dist/queries/candidate-ci-reds/candidate-ci-reds.js +42 -0
- package/dist/queries/candidate-ci-reds/candidate-ci-reds.js.map +1 -0
- package/dist/queries/candidate-ci-reds/gate-escape-files.d.ts +16 -0
- package/dist/queries/candidate-ci-reds/gate-escape-files.d.ts.map +1 -0
- package/dist/queries/candidate-ci-reds/gate-escape-files.js +51 -0
- package/dist/queries/candidate-ci-reds/gate-escape-files.js.map +1 -0
- package/dist/queries/focuses/ended-arm.d.ts +55 -7
- package/dist/queries/focuses/ended-arm.d.ts.map +1 -1
- package/dist/queries/focuses/ended-arm.js +59 -8
- package/dist/queries/focuses/ended-arm.js.map +1 -1
- package/dist/queries/focuses/focus-discovery.d.ts +18 -8
- package/dist/queries/focuses/focus-discovery.d.ts.map +1 -1
- package/dist/queries/focuses/focus-discovery.js +1 -0
- package/dist/queries/focuses/focus-discovery.js.map +1 -1
- package/dist/queries/sessions/daemon-connection.d.ts.map +1 -1
- package/dist/queries/sessions/daemon-connection.js +1 -0
- package/dist/queries/sessions/daemon-connection.js.map +1 -1
- package/dist/queries/verification/verification.js +1 -1
- package/dist/queries/wire-schemas/schemas.d.ts +2 -0
- package/dist/queries/wire-schemas/schemas.d.ts.map +1 -1
- package/dist/queries/wire-schemas/schemas.js +10 -3
- package/dist/queries/wire-schemas/schemas.js.map +1 -1
- package/dist/resolvers/delivery-acceptance-criteria.d.ts +23 -1
- package/dist/resolvers/delivery-acceptance-criteria.d.ts.map +1 -1
- package/dist/resolvers/delivery-acceptance-criteria.js +52 -8
- package/dist/resolvers/delivery-acceptance-criteria.js.map +1 -1
- package/dist/shell/unified-shell.d.ts +25 -0
- package/dist/shell/unified-shell.d.ts.map +1 -1
- package/dist/shell/unified-shell.js +26 -80
- package/dist/shell/unified-shell.js.map +1 -1
- package/dist/shell/update-restart.d.ts +47 -0
- package/dist/shell/update-restart.d.ts.map +1 -0
- package/dist/shell/update-restart.js +124 -0
- package/dist/shell/update-restart.js.map +1 -0
- package/dist/supervision/escalation-suppression.js +1 -1
- package/dist/supervision/recorded-new-intent.d.ts +49 -0
- package/dist/supervision/recorded-new-intent.d.ts.map +1 -1
- package/dist/supervision/recorded-new-intent.js +10 -2
- package/dist/supervision/recorded-new-intent.js.map +1 -1
- package/dist/testing/fixtures/api-client.js +1 -1
- package/dist/testing/fixtures/completion-judge-stubs.d.ts +7 -2
- package/dist/testing/fixtures/completion-judge-stubs.d.ts.map +1 -1
- package/dist/testing/fixtures/completion-judge-stubs.js +11 -1
- package/dist/testing/fixtures/completion-judge-stubs.js.map +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/fixtures/merge-log-capture.d.ts.map +1 -1
- package/dist/testing/fixtures/merge-log-capture.js +1 -0
- package/dist/testing/fixtures/merge-log-capture.js.map +1 -1
- package/dist/testing/fixtures/recording-api-client.js +1 -1
- package/dist/testing/fixtures/verification-deps.d.ts +7 -0
- package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/verification-deps.js +17 -1
- package/dist/testing/fixtures/verification-deps.js.map +1 -1
- package/dist/testing/fixtures/vitest-failure-log.d.ts.map +1 -1
- package/dist/testing/fixtures/vitest-failure-log.js +2 -1
- package/dist/testing/fixtures/vitest-failure-log.js.map +1 -1
- package/dist/update/auto-update.d.ts +11 -5
- package/dist/update/auto-update.d.ts.map +1 -1
- package/dist/update/auto-update.js +11 -5
- package/dist/update/auto-update.js.map +1 -1
- package/dist/update/restart-contract.d.ts +62 -0
- package/dist/update/restart-contract.d.ts.map +1 -0
- package/dist/update/restart-contract.js +137 -0
- package/dist/update/restart-contract.js.map +1 -0
- package/dist/verify/attribution/verification-baseline-run.d.ts.map +1 -1
- package/dist/verify/attribution/verification-baseline-run.js +1 -0
- package/dist/verify/attribution/verification-baseline-run.js.map +1 -1
- package/dist/verify/ci-gate/ci-gate-dispatch.d.ts +3 -0
- package/dist/verify/ci-gate/ci-gate-dispatch.d.ts.map +1 -1
- package/dist/verify/ci-gate/ci-gate-dispatch.js +31 -9
- package/dist/verify/ci-gate/ci-gate-dispatch.js.map +1 -1
- package/dist/verify/ci-gate/ci-gate-wait-record.d.ts +6 -0
- package/dist/verify/ci-gate/ci-gate-wait-record.d.ts.map +1 -1
- package/dist/verify/ci-gate/ci-gate-wait-record.js +1 -0
- package/dist/verify/ci-gate/ci-gate-wait-record.js.map +1 -1
- package/dist/verify/deterministic-gate/verification-checkout.d.ts +12 -2
- package/dist/verify/deterministic-gate/verification-checkout.d.ts.map +1 -1
- package/dist/verify/deterministic-gate/verification-checkout.js +18 -3
- package/dist/verify/deterministic-gate/verification-checkout.js.map +1 -1
- package/dist/verify/deterministic-gate/verification-deterministic.js +1 -1
- package/dist/verify/deterministic-gate/verification-failure-parser.d.ts +30 -9
- package/dist/verify/deterministic-gate/verification-failure-parser.d.ts.map +1 -1
- package/dist/verify/deterministic-gate/verification-failure-parser.js +52 -8
- package/dist/verify/deterministic-gate/verification-failure-parser.js.map +1 -1
- package/dist/verify/engine/verification-commit-sharing.d.ts.map +1 -1
- package/dist/verify/engine/verification-commit-sharing.js +6 -2
- package/dist/verify/engine/verification-commit-sharing.js.map +1 -1
- package/dist/verify/engine/verification-deps.d.ts +9 -0
- package/dist/verify/engine/verification-deps.d.ts.map +1 -1
- package/dist/verify/engine/verification-deps.js +1 -1
- package/dist/verify/engine/verification-engine.d.ts.map +1 -1
- package/dist/verify/engine/verification-engine.js +4 -1
- package/dist/verify/engine/verification-engine.js.map +1 -1
- package/dist/verify/escaped-tests/escaped-pass-store.d.ts +19 -0
- package/dist/verify/escaped-tests/escaped-pass-store.d.ts.map +1 -0
- package/dist/verify/escaped-tests/escaped-pass-store.js +90 -0
- package/dist/verify/escaped-tests/escaped-pass-store.js.map +1 -0
- package/dist/verify/escaped-tests/escaped-test-run.d.ts +39 -0
- package/dist/verify/escaped-tests/escaped-test-run.d.ts.map +1 -0
- package/dist/verify/escaped-tests/escaped-test-run.js +156 -0
- package/dist/verify/escaped-tests/escaped-test-run.js.map +1 -0
- package/dist/verify/escaped-tests/escaped-test-set.d.ts +65 -0
- package/dist/verify/escaped-tests/escaped-test-set.d.ts.map +1 -0
- package/dist/verify/escaped-tests/escaped-test-set.js +95 -0
- package/dist/verify/escaped-tests/escaped-test-set.js.map +1 -0
- package/dist/verify/escaped-tests/escaped-tests-source.d.ts +44 -0
- package/dist/verify/escaped-tests/escaped-tests-source.d.ts.map +1 -0
- package/dist/verify/escaped-tests/escaped-tests-source.js +142 -0
- package/dist/verify/escaped-tests/escaped-tests-source.js.map +1 -0
- package/dist/verify/gate-config/verification-manifest.d.ts +12 -1
- package/dist/verify/gate-config/verification-manifest.d.ts.map +1 -1
- package/dist/verify/gate-config/verification-manifest.js +12 -1
- package/dist/verify/gate-config/verification-manifest.js.map +1 -1
- package/dist/verify/gate-verdicts/commit-verdict-record.js +1 -1
- package/package.json +2 -2
- package/scripts/telora-daemon-wrapper.sh +16 -7
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host pressure: Linux PSI (pressure stall information) read off /proc/pressure.
|
|
3
|
+
*
|
|
4
|
+
* A load average says how many tasks wanted to run; it means different things
|
|
5
|
+
* on different core counts and mixes CPU demand with io wait. PSI says what
|
|
6
|
+
* share of wall time work on the host was STALLED waiting for a resource, per
|
|
7
|
+
* resource, as a percentage -- the number an operator can read without knowing
|
|
8
|
+
* the machine. Each file under /proc/pressure carries a `some` line (at least
|
|
9
|
+
* one task stalled) and, for memory and io, a `full` line (every non-idle task
|
|
10
|
+
* stalled at once):
|
|
11
|
+
*
|
|
12
|
+
* some avg10=0.00 avg60=0.00 avg300=0.00 total=245156904
|
|
13
|
+
* full avg10=0.00 avg60=0.00 avg300=0.00 total=0
|
|
14
|
+
*
|
|
15
|
+
* The heartbeat publishes cpu `some` (newer kernels also print a cpu `full`
|
|
16
|
+
* line, which is always zero at system level, so it says nothing), and memory
|
|
17
|
+
* and io `full`. It is published beside -- never instead of -- hostLoad, which
|
|
18
|
+
* stays the fallback for a host that has no PSI.
|
|
19
|
+
*
|
|
20
|
+
* A host without PSI (no /proc/pressure, not Linux, a kernel built without it,
|
|
21
|
+
* an unreadable or malformed file) publishes NO hostPressure: the reader
|
|
22
|
+
* answers null, and nothing it does can fail the beat.
|
|
23
|
+
*
|
|
24
|
+
* @module focus/host-pressure
|
|
25
|
+
*/
|
|
26
|
+
/** One PSI line's running averages: percent of wall time stalled, over 10 s / 60 s / 300 s. */
|
|
27
|
+
export interface PsiAverages {
|
|
28
|
+
avg10: number;
|
|
29
|
+
avg60: number;
|
|
30
|
+
avg300: number;
|
|
31
|
+
}
|
|
32
|
+
/** The three resources' stall readings, each on the line that carries signal for it. */
|
|
33
|
+
export interface HostPsiReading {
|
|
34
|
+
/** cpu `some`: share of time at least one runnable task waited for a CPU. */
|
|
35
|
+
cpu: PsiAverages;
|
|
36
|
+
/** memory `full`: share of time every non-idle task was stalled on memory. */
|
|
37
|
+
memory: PsiAverages;
|
|
38
|
+
/** io `full`: share of time every non-idle task was stalled on io. */
|
|
39
|
+
io: PsiAverages;
|
|
40
|
+
}
|
|
41
|
+
/** The hostPressure heartbeat field. */
|
|
42
|
+
export interface HostPressureField extends HostPsiReading {
|
|
43
|
+
/** Logical CPUs available to this process (os.availableParallelism). */
|
|
44
|
+
cores: number;
|
|
45
|
+
/** How many agent sessions this daemon runs at once at most (its configured maxTotalSessions). */
|
|
46
|
+
slotCapacity: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The averages on the `kind` line of a /proc/pressure file's text, or null when
|
|
50
|
+
* the file carries no such line or the line is malformed (an average missing,
|
|
51
|
+
* not a number, or outside 0-100). Pure.
|
|
52
|
+
*/
|
|
53
|
+
export declare function parsePsiLine(text: string, kind: 'some' | 'full'): PsiAverages | null;
|
|
54
|
+
/** Reads one /proc/pressure file's text; throws when it cannot. A seam, so the read is testable. */
|
|
55
|
+
export type PressureFileReader = (resource: 'cpu' | 'memory' | 'io') => string;
|
|
56
|
+
/**
|
|
57
|
+
* The host's PSI reading, or null when ANY of the three resources cannot be read
|
|
58
|
+
* or parsed. All or nothing: a reading missing a resource could not be compared
|
|
59
|
+
* against the others, and an absent field reads as "no PSI" where a partial one
|
|
60
|
+
* would read as "no stall". Never throws.
|
|
61
|
+
*/
|
|
62
|
+
export declare function readHostPsi(readFile: PressureFileReader): HostPsiReading | null;
|
|
63
|
+
/**
|
|
64
|
+
* Build the hostCores metadata field: the host's logical CPU count, published on
|
|
65
|
+
* EVERY beat whether or not the host has PSI, so a host that falls back to its
|
|
66
|
+
* load average can still be read per core. Null -- the key absent -- when the
|
|
67
|
+
* count is not a positive integer. Pure.
|
|
68
|
+
*/
|
|
69
|
+
export declare function buildHostCoresField(cores: number): number | null;
|
|
70
|
+
/**
|
|
71
|
+
* Build the hostPressure metadata field from a beat's PSI reading, the host's
|
|
72
|
+
* core count and the daemon's slot capacity. Null -- so the key is simply
|
|
73
|
+
* absent -- when the host has no PSI reading, or when the core count or capacity
|
|
74
|
+
* is not a positive integer. Pure.
|
|
75
|
+
*/
|
|
76
|
+
export declare function buildHostPressureField(psi: HostPsiReading | null, cores: number, slotCapacity: number): HostPressureField | null;
|
|
77
|
+
//# sourceMappingURL=host-pressure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-pressure.d.ts","sourceRoot":"","sources":["../../src/focus/host-pressure.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,+FAA+F;AAC/F,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,GAAG,EAAE,WAAW,CAAC;IACjB,8EAA8E;IAC9E,MAAM,EAAE,WAAW,CAAC;IACpB,sEAAsE;IACtE,EAAE,EAAE,WAAW,CAAC;CACjB;AAED,wCAAwC;AACxC,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,kGAAkG;IAClG,YAAY,EAAE,MAAM,CAAC;CACtB;AAOD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI,CAoBpF;AAED,oGAAoG;AACpG,MAAM,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC;AAE/E;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,cAAc,GAAG,IAAI,CAU/E;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,cAAc,GAAG,IAAI,EAC1B,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,GACnB,iBAAiB,GAAG,IAAI,CAI1B"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/focus/heartbeat-host-pressure.test.ts
|
|
3
|
+
// PINNED-BY-END
|
|
4
|
+
/** A PSI average: a finite percentage in [0, 100]. */
|
|
5
|
+
function isPsiPercent(value) {
|
|
6
|
+
return Number.isFinite(value) && value >= 0 && value <= 100;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The averages on the `kind` line of a /proc/pressure file's text, or null when
|
|
10
|
+
* the file carries no such line or the line is malformed (an average missing,
|
|
11
|
+
* not a number, or outside 0-100). Pure.
|
|
12
|
+
*/
|
|
13
|
+
export function parsePsiLine(text, kind) {
|
|
14
|
+
for (const line of text.split('\n')) {
|
|
15
|
+
const fields = line.trim().split(/\s+/);
|
|
16
|
+
if (fields[0] !== kind)
|
|
17
|
+
continue;
|
|
18
|
+
const values = new Map();
|
|
19
|
+
for (const field of fields.slice(1)) {
|
|
20
|
+
const eq = field.indexOf('=');
|
|
21
|
+
if (eq <= 0)
|
|
22
|
+
return null;
|
|
23
|
+
const raw = field.slice(eq + 1);
|
|
24
|
+
if (raw === '')
|
|
25
|
+
return null;
|
|
26
|
+
values.set(field.slice(0, eq), Number(raw));
|
|
27
|
+
}
|
|
28
|
+
const avg10 = values.get('avg10');
|
|
29
|
+
const avg60 = values.get('avg60');
|
|
30
|
+
const avg300 = values.get('avg300');
|
|
31
|
+
if (avg10 === undefined || avg60 === undefined || avg300 === undefined)
|
|
32
|
+
return null;
|
|
33
|
+
if (!isPsiPercent(avg10) || !isPsiPercent(avg60) || !isPsiPercent(avg300))
|
|
34
|
+
return null;
|
|
35
|
+
return { avg10, avg60, avg300 };
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The host's PSI reading, or null when ANY of the three resources cannot be read
|
|
41
|
+
* or parsed. All or nothing: a reading missing a resource could not be compared
|
|
42
|
+
* against the others, and an absent field reads as "no PSI" where a partial one
|
|
43
|
+
* would read as "no stall". Never throws.
|
|
44
|
+
*/
|
|
45
|
+
export function readHostPsi(readFile) {
|
|
46
|
+
try {
|
|
47
|
+
const cpu = parsePsiLine(readFile('cpu'), 'some');
|
|
48
|
+
const memory = parsePsiLine(readFile('memory'), 'full');
|
|
49
|
+
const io = parsePsiLine(readFile('io'), 'full');
|
|
50
|
+
if (!cpu || !memory || !io)
|
|
51
|
+
return null;
|
|
52
|
+
return { cpu, memory, io };
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function isPositiveInteger(value) {
|
|
59
|
+
return Number.isInteger(value) && value > 0;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Build the hostCores metadata field: the host's logical CPU count, published on
|
|
63
|
+
* EVERY beat whether or not the host has PSI, so a host that falls back to its
|
|
64
|
+
* load average can still be read per core. Null -- the key absent -- when the
|
|
65
|
+
* count is not a positive integer. Pure.
|
|
66
|
+
*/
|
|
67
|
+
export function buildHostCoresField(cores) {
|
|
68
|
+
return isPositiveInteger(cores) ? cores : null;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Build the hostPressure metadata field from a beat's PSI reading, the host's
|
|
72
|
+
* core count and the daemon's slot capacity. Null -- so the key is simply
|
|
73
|
+
* absent -- when the host has no PSI reading, or when the core count or capacity
|
|
74
|
+
* is not a positive integer. Pure.
|
|
75
|
+
*/
|
|
76
|
+
export function buildHostPressureField(psi, cores, slotCapacity) {
|
|
77
|
+
if (!psi)
|
|
78
|
+
return null;
|
|
79
|
+
if (!isPositiveInteger(cores) || !isPositiveInteger(slotCapacity))
|
|
80
|
+
return null;
|
|
81
|
+
return { cpu: psi.cpu, memory: psi.memory, io: psi.io, cores, slotCapacity };
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=host-pressure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-pressure.js","sourceRoot":"","sources":["../../src/focus/host-pressure.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,7 +105,7 @@ export async function runStageLifecycleTransitions(config, deps) {
|
|
|
105
105
|
status: focus.status,
|
|
106
106
|
assignedAgentRoleId: focus.assigned_agent_role_id,
|
|
107
107
|
operatorStopped: focus.operator_stopped_at != null,
|
|
108
|
-
armEndedReason: focus.arm_ended_reason,
|
|
108
|
+
armEndedReason: focus.arm_ended_reason, armEndedDetail: focus.arm_ended_detail,
|
|
109
109
|
everArmed: focus.first_armed_at != null,
|
|
110
110
|
readOnly: focus.read_only,
|
|
111
111
|
stage: baseArgs.stage, // display-only
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -215,15 +215,25 @@ export interface WedgeFocusInput {
|
|
|
215
215
|
*/
|
|
216
216
|
operatorStopped?: boolean;
|
|
217
217
|
/**
|
|
218
|
-
* WHY the arm ended, when
|
|
219
|
-
* (product_focuses.arm_ended_reason
|
|
220
|
-
* reached its cycle budget without
|
|
221
|
-
*
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
*
|
|
218
|
+
* WHY the arm ended, when a machine end is recorded
|
|
219
|
+
* (product_focuses.arm_ended_reason; values in queries/focuses/ended-arm.ts).
|
|
220
|
+
* 'review_budget_spent' => the review loop reached its cycle budget without
|
|
221
|
+
* converging and the daemon released the arm; 'run_finished_recorded_work_waits'
|
|
222
|
+
* => the lifecycle clear released it with the covered work done while
|
|
223
|
+
* deliveries recorded as new intent wait at planning for the next arm. Either
|
|
224
|
+
* way the focus is correctly un-armed with work still on it and is NOT a
|
|
225
|
+
* strand, so it is reported as ended rather than escalated as a wedge.
|
|
226
|
+
* Null/undefined => no machine end recorded (a live arm, a never-armed focus,
|
|
227
|
+
* a lifecycle clear that discounted nothing, or an operator stop), which reads
|
|
228
|
+
* exactly as it did before this column.
|
|
225
229
|
*/
|
|
226
230
|
armEndedReason?: string | null;
|
|
231
|
+
/**
|
|
232
|
+
* What the ended arm left outstanding (product_focuses.arm_ended_detail),
|
|
233
|
+
* parsed by ended-arm.ts for the reason it rides with. Used only to NAME the
|
|
234
|
+
* recorded deliveries in the run-finished announcement.
|
|
235
|
+
*/
|
|
236
|
+
armEndedDetail?: unknown;
|
|
227
237
|
/**
|
|
228
238
|
* Durable ever-armed marker (product_focuses.first_armed_at non-null). Splits a
|
|
229
239
|
* role-less-with-work focus into its two causes: true => the focus was armed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wedge-watchdog.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/wedge-watchdog.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAC3F,OAAO,EAAgC,KAAK,4BAA4B,EAAE,KAAK,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAC3J,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"wedge-watchdog.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/wedge-watchdog.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import { DISPOSITION_AGENT_RESOLVABLE } from '../queries/escalations/escalation-
|
|
|
9
9
|
import { ESCALATION_REASONS, ESCALATION_DISPOSITIONS, DELIVERY_STATUS, loadEnvConfig, } from '@telora/daemon-core';
|
|
10
10
|
import { focusMayRunTeam } from '../supervision/null-role-spawn.js';
|
|
11
11
|
import { stopFires } from '../supervision/stop-registry.js';
|
|
12
|
-
import { ARM_ENDED_REVIEW_BUDGET_SPENT } from '../queries/focuses/ended-arm.js';
|
|
12
|
+
import { ARM_ENDED_REVIEW_BUDGET_SPENT, ARM_ENDED_RUN_FINISHED_RECORDED_WORK_WAITS, isRunFinishedArmEnd, parseRecordedWorkWaitsDetail, } from '../queries/focuses/ended-arm.js';
|
|
13
13
|
import { createLogger } from '../log/daemon-log.js';
|
|
14
14
|
const log = createLogger({ module: 'focus-stage-lifecycle' });
|
|
15
15
|
// ── Planning-wedge watchdog + zero-actionable log (D2 + D3) ───────
|
|
@@ -272,18 +272,66 @@ export function __resetWedgeWatchdogState() {
|
|
|
272
272
|
export function wedgeThresholdMsFromEnv() {
|
|
273
273
|
return loadEnvConfig().TELORA_WEDGED_FOCUS_THRESHOLD_MIN * 60_000;
|
|
274
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* An arm that ENDED with a recorded reason, compared BY VALUE: the un-arm is
|
|
277
|
+
* the intended outcome, so it is not a wedge and files no escalation. It is
|
|
278
|
+
* still ANNOUNCED (once per episode), because "no team spawns here again until
|
|
279
|
+
* a human arms it" is exactly what an operator reading the log needs, and a
|
|
280
|
+
* silent end is how a run -- or the work recorded for its successor --
|
|
281
|
+
* disappears unnoticed. Returns null for no recorded reason (and for a reason
|
|
282
|
+
* this daemon does not know), which the strand diagnosis then judges.
|
|
283
|
+
*/
|
|
284
|
+
function announceRecordedArmEnd(focus) {
|
|
285
|
+
let message;
|
|
286
|
+
let reason;
|
|
287
|
+
if (focus.armEndedReason === ARM_ENDED_REVIEW_BUDGET_SPENT) {
|
|
288
|
+
reason = 'arm_ended_review_budget_spent';
|
|
289
|
+
message =
|
|
290
|
+
`is un-armed because its REVIEW BUDGET WAS SPENT ` +
|
|
291
|
+
`(arm_ended_reason='${ARM_ENDED_REVIEW_BUDGET_SPENT}'): the review loop reached TELORA_REVIEW_CYCLE_CAP ` +
|
|
292
|
+
`without converging and the daemon ended the armed run. The criteria still unmet and the findings still ` +
|
|
293
|
+
`open are recorded on the focus (arm_ended_detail). No coding or review pass spawns until a human arms ` +
|
|
294
|
+
`it again; arming grants a fresh budget.`;
|
|
295
|
+
}
|
|
296
|
+
else if (isRunFinishedArmEnd(focus.armEndedReason)) {
|
|
297
|
+
reason = 'arm_ended_run_finished_recorded_work_waits';
|
|
298
|
+
const detail = parseRecordedWorkWaitsDetail(focus.armEndedDetail);
|
|
299
|
+
const named = detail && detail.recordedDeliveries.length > 0
|
|
300
|
+
? `: ${detail.recordedDeliveries.map((d) => `"${d.name}"`).join(', ')}`
|
|
301
|
+
: ' (named in arm_ended_detail)';
|
|
302
|
+
message =
|
|
303
|
+
`FINISHED its armed run (arm_ended_reason='${ARM_ENDED_RUN_FINISHED_RECORDED_WORK_WAITS}'): every ` +
|
|
304
|
+
`delivery the arm covered is terminal, and ${detail?.count ?? 'the'} delivery(ies) recorded as new ` +
|
|
305
|
+
`intent during the run wait at planning for the NEXT arm${named}. This is not a strand and not a stop: ` +
|
|
306
|
+
`no team spawns until a human arms the focus again, and that arm runs them.`;
|
|
307
|
+
}
|
|
308
|
+
else {
|
|
309
|
+
return null;
|
|
310
|
+
}
|
|
311
|
+
const sig = `arm_ended:${focus.armEndedReason}`;
|
|
312
|
+
if (wedgeState.getLogSig(focus.focusId) !== sig) {
|
|
313
|
+
// Clear on the EPISODE EDGE only (it drops the log signature too, so
|
|
314
|
+
// clearing every poll would re-announce every poll), dropping any wedge
|
|
315
|
+
// timer left by the armed episode.
|
|
316
|
+
clearFocusWedgeState(focus.focusId);
|
|
317
|
+
wedgeState.setLogSig(focus.focusId, sig);
|
|
318
|
+
log.warn(`[focus-stage-lifecycle] Focus "${focus.focusName}" ${message}`);
|
|
319
|
+
}
|
|
320
|
+
return { kind: 'skipped', reason };
|
|
321
|
+
}
|
|
275
322
|
/**
|
|
276
323
|
* The role-less arm of the wedge evaluation: an ACTIVE focus with no assigned
|
|
277
324
|
* agent role. Such a focus used to be excluded outright ("nothing to spawn --
|
|
278
325
|
* not a wedge"), which is exactly the blind spot that let a lifecycle-cleared
|
|
279
326
|
* focus still holding work sit outside every detector.
|
|
280
327
|
*
|
|
281
|
-
*
|
|
282
|
-
*
|
|
283
|
-
*
|
|
284
|
-
*
|
|
285
|
-
*
|
|
286
|
-
*
|
|
328
|
+
* Five outcomes: an operator stop is authoritative and stays silent; an arm
|
|
329
|
+
* that ENDED with a recorded reason is authoritative too (a spent review budget,
|
|
330
|
+
* or a run that finished its covered work with recorded new intent waiting --
|
|
331
|
+
* the end is the point, so it is announced, once, and never escalated as a
|
|
332
|
+
* wedge); a clear with all deliveries terminal is a genuine finish; anything
|
|
333
|
+
* else is a strand -- the machine cleared the arm while work remains, and no
|
|
334
|
+
* team can spawn until a human re-arms it.
|
|
287
335
|
*/
|
|
288
336
|
async function evaluateRoleLessFocus(focus, deps) {
|
|
289
337
|
// An operator stop is authoritative and stays silent -- not a wedge.
|
|
@@ -291,27 +339,9 @@ async function evaluateRoleLessFocus(focus, deps) {
|
|
|
291
339
|
clearFocusWedgeState(focus.focusId);
|
|
292
340
|
return { kind: 'skipped', reason: 'operator_stopped' };
|
|
293
341
|
}
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
// spawn here again until a human arms it" is exactly what an operator reading
|
|
298
|
-
// the log needs, and a silent stop is how a run disappears unnoticed.
|
|
299
|
-
if (focus.armEndedReason === ARM_ENDED_REVIEW_BUDGET_SPENT) {
|
|
300
|
-
const sig = `arm_ended:${ARM_ENDED_REVIEW_BUDGET_SPENT}`;
|
|
301
|
-
if (wedgeState.getLogSig(focus.focusId) !== sig) {
|
|
302
|
-
// Clear on the EPISODE EDGE only (it drops the log signature too, so
|
|
303
|
-
// clearing every poll would re-announce every poll), dropping any wedge
|
|
304
|
-
// timer left by the armed episode.
|
|
305
|
-
clearFocusWedgeState(focus.focusId);
|
|
306
|
-
wedgeState.setLogSig(focus.focusId, sig);
|
|
307
|
-
log.warn(`[focus-stage-lifecycle] Focus "${focus.focusName}" is un-armed because its REVIEW BUDGET WAS SPENT ` +
|
|
308
|
-
`(arm_ended_reason='${ARM_ENDED_REVIEW_BUDGET_SPENT}'): the review loop reached TELORA_REVIEW_CYCLE_CAP ` +
|
|
309
|
-
`without converging and the daemon ended the armed run. The criteria still unmet and the findings still ` +
|
|
310
|
-
`open are recorded on the focus (arm_ended_detail). No coding or review pass spawns until a human arms ` +
|
|
311
|
-
`it again; arming grants a fresh budget.`);
|
|
312
|
-
}
|
|
313
|
-
return { kind: 'skipped', reason: 'arm_ended_review_budget_spent' };
|
|
314
|
-
}
|
|
342
|
+
const ended = announceRecordedArmEnd(focus);
|
|
343
|
+
if (ended)
|
|
344
|
+
return ended;
|
|
315
345
|
let roleLessDeliveries;
|
|
316
346
|
try {
|
|
317
347
|
roleLessDeliveries = await deps.getFocusDeliveries(focus.focusId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wedge-watchdog.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/wedge-watchdog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wedge-watchdog.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/wedge-watchdog.ts"],"names":[],"mappings":"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"}
|
package/dist/git/types.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by:
|
|
2
|
+
// Pinned by: 22 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/git/types.ts
|
|
3
3
|
// PINNED-BY-END
|
|
4
4
|
/**
|
|
5
5
|
* Shared types and utilities for the git subsystem.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { type FailureRecord, type PublishedFailureRecord } from '../ci/candidate-failure-record.js';
|
|
2
|
+
/** How long a red with no failure record yet waits for one, when its product's CI publishes them (module doc). */
|
|
3
|
+
export declare const FAILURE_RECORD_WAIT_MS: number;
|
|
4
|
+
/** The most failing-test ids a held set keeps (the files are what is used; ids are for the record). */
|
|
5
|
+
export declare const HELD_FAILING_TEST_IDS_MAX = 200;
|
|
6
|
+
/** A red candidate's failing test files, as the daemon holds them. */
|
|
7
|
+
export interface CandidateCiFailures {
|
|
8
|
+
/** The candidate commit CI judged. */
|
|
9
|
+
sha: string;
|
|
10
|
+
/** The CI run whose records these are (null: the run could not be told from the status refs). */
|
|
11
|
+
run: number | null;
|
|
12
|
+
/** The jobs (shards) that published a record. */
|
|
13
|
+
jobs: string[];
|
|
14
|
+
/** Repo-relative test files that failed, sorted. */
|
|
15
|
+
failingFiles: string[];
|
|
16
|
+
/** The failing-test ids, file made repo-relative, sorted; at most HELD_FAILING_TEST_IDS_MAX. */
|
|
17
|
+
failingTests: string[];
|
|
18
|
+
/** False when part of the run's output was cut or unreadable, or a failure named no file. */
|
|
19
|
+
complete: boolean;
|
|
20
|
+
readAt: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Merge a run's records into one failing set; null when there is no record.
|
|
24
|
+
* A log whose step exited non-zero (its record's `exitCode`) but which yields
|
|
25
|
+
* no failing-test id is unparseable red, so the set is incomplete -- never a
|
|
26
|
+
* complete empty one. Pure (the read time is passed in).
|
|
27
|
+
*/
|
|
28
|
+
export declare function failuresFromRecords(sha: string, run: number | null, records: readonly FailureRecord[], readAt: string): CandidateCiFailures | null;
|
|
29
|
+
/** The reads and the hold the set is built through; bound at the composition root. */
|
|
30
|
+
export interface CandidateCiFailuresDeps {
|
|
31
|
+
/** The candidate's refs/ci-status ref names (ci/ci-status-git.ts listCiStatusRefsAt). */
|
|
32
|
+
listCiStatusRefs: (sha: string) => string[];
|
|
33
|
+
/** The failure records CI published for the commit (ci/candidate-failure-record.ts). */
|
|
34
|
+
listRecords: (sha: string) => PublishedFailureRecord[];
|
|
35
|
+
readRecord: (published: PublishedFailureRecord) => FailureRecord | null;
|
|
36
|
+
readHeld: (sha: string) => CandidateCiFailures | null;
|
|
37
|
+
hold: (failures: CandidateCiFailures) => void;
|
|
38
|
+
now: () => string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The failing test files of the red candidate `sha`: the held set when it was
|
|
42
|
+
* read from the run that decided red AND from every record that run has
|
|
43
|
+
* published now -- a job whose record lands after the set was held (another
|
|
44
|
+
* shard, the e2e job) makes it read again -- else read now (and held). Null when the
|
|
45
|
+
* deciding run published no record -- a set held from ANOTHER run of the same
|
|
46
|
+
* commit is never answered for it, since its files did not fail in this run --
|
|
47
|
+
* or on any failure. Never throws.
|
|
48
|
+
*/
|
|
49
|
+
export declare function readCandidateCiFailures(sha: string, deps: CandidateCiFailuresDeps): CandidateCiFailures | null;
|
|
50
|
+
/** The held file for a candidate; `dir` defaults to the global state dir. Exported for tests. */
|
|
51
|
+
export declare function candidateCiFailuresPath(productId: string, focusId: string, sha: string, dir?: string): string;
|
|
52
|
+
/** Parse a held file; null when it is not a well-formed set. Pure. */
|
|
53
|
+
export declare function parseHeldCandidateCiFailures(text: string): CandidateCiFailures | null;
|
|
54
|
+
/** The set held for a candidate; null when none is, or it is unreadable. */
|
|
55
|
+
export declare function readHeldCandidateCiFailures(productId: string, focusId: string, sha: string, dir?: string): CandidateCiFailures | null;
|
|
56
|
+
/** Hold a candidate's set (temp + rename). A failed write is logged, never thrown. */
|
|
57
|
+
export declare function holdCandidateCiFailures(productId: string, focusId: string, failures: CandidateCiFailures, dir?: string): void;
|
|
58
|
+
/** Reset the wait's memory -- tests start from a clean slate. */
|
|
59
|
+
export declare function __resetFailureRecordWaitForTests(): void;
|
|
60
|
+
/** Whether this host has ever held a CI failure set for the product: its CI publishes records. */
|
|
61
|
+
export declare function productPublishesFailureRecords(productId: string, dir?: string): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Whether the red candidate `sha`, which has no failure record yet, should wait
|
|
64
|
+
* for one this tick rather than have its rework routed without files: only when
|
|
65
|
+
* the product publishes records, and only within FAILURE_RECORD_WAIT_MS of this
|
|
66
|
+
* process's first sighting. Never throws.
|
|
67
|
+
*/
|
|
68
|
+
export declare function awaitsFailureRecord(subject: {
|
|
69
|
+
productId: string;
|
|
70
|
+
focusId: string;
|
|
71
|
+
}, sha: string, now: number, publishes: (productId: string) => boolean): boolean;
|
|
72
|
+
//# sourceMappingURL=candidate-ci-failures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"candidate-ci-failures.d.ts","sourceRoot":"","sources":["../../src/merge/candidate-ci-failures.ts"],"names":[],"mappings":"AA6CA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC5B,MAAM,mCAAmC,CAAC;AAM3C,kHAAkH;AAClH,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AAErD,uGAAuG;AACvG,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,iGAAiG;IACjG,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,iDAAiD;IACjD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,oDAAoD;IACpD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gGAAgG;IAChG,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,6FAA6F;IAC7F,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAcD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,MAAM,EAAE,MAAM,GACb,mBAAmB,GAAG,IAAI,CAoC5B;AAED,sFAAsF;AACtF,MAAM,WAAW,uBAAuB;IACtC,yFAAyF;IACzF,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAC5C,wFAAwF;IACxF,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB,EAAE,CAAC;IACvD,UAAU,EAAE,CAAC,SAAS,EAAE,sBAAsB,KAAK,aAAa,GAAG,IAAI,CAAC;IACxE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,mBAAmB,GAAG,IAAI,CAAC;IACtD,IAAI,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC9C,GAAG,EAAE,MAAM,MAAM,CAAC;CACnB;AAQD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,GAAG,IAAI,CAiB9G;AAUD,iGAAiG;AACjG,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAkB,GAAG,MAAM,CAExH;AAID,sEAAsE;AACtE,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAarF;AAED,4EAA4E;AAC5E,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAkB,GAAG,mBAAmB,GAAG,IAAI,CAMhJ;AAED,sFAAsF;AACtF,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,GAAG,GAAE,MAAkB,GAAG,IAAI,CAUxI;AASD,iEAAiE;AACjE,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AAED,kGAAkG;AAClG,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,MAAkB,GAAG,OAAO,CAOlG;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC/C,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,GACxC,OAAO,CAUT"}
|