@nairon-ai/aegis 0.4.5 → 0.4.6

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 CHANGED
@@ -68,7 +68,7 @@ If you see `No ready bugs found`, check `MONITORED_REPO`, exact label names, iss
68
68
 
69
69
  During `setup`, choose one:
70
70
 
71
- - `One-click GitHub App`: recommended. Aegis opens a browser page, creates the app, asks you to install it on the repo, then saves the credentials. If you rerun setup later, Aegis reuses the existing app instead of creating another one.
71
+ - `One-click GitHub App`: recommended. Aegis opens a browser page, creates the app, asks you to install it on the repo, then saves the credentials. If you rerun setup later, Aegis reuses the saved app instead of creating another one. If it finds an installed Aegis app without local credentials, it helps you recover it by generating a new GitHub App private key.
72
72
  - `GitHub token`: quick local test if you already know how to create fine-grained GitHub tokens.
73
73
  - `Paste existing GitHub App credentials`: only if you already made an app manually.
74
74
 
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,YAAY,qDAKvB,CAAC;AAEH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAoCpD"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,YAAY,qDAKvB,CAAC;AAEH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAoCpD"}
@@ -111,6 +111,12 @@ async function setupGitHub(config) {
111
111
  consola.info("Using existing GitHub token from .aegis config.");
112
112
  }
113
113
  else {
114
+ const installedApps = detectInstalledAegisApps(config.monitoredRepo);
115
+ if (installedApps.length > 0) {
116
+ await setupDetectedGitHubApp(config, installedApps);
117
+ }
118
+ }
119
+ if (!hasGitHubAppConfig(config) && !config.githubToken) {
114
120
  const method = await promptSelect("Auth method:", [
115
121
  { label: "One-click GitHub App (recommended)", value: "app-flow" },
116
122
  { label: "GitHub token (quick local test)", value: "token" },
@@ -196,6 +202,42 @@ async function setupGitHubAppManual(config) {
196
202
  "If that sounds unfamiliar, cancel and rerun setup with the one-click GitHub App option.",
197
203
  ]);
198
204
  config.githubAppId = await promptText("GitHub App ID:", config.githubAppId);
205
+ await promptGitHubAppPrivateKey(config);
206
+ config.githubInstallationId = await promptText("GitHub App installation ID:", config.githubInstallationId);
207
+ config.githubToken = undefined;
208
+ }
209
+ async function setupDetectedGitHubApp(config, installedApps) {
210
+ const installationId = installedApps.length === 1
211
+ ? installedApps[0].installationId
212
+ : await promptSelect("Existing Aegis GitHub App:", installedApps.map((app) => ({
213
+ label: `${app.slug} (installation ${app.installationId})`,
214
+ value: app.installationId,
215
+ })));
216
+ const selected = installedApps.find((app) => app.installationId === installationId);
217
+ if (!selected)
218
+ return;
219
+ printStep("Existing Aegis GitHub App found", [
220
+ `Found ${selected.slug} installed on this GitHub org.`,
221
+ "GitHub does not let Aegis read an old private key back.",
222
+ "To reuse this app, generate a new private key from the app settings and paste it here.",
223
+ "If you would rather create a fresh app, answer no.",
224
+ ]);
225
+ const useExisting = await promptConfirm("Reuse this installed GitHub App?", true);
226
+ if (!useExisting)
227
+ return;
228
+ config.githubAppId = selected.appId;
229
+ config.githubInstallationId = selected.installationId;
230
+ config.githubToken = undefined;
231
+ await promptGitHubAppPrivateKey(config, selected.settingsUrl);
232
+ saveConfig(config);
233
+ consola.success(`Saved existing GitHub App credentials to ${resolveEnvFileForWrite()}.`);
234
+ }
235
+ async function promptGitHubAppPrivateKey(config, settingsUrl) {
236
+ printStep("GitHub App private key", [
237
+ settingsUrl ? `Open: ${settingsUrl}` : "Open the GitHub App settings page.",
238
+ "Find Private keys, click Generate a private key, then paste the downloaded .pem path.",
239
+ "GitHub only gives private keys at creation/download time; Aegis cannot fetch old keys.",
240
+ ]);
199
241
  const keyPath = await promptText("Path to GitHub App private key .pem:", undefined);
200
242
  if (keyPath) {
201
243
  const resolved = resolve(keyPath.replace(/^~/, process.env.HOME ?? "~"));
@@ -210,12 +252,51 @@ async function setupGitHubAppManual(config) {
210
252
  if (!config.githubAppPrivateKey) {
211
253
  config.githubAppPrivateKey = Buffer.from(await promptText("Paste GitHub App private key PEM:", config.githubAppPrivateKey)).toString("base64");
212
254
  }
213
- config.githubInstallationId = await promptText("GitHub App installation ID:", config.githubInstallationId);
214
- config.githubToken = undefined;
215
255
  }
216
256
  function hasGitHubAppConfig(config) {
217
257
  return Boolean(config.githubAppId && config.githubAppPrivateKey && config.githubInstallationId);
218
258
  }
259
+ function detectInstalledAegisApps(monitoredRepo) {
260
+ if (!monitoredRepo)
261
+ return [];
262
+ const [owner, repo] = monitoredRepo.split("/");
263
+ if (!owner || !repo)
264
+ return [];
265
+ const payload = runGhApi([
266
+ "api",
267
+ `orgs/${owner}/installations`,
268
+ ]);
269
+ const installations = payload?.installations ?? [];
270
+ const repoSlug = slugify(repo);
271
+ const ownerSlug = slugify(owner);
272
+ const aegisApps = installations
273
+ .filter((installation) => installation.app_slug?.startsWith("aegis"))
274
+ .map((installation) => ({
275
+ appId: String(installation.app_id),
276
+ installationId: String(installation.id),
277
+ slug: installation.app_slug,
278
+ settingsUrl: `https://github.com/organizations/${owner}/settings/apps/${installation.app_slug}`,
279
+ }));
280
+ const repoMatches = aegisApps.filter((app) => app.slug.includes(repoSlug) || app.slug.includes(`${ownerSlug}-${repoSlug}`));
281
+ return repoMatches.length > 0 ? repoMatches : aegisApps;
282
+ }
283
+ function runGhApi(args) {
284
+ try {
285
+ return JSON.parse(execFileSync("gh", args, {
286
+ encoding: "utf-8",
287
+ stdio: ["ignore", "pipe", "ignore"],
288
+ }));
289
+ }
290
+ catch {
291
+ return undefined;
292
+ }
293
+ }
294
+ function slugify(value) {
295
+ return value
296
+ .toLowerCase()
297
+ .replace(/[^a-z0-9]+/g, "-")
298
+ .replace(/^-|-$/g, "");
299
+ }
219
300
  async function setupLinear(config) {
220
301
  printStep("Step 4: optional Linear connection", [
221
302
  "Use this only if your team tracks bugs in Linear.",
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
package/docs/SETUP.md CHANGED
@@ -153,7 +153,7 @@ Important answers:
153
153
 
154
154
  - `Repo to monitor`: Aegis detects `git remote origin` when you run setup inside your product repo, so this is normally automatic. If no GitHub origin exists, paste `acme/web-app` / `https://github.com/acme/web-app`.
155
155
  - `Base branch`: Aegis detects origin's default branch automatically. If detection fails, it uses `main`; edit `BASE_BRANCH` in `.aegis/.env` only if your repo uses something else.
156
- - GitHub auth: use `One-click GitHub App` unless you already know how to create a fine-grained GitHub token. If setup already saved a GitHub App, Aegis reuses it on reruns.
156
+ - GitHub auth: use `One-click GitHub App` unless you already know how to create a fine-grained GitHub token. If setup already saved a GitHub App, Aegis reuses it on reruns. If GitHub has an installed Aegis app but local credentials are missing, setup detects it and asks you to generate a new app private key so it can recover the existing app.
157
157
  - Linear team: after you paste the Linear API key, Aegis fetches your teams and lets you choose by name. You do not need to copy the Linear team UUID manually.
158
158
  - `GitHub webhook secret`: generate one and keep it in `.aegis/.env`
159
159
  - `Automation mode`: start with `plan-first`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nairon-ai/aegis",
3
- "version": "0.4.5",
3
+ "version": "0.4.6",
4
4
  "description": "Self-hosted AFK bug-fixing agent for GitHub Issues and Linear",
5
5
  "type": "module",
6
6
  "repository": {
@@ -16,6 +16,13 @@ type LinearTeam = {
16
16
  key: string;
17
17
  };
18
18
 
19
+ type InstalledGitHubApp = {
20
+ appId: string;
21
+ installationId: string;
22
+ slug: string;
23
+ settingsUrl: string;
24
+ };
25
+
19
26
  class SetupCancelledError extends Error {
20
27
  constructor() {
21
28
  super("Setup cancelled.");
@@ -126,6 +133,13 @@ async function setupGitHub(config: AegisCliConfig): Promise<void> {
126
133
  } else if (config.githubToken) {
127
134
  consola.info("Using existing GitHub token from .aegis config.");
128
135
  } else {
136
+ const installedApps = detectInstalledAegisApps(config.monitoredRepo);
137
+ if (installedApps.length > 0) {
138
+ await setupDetectedGitHubApp(config, installedApps);
139
+ }
140
+ }
141
+
142
+ if (!hasGitHubAppConfig(config) && !config.githubToken) {
129
143
  const method = await promptSelect("Auth method:", [
130
144
  { label: "One-click GitHub App (recommended)", value: "app-flow" },
131
145
  { label: "GitHub token (quick local test)", value: "token" },
@@ -217,6 +231,57 @@ async function setupGitHubAppManual(config: AegisCliConfig): Promise<void> {
217
231
  "If that sounds unfamiliar, cancel and rerun setup with the one-click GitHub App option.",
218
232
  ]);
219
233
  config.githubAppId = await promptText("GitHub App ID:", config.githubAppId);
234
+ await promptGitHubAppPrivateKey(config);
235
+ config.githubInstallationId = await promptText(
236
+ "GitHub App installation ID:",
237
+ config.githubInstallationId,
238
+ );
239
+ config.githubToken = undefined;
240
+ }
241
+
242
+ async function setupDetectedGitHubApp(
243
+ config: AegisCliConfig,
244
+ installedApps: InstalledGitHubApp[],
245
+ ): Promise<void> {
246
+ const installationId =
247
+ installedApps.length === 1
248
+ ? installedApps[0].installationId
249
+ : await promptSelect(
250
+ "Existing Aegis GitHub App:",
251
+ installedApps.map((app) => ({
252
+ label: `${app.slug} (installation ${app.installationId})`,
253
+ value: app.installationId,
254
+ })),
255
+ );
256
+ const selected = installedApps.find((app) => app.installationId === installationId);
257
+ if (!selected) return;
258
+
259
+ printStep("Existing Aegis GitHub App found", [
260
+ `Found ${selected.slug} installed on this GitHub org.`,
261
+ "GitHub does not let Aegis read an old private key back.",
262
+ "To reuse this app, generate a new private key from the app settings and paste it here.",
263
+ "If you would rather create a fresh app, answer no.",
264
+ ]);
265
+ const useExisting = await promptConfirm("Reuse this installed GitHub App?", true);
266
+ if (!useExisting) return;
267
+
268
+ config.githubAppId = selected.appId;
269
+ config.githubInstallationId = selected.installationId;
270
+ config.githubToken = undefined;
271
+ await promptGitHubAppPrivateKey(config, selected.settingsUrl);
272
+ saveConfig(config);
273
+ consola.success(`Saved existing GitHub App credentials to ${resolveEnvFileForWrite()}.`);
274
+ }
275
+
276
+ async function promptGitHubAppPrivateKey(
277
+ config: AegisCliConfig,
278
+ settingsUrl?: string,
279
+ ): Promise<void> {
280
+ printStep("GitHub App private key", [
281
+ settingsUrl ? `Open: ${settingsUrl}` : "Open the GitHub App settings page.",
282
+ "Find Private keys, click Generate a private key, then paste the downloaded .pem path.",
283
+ "GitHub only gives private keys at creation/download time; Aegis cannot fetch old keys.",
284
+ ]);
220
285
  const keyPath = await promptText("Path to GitHub App private key .pem:", undefined);
221
286
  if (keyPath) {
222
287
  const resolved = resolve(keyPath.replace(/^~/, process.env.HOME ?? "~"));
@@ -232,17 +297,64 @@ async function setupGitHubAppManual(config: AegisCliConfig): Promise<void> {
232
297
  await promptText("Paste GitHub App private key PEM:", config.githubAppPrivateKey),
233
298
  ).toString("base64");
234
299
  }
235
- config.githubInstallationId = await promptText(
236
- "GitHub App installation ID:",
237
- config.githubInstallationId,
238
- );
239
- config.githubToken = undefined;
240
300
  }
241
301
 
242
302
  function hasGitHubAppConfig(config: AegisCliConfig): boolean {
243
303
  return Boolean(config.githubAppId && config.githubAppPrivateKey && config.githubInstallationId);
244
304
  }
245
305
 
306
+ function detectInstalledAegisApps(monitoredRepo: string | undefined): InstalledGitHubApp[] {
307
+ if (!monitoredRepo) return [];
308
+ const [owner, repo] = monitoredRepo.split("/");
309
+ if (!owner || !repo) return [];
310
+
311
+ const payload = runGhApi<{ installations?: GitHubInstallation[] }>([
312
+ "api",
313
+ `orgs/${owner}/installations`,
314
+ ]);
315
+ const installations = payload?.installations ?? [];
316
+ const repoSlug = slugify(repo);
317
+ const ownerSlug = slugify(owner);
318
+ const aegisApps = installations
319
+ .filter((installation) => installation.app_slug?.startsWith("aegis"))
320
+ .map((installation) => ({
321
+ appId: String(installation.app_id),
322
+ installationId: String(installation.id),
323
+ slug: installation.app_slug,
324
+ settingsUrl: `https://github.com/organizations/${owner}/settings/apps/${installation.app_slug}`,
325
+ }));
326
+ const repoMatches = aegisApps.filter(
327
+ (app) => app.slug.includes(repoSlug) || app.slug.includes(`${ownerSlug}-${repoSlug}`),
328
+ );
329
+ return repoMatches.length > 0 ? repoMatches : aegisApps;
330
+ }
331
+
332
+ type GitHubInstallation = {
333
+ id: number;
334
+ app_id: number;
335
+ app_slug: string;
336
+ };
337
+
338
+ function runGhApi<T>(args: string[]): T | undefined {
339
+ try {
340
+ return JSON.parse(
341
+ execFileSync("gh", args, {
342
+ encoding: "utf-8",
343
+ stdio: ["ignore", "pipe", "ignore"],
344
+ }),
345
+ ) as T;
346
+ } catch {
347
+ return undefined;
348
+ }
349
+ }
350
+
351
+ function slugify(value: string): string {
352
+ return value
353
+ .toLowerCase()
354
+ .replace(/[^a-z0-9]+/g, "-")
355
+ .replace(/^-|-$/g, "");
356
+ }
357
+
246
358
  async function setupLinear(config: AegisCliConfig): Promise<void> {
247
359
  printStep("Step 4: optional Linear connection", [
248
360
  "Use this only if your team tracks bugs in Linear.",