@nairon-ai/aegis 0.5.9 → 0.5.11
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 +24 -3
- package/dist-node/agent/client.d.ts +8 -1
- package/dist-node/agent/client.d.ts.map +1 -1
- package/dist-node/agent/client.js +5 -3
- package/dist-node/agent/client.js.map +1 -1
- package/dist-node/server/app.d.ts +6 -2
- package/dist-node/server/app.d.ts.map +1 -1
- package/dist-node/server/app.js +32 -21
- package/dist-node/server/app.js.map +1 -1
- package/package.json +1 -1
- package/src/agent/client.ts +32 -2
- package/src/server/app.ts +62 -17
package/.flue/app.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { configureProvider, flue } from "@flue/sdk/app";
|
|
2
2
|
import { refreshOpenAICodexToken } from "@mariozechner/pi-ai/oauth";
|
|
3
3
|
import { createAegisApp, scheduledPickup } from "../src/server/app.js";
|
|
4
|
-
import type { Bindings } from "../src/shared/types.js";
|
|
4
|
+
import type { AgentRunContext, Bindings } from "../src/shared/types.js";
|
|
5
5
|
|
|
6
|
-
const app = createAegisApp();
|
|
7
6
|
const flueApp = flue();
|
|
7
|
+
const app = createAegisApp({ callBugFixAgent: appCallBugFixAgent });
|
|
8
8
|
|
|
9
9
|
export default {
|
|
10
10
|
async fetch(request: Request, env?: Bindings, ctx?: ExecutionContext) {
|
|
@@ -16,10 +16,31 @@ export default {
|
|
|
16
16
|
},
|
|
17
17
|
async scheduled(controller: ScheduledController, env: Bindings, ctx: ExecutionContext) {
|
|
18
18
|
await configureAgentProviders(env);
|
|
19
|
-
return scheduledPickup(controller, env, ctx);
|
|
19
|
+
return scheduledPickup(controller, env, ctx, appCallBugFixAgent);
|
|
20
20
|
},
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
+
async function appCallBugFixAgent<T>(
|
|
24
|
+
context: AgentRunContext,
|
|
25
|
+
env?: Bindings,
|
|
26
|
+
ctx?: ExecutionContext,
|
|
27
|
+
): Promise<T> {
|
|
28
|
+
const response = await flueApp.fetch(
|
|
29
|
+
new Request(`https://aegis.internal/agents/bug-fix/${context.runId}`, {
|
|
30
|
+
method: "POST",
|
|
31
|
+
headers: { "Content-Type": "application/json" },
|
|
32
|
+
body: JSON.stringify(context),
|
|
33
|
+
}),
|
|
34
|
+
env,
|
|
35
|
+
ctx,
|
|
36
|
+
);
|
|
37
|
+
if (!response.ok) {
|
|
38
|
+
const text = await response.text();
|
|
39
|
+
throw new Error(`Bug-fix agent failed: ${response.status} ${text}`);
|
|
40
|
+
}
|
|
41
|
+
return (await response.json()) as T;
|
|
42
|
+
}
|
|
43
|
+
|
|
23
44
|
async function configureAgentProviders(env?: Bindings): Promise<void> {
|
|
24
45
|
if (env?.AGENT_AUTH_METHOD !== "codex-account" || !env.CODEX_OAUTH_CREDENTIALS_B64) return;
|
|
25
46
|
const credentials = decodeCodexCredentials(env.CODEX_OAUTH_CREDENTIALS_B64);
|
|
@@ -1,14 +1,21 @@
|
|
|
1
|
-
import type { AegisConfig, ReadinessDecision, WorkItem, WorkRun } from "../shared/types.js";
|
|
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
3
|
export declare function startPlanRun(params: {
|
|
3
4
|
config: AegisConfig;
|
|
4
5
|
item: WorkItem;
|
|
5
6
|
run: WorkRun;
|
|
6
7
|
decision: ReadinessDecision;
|
|
8
|
+
callAgent?: BugFixAgentCaller;
|
|
9
|
+
env?: Bindings;
|
|
10
|
+
ctx?: ExecutionContext;
|
|
7
11
|
}): Promise<void>;
|
|
8
12
|
export declare function startImplementationRun(params: {
|
|
9
13
|
config: AegisConfig;
|
|
10
14
|
item: WorkItem;
|
|
11
15
|
run: WorkRun;
|
|
12
16
|
approvedBy: string;
|
|
17
|
+
callAgent?: BugFixAgentCaller;
|
|
18
|
+
env?: Bindings;
|
|
19
|
+
ctx?: ExecutionContext;
|
|
13
20
|
}): Promise<void>;
|
|
14
21
|
//# 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,
|
|
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"}
|
|
@@ -8,7 +8,7 @@ export async function startPlanRun(params) {
|
|
|
8
8
|
item: params.item,
|
|
9
9
|
run: params.run,
|
|
10
10
|
command: "plan",
|
|
11
|
-
}));
|
|
11
|
+
}), params.callAgent, params.env, params.ctx);
|
|
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);
|
|
32
|
+
const result = await callBugFixAgent(params.config, context, params.callAgent, params.env, params.ctx);
|
|
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,7 +71,9 @@ async function buildAgentContext(params) {
|
|
|
71
71
|
approval: params.approval,
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
|
-
async function callBugFixAgent(config, context) {
|
|
74
|
+
async function callBugFixAgent(config, context, callAgent, env, ctx) {
|
|
75
|
+
if (callAgent)
|
|
76
|
+
return await callAgent(context, env, ctx);
|
|
75
77
|
if (!config.workerUrl) {
|
|
76
78
|
throw new Error("AEGIS_WORKER_URL is required so the Worker can invoke its Flue agent");
|
|
77
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/agent/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/agent/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { Hono } from "hono";
|
|
2
|
+
import type { BugFixAgentCaller } from "../agent/client.js";
|
|
2
3
|
import type { Bindings } from "../shared/types.js";
|
|
3
4
|
type HonoBindings = {
|
|
4
5
|
Bindings: Bindings;
|
|
5
6
|
};
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
type AegisAppOptions = {
|
|
8
|
+
callBugFixAgent?: BugFixAgentCaller;
|
|
9
|
+
};
|
|
10
|
+
export declare function createAegisApp(options?: AegisAppOptions): Hono<HonoBindings, import("hono/types").BlankSchema, "/">;
|
|
11
|
+
export declare function scheduledPickup(_controller: ScheduledController, env: Bindings, ctx: ExecutionContext, callAgent?: BugFixAgentCaller): Promise<void>;
|
|
8
12
|
export {};
|
|
9
13
|
//# sourceMappingURL=app.d.ts.map
|
|
@@ -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;
|
|
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;AAa5D,OAAO,KAAK,EAAE,QAAQ,EAAwC,MAAM,oBAAoB,CAAC;AAGzF,KAAK,YAAY,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAC3C,KAAK,eAAe,GAAG;IACtB,eAAe,CAAC,EAAE,iBAAiB,CAAC;CACpC,CAAC;AAEF,wBAAgB,cAAc,CAAC,OAAO,GAAE,eAAoB,6DA2K3D;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"}
|
package/dist-node/server/app.js
CHANGED
|
@@ -9,7 +9,7 @@ import { configFromBindings } from "../shared/config.js";
|
|
|
9
9
|
import { formatReadyDecisionLine } from "../shared/format.js";
|
|
10
10
|
import { runFromItem } from "../shared/run-state.js";
|
|
11
11
|
import { sourceFor } from "../sources/index.js";
|
|
12
|
-
export function createAegisApp() {
|
|
12
|
+
export function createAegisApp(options = {}) {
|
|
13
13
|
const app = new Hono();
|
|
14
14
|
app.get("/", (c) => {
|
|
15
15
|
return c.json({ service: "aegis", status: "ok", product: "AFK bug-fixing agent" });
|
|
@@ -36,7 +36,7 @@ export function createAegisApp() {
|
|
|
36
36
|
const decisions = await pickupReadyBugs({
|
|
37
37
|
config,
|
|
38
38
|
startRun: async (item, run, decision) => {
|
|
39
|
-
|
|
39
|
+
await startPlanSafely(c.env, item, run, decision, new URL(c.req.url).origin, options.callBugFixAgent);
|
|
40
40
|
},
|
|
41
41
|
});
|
|
42
42
|
return c.json({
|
|
@@ -51,7 +51,7 @@ export function createAegisApp() {
|
|
|
51
51
|
});
|
|
52
52
|
});
|
|
53
53
|
app.post("/api/runs/:id/proceed", async (c) => {
|
|
54
|
-
await proceedRun(c.env, c.req.param("id"), "api");
|
|
54
|
+
await proceedRun(c.env, c.req.param("id"), "api", undefined, options.callBugFixAgent);
|
|
55
55
|
return c.json({ accepted: true, runId: c.req.param("id") });
|
|
56
56
|
});
|
|
57
57
|
app.post("/api/runs/:id/stop", async (c) => {
|
|
@@ -68,7 +68,7 @@ export function createAegisApp() {
|
|
|
68
68
|
if (command.action === "ignore")
|
|
69
69
|
return c.json({ ignored: true });
|
|
70
70
|
if (command.action === "proceed") {
|
|
71
|
-
await proceedRun(c.env, command.runId, command.actor);
|
|
71
|
+
await proceedRun(c.env, command.runId, command.actor, undefined, options.callBugFixAgent);
|
|
72
72
|
return c.json({ accepted: true });
|
|
73
73
|
}
|
|
74
74
|
if (command.action === "stop") {
|
|
@@ -76,7 +76,7 @@ export function createAegisApp() {
|
|
|
76
76
|
await sendTelegramMessage(config, `Stopped Aegis run ${command.runId}.`);
|
|
77
77
|
return c.json({ accepted: true });
|
|
78
78
|
}
|
|
79
|
-
await askRun(c.env, command.runId, command.text, command.actor);
|
|
79
|
+
await askRun(c.env, command.runId, command.text, command.actor, undefined, options.callBugFixAgent);
|
|
80
80
|
return c.json({ accepted: true });
|
|
81
81
|
});
|
|
82
82
|
app.post("/webhook/github", async (c) => {
|
|
@@ -89,7 +89,7 @@ export function createAegisApp() {
|
|
|
89
89
|
const event = c.req.header("X-GitHub-Event");
|
|
90
90
|
if (event === "issues" &&
|
|
91
91
|
["opened", "edited", "labeled", "unlabeled", "reopened"].includes(payload.action ?? "")) {
|
|
92
|
-
c.executionCtx.waitUntil(pickupFromWebhook(c.env, new URL(c.req.url).origin));
|
|
92
|
+
c.executionCtx.waitUntil(pickupFromWebhook(c.env, new URL(c.req.url).origin, options.callBugFixAgent));
|
|
93
93
|
return c.json({ accepted: true, trigger: "pickup" });
|
|
94
94
|
}
|
|
95
95
|
const command = parseAegisCommand(payload.comment?.body ?? "", payload.comment?.user?.login ?? "github");
|
|
@@ -98,7 +98,7 @@ export function createAegisApp() {
|
|
|
98
98
|
if (!payload.issue?.number)
|
|
99
99
|
return c.json({ error: "missing issue" }, 400);
|
|
100
100
|
const item = await new GitHubClient(config).getIssue(config.monitoredRepo, payload.issue.number);
|
|
101
|
-
await handleCommand(c.env, command, item);
|
|
101
|
+
await handleCommand(c.env, command, item, options.callBugFixAgent);
|
|
102
102
|
return c.json({ accepted: true });
|
|
103
103
|
});
|
|
104
104
|
app.post("/webhook/linear", async (c) => {
|
|
@@ -114,7 +114,7 @@ export function createAegisApp() {
|
|
|
114
114
|
}
|
|
115
115
|
if (payload.type !== "Comment") {
|
|
116
116
|
if (payload.type === "Issue") {
|
|
117
|
-
c.executionCtx.waitUntil(pickupFromWebhook(c.env, new URL(c.req.url).origin));
|
|
117
|
+
c.executionCtx.waitUntil(pickupFromWebhook(c.env, new URL(c.req.url).origin, options.callBugFixAgent));
|
|
118
118
|
return c.json({ accepted: true, trigger: "pickup" });
|
|
119
119
|
}
|
|
120
120
|
return c.json({ ignored: true });
|
|
@@ -125,24 +125,24 @@ export function createAegisApp() {
|
|
|
125
125
|
if (!payload.data?.issue?.id)
|
|
126
126
|
return c.json({ error: "missing issue" }, 400);
|
|
127
127
|
const item = await new LinearClient(config).getIssue(payload.data.issue.id);
|
|
128
|
-
await handleCommand(c.env, command, item);
|
|
128
|
+
await handleCommand(c.env, command, item, options.callBugFixAgent);
|
|
129
129
|
return c.json({ accepted: true });
|
|
130
130
|
});
|
|
131
131
|
return app;
|
|
132
132
|
}
|
|
133
|
-
export async function scheduledPickup(_controller, env, ctx) {
|
|
133
|
+
export async function scheduledPickup(_controller, env, ctx, callAgent) {
|
|
134
134
|
const config = configFromBindings(env);
|
|
135
135
|
const decisions = await pickupReadyBugs({
|
|
136
136
|
config,
|
|
137
137
|
startRun: async (item, run, decision) => {
|
|
138
|
-
|
|
138
|
+
await startPlanSafely(env, item, run, decision, undefined, callAgent, ctx);
|
|
139
139
|
},
|
|
140
140
|
});
|
|
141
141
|
console.log(`[aegis] scheduled pickup checked ${decisions.length} item(s)`);
|
|
142
142
|
}
|
|
143
|
-
async function handleCommand(env, command, item) {
|
|
143
|
+
async function handleCommand(env, command, item, callAgent, ctx) {
|
|
144
144
|
if (command.action === "proceed") {
|
|
145
|
-
await proceedRun(env, command.runId, command.actor, item);
|
|
145
|
+
await proceedRun(env, command.runId, command.actor, item, callAgent, ctx);
|
|
146
146
|
return;
|
|
147
147
|
}
|
|
148
148
|
if (command.action === "stop") {
|
|
@@ -150,21 +150,21 @@ async function handleCommand(env, command, item) {
|
|
|
150
150
|
return;
|
|
151
151
|
}
|
|
152
152
|
if (command.action === "ask") {
|
|
153
|
-
await askRun(env, command.runId, command.text, command.actor, item);
|
|
153
|
+
await askRun(env, command.runId, command.text, command.actor, item, callAgent, ctx);
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
|
-
async function startPlanSafely(env, item, run, decision, workerUrl) {
|
|
156
|
+
async function startPlanSafely(env, item, run, decision, workerUrl, callAgent, ctx) {
|
|
157
157
|
const baseConfig = configFromBindings(env);
|
|
158
158
|
const config = { ...baseConfig, workerUrl: baseConfig.workerUrl ?? workerUrl };
|
|
159
159
|
try {
|
|
160
|
-
await startPlanRun({ config, item, run, decision });
|
|
160
|
+
await startPlanRun({ config, item, run, decision, callAgent, env, ctx });
|
|
161
161
|
}
|
|
162
162
|
catch (error) {
|
|
163
163
|
const message = error instanceof Error ? error.message : String(error);
|
|
164
164
|
await sourceFor(config, item.source).markBlocked(item, `Aegis failed to run: ${message}`);
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
|
-
async function pickupFromWebhook(env, origin) {
|
|
167
|
+
async function pickupFromWebhook(env, origin, callAgent, ctx) {
|
|
168
168
|
const config = {
|
|
169
169
|
...configFromBindings(env),
|
|
170
170
|
workerUrl: configFromBindings(env).workerUrl ?? origin,
|
|
@@ -172,17 +172,25 @@ async function pickupFromWebhook(env, origin) {
|
|
|
172
172
|
await pickupReadyBugs({
|
|
173
173
|
config,
|
|
174
174
|
startRun: async (item, run, decision) => {
|
|
175
|
-
await startPlanSafely(env, item, run, decision, origin);
|
|
175
|
+
await startPlanSafely(env, item, run, decision, origin, callAgent, ctx);
|
|
176
176
|
},
|
|
177
177
|
});
|
|
178
178
|
}
|
|
179
|
-
async function proceedRun(env, runId, actor, item) {
|
|
179
|
+
async function proceedRun(env, runId, actor, item, callAgent, ctx) {
|
|
180
180
|
const config = configFromBindings(env);
|
|
181
181
|
const resolved = item ?? (await resolveItemFromRunId(config, runId));
|
|
182
182
|
const run = runFromItem(resolved, "plan-first");
|
|
183
|
-
await startImplementationRun({
|
|
183
|
+
await startImplementationRun({
|
|
184
|
+
config,
|
|
185
|
+
item: resolved,
|
|
186
|
+
run,
|
|
187
|
+
approvedBy: actor,
|
|
188
|
+
callAgent,
|
|
189
|
+
env,
|
|
190
|
+
ctx,
|
|
191
|
+
});
|
|
184
192
|
}
|
|
185
|
-
async function askRun(env, runId, text, actor, item) {
|
|
193
|
+
async function askRun(env, runId, text, actor, item, callAgent, ctx) {
|
|
186
194
|
if (!text.trim())
|
|
187
195
|
return;
|
|
188
196
|
const config = configFromBindings(env);
|
|
@@ -199,6 +207,9 @@ ${text}`,
|
|
|
199
207
|
item: followUpItem,
|
|
200
208
|
run: runFromItem(resolved, "plan-first"),
|
|
201
209
|
decision: { ready: true, reason: "human follow-up", risk: "low", autoImplementAllowed: false },
|
|
210
|
+
callAgent,
|
|
211
|
+
env,
|
|
212
|
+
ctx,
|
|
202
213
|
});
|
|
203
214
|
}
|
|
204
215
|
async function stopRun(env, runId, item) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/agent/client.ts
CHANGED
|
@@ -6,17 +6,27 @@ import type {
|
|
|
6
6
|
AgentImplementationResult,
|
|
7
7
|
AgentPlanResult,
|
|
8
8
|
AgentRunContext,
|
|
9
|
+
Bindings,
|
|
9
10
|
ReadinessDecision,
|
|
10
11
|
WorkItem,
|
|
11
12
|
WorkRun,
|
|
12
13
|
} from "../shared/types.js";
|
|
13
14
|
import { sourceFor } from "../sources/index.js";
|
|
14
15
|
|
|
16
|
+
export type BugFixAgentCaller = <T>(
|
|
17
|
+
context: AgentRunContext,
|
|
18
|
+
env?: Bindings,
|
|
19
|
+
ctx?: ExecutionContext,
|
|
20
|
+
) => Promise<T>;
|
|
21
|
+
|
|
15
22
|
export async function startPlanRun(params: {
|
|
16
23
|
config: AegisConfig;
|
|
17
24
|
item: WorkItem;
|
|
18
25
|
run: WorkRun;
|
|
19
26
|
decision: ReadinessDecision;
|
|
27
|
+
callAgent?: BugFixAgentCaller;
|
|
28
|
+
env?: Bindings;
|
|
29
|
+
ctx?: ExecutionContext;
|
|
20
30
|
}): Promise<void> {
|
|
21
31
|
const result = await callBugFixAgent<AgentPlanResult>(
|
|
22
32
|
params.config,
|
|
@@ -26,6 +36,9 @@ export async function startPlanRun(params: {
|
|
|
26
36
|
run: params.run,
|
|
27
37
|
command: "plan",
|
|
28
38
|
}),
|
|
39
|
+
params.callAgent,
|
|
40
|
+
params.env,
|
|
41
|
+
params.ctx,
|
|
29
42
|
);
|
|
30
43
|
|
|
31
44
|
const source = sourceFor(params.config, params.item.source);
|
|
@@ -50,6 +63,9 @@ export async function startImplementationRun(params: {
|
|
|
50
63
|
item: WorkItem;
|
|
51
64
|
run: WorkRun;
|
|
52
65
|
approvedBy: string;
|
|
66
|
+
callAgent?: BugFixAgentCaller;
|
|
67
|
+
env?: Bindings;
|
|
68
|
+
ctx?: ExecutionContext;
|
|
53
69
|
}): Promise<void> {
|
|
54
70
|
const context = await buildAgentContext({
|
|
55
71
|
config: params.config,
|
|
@@ -58,7 +74,13 @@ export async function startImplementationRun(params: {
|
|
|
58
74
|
command: "implement",
|
|
59
75
|
approval: { approvedBy: params.approvedBy, approvedAt: new Date().toISOString() },
|
|
60
76
|
});
|
|
61
|
-
const result = await callBugFixAgent<AgentImplementationResult>(
|
|
77
|
+
const result = await callBugFixAgent<AgentImplementationResult>(
|
|
78
|
+
params.config,
|
|
79
|
+
context,
|
|
80
|
+
params.callAgent,
|
|
81
|
+
params.env,
|
|
82
|
+
params.ctx,
|
|
83
|
+
);
|
|
62
84
|
const source = sourceFor(params.config, params.item.source);
|
|
63
85
|
|
|
64
86
|
if (result.outcome !== "implemented" || result.confidence === "low") {
|
|
@@ -117,7 +139,15 @@ async function buildAgentContext(params: {
|
|
|
117
139
|
};
|
|
118
140
|
}
|
|
119
141
|
|
|
120
|
-
async function callBugFixAgent<T>(
|
|
142
|
+
async function callBugFixAgent<T>(
|
|
143
|
+
config: AegisConfig,
|
|
144
|
+
context: AgentRunContext,
|
|
145
|
+
callAgent?: BugFixAgentCaller,
|
|
146
|
+
env?: Bindings,
|
|
147
|
+
ctx?: ExecutionContext,
|
|
148
|
+
): Promise<T> {
|
|
149
|
+
if (callAgent) return await callAgent<T>(context, env, ctx);
|
|
150
|
+
|
|
121
151
|
if (!config.workerUrl) {
|
|
122
152
|
throw new Error("AEGIS_WORKER_URL is required so the Worker can invoke its Flue agent");
|
|
123
153
|
}
|
package/src/server/app.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Hono } from "hono";
|
|
2
2
|
import { startImplementationRun, startPlanRun } from "../agent/client.js";
|
|
3
|
+
import type { BugFixAgentCaller } from "../agent/client.js";
|
|
3
4
|
import { pickupReadyBugs, scanReadyBugs } from "../core/pickup.js";
|
|
4
5
|
import { GitHubClient } from "../integrations/github.js";
|
|
5
6
|
import { LinearClient } from "../integrations/linear.js";
|
|
@@ -16,8 +17,11 @@ import type { Bindings, ReadinessDecision, WorkItem, WorkRun } from "../shared/t
|
|
|
16
17
|
import { sourceFor } from "../sources/index.js";
|
|
17
18
|
|
|
18
19
|
type HonoBindings = { Bindings: Bindings };
|
|
20
|
+
type AegisAppOptions = {
|
|
21
|
+
callBugFixAgent?: BugFixAgentCaller;
|
|
22
|
+
};
|
|
19
23
|
|
|
20
|
-
export function createAegisApp() {
|
|
24
|
+
export function createAegisApp(options: AegisAppOptions = {}) {
|
|
21
25
|
const app = new Hono<HonoBindings>();
|
|
22
26
|
|
|
23
27
|
app.get("/", (c) => {
|
|
@@ -47,8 +51,13 @@ export function createAegisApp() {
|
|
|
47
51
|
const decisions = await pickupReadyBugs({
|
|
48
52
|
config,
|
|
49
53
|
startRun: async (item, run, decision) => {
|
|
50
|
-
|
|
51
|
-
|
|
54
|
+
await startPlanSafely(
|
|
55
|
+
c.env,
|
|
56
|
+
item,
|
|
57
|
+
run,
|
|
58
|
+
decision,
|
|
59
|
+
new URL(c.req.url).origin,
|
|
60
|
+
options.callBugFixAgent,
|
|
52
61
|
);
|
|
53
62
|
},
|
|
54
63
|
});
|
|
@@ -65,7 +74,7 @@ export function createAegisApp() {
|
|
|
65
74
|
});
|
|
66
75
|
|
|
67
76
|
app.post("/api/runs/:id/proceed", async (c) => {
|
|
68
|
-
await proceedRun(c.env, c.req.param("id"), "api");
|
|
77
|
+
await proceedRun(c.env, c.req.param("id"), "api", undefined, options.callBugFixAgent);
|
|
69
78
|
return c.json({ accepted: true, runId: c.req.param("id") });
|
|
70
79
|
});
|
|
71
80
|
|
|
@@ -83,7 +92,7 @@ export function createAegisApp() {
|
|
|
83
92
|
const command = parseTelegramUpdate(await c.req.json());
|
|
84
93
|
if (command.action === "ignore") return c.json({ ignored: true });
|
|
85
94
|
if (command.action === "proceed") {
|
|
86
|
-
await proceedRun(c.env, command.runId, command.actor);
|
|
95
|
+
await proceedRun(c.env, command.runId, command.actor, undefined, options.callBugFixAgent);
|
|
87
96
|
return c.json({ accepted: true });
|
|
88
97
|
}
|
|
89
98
|
if (command.action === "stop") {
|
|
@@ -91,7 +100,14 @@ export function createAegisApp() {
|
|
|
91
100
|
await sendTelegramMessage(config, `Stopped Aegis run ${command.runId}.`);
|
|
92
101
|
return c.json({ accepted: true });
|
|
93
102
|
}
|
|
94
|
-
await askRun(
|
|
103
|
+
await askRun(
|
|
104
|
+
c.env,
|
|
105
|
+
command.runId,
|
|
106
|
+
command.text,
|
|
107
|
+
command.actor,
|
|
108
|
+
undefined,
|
|
109
|
+
options.callBugFixAgent,
|
|
110
|
+
);
|
|
95
111
|
return c.json({ accepted: true });
|
|
96
112
|
});
|
|
97
113
|
|
|
@@ -114,7 +130,9 @@ export function createAegisApp() {
|
|
|
114
130
|
event === "issues" &&
|
|
115
131
|
["opened", "edited", "labeled", "unlabeled", "reopened"].includes(payload.action ?? "")
|
|
116
132
|
) {
|
|
117
|
-
c.executionCtx.waitUntil(
|
|
133
|
+
c.executionCtx.waitUntil(
|
|
134
|
+
pickupFromWebhook(c.env, new URL(c.req.url).origin, options.callBugFixAgent),
|
|
135
|
+
);
|
|
118
136
|
return c.json({ accepted: true, trigger: "pickup" });
|
|
119
137
|
}
|
|
120
138
|
|
|
@@ -128,7 +146,7 @@ export function createAegisApp() {
|
|
|
128
146
|
config.monitoredRepo,
|
|
129
147
|
payload.issue.number,
|
|
130
148
|
);
|
|
131
|
-
await handleCommand(c.env, command, item);
|
|
149
|
+
await handleCommand(c.env, command, item, options.callBugFixAgent);
|
|
132
150
|
return c.json({ accepted: true });
|
|
133
151
|
});
|
|
134
152
|
|
|
@@ -155,7 +173,9 @@ export function createAegisApp() {
|
|
|
155
173
|
}
|
|
156
174
|
if (payload.type !== "Comment") {
|
|
157
175
|
if (payload.type === "Issue") {
|
|
158
|
-
c.executionCtx.waitUntil(
|
|
176
|
+
c.executionCtx.waitUntil(
|
|
177
|
+
pickupFromWebhook(c.env, new URL(c.req.url).origin, options.callBugFixAgent),
|
|
178
|
+
);
|
|
159
179
|
return c.json({ accepted: true, trigger: "pickup" });
|
|
160
180
|
}
|
|
161
181
|
return c.json({ ignored: true });
|
|
@@ -167,7 +187,7 @@ export function createAegisApp() {
|
|
|
167
187
|
if (command.action === "ignore") return c.json({ ignored: true });
|
|
168
188
|
if (!payload.data?.issue?.id) return c.json({ error: "missing issue" }, 400);
|
|
169
189
|
const item = await new LinearClient(config).getIssue(payload.data.issue.id);
|
|
170
|
-
await handleCommand(c.env, command, item);
|
|
190
|
+
await handleCommand(c.env, command, item, options.callBugFixAgent);
|
|
171
191
|
return c.json({ accepted: true });
|
|
172
192
|
});
|
|
173
193
|
|
|
@@ -178,12 +198,13 @@ export async function scheduledPickup(
|
|
|
178
198
|
_controller: ScheduledController,
|
|
179
199
|
env: Bindings,
|
|
180
200
|
ctx: ExecutionContext,
|
|
201
|
+
callAgent?: BugFixAgentCaller,
|
|
181
202
|
): Promise<void> {
|
|
182
203
|
const config = configFromBindings(env);
|
|
183
204
|
const decisions = await pickupReadyBugs({
|
|
184
205
|
config,
|
|
185
206
|
startRun: async (item, run, decision) => {
|
|
186
|
-
|
|
207
|
+
await startPlanSafely(env, item, run, decision, undefined, callAgent, ctx);
|
|
187
208
|
},
|
|
188
209
|
});
|
|
189
210
|
console.log(`[aegis] scheduled pickup checked ${decisions.length} item(s)`);
|
|
@@ -193,9 +214,11 @@ async function handleCommand(
|
|
|
193
214
|
env: Bindings,
|
|
194
215
|
command: ReturnType<typeof parseAegisCommand>,
|
|
195
216
|
item: WorkItem,
|
|
217
|
+
callAgent?: BugFixAgentCaller,
|
|
218
|
+
ctx?: ExecutionContext,
|
|
196
219
|
): Promise<void> {
|
|
197
220
|
if (command.action === "proceed") {
|
|
198
|
-
await proceedRun(env, command.runId, command.actor, item);
|
|
221
|
+
await proceedRun(env, command.runId, command.actor, item, callAgent, ctx);
|
|
199
222
|
return;
|
|
200
223
|
}
|
|
201
224
|
if (command.action === "stop") {
|
|
@@ -203,7 +226,7 @@ async function handleCommand(
|
|
|
203
226
|
return;
|
|
204
227
|
}
|
|
205
228
|
if (command.action === "ask") {
|
|
206
|
-
await askRun(env, command.runId, command.text, command.actor, item);
|
|
229
|
+
await askRun(env, command.runId, command.text, command.actor, item, callAgent, ctx);
|
|
207
230
|
}
|
|
208
231
|
}
|
|
209
232
|
|
|
@@ -213,18 +236,25 @@ async function startPlanSafely(
|
|
|
213
236
|
run: WorkRun,
|
|
214
237
|
decision: ReadinessDecision,
|
|
215
238
|
workerUrl?: string,
|
|
239
|
+
callAgent?: BugFixAgentCaller,
|
|
240
|
+
ctx?: ExecutionContext,
|
|
216
241
|
): Promise<void> {
|
|
217
242
|
const baseConfig = configFromBindings(env);
|
|
218
243
|
const config = { ...baseConfig, workerUrl: baseConfig.workerUrl ?? workerUrl };
|
|
219
244
|
try {
|
|
220
|
-
await startPlanRun({ config, item, run, decision });
|
|
245
|
+
await startPlanRun({ config, item, run, decision, callAgent, env, ctx });
|
|
221
246
|
} catch (error) {
|
|
222
247
|
const message = error instanceof Error ? error.message : String(error);
|
|
223
248
|
await sourceFor(config, item.source).markBlocked(item, `Aegis failed to run: ${message}`);
|
|
224
249
|
}
|
|
225
250
|
}
|
|
226
251
|
|
|
227
|
-
async function pickupFromWebhook(
|
|
252
|
+
async function pickupFromWebhook(
|
|
253
|
+
env: Bindings,
|
|
254
|
+
origin: string,
|
|
255
|
+
callAgent?: BugFixAgentCaller,
|
|
256
|
+
ctx?: ExecutionContext,
|
|
257
|
+
): Promise<void> {
|
|
228
258
|
const config = {
|
|
229
259
|
...configFromBindings(env),
|
|
230
260
|
workerUrl: configFromBindings(env).workerUrl ?? origin,
|
|
@@ -232,7 +262,7 @@ async function pickupFromWebhook(env: Bindings, origin: string): Promise<void> {
|
|
|
232
262
|
await pickupReadyBugs({
|
|
233
263
|
config,
|
|
234
264
|
startRun: async (item, run, decision) => {
|
|
235
|
-
await startPlanSafely(env, item, run, decision, origin);
|
|
265
|
+
await startPlanSafely(env, item, run, decision, origin, callAgent, ctx);
|
|
236
266
|
},
|
|
237
267
|
});
|
|
238
268
|
}
|
|
@@ -242,11 +272,21 @@ async function proceedRun(
|
|
|
242
272
|
runId: string,
|
|
243
273
|
actor: string,
|
|
244
274
|
item?: WorkItem,
|
|
275
|
+
callAgent?: BugFixAgentCaller,
|
|
276
|
+
ctx?: ExecutionContext,
|
|
245
277
|
): Promise<void> {
|
|
246
278
|
const config = configFromBindings(env);
|
|
247
279
|
const resolved = item ?? (await resolveItemFromRunId(config, runId));
|
|
248
280
|
const run = runFromItem(resolved, "plan-first");
|
|
249
|
-
await startImplementationRun({
|
|
281
|
+
await startImplementationRun({
|
|
282
|
+
config,
|
|
283
|
+
item: resolved,
|
|
284
|
+
run,
|
|
285
|
+
approvedBy: actor,
|
|
286
|
+
callAgent,
|
|
287
|
+
env,
|
|
288
|
+
ctx,
|
|
289
|
+
});
|
|
250
290
|
}
|
|
251
291
|
|
|
252
292
|
async function askRun(
|
|
@@ -255,6 +295,8 @@ async function askRun(
|
|
|
255
295
|
text: string,
|
|
256
296
|
actor: string,
|
|
257
297
|
item?: WorkItem,
|
|
298
|
+
callAgent?: BugFixAgentCaller,
|
|
299
|
+
ctx?: ExecutionContext,
|
|
258
300
|
): Promise<void> {
|
|
259
301
|
if (!text.trim()) return;
|
|
260
302
|
const config = configFromBindings(env);
|
|
@@ -271,6 +313,9 @@ ${text}`,
|
|
|
271
313
|
item: followUpItem,
|
|
272
314
|
run: runFromItem(resolved, "plan-first"),
|
|
273
315
|
decision: { ready: true, reason: "human follow-up", risk: "low", autoImplementAllowed: false },
|
|
316
|
+
callAgent,
|
|
317
|
+
env,
|
|
318
|
+
ctx,
|
|
274
319
|
});
|
|
275
320
|
}
|
|
276
321
|
|