@reneturcios/greenlight 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/dist/automate.js +16 -0
- package/dist/automate.js.map +1 -1
- package/dist/autopilot-fixes.d.ts +50 -0
- package/dist/autopilot-fixes.js +216 -0
- package/dist/autopilot-fixes.js.map +1 -0
- package/dist/autopilot-git.d.ts +83 -0
- package/dist/autopilot-git.js +164 -0
- package/dist/autopilot-git.js.map +1 -0
- package/dist/autopilot-triage.d.ts +93 -0
- package/dist/autopilot-triage.js +222 -0
- package/dist/autopilot-triage.js.map +1 -0
- package/dist/autopilot.d.ts +207 -0
- package/dist/autopilot.js +903 -0
- package/dist/autopilot.js.map +1 -0
- package/dist/capabilities.d.ts +52 -0
- package/dist/capabilities.js +135 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/cli.js +123 -0
- package/dist/cli.js.map +1 -1
- package/dist/help.js +48 -0
- package/dist/help.js.map +1 -1
- package/dist/index.js +18 -1
- package/dist/index.js.map +1 -1
- package/dist/preflight.d.ts +39 -0
- package/dist/preflight.js +169 -0
- package/dist/preflight.js.map +1 -0
- package/dist/scout.d.ts +16 -0
- package/dist/scout.js +18 -0
- package/dist/scout.js.map +1 -1
- package/dist/shipcheck.d.ts +37 -0
- package/dist/shipcheck.js +228 -0
- package/dist/shipcheck.js.map +1 -0
- package/package.json +1 -1
- package/server.json +29 -2
package/README.md
CHANGED
|
@@ -276,6 +276,17 @@ The Agent Policy Index field work kept finding agent bans Greenlight itself miss
|
|
|
276
276
|
- **Scoped bans dual-class instead of collapsing.** A ban aimed at one kind of agent operation (TypeScript's "bulk, agent-driven contributions", ppt-master's "purely AI-generated PRs submitted without human review") now surfaces as both `agents_banned` for autonomous operation and `agents_disclosure` for the human-led path. An explicit prohibition (nuxt, ripgrep, zed) still stands on its own, and explicit welcome or waiver language (hyperframes welcomes AI help and waives disclosure) never reads as a ban.
|
|
277
277
|
- **Friction JSON states its units.** `friction --json` now carries `outsider_merge_share` (0 to 1 fraction) and `outsider_merge_share_pct` (0 to 100), plus `signals.externalPRMergeRate_pct` next to the existing fraction field. The human-readable output is unchanged.
|
|
278
278
|
|
|
279
|
+
### v0.11.0: Autopilot
|
|
280
|
+
|
|
281
|
+
Open PRs were dying between babysit sweeps: a bot review sitting unanswered, a CI failure on the PR's own code, a drifted branch, a missing DCO trailer. Autopilot closes that loop. `greenlight autopilot` (report-only by default, `--apply` to fix) collects reviews, comments, and check results per open PR, verifies bot findings against the code at head (REAL, FALSE_POSITIVE with quoted counter-evidence, or NEEDS_HUMAN), and triages CI failures as introduced vs pre-existing against the base branch. The mechanical items fix themselves: DCO gaps get message-only surgery with byte-identical trees, merge conflicts resolve only when provably mechanical (lockfiles regenerated, changelogs unioned, version or counter bumps), and formatting pushes only when the diff is whitespace-only. Everything else becomes a plan, never a speculative edit. Fixes land on your fork branch with Rene's sign-off, respect the capability ledger's blocked repos, and replies queue as drafts behind the comment block instead of posting. Also exposed as the read-only `autopilot_report` MCP tool.
|
|
282
|
+
### v0.10.1: never again hardening
|
|
283
|
+
|
|
284
|
+
Three failures on 2026-10-18, each paid for in full, each now structurally impossible to repeat:
|
|
285
|
+
|
|
286
|
+
- **`greenlight shipcheck` verifies every link of a release chain.** A v0.9.3 ship report once claimed a git commit that did not exist: the tag pointed at a nonexistent object while npm and the registry were genuinely fine, and every verification step checked the package and the listing but never the git links. `shipcheck <owner/repo> --version x.y.z` checks all of them: the tag ref resolves, the commit object exists, package.json at the tag carries the version, the GitHub release exists, npm shows the version, and the MCP Registry shows it active. It exits non-zero naming the broken link, so a CI gate can run it after every publish. Reads only.
|
|
287
|
+
- **The capability ledger remembers what the account can do.** actualbudget/actual blocked PR creation (422 "user is blocked") and modelcontextprotocol/typescript-sdk 404'd it despite a valid fork; both were discovered only after full builds were done. Every claim and PR-creation outcome the tool observes is now recorded in `~/.greenlight/capabilities.json` with a timestamp and an evidence string, so the lesson is paid for once.
|
|
288
|
+
- **`greenlight preflight` is the reads-only go/no-go before a build.** It checks the fork exists with the right parent, reports KNOWN-BLOCKED with the recorded evidence when the ledger holds a structural block, summarizes the repo's policy gates, and with `--base` and `--files` flags each file's blob at the build base against the current upstream head, flagging DRIFTED files by name (actual #7333's upstream moved on the exact file the fix touched, discovered at open time). `scout` now excludes ledger-blocked repos before spending any API budget, naming the recorded reason.
|
|
289
|
+
|
|
279
290
|
### v0.10.0: multi-agent campaign management
|
|
280
291
|
|
|
281
292
|
Campaigns are no longer one agent: several agents now open PRs in parallel threads, and the tool's local memory only knew about PRs this process created. v0.10.0 makes the whole board visible and the shared limits safe:
|
package/dist/automate.js
CHANGED
|
@@ -20,6 +20,7 @@ import { parseGates, gateLabel } from "./gates.js";
|
|
|
20
20
|
import { githubToken, apiGet, apiPost, ApiNotFoundError } from "./github.js";
|
|
21
21
|
import { gatherPrepDetail, } from "./prep-detail.js";
|
|
22
22
|
import { appendLedgerEntry, outcomeForError, pacingConfigFromEnv, pendingEntryFor, readLedger, reconcileEntry, reservePost, finishPost, defaultLedgerPath, } from "./posting-ledger.js";
|
|
23
|
+
import { recordCapability, capabilityOutcomeForError, } from "./capabilities.js";
|
|
23
24
|
/** Thrown when an automation command refuses to proceed. CLI exits 1 on this. */
|
|
24
25
|
export class AutomationRefusal extends Error {
|
|
25
26
|
constructor(message) {
|
|
@@ -350,9 +351,16 @@ export async function claimIssue(client, snapshot, opts) {
|
|
|
350
351
|
let commentUrl;
|
|
351
352
|
try {
|
|
352
353
|
commentUrl = await client.postIssueComment(snapshot.owner, snapshot.repo, snapshot.number, commentBody);
|
|
354
|
+
// v0.10.1: remember what this repo let us do, so scout and
|
|
355
|
+
// preflight never pay for the same lesson twice.
|
|
356
|
+
recordCapability(`${snapshot.owner}/${snapshot.repo}`, "claim", "ok", `claim comment posted ${commentUrl}`);
|
|
353
357
|
}
|
|
354
358
|
catch (err) {
|
|
355
359
|
const outcome = outcomeForError(err);
|
|
360
|
+
const capOutcome = capabilityOutcomeForError(err);
|
|
361
|
+
if (capOutcome) {
|
|
362
|
+
recordCapability(`${snapshot.owner}/${snapshot.repo}`, "claim", capOutcome, `claim comment failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
363
|
+
}
|
|
356
364
|
finishPost(ledgerPath, reservation.entry, outcome, (err instanceof Error ? err.message : String(err)).slice(0, 140));
|
|
357
365
|
throw err;
|
|
358
366
|
}
|
|
@@ -735,6 +743,10 @@ export async function openPr(client, snapshot, opts) {
|
|
|
735
743
|
head,
|
|
736
744
|
base: defaultBranch,
|
|
737
745
|
});
|
|
746
|
+
// v0.10.1: the account's per-repo PR capability, recorded at the
|
|
747
|
+
// moment it is proven. A 422 or 404 here is structural: preflight
|
|
748
|
+
// and scout read it back before any future build starts.
|
|
749
|
+
recordCapability(`${owner}/${repo}`, "pr_create", "ok", `PR opened ${prUrl}`);
|
|
738
750
|
appendLedgerEntry({
|
|
739
751
|
kind: "pr",
|
|
740
752
|
targetUrl: prUrl,
|
|
@@ -743,6 +755,10 @@ export async function openPr(client, snapshot, opts) {
|
|
|
743
755
|
}, opts.ledgerPath ?? defaultLedgerPath());
|
|
744
756
|
}
|
|
745
757
|
catch (err) {
|
|
758
|
+
const capOutcome = capabilityOutcomeForError(err);
|
|
759
|
+
if (capOutcome) {
|
|
760
|
+
recordCapability(`${owner}/${repo}`, "pr_create", capOutcome, `PR creation failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
761
|
+
}
|
|
746
762
|
appendLedgerEntry({
|
|
747
763
|
kind: "pr",
|
|
748
764
|
targetUrl: `https://github.com/${owner}/${repo} (branch ${opts.branch})`,
|
package/dist/automate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automate.js","sourceRoot":"","sources":["../src/automate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"automate.js","sourceRoot":"","sources":["../src/automate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export type ConflictStrategy = "lockfile" | "changelog" | "version-bump" | "manual";
|
|
2
|
+
/** Decide how a conflicted file may be resolved: mechanical, or manual only. */
|
|
3
|
+
export declare function conflictFileStrategy(path: string): ConflictStrategy;
|
|
4
|
+
export interface ConflictHunk {
|
|
5
|
+
base: string[];
|
|
6
|
+
ours: string[];
|
|
7
|
+
theirs: string[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Parse git conflict markers into hunks. Returns null when the text has no
|
|
11
|
+
* markers or a marker is malformed.
|
|
12
|
+
*/
|
|
13
|
+
export declare function parseConflictHunks(text: string): ConflictHunk[] | null;
|
|
14
|
+
/**
|
|
15
|
+
* Mechanical single-line bump resolution (reticle's guard 13->14 class):
|
|
16
|
+
* when a hunk changed exactly one token on each side, one side kept the
|
|
17
|
+
* base value, and the other side is a strict increase (semver or integer
|
|
18
|
+
* counter), the increase wins. Anything else is not mechanical: null.
|
|
19
|
+
*
|
|
20
|
+
* The hunk's base lines are passed explicitly (git markers do not carry them).
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolveVersionBumpHunk(hunk: ConflictHunk, baseLines: string[]): {
|
|
23
|
+
resolved: string[];
|
|
24
|
+
taken: "ours" | "theirs";
|
|
25
|
+
} | null;
|
|
26
|
+
/**
|
|
27
|
+
* Changelog merge: union of added lines from both sides, base lines kept in
|
|
28
|
+
* order, each side's new lines appended in the order they appear. Exact
|
|
29
|
+
* duplicate lines are not duplicated.
|
|
30
|
+
*/
|
|
31
|
+
export declare function resolveChangelogMerge(base: string, ours: string, theirs: string): string;
|
|
32
|
+
/** Detect the package manager for lockfile regeneration from lockfile name. */
|
|
33
|
+
export declare function lockfileManager(lockfileName: string): string | null;
|
|
34
|
+
export interface GitRunner {
|
|
35
|
+
run: (cwd: string, args: string[], stdin?: string) => Promise<{
|
|
36
|
+
stdout: string;
|
|
37
|
+
stderr: string;
|
|
38
|
+
}>;
|
|
39
|
+
}
|
|
40
|
+
export declare function defaultGitRunner(): GitRunner;
|
|
41
|
+
/**
|
|
42
|
+
* Formatting-only verification: after running a formatter, the diff must be
|
|
43
|
+
* whitespace-only. `git diff -w` empty means no non-whitespace changes.
|
|
44
|
+
*/
|
|
45
|
+
export declare function diffIsFormattingOnly(git: GitRunner, cwd: string): Promise<boolean>;
|
|
46
|
+
/** Detect a formatter path in a repo dir: npm scripts or known configs. */
|
|
47
|
+
export declare function detectFormatter(files: string[], scripts: Record<string, string>): {
|
|
48
|
+
name: string;
|
|
49
|
+
cmd: string[];
|
|
50
|
+
} | null;
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mechanical fix resolvers for Autopilot (v0.11.0).
|
|
3
|
+
*
|
|
4
|
+
* The rule is strict: Autopilot may only resolve conflicts that are
|
|
5
|
+
* provably mechanical. Anything that touches source logic in a
|
|
6
|
+
* non-trivial way aborts the fix and reports NEEDS_HUMAN with the
|
|
7
|
+
* conflicted files. Every resolver below is a pure function, tested
|
|
8
|
+
* against fixtures, so the merge decision is reviewable before it runs.
|
|
9
|
+
*/
|
|
10
|
+
import { execFile } from "node:child_process";
|
|
11
|
+
const LOCKFILE_NAMES = new Set([
|
|
12
|
+
"package-lock.json",
|
|
13
|
+
"pnpm-lock.yaml",
|
|
14
|
+
"yarn.lock",
|
|
15
|
+
"bun.lockb",
|
|
16
|
+
"Cargo.lock",
|
|
17
|
+
"go.sum",
|
|
18
|
+
"poetry.lock",
|
|
19
|
+
"Pipfile.lock",
|
|
20
|
+
]);
|
|
21
|
+
/** Decide how a conflicted file may be resolved: mechanical, or manual only. */
|
|
22
|
+
export function conflictFileStrategy(path) {
|
|
23
|
+
const base = path.split("/").pop() ?? path;
|
|
24
|
+
if (LOCKFILE_NAMES.has(base))
|
|
25
|
+
return "lockfile";
|
|
26
|
+
if (/^changelog/i.test(base) || /^changes\.md$/i.test(base))
|
|
27
|
+
return "changelog";
|
|
28
|
+
return "manual";
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Parse git conflict markers into hunks. Returns null when the text has no
|
|
32
|
+
* markers or a marker is malformed.
|
|
33
|
+
*/
|
|
34
|
+
export function parseConflictHunks(text) {
|
|
35
|
+
const hunks = [];
|
|
36
|
+
const lines = text.split("\n");
|
|
37
|
+
let i = 0;
|
|
38
|
+
let inConflict = false;
|
|
39
|
+
let ours = [];
|
|
40
|
+
let theirs = [];
|
|
41
|
+
let mid = false;
|
|
42
|
+
for (; i < lines.length; i++) {
|
|
43
|
+
const line = lines[i];
|
|
44
|
+
if (line.startsWith("<<<<<<<")) {
|
|
45
|
+
if (inConflict)
|
|
46
|
+
return null;
|
|
47
|
+
inConflict = true;
|
|
48
|
+
mid = false;
|
|
49
|
+
ours = [];
|
|
50
|
+
theirs = [];
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
if (!inConflict)
|
|
54
|
+
continue;
|
|
55
|
+
if (line.startsWith("=======")) {
|
|
56
|
+
mid = true;
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (line.startsWith(">>>>>>>")) {
|
|
60
|
+
// base is unknown at this level; the caller supplies it per hunk.
|
|
61
|
+
hunks.push({ base: [], ours, theirs });
|
|
62
|
+
inConflict = false;
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
(mid ? theirs : ours).push(line);
|
|
66
|
+
}
|
|
67
|
+
if (inConflict)
|
|
68
|
+
return null;
|
|
69
|
+
return hunks.length > 0 ? hunks : null;
|
|
70
|
+
}
|
|
71
|
+
const SEMVER = /^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/;
|
|
72
|
+
function compareSemver(a, b) {
|
|
73
|
+
if (!SEMVER.test(a) || !SEMVER.test(b))
|
|
74
|
+
return null;
|
|
75
|
+
const pa = a.split(".").map((x) => Number(x));
|
|
76
|
+
const pb = b.split(".").map((x) => Number(x));
|
|
77
|
+
for (let k = 0; k < 3; k++) {
|
|
78
|
+
if (pa[k] !== pb[k])
|
|
79
|
+
return pa[k] < pb[k] ? -1 : 1;
|
|
80
|
+
}
|
|
81
|
+
return 0;
|
|
82
|
+
}
|
|
83
|
+
function compareCounter(a, b) {
|
|
84
|
+
if (!/^\d+$/.test(a) || !/^\d+$/.test(b))
|
|
85
|
+
return null;
|
|
86
|
+
const na = Number(a);
|
|
87
|
+
const nb = Number(b);
|
|
88
|
+
return na === nb ? 0 : na < nb ? -1 : 1;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Mechanical single-line bump resolution (reticle's guard 13->14 class):
|
|
92
|
+
* when a hunk changed exactly one token on each side, one side kept the
|
|
93
|
+
* base value, and the other side is a strict increase (semver or integer
|
|
94
|
+
* counter), the increase wins. Anything else is not mechanical: null.
|
|
95
|
+
*
|
|
96
|
+
* The hunk's base lines are passed explicitly (git markers do not carry them).
|
|
97
|
+
*/
|
|
98
|
+
export function resolveVersionBumpHunk(hunk, baseLines) {
|
|
99
|
+
if (hunk.ours.length !== 1 || hunk.theirs.length !== 1 || baseLines.length !== 1)
|
|
100
|
+
return null;
|
|
101
|
+
const [oursLine] = hunk.ours;
|
|
102
|
+
const [theirsLine] = hunk.theirs;
|
|
103
|
+
const [baseLine] = baseLines;
|
|
104
|
+
// Find the single changed token: walk from both ends.
|
|
105
|
+
const clean = (t) => t.replace(/[;,)]+$/, "");
|
|
106
|
+
const tokenOf = (oursTok, theirsTok, baseTok) => {
|
|
107
|
+
if (oursTok === theirsTok)
|
|
108
|
+
return null;
|
|
109
|
+
const oursKept = oursTok === baseTok;
|
|
110
|
+
const theirsKept = theirsTok === baseTok;
|
|
111
|
+
if (oursKept === theirsKept)
|
|
112
|
+
return null;
|
|
113
|
+
const bumped = clean(oursKept ? theirsTok : oursTok);
|
|
114
|
+
const kept = clean(oursKept ? oursTok : theirsTok);
|
|
115
|
+
const cmp = compareSemver(kept, bumped) ?? compareCounter(kept, bumped);
|
|
116
|
+
if (cmp === null || cmp >= 0)
|
|
117
|
+
return null;
|
|
118
|
+
return oursKept ? "theirs" : "ours";
|
|
119
|
+
};
|
|
120
|
+
// Tokenize on whitespace; the single differing token decides.
|
|
121
|
+
const ot = oursLine.split(/(\s+)/);
|
|
122
|
+
const tt = theirsLine.split(/(\s+)/);
|
|
123
|
+
const bt = baseLine.split(/(\s+)/);
|
|
124
|
+
if (ot.length !== tt.length || ot.length !== bt.length)
|
|
125
|
+
return null;
|
|
126
|
+
let decided = null;
|
|
127
|
+
for (let i = 0; i < ot.length; i++) {
|
|
128
|
+
const winner = tokenOf(ot[i], tt[i], bt[i]);
|
|
129
|
+
if (winner === null)
|
|
130
|
+
continue;
|
|
131
|
+
if (decided !== null && decided !== winner)
|
|
132
|
+
return null;
|
|
133
|
+
decided = winner;
|
|
134
|
+
}
|
|
135
|
+
if (decided === null)
|
|
136
|
+
return null;
|
|
137
|
+
return { resolved: decided === "ours" ? hunk.ours : hunk.theirs, taken: decided };
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Changelog merge: union of added lines from both sides, base lines kept in
|
|
141
|
+
* order, each side's new lines appended in the order they appear. Exact
|
|
142
|
+
* duplicate lines are not duplicated.
|
|
143
|
+
*/
|
|
144
|
+
export function resolveChangelogMerge(base, ours, theirs) {
|
|
145
|
+
const baseLines = base.split("\n");
|
|
146
|
+
const ourLines = ours.split("\n");
|
|
147
|
+
const theirLines = theirs.split("\n");
|
|
148
|
+
const baseSet = new Set(baseLines);
|
|
149
|
+
const out = [...baseLines];
|
|
150
|
+
const seen = new Set(baseLines);
|
|
151
|
+
for (const line of [...ourLines, ...theirLines]) {
|
|
152
|
+
if (baseSet.has(line) || seen.has(line))
|
|
153
|
+
continue;
|
|
154
|
+
seen.add(line);
|
|
155
|
+
out.push(line);
|
|
156
|
+
}
|
|
157
|
+
return out.join("\n");
|
|
158
|
+
}
|
|
159
|
+
/** Detect the package manager for lockfile regeneration from lockfile name. */
|
|
160
|
+
export function lockfileManager(lockfileName) {
|
|
161
|
+
const base = lockfileName.split("/").pop() ?? lockfileName;
|
|
162
|
+
switch (base) {
|
|
163
|
+
case "package-lock.json":
|
|
164
|
+
return "npm";
|
|
165
|
+
case "pnpm-lock.yaml":
|
|
166
|
+
return "pnpm";
|
|
167
|
+
case "yarn.lock":
|
|
168
|
+
return "yarn";
|
|
169
|
+
case "bun.lockb":
|
|
170
|
+
return "bun";
|
|
171
|
+
case "Cargo.lock":
|
|
172
|
+
return "cargo";
|
|
173
|
+
case "go.sum":
|
|
174
|
+
return "go";
|
|
175
|
+
default:
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
export function defaultGitRunner() {
|
|
180
|
+
return {
|
|
181
|
+
run: (cwd, args) => new Promise((resolve, reject) => {
|
|
182
|
+
execFile("git", args, { cwd, timeout: 120_000 }, (err, stdout, stderr) => {
|
|
183
|
+
if (err)
|
|
184
|
+
reject(new Error(`git ${args.join(" ")} failed: ${stderr || err.message}`));
|
|
185
|
+
else
|
|
186
|
+
resolve({ stdout: String(stdout), stderr: String(stderr) });
|
|
187
|
+
});
|
|
188
|
+
}),
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Formatting-only verification: after running a formatter, the diff must be
|
|
193
|
+
* whitespace-only. `git diff -w` empty means no non-whitespace changes.
|
|
194
|
+
*/
|
|
195
|
+
export async function diffIsFormattingOnly(git, cwd) {
|
|
196
|
+
const { stdout } = await git.run(cwd, ["diff", "-w", "--numstat"]);
|
|
197
|
+
return stdout.trim().length === 0;
|
|
198
|
+
}
|
|
199
|
+
/** Detect a formatter path in a repo dir: npm scripts or known configs. */
|
|
200
|
+
export function detectFormatter(files, scripts) {
|
|
201
|
+
if (scripts["format"])
|
|
202
|
+
return { name: "npm run format", cmd: ["npm", "run", "format"] };
|
|
203
|
+
if (scripts["lint:fix"])
|
|
204
|
+
return { name: "npm run lint:fix", cmd: ["npm", "run", "lint:fix"] };
|
|
205
|
+
if (scripts["lint"] && /--fix/.test(scripts["lint"]))
|
|
206
|
+
return { name: "npm run lint", cmd: ["npm", "run", "lint"] };
|
|
207
|
+
const has = (n) => files.includes(n);
|
|
208
|
+
if (has(".prettierrc") ||
|
|
209
|
+
has(".prettierrc.json") ||
|
|
210
|
+
has("prettier.config.js") ||
|
|
211
|
+
has("prettier.config.cjs")) {
|
|
212
|
+
return { name: "prettier", cmd: ["npx", "--no-install", "prettier", "--write", "."] };
|
|
213
|
+
}
|
|
214
|
+
return null;
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=autopilot-fixes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autopilot-fixes.js","sourceRoot":"","sources":["../src/autopilot-fixes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,mBAAmB;IACnB,gBAAgB;IAChB,WAAW;IACX,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,aAAa;IACb,cAAc;CACf,CAAC,CAAC;AAEH,gFAAgF;AAChF,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;IAC3C,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAChD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,WAAW,CAAC;IAChF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAQD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,IAAI,GAAa,EAAE,CAAC;IACxB,IAAI,MAAM,GAAa,EAAE,CAAC;IAC1B,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,IAAI,UAAU;gBAAE,OAAO,IAAI,CAAC;YAC5B,UAAU,GAAG,IAAI,CAAC;YAClB,GAAG,GAAG,KAAK,CAAC;YACZ,IAAI,GAAG,EAAE,CAAC;YACV,MAAM,GAAG,EAAE,CAAC;YACZ,SAAS;QACX,CAAC;QACD,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,GAAG,GAAG,IAAI,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,kEAAkE;YAClE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACvC,UAAU,GAAG,KAAK,CAAC;YACnB,SAAS;QACX,CAAC;QACD,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,UAAU;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC;AAED,MAAM,MAAM,GAAG,wCAAwC,CAAC;AAExD,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,cAAc,CAAC,CAAS,EAAE,CAAS;IAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAkB,EAClB,SAAmB;IAEnB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9F,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;IAC7B,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACjC,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IAC7B,sDAAsD;IACtD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,SAAiB,EAAE,OAAe,EAAE,EAAE;QACtE,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACvC,MAAM,QAAQ,GAAG,OAAO,KAAK,OAAO,CAAC;QACrC,MAAM,UAAU,GAAG,SAAS,KAAK,OAAO,CAAC;QACzC,IAAI,QAAQ,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxE,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,QAAQ,CAAC,CAAC,CAAE,QAAkB,CAAC,CAAC,CAAE,MAAgB,CAAC;IAC5D,CAAC,CAAC;IACF,8DAA8D;IAC9D,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACpE,IAAI,OAAO,GAA6B,IAAI,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAC9B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QACxD,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACpF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,IAAY,EAAE,MAAc;IAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,GAAG,GAAa,CAAC,GAAG,SAAS,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,QAAQ,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QAChD,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAClD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,eAAe,CAAC,YAAoB;IAClD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,YAAY,CAAC;IAC3D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,mBAAmB;YACtB,OAAO,KAAK,CAAC;QACf,KAAK,gBAAgB;YACnB,OAAO,MAAM,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,MAAM,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,KAAK,CAAC;QACf,KAAK,YAAY;YACf,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAMD,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACjB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9B,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBACvE,IAAI,GAAG;oBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;;oBAChF,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;KACL,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAc,EAAE,GAAW;IACpE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAC7B,KAAe,EACf,OAA+B;IAE/B,IAAI,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;IACxF,IAAI,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;IAC9F,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IACnH,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7C,IACE,GAAG,CAAC,aAAa,CAAC;QAClB,GAAG,CAAC,kBAAkB,CAAC;QACvB,GAAG,CAAC,oBAAoB,CAAC;QACzB,GAAG,CAAC,qBAAqB,CAAC,EAC1B,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;IACxF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/** Rene's standing DCO identity: he authorized Tree to sign non-legal attestations in his name. */
|
|
2
|
+
export declare const DCO_SIGNOFF_LINE = "Signed-off-by: Rene Turcios <95189389+CloudCorpRecords@users.noreply.github.com>";
|
|
3
|
+
export interface CommitObject {
|
|
4
|
+
sha: string;
|
|
5
|
+
treeSha: string;
|
|
6
|
+
message: string;
|
|
7
|
+
parents: string[];
|
|
8
|
+
authorName: string;
|
|
9
|
+
authorEmail: string;
|
|
10
|
+
committerName: string;
|
|
11
|
+
committerEmail: string;
|
|
12
|
+
}
|
|
13
|
+
/** True when the message carries a DCO Signed-off-by trailer on any line. */
|
|
14
|
+
export declare function hasSignoff(message: string): boolean;
|
|
15
|
+
/** Append the sign-off line to a message that lacks it; leave signed messages untouched. */
|
|
16
|
+
export declare function withSignoff(message: string, line?: string): string;
|
|
17
|
+
export interface GitOpsDeps {
|
|
18
|
+
getCommit?: (owner: string, repo: string, sha: string) => Promise<CommitObject>;
|
|
19
|
+
createCommit?: (owner: string, repo: string, args: {
|
|
20
|
+
message: string;
|
|
21
|
+
tree: string;
|
|
22
|
+
parents: string[];
|
|
23
|
+
author: {
|
|
24
|
+
name: string;
|
|
25
|
+
email: string;
|
|
26
|
+
};
|
|
27
|
+
committer: {
|
|
28
|
+
name: string;
|
|
29
|
+
email: string;
|
|
30
|
+
};
|
|
31
|
+
}) => Promise<string>;
|
|
32
|
+
updateRef?: (owner: string, repo: string, branch: string, sha: string, force: boolean) => Promise<void>;
|
|
33
|
+
getRef?: (owner: string, repo: string, branch: string) => Promise<string | null>;
|
|
34
|
+
createBlob?: (owner: string, repo: string, content: string) => Promise<string>;
|
|
35
|
+
createTree?: (owner: string, repo: string, baseTree: string, entries: Array<{
|
|
36
|
+
path: string;
|
|
37
|
+
sha: string;
|
|
38
|
+
mode: string;
|
|
39
|
+
}>) => Promise<string>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Pure planner for DCO surgery: given the PR's commit chain (oldest first),
|
|
43
|
+
* decide which commits need a rewritten message. Signed commits anchor the
|
|
44
|
+
* chain and keep their SHAs; unsigned commits get a replacement mapped
|
|
45
|
+
* old->new parent. Trees are never touched, so every replacement commit
|
|
46
|
+
* carries the exact tree of its original.
|
|
47
|
+
*/
|
|
48
|
+
export interface DcoPlan {
|
|
49
|
+
/** Commits that need rewriting, in chain order (oldest first). */
|
|
50
|
+
rewrites: Array<{
|
|
51
|
+
sha: string;
|
|
52
|
+
treeSha: string;
|
|
53
|
+
message: string;
|
|
54
|
+
newMessage: string;
|
|
55
|
+
}>;
|
|
56
|
+
/** Commits already signed: anchors, untouched. */
|
|
57
|
+
anchors: string[];
|
|
58
|
+
}
|
|
59
|
+
/** The plan for one PR's commit list, given the full commit objects. */
|
|
60
|
+
export declare function planDcoSurgery(commits: CommitObject[]): DcoPlan;
|
|
61
|
+
export interface DcoSurgeryResult {
|
|
62
|
+
oldHead: string;
|
|
63
|
+
newHead: string;
|
|
64
|
+
fixed: number;
|
|
65
|
+
anchored: number;
|
|
66
|
+
/** Every replacement tree matched its original: the diff is byte-identical. */
|
|
67
|
+
treesIdentical: boolean;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Apply DCO surgery on a fork branch: message-only commit rewrites with
|
|
71
|
+
* byte-identical trees, then force-move the branch ref. Throws before the
|
|
72
|
+
* ref move if any tree would change.
|
|
73
|
+
*/
|
|
74
|
+
export declare function applyDcoSurgery(forkOwner: string, forkRepo: string, branch: string, commits: CommitObject[], deps?: GitOpsDeps): Promise<DcoSurgeryResult>;
|
|
75
|
+
export interface GitOps {
|
|
76
|
+
getCommit: NonNullable<GitOpsDeps["getCommit"]>;
|
|
77
|
+
createCommit: NonNullable<GitOpsDeps["createCommit"]>;
|
|
78
|
+
updateRef: NonNullable<GitOpsDeps["updateRef"]>;
|
|
79
|
+
getRef: NonNullable<GitOpsDeps["getRef"]>;
|
|
80
|
+
createBlob: NonNullable<GitOpsDeps["createBlob"]>;
|
|
81
|
+
createTree: NonNullable<GitOpsDeps["createTree"]>;
|
|
82
|
+
}
|
|
83
|
+
export declare function defaultGitOps(): GitOps;
|