@urateam/core 0.1.22 → 0.1.24
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/__tests__/agent-branch-sweep.test.d.ts +2 -0
- package/dist/__tests__/agent-branch-sweep.test.d.ts.map +1 -0
- package/dist/__tests__/agent-branch-sweep.test.js +140 -0
- package/dist/__tests__/agent-branch-sweep.test.js.map +1 -0
- package/dist/__tests__/audit-immutability.test.js +1 -0
- package/dist/__tests__/audit-immutability.test.js.map +1 -1
- package/dist/__tests__/notifier.test.js +19 -2
- package/dist/__tests__/notifier.test.js.map +1 -1
- package/dist/__tests__/openrouter-fanout.test.js +27 -0
- package/dist/__tests__/openrouter-fanout.test.js.map +1 -1
- package/dist/__tests__/pipeline/pr-cost-summary.test.d.ts +2 -0
- package/dist/__tests__/pipeline/pr-cost-summary.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/pr-cost-summary.test.js +68 -0
- package/dist/__tests__/pipeline/pr-cost-summary.test.js.map +1 -0
- package/dist/__tests__/recover-stuck.test.js +112 -0
- package/dist/__tests__/recover-stuck.test.js.map +1 -1
- package/dist/__tests__/review-provider-registry.test.js +78 -1
- package/dist/__tests__/review-provider-registry.test.js.map +1 -1
- package/dist/__tests__/security.test.js +6 -2
- package/dist/__tests__/security.test.js.map +1 -1
- package/dist/audit/events.d.ts +5 -0
- package/dist/audit/events.d.ts.map +1 -1
- package/dist/audit/events.js +12 -0
- package/dist/audit/events.js.map +1 -1
- package/dist/entrypoint.js +7 -13
- package/dist/entrypoint.js.map +1 -1
- package/dist/executor/review/openrouter-fanout.d.ts +7 -0
- package/dist/executor/review/openrouter-fanout.d.ts.map +1 -1
- package/dist/executor/review/openrouter-fanout.js +1 -0
- package/dist/executor/review/openrouter-fanout.js.map +1 -1
- package/dist/executor/review/review-provider.d.ts.map +1 -1
- package/dist/executor/review/review-provider.js +28 -0
- package/dist/executor/review/review-provider.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/notifier/linear.d.ts.map +1 -1
- package/dist/notifier/linear.js +12 -0
- package/dist/notifier/linear.js.map +1 -1
- package/dist/pipeline/cost-summary.d.ts +29 -0
- package/dist/pipeline/cost-summary.d.ts.map +1 -0
- package/dist/pipeline/cost-summary.js +66 -0
- package/dist/pipeline/cost-summary.js.map +1 -0
- package/dist/pipeline/runner.d.ts.map +1 -1
- package/dist/pipeline/runner.js +72 -5
- package/dist/pipeline/runner.js.map +1 -1
- package/dist/pm/actions/recover-stuck.d.ts +6 -1
- package/dist/pm/actions/recover-stuck.d.ts.map +1 -1
- package/dist/pm/actions/recover-stuck.js +31 -12
- package/dist/pm/actions/recover-stuck.js.map +1 -1
- package/dist/pm/scheduler.d.ts.map +1 -1
- package/dist/pm/scheduler.js +3 -1
- package/dist/pm/scheduler.js.map +1 -1
- package/dist/repo/agent-branch-sweep-runner.d.ts +21 -0
- package/dist/repo/agent-branch-sweep-runner.d.ts.map +1 -0
- package/dist/repo/agent-branch-sweep-runner.js +79 -0
- package/dist/repo/agent-branch-sweep-runner.js.map +1 -0
- package/dist/repo/agent-branch-sweep.d.ts +54 -0
- package/dist/repo/agent-branch-sweep.d.ts.map +1 -0
- package/dist/repo/agent-branch-sweep.js +82 -0
- package/dist/repo/agent-branch-sweep.js.map +1 -0
- package/dist/repo/github-from-env.d.ts +7 -0
- package/dist/repo/github-from-env.d.ts.map +1 -0
- package/dist/repo/github-from-env.js +31 -0
- package/dist/repo/github-from-env.js.map +1 -0
- package/dist/repo/github.d.ts +7 -0
- package/dist/repo/github.d.ts.map +1 -1
- package/dist/repo/github.js +15 -0
- package/dist/repo/github.js.map +1 -1
- package/dist/security/sandbox.d.ts.map +1 -1
- package/dist/security/sandbox.js +7 -1
- package/dist/security/sandbox.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -57,14 +57,17 @@ export async function recoverStuckInProgressIssues(input) {
|
|
|
57
57
|
// 4. Apply rate limit — only process up to maxPerTick per tick
|
|
58
58
|
const toProcess = stuckIssues.slice(0, maxPerTick);
|
|
59
59
|
const stuckIdentifiers = toProcess.map((i) => i.identifier);
|
|
60
|
-
// 5. Batch-fetch most recent pipeline run status for each stuck issue
|
|
60
|
+
// 5. Batch-fetch most recent pipeline run status + prUrl for each stuck issue.
|
|
61
|
+
// BEC-165: prUrl is needed for the open-PR override below.
|
|
61
62
|
const lastRunStatusMap = new Map();
|
|
63
|
+
const lastRunPrUrlMap = new Map();
|
|
62
64
|
if (stuckIdentifiers.length > 0) {
|
|
63
65
|
const runs = await db
|
|
64
66
|
.select({
|
|
65
67
|
issueId: pipelineRuns.issueId,
|
|
66
68
|
status: pipelineRuns.status,
|
|
67
69
|
startedAt: pipelineRuns.startedAt,
|
|
70
|
+
prUrl: pipelineRuns.prUrl,
|
|
68
71
|
})
|
|
69
72
|
.from(pipelineRuns)
|
|
70
73
|
.where(inArray(pipelineRuns.issueId, stuckIdentifiers));
|
|
@@ -77,6 +80,7 @@ export async function recoverStuckInProgressIssues(input) {
|
|
|
77
80
|
for (const run of sorted) {
|
|
78
81
|
if (!lastRunStatusMap.has(run.issueId)) {
|
|
79
82
|
lastRunStatusMap.set(run.issueId, run.status);
|
|
83
|
+
lastRunPrUrlMap.set(run.issueId, run.prUrl ?? null);
|
|
80
84
|
}
|
|
81
85
|
}
|
|
82
86
|
}
|
|
@@ -87,26 +91,40 @@ export async function recoverStuckInProgressIssues(input) {
|
|
|
87
91
|
// Linear SDK lazy relations — must await team and state
|
|
88
92
|
const team = await issue.team;
|
|
89
93
|
const teamId = team?.id;
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
94
|
+
const lastRunStatus = lastRunStatusMap.get(issue.identifier) ?? null;
|
|
95
|
+
const lastRunPrUrl = lastRunPrUrlMap.get(issue.identifier) ?? null;
|
|
96
|
+
// BEC-165: open-PR override — if the most recent run completed AND
|
|
97
|
+
// produced a PR, the runner forgot to move Linear → "In Review" (the
|
|
98
|
+
// bug fixed in linear.ts onPipelineComplete). Recovering to "Backlog"
|
|
99
|
+
// here would re-promote the issue and burn another full pipeline cycle
|
|
100
|
+
// on already-merged-or-pending work. Redirect to "In Review" instead.
|
|
101
|
+
// Falls back to caller's targetState if the workspace lacks an "In
|
|
102
|
+
// Review" state (custom Linear column setups).
|
|
103
|
+
const inReviewOverride = lastRunStatus === "completed" && lastRunPrUrl !== null && teamId
|
|
104
|
+
? stateMap.get(`${teamId}:In Review`)
|
|
105
|
+
: undefined;
|
|
106
|
+
const effectiveTargetState = inReviewOverride !== undefined ? "In Review" : targetState;
|
|
107
|
+
const effectiveTargetStateId = inReviewOverride
|
|
108
|
+
?? (teamId ? stateMap.get(`${teamId}:${targetState}`) : undefined);
|
|
109
|
+
if (!effectiveTargetStateId) {
|
|
110
|
+
log.warn({ identifier: issue.identifier, teamId, targetState: effectiveTargetState }, "no target state ID found for team — skipping stuck issue");
|
|
93
111
|
continue;
|
|
94
112
|
}
|
|
95
113
|
const state = await issue.state;
|
|
96
114
|
const previousStateName = state?.name ?? "In Progress";
|
|
97
|
-
const lastRunStatus = lastRunStatusMap.get(issue.identifier) ?? null;
|
|
98
115
|
try {
|
|
99
|
-
|
|
100
|
-
await linearClient.updateIssue(issue.id, { stateId: targetStateId });
|
|
101
|
-
// Post a comment on the Linear issue explaining the auto-recovery
|
|
116
|
+
await linearClient.updateIssue(issue.id, { stateId: effectiveTargetStateId });
|
|
102
117
|
const runNote = lastRunStatus
|
|
103
|
-
? `Most recent pipeline run status: \`${lastRunStatus}
|
|
118
|
+
? `Most recent pipeline run status: \`${lastRunStatus}\`${lastRunPrUrl ? ` (PR: ${lastRunPrUrl})` : ""}.`
|
|
104
119
|
: "No pipeline run record found in the database.";
|
|
120
|
+
const overrideNote = inReviewOverride
|
|
121
|
+
? "\n\n*BEC-165 override: completed run produced a PR — moving to In Review instead of re-promoting.*"
|
|
122
|
+
: "";
|
|
105
123
|
await linearClient.createComment({
|
|
106
124
|
issueId: issue.id,
|
|
107
125
|
body: `🤖 **PM Agent — Auto-recovered stuck issue**\n\n` +
|
|
108
126
|
`This issue was detected in **In Progress** state with no active pipeline run. ` +
|
|
109
|
-
`It has been automatically moved to **${
|
|
127
|
+
`It has been automatically moved to **${effectiveTargetState}** for re-evaluation.\n\n${runNote}${overrideNote}`,
|
|
110
128
|
});
|
|
111
129
|
results.push({
|
|
112
130
|
issueId: issue.id,
|
|
@@ -114,13 +132,14 @@ export async function recoverStuckInProgressIssues(input) {
|
|
|
114
132
|
title: issue.title,
|
|
115
133
|
previousState: previousStateName,
|
|
116
134
|
lastRunStatus,
|
|
117
|
-
targetState,
|
|
135
|
+
targetState: effectiveTargetState,
|
|
118
136
|
});
|
|
119
137
|
log.info({
|
|
120
138
|
identifier: issue.identifier,
|
|
121
139
|
previousState: previousStateName,
|
|
122
140
|
lastRunStatus,
|
|
123
|
-
targetState,
|
|
141
|
+
targetState: effectiveTargetState,
|
|
142
|
+
inReviewOverride: inReviewOverride !== undefined,
|
|
124
143
|
}, "auto-recovered stuck In Progress issue");
|
|
125
144
|
}
|
|
126
145
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recover-stuck.js","sourceRoot":"","sources":["../../../src/pm/actions/recover-stuck.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"recover-stuck.js","sourceRoot":"","sources":["../../../src/pm/actions/recover-stuck.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/pm/scheduler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/pm/scheduler.ts"],"names":[],"mappings":"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"}
|
package/dist/pm/scheduler.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { homedir } from "node:os";
|
|
1
3
|
import { evaluateBudget } from "./budget.js";
|
|
2
4
|
import { maybeFireAlerts } from "./budget-alerts.js";
|
|
3
5
|
import { postSlackMessage } from "./slack-helpers.js";
|
|
@@ -310,7 +312,7 @@ export function createPmScheduler(deps) {
|
|
|
310
312
|
}
|
|
311
313
|
else {
|
|
312
314
|
const activeRuns = await getActiveRunsFromDb(db);
|
|
313
|
-
const baseDir = deps.repoCloneDir ?? "
|
|
315
|
+
const baseDir = deps.repoCloneDir ?? join(homedir(), "work", "repos");
|
|
314
316
|
const defaultBranch = deps.defaultBranch ?? "main";
|
|
315
317
|
// Find the first cloned repo directory (runner clones to <repoCloneDir>/<slug>/)
|
|
316
318
|
let repoDir = baseDir;
|
package/dist/pm/scheduler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/pm/scheduler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/pm/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAyB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAoB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAqB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAA0B,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAoB,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAA2D,MAAM,gCAAgC,CAAC;AAC3H,OAAO,EAAE,oBAAoB,EAAsB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,4BAA4B,EAAyB,MAAM,4BAA4B,CAAC;AACjG,OAAO,EAAE,eAAe,EAA6C,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAkB,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;AAsC7D,MAAM,UAAU,iBAAiB,CAAC,IAAqB;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAyC,CAAC;IAE/D,IAAI,YAAY,GAAQ,IAAI,CAAC;IAC7B,IAAI,aAAa,GAA2B,IAAI,CAAC;IACjD,MAAM,YAAY,GAAG,cAAc,EAAE,CAAC;IAEtC,KAAK,UAAU,eAAe;QAC5B,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YACrD,YAAY,GAAG,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,SAAS,gBAAgB;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG,IAAI,eAAe,CAAC;gBAClC,QAAQ,EAAE,IAAI,CAAC,aAAa;gBAC5B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;aACtC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK,UAAU,cAAc;QAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,EAAU,CAAC,OAAO,CAC3C,GAAG,CAAA,oEAAoE,CACxE,CAAC;YACF,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,+CAA+C,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,UAAU,WAAW;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO;QACjC,IAAI,CAAC;YACH,MAAO,IAAI,CAAC,EAAU,CAAC,OAAO,CAC5B,GAAG,CAAA,sDAAsD,CAC1D,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,IAAI;YACR,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,IAAI,GAAe;oBACvB,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,EAAE;oBACZ,iBAAiB,EAAE,CAAC;oBACpB,gBAAgB,EAAE,CAAC;oBACnB,qBAAqB,EAAE,EAAE;oBACzB,eAAe,EAAE,EAAE;oBACnB,MAAM,EAAE,EAAE;oBACV,WAAW,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE;iBACjG,CAAC;gBAEF,MAAM,EAAE,GAAG,IAAI,CAAC,EAAW,CAAC;gBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAE3B,IAAI,UAA4B,CAAC;gBACjC,IAAI,CAAC;oBACH,UAAU,GAAG,OAAO,EAAE,cAAc;wBAClC,CAAC,CAAC,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;wBAC9C,CAAC,CAAC,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC3C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,0BAA0B,CAAC,CAAC;oBAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAY,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;oBACtD,UAAU,GAAG;wBACX,MAAM,EAAE,EAAE;wBACV,SAAS,EAAE,IAAI;wBACf,cAAc,EAAE,KAAK;wBACrB,WAAW,EAAE,CAAC;qBACf,CAAC;gBACJ,CAAC;gBAED,8EAA8E;gBAC9E,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBAC7E,IAAI,CAAC,WAAW,GAAG;oBACjB,cAAc,EAAE,UAAU,CAAC,cAAc;oBACzC,MAAM,EAAE,UAAU,CAAC,WAAW;oBAC9B,WAAW,EAAE,UAAU,CAAC,WAAW;oBACnC,iBAAiB,EAAE,WAAW,EAAE,OAAO,IAAI,CAAC;oBAC5C,eAAe,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC;iBACxC,CAAC;gBACF,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;gBAEtC,uEAAuE;gBACvE,qEAAqE;gBACrE,iDAAiD;gBACjD,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;oBAC9B,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;wBAClC,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;4BAAE,SAAS;wBACvC,MAAM,QAAQ,GACZ,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;4BACvB,CAAC,CAAC,QAAQ;4BACV,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;gCACvB,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE;gCAC1B,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;wBAClC,KAAK,sBAAsB,CACzB,EAAE,EACF,kBAAkB,CAAC;4BACjB,KAAK,EAAE,QAAQ;4BACf,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;4BACvB,UAAU,EAAE,CAAC,CAAC,IAAI;4BAClB,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,WAAW,EAAE,CAAC,CAAC,OAAO;yBACvB,CAAC,CACH,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,4EAA4E;gBAC5E,sEAAsE;gBACtE,IAAI,UAAU,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;oBACrF,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;oBACvC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,wBAAwB,UAAU,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC;oBAClG,qEAAqE;oBACrE,mEAAmE;oBACnE,KAAK,sBAAsB,CACzB,EAAE,EACF,kBAAkB,CAAC;wBACjB,KAAK,EAAE,QAAQ;wBACf,SAAS,EAAE,QAAQ;wBACnB,UAAU,EAAE,UAAU,CAAC,WAAW;wBAClC,KAAK,EAAE,MAAM,CAAC,WAAW;wBACzB,WAAW,EAAE,GAAG;qBACjB,CAAC,CACH,CAAC;gBACJ,CAAC;gBAED,6EAA6E;gBAC7E,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,YAAY,IAAI,MAAM,CAAC,cAAc,CAAC;oBAC3E,MAAM,SAAS,GAAiC,OAAO,EAAE,gBAAgB;2BACpE,CAAC,IAAI,CAAC,aAAa;4BACpB,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gCACxB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gCAC/E,iEAAiE;gCACjE,+DAA+D;gCAC/D,gEAAgE;gCAChE,sBAAsB;gCACtB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oCACpB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gCACnE,CAAC;gCACD,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;oCAClC,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,CAAC,KAAK,IAAI,SAAS,GAAG,CAAC,CAAC;gCACvF,CAAC;4BACH,CAAC;4BACH,CAAC,CAAC,SAAS,CAAC,CAAC;oBACjB,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;oBACjE,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,8BAA8B,CAAC,CAAC;gBACrD,CAAC;gBAED,qEAAqE;gBACrE,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG,OAAO;wBAC5B,CAAC,CAAC,MAAM,OAAO,CAAC,oBAAoB,CAAC,EAAS,CAAC;wBAC/C,CAAC,CAAC,MAAM,oBAAoB,CAAC;4BACzB,EAAE,EAAE,IAAI,CAAC,EAAS;4BAClB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC,CAAC,EAAE;4BACjG,UAAU,EAAE,CAAC;yBACd,CAAC,CAAC;oBACP,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,EAAE,0BAA0B,CAAC,CAAC;oBAChF,CAAC;oBACD,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,EAAE,sCAAsC,CAAC,CAAC;oBAC5F,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,uBAAuB,CAAC,CAAC;oBAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAa,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,CAAC;gBAED,gFAAgF;gBAChF,IAAI,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;gBACzC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,IAAI,CAAC;wBACH,QAAQ,GAAG,MAAM,qBAAqB,CAAC,MAAM,eAAe,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;oBAClF,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,8BAA8B,CAAC,CAAC;wBACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA2B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;gBAED,iDAAiD;gBACjD,IAAI,MAAM,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;oBACxC,IAAI,CAAC;wBACH,MAAM,WAAW,GAAG,OAAO,EAAE,4BAA4B;4BACvD,CAAC,CAAC,MAAM,OAAO,CAAC,4BAA4B,CAAC,EAAS,CAAC;4BACvD,CAAC,CAAC,MAAM,4BAA4B,CAAC;gCACjC,YAAY,EAAE,MAAM,eAAe,EAAE;gCACrC,EAAE;gCACF,OAAO,EAAE,MAAM,CAAC,OAAO;gCACvB,WAAW,EAAE,MAAM,CAAC,qBAAqB,IAAI,SAAS;gCACtD,UAAU,EAAE,MAAM,CAAC,oBAAoB,IAAI,CAAC;gCAC5C,QAAQ;gCACR,qBAAqB,EAAE,CAAC,MAAM,EAAE,EAAE,CAChC,gBAAgB,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC;6BACrD,CAAC,CAAC;wBACP,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC3B,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;4BACjE,GAAG,CAAC,IAAI,CACN,EAAE,SAAS,EAAE,IAAI,CAAC,oBAAoB,EAAE,EACxC,yCAAyC,CAC1C,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,mCAAmC,CAAC,CAAC;wBACxD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAkB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;gBAED,8DAA8D;gBAC9D,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;gBAEhF,mDAAmD;gBACnD,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnE,IAAI,CAAC;wBACH,IAAI,cAAc,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;4BAC3D,MAAM,WAAW,GAAG,OAAO,EAAE,eAAe;gCAC1C,CAAC,CAAC,MAAM,OAAO,CAAC,eAAe,CAAC,EAAS,CAAC;gCAC1C,CAAC,CAAC,MAAM,eAAe,CAAC;oCACpB,YAAY,EAAE,MAAM,eAAe,EAAE;oCACrC,EAAE,EAAE,IAAI,CAAC,EAAW;oCACpB,OAAO,EAAE,MAAM,CAAC,OAAO;oCACvB,MAAM,EAAE,IAAI,CAAC,MAAa;oCAC1B,eAAe,EAAE,IAAI,CAAC,eAAe;oCACrC,WAAW,EAAE,IAAI,CAAC,WAAW;oCAC7B,UAAU,EAAE,cAAc;oCAC1B,gBAAgB,EAAE,UAAU;oCAC5B,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,GAAG,CAAC;wCACvD,CAAC,CAAC,MAAM,CAAC,sBAAsB;wCAC/B,CAAC,CAAC,SAAS;oCACb,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAC3B,wBAAwB,CAAC,IAAI,CAAC,EAAW,EAAE,OAAO,CAAC;iCACtD,CAAC,CAAC;4BACP,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;4BACrD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACvB,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;gCACrC,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,4CAA4C,CAAC,CAAC;4BAC3F,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,wBAAwB,CAAC,CAAC;wBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAe,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC;oBACH,IAAI,CAAC,OAAO,GAAG,OAAO;wBACpB,CAAC,CAAC,MAAM,OAAO,CAAC,eAAe,CAAC,EAAS,CAAC;wBAC1C,CAAC,CAAC,MAAM,eAAe,CAAC;4BACpB,YAAY,EAAE,MAAM,eAAe,EAAE;4BACrC,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,UAAU,EAAE,YAAY;4BACxB,QAAQ;4BACR,SAAS,EAAE,MAAM,CAAC,eAAe;4BACjC,QAAQ;4BACR,EAAE;yBACH,CAAC,CAAC;gBACT,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;oBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAY,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBACxD,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG,OAAO;wBAC5B,CAAC,CAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,EAAS,CAAC;wBAC3C,CAAC,CAAC,MAAM,gBAAgB,CAAC;4BACrB,YAAY,EAAE,MAAM,eAAe,EAAE;4BACrC,aAAa,EAAE,gBAAgB,EAAE;4BACjC,EAAE;4BACF,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,QAAQ;yBACT,CAAC,CAAC;oBACP,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,QAAQ,CAAC;oBACjD,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,YAAY,CAAC;gBACtD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,0BAA0B,CAAC,CAAC;oBAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAsB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClE,CAAC;gBAED,IAAI,UAAU,EAAE,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,GAAG,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;gBAC9E,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;oBACtD,IAAI,CAAC;wBACH,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,QAAQ,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,EAAS,CAAC,CAAC;wBAC9D,CAAC;6BAAM,CAAC;4BACN,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC;4BACjD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;4BACtE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC;4BAEnD,iFAAiF;4BACjF,IAAI,OAAO,GAAG,OAAO,CAAC;4BACtB,IAAI,CAAC;gCACH,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;gCAC1D,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;gCACrC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oCAC5B,MAAM,SAAS,GAAG,GAAG,OAAO,IAAI,KAAK,EAAE,CAAC;oCACxC,IAAI,CAAC;wCACH,IAAI,QAAQ,CAAC,GAAG,SAAS,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;4CAChD,OAAO,GAAG,SAAS,CAAC;4CACpB,MAAM;wCACR,CAAC;oCACH,CAAC;oCAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;gCAClC,CAAC;4BACH,CAAC;4BAAC,MAAM,CAAC;gCACP,GAAG,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;4BACxD,CAAC;4BAED,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC;gCACvC,UAAU;gCACV,aAAa;gCACb,OAAO;gCACP,OAAO,EAAE,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO;6BAClD,CAAC,CAAC;4BAEH,MAAM,aAAa,GAAG,iBAAiB,CAAC,oBAAoB,CAAC;gCAC3D,CAAC,CAAC,CAAC,WAAmB,EAAE,EAAE,CACtB,eAAe,CAAC,EAAE,oBAAoB,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;gCACxH,CAAC,CAAC,KAAK,EAAE,YAAoB,EAAE,EAAE,CAC7B,CAAC,EAAE,WAAW,EAAE,MAAe,EAAE,WAAW,EAAE,EAAc,EAAE,SAAS,EAAE,qCAAqC,EAAE,CAAC,CAAC;4BAExH,IAAI,CAAC,QAAQ,GAAG,MAAM,kBAAkB,CAAC;gCACvC,YAAY,EAAE,MAAM,eAAe,EAAE;gCACrC,OAAO,EAAE,MAAM,CAAC,OAAO;gCACvB,cAAc;gCACd,aAAa;gCACb,QAAQ;gCACR,EAAE;gCACF,oBAAoB,EAAE,MAAM,CAAC,8BAA8B;gCAC3D,eAAe,EAAE,IAAI,CAAC,eAAe;gCACrC,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,GAAG,CAAC;oCACvD,CAAC,CAAC,MAAM,CAAC,sBAAsB;oCAC/B,CAAC,CAAC,SAAS;gCACb,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAC3B,wBAAwB,CAAC,EAAE,EAAE,OAAO,CAAC;6BACxC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;wBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAa,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;oBACzD,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,UAAU,EAAE,IAAI,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBAC7D,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAC;oBAC7C,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;oBAEzC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;wBACzD,OAAO;4BACL,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAS,CAAC;4BAC5C,CAAC,CAAC,uBAAuB,CAAC;gCACtB,YAAY;gCACZ,OAAO,EAAE,MAAM,CAAC,OAAO;gCACvB,aAAa;gCACb,EAAE;gCACF,SAAS,EAAE,EAAE;gCACb,WAAW,EAAE,CAAC;6BACf,CAAC;wBACN,OAAO;4BACL,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAS,CAAC;4BAC1C,CAAC,CAAC,qBAAqB,CAAC;gCACpB,YAAY;gCACZ,OAAO,EAAE,MAAM,CAAC,OAAO;gCACvB,aAAa;gCACb,EAAE;gCACF,aAAa,EAAE,EAAE;6BAClB,CAAC;qBACP,CAAC,CAAC;oBAEH,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;wBACrC,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC,KAAK,CAAC;oBAC/C,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC;wBAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAkB,SAAS,CAAC,MAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC3E,CAAC;oBAED,IAAI,YAAY,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;wBACxC,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC;wBACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAY,YAAY,CAAC,MAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;oBACxE,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC;oBACH,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;oBACrD,CAAC;yBAAM,CAAC;wBACN,MAAM,gBAAgB,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;gBACtC,CAAC;gBAED,qEAAqE;gBACrE,oEAAoE;gBACpE,IAAI,CAAC;oBACH,IAAI,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;wBACnC,MAAM,IAAI,GAAI,MAAc,CAAC,QAAQ,EAAE,aAAa,IAAI,GAAG,CAAC;wBAC5D,MAAM,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,8BAA8B,CAAC,CAAC;gBACpD,CAAC;gBAED,2DAA2D;gBAC3D,gEAAgE;gBAChE,IAAI,CAAC;oBACH,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC7B,MAAM,oBAAoB,CAAC,EAAE,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,sBAAsB,CAAC,CAAC;gBAC5C,CAAC;gBAED,iDAAiD;gBACjD,iEAAiE;gBACjE,gEAAgE;gBAChE,kEAAkE;gBAClE,gEAAgE;gBAChE,8DAA8D;gBAC9D,2CAA2C;gBAC3C,IAAI,CAAC;oBACH,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;wBAClC,MAAM,oBAAoB,CAAC,EAAE,EAAE,MAAa,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;gBAC1C,CAAC;gBAEH,GAAG,CAAC,IAAI,CAAC;oBACP,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;oBAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM;oBACxD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;iBAC3B,EAAE,eAAe,CAAC,CAAC;YACpB,CAAC;oBAAS,CAAC;gBACT,MAAM,WAAW,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,EAAS;IAC1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,CAAC;YACN,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,MAAM,EAAE,YAAY,CAAC,MAAM;SAC5B,CAAC;aACD,IAAI,CAAC,YAAY,CAAC;aAClB,KAAK,CACJ,GAAG,CAAA,GAAG,YAAY,CAAC,MAAM,2BAA2B,CACrD,CAAC;QAEJ,OAAO,IAAI;aACR,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;aAC5B,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AnyDb } from "../db/client.js";
|
|
2
|
+
export interface RunAgentBranchSweepDeps {
|
|
3
|
+
db: AnyDb;
|
|
4
|
+
/** Distinct repo URLs to sweep. Duplicates are silently skipped. */
|
|
5
|
+
repoUrls: string[];
|
|
6
|
+
/** Used as the parent directory for the transient sweep clone. */
|
|
7
|
+
repoCloneDir: string;
|
|
8
|
+
/** Branches older than this with no open PR are deleted. */
|
|
9
|
+
ttlDays: number;
|
|
10
|
+
/** Test seam — defaults to a `gh pr list` shell-out. */
|
|
11
|
+
hasOpenPR?: (repoUrl: string, branch: string) => Promise<boolean>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* BEC-174: sweep stale `agent/*` branches across every configured repo.
|
|
15
|
+
* Emits one `pm.agent_branch_swept` audit event per deleted branch.
|
|
16
|
+
*
|
|
17
|
+
* Tolerates per-repo failures: a clone error or sweep error in one repo
|
|
18
|
+
* does not stop processing of subsequent repos.
|
|
19
|
+
*/
|
|
20
|
+
export declare function runAgentBranchSweep(deps: RunAgentBranchSweepDeps): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=agent-branch-sweep-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-branch-sweep-runner.d.ts","sourceRoot":"","sources":["../../src/repo/agent-branch-sweep-runner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AA0C7C,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,KAAK,CAAC;IACV,oEAAoE;IACpE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACnE;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA0Cf"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { execFile } from "node:child_process";
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { logAuditEventUnchecked } from "../audit/writer.js";
|
|
5
|
+
import { pmAgentBranchSweptEvent } from "../audit/events.js";
|
|
6
|
+
import { createLogger } from "../logger.js";
|
|
7
|
+
import { cloneRepo } from "./git.js";
|
|
8
|
+
import { sweepStaleAgentBranches } from "./agent-branch-sweep.js";
|
|
9
|
+
const log = createLogger({ component: "agent-branch-sweep-runner" });
|
|
10
|
+
/**
|
|
11
|
+
* Default open-PR check via `gh pr list`. Errors propagate to the caller, which
|
|
12
|
+
* treats them as "has PR" (fail-safe — never delete a branch we couldn't verify).
|
|
13
|
+
*/
|
|
14
|
+
async function defaultHasOpenPR(repoUrl, branch) {
|
|
15
|
+
return new Promise((resolve, reject) => {
|
|
16
|
+
execFile("gh", [
|
|
17
|
+
"pr", "list",
|
|
18
|
+
"--repo", repoUrl,
|
|
19
|
+
"--head", branch,
|
|
20
|
+
"--state", "open",
|
|
21
|
+
"--json", "number",
|
|
22
|
+
"--limit", "1",
|
|
23
|
+
], { timeout: 15_000 }, (err, stdout) => {
|
|
24
|
+
if (err) {
|
|
25
|
+
reject(err);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
try {
|
|
29
|
+
const arr = JSON.parse(stdout || "[]");
|
|
30
|
+
resolve(Array.isArray(arr) && arr.length > 0);
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
reject(e);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* BEC-174: sweep stale `agent/*` branches across every configured repo.
|
|
40
|
+
* Emits one `pm.agent_branch_swept` audit event per deleted branch.
|
|
41
|
+
*
|
|
42
|
+
* Tolerates per-repo failures: a clone error or sweep error in one repo
|
|
43
|
+
* does not stop processing of subsequent repos.
|
|
44
|
+
*/
|
|
45
|
+
export async function runAgentBranchSweep(deps) {
|
|
46
|
+
const seen = new Set();
|
|
47
|
+
for (const repoUrl of deps.repoUrls) {
|
|
48
|
+
if (seen.has(repoUrl))
|
|
49
|
+
continue;
|
|
50
|
+
seen.add(repoUrl);
|
|
51
|
+
try {
|
|
52
|
+
// Per-repo sweep dir: prevents cross-repo collisions when multiple
|
|
53
|
+
// repoUrls are configured (cloneRepo's "wrong remote" path errors out
|
|
54
|
+
// on a populated dir) and serialises overlapping ticks for the same repo.
|
|
55
|
+
const repoSlug = createHash("sha256").update(repoUrl).digest("hex").slice(0, 8);
|
|
56
|
+
const sweepDir = join(deps.repoCloneDir, ".agent-sweep", repoSlug);
|
|
57
|
+
await cloneRepo(repoUrl, sweepDir);
|
|
58
|
+
const result = await sweepStaleAgentBranches({
|
|
59
|
+
workCwd: sweepDir,
|
|
60
|
+
ttlDays: deps.ttlDays,
|
|
61
|
+
hasOpenPR: (branch) => (deps.hasOpenPR ?? defaultHasOpenPR)(repoUrl, branch),
|
|
62
|
+
});
|
|
63
|
+
for (const swept of result.deleted) {
|
|
64
|
+
void logAuditEventUnchecked(deps.db, pmAgentBranchSweptEvent({
|
|
65
|
+
branch: swept.name,
|
|
66
|
+
ageDays: swept.ageDays,
|
|
67
|
+
reason: `stale (no open PR for ${deps.ttlDays}+ days)`,
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
if (result.deleted.length > 0) {
|
|
71
|
+
log.info({ repoUrl, count: result.deleted.length }, `branch sweep removed ${result.deleted.length} stale agent branch(es)`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
log.warn({ repoUrl, err: err.message }, "branch sweep failed for repo");
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=agent-branch-sweep-runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-branch-sweep-runner.js","sourceRoot":"","sources":["../../src/repo/agent-branch-sweep-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export interface AgentBranchInfo {
|
|
2
|
+
/** Branch name without the "origin/" remote prefix, e.g. "agent/BEC-100-foo". */
|
|
3
|
+
name: string;
|
|
4
|
+
/** Tip-commit committer date. */
|
|
5
|
+
committedAt: Date;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Fetch then list every `agent/*` ref on origin, returning the tip commit date
|
|
9
|
+
* for age comparisons. Uses an existing local clone (workCwd) so we can run
|
|
10
|
+
* `git for-each-ref` against the fetched refs.
|
|
11
|
+
*/
|
|
12
|
+
export declare function listRemoteAgentBranches(workCwd: string): Promise<AgentBranchInfo[]>;
|
|
13
|
+
/** Delete a remote branch via `git push origin --delete`. */
|
|
14
|
+
export declare function deleteRemoteBranch(workCwd: string, branch: string): Promise<void>;
|
|
15
|
+
export interface SweepInput {
|
|
16
|
+
/** A local clone with `origin` set to the repo we're sweeping. */
|
|
17
|
+
workCwd: string;
|
|
18
|
+
/** Branch is "stale" if its tip commit is older than this. */
|
|
19
|
+
ttlDays: number;
|
|
20
|
+
/**
|
|
21
|
+
* Predicate that returns true if a branch has an open PR. Throws are treated
|
|
22
|
+
* as "has PR" (fail-safe — we never delete a branch we couldn't verify).
|
|
23
|
+
*/
|
|
24
|
+
hasOpenPR: (branch: string) => Promise<boolean>;
|
|
25
|
+
/** Defaults to `new Date()`. Overridable for tests. */
|
|
26
|
+
now?: Date;
|
|
27
|
+
/** Test seam — defaults to {@link listRemoteAgentBranches}. */
|
|
28
|
+
listBranches?: () => Promise<AgentBranchInfo[]>;
|
|
29
|
+
/** Test seam — defaults to {@link deleteRemoteBranch}. */
|
|
30
|
+
deleteBranch?: (branch: string) => Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
export interface SweptBranch {
|
|
33
|
+
name: string;
|
|
34
|
+
/** Floor of (now - tipCommitDate) in days. Used for audit reasoning. */
|
|
35
|
+
ageDays: number;
|
|
36
|
+
}
|
|
37
|
+
export interface SweepResult {
|
|
38
|
+
/** Branches successfully deleted on origin, with their tip-commit age at delete time. */
|
|
39
|
+
deleted: SweptBranch[];
|
|
40
|
+
/** Stale branches that still have an open PR (or whose PR-state lookup failed). */
|
|
41
|
+
skippedHasPR: string[];
|
|
42
|
+
/** Branches younger than the TTL (always preserved). */
|
|
43
|
+
skippedFresh: string[];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Sweep stale `agent/*` branches on origin. A branch is deleted iff:
|
|
47
|
+
* 1. its tip commit is older than `ttlDays`, AND
|
|
48
|
+
* 2. it has no open PR.
|
|
49
|
+
*
|
|
50
|
+
* Failures from the PR-lookup predicate are treated as "has PR" so a transient
|
|
51
|
+
* GitHub outage can never wipe out an active branch.
|
|
52
|
+
*/
|
|
53
|
+
export declare function sweepStaleAgentBranches(input: SweepInput): Promise<SweepResult>;
|
|
54
|
+
//# sourceMappingURL=agent-branch-sweep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-branch-sweep.d.ts","sourceRoot":"","sources":["../../src/repo/agent-branch-sweep.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,IAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,EAAE,CAAC,CA8B5B;AAED,6DAA6D;AAC7D,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,MAAM,WAAW,UAAU;IACzB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,uDAAuD;IACvD,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAChD,0DAA0D;IAC1D,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,yFAAyF;IACzF,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,mFAAmF;IACnF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,wDAAwD;IACxD,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,WAAW,CAAC,CA4CtB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { gitExec, gitExecSafe } from "./git.js";
|
|
2
|
+
import { createLogger } from "../logger.js";
|
|
3
|
+
const log = createLogger({ component: "agent-branch-sweep" });
|
|
4
|
+
/**
|
|
5
|
+
* Fetch then list every `agent/*` ref on origin, returning the tip commit date
|
|
6
|
+
* for age comparisons. Uses an existing local clone (workCwd) so we can run
|
|
7
|
+
* `git for-each-ref` against the fetched refs.
|
|
8
|
+
*/
|
|
9
|
+
export async function listRemoteAgentBranches(workCwd) {
|
|
10
|
+
await gitExec([
|
|
11
|
+
"fetch",
|
|
12
|
+
"--prune",
|
|
13
|
+
"origin",
|
|
14
|
+
"+refs/heads/agent/*:refs/remotes/origin/agent/*",
|
|
15
|
+
], workCwd);
|
|
16
|
+
const out = await gitExecSafe([
|
|
17
|
+
"for-each-ref",
|
|
18
|
+
"--format=%(refname:short) %(committerdate:unix)",
|
|
19
|
+
"refs/remotes/origin/agent/",
|
|
20
|
+
], workCwd);
|
|
21
|
+
return out
|
|
22
|
+
.split("\n")
|
|
23
|
+
.filter(Boolean)
|
|
24
|
+
.map((line) => {
|
|
25
|
+
const idx = line.lastIndexOf(" ");
|
|
26
|
+
const refname = line.slice(0, idx);
|
|
27
|
+
const ts = parseInt(line.slice(idx + 1), 10);
|
|
28
|
+
return {
|
|
29
|
+
name: refname.replace(/^origin\//, ""),
|
|
30
|
+
committedAt: new Date(ts * 1000),
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/** Delete a remote branch via `git push origin --delete`. */
|
|
35
|
+
export async function deleteRemoteBranch(workCwd, branch) {
|
|
36
|
+
await gitExec(["push", "origin", "--delete", branch], workCwd);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Sweep stale `agent/*` branches on origin. A branch is deleted iff:
|
|
40
|
+
* 1. its tip commit is older than `ttlDays`, AND
|
|
41
|
+
* 2. it has no open PR.
|
|
42
|
+
*
|
|
43
|
+
* Failures from the PR-lookup predicate are treated as "has PR" so a transient
|
|
44
|
+
* GitHub outage can never wipe out an active branch.
|
|
45
|
+
*/
|
|
46
|
+
export async function sweepStaleAgentBranches(input) {
|
|
47
|
+
const list = input.listBranches ?? (() => listRemoteAgentBranches(input.workCwd));
|
|
48
|
+
const del = input.deleteBranch ?? ((branch) => deleteRemoteBranch(input.workCwd, branch));
|
|
49
|
+
const now = input.now ?? new Date();
|
|
50
|
+
const cutoffMs = now.getTime() - input.ttlDays * 24 * 60 * 60 * 1000;
|
|
51
|
+
const branches = await list();
|
|
52
|
+
const result = { deleted: [], skippedHasPR: [], skippedFresh: [] };
|
|
53
|
+
for (const branch of branches) {
|
|
54
|
+
if (branch.committedAt.getTime() >= cutoffMs) {
|
|
55
|
+
result.skippedFresh.push(branch.name);
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
let openPr;
|
|
59
|
+
try {
|
|
60
|
+
openPr = await input.hasOpenPR(branch.name);
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
log.warn({ branch: branch.name, err: err.message }, "hasOpenPR check failed — preserving branch");
|
|
64
|
+
result.skippedHasPR.push(branch.name);
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (openPr) {
|
|
68
|
+
result.skippedHasPR.push(branch.name);
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
await del(branch.name);
|
|
73
|
+
const ageDays = Math.floor((now.getTime() - branch.committedAt.getTime()) / (24 * 60 * 60 * 1000));
|
|
74
|
+
result.deleted.push({ name: branch.name, ageDays });
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
log.warn({ branch: branch.name, err: err.message }, "branch delete failed — will retry next sweep");
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=agent-branch-sweep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-branch-sweep.js","sourceRoot":"","sources":["../../src/repo/agent-branch-sweep.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { GitHubConfig } from "./github.js";
|
|
2
|
+
/**
|
|
3
|
+
* Build an optional `GitHubConfig` from standard env vars.
|
|
4
|
+
* Returns `undefined` when `GITHUB_APP_ID` is not set.
|
|
5
|
+
*/
|
|
6
|
+
export declare function buildGitHubConfigFromEnv(): GitHubConfig | undefined;
|
|
7
|
+
//# sourceMappingURL=github-from-env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-from-env.d.ts","sourceRoot":"","sources":["../../src/repo/github-from-env.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,YAAY,GAAG,SAAS,CAWnE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build GitHub App config from standard env vars.
|
|
3
|
+
*
|
|
4
|
+
* Used by both `packages/core/src/entrypoint.ts` (the standalone core
|
|
5
|
+
* server) and `packages/cli/src/commands/start.ts` (the production CLI)
|
|
6
|
+
* so both paths honour the same env-var names — removing the duplication
|
|
7
|
+
* that existed before BEC-152 deep-review pass 1.
|
|
8
|
+
*
|
|
9
|
+
* Recognised env vars:
|
|
10
|
+
* GITHUB_APP_ID — GitHub App ID (required to enable)
|
|
11
|
+
* GITHUB_PRIVATE_KEY_PATH — path to the .pem private key file (required)
|
|
12
|
+
* GITHUB_INSTALLATION_ID — installation ID (optional)
|
|
13
|
+
*/
|
|
14
|
+
import { readFileSync } from "node:fs";
|
|
15
|
+
/**
|
|
16
|
+
* Build an optional `GitHubConfig` from standard env vars.
|
|
17
|
+
* Returns `undefined` when `GITHUB_APP_ID` is not set.
|
|
18
|
+
*/
|
|
19
|
+
export function buildGitHubConfigFromEnv() {
|
|
20
|
+
if (!process.env.GITHUB_APP_ID || !process.env.GITHUB_PRIVATE_KEY_PATH) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
appId: process.env.GITHUB_APP_ID,
|
|
25
|
+
privateKey: readFileSync(process.env.GITHUB_PRIVATE_KEY_PATH, "utf-8"),
|
|
26
|
+
installationId: process.env.GITHUB_INSTALLATION_ID
|
|
27
|
+
? parseInt(process.env.GITHUB_INSTALLATION_ID, 10)
|
|
28
|
+
: undefined,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=github-from-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-from-env.js","sourceRoot":"","sources":["../../src/repo/github-from-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC;;;GAGG;AACH,MAAM,UAAU,wBAAwB;IACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC;QACvE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;QAChC,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,OAAO,CAAC;QACtE,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB;YAChD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC;YAClD,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC"}
|
package/dist/repo/github.d.ts
CHANGED
|
@@ -29,6 +29,13 @@ export declare function createPR(octokit: Octokit, options: CreatePROptions): Pr
|
|
|
29
29
|
* Add a comment to a pull request.
|
|
30
30
|
*/
|
|
31
31
|
export declare function addPRComment(octokit: Octokit, owner: string, repo: string, prNumber: number, body: string): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Return true if the PR already has a comment whose body starts with `prefix`.
|
|
34
|
+
* Used to dedup idempotent bot comments (e.g. cost summaries) across pipeline
|
|
35
|
+
* re-runs on the same PR. Best-effort: rejects (rather than swallows) on API
|
|
36
|
+
* failure so callers can decide their own fail-safety policy.
|
|
37
|
+
*/
|
|
38
|
+
export declare function prHasCommentStartingWith(octokit: Octokit, owner: string, repo: string, prNumber: number, prefix: string): Promise<boolean>;
|
|
32
39
|
/**
|
|
33
40
|
* Count the number of unique approving reviews on a PR.
|
|
34
41
|
* Uses the latest state per reviewer — a reviewer who approved then requested changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/repo/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAMxC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,CAAC,CAyCjB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAiC9B;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,OAAO,GAAG,QAAQ,GAAG,QAAmB,GACpD,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B/C;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAsBlB"}
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/repo/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAMxC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,CAAC,CAyCjB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAiC9B;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,OAAO,GAAG,QAAQ,GAAG,QAAmB,GACpD,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B/C;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAsBlB"}
|
package/dist/repo/github.js
CHANGED
|
@@ -67,6 +67,21 @@ export async function addPRComment(octokit, owner, repo, prNumber, body) {
|
|
|
67
67
|
body,
|
|
68
68
|
});
|
|
69
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Return true if the PR already has a comment whose body starts with `prefix`.
|
|
72
|
+
* Used to dedup idempotent bot comments (e.g. cost summaries) across pipeline
|
|
73
|
+
* re-runs on the same PR. Best-effort: rejects (rather than swallows) on API
|
|
74
|
+
* failure so callers can decide their own fail-safety policy.
|
|
75
|
+
*/
|
|
76
|
+
export async function prHasCommentStartingWith(octokit, owner, repo, prNumber, prefix) {
|
|
77
|
+
const { data: comments } = await octokit.issues.listComments({
|
|
78
|
+
owner,
|
|
79
|
+
repo,
|
|
80
|
+
issue_number: prNumber,
|
|
81
|
+
per_page: 100,
|
|
82
|
+
});
|
|
83
|
+
return comments.some((c) => (c.body ?? "").startsWith(prefix));
|
|
84
|
+
}
|
|
70
85
|
/**
|
|
71
86
|
* Count the number of unique approving reviews on a PR.
|
|
72
87
|
* Uses the latest state per reviewer — a reviewer who approved then requested changes
|
package/dist/repo/github.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/repo/github.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/repo/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/security/sandbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/security/sandbox.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA4BjD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,MAAyB,GACjC,aAAa,CAOf"}
|