aoaoe 0.25.2 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/executor.d.ts +2 -0
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +14 -4
- package/dist/executor.js.map +1 -1
- package/dist/executor.test.js +42 -1
- package/dist/executor.test.js.map +1 -1
- package/dist/integration-test.d.ts +16 -0
- package/dist/integration-test.d.ts.map +1 -0
- package/dist/integration-test.js +352 -0
- package/dist/integration-test.js.map +1 -0
- package/package.json +2 -1
package/dist/executor.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { Action, AoaoeConfig, SessionSnapshot } from "./types.js";
|
|
2
2
|
export declare const VALID_TOOLS: Set<string>;
|
|
3
|
+
export declare const PERMISSION_COOLDOWN_MS = 1500;
|
|
3
4
|
export declare class Executor {
|
|
4
5
|
private config;
|
|
5
6
|
private actionLog;
|
|
6
7
|
private recentActions;
|
|
8
|
+
private lastActionWasPermission;
|
|
7
9
|
constructor(config: AoaoeConfig);
|
|
8
10
|
execute(actions: Action[], snapshots: SessionSnapshot[]): Promise<ActionLogEntry[]>;
|
|
9
11
|
private executeOne;
|
package/dist/executor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIvE,eAAO,MAAM,WAAW,aAEtB,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIvE,eAAO,MAAM,WAAW,aAEtB,CAAC;AASH,eAAO,MAAM,sBAAsB,OAAQ,CAAC;AAE5C,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,uBAAuB,CAAmC;gBAEtD,MAAM,EAAE,WAAW;IAMzB,OAAO,CACX,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,eAAe,EAAE,GAC3B,OAAO,CAAC,cAAc,EAAE,CAAC;YAgCd,UAAU;YA4BV,SAAS;YA+DT,YAAY;YAcZ,WAAW;YAcX,WAAW;YAmDX,WAAW;IAgBzB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,KAAK,UAAU,GAErB;IAKD,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,SAAS;IA2BjB,OAAO,CAAC,iBAAiB;IAWzB,YAAY,CAAC,CAAC,SAAK,GAAG,cAAc,EAAE;IAItC,OAAO,CAAC,GAAG;CAGZ;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
package/dist/executor.js
CHANGED
|
@@ -11,10 +11,15 @@ export const VALID_TOOLS = new Set([
|
|
|
11
11
|
const LOG_DIR = join(homedir(), ".aoaoe");
|
|
12
12
|
const LOG_FILE = join(LOG_DIR, "actions.log");
|
|
13
13
|
const LOG_MAX_BYTES = 1_048_576; // 1 MB — rotate when exceeded
|
|
14
|
+
// permission approvals (Enter-only) get a much shorter cooldown since OpenCode
|
|
15
|
+
// has multi-step permission flows (mkdir → dir access → edit → run) that each
|
|
16
|
+
// need a separate Enter. 30s between steps would take 2+ minutes per agent.
|
|
17
|
+
export const PERMISSION_COOLDOWN_MS = 1_500;
|
|
14
18
|
export class Executor {
|
|
15
19
|
config;
|
|
16
20
|
actionLog = [];
|
|
17
21
|
recentActions = new Map(); // session -> last action timestamp
|
|
22
|
+
lastActionWasPermission = new Map(); // session -> was last action a permission approval
|
|
18
23
|
constructor(config) {
|
|
19
24
|
this.config = config;
|
|
20
25
|
// ensure log dir exists
|
|
@@ -84,7 +89,7 @@ export class Executor {
|
|
|
84
89
|
const enterOk = await execQuiet("tmux", ["send-keys", "-t", tmuxName, "Enter"]);
|
|
85
90
|
const resolvedId = this.resolveSessionId(sessionId, snapshots);
|
|
86
91
|
if (enterOk) {
|
|
87
|
-
this.markAction(resolvedId);
|
|
92
|
+
this.markAction(resolvedId, true); // permission = true -> fast cooldown
|
|
88
93
|
setSessionTask(resolvedId, "(approved permission prompt)");
|
|
89
94
|
}
|
|
90
95
|
return this.logAction({ action: "send_input", session: sessionId, text: "(Enter)" }, enterOk, enterOk ? `sent Enter to ${tmuxName}` : `send-keys Enter failed for ${tmuxName}`);
|
|
@@ -183,15 +188,20 @@ export class Executor {
|
|
|
183
188
|
get cooldownMs() {
|
|
184
189
|
return this.config.policies.actionCooldownMs ?? 30_000;
|
|
185
190
|
}
|
|
186
|
-
// rate limiting: don't act on the same session within the cooldown window
|
|
191
|
+
// rate limiting: don't act on the same session within the cooldown window.
|
|
192
|
+
// permission approvals use a much shorter cooldown (1.5s) since OpenCode has
|
|
193
|
+
// multi-step permission flows that each need a separate Enter.
|
|
187
194
|
isRateLimited(sessionId) {
|
|
188
195
|
const last = this.recentActions.get(sessionId);
|
|
189
196
|
if (!last)
|
|
190
197
|
return false;
|
|
191
|
-
|
|
198
|
+
const wasPermission = this.lastActionWasPermission.get(sessionId) ?? false;
|
|
199
|
+
const cooldown = wasPermission ? PERMISSION_COOLDOWN_MS : this.cooldownMs;
|
|
200
|
+
return Date.now() - last < cooldown;
|
|
192
201
|
}
|
|
193
|
-
markAction(sessionId) {
|
|
202
|
+
markAction(sessionId, isPermission = false) {
|
|
194
203
|
this.recentActions.set(sessionId, Date.now());
|
|
204
|
+
this.lastActionWasPermission.set(sessionId, isPermission);
|
|
195
205
|
this.pruneStaleActions();
|
|
196
206
|
}
|
|
197
207
|
// remove entries older than 2x cooldown to prevent unbounded growth
|
package/dist/executor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
|
package/dist/executor.test.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, it } from "node:test";
|
|
2
2
|
import assert from "node:assert/strict";
|
|
3
|
-
import { VALID_TOOLS } from "./executor.js";
|
|
3
|
+
import { VALID_TOOLS, PERMISSION_COOLDOWN_MS } from "./executor.js";
|
|
4
4
|
// default cooldown from executor.ts (config.policies.actionCooldownMs ?? 30_000)
|
|
5
5
|
const DEFAULT_COOLDOWN_MS = 30_000;
|
|
6
6
|
// replicated from executor.ts -- the actual method is private on the class,
|
|
@@ -189,4 +189,45 @@ describe("session ID resolution for start/stop/remove", () => {
|
|
|
189
189
|
assert.equal(resolved, "unknown-session");
|
|
190
190
|
});
|
|
191
191
|
});
|
|
192
|
+
describe("permission approval fast cooldown", () => {
|
|
193
|
+
it("PERMISSION_COOLDOWN_MS is much shorter than default", () => {
|
|
194
|
+
assert.ok(PERMISSION_COOLDOWN_MS < DEFAULT_COOLDOWN_MS, "permission cooldown should be shorter");
|
|
195
|
+
assert.ok(PERMISSION_COOLDOWN_MS <= 2_000, "permission cooldown should be <= 2s");
|
|
196
|
+
assert.ok(PERMISSION_COOLDOWN_MS >= 500, "permission cooldown should be >= 500ms");
|
|
197
|
+
});
|
|
198
|
+
it("permission action uses fast cooldown, next non-permission uses normal", () => {
|
|
199
|
+
// simulate the rate-limit logic from executor.ts
|
|
200
|
+
const recentActions = new Map();
|
|
201
|
+
const lastActionWasPermission = new Map();
|
|
202
|
+
const now = Date.now();
|
|
203
|
+
// simulate permission approval
|
|
204
|
+
recentActions.set("s1", now);
|
|
205
|
+
lastActionWasPermission.set("s1", true);
|
|
206
|
+
// check at PERMISSION_COOLDOWN_MS + 100ms: should NOT be rate limited
|
|
207
|
+
const afterPermCooldown = now + PERMISSION_COOLDOWN_MS + 100;
|
|
208
|
+
const wasPermission = lastActionWasPermission.get("s1") ?? false;
|
|
209
|
+
const cooldown = wasPermission ? PERMISSION_COOLDOWN_MS : DEFAULT_COOLDOWN_MS;
|
|
210
|
+
assert.equal(afterPermCooldown - now < cooldown, false, "should not be rate limited after permission cooldown");
|
|
211
|
+
// but at PERMISSION_COOLDOWN_MS - 100ms: SHOULD be rate limited
|
|
212
|
+
const beforePermCooldown = now + PERMISSION_COOLDOWN_MS - 100;
|
|
213
|
+
assert.equal(beforePermCooldown - now < cooldown, true, "should be rate limited within permission cooldown");
|
|
214
|
+
});
|
|
215
|
+
it("non-permission action after permission resets to normal cooldown", () => {
|
|
216
|
+
const recentActions = new Map();
|
|
217
|
+
const lastActionWasPermission = new Map();
|
|
218
|
+
const now = Date.now();
|
|
219
|
+
// first: permission approval (fast cooldown)
|
|
220
|
+
recentActions.set("s1", now);
|
|
221
|
+
lastActionWasPermission.set("s1", true);
|
|
222
|
+
// then: normal send_input (should use normal cooldown going forward)
|
|
223
|
+
recentActions.set("s1", now + PERMISSION_COOLDOWN_MS + 100);
|
|
224
|
+
lastActionWasPermission.set("s1", false);
|
|
225
|
+
// check: at +5s after normal action, should still be rate limited (30s cooldown)
|
|
226
|
+
const checkTime = now + PERMISSION_COOLDOWN_MS + 100 + 5_000;
|
|
227
|
+
const last = recentActions.get("s1");
|
|
228
|
+
const wasPermission = lastActionWasPermission.get("s1") ?? false;
|
|
229
|
+
const cooldown = wasPermission ? PERMISSION_COOLDOWN_MS : DEFAULT_COOLDOWN_MS;
|
|
230
|
+
assert.equal(checkTime - last < cooldown, true, "normal action should use 30s cooldown");
|
|
231
|
+
});
|
|
232
|
+
});
|
|
192
233
|
//# sourceMappingURL=executor.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.test.js","sourceRoot":"","sources":["../src/executor.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAMxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,iFAAiF;AACjF,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,4EAA4E;AAC5E,8EAA8E;AAC9E,uCAAuC;AACvC,SAAS,eAAe,CAAC,SAAiB,EAAE,SAA4B;IACtE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;IAChE,IAAI,KAAK,EAAE,OAAO,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;IAE7D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACzE,IAAI,MAAM,EAAE,OAAO,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAE/D,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CACjE,CAAC;IACF,IAAI,OAAO,EAAE,OAAO,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;IAEjE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,EAAU,EAAE,KAAa,EAAE,QAAgB;IAC3D,OAAO;QACL,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE;QAC9F,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,MAAM;QAClB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;KACvB,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,MAAM,KAAK,GAAG;QACZ,QAAQ,CAAC,kBAAkB,EAAE,UAAU,EAAE,uBAAuB,CAAC;QACjE,QAAQ,CAAC,kBAAkB,EAAE,UAAU,EAAE,uBAAuB,CAAC;KAClE,CAAC;IAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,kBAAkB,EAAE,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC;QAC1E,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,iEAAiE;QACjE,MAAM,MAAM,GAAG;YACb,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,kBAAkB,CAAC;YAC/C,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,wBAAwB,CAAC;SAC5D,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,kGAAkG;AAClG,SAAS,gBAAgB,CAAC,GAAW,EAAE,SAA4B;IACjE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAC1D,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,WAAW,EAAE,CAC3D,CAAC;IACF,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IACvC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,MAAM,KAAK,GAAG;QACZ,QAAQ,CAAC,kBAAkB,EAAE,UAAU,EAAE,uBAAuB,CAAC;QACjE,QAAQ,CAAC,kBAAkB,EAAE,UAAU,EAAE,uBAAuB,CAAC;KAClE,CAAC;IAEF,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAC;QACtE,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,wCAAwC;QACxC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAE7C,iBAAiB;QACjB,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAE7B,+BAA+B;QAC/B,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe;QAErE,yBAAyB;QACzB,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,mBAAmB,GAAG,KAAK,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC,mBAAmB;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,kBAAkB;QAClB,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,4DAA4D;QAC5D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,UAAU,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;QACpD,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE/B,kBAAkB;QAClB,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAErD,qCAAqC;QACrC,MAAM,WAAW,GAAG,UAAU,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;IACjE,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,uEAAuE;QACvE,2EAA2E;QAC3E,0DAA0D;QAC1D,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,+CAA+C,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,IAAI,GAAG,KAAK,CAAC;QACnB,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,6CAA6C,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,IAAI,GAAG,GAAG,CAAC;QACjB,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,8BAA8B,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6CAA6C,EAAE,GAAG,EAAE;IAC3D,+EAA+E;IAC/E,qDAAqD;IACrD,MAAM,KAAK,GAAG;QACZ,QAAQ,CAAC,kBAAkB,EAAE,UAAU,EAAE,uBAAuB,CAAC;QACjE,QAAQ,CAAC,kBAAkB,EAAE,UAAU,EAAE,uBAAuB,CAAC;KAClE,CAAC;IAEF,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,uEAAuE;QACvE,qEAAqE;QACrE,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/D,MAAM,cAAc,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"executor.test.js","sourceRoot":"","sources":["../src/executor.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Integration test for aoaoe — end-to-end test with real aoe sessions.
|
|
4
|
+
*
|
|
5
|
+
* Creates two throwaway AoE sessions, starts the aoaoe daemon, verifies
|
|
6
|
+
* that the daemon can observe and interact with the sessions, then cleans
|
|
7
|
+
* everything up.
|
|
8
|
+
*
|
|
9
|
+
* Prerequisites: aoe, opencode, tmux must be on $PATH.
|
|
10
|
+
* Run: npm run integration-test
|
|
11
|
+
*
|
|
12
|
+
* This is NOT part of `npm test` — it requires a live environment with
|
|
13
|
+
* real CLI tools and takes 2-3 minutes to complete.
|
|
14
|
+
*/
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=integration-test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration-test.d.ts","sourceRoot":"","sources":["../src/integration-test.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG"}
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Integration test for aoaoe — end-to-end test with real aoe sessions.
|
|
4
|
+
*
|
|
5
|
+
* Creates two throwaway AoE sessions, starts the aoaoe daemon, verifies
|
|
6
|
+
* that the daemon can observe and interact with the sessions, then cleans
|
|
7
|
+
* everything up.
|
|
8
|
+
*
|
|
9
|
+
* Prerequisites: aoe, opencode, tmux must be on $PATH.
|
|
10
|
+
* Run: npm run integration-test
|
|
11
|
+
*
|
|
12
|
+
* This is NOT part of `npm test` — it requires a live environment with
|
|
13
|
+
* real CLI tools and takes 2-3 minutes to complete.
|
|
14
|
+
*/
|
|
15
|
+
import { execFile as execFileCb } from "node:child_process";
|
|
16
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync, rmSync } from "node:fs";
|
|
17
|
+
import { join } from "node:path";
|
|
18
|
+
import { homedir } from "node:os";
|
|
19
|
+
import { setTimeout as sleep } from "node:timers/promises";
|
|
20
|
+
// ── Constants ────────────────────────────────────────────────────────────────
|
|
21
|
+
const TEST_DIR = "/tmp/aoaoe-itest";
|
|
22
|
+
const SESSION_1_TITLE = "aoaoe-itest-1";
|
|
23
|
+
const SESSION_2_TITLE = "aoaoe-itest-2";
|
|
24
|
+
const DAEMON_TMUX = "aoaoe_itest_daemon";
|
|
25
|
+
const DAEMON_LOG = join(TEST_DIR, "daemon.log");
|
|
26
|
+
const DAEMON_STATE = join(homedir(), ".aoaoe", "daemon-state.json");
|
|
27
|
+
// timeouts
|
|
28
|
+
const SESSION_START_WAIT_MS = 8_000; // wait for AoE session to fully start
|
|
29
|
+
const DAEMON_START_WAIT_MS = 10_000; // wait for daemon to complete first tick
|
|
30
|
+
const TASK_WAIT_MS = 90_000; // wait for agent to complete a task
|
|
31
|
+
const POLL_INTERVAL_MS = 5_000; // how often to check for task completion
|
|
32
|
+
function exec(cmd, args, timeoutMs = 30_000) {
|
|
33
|
+
return new Promise((resolve) => {
|
|
34
|
+
execFileCb(cmd, args, { timeout: timeoutMs, maxBuffer: 10 * 1024 * 1024 }, (err, stdout, stderr) => {
|
|
35
|
+
if (err) {
|
|
36
|
+
const e = err;
|
|
37
|
+
const exitCode = typeof e.code === "number" ? e.code : 1;
|
|
38
|
+
resolve({ stdout: stdout ?? "", stderr: stderr ?? "", exitCode });
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
resolve({ stdout: stdout ?? "", stderr: stderr ?? "", exitCode: 0 });
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function log(msg) {
|
|
46
|
+
const ts = new Date().toISOString().slice(11, 23);
|
|
47
|
+
console.log(`[${ts}] ${msg}`);
|
|
48
|
+
}
|
|
49
|
+
function fail(msg) {
|
|
50
|
+
console.error(`\n❌ FAIL: ${msg}\n`);
|
|
51
|
+
process.exit(1);
|
|
52
|
+
}
|
|
53
|
+
function pass(msg) {
|
|
54
|
+
console.log(` ✅ ${msg}`);
|
|
55
|
+
}
|
|
56
|
+
// ── Phase 0: Prerequisites ──────────────────────────────────────────────────
|
|
57
|
+
async function checkPrerequisites() {
|
|
58
|
+
log("Phase 0: Checking prerequisites...");
|
|
59
|
+
for (const tool of ["aoe", "opencode", "tmux"]) {
|
|
60
|
+
const result = await exec("which", [tool]);
|
|
61
|
+
if (result.exitCode !== 0)
|
|
62
|
+
fail(`${tool} not found on PATH`);
|
|
63
|
+
}
|
|
64
|
+
// verify aoe is responsive
|
|
65
|
+
const aoeList = await exec("aoe", ["list", "--json"]);
|
|
66
|
+
if (aoeList.exitCode !== 0)
|
|
67
|
+
fail("aoe list --json failed");
|
|
68
|
+
pass("aoe, opencode, tmux all available");
|
|
69
|
+
}
|
|
70
|
+
async function createTestSessions() {
|
|
71
|
+
log("Phase 1: Creating test sessions...");
|
|
72
|
+
// create project directories with simple test files
|
|
73
|
+
const dir1 = join(TEST_DIR, "project-1");
|
|
74
|
+
const dir2 = join(TEST_DIR, "project-2");
|
|
75
|
+
mkdirSync(dir1, { recursive: true });
|
|
76
|
+
mkdirSync(dir2, { recursive: true });
|
|
77
|
+
// write a simple AGENTS.md for each so context loading has something to find
|
|
78
|
+
writeFileSync(join(dir1, "AGENTS.md"), "# Project 1\nIntegration test project. Do whatever is asked.\n");
|
|
79
|
+
writeFileSync(join(dir2, "AGENTS.md"), "# Project 2\nIntegration test project. Do whatever is asked.\n");
|
|
80
|
+
// create sessions via aoe add
|
|
81
|
+
const s1 = await createOneSession(dir1, SESSION_1_TITLE);
|
|
82
|
+
const s2 = await createOneSession(dir2, SESSION_2_TITLE);
|
|
83
|
+
// start both sessions
|
|
84
|
+
await exec("aoe", ["session", "start", s1.id]);
|
|
85
|
+
await exec("aoe", ["session", "start", s2.id]);
|
|
86
|
+
log(` Waiting ${SESSION_START_WAIT_MS / 1000}s for sessions to initialize...`);
|
|
87
|
+
await sleep(SESSION_START_WAIT_MS);
|
|
88
|
+
// verify both tmux sessions exist
|
|
89
|
+
for (const s of [s1, s2]) {
|
|
90
|
+
const check = await exec("tmux", ["has-session", "-t", s.tmuxName]);
|
|
91
|
+
if (check.exitCode !== 0)
|
|
92
|
+
fail(`tmux session ${s.tmuxName} not found after start`);
|
|
93
|
+
}
|
|
94
|
+
pass(`Created sessions: ${s1.id.slice(0, 8)} (${s1.title}), ${s2.id.slice(0, 8)} (${s2.title})`);
|
|
95
|
+
return [s1, s2];
|
|
96
|
+
}
|
|
97
|
+
async function createOneSession(dir, title) {
|
|
98
|
+
const result = await exec("aoe", ["add", dir, "-t", title, "-c", "opencode", "-y"]);
|
|
99
|
+
if (result.exitCode !== 0)
|
|
100
|
+
fail(`aoe add failed for ${title}: ${result.stderr}`);
|
|
101
|
+
// parse ID from aoe list
|
|
102
|
+
const list = await exec("aoe", ["list", "--json"]);
|
|
103
|
+
const sessions = JSON.parse(list.stdout);
|
|
104
|
+
const found = sessions.find((s) => s.title === title);
|
|
105
|
+
if (!found)
|
|
106
|
+
fail(`session "${title}" not found in aoe list after creation`);
|
|
107
|
+
// tmux name format: aoe_<sanitized_title>_<first8_of_id>
|
|
108
|
+
const sanitized = title.replace(/[^a-zA-Z0-9_-]/g, "_").slice(0, 20);
|
|
109
|
+
const tmuxName = `aoe_${sanitized}_${found.id.slice(0, 8)}`;
|
|
110
|
+
return { id: found.id, title, tmuxName, dir };
|
|
111
|
+
}
|
|
112
|
+
// ── Phase 2: Start daemon ───────────────────────────────────────────────────
|
|
113
|
+
async function startDaemon() {
|
|
114
|
+
log("Phase 2: Starting daemon in tmux session...");
|
|
115
|
+
// kill any stale daemon tmux session
|
|
116
|
+
await exec("tmux", ["kill-session", "-t", DAEMON_TMUX]);
|
|
117
|
+
// start daemon in a detached tmux session, logging to file
|
|
118
|
+
// use --dry-run=false and a short poll interval for faster tests
|
|
119
|
+
const daemonCmd = `cd /Users/kadler/Documents/repos && npx aoaoe --verbose 2>&1 | tee ${DAEMON_LOG}`;
|
|
120
|
+
const result = await exec("tmux", [
|
|
121
|
+
"new-session", "-d", "-s", DAEMON_TMUX, "-x", "200", "-y", "50", daemonCmd,
|
|
122
|
+
]);
|
|
123
|
+
if (result.exitCode !== 0)
|
|
124
|
+
fail(`failed to start daemon tmux session: ${result.stderr}`);
|
|
125
|
+
log(` Waiting ${DAEMON_START_WAIT_MS / 1000}s for daemon to complete first tick...`);
|
|
126
|
+
await sleep(DAEMON_START_WAIT_MS);
|
|
127
|
+
// verify daemon is running by checking tmux session exists
|
|
128
|
+
const check = await exec("tmux", ["has-session", "-t", DAEMON_TMUX]);
|
|
129
|
+
if (check.exitCode !== 0)
|
|
130
|
+
fail("daemon tmux session died");
|
|
131
|
+
pass("Daemon started in tmux session");
|
|
132
|
+
}
|
|
133
|
+
// ── Phase 3: Test scenarios ─────────────────────────────────────────────────
|
|
134
|
+
async function testDaemonStateFile() {
|
|
135
|
+
log("Test 1: Daemon state file exists and has sessions...");
|
|
136
|
+
// daemon should have written state file after first tick
|
|
137
|
+
if (!existsSync(DAEMON_STATE)) {
|
|
138
|
+
// give it a few more seconds
|
|
139
|
+
await sleep(5_000);
|
|
140
|
+
if (!existsSync(DAEMON_STATE))
|
|
141
|
+
fail("daemon-state.json not found");
|
|
142
|
+
}
|
|
143
|
+
const state = JSON.parse(readFileSync(DAEMON_STATE, "utf-8"));
|
|
144
|
+
if (typeof state.pollCount !== "number")
|
|
145
|
+
fail("daemon state missing pollCount");
|
|
146
|
+
if (!Array.isArray(state.sessions))
|
|
147
|
+
fail("daemon state missing sessions array");
|
|
148
|
+
// should see our test sessions (plus possibly the main aoaoe session)
|
|
149
|
+
const testSessions = state.sessions.filter((s) => s.title === SESSION_1_TITLE || s.title === SESSION_2_TITLE);
|
|
150
|
+
if (testSessions.length < 2) {
|
|
151
|
+
fail(`expected 2 test sessions in daemon state, found ${testSessions.length}: ${JSON.stringify(state.sessions.map((s) => s.title))}`);
|
|
152
|
+
}
|
|
153
|
+
pass(`Daemon state has ${state.sessions.length} sessions, pollCount=${state.pollCount}`);
|
|
154
|
+
}
|
|
155
|
+
async function testTmuxCapture(sessions) {
|
|
156
|
+
log("Test 2: tmux capture-pane works for test sessions...");
|
|
157
|
+
for (const s of sessions) {
|
|
158
|
+
const cap = await exec("tmux", ["capture-pane", "-t", s.tmuxName, "-p", "-S", "-50"]);
|
|
159
|
+
if (cap.exitCode !== 0)
|
|
160
|
+
fail(`tmux capture failed for ${s.tmuxName}: ${cap.stderr}`);
|
|
161
|
+
// output should be non-empty (at minimum opencode shows its UI)
|
|
162
|
+
if (cap.stdout.trim().length === 0) {
|
|
163
|
+
log(` Warning: empty capture for ${s.title} — agent may still be loading`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
pass("tmux capture-pane works for both test sessions");
|
|
167
|
+
}
|
|
168
|
+
async function testDaemonObservation(sessions) {
|
|
169
|
+
log("Test 3: Daemon log shows observation of test sessions...");
|
|
170
|
+
// capture daemon pane to check for log lines
|
|
171
|
+
const cap = await exec("tmux", ["capture-pane", "-t", DAEMON_TMUX, "-p", "-S", "-200"]);
|
|
172
|
+
if (cap.exitCode !== 0)
|
|
173
|
+
fail("cannot capture daemon pane");
|
|
174
|
+
const output = cap.stdout;
|
|
175
|
+
// daemon should show session names in its output
|
|
176
|
+
let foundSessions = 0;
|
|
177
|
+
for (const s of sessions) {
|
|
178
|
+
// the daemon dashboard shows session titles
|
|
179
|
+
if (output.includes(s.title) || output.includes(s.id.slice(0, 8))) {
|
|
180
|
+
foundSessions++;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
if (foundSessions === 0) {
|
|
184
|
+
// check if daemon log file has the info instead
|
|
185
|
+
if (existsSync(DAEMON_LOG)) {
|
|
186
|
+
const logContent = readFileSync(DAEMON_LOG, "utf-8");
|
|
187
|
+
for (const s of sessions) {
|
|
188
|
+
if (logContent.includes(s.title) || logContent.includes(s.id.slice(0, 8))) {
|
|
189
|
+
foundSessions++;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
if (foundSessions < 2) {
|
|
195
|
+
log(` Warning: only found ${foundSessions}/2 test sessions in daemon output (may need more time)`);
|
|
196
|
+
}
|
|
197
|
+
pass(`Daemon observing ${foundSessions}/2 test sessions`);
|
|
198
|
+
}
|
|
199
|
+
async function testSendInput(session) {
|
|
200
|
+
log("Test 4: Can send input via tmux send-keys...");
|
|
201
|
+
// send a simple echo command to verify tmux send-keys works
|
|
202
|
+
// we use -l for literal text, then Enter separately (matching executor pattern)
|
|
203
|
+
const textOk = await exec("tmux", ["send-keys", "-t", session.tmuxName, "-l", 'echo "ITEST_PING"']);
|
|
204
|
+
if (textOk.exitCode !== 0)
|
|
205
|
+
fail(`send-keys text failed for ${session.tmuxName}`);
|
|
206
|
+
const enterOk = await exec("tmux", ["send-keys", "-t", session.tmuxName, "Enter"]);
|
|
207
|
+
if (enterOk.exitCode !== 0)
|
|
208
|
+
fail(`send-keys Enter failed for ${session.tmuxName}`);
|
|
209
|
+
// wait a moment, then capture and look for our string
|
|
210
|
+
await sleep(3_000);
|
|
211
|
+
const cap = await exec("tmux", ["capture-pane", "-t", session.tmuxName, "-p", "-S", "-50"]);
|
|
212
|
+
if (cap.stdout.includes("ITEST_PING")) {
|
|
213
|
+
pass("send-keys round-trip verified (ITEST_PING found in output)");
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
// this is ok — the agent might have consumed the input before we captured
|
|
217
|
+
pass("send-keys completed (agent may have already processed the input)");
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
async function testContextDiscovery(sessions) {
|
|
221
|
+
log("Test 5: Context files are discoverable for test projects...");
|
|
222
|
+
// run aoaoe test-context to verify context loading works
|
|
223
|
+
const result = await exec("npx", ["aoaoe", "test-context"], 30_000);
|
|
224
|
+
// test-context should mention our test session directories
|
|
225
|
+
let found = 0;
|
|
226
|
+
for (const s of sessions) {
|
|
227
|
+
if (result.stdout.includes(s.title) || result.stdout.includes("AGENTS.md")) {
|
|
228
|
+
found++;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
// even if test-context doesn't find our sessions (they may not resolve to test dirs
|
|
232
|
+
// from /Users/kadler/Documents/repos), the command should succeed
|
|
233
|
+
if (result.exitCode !== 0) {
|
|
234
|
+
log(` Warning: test-context exited with code ${result.exitCode}`);
|
|
235
|
+
}
|
|
236
|
+
pass(`Context discovery completed (test-context exit code: ${result.exitCode})`);
|
|
237
|
+
}
|
|
238
|
+
async function testDaemonLogNoTimeouts() {
|
|
239
|
+
log("Test 6: No reasoner timeouts in daemon log...");
|
|
240
|
+
if (!existsSync(DAEMON_LOG)) {
|
|
241
|
+
pass("No daemon log file yet (daemon may not have reasoned yet)");
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
const logContent = readFileSync(DAEMON_LOG, "utf-8");
|
|
245
|
+
const timeoutLines = logContent
|
|
246
|
+
.split("\n")
|
|
247
|
+
.filter((line) => line.includes("timed out") || line.includes("TIMEOUT"));
|
|
248
|
+
if (timeoutLines.length > 0) {
|
|
249
|
+
log(` Warning: Found ${timeoutLines.length} timeout lines in daemon log`);
|
|
250
|
+
for (const line of timeoutLines.slice(0, 3)) {
|
|
251
|
+
log(` ${line.slice(0, 120)}`);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
pass(`Daemon log: ${timeoutLines.length} timeout(s) found`);
|
|
255
|
+
}
|
|
256
|
+
async function testSessionRemoval() {
|
|
257
|
+
log("Test 7: Session removal via aoe remove...");
|
|
258
|
+
// list current sessions
|
|
259
|
+
const before = await exec("aoe", ["list", "--json"]);
|
|
260
|
+
const beforeSessions = JSON.parse(before.stdout);
|
|
261
|
+
const testBefore = beforeSessions.filter((s) => s.title === SESSION_1_TITLE || s.title === SESSION_2_TITLE);
|
|
262
|
+
if (testBefore.length === 0) {
|
|
263
|
+
pass("No test sessions to remove (already cleaned up)");
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
// remove test sessions
|
|
267
|
+
for (const s of testBefore) {
|
|
268
|
+
// aoe remove does NOT accept -y, pipe "y" to confirm
|
|
269
|
+
const result = await exec("bash", ["-c", `echo "y" | aoe remove ${s.id}`]);
|
|
270
|
+
if (result.exitCode !== 0) {
|
|
271
|
+
log(` Warning: failed to remove session ${s.id}: ${result.stderr}`);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
// verify removal
|
|
275
|
+
await sleep(2_000);
|
|
276
|
+
const after = await exec("aoe", ["list", "--json"]);
|
|
277
|
+
const afterSessions = JSON.parse(after.stdout);
|
|
278
|
+
const testAfter = afterSessions.filter((s) => s.title === SESSION_1_TITLE || s.title === SESSION_2_TITLE);
|
|
279
|
+
if (testAfter.length > 0) {
|
|
280
|
+
log(` Warning: ${testAfter.length} test session(s) still present after removal`);
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
pass("All test sessions removed successfully");
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
// ── Phase 4: Cleanup ────────────────────────────────────────────────────────
|
|
287
|
+
async function cleanup() {
|
|
288
|
+
log("Phase 4: Cleanup...");
|
|
289
|
+
// stop daemon tmux session
|
|
290
|
+
await exec("tmux", ["kill-session", "-t", DAEMON_TMUX]);
|
|
291
|
+
// remove any remaining test sessions
|
|
292
|
+
const list = await exec("aoe", ["list", "--json"]);
|
|
293
|
+
if (list.exitCode === 0) {
|
|
294
|
+
try {
|
|
295
|
+
const sessions = JSON.parse(list.stdout);
|
|
296
|
+
for (const s of sessions) {
|
|
297
|
+
if (s.title === SESSION_1_TITLE || s.title === SESSION_2_TITLE) {
|
|
298
|
+
await exec("bash", ["-c", `echo "y" | aoe remove ${s.id}`]);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
catch { }
|
|
303
|
+
}
|
|
304
|
+
// clean temp directory
|
|
305
|
+
try {
|
|
306
|
+
rmSync(TEST_DIR, { recursive: true, force: true });
|
|
307
|
+
}
|
|
308
|
+
catch { }
|
|
309
|
+
pass("Cleanup complete");
|
|
310
|
+
}
|
|
311
|
+
// ── Main ────────────────────────────────────────────────────────────────────
|
|
312
|
+
async function main() {
|
|
313
|
+
console.log("\n╔══════════════════════════════════════════════╗");
|
|
314
|
+
console.log("║ aoaoe Integration Test ║");
|
|
315
|
+
console.log("╚══════════════════════════════════════════════╝\n");
|
|
316
|
+
const startTime = Date.now();
|
|
317
|
+
let sessions = [];
|
|
318
|
+
try {
|
|
319
|
+
// Phase 0
|
|
320
|
+
await checkPrerequisites();
|
|
321
|
+
// Phase 1: Create test sessions
|
|
322
|
+
const [s1, s2] = await createTestSessions();
|
|
323
|
+
sessions = [s1, s2];
|
|
324
|
+
// Phase 2: Start daemon
|
|
325
|
+
await startDaemon();
|
|
326
|
+
// Phase 3: Run tests
|
|
327
|
+
await testDaemonStateFile();
|
|
328
|
+
await testTmuxCapture(sessions);
|
|
329
|
+
await testDaemonObservation(sessions);
|
|
330
|
+
await testSendInput(s1);
|
|
331
|
+
await testContextDiscovery(sessions);
|
|
332
|
+
await testDaemonLogNoTimeouts();
|
|
333
|
+
// Test 7 is destructive — does its own session removal
|
|
334
|
+
await testSessionRemoval();
|
|
335
|
+
}
|
|
336
|
+
catch (err) {
|
|
337
|
+
console.error(`\n💥 Unexpected error: ${err}`);
|
|
338
|
+
}
|
|
339
|
+
finally {
|
|
340
|
+
// Always clean up
|
|
341
|
+
await cleanup();
|
|
342
|
+
}
|
|
343
|
+
const elapsed = ((Date.now() - startTime) / 1000).toFixed(1);
|
|
344
|
+
console.log(`\n────────────────────────────────────────────────`);
|
|
345
|
+
console.log(`Integration test completed in ${elapsed}s`);
|
|
346
|
+
console.log(`────────────────────────────────────────────────\n`);
|
|
347
|
+
}
|
|
348
|
+
main().catch((err) => {
|
|
349
|
+
console.error("Fatal:", err);
|
|
350
|
+
process.exit(1);
|
|
351
|
+
});
|
|
352
|
+
//# sourceMappingURL=integration-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration-test.js","sourceRoot":"","sources":["../src/integration-test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aoaoe",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.26.0",
|
|
4
4
|
"description": "Autonomous supervisor for agent-of-empires sessions using OpenCode or Claude Code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"start": "node dist/index.js",
|
|
20
20
|
"lint": "tsc --noEmit",
|
|
21
21
|
"test": "npm run build && node --test --test-reporter spec dist/*.test.js dist/**/*.test.js",
|
|
22
|
+
"integration-test": "npm run build && node dist/integration-test.js",
|
|
22
23
|
"clean": "rm -rf dist",
|
|
23
24
|
"prepublishOnly": "npm run build"
|
|
24
25
|
},
|