aoaoe 0.44.0 → 0.45.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 +6 -0
- package/package.json +5 -2
- package/dist/abort-signal.test.d.ts +0 -2
- package/dist/abort-signal.test.d.ts.map +0 -1
- package/dist/abort-signal.test.js +0 -86
- package/dist/abort-signal.test.js.map +0 -1
- package/dist/activity.d.ts.map +0 -1
- package/dist/activity.js.map +0 -1
- package/dist/activity.test.d.ts +0 -2
- package/dist/activity.test.d.ts.map +0 -1
- package/dist/activity.test.js +0 -57
- package/dist/activity.test.js.map +0 -1
- package/dist/chat.d.ts.map +0 -1
- package/dist/chat.js.map +0 -1
- package/dist/chat.test.d.ts +0 -2
- package/dist/chat.test.d.ts.map +0 -1
- package/dist/chat.test.js +0 -293
- package/dist/chat.test.js.map +0 -1
- package/dist/colors.d.ts.map +0 -1
- package/dist/colors.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/config.test.d.ts +0 -2
- package/dist/config.test.d.ts.map +0 -1
- package/dist/config.test.js +0 -401
- package/dist/config.test.js.map +0 -1
- package/dist/console.d.ts.map +0 -1
- package/dist/console.js.map +0 -1
- package/dist/console.test.d.ts +0 -2
- package/dist/console.test.d.ts.map +0 -1
- package/dist/console.test.js +0 -478
- package/dist/console.test.js.map +0 -1
- package/dist/context.d.ts.map +0 -1
- package/dist/context.js.map +0 -1
- package/dist/context.test.d.ts +0 -2
- package/dist/context.test.d.ts.map +0 -1
- package/dist/context.test.js +0 -424
- package/dist/context.test.js.map +0 -1
- package/dist/daemon-state.d.ts.map +0 -1
- package/dist/daemon-state.js.map +0 -1
- package/dist/daemon-state.test.d.ts +0 -2
- package/dist/daemon-state.test.d.ts.map +0 -1
- package/dist/daemon-state.test.js +0 -317
- package/dist/daemon-state.test.js.map +0 -1
- package/dist/dashboard.d.ts.map +0 -1
- package/dist/dashboard.js.map +0 -1
- package/dist/dashboard.test.d.ts +0 -2
- package/dist/dashboard.test.d.ts.map +0 -1
- package/dist/dashboard.test.js +0 -234
- package/dist/dashboard.test.js.map +0 -1
- package/dist/executor.d.ts.map +0 -1
- package/dist/executor.js.map +0 -1
- package/dist/executor.test.d.ts +0 -2
- package/dist/executor.test.d.ts.map +0 -1
- package/dist/executor.test.js +0 -30
- package/dist/executor.test.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js.map +0 -1
- package/dist/input.d.ts.map +0 -1
- package/dist/input.js.map +0 -1
- package/dist/input.test.d.ts +0 -2
- package/dist/input.test.d.ts.map +0 -1
- package/dist/input.test.js +0 -70
- package/dist/input.test.js.map +0 -1
- package/dist/integration-test.d.ts +0 -22
- package/dist/integration-test.d.ts.map +0 -1
- package/dist/integration-test.js +0 -366
- package/dist/integration-test.js.map +0 -1
- package/dist/ipc.test.d.ts +0 -2
- package/dist/ipc.test.d.ts.map +0 -1
- package/dist/ipc.test.js +0 -53
- package/dist/ipc.test.js.map +0 -1
- package/dist/loop.d.ts.map +0 -1
- package/dist/loop.js.map +0 -1
- package/dist/loop.test.d.ts +0 -2
- package/dist/loop.test.d.ts.map +0 -1
- package/dist/loop.test.js +0 -573
- package/dist/loop.test.js.map +0 -1
- package/dist/message.d.ts.map +0 -1
- package/dist/message.js.map +0 -1
- package/dist/message.test.d.ts +0 -2
- package/dist/message.test.d.ts.map +0 -1
- package/dist/message.test.js +0 -236
- package/dist/message.test.js.map +0 -1
- package/dist/poller.d.ts.map +0 -1
- package/dist/poller.js.map +0 -1
- package/dist/poller.test.d.ts +0 -2
- package/dist/poller.test.d.ts.map +0 -1
- package/dist/poller.test.js +0 -143
- package/dist/poller.test.js.map +0 -1
- package/dist/prompt-watcher.d.ts.map +0 -1
- package/dist/prompt-watcher.js.map +0 -1
- package/dist/prompt-watcher.test.d.ts +0 -2
- package/dist/prompt-watcher.test.d.ts.map +0 -1
- package/dist/prompt-watcher.test.js +0 -107
- package/dist/prompt-watcher.test.js.map +0 -1
- package/dist/reasoner/claude-code.d.ts.map +0 -1
- package/dist/reasoner/claude-code.js.map +0 -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 -93
- package/dist/reasoner/claude-code.test.js.map +0 -1
- package/dist/reasoner/index.d.ts.map +0 -1
- package/dist/reasoner/index.js.map +0 -1
- package/dist/reasoner/opencode.d.ts.map +0 -1
- package/dist/reasoner/opencode.js.map +0 -1
- package/dist/reasoner/opencode.test.d.ts +0 -2
- package/dist/reasoner/opencode.test.d.ts.map +0 -1
- package/dist/reasoner/opencode.test.js +0 -493
- package/dist/reasoner/opencode.test.js.map +0 -1
- package/dist/reasoner/parse.d.ts.map +0 -1
- package/dist/reasoner/parse.js.map +0 -1
- package/dist/reasoner/prompt.d.ts.map +0 -1
- package/dist/reasoner/prompt.js.map +0 -1
- package/dist/reasoner/prompt.test.d.ts +0 -2
- package/dist/reasoner/prompt.test.d.ts.map +0 -1
- package/dist/reasoner/prompt.test.js +0 -441
- package/dist/reasoner/prompt.test.js.map +0 -1
- package/dist/reasoner/reasoner-factory.test.d.ts +0 -2
- package/dist/reasoner/reasoner-factory.test.d.ts.map +0 -1
- package/dist/reasoner/reasoner-factory.test.js +0 -45
- package/dist/reasoner/reasoner-factory.test.js.map +0 -1
- package/dist/shell.d.ts.map +0 -1
- package/dist/shell.js.map +0 -1
- package/dist/shell.test.d.ts +0 -2
- package/dist/shell.test.d.ts.map +0 -1
- package/dist/shell.test.js +0 -115
- package/dist/shell.test.js.map +0 -1
- package/dist/task-cli.d.ts.map +0 -1
- package/dist/task-cli.js.map +0 -1
- package/dist/task-cli.test.d.ts +0 -2
- package/dist/task-cli.test.d.ts.map +0 -1
- package/dist/task-cli.test.js +0 -71
- package/dist/task-cli.test.js.map +0 -1
- package/dist/task-manager.d.ts.map +0 -1
- package/dist/task-manager.js.map +0 -1
- package/dist/task-manager.test.d.ts +0 -2
- package/dist/task-manager.test.d.ts.map +0 -1
- package/dist/task-manager.test.js +0 -126
- package/dist/task-manager.test.js.map +0 -1
- package/dist/task-parser.d.ts.map +0 -1
- package/dist/task-parser.js.map +0 -1
- package/dist/task-parser.test.d.ts +0 -2
- package/dist/task-parser.test.d.ts.map +0 -1
- package/dist/task-parser.test.js +0 -137
- package/dist/task-parser.test.js.map +0 -1
- package/dist/tui.d.ts.map +0 -1
- package/dist/tui.js.map +0 -1
- package/dist/tui.test.d.ts +0 -2
- package/dist/tui.test.d.ts.map +0 -1
- package/dist/tui.test.js +0 -152
- package/dist/tui.test.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/wake.d.ts.map +0 -1
- package/dist/wake.js.map +0 -1
- package/dist/wake.test.d.ts +0 -2
- package/dist/wake.test.d.ts.map +0 -1
- package/dist/wake.test.js +0 -131
- package/dist/wake.test.js.map +0 -1
package/README.md
CHANGED
|
@@ -208,6 +208,8 @@ Once inside the chat UI (via `aoe` -> select "aoaoe"):
|
|
|
208
208
|
| `/dashboard` | Request full dashboard output from daemon |
|
|
209
209
|
| `/pause` | Pause the daemon (stops reasoning) |
|
|
210
210
|
| `/resume` | Resume after pause |
|
|
211
|
+
| `/sessions` | Instant session list from daemon state (no tmux capture needed) |
|
|
212
|
+
| `/explain` | Ask the AI to explain what's happening right now in plain English |
|
|
211
213
|
| `/verbose` | Toggle verbose logging |
|
|
212
214
|
| `/clear` | Clear the screen |
|
|
213
215
|
| `/help` | Show all commands |
|
|
@@ -318,6 +320,7 @@ Config lives at `~/.aoaoe/aoaoe.config.json` (canonical, written by `aoaoe init`
|
|
|
318
320
|
| `protectedSessions` | Session titles that are observe-only (no actions) | `[]` |
|
|
319
321
|
| `sessionDirs` | Map session titles to project directories (relative to cwd or absolute). Bypasses heuristic directory search. | `{}` |
|
|
320
322
|
| `contextFiles` | Extra AI instruction file paths to load from each project root | `[]` |
|
|
323
|
+
| `captureLinesCount` | Number of tmux lines to capture per session (`-S` flag) | `100` |
|
|
321
324
|
|
|
322
325
|
Also reads `.aoaoe.json` as an alternative config filename.
|
|
323
326
|
|
|
@@ -457,8 +460,10 @@ src/
|
|
|
457
460
|
tui.ts # in-place terminal UI (alternate screen, scroll regions)
|
|
458
461
|
input.ts # stdin readline listener with inject() for post-interrupt
|
|
459
462
|
init.ts # `aoaoe init`: auto-discover tools, sessions, generate config
|
|
463
|
+
colors.ts # shared ANSI color/style constants
|
|
460
464
|
context.ts # discoverContextFiles, resolveProjectDir, loadSessionContext
|
|
461
465
|
activity.ts # detect human keystrokes in tmux sessions
|
|
466
|
+
prompt-watcher.ts # reactive permission prompt clearing via tmux pipe-pane
|
|
462
467
|
task-manager.ts # task orchestration: definitions, persistent state
|
|
463
468
|
task-cli.ts # `aoaoe task` subcommand: list, start, stop, new, rm, edit
|
|
464
469
|
task-parser.ts # parse OpenCode TODO patterns, model, tokens, cost from tmux
|
|
@@ -468,6 +473,7 @@ src/
|
|
|
468
473
|
reasoner/
|
|
469
474
|
index.ts # common Reasoner interface + factory
|
|
470
475
|
prompt.ts # system prompt + observation formatting
|
|
476
|
+
parse.ts # response parsing, JSON extraction, action validation
|
|
471
477
|
opencode.ts # OpenCode SDK backend
|
|
472
478
|
claude-code.ts # Claude Code CLI backend
|
|
473
479
|
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aoaoe",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.45.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",
|
|
@@ -9,7 +9,10 @@
|
|
|
9
9
|
"aoaoe-chat": "dist/chat.js"
|
|
10
10
|
},
|
|
11
11
|
"files": [
|
|
12
|
-
"dist",
|
|
12
|
+
"dist/**/*.js",
|
|
13
|
+
"dist/**/*.d.ts",
|
|
14
|
+
"!dist/**/*.test.*",
|
|
15
|
+
"!dist/integration-test.*",
|
|
13
16
|
"LICENSE",
|
|
14
17
|
"README.md"
|
|
15
18
|
],
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abort-signal.test.d.ts","sourceRoot":"","sources":["../src/abort-signal.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { describe, it } from "node:test";
|
|
2
|
-
import assert from "node:assert/strict";
|
|
3
|
-
// Minimal helper for the fetch-timeout test — mirrors the private
|
|
4
|
-
// withTimeoutAndAbort in index.ts (race a factory against a timer).
|
|
5
|
-
function withTimeoutAndAbort(factory, ms, fallback) {
|
|
6
|
-
return new Promise((resolve) => {
|
|
7
|
-
let settled = false;
|
|
8
|
-
const ac = new AbortController();
|
|
9
|
-
const timer = setTimeout(() => {
|
|
10
|
-
if (settled)
|
|
11
|
-
return;
|
|
12
|
-
settled = true;
|
|
13
|
-
ac.abort();
|
|
14
|
-
resolve({ result: fallback, timedOut: true });
|
|
15
|
-
}, ms);
|
|
16
|
-
factory(ac.signal)
|
|
17
|
-
.then((result) => {
|
|
18
|
-
if (settled)
|
|
19
|
-
return;
|
|
20
|
-
settled = true;
|
|
21
|
-
clearTimeout(timer);
|
|
22
|
-
resolve({ result, timedOut: false });
|
|
23
|
-
})
|
|
24
|
-
.catch(() => {
|
|
25
|
-
if (settled)
|
|
26
|
-
return;
|
|
27
|
-
settled = true;
|
|
28
|
-
clearTimeout(timer);
|
|
29
|
-
resolve({ result: fallback, timedOut: false });
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
describe("AbortSignal — Reasoner.decide() interface contract", () => {
|
|
34
|
-
it("signal parameter is optional (backward compatible)", async () => {
|
|
35
|
-
const mockReasoner = {
|
|
36
|
-
async decide(_obs, signal) {
|
|
37
|
-
return { actions: [{ action: "wait" }], signalPresent: signal !== undefined };
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
// call without signal (backward compat)
|
|
41
|
-
const r1 = await mockReasoner.decide({});
|
|
42
|
-
assert.deepEqual(r1.actions, [{ action: "wait" }]);
|
|
43
|
-
assert.equal(r1.signalPresent, false);
|
|
44
|
-
// call with signal
|
|
45
|
-
const ac = new AbortController();
|
|
46
|
-
const r2 = await mockReasoner.decide({}, ac.signal);
|
|
47
|
-
assert.equal(r2.signalPresent, true);
|
|
48
|
-
});
|
|
49
|
-
it("early abort returns wait action", async () => {
|
|
50
|
-
const mockDecide = async (_prompt, signal) => {
|
|
51
|
-
await new Promise((r) => setTimeout(r, 10));
|
|
52
|
-
if (signal?.aborted)
|
|
53
|
-
return { actions: [{ action: "wait", reason: "aborted" }] };
|
|
54
|
-
await new Promise((r) => setTimeout(r, 10));
|
|
55
|
-
if (signal?.aborted)
|
|
56
|
-
return { actions: [{ action: "wait", reason: "aborted" }] };
|
|
57
|
-
return { actions: [{ action: "send_input", session: "s1", text: "hello" }] };
|
|
58
|
-
};
|
|
59
|
-
// without abort — returns full result
|
|
60
|
-
const r1 = await mockDecide("test");
|
|
61
|
-
assert.equal(r1.actions[0].action, "send_input");
|
|
62
|
-
// with pre-aborted signal — returns early
|
|
63
|
-
const ac = new AbortController();
|
|
64
|
-
ac.abort();
|
|
65
|
-
const r2 = await mockDecide("test", ac.signal);
|
|
66
|
-
assert.equal(r2.actions[0].action, "wait");
|
|
67
|
-
});
|
|
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
|
-
});
|
|
86
|
-
//# sourceMappingURL=abort-signal.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abort-signal.test.js","sourceRoot":"","sources":["../src/abort-signal.test.ts"],"names":[],"mappings":"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"}
|
package/dist/activity.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,WAAW,SAAuB,GACjC,OAAO,CAAC,YAAY,CAAC,CA4CvB;AAGD,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,SAAuB,GACjC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAwBpC"}
|
package/dist/activity.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":"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"}
|
package/dist/activity.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"activity.test.d.ts","sourceRoot":"","sources":["../src/activity.test.ts"],"names":[],"mappings":""}
|
package/dist/activity.test.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { describe, it } from "node:test";
|
|
2
|
-
import assert from "node:assert/strict";
|
|
3
|
-
import { getSessionActivity, getActivityForSessions } from "./activity.js";
|
|
4
|
-
// these tests call real tmux — in CI without tmux, exec returns exitCode 1
|
|
5
|
-
// and the function returns the noClients fallback (graceful degradation).
|
|
6
|
-
describe("getSessionActivity", () => {
|
|
7
|
-
it("returns noClients for nonexistent session", async () => {
|
|
8
|
-
const info = await getSessionActivity("nonexistent_session_xyz_999");
|
|
9
|
-
assert.equal(info.userActive, false);
|
|
10
|
-
assert.equal(info.clientCount, 0);
|
|
11
|
-
assert.equal(info.lastActivityMs, Infinity);
|
|
12
|
-
assert.equal(info.tmuxName, "nonexistent_session_xyz_999");
|
|
13
|
-
});
|
|
14
|
-
it("returns noClients for empty tmux name", async () => {
|
|
15
|
-
const info = await getSessionActivity("");
|
|
16
|
-
assert.equal(info.userActive, false);
|
|
17
|
-
assert.equal(info.clientCount, 0);
|
|
18
|
-
});
|
|
19
|
-
it("respects threshold parameter", async () => {
|
|
20
|
-
const info = await getSessionActivity("nonexistent_session_xyz_999", 0);
|
|
21
|
-
assert.equal(info.userActive, false);
|
|
22
|
-
});
|
|
23
|
-
it("returns correct shape", async () => {
|
|
24
|
-
const info = await getSessionActivity("any_session");
|
|
25
|
-
assert.equal(typeof info.userActive, "boolean");
|
|
26
|
-
assert.equal(typeof info.clientCount, "number");
|
|
27
|
-
assert.equal(typeof info.lastActivityMs, "number");
|
|
28
|
-
assert.equal(typeof info.tmuxName, "string");
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
describe("getActivityForSessions", () => {
|
|
32
|
-
it("returns a map for all requested sessions", async () => {
|
|
33
|
-
const result = await getActivityForSessions(["session_a", "session_b"]);
|
|
34
|
-
assert.equal(result.size, 2);
|
|
35
|
-
assert.ok(result.has("session_a"));
|
|
36
|
-
assert.ok(result.has("session_b"));
|
|
37
|
-
});
|
|
38
|
-
it("each entry has correct shape", async () => {
|
|
39
|
-
const result = await getActivityForSessions(["fake_session"]);
|
|
40
|
-
const info = result.get("fake_session");
|
|
41
|
-
assert.equal(typeof info.userActive, "boolean");
|
|
42
|
-
assert.equal(typeof info.clientCount, "number");
|
|
43
|
-
assert.equal(typeof info.lastActivityMs, "number");
|
|
44
|
-
assert.equal(info.tmuxName, "fake_session");
|
|
45
|
-
});
|
|
46
|
-
it("handles empty array", async () => {
|
|
47
|
-
const result = await getActivityForSessions([]);
|
|
48
|
-
assert.equal(result.size, 0);
|
|
49
|
-
});
|
|
50
|
-
it("handles single session", async () => {
|
|
51
|
-
const result = await getActivityForSessions(["one_session"]);
|
|
52
|
-
assert.equal(result.size, 1);
|
|
53
|
-
const info = result.get("one_session");
|
|
54
|
-
assert.equal(info.userActive, false);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
//# sourceMappingURL=activity.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"activity.test.js","sourceRoot":"","sources":["../src/activity.test.ts"],"names":[],"mappings":"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"}
|
package/dist/chat.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":";AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAoR9C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAa7D;AAmED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,SAAa,GAAG,OAAO,CAS7F;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,SAAa,GAAG,MAAM,GAAG,IAAI,CAOxH;AAsBD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,UAAQ,EAAE,GAAG,SAAa,GAAG,MAAM,GAAG,IAAI,CAuB7I;AAED,4EAA4E;AAC5E,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,MAAM,CAM/E;AAmBD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmB7C"}
|
package/dist/chat.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"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"}
|
package/dist/chat.test.d.ts
DELETED
package/dist/chat.test.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat.test.d.ts","sourceRoot":"","sources":["../src/chat.test.ts"],"names":[],"mappings":""}
|
package/dist/chat.test.js
DELETED
|
@@ -1,293 +0,0 @@
|
|
|
1
|
-
import { describe, it } from "node:test";
|
|
2
|
-
import assert from "node:assert/strict";
|
|
3
|
-
import { colorize, isDaemonRunningFromState, getCountdownFromState, buildStatusLineFromState, formatCompactSessions, formatSessionsList } from "./chat.js";
|
|
4
|
-
// --- helpers ---
|
|
5
|
-
function makeState(overrides) {
|
|
6
|
-
return {
|
|
7
|
-
tickStartedAt: Date.now(),
|
|
8
|
-
nextTickAt: Date.now() + 10_000,
|
|
9
|
-
pollIntervalMs: 10_000,
|
|
10
|
-
phase: "sleeping",
|
|
11
|
-
phaseStartedAt: Date.now(),
|
|
12
|
-
pollCount: 5,
|
|
13
|
-
paused: false,
|
|
14
|
-
sessionCount: 3,
|
|
15
|
-
changeCount: 1,
|
|
16
|
-
sessions: [],
|
|
17
|
-
...overrides,
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
// --- colorize ---
|
|
21
|
-
describe("colorize", () => {
|
|
22
|
-
it("colorizes observation tags", () => {
|
|
23
|
-
const input = "[12:00:00] [observation] 3 sessions, 1 changed";
|
|
24
|
-
const output = colorize(input);
|
|
25
|
-
assert.ok(output.includes("\x1b[2m"), "should contain DIM escape code");
|
|
26
|
-
assert.ok(output.includes("observation"), "should contain the tag text");
|
|
27
|
-
});
|
|
28
|
-
it("colorizes 'you' tags in green", () => {
|
|
29
|
-
const input = "[12:00:00] [you] check on agent-a please";
|
|
30
|
-
const output = colorize(input);
|
|
31
|
-
assert.ok(output.includes("\x1b[32m"), "should contain GREEN escape code");
|
|
32
|
-
});
|
|
33
|
-
it("colorizes 'reasoner' tags in cyan", () => {
|
|
34
|
-
const input = "[12:00:00] [reasoner] all agents are progressing well";
|
|
35
|
-
const output = colorize(input);
|
|
36
|
-
assert.ok(output.includes("\x1b[36m"), "should contain CYAN escape code");
|
|
37
|
-
});
|
|
38
|
-
it("colorizes '+ action' tags in yellow", () => {
|
|
39
|
-
const input = "[12:00:00] [+ action] send_input to session-1";
|
|
40
|
-
const output = colorize(input);
|
|
41
|
-
assert.ok(output.includes("\x1b[33m"), "should contain YELLOW escape code");
|
|
42
|
-
});
|
|
43
|
-
it("colorizes '! action' tags in red", () => {
|
|
44
|
-
const input = "[12:00:00] [! action] failed to send input";
|
|
45
|
-
const output = colorize(input);
|
|
46
|
-
assert.ok(output.includes("\x1b[31m"), "should contain RED escape code");
|
|
47
|
-
});
|
|
48
|
-
it("colorizes 'system' tags as dim", () => {
|
|
49
|
-
const input = "[12:00:00] [system] verbose toggled on";
|
|
50
|
-
const output = colorize(input);
|
|
51
|
-
assert.ok(output.includes("\x1b[2m"), "should contain DIM escape code");
|
|
52
|
-
});
|
|
53
|
-
it("colorizes 'status' tags as dim", () => {
|
|
54
|
-
const input = "[12:00:00] [status] reasoning...";
|
|
55
|
-
const output = colorize(input);
|
|
56
|
-
assert.ok(output.includes("\x1b[2m"), "should contain DIM escape code");
|
|
57
|
-
assert.ok(output.includes("status"), "should contain the tag text");
|
|
58
|
-
});
|
|
59
|
-
it("handles multiline text", () => {
|
|
60
|
-
const input = "[12:00:00] [you] hello\n[12:00:01] [reasoner] hi back\nplain line";
|
|
61
|
-
const output = colorize(input);
|
|
62
|
-
assert.ok(output.includes("\x1b[32m"), "should colorize 'you' line");
|
|
63
|
-
assert.ok(output.includes("\x1b[36m"), "should colorize 'reasoner' line");
|
|
64
|
-
assert.ok(output.includes("plain line"), "should preserve plain lines");
|
|
65
|
-
});
|
|
66
|
-
it("colorizes status receipts", () => {
|
|
67
|
-
const input = "[12:00:00] [status] received (1/2): fix the bug";
|
|
68
|
-
const output = colorize(input);
|
|
69
|
-
assert.ok(output.includes("\x1b[2m"), "receipt should be dim");
|
|
70
|
-
assert.ok(output.includes("fix the bug"), "should preserve content");
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
// --- isDaemonRunningFromState ---
|
|
74
|
-
describe("isDaemonRunningFromState", () => {
|
|
75
|
-
it("returns false for null state", () => {
|
|
76
|
-
assert.equal(isDaemonRunningFromState(null), false);
|
|
77
|
-
});
|
|
78
|
-
it("returns true when state is recent", () => {
|
|
79
|
-
const now = Date.now();
|
|
80
|
-
const state = makeState({ phaseStartedAt: now - 5_000, pollIntervalMs: 10_000 });
|
|
81
|
-
assert.equal(isDaemonRunningFromState(state, now), true);
|
|
82
|
-
});
|
|
83
|
-
it("returns false when state is stale (beyond stale threshold)", () => {
|
|
84
|
-
const now = Date.now();
|
|
85
|
-
// pollIntervalMs=10_000 -> staleMs = max(20_000, 120_000) = 120_000
|
|
86
|
-
// 125s > 120s -> stale
|
|
87
|
-
const state = makeState({ phaseStartedAt: now - 125_000, pollIntervalMs: 10_000 });
|
|
88
|
-
assert.equal(isDaemonRunningFromState(state, now), false);
|
|
89
|
-
});
|
|
90
|
-
it("uses 120s minimum staleness threshold (covers reasoning phase)", () => {
|
|
91
|
-
const now = Date.now();
|
|
92
|
-
// pollInterval is 5s -> 2x = 10s, but minimum is 120s to cover 90s+ reasoning calls
|
|
93
|
-
const state = makeState({ phaseStartedAt: now - 90_000, pollIntervalMs: 5_000 });
|
|
94
|
-
assert.equal(isDaemonRunningFromState(state, now), true, "90s should be within 120s minimum");
|
|
95
|
-
});
|
|
96
|
-
it("returns false when beyond 120s minimum threshold", () => {
|
|
97
|
-
const now = Date.now();
|
|
98
|
-
const state = makeState({ phaseStartedAt: now - 125_000, pollIntervalMs: 5_000 });
|
|
99
|
-
assert.equal(isDaemonRunningFromState(state, now), false, "125s exceeds 120s minimum");
|
|
100
|
-
});
|
|
101
|
-
it("handles high poll intervals correctly", () => {
|
|
102
|
-
const now = Date.now();
|
|
103
|
-
// pollInterval is 120s -> staleMs = max(240_000, 120_000) = 240_000
|
|
104
|
-
const state = makeState({ phaseStartedAt: now - 200_000, pollIntervalMs: 120_000 });
|
|
105
|
-
assert.equal(isDaemonRunningFromState(state, now), true, "200s within 240s threshold");
|
|
106
|
-
});
|
|
107
|
-
it("does not false-positive stale during long reasoning calls", () => {
|
|
108
|
-
const now = Date.now();
|
|
109
|
-
// reasoning can take 90s — daemon at 85s into reasoning should still be "running"
|
|
110
|
-
const state = makeState({ phaseStartedAt: now - 85_000, pollIntervalMs: 10_000, phase: "reasoning" });
|
|
111
|
-
assert.equal(isDaemonRunningFromState(state, now), true, "85s reasoning should not be stale");
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
// --- getCountdownFromState ---
|
|
115
|
-
describe("getCountdownFromState", () => {
|
|
116
|
-
it("returns null when phase is not sleeping", () => {
|
|
117
|
-
const state = makeState({ phase: "reasoning", nextTickAt: Date.now() + 10_000 });
|
|
118
|
-
assert.equal(getCountdownFromState(state, true), null);
|
|
119
|
-
});
|
|
120
|
-
it("returns remaining seconds when sleeping with nextTickAt", () => {
|
|
121
|
-
const now = Date.now();
|
|
122
|
-
const state = makeState({ phase: "sleeping", nextTickAt: now + 7_500 });
|
|
123
|
-
const countdown = getCountdownFromState(state, true, now);
|
|
124
|
-
assert.equal(countdown, 8); // ceil(7500/1000)
|
|
125
|
-
});
|
|
126
|
-
it("returns 0 when nextTickAt is in the past", () => {
|
|
127
|
-
const now = Date.now();
|
|
128
|
-
const state = makeState({ phase: "sleeping", nextTickAt: now - 1_000 });
|
|
129
|
-
assert.equal(getCountdownFromState(state, true, now), 0);
|
|
130
|
-
});
|
|
131
|
-
it("returns exact seconds for round numbers", () => {
|
|
132
|
-
const now = Date.now();
|
|
133
|
-
const state = makeState({ phase: "sleeping", nextTickAt: now + 5_000 });
|
|
134
|
-
assert.equal(getCountdownFromState(state, true, now), 5);
|
|
135
|
-
});
|
|
136
|
-
});
|
|
137
|
-
// --- buildStatusLineFromState ---
|
|
138
|
-
describe("buildStatusLineFromState", () => {
|
|
139
|
-
it("returns offline string when daemon not running and forTitle", () => {
|
|
140
|
-
assert.equal(buildStatusLineFromState(null, false, true), "aoaoe (daemon offline)");
|
|
141
|
-
});
|
|
142
|
-
it("shows countdown when sleeping", () => {
|
|
143
|
-
const now = Date.now();
|
|
144
|
-
const state = makeState({ phase: "sleeping", nextTickAt: now + 7_000, sessionCount: 3, pollCount: 10 });
|
|
145
|
-
const line = buildStatusLineFromState(state, true, false, now);
|
|
146
|
-
assert.ok(line?.includes("next: 7s"), `expected 'next: 7s' in '${line}'`);
|
|
147
|
-
assert.ok(line?.includes("3 sessions"));
|
|
148
|
-
assert.ok(line?.includes("poll #10"));
|
|
149
|
-
});
|
|
150
|
-
it("shows elapsed time when reasoning", () => {
|
|
151
|
-
const now = Date.now();
|
|
152
|
-
const state = makeState({ phase: "reasoning", phaseStartedAt: now - 5_000, sessionCount: 2, pollCount: 3 });
|
|
153
|
-
const line = buildStatusLineFromState(state, true, false, now);
|
|
154
|
-
assert.ok(line?.includes("reasoning: 5s"), `expected 'reasoning: 5s' in '${line}'`);
|
|
155
|
-
});
|
|
156
|
-
it("shows phase name for other phases", () => {
|
|
157
|
-
const now = Date.now();
|
|
158
|
-
const state = makeState({ phase: "executing", sessionCount: 1, pollCount: 7 });
|
|
159
|
-
const line = buildStatusLineFromState(state, true, false, now);
|
|
160
|
-
assert.ok(line?.includes("executing"), `expected 'executing' in '${line}'`);
|
|
161
|
-
});
|
|
162
|
-
it("shows PAUSED when paused", () => {
|
|
163
|
-
const now = Date.now();
|
|
164
|
-
const state = makeState({ phase: "sleeping", nextTickAt: now + 5_000, paused: true });
|
|
165
|
-
const line = buildStatusLineFromState(state, true, false, now);
|
|
166
|
-
assert.ok(line?.includes("PAUSED"), `expected 'PAUSED' in '${line}'`);
|
|
167
|
-
});
|
|
168
|
-
it("does not show PAUSED when not paused", () => {
|
|
169
|
-
const now = Date.now();
|
|
170
|
-
const state = makeState({ phase: "sleeping", nextTickAt: now + 5_000, paused: false });
|
|
171
|
-
const line = buildStatusLineFromState(state, true, false, now);
|
|
172
|
-
assert.ok(!line?.includes("PAUSED"), `should not contain 'PAUSED' in '${line}'`);
|
|
173
|
-
});
|
|
174
|
-
it("formats all parts with pipe separator", () => {
|
|
175
|
-
const now = Date.now();
|
|
176
|
-
const state = makeState({ phase: "polling", sessionCount: 4, pollCount: 15 });
|
|
177
|
-
const line = buildStatusLineFromState(state, true, false, now);
|
|
178
|
-
const pipes = (line?.match(/\|/g) ?? []).length;
|
|
179
|
-
assert.ok(pipes >= 2, `expected at least 2 pipe separators in '${line}'`);
|
|
180
|
-
});
|
|
181
|
-
it("returns offline for forTitle when daemon not running", () => {
|
|
182
|
-
const now = Date.now();
|
|
183
|
-
const state = makeState({ phaseStartedAt: now - 100_000, pollIntervalMs: 10_000 });
|
|
184
|
-
// daemon is stale, but we pass daemonRunning=false
|
|
185
|
-
assert.equal(buildStatusLineFromState(state, false, true), "aoaoe (daemon offline)");
|
|
186
|
-
});
|
|
187
|
-
it("shows session names and statuses when sessions available", () => {
|
|
188
|
-
const now = Date.now();
|
|
189
|
-
const sessions = [
|
|
190
|
-
{ id: "1", title: "adventure", tool: "opencode", status: "working" },
|
|
191
|
-
{ id: "2", title: "chv", tool: "opencode", status: "idle" },
|
|
192
|
-
];
|
|
193
|
-
const state = makeState({ phase: "sleeping", nextTickAt: now + 5_000, sessions, sessionCount: 2, pollCount: 10 });
|
|
194
|
-
const line = buildStatusLineFromState(state, true, false, now);
|
|
195
|
-
assert.ok(line?.includes("adventure: working"), `expected session info in '${line}'`);
|
|
196
|
-
assert.ok(line?.includes("chv: idle"), `expected session info in '${line}'`);
|
|
197
|
-
});
|
|
198
|
-
it("falls back to session count for forTitle mode", () => {
|
|
199
|
-
const now = Date.now();
|
|
200
|
-
const sessions = [
|
|
201
|
-
{ id: "1", title: "adventure", tool: "opencode", status: "working" },
|
|
202
|
-
];
|
|
203
|
-
const state = makeState({ phase: "sleeping", nextTickAt: now + 5_000, sessions, sessionCount: 1, pollCount: 5 });
|
|
204
|
-
const line = buildStatusLineFromState(state, true, true, now);
|
|
205
|
-
assert.ok(line?.includes("1 sessions"), `forTitle should use count, got '${line}'`);
|
|
206
|
-
});
|
|
207
|
-
});
|
|
208
|
-
// --- formatCompactSessions ---
|
|
209
|
-
describe("formatCompactSessions", () => {
|
|
210
|
-
it("formats multiple sessions", () => {
|
|
211
|
-
const sessions = [
|
|
212
|
-
{ id: "1", title: "adventure", tool: "opencode", status: "working" },
|
|
213
|
-
{ id: "2", title: "cloud-hyp", tool: "opencode", status: "idle" },
|
|
214
|
-
];
|
|
215
|
-
const result = formatCompactSessions(sessions);
|
|
216
|
-
assert.ok(result.includes("adventure: working"));
|
|
217
|
-
assert.ok(result.includes("cloud-hyp: idle"));
|
|
218
|
-
});
|
|
219
|
-
it("truncates long titles to 12 chars", () => {
|
|
220
|
-
const sessions = [
|
|
221
|
-
{ id: "1", title: "a-very-long-session-name", tool: "opencode", status: "working" },
|
|
222
|
-
];
|
|
223
|
-
const result = formatCompactSessions(sessions);
|
|
224
|
-
assert.ok(result.includes("a-very-lon.."), `expected truncated title in '${result}'`);
|
|
225
|
-
assert.ok(!result.includes("a-very-long-session-name"), "full title should not appear");
|
|
226
|
-
});
|
|
227
|
-
it("returns '0 sessions' for empty array", () => {
|
|
228
|
-
assert.equal(formatCompactSessions([]), "0 sessions");
|
|
229
|
-
});
|
|
230
|
-
});
|
|
231
|
-
// --- formatSessionsList ---
|
|
232
|
-
describe("formatSessionsList", () => {
|
|
233
|
-
it("shows session details with icons", () => {
|
|
234
|
-
const state = makeState({
|
|
235
|
-
sessions: [
|
|
236
|
-
{ id: "1", title: "adventure", tool: "opencode", status: "working", lastActivity: "editing auth.tsx" },
|
|
237
|
-
{ id: "2", title: "chv", tool: "opencode", status: "idle", lastActivity: "cargo build done" },
|
|
238
|
-
],
|
|
239
|
-
});
|
|
240
|
-
const result = formatSessionsList(state);
|
|
241
|
-
assert.ok(result.includes("~ adventure"), "working session should have ~ icon");
|
|
242
|
-
assert.ok(result.includes(". chv"), "idle session should have . icon");
|
|
243
|
-
assert.ok(result.includes("editing auth.tsx"));
|
|
244
|
-
assert.ok(result.includes("cargo build done"));
|
|
245
|
-
});
|
|
246
|
-
it("shows current task when present", () => {
|
|
247
|
-
const state = makeState({
|
|
248
|
-
sessions: [
|
|
249
|
-
{ id: "1", title: "proj", tool: "opencode", status: "working", currentTask: "fix bug #123", lastActivity: "running tests" },
|
|
250
|
-
],
|
|
251
|
-
});
|
|
252
|
-
const result = formatSessionsList(state);
|
|
253
|
-
assert.ok(result.includes("task: fix bug #123"));
|
|
254
|
-
});
|
|
255
|
-
it("shows '(no output)' when no lastActivity", () => {
|
|
256
|
-
const state = makeState({
|
|
257
|
-
sessions: [
|
|
258
|
-
{ id: "1", title: "proj", tool: "opencode", status: "working" },
|
|
259
|
-
],
|
|
260
|
-
});
|
|
261
|
-
const result = formatSessionsList(state);
|
|
262
|
-
assert.ok(result.includes("(no output)"));
|
|
263
|
-
});
|
|
264
|
-
it("returns '(no sessions)' for empty sessions", () => {
|
|
265
|
-
const state = makeState({ sessions: [] });
|
|
266
|
-
const result = formatSessionsList(state);
|
|
267
|
-
assert.ok(result.includes("(no sessions)"));
|
|
268
|
-
});
|
|
269
|
-
});
|
|
270
|
-
// --- colorize tick separators ---
|
|
271
|
-
describe("colorize tick separators", () => {
|
|
272
|
-
it("colorizes tick separator lines as dim", () => {
|
|
273
|
-
const input = "──── tick #42 ────";
|
|
274
|
-
const output = colorize(input);
|
|
275
|
-
assert.ok(output.includes("\x1b[2m"), "separator should have DIM escape code");
|
|
276
|
-
assert.ok(output.includes("tick #42"));
|
|
277
|
-
});
|
|
278
|
-
it("colorizes separator mixed with other entries", () => {
|
|
279
|
-
const input = "──── tick #5 ────\n10:30:00 [you] hello\n──── tick #6 ────";
|
|
280
|
-
const output = colorize(input);
|
|
281
|
-
// both separators should be dim
|
|
282
|
-
const dimCount = (output.match(/\x1b\[2m/g) ?? []).length;
|
|
283
|
-
assert.ok(dimCount >= 2, `expected at least 2 DIM codes, got ${dimCount}`);
|
|
284
|
-
// user message should be green
|
|
285
|
-
assert.ok(output.includes("\x1b[32m"), "user message should be green");
|
|
286
|
-
});
|
|
287
|
-
it("does not colorize lines with only a few dashes", () => {
|
|
288
|
-
const input = "- a list item";
|
|
289
|
-
const output = colorize(input);
|
|
290
|
-
assert.equal(output, input, "single dash should not trigger separator coloring");
|
|
291
|
-
});
|
|
292
|
-
});
|
|
293
|
-
//# sourceMappingURL=chat.test.js.map
|
package/dist/chat.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat.test.js","sourceRoot":"","sources":["../src/chat.test.ts"],"names":[],"mappings":"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"}
|
package/dist/colors.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,KAAK,cAAY,CAAC;AAC/B,eAAO,MAAM,IAAI,cAAY,CAAC;AAC9B,eAAO,MAAM,GAAG,cAAY,CAAC;AAC7B,eAAO,MAAM,GAAG,eAAa,CAAC;AAC9B,eAAO,MAAM,KAAK,eAAa,CAAC;AAChC,eAAO,MAAM,MAAM,eAAa,CAAC;AACjC,eAAO,MAAM,IAAI,eAAa,CAAC;AAC/B,eAAO,MAAM,OAAO,eAAa,CAAC;AAClC,eAAO,MAAM,KAAK,eAAa,CAAC;AAChC,eAAO,MAAM,OAAO,qBAAmB,CAAC"}
|