looply-cli 0.5.18 → 0.5.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/.src-hash +1 -1
- package/dist/branch-delivery-wiring.d.ts +4 -1
- package/dist/branch-delivery-wiring.d.ts.map +1 -1
- package/dist/branch-delivery-wiring.js +19 -4
- package/dist/branch-delivery-wiring.js.map +1 -1
- package/dist/branch-delivery.d.ts +40 -1
- package/dist/branch-delivery.d.ts.map +1 -1
- package/dist/branch-delivery.js +311 -77
- package/dist/branch-delivery.js.map +1 -1
- package/dist/bug-repro.d.ts +234 -0
- package/dist/bug-repro.d.ts.map +1 -0
- package/dist/bug-repro.js +533 -0
- package/dist/bug-repro.js.map +1 -0
- package/dist/github-api.d.ts +7 -0
- package/dist/github-api.d.ts.map +1 -1
- package/dist/github-api.js +28 -21
- package/dist/github-api.js.map +1 -1
- package/dist/heroku-cli.d.ts +52 -0
- package/dist/heroku-cli.d.ts.map +1 -0
- package/dist/heroku-cli.js +100 -0
- package/dist/heroku-cli.js.map +1 -0
- package/dist/pursuit-ending.d.ts.map +1 -1
- package/dist/pursuit-ending.js +3 -1
- package/dist/pursuit-ending.js.map +1 -1
- package/dist/run-cmd.d.ts.map +1 -1
- package/dist/run-cmd.js +72 -5
- package/dist/run-cmd.js.map +1 -1
- package/package.json +2 -2
package/dist/github-api.js
CHANGED
|
@@ -67,6 +67,29 @@ function makeGitHubApi(deps) {
|
|
|
67
67
|
headSha: String(p['head']?.['sha'] ?? ''),
|
|
68
68
|
mergeSha: typeof p['merged_at'] === 'string' && typeof p['merge_commit_sha'] === 'string' ? p['merge_commit_sha'] : null,
|
|
69
69
|
});
|
|
70
|
+
/** Newest first from GitHub; only the newest deployment per environment is asked for its status. */
|
|
71
|
+
async function newestPerEnvironment(list) {
|
|
72
|
+
const seen = new Set();
|
|
73
|
+
const out = [];
|
|
74
|
+
for (const d of list) {
|
|
75
|
+
const environment = String(d['environment'] ?? '');
|
|
76
|
+
if (environment === '' || seen.has(environment.toLowerCase()))
|
|
77
|
+
continue;
|
|
78
|
+
seen.add(environment.toLowerCase());
|
|
79
|
+
const statuses = (await call('GET', `/deployments/${Number(d['id'])}/statuses?per_page=1`)) ?? [];
|
|
80
|
+
const s = statuses[0];
|
|
81
|
+
const url = typeof s?.['environment_url'] === 'string' && /^https:\/\/\S+$/.test(s['environment_url']) ? s['environment_url'] : null;
|
|
82
|
+
out.push({
|
|
83
|
+
environment,
|
|
84
|
+
sha: String(d['sha'] ?? ''),
|
|
85
|
+
state: s === undefined ? 'pending' : String(s['state']),
|
|
86
|
+
url,
|
|
87
|
+
at: String(s?.['created_at'] ?? d['created_at'] ?? ''),
|
|
88
|
+
description: typeof s?.['description'] === 'string' && s['description'] !== '' ? s['description'].slice(0, 300) : null,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return out;
|
|
92
|
+
}
|
|
70
93
|
return {
|
|
71
94
|
async findPull(branch) {
|
|
72
95
|
const list = await call('GET', `/pulls?state=all&per_page=10&head=${encodeURIComponent(`${deps.owner}:${branch}`)}`);
|
|
@@ -154,27 +177,11 @@ function makeGitHubApi(deps) {
|
|
|
154
177
|
async deploymentsFor(sha) {
|
|
155
178
|
if (!/^[0-9a-f]{7,64}$/.test(sha))
|
|
156
179
|
return [];
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
const environment = String(d['environment'] ?? '');
|
|
163
|
-
if (environment === '' || seen.has(environment.toLowerCase()))
|
|
164
|
-
continue;
|
|
165
|
-
seen.add(environment.toLowerCase());
|
|
166
|
-
const statuses = (await call('GET', `/deployments/${Number(d['id'])}/statuses?per_page=1`)) ?? [];
|
|
167
|
-
const s = statuses[0];
|
|
168
|
-
const url = typeof s?.['environment_url'] === 'string' && /^https:\/\/\S+$/.test(s['environment_url']) ? s['environment_url'] : null;
|
|
169
|
-
out.push({
|
|
170
|
-
environment,
|
|
171
|
-
state: s === undefined ? 'pending' : String(s['state']),
|
|
172
|
-
url,
|
|
173
|
-
at: String(s?.['created_at'] ?? d['created_at'] ?? ''),
|
|
174
|
-
description: typeof s?.['description'] === 'string' && s['description'] !== '' ? s['description'].slice(0, 300) : null,
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
return out;
|
|
180
|
+
const found = await newestPerEnvironment((await call('GET', `/deployments?sha=${sha}&per_page=30`)) ?? []);
|
|
181
|
+
return found.map((d) => ({ environment: d.environment, state: d.state, url: d.url, at: d.at, description: d.description }));
|
|
182
|
+
},
|
|
183
|
+
async latestDeployments() {
|
|
184
|
+
return newestPerEnvironment((await call('GET', '/deployments?per_page=30')) ?? []);
|
|
178
185
|
},
|
|
179
186
|
async commentOnPull(n, body) {
|
|
180
187
|
await call('POST', `/issues/${n}/comments`, { body });
|
package/dist/github-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-api.js","sourceRoot":"","sources":["../src/github-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"github-api.js","sourceRoot":"","sources":["../src/github-api.ts"],"names":[],"mappings":";;;AA+GA,sCA8JC;AAmCD,4BAWC;AAMD,kCAwBC;AAzVD,2DAA2C;AAC3C,qCAAqC;AACrC,qCAAkC;AAClC,yCAA4C;AAC5C,+CAA0C;AAoF1C;;;;GAIG;AACH,MAAM,YAAY,GAAG,OAAgB,CAAC;AAEtC,MAAa,WAAY,SAAQ,KAAK;IAGlB;IAFlB,YACE,OAAe,EACC,MAAc;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,WAAM,GAAN,MAAM,CAAQ;QAG9B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AARD,kCAQC;AAOD,iEAAiE;AACjE,SAAgB,aAAa,CAAC,IAAmE;IAC/F,MAAM,OAAO,GAAU,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,gCAAgC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAE/G,KAAK,UAAU,IAAI,CAAI,MAAc,EAAE,IAAY,EAAE,IAAc,EAAE,SAAS,GAAG,KAAK;QACpF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;YAC1C,MAAM;YACN,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;gBACrC,MAAM,EAAE,6BAA6B;gBACrC,sBAAsB,EAAE,YAAY;gBACpC,YAAY,EAAE,YAAY;gBAC1B,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;aACtE;YACD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;SAC9D,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACjD,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiE,CAAC;gBAC3F,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5G,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;oBAAE,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChF,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;YACD,MAAM,IAAI,WAAW,CAAC,mBAAmB,GAAG,CAAC,MAAM,OAAO,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACtG,CAAC;QACD,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAM,CAAC;IACtD,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,CAAsB,EAAY,EAAE,CAAC,CAAC;QACpD,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC3B,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC1B,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;QAChD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC7F,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACzC,QAAQ,EAAE,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,kBAAkB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,kBAAkB,CAAY,CAAC,CAAC,CAAC,IAAI;KACrI,CAAC,CAAC;IAEH,oGAAoG;IACpG,KAAK,UAAU,oBAAoB,CAAC,IAAgC;QAClE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,GAAG,GAA4C,EAAE,CAAC;QACxD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,IAAI,WAAW,KAAK,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;gBAAE,SAAS;YACxE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAA6B,KAAK,EAAE,gBAAgB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9H,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,iBAAiB,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;YACjJ,GAAG,CAAC,IAAI,CAAC;gBACP,WAAW;gBACX,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC3B,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACvD,GAAG;gBACH,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACtD,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,aAAa,CAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;aACnI,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,MAAM;YACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CACrB,KAAK,EACL,qCAAqC,kBAAkB,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC,EAAE,CACrF,CAAC;YACF,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxF,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,CAAC;YACb,OAAO,MAAM,CAAC,CAAC,MAAM,IAAI,CAAsB,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,KAAK;YACpB,OAAO,MAAM,CAAC,CAAC,MAAM,IAAI,CAAsB,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtH,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,MAAM;YAC1B,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAsB,KAAK,EAAE,aAAa,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC7G,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,MAAM;YACvB,OAAO,CAAC,MAAM,IAAI,CAAsB,KAAK,EAAE,aAAa,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC;QACvH,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,UAAU;YAC7B,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAClB,KAAK,EACL,aAAa,kBAAkB,CAAC,UAAU,CAAC,oCAAoC,EAC/E,SAAS,EACT,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAC;gBAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;gBAChC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;oBAAE,IAAI,OAAO,CAAC,KAAK,QAAQ;wBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC3G,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;oBAAE,IAAI,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,QAAQ;wBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC/H,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;YACpB,CAAC;YAAC,MAAM,CAAC;gBACP,sFAAsF;gBACtF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,GAAG;YACjB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAsB,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAA8C,KAAK,EAAE,YAAY,GAAG,0BAA0B,CAAC,CAAC;YACvH,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,WAAW;oBAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;;oBACrD,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAClH,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAA4C,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC,CAAC;YACtG,4EAA4E;YAC5E,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBAClC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9B,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACzF,CAAC;YACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK;YACvB,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAsB,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChI,OAAO;oBACL,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI;oBAC9B,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;oBACrC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvE,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU;YACzB,MAAM,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO;YACxB,MAAM,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/D,MAAM,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,GAAG;YACtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,CAAC,MAAM,IAAI,CAA6B,KAAK,EAAE,oBAAoB,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACvI,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC9H,CAAC;QACD,KAAK,CAAC,iBAAiB;YACrB,OAAO,oBAAoB,CAAC,CAAC,MAAM,IAAI,CAA6B,KAAK,EAAE,0BAA0B,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjH,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI;YACzB,MAAM,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;KACF,CAAC;AACJ,CAAC;AAMD,MAAM,OAAO,GAAY,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CACjD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACtB,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACH,KAAK,GAAG,IAAA,0BAAK,EAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;YAC5B,GAAG;YACH,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE;YACpG,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;YACjC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IACrD,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEL,gFAAgF;AAChF,SAAgB,QAAQ,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IACzC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAS,CAAC,EAAE,CAAC;QACtE,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG;YAAE,SAAS;QACxC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACvB,IAAI,IAAA,oBAAU,EAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,WAAW,CAC/B,OAAiF,EAAE;IAEnF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC;IAChC,gFAAgF;IAChF,8EAA8E;IAC9E,kCAAkC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAA,iBAAO,GAAE,CAAC;IAClC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IACxD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAChF,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvF,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,uBAAS,GAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC5D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,qCAAqC,EAAE,GAAG,CAAC,CAAC;QAC7F,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACjB,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE;gBAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE TWO HEROKU CLI QUESTIONS A `push` DEPLOY ASKS — both reads, nothing else.
|
|
3
|
+
*
|
|
4
|
+
* whoami() `heroku auth:whoami` — which login the CLI is signed in as. A push deploy
|
|
5
|
+
* that names `herokuAccount` is refused unless it is exactly that login, so a
|
|
6
|
+
* machine signed in to someone else's Heroku never deploys into it.
|
|
7
|
+
* latestRelease(app) `heroku releases -a <app> -n 1 --json` — the app's newest release, read to
|
|
8
|
+
* confirm the pushed commit is what is running. Never `releases:info`.
|
|
9
|
+
*
|
|
10
|
+
* Hidden, never prompting (stdin closed: a lapsed login is an error, not a sign-in window), and
|
|
11
|
+
* bounded. The app name is checked against Heroku's own rule before anything runs, because a
|
|
12
|
+
* `.cmd` on Windows needs the shell.
|
|
13
|
+
*/
|
|
14
|
+
export interface HerokuRelease {
|
|
15
|
+
/** `v32` as Heroku numbers it, or null. */
|
|
16
|
+
readonly version: number | null;
|
|
17
|
+
readonly description: string;
|
|
18
|
+
/** The commit the release's slug was built from, when the CLI said (`slug.commit`, `commit`), else null. */
|
|
19
|
+
readonly commit: string | null;
|
|
20
|
+
/** `succeeded`, `failed`, `pending`, … */
|
|
21
|
+
readonly status: string | null;
|
|
22
|
+
/** When Heroku made it (ISO), or null. */
|
|
23
|
+
readonly at: string | null;
|
|
24
|
+
}
|
|
25
|
+
export interface HerokuCli {
|
|
26
|
+
whoami(): Promise<{
|
|
27
|
+
ok: true;
|
|
28
|
+
account: string;
|
|
29
|
+
} | {
|
|
30
|
+
ok: false;
|
|
31
|
+
because: string;
|
|
32
|
+
}>;
|
|
33
|
+
latestRelease(app: string): Promise<{
|
|
34
|
+
ok: true;
|
|
35
|
+
release: HerokuRelease | null;
|
|
36
|
+
} | {
|
|
37
|
+
ok: false;
|
|
38
|
+
because: string;
|
|
39
|
+
}>;
|
|
40
|
+
}
|
|
41
|
+
type Run = (args: readonly string[]) => Promise<{
|
|
42
|
+
code: number | null;
|
|
43
|
+
stdout: string;
|
|
44
|
+
stderr: string;
|
|
45
|
+
}>;
|
|
46
|
+
/** The newest release as `heroku releases --json` prints it (an array, newest first), or null. */
|
|
47
|
+
export declare function parseLatestRelease(stdout: string): HerokuRelease | null;
|
|
48
|
+
export declare function nodeHerokuCli(run?: Run): HerokuCli;
|
|
49
|
+
/** The commit a release names: its slug's commit, else the `Deploy <sha>` its description starts with. */
|
|
50
|
+
export declare function releaseCommit(r: HerokuRelease): string | null;
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=heroku-cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heroku-cli.d.ts","sourceRoot":"","sources":["../src/heroku-cli.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,4GAA4G;IAC5G,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClF,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnH;AAID,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AA6CzG,kGAAkG;AAClG,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAcvE;AAED,wBAAgB,aAAa,CAAC,GAAG,GAAE,GAAe,GAAG,SAAS,CAmB7D;AAED,0GAA0G;AAC1G,wBAAgB,aAAa,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAI7D"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseLatestRelease = parseLatestRelease;
|
|
4
|
+
exports.nodeHerokuCli = nodeHerokuCli;
|
|
5
|
+
exports.releaseCommit = releaseCommit;
|
|
6
|
+
const node_child_process_1 = require("node:child_process");
|
|
7
|
+
const core_1 = require("@looply/core");
|
|
8
|
+
const TIMEOUT_MS = 60_000;
|
|
9
|
+
function nodeRun() {
|
|
10
|
+
return (args) => new Promise((resolve) => {
|
|
11
|
+
let stdout = '';
|
|
12
|
+
let stderr = '';
|
|
13
|
+
let settled = false;
|
|
14
|
+
const done = (r) => {
|
|
15
|
+
if (settled)
|
|
16
|
+
return;
|
|
17
|
+
settled = true;
|
|
18
|
+
clearTimeout(timer);
|
|
19
|
+
resolve(r);
|
|
20
|
+
};
|
|
21
|
+
let child;
|
|
22
|
+
try {
|
|
23
|
+
// A `.cmd` on Windows needs the shell; every argument here is a fixed word or a checked app name.
|
|
24
|
+
child = (0, node_child_process_1.spawn)(process.platform === 'win32' ? 'heroku.cmd' : 'heroku', [...args], {
|
|
25
|
+
shell: process.platform === 'win32',
|
|
26
|
+
windowsHide: true,
|
|
27
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
28
|
+
env: { ...process.env, HEROKU_SKIP_NEW_VERSION_CHECK: 'true', NO_UPDATE_NOTIFIER: '1' },
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
resolve({ code: null, stdout: '', stderr: e.message });
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const timer = setTimeout(() => {
|
|
36
|
+
child.kill();
|
|
37
|
+
done({ code: null, stdout, stderr: `${stderr}\ntimed out after ${TIMEOUT_MS / 1000}s` });
|
|
38
|
+
}, TIMEOUT_MS);
|
|
39
|
+
child.stdout?.on('data', (b) => {
|
|
40
|
+
if (stdout.length < 1_000_000)
|
|
41
|
+
stdout += b.toString('utf8');
|
|
42
|
+
});
|
|
43
|
+
child.stderr?.on('data', (b) => {
|
|
44
|
+
if (stderr.length < 20_000)
|
|
45
|
+
stderr += b.toString('utf8');
|
|
46
|
+
});
|
|
47
|
+
child.on('error', (e) => done({ code: null, stdout, stderr: e.message }));
|
|
48
|
+
child.on('close', (code) => done({ code, stdout, stderr }));
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
const said = (r) => (r.stderr.trim() || r.stdout.trim() || `heroku exited ${r.code ?? 'without a code'}`).replace(/\s+/g, ' ').slice(0, 300);
|
|
52
|
+
/** The newest release as `heroku releases --json` prints it (an array, newest first), or null. */
|
|
53
|
+
function parseLatestRelease(stdout) {
|
|
54
|
+
const list = JSON.parse(stdout);
|
|
55
|
+
if (!Array.isArray(list) || list.length === 0)
|
|
56
|
+
return null;
|
|
57
|
+
const r = list[0];
|
|
58
|
+
const slug = r['slug'];
|
|
59
|
+
const commit = [slug?.['commit'], r['commit']].find((c) => typeof c === 'string' && /^[0-9a-f]{7,40}$/.test(c)) ?? null;
|
|
60
|
+
const at = typeof r['created_at'] === 'string' && !Number.isNaN(Date.parse(r['created_at'])) ? new Date(r['created_at']).toISOString() : null;
|
|
61
|
+
return {
|
|
62
|
+
version: typeof r['version'] === 'number' ? r['version'] : null,
|
|
63
|
+
description: typeof r['description'] === 'string' ? r['description'].slice(0, 300) : '',
|
|
64
|
+
commit,
|
|
65
|
+
status: typeof r['status'] === 'string' ? r['status'] : null,
|
|
66
|
+
at,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function nodeHerokuCli(run = nodeRun()) {
|
|
70
|
+
return {
|
|
71
|
+
async whoami() {
|
|
72
|
+
const r = await run(['auth:whoami']);
|
|
73
|
+
const account = r.stdout.trim().split(/\r?\n/).pop()?.trim() ?? '';
|
|
74
|
+
if (r.code !== 0 || account === '')
|
|
75
|
+
return { ok: false, because: said(r) };
|
|
76
|
+
return { ok: true, account };
|
|
77
|
+
},
|
|
78
|
+
async latestRelease(app) {
|
|
79
|
+
if (!core_1.HEROKU_APP_NAME.test(app))
|
|
80
|
+
return { ok: false, because: `"${app}" is not a Heroku app name` };
|
|
81
|
+
const r = await run(['releases', '-a', app, '-n', '1', '--json']);
|
|
82
|
+
if (r.code !== 0)
|
|
83
|
+
return { ok: false, because: said(r) };
|
|
84
|
+
try {
|
|
85
|
+
return { ok: true, release: parseLatestRelease(r.stdout) };
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return { ok: false, because: 'the Heroku CLI did not answer with JSON' };
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/** The commit a release names: its slug's commit, else the `Deploy <sha>` its description starts with. */
|
|
94
|
+
function releaseCommit(r) {
|
|
95
|
+
if (r.commit !== null)
|
|
96
|
+
return r.commit;
|
|
97
|
+
const m = /^Deploy ([0-9a-f]{7,40})\b/.exec(r.description.trim());
|
|
98
|
+
return m === null ? null : m[1];
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=heroku-cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heroku-cli.js","sourceRoot":"","sources":["../src/heroku-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pursuit-ending.d.ts","sourceRoot":"","sources":["../src/pursuit-ending.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAElG;;;;;;;;;;;;;;;;;;GAkBG;AAEH,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,sCAAsC,CAAC;AACtE,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,oCAAoC,CAAC;AAEtE,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,KAAK,EAAE,iBAAiB,CAAC;IACzB,kDAAkD;IAClD,GAAG,EAAE,cAAc,CAAC;IACpB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAC;IACrB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;CACjB;AA8BD,iDAAiD;AACjD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"pursuit-ending.d.ts","sourceRoot":"","sources":["../src/pursuit-ending.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAElG;;;;;;;;;;;;;;;;;;GAkBG;AAEH,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,sCAAsC,CAAC;AACtE,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,oCAAoC,CAAC;AAEtE,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,KAAK,EAAE,iBAAiB,CAAC;IACzB,kDAAkD;IAClD,GAAG,EAAE,cAAc,CAAC;IACpB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAC;IACrB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;CACjB;AA8BD,iDAAiD;AACjD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,GAAG,aAAa,CAuFvE"}
|
package/dist/pursuit-ending.js
CHANGED
|
@@ -73,7 +73,9 @@ function describePursuitEnding(ctx) {
|
|
|
73
73
|
(refusal === null ? '. ' : ` (its last check: ${refusal}). `) +
|
|
74
74
|
'Someone needs to look at what was delivered and say what is still missing.');
|
|
75
75
|
case 'needs_decision':
|
|
76
|
-
return out('needs_decision',
|
|
76
|
+
return out('needs_decision',
|
|
77
|
+
// A question keeps its own question mark (a bug that did not show asks one: `bug-repro.ts`).
|
|
78
|
+
`Looply needs a person to decide something before it can go on${refusal === null ? '.' : `: ${refusal}${/[?!…]$/.test(refusal) ? '' : '.'}`}`);
|
|
77
79
|
case 'requirement_uncovered':
|
|
78
80
|
return out('requirement_uncovered', 'The work was delivered, but a required part of this goal is not covered' +
|
|
79
81
|
(refusal === null ? '. ' : `: ${refusal}. `) +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pursuit-ending.js","sourceRoot":"","sources":["../src/pursuit-ending.ts"],"names":[],"mappings":";;;AAwFA,
|
|
1
|
+
{"version":3,"file":"pursuit-ending.js","sourceRoot":"","sources":["../src/pursuit-ending.ts"],"names":[],"mappings":"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"}
|
package/dist/run-cmd.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-cmd.d.ts","sourceRoot":"","sources":["../src/run-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOvD,OAAO,EAGL,KAAK,cAAc,EAKnB,KAAK,IAAI,EAaT,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAA6B,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAiC/E,OAAO,EAGL,KAAK,aAAa,EAIlB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAoBxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"run-cmd.d.ts","sourceRoot":"","sources":["../src/run-cmd.ts"],"names":[],"mappings":"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"}
|
package/dist/run-cmd.js
CHANGED
|
@@ -73,6 +73,7 @@ const run_base_2 = require("./run-base");
|
|
|
73
73
|
const round_records_1 = require("./round-records");
|
|
74
74
|
const goal_gap_1 = require("./goal-gap");
|
|
75
75
|
const visual_proof_run_1 = require("./visual-proof-run");
|
|
76
|
+
const bug_repro_1 = require("./bug-repro");
|
|
76
77
|
const goal_adaptive_1 = require("./goal-adaptive");
|
|
77
78
|
const pending_action_1 = require("./pending-action");
|
|
78
79
|
const approval_resolution_1 = require("./approval-resolution");
|
|
@@ -2875,6 +2876,9 @@ async function runLoop(opts) {
|
|
|
2875
2876
|
const compileReaders = (0, citation_readers_1.nodeCitationReaders)(cwd, stateDir);
|
|
2876
2877
|
const compileProvider = (0, provider_identity_1.providerRecordFor)(resolved.spec, resolved.spec.command === agent_exec_1.DEFAULT_AGENT.command ? (0, provider_discovery_1.claudeExecutable)(resolved.spec.executable) : null);
|
|
2877
2878
|
const compiles = new compile_store_1.CompileStore(stateDir, ledger_store_1.nodeLedgerFs);
|
|
2879
|
+
// Per PROJECT, like the goal mirror: the reproduction a Start recorded is the one every later Start reads.
|
|
2880
|
+
const reproStore = new bug_repro_1.ReproStore(projectStateDirPath);
|
|
2881
|
+
const reproFor = (id, version) => reproStore.read(id, version);
|
|
2878
2882
|
const recordCompile = async (forGoalId, forGoalVersion, treeSha, outcome, checked) => {
|
|
2879
2883
|
try {
|
|
2880
2884
|
if (!compiles.isOpen())
|
|
@@ -2930,17 +2934,62 @@ async function runLoop(opts) {
|
|
|
2930
2934
|
/** The first compile's authority answer, kept so its reason is the acted-on one. */
|
|
2931
2935
|
let stillOurs = { ok: true };
|
|
2932
2936
|
let seamFailure = null;
|
|
2937
|
+
/** A bug that did not show: the one question for the ticket, asked before any plan (`bug-repro.ts`). */
|
|
2938
|
+
let reproAsks = null;
|
|
2933
2939
|
try {
|
|
2934
|
-
|
|
2940
|
+
/**
|
|
2941
|
+
* BUG TICKETS ARE REPRODUCTION-FIRST (`bug-repro.ts`). Before a bug goal's first plan, a test
|
|
2942
|
+
* is written and run red on the base tree, and its text travels into the plan and every round.
|
|
2943
|
+
* A bug that does not show asks one question instead of spending a fix attempt — only when the
|
|
2944
|
+
* reproduction happened in THIS Start, so a resumed goal is never asked the same thing twice.
|
|
2945
|
+
*/
|
|
2946
|
+
if (verdict.compile && scope !== null && binding.kind === 'bound' && (0, bug_repro_1.isBugGoal)(binding.goal.text)) {
|
|
2947
|
+
let repro = reproStore.read(binding.goal.id, binding.goal.version);
|
|
2948
|
+
if (repro === null) {
|
|
2949
|
+
log('repro : this is a bug — writing a test that shows it before planning the fix');
|
|
2950
|
+
repro = await (0, bug_repro_1.reproduceBug)({
|
|
2951
|
+
goalId: binding.goal.id,
|
|
2952
|
+
goalVersion: binding.goal.version,
|
|
2953
|
+
goalText: binding.goal.text,
|
|
2954
|
+
projectName: config.project.name,
|
|
2955
|
+
gates: config.gates,
|
|
2956
|
+
}, {
|
|
2957
|
+
invoke: agent,
|
|
2958
|
+
run: (0, untrusted_gate_1.makeUntrustedGateRunner)(cwd),
|
|
2959
|
+
git: { changedEntries: () => git.changedEntries(), headSha: () => git.headSha(), discard: () => git.discard() },
|
|
2960
|
+
readFile: (0, bug_repro_1.checkoutReader)(cwd),
|
|
2961
|
+
download: (0, bug_repro_1.nodeAttachmentDownloader)(cwd),
|
|
2962
|
+
now: () => new Date(),
|
|
2963
|
+
log,
|
|
2964
|
+
});
|
|
2965
|
+
try {
|
|
2966
|
+
reproStore.write(repro);
|
|
2967
|
+
}
|
|
2968
|
+
catch (e) {
|
|
2969
|
+
log(`repro : the record could not be written — ${e.message}`);
|
|
2970
|
+
}
|
|
2971
|
+
log(repro.outcome === 'reproduced'
|
|
2972
|
+
? `repro : reproduced — "${repro.test}" fails on the base tree (exit ${repro.failedBefore?.exitCode ?? '?'})`
|
|
2973
|
+
: `repro : ${repro.outcome} — ${repro.because ?? ''}`);
|
|
2974
|
+
if (repro.outcome === 'question')
|
|
2975
|
+
reproAsks = (0, bug_repro_1.reproQuestion)(repro);
|
|
2976
|
+
}
|
|
2977
|
+
else if (repro.outcome === 'question') {
|
|
2978
|
+
log('repro : a question was already asked for this goal; going on without a reproduction');
|
|
2979
|
+
}
|
|
2980
|
+
}
|
|
2981
|
+
if (reproAsks === null && verdict.compile && scope !== null && binding.kind === 'bound') {
|
|
2935
2982
|
compiledThisRun = true;
|
|
2936
2983
|
log(`compile : ${binding.goal.text}`);
|
|
2937
2984
|
// Read before the compile: the compiler is told not to change anything, and every check of its
|
|
2938
2985
|
// answer (the first and any re-plan) is made against the same committed tree.
|
|
2939
2986
|
const compiledAt = await git.headTreeSha().catch(() => null);
|
|
2987
|
+
// A reproduced bug's test rides with the goal's words: the plan's first job is to make it pass.
|
|
2988
|
+
const planText = (0, bug_repro_1.withReproduction)(binding.goal.text, reproFor(binding.goal.id, binding.goal.version));
|
|
2940
2989
|
const recovered = await (0, plan_recovery_1.compileWithRecovery)({
|
|
2941
2990
|
goalId: binding.goal.id,
|
|
2942
2991
|
goalVersion: binding.goal.version,
|
|
2943
|
-
goalText:
|
|
2992
|
+
goalText: planText,
|
|
2944
2993
|
projectId,
|
|
2945
2994
|
projectName: config.project.name,
|
|
2946
2995
|
/**
|
|
@@ -3291,7 +3340,7 @@ async function runLoop(opts) {
|
|
|
3291
3340
|
adaptive = await (0, goal_adaptive_1.decideAdaptive)({
|
|
3292
3341
|
goalId: scope.goalId,
|
|
3293
3342
|
goalVersion: bound.version,
|
|
3294
|
-
goalText: bound.text,
|
|
3343
|
+
goalText: (0, bug_repro_1.withReproduction)(bound.text, reproFor(scope.goalId, bound.version)),
|
|
3295
3344
|
projectId,
|
|
3296
3345
|
projectName: config.project.name,
|
|
3297
3346
|
currentRevision: revision,
|
|
@@ -3337,7 +3386,18 @@ async function runLoop(opts) {
|
|
|
3337
3386
|
...(config.run.baseBranch === undefined ? {} : { configuredBase: config.run.baseBranch }),
|
|
3338
3387
|
log,
|
|
3339
3388
|
});
|
|
3340
|
-
|
|
3389
|
+
// A reproduced bug is met only when its test passes at this tree, run by the machine (`bug-repro.ts`).
|
|
3390
|
+
const gap = await (0, goal_gap_1.evaluateGoalGap)(screenshots.length > 0 ? { ...i, screenshots } : i, { invoke: planAgent });
|
|
3391
|
+
return (0, bug_repro_1.evaluateWithReproduction)(gap, reproFor(goalId, bound.version), {
|
|
3392
|
+
run: (0, untrusted_gate_1.makeUntrustedGateRunner)(cwd),
|
|
3393
|
+
readFile: (0, bug_repro_1.checkoutReader)(cwd),
|
|
3394
|
+
headSha: () => git.headSha(),
|
|
3395
|
+
changedPaths: () => git.changedPaths(),
|
|
3396
|
+
discard: () => git.discard(),
|
|
3397
|
+
store: reproStore,
|
|
3398
|
+
now: () => new Date(),
|
|
3399
|
+
log,
|
|
3400
|
+
});
|
|
3341
3401
|
},
|
|
3342
3402
|
// The same recovery as the first plan: re-plan refused steps, read an empty answer as
|
|
3343
3403
|
// an instruction, and fall back to one direct step before this revision is empty.
|
|
@@ -3598,6 +3658,8 @@ async function runLoop(opts) {
|
|
|
3598
3658
|
* of that block and the ending is written there, before any of them.
|
|
3599
3659
|
*/
|
|
3600
3660
|
const nothingPickableBecause = () => {
|
|
3661
|
+
if (reproAsks !== null)
|
|
3662
|
+
return reproAsks;
|
|
3601
3663
|
if (seamFailure !== null)
|
|
3602
3664
|
return `could not check this goal — ${seamFailure}`;
|
|
3603
3665
|
const said = adaptive === null ? null : (0, goal_adaptive_1.describeAdaptive)(adaptive, attestedNow(), coverage);
|
|
@@ -3700,6 +3762,11 @@ async function runLoop(opts) {
|
|
|
3700
3762
|
// disk. That is safe — the write is one whole-file rename and the next
|
|
3701
3763
|
// Start converges on the same rows — but the message should not claim more
|
|
3702
3764
|
// than it knows, so it says what happened rather than what it hopes.
|
|
3765
|
+
// The bug did not show: one precise question on the ticket, before any fix is attempted.
|
|
3766
|
+
if (reproAsks !== null) {
|
|
3767
|
+
await releaseHold();
|
|
3768
|
+
throw new RunRefused(reproAsks, 'human_required');
|
|
3769
|
+
}
|
|
3703
3770
|
if (seamFailure !== null) {
|
|
3704
3771
|
await releaseHold();
|
|
3705
3772
|
throw new Error(`could not check this goal — ${seamFailure}`);
|
|
@@ -3951,7 +4018,7 @@ async function runLoop(opts) {
|
|
|
3951
4018
|
* bound to — a second read could straddle an amendment and show a
|
|
3952
4019
|
* goal this work was never authorised against.
|
|
3953
4020
|
*/
|
|
3954
|
-
binding.kind === 'bound' ? binding.goal.text : undefined,
|
|
4021
|
+
binding.kind === 'bound' ? (0, bug_repro_1.withReproduction)(binding.goal.text, reproFor(binding.goal.id, binding.goal.version)) : undefined,
|
|
3955
4022
|
// The other repositories this change spans, resolved once for the run.
|
|
3956
4023
|
span),
|
|
3957
4024
|
timeoutMs: AGENT_TIMEOUT_MS,
|