@on-par/factory-cli 0.9.18-next.2 → 0.9.18-next.20
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/dist/cli/awaiting-ci-recheck.d.ts +31 -0
- package/dist/cli/awaiting-ci-recheck.d.ts.map +1 -0
- package/dist/cli/awaiting-ci-recheck.js +61 -0
- package/dist/cli/awaiting-ci-recheck.js.map +1 -0
- package/dist/cli/awaiting-ci-wiring.d.ts +6 -0
- package/dist/cli/awaiting-ci-wiring.d.ts.map +1 -0
- package/dist/cli/awaiting-ci-wiring.js +45 -0
- package/dist/cli/awaiting-ci-wiring.js.map +1 -0
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/daemon.js +3 -3
- package/dist/cli/daemon.js.map +1 -1
- package/dist/cli/detect-checks.d.ts +2 -0
- package/dist/cli/detect-checks.d.ts.map +1 -1
- package/dist/cli/detect-checks.js +13 -2
- package/dist/cli/detect-checks.js.map +1 -1
- package/dist/cli/doctor-verify.d.ts +3 -1
- package/dist/cli/doctor-verify.d.ts.map +1 -1
- package/dist/cli/doctor-verify.js +13 -8
- package/dist/cli/doctor-verify.js.map +1 -1
- package/dist/cli/errors.d.ts +6 -0
- package/dist/cli/errors.d.ts.map +1 -0
- package/dist/cli/errors.js +11 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/host-claim-guards.d.ts +9 -0
- package/dist/cli/host-claim-guards.d.ts.map +1 -0
- package/dist/cli/host-claim-guards.js +11 -0
- package/dist/cli/host-claim-guards.js.map +1 -0
- package/dist/cli/host-slot.d.ts +15 -2
- package/dist/cli/host-slot.d.ts.map +1 -1
- package/dist/cli/host-slot.js +33 -3
- package/dist/cli/host-slot.js.map +1 -1
- package/dist/cli/index.d.ts +6 -16
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +52 -78
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/json-contract.d.ts +7 -0
- package/dist/cli/json-contract.d.ts.map +1 -1
- package/dist/cli/json-contract.js +3 -0
- package/dist/cli/json-contract.js.map +1 -1
- package/dist/cli/land-behind.d.ts +8 -0
- package/dist/cli/land-behind.d.ts.map +1 -0
- package/dist/cli/land-behind.js +21 -0
- package/dist/cli/land-behind.js.map +1 -0
- package/dist/cli/land-pr.d.ts +24 -0
- package/dist/cli/land-pr.d.ts.map +1 -1
- package/dist/cli/land-pr.js +143 -51
- package/dist/cli/land-pr.js.map +1 -1
- package/dist/cli/land.d.ts +9 -0
- package/dist/cli/land.d.ts.map +1 -1
- package/dist/cli/land.js +23 -22
- package/dist/cli/land.js.map +1 -1
- package/dist/cli/lane-heartbeat.d.ts +31 -3
- package/dist/cli/lane-heartbeat.d.ts.map +1 -1
- package/dist/cli/lane-heartbeat.js +74 -6
- package/dist/cli/lane-heartbeat.js.map +1 -1
- package/dist/cli/lane-pause.d.ts +6 -1
- package/dist/cli/lane-pause.d.ts.map +1 -1
- package/dist/cli/lane-pause.js +30 -0
- package/dist/cli/lane-pause.js.map +1 -1
- package/dist/cli/model-override-messages.d.ts +5 -1
- package/dist/cli/model-override-messages.d.ts.map +1 -1
- package/dist/cli/model-override-messages.js +9 -1
- package/dist/cli/model-override-messages.js.map +1 -1
- package/dist/cli/notify.d.ts +12 -0
- package/dist/cli/notify.d.ts.map +1 -1
- package/dist/cli/notify.js +28 -0
- package/dist/cli/notify.js.map +1 -1
- package/dist/cli/queue-preflight.d.ts +4 -2
- package/dist/cli/queue-preflight.d.ts.map +1 -1
- package/dist/cli/queue-preflight.js +1 -1
- package/dist/cli/queue-preflight.js.map +1 -1
- package/dist/cli/queue-startup.d.ts +57 -0
- package/dist/cli/queue-startup.d.ts.map +1 -1
- package/dist/cli/queue-startup.js +64 -1
- package/dist/cli/queue-startup.js.map +1 -1
- package/dist/cli/repo-live-run-lock.d.ts +7 -0
- package/dist/cli/repo-live-run-lock.d.ts.map +1 -0
- package/dist/cli/repo-live-run-lock.js +14 -0
- package/dist/cli/repo-live-run-lock.js.map +1 -0
- package/dist/cli/repo-run-lock.d.ts +14 -0
- package/dist/cli/repo-run-lock.d.ts.map +1 -0
- package/dist/cli/repo-run-lock.js +27 -0
- package/dist/cli/repo-run-lock.js.map +1 -0
- package/dist/cli/reset.d.ts.map +1 -1
- package/dist/cli/reset.js +2 -2
- package/dist/cli/reset.js.map +1 -1
- package/dist/cli/run-lane-deps.d.ts +16 -1
- package/dist/cli/run-lane-deps.d.ts.map +1 -1
- package/dist/cli/run-lane-disk-hold.d.ts +14 -0
- package/dist/cli/run-lane-disk-hold.d.ts.map +1 -0
- package/dist/cli/run-lane-disk-hold.js +25 -0
- package/dist/cli/run-lane-disk-hold.js.map +1 -0
- package/dist/cli/run-lane-load-hold.d.ts +14 -0
- package/dist/cli/run-lane-load-hold.d.ts.map +1 -0
- package/dist/cli/run-lane-load-hold.js +22 -0
- package/dist/cli/run-lane-load-hold.js.map +1 -0
- package/dist/cli/run-lane-restack.d.ts +13 -0
- package/dist/cli/run-lane-restack.d.ts.map +1 -0
- package/dist/cli/run-lane-restack.js +21 -0
- package/dist/cli/run-lane-restack.js.map +1 -0
- package/dist/cli/run-lane.d.ts.map +1 -1
- package/dist/cli/run-lane.js +73 -58
- package/dist/cli/run-lane.js.map +1 -1
- package/dist/cli/run.d.ts +1 -0
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +16 -12
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/self-update-apply.d.ts +1 -1
- package/dist/cli/self-update-apply.d.ts.map +1 -1
- package/dist/cli/self-update-apply.js +4 -5
- package/dist/cli/self-update-apply.js.map +1 -1
- package/dist/cli/ship-run-state.d.ts +5 -0
- package/dist/cli/ship-run-state.d.ts.map +1 -1
- package/dist/cli/ship-run-state.js +18 -1
- package/dist/cli/ship-run-state.js.map +1 -1
- package/dist/cli/ship-steps.d.ts +4 -2
- package/dist/cli/ship-steps.d.ts.map +1 -1
- package/dist/cli/ship-steps.js +3 -1
- package/dist/cli/ship-steps.js.map +1 -1
- package/dist/cli/ship.d.ts +4 -2
- package/dist/cli/ship.d.ts.map +1 -1
- package/dist/cli/ship.js +11 -17
- package/dist/cli/ship.js.map +1 -1
- package/dist/cli/status-json.d.ts +1 -0
- package/dist/cli/status-json.d.ts.map +1 -1
- package/dist/cli/status-json.js +1 -0
- package/dist/cli/status-json.js.map +1 -1
- package/dist/cli/status.d.ts.map +1 -1
- package/dist/cli/status.js +16 -1
- package/dist/cli/status.js.map +1 -1
- package/dist/cli/steer.js +3 -3
- package/dist/cli/steer.js.map +1 -1
- package/package.json +4 -4
- package/schemas/logs-line.schema.json +10 -0
- package/schemas/status.schema.json +24 -0
package/dist/cli/land.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"land.d.ts","sourceRoot":"","sources":["../../src/cli/land.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAEV,aAAa,EAGb,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"land.d.ts","sourceRoot":"","sources":["../../src/cli/land.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/land.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
// packages/cli/src/cli/land.ts — issue-level land flow: resolve the PR, honor the merge gate, land it (#2784)
|
|
2
2
|
import { existsSync } from 'node:fs';
|
|
3
|
-
import { LaneFileGuard,
|
|
3
|
+
import { LaneFileGuard, resolveMergePolicy, resolveSandboxPolicy, workKeyFromIssue } from '@on-par/factory-core';
|
|
4
4
|
import { branchFor, factoryBranchPrefixes, getIssueTitle, isAutoMergeBlocked, LEGACY_BRANCH_PREFIX, logEvent, lookupOpenPrByBranch, lookupOpenPrByIssue, publishRiskReceipt, releaseLaneClaim, resolveEffectiveConfig, resolveFilingPolicy, resolveTrustTier, withFileLock, withGitLock, worktreeSandboxFor, } from '@on-par/factory-core/internal';
|
|
5
|
-
import {
|
|
5
|
+
import { AwaitMergeStoppedError, AwaitingReviewError, LandConflictError, LandFailureError, MergeGatedError, defaultListIssueLabels, isLandLeftOpen, landOpenPullRequest, } from './land-pr.js';
|
|
6
6
|
import { enforceRiskAtLand } from './land-risk.js';
|
|
7
7
|
import { landRuntime } from './land-runtime.js';
|
|
8
8
|
import { riskPolicyLines } from './risk-policy.js';
|
|
9
|
+
import { touchIssueActivity } from './ship-run-state.js';
|
|
9
10
|
async function releaseLandedClaim(paths, ghRepo, issue, log) {
|
|
10
11
|
if (!paths.laneFiles)
|
|
11
12
|
return;
|
|
@@ -153,6 +154,7 @@ export async function landIssue(issueNum, repoRoot, ghRepo, paths, octokit, skip
|
|
|
153
154
|
log,
|
|
154
155
|
skipCI,
|
|
155
156
|
syncMain: opts.syncMain,
|
|
157
|
+
signal: opts.signal,
|
|
156
158
|
adminMerge: resolveMergePolicy(landFactoryConfig).admin,
|
|
157
159
|
withLock: withLandLock,
|
|
158
160
|
ensureWorktree: async () => {
|
|
@@ -163,7 +165,7 @@ export async function landIssue(issueNum, repoRoot, ghRepo, paths, octokit, skip
|
|
|
163
165
|
});
|
|
164
166
|
}
|
|
165
167
|
catch (err) {
|
|
166
|
-
if (err
|
|
168
|
+
if (isLandLeftOpen(err)) {
|
|
167
169
|
await withLandLock(() => gitOps.cleanupWorktree(repoRoot, worktree, log, worktreeSandbox));
|
|
168
170
|
}
|
|
169
171
|
throw err;
|
|
@@ -173,7 +175,7 @@ export async function landIssue(issueNum, repoRoot, ghRepo, paths, octokit, skip
|
|
|
173
175
|
await withLandLock(() => gitOps.cleanupWorktree(repoRoot, worktree, log, worktreeSandbox));
|
|
174
176
|
}
|
|
175
177
|
catch (err) {
|
|
176
|
-
if (err instanceof LandConflictError || err
|
|
178
|
+
if (err instanceof LandConflictError || isLandLeftOpen(err) || opts.signal?.aborted)
|
|
177
179
|
throw err;
|
|
178
180
|
log('fail', `merge failed: ${err.message}`);
|
|
179
181
|
throw new LandFailureError(`merge failed for issue #${issueNum}: ${err.message}`, 5);
|
|
@@ -183,7 +185,7 @@ export async function landIssue(issueNum, repoRoot, ghRepo, paths, octokit, skip
|
|
|
183
185
|
export function prLookupFailure(issueNum, branch, err) {
|
|
184
186
|
return new LandFailureError(`PR lookup failed for issue #${issueNum} (${branch}): ${landRuntime().errorDetail(err)}`, 5);
|
|
185
187
|
}
|
|
186
|
-
export async function
|
|
188
|
+
export async function latestPrForBranch(octokit, owner, repoName, branch) {
|
|
187
189
|
const { data: prs } = await octokit.rest.pulls.list({
|
|
188
190
|
owner,
|
|
189
191
|
repo: repoName,
|
|
@@ -191,18 +193,14 @@ export async function isPrMerged(octokit, owner, repoName, branch) {
|
|
|
191
193
|
head: `${owner}:${branch}`,
|
|
192
194
|
});
|
|
193
195
|
if (prs.length === 0)
|
|
194
|
-
return
|
|
195
|
-
//
|
|
196
|
-
// (
|
|
197
|
-
// earlier, already-merged PR used) — GitHub PR numbers only increase, so
|
|
198
|
-
// the highest-numbered PR under this head is always the current one.
|
|
199
|
-
// Checking "was ANY PR ever merged under this branch name" (the old
|
|
200
|
-
// `state: 'closed'` + `.some()` behavior) matched the stale prior PR and
|
|
201
|
-
// falsely reported a brand-new, still-open PR under the same name as
|
|
202
|
-
// merged — waitForMerge then logged "landed" and skipped calling land(),
|
|
203
|
-
// leaving the real PR open forever while the lane believed it was done.
|
|
196
|
+
return null;
|
|
197
|
+
// Branch names get reused across runs; PR numbers only increase, so the highest-numbered PR is the current one
|
|
198
|
+
// (a stale merged PR under the same name must not make a new open PR look merged).
|
|
204
199
|
const latest = prs.reduce((newest, pr) => (pr.number > newest.number ? pr : newest));
|
|
205
|
-
return Boolean(latest.merged_at);
|
|
200
|
+
return { number: latest.number, merged: Boolean(latest.merged_at) };
|
|
201
|
+
}
|
|
202
|
+
export async function isPrMerged(octokit, owner, repoName, branch) {
|
|
203
|
+
return (await latestPrForBranch(octokit, owner, repoName, branch))?.merged ?? false;
|
|
206
204
|
}
|
|
207
205
|
/** queue-preflight only (it must see fork PRs to park them); land uses the core lookup (#3439). */
|
|
208
206
|
export async function findOpenPRForIssue(octokit, owner, repoName, issueNum) {
|
|
@@ -258,12 +256,8 @@ export function isPermanentMergeCheckError(err) {
|
|
|
258
256
|
return false;
|
|
259
257
|
return !looksRateLimited(err);
|
|
260
258
|
}
|
|
261
|
-
async function defaultListIssueLabels(octokit, owner, repo, issue) {
|
|
262
|
-
const { data } = await octokit.rest.issues.listLabelsOnIssue({ owner, repo, issue_number: issue });
|
|
263
|
-
return data.map((label) => label.name);
|
|
264
|
-
}
|
|
265
259
|
export async function waitForMerge(issue, branch, repoRoot, ghRepo, paths, deps = {}) {
|
|
266
|
-
const { createOctokit = landRuntime().getOctokit, pathExists = existsSync, checkMerged = isPrMerged, loadConfig = landRuntime().configLoaders.loadFactoryConfigForRepo, land = landIssue, listIssueLabels = defaultListIssueLabels, sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)), emitEvent = logEvent, mergeEnabled, writeLine = (line) => console.log(line), now = () => Date.now(), mergeOverrides, landBranch, syncMain, } = deps;
|
|
260
|
+
const { createOctokit = landRuntime().getOctokit, pathExists = existsSync, checkMerged = isPrMerged, lookupPr = latestPrForBranch, loadConfig = landRuntime().configLoaders.loadFactoryConfigForRepo, land = landIssue, listIssueLabels = defaultListIssueLabels, sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)), emitEvent = logEvent, mergeEnabled, writeLine = (line) => console.log(line), now = () => Date.now(), mergeOverrides, landBranch, syncMain, signal, } = deps;
|
|
267
261
|
const { configLoaders, errorDetail, LaneParkError } = landRuntime();
|
|
268
262
|
const factoryConfig = loadConfig(paths.config);
|
|
269
263
|
const isMergeEnabled = mergeEnabled ?? (() => resolveMergePolicy(factoryConfig, process.env, mergeOverrides).auto);
|
|
@@ -275,10 +269,11 @@ export async function waitForMerge(issue, branch, repoRoot, ghRepo, paths, deps
|
|
|
275
269
|
let consecutiveFailures = 0;
|
|
276
270
|
let firstFailureAt = null;
|
|
277
271
|
while (!pathExists(paths.stop)) {
|
|
272
|
+
signal?.throwIfAborted();
|
|
278
273
|
// The merge wait logs nothing on its happy path, so each poll bumps the per-issue heartbeat:
|
|
279
274
|
// status/TUI staleness rules (ADR-0086, ADR-0093) otherwise read a live wait as a dead run.
|
|
280
275
|
if (paths.runs)
|
|
281
|
-
|
|
276
|
+
touchIssueActivity(paths.runs, issue).catch(() => { });
|
|
282
277
|
let merged = false;
|
|
283
278
|
try {
|
|
284
279
|
merged = await checkMerged(octokit, owner, repoName, branch);
|
|
@@ -326,6 +321,7 @@ export async function waitForMerge(issue, branch, repoRoot, ghRepo, paths, deps
|
|
|
326
321
|
...(landBranch ? { branch: landBranch } : {}),
|
|
327
322
|
enforceRisk: true,
|
|
328
323
|
...(syncMain ? { syncMain } : {}),
|
|
324
|
+
...(signal ? { signal } : {}),
|
|
329
325
|
});
|
|
330
326
|
await releaseLandedClaim(paths, ghRepo, issue, (type, msg) => emitEvent(paths.events, type, issue, msg));
|
|
331
327
|
return;
|
|
@@ -333,5 +329,10 @@ export async function waitForMerge(issue, branch, repoRoot, ghRepo, paths, deps
|
|
|
333
329
|
writeLine(`[factory] #${issue} awaiting human merge (poll 120s)`);
|
|
334
330
|
await sleep(120_000);
|
|
335
331
|
}
|
|
332
|
+
// STOP ended the wait (#3291): a merged PR still lands; an open one goes back to the queue, never released as done.
|
|
333
|
+
const pr = await lookupPr(octokit, owner, repoName, branch).catch(() => null);
|
|
334
|
+
if (!pr?.merged)
|
|
335
|
+
throw new AwaitMergeStoppedError(`STOP during await-merge: PR on ${branch} left open`, branch, pr?.number ?? null);
|
|
336
|
+
emitEvent(paths.events, 'landed', issue, 'PR merged');
|
|
336
337
|
}
|
|
337
338
|
//# sourceMappingURL=land.js.map
|
package/dist/cli/land.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"land.js","sourceRoot":"","sources":["../../src/cli/land.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAE9G,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAWrC,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,QAAQ,EACR,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,KAAK,UAAU,kBAAkB,CAC/B,KAAyC,EACzC,MAAc,EACd,KAAa,EACb,GAA2C;IAE3C,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO;IAC7B,MAAM,gBAAgB,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAAgB,EAChB,QAAgB,EAChB,MAAc,EACd,KAAyC,EACzC,OAAgB,EAChB,MAAgB,EAChB,YAAqB,EACrB,IAAI,GAAyF,EAAE;IAE/F,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE,CAAC;IAC9E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,CACV,IAAe,EACf,GAAW,EACX,KAAkF,EAClF,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAExD,qEAAqE;IACrE,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,uEAAuE;IACvE,oGAAoG;IACpG,MAAM,UAAU,GAAG,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,YAAY,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC;IACjF,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7D,4GAA4G;IAC5G,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM;QACzB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACf,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEjC,IAAI,MAAM,GAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,KAAK,IAA2B,EAAE;YACpD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnF,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;oBAAE,OAAO,KAAK,CAAC;YAC5C,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5B,CAAC,CAAC;QACF,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,GAAG,MAAM,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAC9D,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,gBAAgB,MAAM,iBAAiB,QAAQ,KAAK,IAAI,4BAA4B,QAAQ,kCAAkC,CAAC;QAC/J,GAAG,CAAC,MAAM,EAAE,wBAAwB,GAAG,EAAE,CAAC,CAAC;QAC3C,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,QAAQ,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,GAAG,CAAC,MAAM,EAAE,kBAAkB,aAAa,EAAE,CAAC,CAAC;QAC/C,MAAM,IAAI,gBAAgB,CAAC,yBAAyB,QAAQ,KAAK,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEjC,MAAM,iBAAiB,GAAG,aAAa,CAAC,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/E,oHAAoH;IACpH,MAAM,YAAY,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;IAC5C,IAAI,UAAU,GAAa,EAAE,CAAC;IAC9B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CACT,uBAAuB,QAAQ,0CAA0C,QAAQ,aAAa,SAAS,OAAO,CAC/G,CAAC;QACF,GAAG,CAAC,sBAAsB,EAAE,8BAA8B,QAAQ,SAAS,SAAS,wBAAwB,CAAC,CAAC;IAChH,CAAC;SAAM,CAAC;QACN,IAAI,KAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChD,sBAAsB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC1D,sBAAsB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;aAC3D,CAAC,CAAC;YACH,UAAU,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC;YAC3C,IAAI,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC;gBAAE,KAAK,GAAG,UAAU,QAAQ,gBAAgB,SAAS,EAAE,CAAC;iBACpG,IAAI,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC;gBAAE,KAAK,GAAG,OAAO,QAAQ,gBAAgB,SAAS,EAAE,CAAC;QAC1G,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,GAAG,6BAA6B,WAAW,CAAC,GAAG,CAAC,6BAA6B,SAAS,OAAO,CAAC;QACrG,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,aAAa,EAAE,iBAAiB,KAAK,EAAE,CAAC,CAAC;YAC7C,MAAM,IAAI,eAAe,CACvB,mBAAmB,QAAQ,eAAe,QAAQ,KAAK,KAAK,qDAAqD,QAAQ,4CAA4C,EACrK,QAAQ,EACR,QAAQ,EACR,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;IAED,2FAA2F;IAC3F,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC;YACvC,OAAO;YACP,KAAK;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ;YACR,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC,CAAC;QACH,GAAG,CACD,MAAM,EACN,gBAAgB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,WAAW,QAAQ,UAAU,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAClH,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,MAAM,EAAE,6CAA6C,QAAQ,KAAK,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAC9B,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,MAAM,CAAC,UAAU,CAAC,GAAG,oBAAoB,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAChF,CAAC;IACF,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,OAAO,EAAE;QACxE,QAAQ;QACR,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,eAAe,GAAgC,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,EAAE;QAClG,UAAU,EAAE,iBAAiB,EAAE,UAAU,IAAI,EAAE;KAChD,CAAC,CAAC;IAEH,MAAM,YAAY,GAAa,CAAC,EAAE,EAAE,EAAE,CACpC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,CACzB,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE;QAChC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,KAAK,CAAC,SAAS,yBAAyB,GAAG,IAAI,SAAS,EAAE,CAAC;KAC1G,CAAC,CACH,CAAC;IAEJ,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC;YACnC,OAAO;YACP,KAAK;YACL,QAAQ;YACR,KAAK,EAAE,QAAQ;YACf,QAAQ;YACR,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,gBAAgB,CAAC,UAAU,CAAC;YACvC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;YAC3F,MAAM,IAAI,mBAAmB,CAAC,OAAO,QAAQ,sBAAsB,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,IAAI,CAAC;YACH,MAAM,mBAAmB,CAAC;gBACxB,OAAO;gBACP,KAAK;gBACL,QAAQ;gBACR,MAAM;gBACN,QAAQ;gBACR,KAAK,EAAE,QAAQ;gBACf,MAAM;gBACN,QAAQ;gBACR,QAAQ;gBACR,GAAG;gBACH,MAAM;gBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,KAAK;gBACvD,QAAQ,EAAE,YAAY;gBACtB,cAAc,EAAE,KAAK,IAAI,EAAE;oBACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC1B,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,MAAM,EAAE,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;oBACnG,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,mBAAmB,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACvE,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;YAC7F,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,GAAG,CAAC,QAAQ,EAAE,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAC/C,MAAM,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;IAC7F,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,YAAY,iBAAiB,IAAI,GAAG,YAAY,mBAAmB,IAAI,GAAG,YAAY,aAAa;YACxG,MAAM,GAAG,CAAC;QACZ,GAAG,CAAC,MAAM,EAAE,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,QAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,MAAc,EAAE,GAAY;IAC5E,OAAO,IAAI,gBAAgB,CACzB,+BAA+B,QAAQ,KAAK,MAAM,MAAM,WAAW,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EACxF,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAgB,EAAE,KAAa,EAAE,QAAgB,EAAE,MAAc;IAChG,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAClD,KAAK;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,GAAG,KAAK,IAAI,MAAM,EAAE;KAC3B,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,0EAA0E;IAC1E,qEAAqE;IACrE,yEAAyE;IACzE,qEAAqE;IACrE,oEAAoE;IACpE,yEAAyE;IACzE,qEAAqE;IACrE,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,MAAW,EAAE,EAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/F,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,mGAAmG;AACnG,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAgB,EAChB,KAAa,EACb,QAAgB,EAChB,QAAgB;IAEhB,MAAM,OAAO,GAAG,GAAG,CAAC;IACpB,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,iBAAiB,QAAQ,KAAK,EAAE,GAAG,CAAC,CAAC;IAChE,KAAK,IAAI,IAAI,GAAG,CAAC,GAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAClD,KAAK;YACL,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,OAAO;YACjB,IAAI;SACL,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,IAAI,EAAE,EAAE,CAAC;YACP,OAAO;gBACL,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG;gBACnB,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG;gBACpB,gBAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI;aAClD,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,GAAG,OAAO;YAAE,OAAO,SAAS,CAAC;IAC7C,CAAC;AACH,CAAC;AAED;kGACkG;AAClG,MAAM,CAAC,MAAM,oCAAoC,GAAG,EAAE,CAAC;AAEvD;mGACmG;AACnG,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhE;iGACiG;AACjG,SAAS,gBAAgB,CAAC,GAAY;IACpC,MAAM,OAAO,GAAI,GAAmE,EAAE,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;IAC9G,MAAM,SAAS,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACnD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC3E,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,4CAA4C,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED;+EAC+E;AAC/E,MAAM,UAAU,0BAA0B,CAAC,GAAY;IACrD,MAAM,MAAM,GAAI,GAAmC,EAAE,MAAM,CAAC;IAC5D,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACjC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC;AAkCD,KAAK,UAAU,sBAAsB,CAAC,OAAgB,EAAE,KAAa,EAAE,IAAY,EAAE,KAAa;IAChG,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IACnG,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAa,EACb,MAAc,EACd,QAAgB,EAChB,MAAc,EACd,KAAyC,EACzC,IAAI,GAAqB,EAAE;IAE3B,MAAM,EACJ,aAAa,GAAG,WAAW,EAAE,CAAC,UAAU,EACxC,UAAU,GAAG,UAAU,EACvB,WAAW,GAAG,UAAU,EACxB,UAAU,GAAG,WAAW,EAAE,CAAC,aAAa,CAAC,wBAAwB,EACjE,IAAI,GAAG,SAAS,EAChB,eAAe,GAAG,sBAAsB,EACxC,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAC/E,SAAS,GAAG,QAAQ,EACpB,YAAY,EACZ,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EACvC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EACtB,cAAc,EACd,UAAU,EACV,QAAQ,GACT,GAAG,IAAI,CAAC;IACT,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,CAAC;IACpE,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC;IACnH,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE5C,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,oBAAoB,MAAM,EAAE,CAAC,CAAC;IAC5E,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,6FAA6F;QAC7F,4FAA4F;QAC5F,IAAI,KAAK,CAAC,IAAI;YAAE,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACjH,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC7D,mBAAmB,GAAG,CAAC,CAAC;YACxB,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mBAAmB,EAAE,CAAC;YACtB,cAAc,KAAK,GAAG,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAChC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,uDAAuD,MAAM,EAAE,CAAC,CAAC;YAExG,MAAM,SAAS,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,GAAG,EAAE,GAAG,cAAc,CAAC;YACzC,MAAM,WAAW,GAAG,SAAS,IAAI,6BAA6B,CAAC;YAC/D,MAAM,WAAW,GAAG,mBAAmB,IAAI,oCAAoC,CAAC;YAChF,IAAI,SAAS,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;gBAC5C,MAAM,OAAO,GAAG,SAAS;oBACvB,CAAC,CAAC,qDAAqD;oBACvD,CAAC,CAAC,GAAG,mBAAmB,8BAA8B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC;gBACxF,MAAM,GAAG,GAAG,0BAA0B,MAAM,2CAA2C,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC5G,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBAChD,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,IAAI,cAAc,EAAE,EAAE,CAAC;YACrB,IAAI,MAAM,GAAa,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,6CAA6C,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxG,MAAM,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;gBAC7C,SAAS,CACP,KAAK,CAAC,MAAM,EACZ,aAAa,EACb,KAAK,EACL,yBAAyB,YAAY,CAAC,YAAY,4BAA4B,CAC/E,CAAC;gBACF,SAAS,CACP,cAAc,KAAK,sBAAsB,YAAY,CAAC,YAAY,qCAAqC,CACxG,CAAC;gBACF,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE;gBACrE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,WAAW,EAAE,IAAI;gBACjB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClC,CAAC,CAAC;YACH,MAAM,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACzG,OAAO;QACT,CAAC;QAED,SAAS,CAAC,cAAc,KAAK,mCAAmC,CAAC,CAAC;QAClE,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"land.js","sourceRoot":"","sources":["../../src/cli/land.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,35 @@
|
|
|
1
|
+
import type { logEvent } from '@on-par/factory-core/internal';
|
|
2
|
+
/** The issue's claim is no longer ours: the queue said it is gone ('released'), or renewals
|
|
3
|
+
* kept failing past the last confirmed expiry ('lapsed') (#3146). */
|
|
4
|
+
export declare class ClaimLostError extends Error {
|
|
5
|
+
readonly issue: number;
|
|
6
|
+
readonly kind: 'released' | 'lapsed';
|
|
7
|
+
constructor(issue: number, kind: 'released' | 'lapsed');
|
|
8
|
+
}
|
|
9
|
+
/** Lease health of one in-flight issue. `signal` aborts (with the ClaimLostError) once the claim is lost. */
|
|
10
|
+
export interface ClaimLease {
|
|
11
|
+
readonly signal: AbortSignal;
|
|
12
|
+
readonly lost: ClaimLostError | undefined;
|
|
13
|
+
renewed(result: unknown): void;
|
|
14
|
+
renewFailed(err: unknown): void;
|
|
15
|
+
}
|
|
16
|
+
/** Tracks one issue's lease. Only a strict `false` heartbeat result means lost; a thrown renewal is
|
|
17
|
+
* counted and logged, and the lease is lost once `now()` passes the last confirmed expiry. */
|
|
18
|
+
export declare function createClaimLease(issue: number, opts: {
|
|
19
|
+
leaseMs: number;
|
|
20
|
+
now: () => number;
|
|
21
|
+
onRenewFailed: (failures: number, err: unknown) => void;
|
|
22
|
+
}): ClaimLease;
|
|
23
|
+
/** The `onRenewFailed` for a lane's lease: one `lease_renew_failed` event per failed renewal, with the consecutive count. */
|
|
24
|
+
export declare function laneRenewLogger(emit: typeof logEvent, eventsFile: string, lane: string, issue: number): (failures: number, err: unknown) => void;
|
|
25
|
+
/** Emits `claim_lost` for a lane that no longer holds `err.issue`'s claim (#3146). The caller must not release,
|
|
26
|
+
* park or reap: another host owns the issue now, and the worktree is kept. */
|
|
27
|
+
export declare function onClaimLost(err: ClaimLostError, emit: typeof logEvent, eventsFile: string, lane: string, hostId: string, runId: string): void;
|
|
1
28
|
/** Runs `work` while periodically calling `heartbeat(issue)` so a long-running ship or
|
|
2
|
-
* merge wait keeps this claimant's lease fresh.
|
|
3
|
-
*
|
|
29
|
+
* merge wait keeps this claimant's lease fresh. With a `lease`, every tick result feeds it: a single
|
|
30
|
+
* failed refresh is logged but does not abort, while a lost claim aborts `work`'s signal and
|
|
31
|
+
* surfaces as ClaimLostError (#3146). Before returning or rethrowing, the
|
|
4
32
|
* timer is cleared and any in-flight tick is awaited, so no heartbeat write overlaps the
|
|
5
33
|
* caller's release of the claim (#3423). */
|
|
6
|
-
export declare function withHeartbeat<T>(issue: number, heartbeat: ((issue: number) => Promise<unknown>) | undefined, work: () => Promise<T
|
|
34
|
+
export declare function withHeartbeat<T>(issue: number, heartbeat: ((issue: number) => Promise<unknown>) | undefined, work: (signal: AbortSignal) => Promise<T>, lease?: ClaimLease): Promise<T>;
|
|
7
35
|
//# sourceMappingURL=lane-heartbeat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lane-heartbeat.d.ts","sourceRoot":"","sources":["../../src/cli/lane-heartbeat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lane-heartbeat.d.ts","sourceRoot":"","sources":["../../src/cli/lane-heartbeat.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAS9D;sEACsE;AACtE,qBAAa,cAAe,SAAQ,KAAK;IAErC,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ;IAFtC,YACW,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,UAAU,GAAG,QAAQ,EAIrC;CACF;AAED,6GAA6G;AAC7G,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,CAAC;IAC1C,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;CACjC;AAED;+FAC+F;AAC/F,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;CAAE,GACpG,UAAU,CA4BZ;AAED,6HAA6H;AAC7H,wBAAgB,eAAe,CAC7B,IAAI,EAAE,OAAO,QAAQ,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAS1C;AAED;+EAC+E;AAC/E,wBAAgB,WAAW,CACzB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,OAAO,QAAQ,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,IAAI,CASN;AAED;;;;;6CAK6C;AAC7C,wBAAsB,aAAa,CAAC,CAAC,EACnC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,EAC5D,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EACzC,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,CAAC,CAAC,CA0BZ"}
|
|
@@ -1,29 +1,97 @@
|
|
|
1
1
|
// src/cli/lane-heartbeat.ts — claim-lease heartbeat around an in-flight issue, split from run-lane.ts
|
|
2
|
+
import { shipRuntime } from './ship-runtime.js';
|
|
2
3
|
/** How often an in-flight issue's claim lease is refreshed (#1500). Well inside the
|
|
3
4
|
* 15-minute default lease (github-queue.ts's DEFAULT_CLAIM_LEASE_MS) so a normal poll
|
|
4
5
|
* cadence never lets the lease lapse mid-ship. */
|
|
5
6
|
const HEARTBEAT_INTERVAL_MS = 5 * 60 * 1000;
|
|
7
|
+
/** The issue's claim is no longer ours: the queue said it is gone ('released'), or renewals
|
|
8
|
+
* kept failing past the last confirmed expiry ('lapsed') (#3146). */
|
|
9
|
+
export class ClaimLostError extends Error {
|
|
10
|
+
issue;
|
|
11
|
+
kind;
|
|
12
|
+
constructor(issue, kind) {
|
|
13
|
+
super(`claim on #${issue} lost (${kind})`);
|
|
14
|
+
this.issue = issue;
|
|
15
|
+
this.kind = kind;
|
|
16
|
+
this.name = 'ClaimLostError';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/** Tracks one issue's lease. Only a strict `false` heartbeat result means lost; a thrown renewal is
|
|
20
|
+
* counted and logged, and the lease is lost once `now()` passes the last confirmed expiry. */
|
|
21
|
+
export function createClaimLease(issue, opts) {
|
|
22
|
+
const controller = new AbortController();
|
|
23
|
+
let confirmedExpiry = opts.now() + opts.leaseMs;
|
|
24
|
+
let failures = 0;
|
|
25
|
+
let lost;
|
|
26
|
+
const lose = (kind) => {
|
|
27
|
+
if (lost)
|
|
28
|
+
return;
|
|
29
|
+
lost = new ClaimLostError(issue, kind);
|
|
30
|
+
controller.abort(lost);
|
|
31
|
+
};
|
|
32
|
+
return {
|
|
33
|
+
signal: controller.signal,
|
|
34
|
+
get lost() {
|
|
35
|
+
return lost;
|
|
36
|
+
},
|
|
37
|
+
renewed(result) {
|
|
38
|
+
if (lost)
|
|
39
|
+
return;
|
|
40
|
+
if (result === false)
|
|
41
|
+
return lose('released');
|
|
42
|
+
confirmedExpiry = opts.now() + opts.leaseMs;
|
|
43
|
+
failures = 0;
|
|
44
|
+
},
|
|
45
|
+
renewFailed(err) {
|
|
46
|
+
if (lost)
|
|
47
|
+
return;
|
|
48
|
+
failures++;
|
|
49
|
+
opts.onRenewFailed(failures, err);
|
|
50
|
+
if (opts.now() >= confirmedExpiry)
|
|
51
|
+
lose('lapsed');
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/** The `onRenewFailed` for a lane's lease: one `lease_renew_failed` event per failed renewal, with the consecutive count. */
|
|
56
|
+
export function laneRenewLogger(emit, eventsFile, lane, issue) {
|
|
57
|
+
return (failures, err) => emit(eventsFile, 'lease_renew_failed', issue, `claim lease renewal for #${issue} failed (${failures} consecutive): ${shipRuntime().errorDetail(err)}`, { lane });
|
|
58
|
+
}
|
|
59
|
+
/** Emits `claim_lost` for a lane that no longer holds `err.issue`'s claim (#3146). The caller must not release,
|
|
60
|
+
* park or reap: another host owns the issue now, and the worktree is kept. */
|
|
61
|
+
export function onClaimLost(err, emit, eventsFile, lane, hostId, runId) {
|
|
62
|
+
const { issue, kind } = err;
|
|
63
|
+
emit(eventsFile, 'claim_lost', issue, `claim on #${issue} lost (${kind}) for host ${hostId}, run ${runId}; stopped before push/PR/merge; worktree kept, issue not released`, { lane, claimLost: { hostId, issue, runId, kind } });
|
|
64
|
+
}
|
|
6
65
|
/** Runs `work` while periodically calling `heartbeat(issue)` so a long-running ship or
|
|
7
|
-
* merge wait keeps this claimant's lease fresh.
|
|
8
|
-
*
|
|
66
|
+
* merge wait keeps this claimant's lease fresh. With a `lease`, every tick result feeds it: a single
|
|
67
|
+
* failed refresh is logged but does not abort, while a lost claim aborts `work`'s signal and
|
|
68
|
+
* surfaces as ClaimLostError (#3146). Before returning or rethrowing, the
|
|
9
69
|
* timer is cleared and any in-flight tick is awaited, so no heartbeat write overlaps the
|
|
10
70
|
* caller's release of the claim (#3423). */
|
|
11
|
-
export async function withHeartbeat(issue, heartbeat, work) {
|
|
71
|
+
export async function withHeartbeat(issue, heartbeat, work, lease) {
|
|
72
|
+
if (lease?.lost)
|
|
73
|
+
throw lease.lost;
|
|
74
|
+
const signal = lease?.signal ?? new AbortController().signal;
|
|
12
75
|
if (!heartbeat)
|
|
13
|
-
return work();
|
|
76
|
+
return work(signal);
|
|
14
77
|
let inFlight;
|
|
15
78
|
const timer = setInterval(() => {
|
|
16
79
|
if (inFlight)
|
|
17
80
|
return;
|
|
18
81
|
inFlight = Promise.resolve()
|
|
19
82
|
.then(() => heartbeat(issue))
|
|
20
|
-
.then(() =>
|
|
83
|
+
.then((result) => lease?.renewed(result), (err) => lease?.renewFailed(err))
|
|
21
84
|
.finally(() => {
|
|
22
85
|
inFlight = undefined;
|
|
23
86
|
});
|
|
24
87
|
}, HEARTBEAT_INTERVAL_MS);
|
|
25
88
|
try {
|
|
26
|
-
return await work();
|
|
89
|
+
return await work(signal);
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
if (lease?.lost)
|
|
93
|
+
throw lease.lost;
|
|
94
|
+
throw err;
|
|
27
95
|
}
|
|
28
96
|
finally {
|
|
29
97
|
clearInterval(timer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lane-heartbeat.js","sourceRoot":"","sources":["../../src/cli/lane-heartbeat.ts"],"names":[],"mappings":"AAAA,sGAAsG;
|
|
1
|
+
{"version":3,"file":"lane-heartbeat.js","sourceRoot":"","sources":["../../src/cli/lane-heartbeat.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/lane-pause.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import type { getFactoryPaths, LanePausedPayload, ProviderBreaker } from '@on-par/factory-core';
|
|
1
|
+
import type { getFactoryPaths, LanePausedPayload, ProviderBreaker, RunOutcome } from '@on-par/factory-core';
|
|
2
2
|
import type { logEvent } from '@on-par/factory-core/internal';
|
|
3
3
|
import type { LaneEnvironmentPauseError } from './lane-environment-pause-error.js';
|
|
4
|
+
type AllProvidersDownPayload = NonNullable<Extract<RunOutcome, {
|
|
5
|
+
reason: 'provider-cap';
|
|
6
|
+
}>['allProvidersDown']>;
|
|
4
7
|
type LanePauseContext = {
|
|
5
8
|
lane: string;
|
|
6
9
|
paths: ReturnType<typeof getFactoryPaths>;
|
|
7
10
|
emitEvent: typeof logEvent;
|
|
11
|
+
now?: () => Date;
|
|
8
12
|
};
|
|
9
13
|
export declare function renderLanePausedComment(payload: LanePausedPayload): string;
|
|
10
14
|
/** Persists the base hold and emits the environment lane-paused event for a broken base (#1928). */
|
|
@@ -13,6 +17,7 @@ export declare function pauseLaneForBrokenBase(ctx: LanePauseContext, issue: num
|
|
|
13
17
|
export declare function pauseLaneForProviderCap(ctx: LanePauseContext, issue: number, cap: {
|
|
14
18
|
providers: string[];
|
|
15
19
|
resetAt: string;
|
|
20
|
+
allProvidersDown?: AllProvidersDownPayload;
|
|
16
21
|
}): void;
|
|
17
22
|
/** Waits (STOP-aware, in slices) until `until` epoch ms; true when the STOP file ended the wait (#3226). */
|
|
18
23
|
export declare function waitForProviderReset(ctx: LanePauseContext, until: number | undefined, now: () => Date, sleep: (ms: number) => Promise<void>, pathExists: (path: string) => boolean): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lane-pause.d.ts","sourceRoot":"","sources":["../../src/cli/lane-pause.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lane-pause.d.ts","sourceRoot":"","sources":["../../src/cli/lane-pause.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/lane-pause.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
// packages/cli/src/cli/lane-pause.ts — the lane-paused event, base hold, and comment, moved out of run-lane.ts
|
|
2
|
+
import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
2
4
|
import { BASE_HOLD_CI_RECHECK_MS, writeBaseHold } from './base-hold.js';
|
|
3
5
|
export function renderLanePausedComment(payload) {
|
|
4
6
|
const checks = payload.failingChecks.length
|
|
@@ -38,9 +40,37 @@ export function pauseLaneForBrokenBase(ctx, issue, err, ghRepo, now) {
|
|
|
38
40
|
};
|
|
39
41
|
emitEvent(paths.events, 'lane-paused', lane, `lane '${lane}' paused: #${issue} failed only on checkers that also fail on base ${err.baseSha.slice(0, 8)} (${err.failingChecks.join(', ')}); #${issue} released to queued`, { lane, lanePaused: payload });
|
|
40
42
|
}
|
|
43
|
+
/** Latch for the all_providers_down alert (#3340): false only when the same reset is already announced and still ahead.
|
|
44
|
+
* Any read or parse error fails open (emit); the write is best-effort. */
|
|
45
|
+
function shouldAlertAllProvidersDown(file, nextAvailableAt, nowMs) {
|
|
46
|
+
try {
|
|
47
|
+
const stored = JSON.parse(readFileSync(file, 'utf8'));
|
|
48
|
+
const prior = typeof stored === 'object' && stored !== null
|
|
49
|
+
? stored.nextAvailableAt
|
|
50
|
+
: undefined;
|
|
51
|
+
if (prior === nextAvailableAt && Date.parse(nextAvailableAt) > nowMs)
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
catch { }
|
|
55
|
+
try {
|
|
56
|
+
mkdirSync(dirname(file), { recursive: true });
|
|
57
|
+
writeFileSync(file, JSON.stringify({ nextAvailableAt, at: new Date(nowMs).toISOString() }));
|
|
58
|
+
}
|
|
59
|
+
catch { }
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
41
62
|
/** Emits the provider-cap lane-paused event: the issue went back to queued and claiming resumes at `resetAt` (#3226). */
|
|
42
63
|
export function pauseLaneForProviderCap(ctx, issue, cap) {
|
|
43
64
|
const { lane, paths, emitEvent } = ctx;
|
|
65
|
+
const down = cap.allProvidersDown;
|
|
66
|
+
const nowMs = (ctx.now ?? (() => new Date()))().getTime();
|
|
67
|
+
if (down?.nextAvailableAt &&
|
|
68
|
+
shouldAlertAllProvidersDown(join(paths.state, 'all-providers-down.json'), down.nextAvailableAt, nowMs)) {
|
|
69
|
+
const list = down.providers
|
|
70
|
+
.map((p) => `${p.provider} (${p.reason}${p.until ? `, until ${p.until}` : ''})`)
|
|
71
|
+
.join(', ');
|
|
72
|
+
emitEvent(paths.events, 'all_providers_down', issue, `every ${down.stage.toUpperCase()} provider is down (${down.detail}): ${list} — no model call; #${issue} released to queued until ${down.nextAvailableAt}`, { lane, allProvidersDown: down });
|
|
73
|
+
}
|
|
44
74
|
const payload = {
|
|
45
75
|
lane,
|
|
46
76
|
signature: '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lane-pause.js","sourceRoot":"","sources":["../../src/cli/lane-pause.ts"],"names":[],"mappings":"AAAA,+GAA+G;
|
|
1
|
+
{"version":3,"file":"lane-pause.js","sourceRoot":"","sources":["../../src/cli/lane-pause.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import type { EffectiveModelPins, ModelRouter, RepoFactoryConfig } from '@on-par/factory-core';
|
|
1
|
+
import type { EffectiveModelPins, ModelRouter, ModelsConfig, RepoFactoryConfig } from '@on-par/factory-core';
|
|
2
|
+
import { type ProviderOrder, type SubscriptionLoginDeps } from '@on-par/factory-core/internal';
|
|
2
3
|
/** One `model-override` message per pinned phase, naming the file or env var it came from (#2497). */
|
|
3
4
|
export declare function modelOverrideMessages(pins: EffectiveModelPins, repo: RepoFactoryConfig | null, repoConfigLabel: string): string[];
|
|
4
5
|
/** Turn on the metered failover guard and log one `metered_primary_route` warning per metered plan/build pin (#3234). */
|
|
5
6
|
export declare function applyMeteredGuard(router: ModelRouter, pins: EffectiveModelPins, log: (type: 'warn', msg: string) => void): void;
|
|
7
|
+
/** The run's provider order (#3338): only when the repo file sets `models.providerOrder`, with refused providers
|
|
8
|
+
* filtered out (#3335); undefined leaves every phase on today's routing. */
|
|
9
|
+
export declare function resolveProviderOrder(repo: RepoFactoryConfig | null, models: ModelsConfig, log: SubscriptionLoginDeps['log']): ProviderOrder | undefined;
|
|
6
10
|
//# sourceMappingURL=model-override-messages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-override-messages.d.ts","sourceRoot":"","sources":["../../src/cli/model-override-messages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"model-override-messages.d.ts","sourceRoot":"","sources":["../../src/cli/model-override-messages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC3B,MAAM,+BAA+B,CAAC;AAEvC,sGAAsG;AACtG,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,iBAAiB,GAAG,IAAI,EAC9B,eAAe,EAAE,MAAM,GACtB,MAAM,EAAE,CAWV;AAED,yHAAyH;AACzH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,GACvC,IAAI,CAQN;AAED;6EAC6E;AAC7E,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,GAAG,IAAI,EAC9B,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAChC,aAAa,GAAG,SAAS,CAI3B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// packages/cli/src/cli/model-override-messages.ts — the `model-override` lines shipIssue logs, split from ship.ts
|
|
2
|
-
import { meteredPrimaryRouteWarnings } from '@on-par/factory-core/internal';
|
|
2
|
+
import { filterRefusedProviders, meteredPrimaryRouteWarnings, } from '@on-par/factory-core/internal';
|
|
3
3
|
/** One `model-override` message per pinned phase, naming the file or env var it came from (#2497). */
|
|
4
4
|
export function modelOverrideMessages(pins, repo, repoConfigLabel) {
|
|
5
5
|
const label = (source, envVar) => (source === 'repo' ? repoConfigLabel : envVar);
|
|
@@ -24,4 +24,12 @@ export function applyMeteredGuard(router, pins, log) {
|
|
|
24
24
|
for (const msg of meteredPrimaryRouteWarnings(pins, lookup))
|
|
25
25
|
log('warn', msg);
|
|
26
26
|
}
|
|
27
|
+
/** The run's provider order (#3338): only when the repo file sets `models.providerOrder`, with refused providers
|
|
28
|
+
* filtered out (#3335); undefined leaves every phase on today's routing. */
|
|
29
|
+
export function resolveProviderOrder(repo, models, log) {
|
|
30
|
+
// applyRepoConfig merges the repo's override over the derived order, so it is set whenever the repo file sets the key.
|
|
31
|
+
if (!repo?.models?.providerOrder || !models.providerOrder)
|
|
32
|
+
return undefined;
|
|
33
|
+
return filterRefusedProviders(models.providerOrder, models.models, { log }).order;
|
|
34
|
+
}
|
|
27
35
|
//# sourceMappingURL=model-override-messages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-override-messages.js","sourceRoot":"","sources":["../../src/cli/model-override-messages.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAGlH,OAAO,
|
|
1
|
+
{"version":3,"file":"model-override-messages.js","sourceRoot":"","sources":["../../src/cli/model-override-messages.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAGlH,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAG5B,MAAM,+BAA+B,CAAC;AAEvC,sGAAsG;AACtG,MAAM,UAAU,qBAAqB,CACnC,IAAwB,EACxB,IAA8B,EAC9B,eAAuB;IAEvB,MAAM,KAAK,GAAG,CAAC,MAAkC,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrH,MAAM,QAAQ,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;IACpC,OAAO;QACL,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,0BAA0B,QAAQ,CAAC,MAAM,KAAK,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/G,GAAG,CAAC,IAAI,CAAC,KAAK;YACZ,CAAC,CAAC,CAAC,yBAAyB,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC;YAC/F,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,2BAA2B,QAAQ,CAAC,OAAO,KAAK,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACnG,CAAC;AACJ,CAAC;AAED,yHAAyH;AACzH,MAAM,UAAU,iBAAiB,CAC/B,MAAmB,EACnB,IAAwB,EACxB,GAAwC;IAExC,MAAM,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;IACpC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC;QAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAChF,CAAC;AAED;6EAC6E;AAC7E,MAAM,UAAU,oBAAoB,CAClC,IAA8B,EAC9B,MAAoB,EACpB,GAAiC;IAEjC,uHAAuH;IACvH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,IAAI,CAAC,MAAM,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IAC5E,OAAO,sBAAsB,CAAC,MAAM,CAAC,aAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC;AACrG,CAAC"}
|
package/dist/cli/notify.d.ts
CHANGED
|
@@ -10,6 +10,12 @@ export type NotifySummary = {
|
|
|
10
10
|
lane: string;
|
|
11
11
|
message: string;
|
|
12
12
|
park: ParkPayload;
|
|
13
|
+
} | {
|
|
14
|
+
kind: 'disk_low';
|
|
15
|
+
ts: string;
|
|
16
|
+
host: string;
|
|
17
|
+
lane: string;
|
|
18
|
+
message: string;
|
|
13
19
|
} | {
|
|
14
20
|
kind: 'drain';
|
|
15
21
|
ts: string;
|
|
@@ -34,4 +40,10 @@ export declare function resolveNotifyCommand(flag: string | undefined, env: Node
|
|
|
34
40
|
export declare function createNotifier(cmd: string | undefined, deps?: NotifierDeps): Notifier | undefined;
|
|
35
41
|
/** Wraps an event emitter so each lane `parked` event with a park payload also fires a park summary. */
|
|
36
42
|
export declare function withParkNotify(emit: typeof logEvent, notifier: Notifier): typeof logEvent;
|
|
43
|
+
/** Wraps an event emitter so a `disk_low` event also fires one alert per host per hour (#2284). */
|
|
44
|
+
export declare function withDiskLowNotify(emit: typeof logEvent, notifier: Notifier, opts?: {
|
|
45
|
+
alertFile?: string;
|
|
46
|
+
now?: () => Date;
|
|
47
|
+
host?: string;
|
|
48
|
+
}): typeof logEvent;
|
|
37
49
|
//# sourceMappingURL=notify.d.ts.map
|
package/dist/cli/notify.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/cli/notify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/cli/notify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D,eAAO,MAAM,UAAU,uBAAuB,CAAC;AAC/C,eAAO,MAAM,aAAa,oDAAoD,CAAC;AAG/E,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GACtG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,WAAW,QAAQ;IACvB,iFAAiF;IACjF,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,2FAA2F;IAC3F,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS,CAKzG;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,GAAE,YAAiB,GAAG,QAAQ,GAAG,SAAS,CAuDrG;AAED,wGAAwG;AACxG,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,QAAQ,CAoBzF;AAED,mGAAmG;AACnG,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,QAAQ,EACrB,QAAQ,EAAE,QAAQ,EAClB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACjE,OAAO,QAAQ,CAuBjB"}
|
package/dist/cli/notify.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// packages/cli/src/cli/notify.ts — opt-in --notify command fired on park and drain (#3512)
|
|
2
2
|
import { spawn } from 'node:child_process';
|
|
3
|
+
import { hostname } from 'node:os';
|
|
4
|
+
import { claimDiskAlert, hostDiskAlertFile } from '@on-par/factory-core/internal';
|
|
3
5
|
export const NOTIFY_ENV = 'FACTORY_NOTIFY_CMD';
|
|
4
6
|
export const DRAIN_MESSAGE = 'queue drained: all lanes finished, nothing left';
|
|
5
7
|
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
@@ -92,4 +94,30 @@ export function withParkNotify(emit, notifier) {
|
|
|
92
94
|
return result;
|
|
93
95
|
};
|
|
94
96
|
}
|
|
97
|
+
/** Wraps an event emitter so a `disk_low` event also fires one alert per host per hour (#2284). */
|
|
98
|
+
export function withDiskLowNotify(emit, notifier, opts = {}) {
|
|
99
|
+
const { alertFile = hostDiskAlertFile(), now = () => new Date(), host = hostname() } = opts;
|
|
100
|
+
return (...args) => {
|
|
101
|
+
const result = emit(...args);
|
|
102
|
+
const [, type, issue, msg, extra] = args;
|
|
103
|
+
if (type === 'disk_low') {
|
|
104
|
+
try {
|
|
105
|
+
const at = now();
|
|
106
|
+
if (claimDiskAlert(alertFile, at)) {
|
|
107
|
+
notifier.notify({
|
|
108
|
+
kind: 'disk_low',
|
|
109
|
+
ts: at.toISOString(),
|
|
110
|
+
host,
|
|
111
|
+
lane: extra?.lane ?? String(issue),
|
|
112
|
+
message: msg,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
// notify must never break the event log
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return result;
|
|
121
|
+
};
|
|
122
|
+
}
|
|
95
123
|
//# sourceMappingURL=notify.js.map
|