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.
@@ -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 list = (await call('GET', `/deployments?sha=${sha}&per_page=30`)) ?? [];
158
- // Newest first from GitHub; only the newest deployment per environment is asked for its status.
159
- const seen = new Set();
160
- const out = [];
161
- for (const d of list) {
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 });
@@ -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,CAsFvE"}
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"}
@@ -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', `Looply needs a person to decide something before it can go on${refusal === null ? '.' : `: ${refusal}.`}`);
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":"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"}
1
+ {"version":3,"file":"pursuit-ending.js","sourceRoot":"","sources":["../src/pursuit-ending.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-cmd.d.ts","sourceRoot":"","sources":["../src/run-cmd.ts"],"names":[],"mappings":"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"}
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
- if (verdict.compile && scope !== null && binding.kind === 'bound') {
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: binding.goal.text,
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
- return (0, goal_gap_1.evaluateGoalGap)(screenshots.length > 0 ? { ...i, screenshots } : i, { invoke: planAgent });
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,