aoaoe 0.26.0 → 0.28.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/README.md +34 -0
- package/dist/abort-signal.test.js +23 -124
- package/dist/abort-signal.test.js.map +1 -1
- package/dist/chat.test.js +0 -30
- package/dist/chat.test.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +15 -4
- package/dist/config.js.map +1 -1
- package/dist/config.test.js +0 -48
- package/dist/config.test.js.map +1 -1
- package/dist/console.test.js +1 -41
- package/dist/console.test.js.map +1 -1
- package/dist/context.test.js +0 -33
- package/dist/context.test.js.map +1 -1
- package/dist/daemon-state.test.js +0 -17
- package/dist/daemon-state.test.js.map +1 -1
- package/dist/dashboard.d.ts.map +1 -1
- package/dist/dashboard.js +53 -9
- package/dist/dashboard.js.map +1 -1
- package/dist/dashboard.test.js +6 -27
- package/dist/dashboard.test.js.map +1 -1
- package/dist/executor.d.ts +5 -0
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +26 -0
- package/dist/executor.js.map +1 -1
- package/dist/executor.test.js +1 -204
- package/dist/executor.test.js.map +1 -1
- package/dist/index.js +86 -10
- package/dist/index.js.map +1 -1
- package/dist/input.test.js +0 -165
- package/dist/input.test.js.map +1 -1
- package/dist/integration-test.d.ts +14 -8
- package/dist/integration-test.d.ts.map +1 -1
- package/dist/integration-test.js +284 -270
- package/dist/integration-test.js.map +1 -1
- package/dist/ipc.test.js +7 -169
- package/dist/ipc.test.js.map +1 -1
- package/dist/loop.d.ts +2 -1
- package/dist/loop.d.ts.map +1 -1
- package/dist/loop.js +5 -2
- package/dist/loop.js.map +1 -1
- package/dist/poller.test.js +0 -17
- package/dist/poller.test.js.map +1 -1
- package/dist/prompt-watcher.d.ts +47 -0
- package/dist/prompt-watcher.d.ts.map +1 -0
- package/dist/prompt-watcher.js +167 -0
- package/dist/prompt-watcher.js.map +1 -0
- package/dist/reasoner/prompt.d.ts +3 -2
- package/dist/reasoner/prompt.d.ts.map +1 -1
- package/dist/reasoner/prompt.js +48 -2
- package/dist/reasoner/prompt.js.map +1 -1
- package/dist/reasoner/prompt.test.js +12 -0
- package/dist/reasoner/prompt.test.js.map +1 -1
- package/dist/reasoner/reasoner-factory.test.js +0 -23
- package/dist/reasoner/reasoner-factory.test.js.map +1 -1
- package/dist/shell.test.js +0 -15
- package/dist/shell.test.js.map +1 -1
- package/dist/task-manager.d.ts +24 -0
- package/dist/task-manager.d.ts.map +1 -0
- package/dist/task-manager.js +304 -0
- package/dist/task-manager.js.map +1 -0
- package/dist/types.d.ts +32 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/reasoner/claude-code.test.d.ts +0 -2
- package/dist/reasoner/claude-code.test.d.ts.map +0 -1
- package/dist/reasoner/claude-code.test.js +0 -166
- package/dist/reasoner/claude-code.test.js.map +0 -1
package/README.md
CHANGED
|
@@ -163,6 +163,36 @@ aoaoe --reasoner opencode --model anthropic/claude-sonnet-4-20250514
|
|
|
163
163
|
aoaoe --reasoner claude-code --model claude-sonnet-4-20250514
|
|
164
164
|
```
|
|
165
165
|
|
|
166
|
+
## Task System
|
|
167
|
+
|
|
168
|
+
aoaoe can automatically create and manage AoE sessions from a task list. Define repos you want to work on in `aoaoe.tasks.json` (next to your config file):
|
|
169
|
+
|
|
170
|
+
```json
|
|
171
|
+
[
|
|
172
|
+
{ "repo": "github/adventure", "tool": "opencode", "goal": "Continue the roadmap in claude.md" },
|
|
173
|
+
{ "repo": "github/cloud-hypervisor", "goal": "Address PR review feedback" },
|
|
174
|
+
{ "repo": "cc/cloudchamber" }
|
|
175
|
+
]
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
| Field | Required | Description |
|
|
179
|
+
|-------|:--------:|-------------|
|
|
180
|
+
| `repo` | Yes | Path to the project directory (relative to cwd or absolute) |
|
|
181
|
+
| `tool` | No | Agent tool to use (`opencode`, `claude-code`, etc.). Default: `opencode` |
|
|
182
|
+
| `goal` | No | Goal text injected into the supervisor's context for this task |
|
|
183
|
+
|
|
184
|
+
When the daemon starts, it reconciles sessions automatically: creates new AoE sessions for tasks that don't have one, links existing sessions to matching tasks. Progress is tracked persistently in `~/.aoaoe/task-state.json` and survives session cleanup.
|
|
185
|
+
|
|
186
|
+
The supervisor can report progress milestones and mark tasks complete via two special actions:
|
|
187
|
+
- `report_progress` — logs a milestone summary to persistent state
|
|
188
|
+
- `complete_task` — marks the task done and cleans up the session
|
|
189
|
+
|
|
190
|
+
View task status:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
aoaoe tasks # show task progress table
|
|
194
|
+
```
|
|
195
|
+
|
|
166
196
|
## Chat UI Commands
|
|
167
197
|
|
|
168
198
|
Once inside the chat UI (via `aoe` -> select "aoaoe"):
|
|
@@ -203,7 +233,9 @@ aoaoe [command] [options]
|
|
|
203
233
|
|
|
204
234
|
commands:
|
|
205
235
|
(none) start the supervisor daemon (polls, reasons, executes)
|
|
236
|
+
tasks show task progress from persistent state
|
|
206
237
|
test-context scan sessions + context files (read-only, no LLM, safe)
|
|
238
|
+
test run integration tests (requires aoe, opencode, tmux)
|
|
207
239
|
register register aoaoe as an AoE session (one-time setup)
|
|
208
240
|
attach enter the reasoner console (Ctrl+B D to detach)
|
|
209
241
|
|
|
@@ -360,6 +392,8 @@ The reasoner returns structured JSON decisions:
|
|
|
360
392
|
{ "action": "stop_session", "session": "<id>" }
|
|
361
393
|
{ "action": "create_agent", "path": "<dir>", "title": "<name>", "tool": "<agent>" }
|
|
362
394
|
{ "action": "remove_agent", "session": "<id>" }
|
|
395
|
+
{ "action": "report_progress", "repo": "<path>", "summary": "<milestone>" }
|
|
396
|
+
{ "action": "complete_task", "repo": "<path>", "summary": "<final status>" }
|
|
363
397
|
{ "action": "wait" }
|
|
364
398
|
```
|
|
365
399
|
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { describe, it } from "node:test";
|
|
2
2
|
import assert from "node:assert/strict";
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
// private in index.ts — these tests validate the signal-passing contract.
|
|
6
|
-
// replicated from index.ts — accepts a factory that receives an AbortSignal,
|
|
7
|
-
// races it against a timeout, aborts the signal on timeout or cancellation
|
|
3
|
+
// Minimal helper for the fetch-timeout test — mirrors the private
|
|
4
|
+
// withTimeoutAndAbort in index.ts (race a factory against a timer).
|
|
8
5
|
function withTimeoutAndAbort(factory, ms, fallback) {
|
|
9
6
|
return new Promise((resolve) => {
|
|
10
7
|
let settled = false;
|
|
@@ -16,13 +13,15 @@ function withTimeoutAndAbort(factory, ms, fallback) {
|
|
|
16
13
|
ac.abort();
|
|
17
14
|
resolve({ result: fallback, timedOut: true });
|
|
18
15
|
}, ms);
|
|
19
|
-
factory(ac.signal)
|
|
16
|
+
factory(ac.signal)
|
|
17
|
+
.then((result) => {
|
|
20
18
|
if (settled)
|
|
21
19
|
return;
|
|
22
20
|
settled = true;
|
|
23
21
|
clearTimeout(timer);
|
|
24
22
|
resolve({ result, timedOut: false });
|
|
25
|
-
})
|
|
23
|
+
})
|
|
24
|
+
.catch(() => {
|
|
26
25
|
if (settled)
|
|
27
26
|
return;
|
|
28
27
|
settled = true;
|
|
@@ -31,122 +30,8 @@ function withTimeoutAndAbort(factory, ms, fallback) {
|
|
|
31
30
|
});
|
|
32
31
|
});
|
|
33
32
|
}
|
|
34
|
-
describe("AbortSignal — factory receives signal", () => {
|
|
35
|
-
it("passes an AbortSignal to the factory function", async () => {
|
|
36
|
-
let receivedSignal = null;
|
|
37
|
-
await withTimeoutAndAbort(async (signal) => {
|
|
38
|
-
receivedSignal = signal;
|
|
39
|
-
return "ok";
|
|
40
|
-
}, 5000, "fallback");
|
|
41
|
-
assert.ok(receivedSignal, "factory should receive a signal");
|
|
42
|
-
assert.ok(typeof receivedSignal.aborted === "boolean", "should be an AbortSignal");
|
|
43
|
-
});
|
|
44
|
-
it("signal is not aborted when factory resolves before timeout", async () => {
|
|
45
|
-
let signalAborted = false;
|
|
46
|
-
const { result, timedOut } = await withTimeoutAndAbort(async (signal) => {
|
|
47
|
-
signal.addEventListener("abort", () => { signalAborted = true; });
|
|
48
|
-
return "fast result";
|
|
49
|
-
}, 5000, "fallback");
|
|
50
|
-
assert.equal(result, "fast result");
|
|
51
|
-
assert.equal(timedOut, false);
|
|
52
|
-
assert.equal(signalAborted, false, "signal should not be aborted");
|
|
53
|
-
});
|
|
54
|
-
it("signal is aborted when factory exceeds timeout", async () => {
|
|
55
|
-
let signalAborted = false;
|
|
56
|
-
const { result, timedOut } = await withTimeoutAndAbort(async (signal) => {
|
|
57
|
-
signalAborted = signal.aborted; // not yet
|
|
58
|
-
return new Promise((resolve) => {
|
|
59
|
-
signal.addEventListener("abort", () => {
|
|
60
|
-
signalAborted = true;
|
|
61
|
-
// simulate cleanup after abort
|
|
62
|
-
resolve("late result");
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
}, 50, // very short timeout
|
|
66
|
-
"timed-out-fallback");
|
|
67
|
-
assert.equal(result, "timed-out-fallback");
|
|
68
|
-
assert.equal(timedOut, true);
|
|
69
|
-
// allow microtask to fire abort listener
|
|
70
|
-
await new Promise((r) => setTimeout(r, 10));
|
|
71
|
-
assert.equal(signalAborted, true, "signal should be aborted after timeout");
|
|
72
|
-
});
|
|
73
|
-
it("returns fallback when factory throws (non-abort error)", async () => {
|
|
74
|
-
const { result, timedOut } = await withTimeoutAndAbort(async (_signal) => {
|
|
75
|
-
throw new Error("connection refused");
|
|
76
|
-
}, 5000, "error-fallback");
|
|
77
|
-
assert.equal(result, "error-fallback");
|
|
78
|
-
assert.equal(timedOut, false);
|
|
79
|
-
});
|
|
80
|
-
it("handles immediate resolution", async () => {
|
|
81
|
-
const { result, timedOut } = await withTimeoutAndAbort(async (_signal) => 42, 5000, -1);
|
|
82
|
-
assert.equal(result, 42);
|
|
83
|
-
assert.equal(timedOut, false);
|
|
84
|
-
});
|
|
85
|
-
it("handles zero timeout (instant abort)", async () => {
|
|
86
|
-
const { result, timedOut } = await withTimeoutAndAbort(async (signal) => {
|
|
87
|
-
// even though we try to resolve, the 0ms timer fires first
|
|
88
|
-
await new Promise((r) => setTimeout(r, 50));
|
|
89
|
-
return "should-not-get-here";
|
|
90
|
-
}, 0, "instant-timeout");
|
|
91
|
-
assert.equal(result, "instant-timeout");
|
|
92
|
-
assert.equal(timedOut, true);
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
describe("AbortSignal — fetch() integration pattern", () => {
|
|
96
|
-
it("signal can be passed to fetch (pattern validation)", async () => {
|
|
97
|
-
// validates that the pattern used in opencode.ts sendMessage works:
|
|
98
|
-
// fetch(url, { signal }) where signal comes from the factory
|
|
99
|
-
let fetchSignal;
|
|
100
|
-
const mockFetch = async (_url, opts) => {
|
|
101
|
-
fetchSignal = opts?.signal;
|
|
102
|
-
return { ok: true, json: async () => ({}) };
|
|
103
|
-
};
|
|
104
|
-
await withTimeoutAndAbort(async (signal) => {
|
|
105
|
-
await mockFetch("http://localhost:4097/session/test/message", { signal });
|
|
106
|
-
return "response";
|
|
107
|
-
}, 5000, "fallback");
|
|
108
|
-
assert.ok(fetchSignal, "signal should be passed to fetch");
|
|
109
|
-
assert.equal(fetchSignal.aborted, false);
|
|
110
|
-
});
|
|
111
|
-
it("fetch signal is aborted on timeout", async () => {
|
|
112
|
-
let fetchSignal;
|
|
113
|
-
const mockFetch = async (_url, opts) => {
|
|
114
|
-
fetchSignal = opts?.signal;
|
|
115
|
-
// simulate slow response
|
|
116
|
-
await new Promise((r) => setTimeout(r, 200));
|
|
117
|
-
return { ok: true, json: async () => ({}) };
|
|
118
|
-
};
|
|
119
|
-
await withTimeoutAndAbort(async (signal) => {
|
|
120
|
-
await mockFetch("http://localhost:4097/session/test/message", { signal });
|
|
121
|
-
return "response";
|
|
122
|
-
}, 50, // short timeout
|
|
123
|
-
"timeout-fallback");
|
|
124
|
-
// allow abort to propagate
|
|
125
|
-
await new Promise((r) => setTimeout(r, 10));
|
|
126
|
-
assert.ok(fetchSignal, "signal should have been passed");
|
|
127
|
-
assert.equal(fetchSignal.aborted, true, "signal should be aborted on timeout");
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
describe("AbortSignal — exec() integration pattern", () => {
|
|
131
|
-
it("signal can be passed to subprocess exec (pattern validation)", async () => {
|
|
132
|
-
// validates the pattern used in claude-code.ts decide():
|
|
133
|
-
// exec("claude", args, timeout, signal) where signal comes from factory
|
|
134
|
-
let execSignal;
|
|
135
|
-
const mockExec = async (_cmd, _args, _timeout, signal) => {
|
|
136
|
-
execSignal = signal;
|
|
137
|
-
return { stdout: '{"actions":[{"action":"wait"}]}', stderr: "", exitCode: 0 };
|
|
138
|
-
};
|
|
139
|
-
await withTimeoutAndAbort(async (signal) => {
|
|
140
|
-
const result = await mockExec("claude", ["--print", "test"], 120_000, signal);
|
|
141
|
-
return result.stdout;
|
|
142
|
-
}, 5000, "fallback");
|
|
143
|
-
assert.ok(execSignal, "signal should be passed to exec");
|
|
144
|
-
assert.equal(execSignal.aborted, false);
|
|
145
|
-
});
|
|
146
|
-
});
|
|
147
33
|
describe("AbortSignal — Reasoner.decide() interface contract", () => {
|
|
148
34
|
it("signal parameter is optional (backward compatible)", async () => {
|
|
149
|
-
// The Reasoner interface accepts optional signal — callers can omit it
|
|
150
35
|
const mockReasoner = {
|
|
151
36
|
async decide(_obs, signal) {
|
|
152
37
|
return { actions: [{ action: "wait" }], signalPresent: signal !== undefined };
|
|
@@ -162,13 +47,10 @@ describe("AbortSignal — Reasoner.decide() interface contract", () => {
|
|
|
162
47
|
assert.equal(r2.signalPresent, true);
|
|
163
48
|
});
|
|
164
49
|
it("early abort returns wait action", async () => {
|
|
165
|
-
// Pattern from opencode.ts: check signal.aborted after each await
|
|
166
50
|
const mockDecide = async (_prompt, signal) => {
|
|
167
|
-
// simulate some work
|
|
168
51
|
await new Promise((r) => setTimeout(r, 10));
|
|
169
52
|
if (signal?.aborted)
|
|
170
53
|
return { actions: [{ action: "wait", reason: "aborted" }] };
|
|
171
|
-
// simulate more work
|
|
172
54
|
await new Promise((r) => setTimeout(r, 10));
|
|
173
55
|
if (signal?.aborted)
|
|
174
56
|
return { actions: [{ action: "wait", reason: "aborted" }] };
|
|
@@ -184,4 +66,21 @@ describe("AbortSignal — Reasoner.decide() interface contract", () => {
|
|
|
184
66
|
assert.equal(r2.actions[0].action, "wait");
|
|
185
67
|
});
|
|
186
68
|
});
|
|
69
|
+
describe("AbortSignal — fetch() integration pattern", () => {
|
|
70
|
+
it("fetch signal is aborted on timeout", async () => {
|
|
71
|
+
let fetchSignal;
|
|
72
|
+
const mockFetch = async (_url, opts) => {
|
|
73
|
+
fetchSignal = opts?.signal;
|
|
74
|
+
await new Promise((r) => setTimeout(r, 200));
|
|
75
|
+
return { ok: true, json: async () => ({}) };
|
|
76
|
+
};
|
|
77
|
+
await withTimeoutAndAbort(async (signal) => {
|
|
78
|
+
await mockFetch("http://localhost:4097/session/test/message", { signal });
|
|
79
|
+
return "response";
|
|
80
|
+
}, 50, "timeout-fallback");
|
|
81
|
+
await new Promise((r) => setTimeout(r, 10));
|
|
82
|
+
assert.ok(fetchSignal, "signal should have been passed");
|
|
83
|
+
assert.equal(fetchSignal.aborted, true, "signal should be aborted on timeout");
|
|
84
|
+
});
|
|
85
|
+
});
|
|
187
86
|
//# sourceMappingURL=abort-signal.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abort-signal.test.js","sourceRoot":"","sources":["../src/abort-signal.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,
|
|
1
|
+
{"version":3,"file":"abort-signal.test.js","sourceRoot":"","sources":["../src/abort-signal.test.ts"],"names":[],"mappings":"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"}
|
package/dist/chat.test.js
CHANGED
|
@@ -50,11 +50,6 @@ describe("colorize", () => {
|
|
|
50
50
|
const output = colorize(input);
|
|
51
51
|
assert.ok(output.includes("\x1b[2m"), "should contain DIM escape code");
|
|
52
52
|
});
|
|
53
|
-
it("leaves untagged lines unchanged", () => {
|
|
54
|
-
const input = "some plain text without tags";
|
|
55
|
-
const output = colorize(input);
|
|
56
|
-
assert.equal(output, input);
|
|
57
|
-
});
|
|
58
53
|
it("handles multiline text", () => {
|
|
59
54
|
const input = "[12:00:00] [you] hello\n[12:00:01] [reasoner] hi back\nplain line";
|
|
60
55
|
const output = colorize(input);
|
|
@@ -62,9 +57,6 @@ describe("colorize", () => {
|
|
|
62
57
|
assert.ok(output.includes("\x1b[36m"), "should colorize 'reasoner' line");
|
|
63
58
|
assert.ok(output.includes("plain line"), "should preserve plain lines");
|
|
64
59
|
});
|
|
65
|
-
it("handles empty string", () => {
|
|
66
|
-
assert.equal(colorize(""), "");
|
|
67
|
-
});
|
|
68
60
|
});
|
|
69
61
|
// --- isDaemonRunningFromState ---
|
|
70
62
|
describe("isDaemonRunningFromState", () => {
|
|
@@ -106,21 +98,9 @@ describe("isDaemonRunningFromState", () => {
|
|
|
106
98
|
const state = makeState({ phaseStartedAt: now - 85_000, pollIntervalMs: 10_000, phase: "reasoning" });
|
|
107
99
|
assert.equal(isDaemonRunningFromState(state, now), true, "85s reasoning should not be stale");
|
|
108
100
|
});
|
|
109
|
-
it("edge case: phaseStartedAt equals now", () => {
|
|
110
|
-
const now = Date.now();
|
|
111
|
-
const state = makeState({ phaseStartedAt: now });
|
|
112
|
-
assert.equal(isDaemonRunningFromState(state, now), true);
|
|
113
|
-
});
|
|
114
101
|
});
|
|
115
102
|
// --- getCountdownFromState ---
|
|
116
103
|
describe("getCountdownFromState", () => {
|
|
117
|
-
it("returns null for null state", () => {
|
|
118
|
-
assert.equal(getCountdownFromState(null, false), null);
|
|
119
|
-
});
|
|
120
|
-
it("returns null when daemon is not running", () => {
|
|
121
|
-
const state = makeState();
|
|
122
|
-
assert.equal(getCountdownFromState(state, false), null);
|
|
123
|
-
});
|
|
124
104
|
it("returns null when phase is not sleeping", () => {
|
|
125
105
|
const state = makeState({ phase: "reasoning", nextTickAt: Date.now() + 10_000 });
|
|
126
106
|
assert.equal(getCountdownFromState(state, true), null);
|
|
@@ -141,16 +121,9 @@ describe("getCountdownFromState", () => {
|
|
|
141
121
|
const state = makeState({ phase: "sleeping", nextTickAt: now + 5_000 });
|
|
142
122
|
assert.equal(getCountdownFromState(state, true, now), 5);
|
|
143
123
|
});
|
|
144
|
-
it("returns null when nextTickAt is 0 (not set)", () => {
|
|
145
|
-
const state = makeState({ phase: "sleeping", nextTickAt: 0 });
|
|
146
|
-
assert.equal(getCountdownFromState(state, true), null);
|
|
147
|
-
});
|
|
148
124
|
});
|
|
149
125
|
// --- buildStatusLineFromState ---
|
|
150
126
|
describe("buildStatusLineFromState", () => {
|
|
151
|
-
it("returns null when daemon not running and not forTitle", () => {
|
|
152
|
-
assert.equal(buildStatusLineFromState(null, false), null);
|
|
153
|
-
});
|
|
154
127
|
it("returns offline string when daemon not running and forTitle", () => {
|
|
155
128
|
assert.equal(buildStatusLineFromState(null, false, true), "aoaoe (daemon offline)");
|
|
156
129
|
});
|
|
@@ -193,9 +166,6 @@ describe("buildStatusLineFromState", () => {
|
|
|
193
166
|
const pipes = (line?.match(/\|/g) ?? []).length;
|
|
194
167
|
assert.ok(pipes >= 2, `expected at least 2 pipe separators in '${line}'`);
|
|
195
168
|
});
|
|
196
|
-
it("returns offline for forTitle when state is null", () => {
|
|
197
|
-
assert.equal(buildStatusLineFromState(null, false, true), "aoaoe (daemon offline)");
|
|
198
|
-
});
|
|
199
169
|
it("returns offline for forTitle when daemon not running", () => {
|
|
200
170
|
const now = Date.now();
|
|
201
171
|
const state = makeState({ phaseStartedAt: now - 100_000, pollIntervalMs: 10_000 });
|
package/dist/chat.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.test.js","sourceRoot":"","sources":["../src/chat.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat.test.js","sourceRoot":"","sources":["../src/chat.test.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AA+B/D,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAuBxE;AAGD,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAoCxD;AAGD,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB5E;AAYD,wBAAgB,SAAS,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,WAAW,CAe5E;AAMD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAC5C,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AA+B/D,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAuBxE;AAGD,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAoCxD;AAGD,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB5E;AAYD,wBAAgB,SAAS,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,WAAW,CAe5E;AAMD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAC5C,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAoGA;AAED,wBAAgB,SAAS,SA0CxB"}
|
package/dist/config.js
CHANGED
|
@@ -137,13 +137,21 @@ export function parseCliArgs(argv) {
|
|
|
137
137
|
let attach = false;
|
|
138
138
|
let register = false;
|
|
139
139
|
let testContext = false;
|
|
140
|
+
let runTest = false;
|
|
141
|
+
let showTasks = false;
|
|
140
142
|
let registerTitle;
|
|
141
143
|
// check for subcommand as first non-flag arg
|
|
142
144
|
if (argv[2] === "attach") {
|
|
143
|
-
return { overrides, help: false, version: false, attach: true, register: false, testContext: false };
|
|
145
|
+
return { overrides, help: false, version: false, attach: true, register: false, testContext: false, runTest: false, showTasks: false };
|
|
144
146
|
}
|
|
145
147
|
if (argv[2] === "test-context") {
|
|
146
|
-
return { overrides, help: false, version: false, attach: false, register: false, testContext: true };
|
|
148
|
+
return { overrides, help: false, version: false, attach: false, register: false, testContext: true, runTest: false, showTasks: false };
|
|
149
|
+
}
|
|
150
|
+
if (argv[2] === "test") {
|
|
151
|
+
return { overrides, help: false, version: false, attach: false, register: false, testContext: false, runTest: true, showTasks: false };
|
|
152
|
+
}
|
|
153
|
+
if (argv[2] === "tasks") {
|
|
154
|
+
return { overrides, help: false, version: false, attach: false, register: false, testContext: false, runTest: false, showTasks: true };
|
|
147
155
|
}
|
|
148
156
|
if (argv[2] === "register") {
|
|
149
157
|
register = true;
|
|
@@ -153,7 +161,7 @@ export function parseCliArgs(argv) {
|
|
|
153
161
|
registerTitle = argv[++i];
|
|
154
162
|
}
|
|
155
163
|
}
|
|
156
|
-
return { overrides, help: false, version: false, attach: false, register, testContext: false, registerTitle };
|
|
164
|
+
return { overrides, help: false, version: false, attach: false, register, testContext: false, runTest: false, showTasks: false, registerTitle };
|
|
157
165
|
}
|
|
158
166
|
// helper: consume next arg with bounds check
|
|
159
167
|
const nextArg = (i, flag) => {
|
|
@@ -216,7 +224,7 @@ export function parseCliArgs(argv) {
|
|
|
216
224
|
break;
|
|
217
225
|
}
|
|
218
226
|
}
|
|
219
|
-
return { overrides, help, version, attach, register: false, testContext: false };
|
|
227
|
+
return { overrides, help, version, attach, register: false, testContext: false, runTest: false, showTasks: false };
|
|
220
228
|
}
|
|
221
229
|
export function printHelp() {
|
|
222
230
|
console.log(`aoaoe - autonomous supervisor for agent-of-empires sessions
|
|
@@ -225,6 +233,8 @@ usage: aoaoe [command] [options]
|
|
|
225
233
|
|
|
226
234
|
commands:
|
|
227
235
|
(none) start the supervisor daemon (polls, reasons, executes)
|
|
236
|
+
tasks show task progress (from aoaoe.tasks.json)
|
|
237
|
+
test run integration test (creates sessions, tests, cleans up)
|
|
228
238
|
test-context scan sessions + context files (read-only, no LLM, safe)
|
|
229
239
|
register register aoaoe as an AoE session (one-time setup)
|
|
230
240
|
attach enter the reasoner console (Ctrl+B D to detach)
|
|
@@ -233,6 +243,7 @@ try it alongside running sessions:
|
|
|
233
243
|
aoaoe test-context # see what aoaoe sees (zero side effects)
|
|
234
244
|
aoaoe --dry-run # full loop but actions are only logged
|
|
235
245
|
aoaoe # full autonomous mode
|
|
246
|
+
aoaoe test # end-to-end integration test (~30s)
|
|
236
247
|
|
|
237
248
|
options:
|
|
238
249
|
--reasoner <opencode|claude-code> reasoning backend (default: opencode)
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.test.js
CHANGED
|
@@ -161,12 +161,6 @@ describe("validateConfig", () => {
|
|
|
161
161
|
it("rejects pollIntervalMs below 1000", () => {
|
|
162
162
|
assert.throws(() => validateConfig(makeConfig({ pollIntervalMs: 500 })), /pollIntervalMs/);
|
|
163
163
|
});
|
|
164
|
-
it("rejects pollIntervalMs NaN", () => {
|
|
165
|
-
assert.throws(() => validateConfig(makeConfig({ pollIntervalMs: NaN })), /pollIntervalMs/);
|
|
166
|
-
});
|
|
167
|
-
it("rejects pollIntervalMs Infinity", () => {
|
|
168
|
-
assert.throws(() => validateConfig(makeConfig({ pollIntervalMs: Infinity })), /pollIntervalMs/);
|
|
169
|
-
});
|
|
170
164
|
it("rejects captureLinesCount zero", () => {
|
|
171
165
|
assert.throws(() => validateConfig(makeConfig({ captureLinesCount: 0 })), /captureLinesCount/);
|
|
172
166
|
});
|
|
@@ -183,12 +177,6 @@ describe("validateConfig", () => {
|
|
|
183
177
|
const config = makeConfig({ reasoner: "bad", pollIntervalMs: 100 });
|
|
184
178
|
assert.throws(() => validateConfig(config), /reasoner.*\n.*pollIntervalMs/s);
|
|
185
179
|
});
|
|
186
|
-
// maxIdleBeforeNudgeMs validation (new in v0.20.0)
|
|
187
|
-
it("accepts valid maxIdleBeforeNudgeMs", () => {
|
|
188
|
-
const config = makeConfig();
|
|
189
|
-
config.policies.maxIdleBeforeNudgeMs = 120_000;
|
|
190
|
-
assert.doesNotThrow(() => validateConfig(config));
|
|
191
|
-
});
|
|
192
180
|
it("rejects maxIdleBeforeNudgeMs of 0", () => {
|
|
193
181
|
const config = makeConfig();
|
|
194
182
|
config.policies.maxIdleBeforeNudgeMs = 0;
|
|
@@ -199,27 +187,6 @@ describe("validateConfig", () => {
|
|
|
199
187
|
config.policies.maxIdleBeforeNudgeMs = 5_000; // less than 10_000
|
|
200
188
|
assert.throws(() => validateConfig(config), /maxIdleBeforeNudgeMs/);
|
|
201
189
|
});
|
|
202
|
-
it("rejects maxIdleBeforeNudgeMs NaN", () => {
|
|
203
|
-
const config = makeConfig();
|
|
204
|
-
config.policies.maxIdleBeforeNudgeMs = NaN;
|
|
205
|
-
assert.throws(() => validateConfig(config), /maxIdleBeforeNudgeMs/);
|
|
206
|
-
});
|
|
207
|
-
it("rejects maxIdleBeforeNudgeMs Infinity", () => {
|
|
208
|
-
const config = makeConfig();
|
|
209
|
-
config.policies.maxIdleBeforeNudgeMs = Infinity;
|
|
210
|
-
assert.throws(() => validateConfig(config), /maxIdleBeforeNudgeMs/);
|
|
211
|
-
});
|
|
212
|
-
it("accepts maxIdleBeforeNudgeMs equal to pollIntervalMs", () => {
|
|
213
|
-
const config = makeConfig({ pollIntervalMs: 10_000 });
|
|
214
|
-
config.policies.maxIdleBeforeNudgeMs = 10_000;
|
|
215
|
-
assert.doesNotThrow(() => validateConfig(config));
|
|
216
|
-
});
|
|
217
|
-
// actionCooldownMs validation (new in v0.20.0)
|
|
218
|
-
it("accepts valid actionCooldownMs", () => {
|
|
219
|
-
const config = makeConfig();
|
|
220
|
-
config.policies.actionCooldownMs = 30_000;
|
|
221
|
-
assert.doesNotThrow(() => validateConfig(config));
|
|
222
|
-
});
|
|
223
190
|
it("accepts config without actionCooldownMs (optional)", () => {
|
|
224
191
|
const config = makeConfig();
|
|
225
192
|
delete config.policies.actionCooldownMs;
|
|
@@ -235,21 +202,6 @@ describe("validateConfig", () => {
|
|
|
235
202
|
config.policies.actionCooldownMs = 500;
|
|
236
203
|
assert.throws(() => validateConfig(config), /actionCooldownMs/);
|
|
237
204
|
});
|
|
238
|
-
it("rejects actionCooldownMs NaN", () => {
|
|
239
|
-
const config = makeConfig();
|
|
240
|
-
config.policies.actionCooldownMs = NaN;
|
|
241
|
-
assert.throws(() => validateConfig(config), /actionCooldownMs/);
|
|
242
|
-
});
|
|
243
|
-
it("rejects actionCooldownMs Infinity", () => {
|
|
244
|
-
const config = makeConfig();
|
|
245
|
-
config.policies.actionCooldownMs = Infinity;
|
|
246
|
-
assert.throws(() => validateConfig(config), /actionCooldownMs/);
|
|
247
|
-
});
|
|
248
|
-
it("accepts actionCooldownMs of exactly 1000", () => {
|
|
249
|
-
const config = makeConfig();
|
|
250
|
-
config.policies.actionCooldownMs = 1000;
|
|
251
|
-
assert.doesNotThrow(() => validateConfig(config));
|
|
252
|
-
});
|
|
253
205
|
});
|
|
254
206
|
describe("deepMerge", () => {
|
|
255
207
|
it("merges flat objects", () => {
|