@nairon-ai/aegis 0.6.0 → 0.6.1

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/.flue/app.ts CHANGED
@@ -29,12 +29,14 @@ async function appCallBugFixAgent<T>(
29
29
  context: AgentRunContext,
30
30
  env?: Bindings,
31
31
  ctx?: ExecutionContext,
32
+ signal?: AbortSignal,
32
33
  ): Promise<T> {
33
34
  const response = await flueApp.fetch(
34
35
  new Request(`https://aegis.internal/agents/bug-fix/${context.runId}`, {
35
36
  method: "POST",
36
37
  headers: { "Content-Type": "application/json" },
37
38
  body: JSON.stringify(context),
39
+ signal,
38
40
  }),
39
41
  env,
40
42
  ctx,
package/README.md CHANGED
@@ -265,6 +265,14 @@ npx --yes @nairon-ai/aegis@latest logs
265
265
 
266
266
  `logs` is live. Press `Ctrl-C` to stop it.
267
267
 
268
+ Recover stuck runs:
269
+
270
+ ```bash
271
+ npx --yes @nairon-ai/aegis@latest recover
272
+ ```
273
+
274
+ This marks any run that has been stuck without a tracker update for 20+ minutes as blocked, posts a plain-English failure note on the ticket, and sends Telegram a short failure message when Telegram is configured. Deployed Aegis also runs this watchdog before cron/manual pickup.
275
+
268
276
  ## Approval Flow
269
277
 
270
278
  Aegis posts the full RCA to GitHub/Linear.
@@ -1,5 +1,5 @@
1
1
  import type { AegisConfig, AgentRunContext, Bindings, ReadinessDecision, WorkItem, WorkRun } from "../shared/types.js";
2
- export type BugFixAgentCaller = <T>(context: AgentRunContext, env?: Bindings, ctx?: ExecutionContext) => Promise<T>;
2
+ export type BugFixAgentCaller = <T>(context: AgentRunContext, env?: Bindings, ctx?: ExecutionContext, signal?: AbortSignal) => Promise<T>;
3
3
  export declare function startPlanRun(params: {
4
4
  config: AegisConfig;
5
5
  item: WorkItem;
@@ -8,6 +8,7 @@ export declare function startPlanRun(params: {
8
8
  callAgent?: BugFixAgentCaller;
9
9
  env?: Bindings;
10
10
  ctx?: ExecutionContext;
11
+ signal?: AbortSignal;
11
12
  }): Promise<void>;
12
13
  export declare function startImplementationRun(params: {
13
14
  config: AegisConfig;
@@ -17,5 +18,6 @@ export declare function startImplementationRun(params: {
17
18
  callAgent?: BugFixAgentCaller;
18
19
  env?: Bindings;
19
20
  ctx?: ExecutionContext;
21
+ signal?: AbortSignal;
20
22
  }): Promise<void>;
21
23
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/agent/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,WAAW,EAGX,eAAe,EACf,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,OAAO,EACP,MAAM,oBAAoB,CAAC;AAG5B,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,EACjC,OAAO,EAAE,eAAe,EACxB,GAAG,CAAC,EAAE,QAAQ,EACd,GAAG,CAAC,EAAE,gBAAgB,KAClB,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhB,wBAAsB,YAAY,CAAC,MAAM,EAAE;IAC1C,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BhB;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACpD,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwChB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/agent/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,WAAW,EAGX,eAAe,EACf,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,OAAO,EACP,MAAM,oBAAoB,CAAC;AAG5B,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,EACjC,OAAO,EAAE,eAAe,EACxB,GAAG,CAAC,EAAE,QAAQ,EACd,GAAG,CAAC,EAAE,gBAAgB,EACtB,MAAM,CAAC,EAAE,WAAW,KAChB,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhB,wBAAsB,YAAY,CAAC,MAAM,EAAE;IAC1C,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BhB;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACpD,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyChB"}
@@ -8,7 +8,7 @@ export async function startPlanRun(params) {
8
8
  item: params.item,
9
9
  run: params.run,
10
10
  command: "plan",
11
- }), params.callAgent, params.env, params.ctx);
11
+ }), params.callAgent, params.env, params.ctx, params.signal);
12
12
  const source = sourceFor(params.config, params.item.source);
13
13
  if (result.outcome === "needs-info") {
14
14
  await source.postNeedsInfo(params.item, result.question ?? result.humanSummary);
@@ -29,7 +29,7 @@ export async function startImplementationRun(params) {
29
29
  command: "implement",
30
30
  approval: { approvedBy: params.approvedBy, approvedAt: new Date().toISOString() },
31
31
  });
32
- const result = await callBugFixAgent(params.config, context, params.callAgent, params.env, params.ctx);
32
+ const result = await callBugFixAgent(params.config, context, params.callAgent, params.env, params.ctx, params.signal);
33
33
  const source = sourceFor(params.config, params.item.source);
34
34
  if (result.outcome !== "implemented" || result.confidence === "low") {
35
35
  await source.markBlocked(params.item, result.blocker ??
@@ -71,9 +71,9 @@ async function buildAgentContext(params) {
71
71
  approval: params.approval,
72
72
  };
73
73
  }
74
- async function callBugFixAgent(config, context, callAgent, env, ctx) {
74
+ async function callBugFixAgent(config, context, callAgent, env, ctx, signal) {
75
75
  if (callAgent)
76
- return await callAgent(context, env, ctx);
76
+ return await callAgent(context, env, ctx, signal);
77
77
  if (!config.workerUrl) {
78
78
  throw new Error("AEGIS_WORKER_URL is required so the Worker can invoke its Flue agent");
79
79
  }
@@ -81,6 +81,7 @@ async function callBugFixAgent(config, context, callAgent, env, ctx) {
81
81
  method: "POST",
82
82
  headers: { "Content-Type": "application/json" },
83
83
  body: JSON.stringify(context),
84
+ signal,
84
85
  });
85
86
  if (!response.ok) {
86
87
  const text = await response.text();
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/agent/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/agent/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare const recoverCommand: import("citty").CommandDef<{
2
+ readonly "older-than-minutes": {
3
+ readonly type: "string";
4
+ readonly description: "Only recover runs with no tracker update for this many minutes";
5
+ readonly default: string;
6
+ };
7
+ }>;
8
+ export declare function runRecover(options: {
9
+ olderThanMinutes: number;
10
+ }): Promise<void>;
11
+ //# sourceMappingURL=recover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recover.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/recover.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc;;;;;;EAiBzB,CAAC;AAEH,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBrF"}
@@ -0,0 +1,46 @@
1
+ import { defineCommand } from "citty";
2
+ import { consola } from "consola";
3
+ import { recoverStaleRuns } from "../../core/runs.js";
4
+ import { configFromCli } from "../../shared/config.js";
5
+ import { loadConfig } from "../state.js";
6
+ const DEFAULT_STALE_RUN_MINUTES = 20;
7
+ export const recoverCommand = defineCommand({
8
+ meta: { name: "recover", description: "Mark stale Aegis runs as blocked" },
9
+ args: {
10
+ "older-than-minutes": {
11
+ type: "string",
12
+ description: "Only recover runs with no tracker update for this many minutes",
13
+ default: String(DEFAULT_STALE_RUN_MINUTES),
14
+ },
15
+ },
16
+ async run({ args }) {
17
+ await runRecover({
18
+ olderThanMinutes: parsePositiveInteger(String(args["older-than-minutes"] ?? DEFAULT_STALE_RUN_MINUTES), DEFAULT_STALE_RUN_MINUTES),
19
+ });
20
+ },
21
+ });
22
+ export async function runRecover(options) {
23
+ const config = configFromCli(loadConfig());
24
+ if (!config.monitoredRepo) {
25
+ consola.error("MONITORED_REPO is missing. Run `aegis setup` first.");
26
+ return;
27
+ }
28
+ consola.start(`Checking for Aegis runs stale for ${options.olderThanMinutes}+ minutes...`);
29
+ const results = await recoverStaleRuns(config, options);
30
+ if (!results.length) {
31
+ consola.info("No active Aegis runs found.");
32
+ return;
33
+ }
34
+ for (const result of results) {
35
+ const line = `${result.runId} ${result.identifier} ${result.status} - ${result.reason}`;
36
+ if (result.status === "blocked")
37
+ consola.warn(line);
38
+ else
39
+ consola.info(line);
40
+ }
41
+ }
42
+ function parsePositiveInteger(value, fallback) {
43
+ const parsed = Number.parseInt(value, 10);
44
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
45
+ }
46
+ //# sourceMappingURL=recover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recover.js","sourceRoot":"","sources":["../../../src/cli/commands/recover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;IAC3C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;IAC1E,IAAI,EAAE;QACL,oBAAoB,EAAE;YACrB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gEAAgE;YAC7E,OAAO,EAAE,MAAM,CAAC,yBAAyB,CAAC;SAC1C;KACD;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACjB,MAAM,UAAU,CAAC;YAChB,gBAAgB,EAAE,oBAAoB,CACrC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,yBAAyB,CAAC,EAC/D,yBAAyB,CACzB;SACD,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAqC;IACrE,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO;IACR,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,qCAAqC,OAAO,CAAC,gBAAgB,cAAc,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC5C,OAAO;IACR,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACxF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa,EAAE,QAAgB;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClE,CAAC"}
@@ -8,6 +8,7 @@ import { initCommand } from "./commands/init.js";
8
8
  import { logsCommand } from "./commands/logs.js";
9
9
  import { peekCommand } from "./commands/peek.js";
10
10
  import { pickupCommand } from "./commands/pickup.js";
11
+ import { recoverCommand } from "./commands/recover.js";
11
12
  import { runsCommand } from "./commands/runs.js";
12
13
  import { setupCommand } from "./commands/setup.js";
13
14
  import { statusCommand } from "./commands/status.js";
@@ -26,6 +27,7 @@ const main = defineCommand({
26
27
  runs: runsCommand,
27
28
  peek: peekCommand,
28
29
  logs: logsCommand,
30
+ recover: recoverCommand,
29
31
  status: statusCommand,
30
32
  deploy: deployCommand,
31
33
  disconnect: disconnectCommand,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,IAAI,GAAG,aAAa,CAAC;IAC1B,IAAI,EAAE;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,iBAAiB,EAAE;QAC5B,WAAW,EAAE,0CAA0C;KACvD;IACD,OAAO,EAAE,MAAM;IACf,WAAW,EAAE;QACZ,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,iBAAiB;QAC7B,IAAI,EAAE,aAAa,CAAC;YACnB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,EAAE,IAAI,EAAE;YAC9E,KAAK,CAAC,GAAG;gBACR,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC5E,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAClC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;oBAC/D,MAAM,cAAc,EAAE,CAAC;oBACvB,OAAO;gBACR,CAAC;gBACD,MAAM,kBAAkB,EAAE,CAAC;YAC5B,CAAC;SACD,CAAC;KACF;CACD,CAAC,CAAC;AAEH,OAAO,CAAC,IAAI,CAAC,CAAC;AAEd,SAAS,iBAAiB;IACzB,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAEjF,CAAC;QACF,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,OAAO,CAAC;IAChB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,IAAI,GAAG,aAAa,CAAC;IAC1B,IAAI,EAAE;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,iBAAiB,EAAE;QAC5B,WAAW,EAAE,0CAA0C;KACvD;IACD,OAAO,EAAE,MAAM;IACf,WAAW,EAAE;QACZ,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,iBAAiB;QAC7B,IAAI,EAAE,aAAa,CAAC;YACnB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,EAAE,IAAI,EAAE;YAC9E,KAAK,CAAC,GAAG;gBACR,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC5E,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAClC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;oBAC/D,MAAM,cAAc,EAAE,CAAC;oBACvB,OAAO;gBACR,CAAC;gBACD,MAAM,kBAAkB,EAAE,CAAC;YAC5B,CAAC;SACD,CAAC;KACF;CACD,CAAC,CAAC;AAEH,OAAO,CAAC,IAAI,CAAC,CAAC;AAEd,SAAS,iBAAiB;IACzB,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAEjF,CAAC;QACF,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,OAAO,CAAC;IAChB,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/cli/state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,MAAM,MAAM,UAAU,GAAG;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,wBAAgB,UAAU,IAAI,cAAc,CAK3C;AAgHD,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CA4CvD;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CAoB7C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAUlD;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0BxD"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/cli/state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,MAAM,MAAM,UAAU,GAAG;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,wBAAgB,UAAU,IAAI,cAAc,CAK3C;AAgHD,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CA4CvD;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CAoB7C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAUlD;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8BxD"}
@@ -205,6 +205,10 @@ export async function runInteractiveMenu() {
205
205
  const { runRuns } = await import("./commands/runs.js");
206
206
  await runRuns();
207
207
  }
208
+ if (choice === "recover") {
209
+ const { runRecover } = await import("./commands/recover.js");
210
+ await runRecover({ olderThanMinutes: 20 });
211
+ }
208
212
  if (choice === "setup") {
209
213
  const { runSetupWizard } = await import("./commands/setup.js");
210
214
  await runSetupWizard();
@@ -230,6 +234,7 @@ async function promptMenuChoice() {
230
234
  options: [
231
235
  { label: "Find ready bugs (dry run)", value: "pickup" },
232
236
  { label: "View active runs", value: "runs" },
237
+ { label: "Recover stale runs", value: "recover" },
233
238
  { label: "Run setup", value: "setup" },
234
239
  { label: "View status", value: "status" },
235
240
  { label: "Deploy worker", value: "deploy" },
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/cli/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/cli/state.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,16 @@
1
- import type { AegisConfig, RunSnapshot } from "../shared/types.js";
1
+ import type { AegisConfig, RunSnapshot, WorkItem } from "../shared/types.js";
2
2
  export declare function listRunSnapshots(config: AegisConfig, options?: {
3
3
  all?: boolean;
4
4
  }): Promise<RunSnapshot[]>;
5
+ export type StaleRunRecovery = {
6
+ runId: string;
7
+ identifier: string;
8
+ source: WorkItem["source"];
9
+ status: "blocked" | "still-active";
10
+ ageMinutes?: number;
11
+ reason: string;
12
+ };
13
+ export declare function recoverStaleRuns(config: AegisConfig, options: {
14
+ olderThanMinutes: number;
15
+ }): Promise<StaleRunRecovery[]>;
5
16
  //# sourceMappingURL=runs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/core/runs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAA4B,MAAM,oBAAoB,CAAC;AAY7F,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,OAAO,CAAC,WAAW,EAAE,CAAC,CAMxB"}
1
+ {"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/core/runs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAkB,MAAM,oBAAoB,CAAC;AAa7F,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,OAAO,CAAC,WAAW,EAAE,CAAC,CAMxB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,EAAE,SAAS,GAAG,cAAc,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,GACnC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAgD7B"}
@@ -1,6 +1,8 @@
1
1
  import { GitHubClient } from "../integrations/github.js";
2
2
  import { LinearClient } from "../integrations/linear.js";
3
+ import { sendTelegramMessage } from "../integrations/telegram.js";
3
4
  import { runFromItem } from "../shared/run-state.js";
5
+ import { sourceFor } from "../sources/index.js";
4
6
  const ACTIVE_STATUSES = ["claimed", "planning", "implementing"];
5
7
  const TRACKED_STATUSES = [
6
8
  "claimed",
@@ -15,6 +17,48 @@ export async function listRunSnapshots(config, options = {}) {
15
17
  const snapshots = await Promise.all(statuses.map((status) => listRunSnapshotsForStatus(config, status)));
16
18
  return dedupeSnapshots(snapshots.flat());
17
19
  }
20
+ export async function recoverStaleRuns(config, options) {
21
+ const activeRuns = await listRunSnapshots(config);
22
+ const now = Date.now();
23
+ const results = [];
24
+ for (const snapshot of activeRuns) {
25
+ const updatedAt = snapshot.item.updatedAt ? Date.parse(snapshot.item.updatedAt) : Number.NaN;
26
+ if (!Number.isFinite(updatedAt)) {
27
+ results.push({
28
+ runId: snapshot.run.id,
29
+ identifier: snapshot.item.identifier,
30
+ source: snapshot.item.source,
31
+ status: "still-active",
32
+ reason: "No tracker updatedAt timestamp available.",
33
+ });
34
+ continue;
35
+ }
36
+ const ageMinutes = Math.floor((now - updatedAt) / 60_000);
37
+ if (ageMinutes < options.olderThanMinutes) {
38
+ results.push({
39
+ runId: snapshot.run.id,
40
+ identifier: snapshot.item.identifier,
41
+ source: snapshot.item.source,
42
+ status: "still-active",
43
+ ageMinutes,
44
+ reason: `Updated ${ageMinutes} minute(s) ago.`,
45
+ });
46
+ continue;
47
+ }
48
+ const message = staleRunMessage(snapshot.run.id, options.olderThanMinutes);
49
+ await sourceFor(config, snapshot.item.source).markBlocked(snapshot.item, message);
50
+ await sendTelegramMessage(config, `Aegis stopped ${snapshot.item.identifier}: it did not finish an RCA within ${options.olderThanMinutes} minutes.\n\nRun: ${snapshot.run.id}\nTicket: ${snapshot.item.url}`);
51
+ results.push({
52
+ runId: snapshot.run.id,
53
+ identifier: snapshot.item.identifier,
54
+ source: snapshot.item.source,
55
+ status: "blocked",
56
+ ageMinutes,
57
+ reason: `No RCA was posted within ${options.olderThanMinutes} minute(s).`,
58
+ });
59
+ }
60
+ return results;
61
+ }
18
62
  async function listRunSnapshotsForStatus(config, status) {
19
63
  const [githubItems, linearItems] = await Promise.all([
20
64
  listGitHubItems(config, status),
@@ -76,4 +120,20 @@ function linearStatusNameForStatus(config, status) {
76
120
  return config.linear?.blockedStatusName;
77
121
  return undefined;
78
122
  }
123
+ function staleRunMessage(runId, olderThanMinutes) {
124
+ return `Aegis stopped this run because it did not finish an RCA within ${olderThanMinutes} minutes.
125
+
126
+ Run: \`${runId}\`
127
+
128
+ What this means:
129
+ - Aegis claimed the ticket and started the sandbox.
130
+ - It did not post a root-cause analysis or approval summary in time.
131
+ - The safest action is to retry after checking logs.
132
+
133
+ Useful commands:
134
+ - \`aegis peek ${runId}\`
135
+ - \`aegis logs ${runId}\`
136
+
137
+ To retry, move this ticket back to the ready status/label.`;
138
+ }
79
139
  //# sourceMappingURL=runs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runs.js","sourceRoot":"","sources":["../../src/core/runs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runs.js","sourceRoot":"","sources":["../../src/core/runs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAc5D,OAAO,KAAK,EACX,QAAQ,EAER,iBAAiB,EAGjB,MAAM,oBAAoB,CAAC;AAG5B,KAAK,YAAY,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAC3C,KAAK,eAAe,GAAG;IACtB,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC3E,CAAC;AAEF,wBAAgB,cAAc,CAAC,OAAO,GAAE,eAAoB,6DAsL3D;AAED,wBAAsB,eAAe,CACpC,WAAW,EAAE,mBAAmB,EAChC,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,gBAAgB,EACrB,SAAS,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,IAAI,CAAC,CASf"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAc5D,OAAO,KAAK,EACX,QAAQ,EAER,iBAAiB,EAGjB,MAAM,oBAAoB,CAAC;AAG5B,KAAK,YAAY,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAC3C,KAAK,eAAe,GAAG;IACtB,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC3E,CAAC;AAKF,wBAAgB,cAAc,CAAC,OAAO,GAAE,eAAoB,6DAkM3D;AAED,wBAAsB,eAAe,CACpC,WAAW,EAAE,mBAAmB,EAChC,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,gBAAgB,EACrB,SAAS,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAcf"}
@@ -1,7 +1,7 @@
1
1
  import { Hono } from "hono";
2
2
  import { startImplementationRun, startPlanRun } from "../agent/client.js";
3
3
  import { pickupReadyBugs, scanReadyBugs } from "../core/pickup.js";
4
- import { listRunSnapshots } from "../core/runs.js";
4
+ import { listRunSnapshots, recoverStaleRuns } from "../core/runs.js";
5
5
  import { GitHubClient } from "../integrations/github.js";
6
6
  import { LinearClient } from "../integrations/linear.js";
7
7
  import { parseAegisCommand, parseTelegramUpdate, sendTelegramMessage, } from "../integrations/telegram.js";
@@ -10,6 +10,8 @@ import { configFromBindings } from "../shared/config.js";
10
10
  import { formatReadyDecisionLine } from "../shared/format.js";
11
11
  import { runFromItem } from "../shared/run-state.js";
12
12
  import { sourceFor } from "../sources/index.js";
13
+ const DEFAULT_PLAN_TIMEOUT_MINUTES = 12;
14
+ const DEFAULT_STALE_RUN_MINUTES = 20;
13
15
  export function createAegisApp(options = {}) {
14
16
  const app = new Hono();
15
17
  app.get("/", (c) => {
@@ -34,6 +36,9 @@ export function createAegisApp(options = {}) {
34
36
  });
35
37
  app.post("/api/pickup", async (c) => {
36
38
  const config = { ...configFromBindings(c.env), workerUrl: new URL(c.req.url).origin };
39
+ const recovered = await recoverStaleRuns(config, {
40
+ olderThanMinutes: staleRunMinutes(c.env),
41
+ });
37
42
  const decisions = await pickupReadyBugs({
38
43
  config,
39
44
  startRun: async (item, run, decision) => {
@@ -41,6 +46,7 @@ export function createAegisApp(options = {}) {
41
46
  },
42
47
  });
43
48
  return c.json({
49
+ recovered: recovered.filter((result) => result.status === "blocked"),
44
50
  count: decisions.length,
45
51
  decisions: decisions.map((decision) => ({
46
52
  source: decision.item.source,
@@ -60,6 +66,13 @@ export function createAegisApp(options = {}) {
60
66
  const all = c.req.query("all") === "true";
61
67
  return c.json({ runs: await listRunSnapshots(config, { all }) });
62
68
  });
69
+ app.post("/api/runs/recover", async (c) => {
70
+ const config = { ...configFromBindings(c.env), workerUrl: new URL(c.req.url).origin };
71
+ const results = await recoverStaleRuns(config, {
72
+ olderThanMinutes: staleRunMinutes(c.env),
73
+ });
74
+ return c.json({ results });
75
+ });
63
76
  app.get("/api/runs/:id/peek", async (c) => {
64
77
  if (!options.peekSandbox)
65
78
  return c.json({ error: "sandbox peek is not available" }, 501);
@@ -143,6 +156,11 @@ export function createAegisApp(options = {}) {
143
156
  }
144
157
  export async function scheduledPickup(_controller, env, ctx, callAgent) {
145
158
  const config = configFromBindings(env);
159
+ const recovered = await recoverStaleRuns(config, { olderThanMinutes: staleRunMinutes(env) });
160
+ const blocked = recovered.filter((result) => result.status === "blocked");
161
+ if (blocked.length) {
162
+ console.log(`[aegis] recovered ${blocked.length} stale run(s)`);
163
+ }
146
164
  const decisions = await pickupReadyBugs({
147
165
  config,
148
166
  startRun: async (item, run, decision) => {
@@ -167,12 +185,28 @@ async function handleCommand(env, command, item, callAgent, ctx) {
167
185
  async function startPlanSafely(env, item, run, decision, workerUrl, callAgent, ctx) {
168
186
  const baseConfig = configFromBindings(env);
169
187
  const config = { ...baseConfig, workerUrl: baseConfig.workerUrl ?? workerUrl };
188
+ const abortController = new AbortController();
189
+ const timeoutMinutes = planTimeoutMinutes(env);
170
190
  try {
171
- await startPlanRun({ config, item, run, decision, callAgent, env, ctx });
191
+ await withTimeout(startPlanRun({
192
+ config,
193
+ item,
194
+ run,
195
+ decision,
196
+ callAgent,
197
+ env,
198
+ ctx,
199
+ signal: abortController.signal,
200
+ }), timeoutMinutes * 60_000, () => abortController.abort());
172
201
  }
173
202
  catch (error) {
174
- const message = error instanceof Error ? error.message : String(error);
203
+ const message = error instanceof Error && error.name === "AegisTimeoutError"
204
+ ? `Timed out after ${timeoutMinutes} minutes while waiting for the RCA.`
205
+ : error instanceof Error
206
+ ? error.message
207
+ : String(error);
175
208
  await sourceFor(config, item.source).markBlocked(item, `Aegis failed to run: ${message}`);
209
+ await sendTelegramMessage(config, `Aegis stopped ${item.identifier}: ${message}\n\nRun: ${run.id}\nTicket: ${item.url}`);
176
210
  }
177
211
  }
178
212
  async function pickupFromWebhook(env, origin, callAgent, ctx) {
@@ -228,6 +262,38 @@ async function stopRun(env, runId, item) {
228
262
  const resolved = item ?? (await resolveItemFromRunId(config, runId));
229
263
  await sourceFor(config, resolved.source).markBlocked(resolved, `Aegis run ${runId} was stopped.`);
230
264
  }
265
+ async function withTimeout(promise, timeoutMs, onTimeout) {
266
+ let timeout;
267
+ try {
268
+ return await Promise.race([
269
+ promise,
270
+ new Promise((_resolve, reject) => {
271
+ timeout = setTimeout(() => {
272
+ onTimeout();
273
+ const error = new Error("Aegis run timed out");
274
+ error.name = "AegisTimeoutError";
275
+ reject(error);
276
+ }, timeoutMs);
277
+ }),
278
+ ]);
279
+ }
280
+ finally {
281
+ if (timeout)
282
+ clearTimeout(timeout);
283
+ }
284
+ }
285
+ function planTimeoutMinutes(env) {
286
+ return parsePositiveInteger(env.AEGIS_PLAN_TIMEOUT_MINUTES, DEFAULT_PLAN_TIMEOUT_MINUTES);
287
+ }
288
+ function staleRunMinutes(env) {
289
+ return parsePositiveInteger(env.AEGIS_STALE_RUN_MINUTES, DEFAULT_STALE_RUN_MINUTES);
290
+ }
291
+ function parsePositiveInteger(value, fallback) {
292
+ if (!value)
293
+ return fallback;
294
+ const parsed = Number.parseInt(value, 10);
295
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
296
+ }
231
297
  async function resolveItemFromRunId(config, runId) {
232
298
  const match = runId.match(/^gh-.+-(\d+)$/);
233
299
  if (match) {
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EACN,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAQrD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAQhD,MAAM,UAAU,cAAc,CAAC,UAA2B,EAAE;IAC3D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAgB,CAAC;IAErC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;QAClB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACtF,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,CAAC,CAAC,IAAI,CAAC;YACb,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACvC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;gBAC5B,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;gBACpC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;gBAC1B,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG;gBACtB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;gBAChC,IAAI,EAAE,uBAAuB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;aAC/D,CAAC,CAAC;SACH,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACtF,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC;YACvC,MAAM;YACN,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;gBACvC,MAAM,eAAe,CACpB,CAAC,CAAC,GAAG,EACL,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EACzB,OAAO,CAAC,eAAe,CACvB,CAAC;YACH,CAAC;SACD,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,IAAI,CAAC;YACb,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACvC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;gBAC5B,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;gBACpC,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;gBAChC,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE;aACvB,CAAC,CAAC;SACH,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACtF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACtF,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;QAC1C,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACzC,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,+BAA+B,EAAE,EAAE,GAAG,CAAC,CAAC;QACzF,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1C,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,QAAQ,EAAE,aAAa,IAAI,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAChF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1F,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC/B,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YACzE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,MAAM,CACX,CAAC,CAAC,GAAG,EACL,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,KAAK,EACb,SAAS,EACT,OAAO,CAAC,eAAe,CACvB,CAAC;QACF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CACtC,OAAO,EACP,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC,EACnC,MAAM,CAAC,MAAM,EAAE,aAAa,CAC5B,CAAC;QACF,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAIjC,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC7C,IACC,KAAK,KAAK,QAAQ;YAClB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EACtF,CAAC;YACF,CAAC,CAAC,YAAY,CAAC,SAAS,CACvB,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAC5E,CAAC;YACF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,OAAO,GAAG,iBAAiB,CAChC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,EAC3B,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,QAAQ,CACxC,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,QAAQ,CACnD,MAAM,CAAC,aAAa,EACpB,OAAO,CAAC,KAAK,CAAC,MAAM,CACpB,CAAC;QACF,MAAM,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CACtC,OAAO,EACP,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAChC,MAAM,CAAC,MAAM,EAAE,aAAa,CAC5B,CAAC;QACF,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAKjC,CAAC;QACF,IACC,OAAO,CAAC,gBAAgB;YACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAC9D,CAAC;YACF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,GAAG,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC9B,CAAC,CAAC,YAAY,CAAC,SAAS,CACvB,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAC5E,CAAC;gBACF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,OAAO,GAAG,iBAAiB,CAChC,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,EACxB,OAAO,CAAC,KAAK,EAAE,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,QAAQ,CACvD,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5E,MAAM,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,WAAgC,EAChC,GAAa,EACb,GAAqB,EACrB,SAA6B;IAE7B,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC;QACvC,MAAM;QACN,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;YACvC,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAC5E,CAAC;KACD,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,oCAAoC,SAAS,CAAC,MAAM,UAAU,CAAC,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,aAAa,CAC3B,GAAa,EACb,OAA6C,EAC7C,IAAc,EACd,SAA6B,EAC7B,GAAsB;IAEtB,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAC1E,OAAO;IACR,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC/B,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACxC,OAAO;IACR,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACrF,CAAC;AACF,CAAC;AAED,KAAK,UAAU,eAAe,CAC7B,GAAa,EACb,IAAc,EACd,GAAY,EACZ,QAA2B,EAC3B,SAAkB,EAClB,SAA6B,EAC7B,GAAsB;IAEtB,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;IAC/E,IAAI,CAAC;QACJ,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,wBAAwB,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;AACF,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC/B,GAAa,EACb,MAAc,EACd,SAA6B,EAC7B,GAAsB;IAEtB,MAAM,MAAM,GAAG;QACd,GAAG,kBAAkB,CAAC,GAAG,CAAC;QAC1B,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,MAAM;KACtD,CAAC;IACF,MAAM,eAAe,CAAC;QACrB,MAAM;QACN,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;YACvC,MAAM,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACzE,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CACxB,GAAa,EACb,KAAa,EACb,KAAa,EACb,IAAe,EACf,SAA6B,EAC7B,GAAsB;IAEtB,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACrE,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAChD,MAAM,sBAAsB,CAAC;QAC5B,MAAM;QACN,IAAI,EAAE,QAAQ;QACd,GAAG;QACH,UAAU,EAAE,KAAK;QACjB,SAAS;QACT,GAAG;QACH,GAAG;KACH,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,MAAM,CACpB,GAAa,EACb,KAAa,EACb,IAAY,EACZ,KAAa,EACb,IAAe,EACf,SAA6B,EAC7B,GAAsB;IAEtB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO;IACzB,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG;QACpB,GAAG,QAAQ;QACX,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI;;uBAED,KAAK;EAC1B,IAAI,EAAE;KACN,CAAC;IACF,MAAM,YAAY,CAAC;QAClB,MAAM;QACN,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC;QACxC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE;QAC9F,SAAS;QACT,GAAG;QACH,GAAG;KACH,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAa,EAAE,KAAa,EAAE,IAAe;IACnE,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACrE,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,KAAK,eAAe,CAAC,CAAC;AACnG,CAAC;AAED,KAAK,UAAU,oBAAoB,CAClC,MAA6C,EAC7C,KAAa;IAEb,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC3C,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"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"}
@@ -187,6 +187,8 @@ export type Bindings = {
187
187
  AUTOMATION_MODE?: AutomationMode;
188
188
  CONTEXT_PROFILE?: ContextProfile;
189
189
  MAX_CONCURRENT_RUNS?: string;
190
+ AEGIS_PLAN_TIMEOUT_MINUTES?: string;
191
+ AEGIS_STALE_RUN_MINUTES?: string;
190
192
  READY_LABEL?: string;
191
193
  BUG_LABEL?: string;
192
194
  IN_PROGRESS_LABEL?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7C,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,eAAe,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,YAAY,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAEjE,MAAM,MAAM,cAAc,GACvB,OAAO,GACP,YAAY,GACZ,SAAS,GACT,UAAU,GACV,mBAAmB,GACnB,cAAc,GACd,WAAW,GACX,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAEf,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElD,MAAM,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAC1B;IACA,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;IAChB,oBAAoB,EAAE,OAAO,CAAC;CAC7B,GACD;IACA,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAChB,CAAC;AAEL,MAAM,MAAM,OAAO,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACzB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;IACF,GAAG,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,WAAW,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,cAAc,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,mBAAmB,GAAG,YAAY,GAAG,SAAS,CAAC;IACxD,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,IAAI,EAAE,SAAS,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACvC,OAAO,EAAE,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;IAClD,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,IAAI,EAAE,SAAS,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,0BAA0B,EAAE,MAAM,EAAE,CAAC;IACrC,MAAM,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nairon-ai/aegis",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Self-hosted AFK bug-fixing agent for GitHub Issues and Linear",
5
5
  "type": "module",
6
6
  "repository": {
@@ -17,6 +17,7 @@ export type BugFixAgentCaller = <T>(
17
17
  context: AgentRunContext,
18
18
  env?: Bindings,
19
19
  ctx?: ExecutionContext,
20
+ signal?: AbortSignal,
20
21
  ) => Promise<T>;
21
22
 
22
23
  export async function startPlanRun(params: {
@@ -27,6 +28,7 @@ export async function startPlanRun(params: {
27
28
  callAgent?: BugFixAgentCaller;
28
29
  env?: Bindings;
29
30
  ctx?: ExecutionContext;
31
+ signal?: AbortSignal;
30
32
  }): Promise<void> {
31
33
  const result = await callBugFixAgent<AgentPlanResult>(
32
34
  params.config,
@@ -39,6 +41,7 @@ export async function startPlanRun(params: {
39
41
  params.callAgent,
40
42
  params.env,
41
43
  params.ctx,
44
+ params.signal,
42
45
  );
43
46
 
44
47
  const source = sourceFor(params.config, params.item.source);
@@ -66,6 +69,7 @@ export async function startImplementationRun(params: {
66
69
  callAgent?: BugFixAgentCaller;
67
70
  env?: Bindings;
68
71
  ctx?: ExecutionContext;
72
+ signal?: AbortSignal;
69
73
  }): Promise<void> {
70
74
  const context = await buildAgentContext({
71
75
  config: params.config,
@@ -80,6 +84,7 @@ export async function startImplementationRun(params: {
80
84
  params.callAgent,
81
85
  params.env,
82
86
  params.ctx,
87
+ params.signal,
83
88
  );
84
89
  const source = sourceFor(params.config, params.item.source);
85
90
 
@@ -145,8 +150,9 @@ async function callBugFixAgent<T>(
145
150
  callAgent?: BugFixAgentCaller,
146
151
  env?: Bindings,
147
152
  ctx?: ExecutionContext,
153
+ signal?: AbortSignal,
148
154
  ): Promise<T> {
149
- if (callAgent) return await callAgent<T>(context, env, ctx);
155
+ if (callAgent) return await callAgent<T>(context, env, ctx, signal);
150
156
 
151
157
  if (!config.workerUrl) {
152
158
  throw new Error("AEGIS_WORKER_URL is required so the Worker can invoke its Flue agent");
@@ -155,6 +161,7 @@ async function callBugFixAgent<T>(
155
161
  method: "POST",
156
162
  headers: { "Content-Type": "application/json" },
157
163
  body: JSON.stringify(context),
164
+ signal,
158
165
  });
159
166
  if (!response.ok) {
160
167
  const text = await response.text();
@@ -0,0 +1,52 @@
1
+ import { defineCommand } from "citty";
2
+ import { consola } from "consola";
3
+ import { recoverStaleRuns } from "../../core/runs.js";
4
+ import { configFromCli } from "../../shared/config.js";
5
+ import { loadConfig } from "../state.js";
6
+
7
+ const DEFAULT_STALE_RUN_MINUTES = 20;
8
+
9
+ export const recoverCommand = defineCommand({
10
+ meta: { name: "recover", description: "Mark stale Aegis runs as blocked" },
11
+ args: {
12
+ "older-than-minutes": {
13
+ type: "string",
14
+ description: "Only recover runs with no tracker update for this many minutes",
15
+ default: String(DEFAULT_STALE_RUN_MINUTES),
16
+ },
17
+ },
18
+ async run({ args }) {
19
+ await runRecover({
20
+ olderThanMinutes: parsePositiveInteger(
21
+ String(args["older-than-minutes"] ?? DEFAULT_STALE_RUN_MINUTES),
22
+ DEFAULT_STALE_RUN_MINUTES,
23
+ ),
24
+ });
25
+ },
26
+ });
27
+
28
+ export async function runRecover(options: { olderThanMinutes: number }): Promise<void> {
29
+ const config = configFromCli(loadConfig());
30
+ if (!config.monitoredRepo) {
31
+ consola.error("MONITORED_REPO is missing. Run `aegis setup` first.");
32
+ return;
33
+ }
34
+
35
+ consola.start(`Checking for Aegis runs stale for ${options.olderThanMinutes}+ minutes...`);
36
+ const results = await recoverStaleRuns(config, options);
37
+ if (!results.length) {
38
+ consola.info("No active Aegis runs found.");
39
+ return;
40
+ }
41
+
42
+ for (const result of results) {
43
+ const line = `${result.runId} ${result.identifier} ${result.status} - ${result.reason}`;
44
+ if (result.status === "blocked") consola.warn(line);
45
+ else consola.info(line);
46
+ }
47
+ }
48
+
49
+ function parsePositiveInteger(value: string, fallback: number): number {
50
+ const parsed = Number.parseInt(value, 10);
51
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
52
+ }
package/src/cli/index.ts CHANGED
@@ -9,6 +9,7 @@ import { initCommand } from "./commands/init.js";
9
9
  import { logsCommand } from "./commands/logs.js";
10
10
  import { peekCommand } from "./commands/peek.js";
11
11
  import { pickupCommand } from "./commands/pickup.js";
12
+ import { recoverCommand } from "./commands/recover.js";
12
13
  import { runsCommand } from "./commands/runs.js";
13
14
  import { setupCommand } from "./commands/setup.js";
14
15
  import { statusCommand } from "./commands/status.js";
@@ -28,6 +29,7 @@ const main = defineCommand({
28
29
  runs: runsCommand,
29
30
  peek: peekCommand,
30
31
  logs: logsCommand,
32
+ recover: recoverCommand,
31
33
  status: statusCommand,
32
34
  deploy: deployCommand,
33
35
  disconnect: disconnectCommand,
package/src/cli/state.ts CHANGED
@@ -221,6 +221,10 @@ export async function runInteractiveMenu(): Promise<void> {
221
221
  const { runRuns } = await import("./commands/runs.js");
222
222
  await runRuns();
223
223
  }
224
+ if (choice === "recover") {
225
+ const { runRecover } = await import("./commands/recover.js");
226
+ await runRecover({ olderThanMinutes: 20 });
227
+ }
224
228
  if (choice === "setup") {
225
229
  const { runSetupWizard } = await import("./commands/setup.js");
226
230
  await runSetupWizard();
@@ -247,6 +251,7 @@ async function promptMenuChoice(): Promise<string | undefined> {
247
251
  options: [
248
252
  { label: "Find ready bugs (dry run)", value: "pickup" },
249
253
  { label: "View active runs", value: "runs" },
254
+ { label: "Recover stale runs", value: "recover" },
250
255
  { label: "Run setup", value: "setup" },
251
256
  { label: "View status", value: "status" },
252
257
  { label: "Deploy worker", value: "deploy" },
package/src/core/runs.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  import { GitHubClient } from "../integrations/github.js";
2
2
  import { LinearClient } from "../integrations/linear.js";
3
+ import { sendTelegramMessage } from "../integrations/telegram.js";
3
4
  import { runFromItem } from "../shared/run-state.js";
4
5
  import type { AegisConfig, RunSnapshot, WorkItem, WorkItemStatus } from "../shared/types.js";
6
+ import { sourceFor } from "../sources/index.js";
5
7
 
6
8
  const ACTIVE_STATUSES: WorkItemStatus[] = ["claimed", "planning", "implementing"];
7
9
  const TRACKED_STATUSES: WorkItemStatus[] = [
@@ -24,6 +26,68 @@ export async function listRunSnapshots(
24
26
  return dedupeSnapshots(snapshots.flat());
25
27
  }
26
28
 
29
+ export type StaleRunRecovery = {
30
+ runId: string;
31
+ identifier: string;
32
+ source: WorkItem["source"];
33
+ status: "blocked" | "still-active";
34
+ ageMinutes?: number;
35
+ reason: string;
36
+ };
37
+
38
+ export async function recoverStaleRuns(
39
+ config: AegisConfig,
40
+ options: { olderThanMinutes: number },
41
+ ): Promise<StaleRunRecovery[]> {
42
+ const activeRuns = await listRunSnapshots(config);
43
+ const now = Date.now();
44
+ const results: StaleRunRecovery[] = [];
45
+
46
+ for (const snapshot of activeRuns) {
47
+ const updatedAt = snapshot.item.updatedAt ? Date.parse(snapshot.item.updatedAt) : Number.NaN;
48
+ if (!Number.isFinite(updatedAt)) {
49
+ results.push({
50
+ runId: snapshot.run.id,
51
+ identifier: snapshot.item.identifier,
52
+ source: snapshot.item.source,
53
+ status: "still-active",
54
+ reason: "No tracker updatedAt timestamp available.",
55
+ });
56
+ continue;
57
+ }
58
+
59
+ const ageMinutes = Math.floor((now - updatedAt) / 60_000);
60
+ if (ageMinutes < options.olderThanMinutes) {
61
+ results.push({
62
+ runId: snapshot.run.id,
63
+ identifier: snapshot.item.identifier,
64
+ source: snapshot.item.source,
65
+ status: "still-active",
66
+ ageMinutes,
67
+ reason: `Updated ${ageMinutes} minute(s) ago.`,
68
+ });
69
+ continue;
70
+ }
71
+
72
+ const message = staleRunMessage(snapshot.run.id, options.olderThanMinutes);
73
+ await sourceFor(config, snapshot.item.source).markBlocked(snapshot.item, message);
74
+ await sendTelegramMessage(
75
+ config,
76
+ `Aegis stopped ${snapshot.item.identifier}: it did not finish an RCA within ${options.olderThanMinutes} minutes.\n\nRun: ${snapshot.run.id}\nTicket: ${snapshot.item.url}`,
77
+ );
78
+ results.push({
79
+ runId: snapshot.run.id,
80
+ identifier: snapshot.item.identifier,
81
+ source: snapshot.item.source,
82
+ status: "blocked",
83
+ ageMinutes,
84
+ reason: `No RCA was posted within ${options.olderThanMinutes} minute(s).`,
85
+ });
86
+ }
87
+
88
+ return results;
89
+ }
90
+
27
91
  async function listRunSnapshotsForStatus(
28
92
  config: AegisConfig,
29
93
  status: WorkItemStatus,
@@ -88,3 +152,20 @@ function linearStatusNameForStatus(
88
152
  if (status === "blocked" || status === "failed") return config.linear?.blockedStatusName;
89
153
  return undefined;
90
154
  }
155
+
156
+ function staleRunMessage(runId: string, olderThanMinutes: number): string {
157
+ return `Aegis stopped this run because it did not finish an RCA within ${olderThanMinutes} minutes.
158
+
159
+ Run: \`${runId}\`
160
+
161
+ What this means:
162
+ - Aegis claimed the ticket and started the sandbox.
163
+ - It did not post a root-cause analysis or approval summary in time.
164
+ - The safest action is to retry after checking logs.
165
+
166
+ Useful commands:
167
+ - \`aegis peek ${runId}\`
168
+ - \`aegis logs ${runId}\`
169
+
170
+ To retry, move this ticket back to the ready status/label.`;
171
+ }
package/src/server/app.ts CHANGED
@@ -2,7 +2,7 @@ import { Hono } from "hono";
2
2
  import { startImplementationRun, startPlanRun } from "../agent/client.js";
3
3
  import type { BugFixAgentCaller } from "../agent/client.js";
4
4
  import { pickupReadyBugs, scanReadyBugs } from "../core/pickup.js";
5
- import { listRunSnapshots } from "../core/runs.js";
5
+ import { listRunSnapshots, recoverStaleRuns } from "../core/runs.js";
6
6
  import { GitHubClient } from "../integrations/github.js";
7
7
  import { LinearClient } from "../integrations/linear.js";
8
8
  import {
@@ -29,6 +29,9 @@ type AegisAppOptions = {
29
29
  peekSandbox?: (runId: string, env: Bindings) => Promise<SandboxPeekResult>;
30
30
  };
31
31
 
32
+ const DEFAULT_PLAN_TIMEOUT_MINUTES = 12;
33
+ const DEFAULT_STALE_RUN_MINUTES = 20;
34
+
32
35
  export function createAegisApp(options: AegisAppOptions = {}) {
33
36
  const app = new Hono<HonoBindings>();
34
37
 
@@ -56,6 +59,9 @@ export function createAegisApp(options: AegisAppOptions = {}) {
56
59
 
57
60
  app.post("/api/pickup", async (c) => {
58
61
  const config = { ...configFromBindings(c.env), workerUrl: new URL(c.req.url).origin };
62
+ const recovered = await recoverStaleRuns(config, {
63
+ olderThanMinutes: staleRunMinutes(c.env),
64
+ });
59
65
  const decisions = await pickupReadyBugs({
60
66
  config,
61
67
  startRun: async (item, run, decision) => {
@@ -70,6 +76,7 @@ export function createAegisApp(options: AegisAppOptions = {}) {
70
76
  },
71
77
  });
72
78
  return c.json({
79
+ recovered: recovered.filter((result) => result.status === "blocked"),
73
80
  count: decisions.length,
74
81
  decisions: decisions.map((decision) => ({
75
82
  source: decision.item.source,
@@ -92,6 +99,14 @@ export function createAegisApp(options: AegisAppOptions = {}) {
92
99
  return c.json({ runs: await listRunSnapshots(config, { all }) });
93
100
  });
94
101
 
102
+ app.post("/api/runs/recover", async (c) => {
103
+ const config = { ...configFromBindings(c.env), workerUrl: new URL(c.req.url).origin };
104
+ const results = await recoverStaleRuns(config, {
105
+ olderThanMinutes: staleRunMinutes(c.env),
106
+ });
107
+ return c.json({ results });
108
+ });
109
+
95
110
  app.get("/api/runs/:id/peek", async (c) => {
96
111
  if (!options.peekSandbox) return c.json({ error: "sandbox peek is not available" }, 501);
97
112
  return c.json(await options.peekSandbox(c.req.param("id"), c.env));
@@ -220,6 +235,11 @@ export async function scheduledPickup(
220
235
  callAgent?: BugFixAgentCaller,
221
236
  ): Promise<void> {
222
237
  const config = configFromBindings(env);
238
+ const recovered = await recoverStaleRuns(config, { olderThanMinutes: staleRunMinutes(env) });
239
+ const blocked = recovered.filter((result) => result.status === "blocked");
240
+ if (blocked.length) {
241
+ console.log(`[aegis] recovered ${blocked.length} stale run(s)`);
242
+ }
223
243
  const decisions = await pickupReadyBugs({
224
244
  config,
225
245
  startRun: async (item, run, decision) => {
@@ -260,11 +280,35 @@ async function startPlanSafely(
260
280
  ): Promise<void> {
261
281
  const baseConfig = configFromBindings(env);
262
282
  const config = { ...baseConfig, workerUrl: baseConfig.workerUrl ?? workerUrl };
283
+ const abortController = new AbortController();
284
+ const timeoutMinutes = planTimeoutMinutes(env);
263
285
  try {
264
- await startPlanRun({ config, item, run, decision, callAgent, env, ctx });
286
+ await withTimeout(
287
+ startPlanRun({
288
+ config,
289
+ item,
290
+ run,
291
+ decision,
292
+ callAgent,
293
+ env,
294
+ ctx,
295
+ signal: abortController.signal,
296
+ }),
297
+ timeoutMinutes * 60_000,
298
+ () => abortController.abort(),
299
+ );
265
300
  } catch (error) {
266
- const message = error instanceof Error ? error.message : String(error);
301
+ const message =
302
+ error instanceof Error && error.name === "AegisTimeoutError"
303
+ ? `Timed out after ${timeoutMinutes} minutes while waiting for the RCA.`
304
+ : error instanceof Error
305
+ ? error.message
306
+ : String(error);
267
307
  await sourceFor(config, item.source).markBlocked(item, `Aegis failed to run: ${message}`);
308
+ await sendTelegramMessage(
309
+ config,
310
+ `Aegis stopped ${item.identifier}: ${message}\n\nRun: ${run.id}\nTicket: ${item.url}`,
311
+ );
268
312
  }
269
313
  }
270
314
 
@@ -344,6 +388,43 @@ async function stopRun(env: Bindings, runId: string, item?: WorkItem): Promise<v
344
388
  await sourceFor(config, resolved.source).markBlocked(resolved, `Aegis run ${runId} was stopped.`);
345
389
  }
346
390
 
391
+ async function withTimeout<T>(
392
+ promise: Promise<T>,
393
+ timeoutMs: number,
394
+ onTimeout: () => void,
395
+ ): Promise<T> {
396
+ let timeout: ReturnType<typeof setTimeout> | undefined;
397
+ try {
398
+ return await Promise.race([
399
+ promise,
400
+ new Promise<never>((_resolve, reject) => {
401
+ timeout = setTimeout(() => {
402
+ onTimeout();
403
+ const error = new Error("Aegis run timed out");
404
+ error.name = "AegisTimeoutError";
405
+ reject(error);
406
+ }, timeoutMs);
407
+ }),
408
+ ]);
409
+ } finally {
410
+ if (timeout) clearTimeout(timeout);
411
+ }
412
+ }
413
+
414
+ function planTimeoutMinutes(env: Bindings): number {
415
+ return parsePositiveInteger(env.AEGIS_PLAN_TIMEOUT_MINUTES, DEFAULT_PLAN_TIMEOUT_MINUTES);
416
+ }
417
+
418
+ function staleRunMinutes(env: Bindings): number {
419
+ return parsePositiveInteger(env.AEGIS_STALE_RUN_MINUTES, DEFAULT_STALE_RUN_MINUTES);
420
+ }
421
+
422
+ function parsePositiveInteger(value: string | undefined, fallback: number): number {
423
+ if (!value) return fallback;
424
+ const parsed = Number.parseInt(value, 10);
425
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
426
+ }
427
+
347
428
  async function resolveItemFromRunId(
348
429
  config: ReturnType<typeof configFromBindings>,
349
430
  runId: string,
@@ -218,6 +218,8 @@ export type Bindings = {
218
218
  AUTOMATION_MODE?: AutomationMode;
219
219
  CONTEXT_PROFILE?: ContextProfile;
220
220
  MAX_CONCURRENT_RUNS?: string;
221
+ AEGIS_PLAN_TIMEOUT_MINUTES?: string;
222
+ AEGIS_STALE_RUN_MINUTES?: string;
221
223
  READY_LABEL?: string;
222
224
  BUG_LABEL?: string;
223
225
  IN_PROGRESS_LABEL?: string;