aoaoe 0.43.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.
Files changed (167) hide show
  1. package/README.md +6 -0
  2. package/dist/chat.js +27 -21
  3. package/dist/daemon-state.js +24 -9
  4. package/dist/index.js +20 -3
  5. package/dist/reasoner/parse.js +4 -0
  6. package/dist/task-manager.js +9 -3
  7. package/package.json +5 -2
  8. package/dist/abort-signal.test.d.ts +0 -2
  9. package/dist/abort-signal.test.d.ts.map +0 -1
  10. package/dist/abort-signal.test.js +0 -86
  11. package/dist/abort-signal.test.js.map +0 -1
  12. package/dist/activity.d.ts.map +0 -1
  13. package/dist/activity.js.map +0 -1
  14. package/dist/activity.test.d.ts +0 -2
  15. package/dist/activity.test.d.ts.map +0 -1
  16. package/dist/activity.test.js +0 -57
  17. package/dist/activity.test.js.map +0 -1
  18. package/dist/chat.d.ts.map +0 -1
  19. package/dist/chat.js.map +0 -1
  20. package/dist/chat.test.d.ts +0 -2
  21. package/dist/chat.test.d.ts.map +0 -1
  22. package/dist/chat.test.js +0 -293
  23. package/dist/chat.test.js.map +0 -1
  24. package/dist/colors.d.ts.map +0 -1
  25. package/dist/colors.js.map +0 -1
  26. package/dist/config.d.ts.map +0 -1
  27. package/dist/config.js.map +0 -1
  28. package/dist/config.test.d.ts +0 -2
  29. package/dist/config.test.d.ts.map +0 -1
  30. package/dist/config.test.js +0 -401
  31. package/dist/config.test.js.map +0 -1
  32. package/dist/console.d.ts.map +0 -1
  33. package/dist/console.js.map +0 -1
  34. package/dist/console.test.d.ts +0 -2
  35. package/dist/console.test.d.ts.map +0 -1
  36. package/dist/console.test.js +0 -478
  37. package/dist/console.test.js.map +0 -1
  38. package/dist/context.d.ts.map +0 -1
  39. package/dist/context.js.map +0 -1
  40. package/dist/context.test.d.ts +0 -2
  41. package/dist/context.test.d.ts.map +0 -1
  42. package/dist/context.test.js +0 -424
  43. package/dist/context.test.js.map +0 -1
  44. package/dist/daemon-state.d.ts.map +0 -1
  45. package/dist/daemon-state.js.map +0 -1
  46. package/dist/daemon-state.test.d.ts +0 -2
  47. package/dist/daemon-state.test.d.ts.map +0 -1
  48. package/dist/daemon-state.test.js +0 -317
  49. package/dist/daemon-state.test.js.map +0 -1
  50. package/dist/dashboard.d.ts.map +0 -1
  51. package/dist/dashboard.js.map +0 -1
  52. package/dist/dashboard.test.d.ts +0 -2
  53. package/dist/dashboard.test.d.ts.map +0 -1
  54. package/dist/dashboard.test.js +0 -234
  55. package/dist/dashboard.test.js.map +0 -1
  56. package/dist/executor.d.ts.map +0 -1
  57. package/dist/executor.js.map +0 -1
  58. package/dist/executor.test.d.ts +0 -2
  59. package/dist/executor.test.d.ts.map +0 -1
  60. package/dist/executor.test.js +0 -30
  61. package/dist/executor.test.js.map +0 -1
  62. package/dist/index.d.ts.map +0 -1
  63. package/dist/index.js.map +0 -1
  64. package/dist/init.d.ts.map +0 -1
  65. package/dist/init.js.map +0 -1
  66. package/dist/input.d.ts.map +0 -1
  67. package/dist/input.js.map +0 -1
  68. package/dist/input.test.d.ts +0 -2
  69. package/dist/input.test.d.ts.map +0 -1
  70. package/dist/input.test.js +0 -70
  71. package/dist/input.test.js.map +0 -1
  72. package/dist/integration-test.d.ts +0 -22
  73. package/dist/integration-test.d.ts.map +0 -1
  74. package/dist/integration-test.js +0 -366
  75. package/dist/integration-test.js.map +0 -1
  76. package/dist/ipc.test.d.ts +0 -2
  77. package/dist/ipc.test.d.ts.map +0 -1
  78. package/dist/ipc.test.js +0 -53
  79. package/dist/ipc.test.js.map +0 -1
  80. package/dist/loop.d.ts.map +0 -1
  81. package/dist/loop.js.map +0 -1
  82. package/dist/loop.test.d.ts +0 -2
  83. package/dist/loop.test.d.ts.map +0 -1
  84. package/dist/loop.test.js +0 -573
  85. package/dist/loop.test.js.map +0 -1
  86. package/dist/message.d.ts.map +0 -1
  87. package/dist/message.js.map +0 -1
  88. package/dist/message.test.d.ts +0 -2
  89. package/dist/message.test.d.ts.map +0 -1
  90. package/dist/message.test.js +0 -236
  91. package/dist/message.test.js.map +0 -1
  92. package/dist/poller.d.ts.map +0 -1
  93. package/dist/poller.js.map +0 -1
  94. package/dist/poller.test.d.ts +0 -2
  95. package/dist/poller.test.d.ts.map +0 -1
  96. package/dist/poller.test.js +0 -143
  97. package/dist/poller.test.js.map +0 -1
  98. package/dist/prompt-watcher.d.ts.map +0 -1
  99. package/dist/prompt-watcher.js.map +0 -1
  100. package/dist/prompt-watcher.test.d.ts +0 -2
  101. package/dist/prompt-watcher.test.d.ts.map +0 -1
  102. package/dist/prompt-watcher.test.js +0 -107
  103. package/dist/prompt-watcher.test.js.map +0 -1
  104. package/dist/reasoner/claude-code.d.ts.map +0 -1
  105. package/dist/reasoner/claude-code.js.map +0 -1
  106. package/dist/reasoner/claude-code.test.d.ts +0 -2
  107. package/dist/reasoner/claude-code.test.d.ts.map +0 -1
  108. package/dist/reasoner/claude-code.test.js +0 -93
  109. package/dist/reasoner/claude-code.test.js.map +0 -1
  110. package/dist/reasoner/index.d.ts.map +0 -1
  111. package/dist/reasoner/index.js.map +0 -1
  112. package/dist/reasoner/opencode.d.ts.map +0 -1
  113. package/dist/reasoner/opencode.js.map +0 -1
  114. package/dist/reasoner/opencode.test.d.ts +0 -2
  115. package/dist/reasoner/opencode.test.d.ts.map +0 -1
  116. package/dist/reasoner/opencode.test.js +0 -487
  117. package/dist/reasoner/opencode.test.js.map +0 -1
  118. package/dist/reasoner/parse.d.ts.map +0 -1
  119. package/dist/reasoner/parse.js.map +0 -1
  120. package/dist/reasoner/prompt.d.ts.map +0 -1
  121. package/dist/reasoner/prompt.js.map +0 -1
  122. package/dist/reasoner/prompt.test.d.ts +0 -2
  123. package/dist/reasoner/prompt.test.d.ts.map +0 -1
  124. package/dist/reasoner/prompt.test.js +0 -441
  125. package/dist/reasoner/prompt.test.js.map +0 -1
  126. package/dist/reasoner/reasoner-factory.test.d.ts +0 -2
  127. package/dist/reasoner/reasoner-factory.test.d.ts.map +0 -1
  128. package/dist/reasoner/reasoner-factory.test.js +0 -45
  129. package/dist/reasoner/reasoner-factory.test.js.map +0 -1
  130. package/dist/shell.d.ts.map +0 -1
  131. package/dist/shell.js.map +0 -1
  132. package/dist/shell.test.d.ts +0 -2
  133. package/dist/shell.test.d.ts.map +0 -1
  134. package/dist/shell.test.js +0 -115
  135. package/dist/shell.test.js.map +0 -1
  136. package/dist/task-cli.d.ts.map +0 -1
  137. package/dist/task-cli.js.map +0 -1
  138. package/dist/task-cli.test.d.ts +0 -2
  139. package/dist/task-cli.test.d.ts.map +0 -1
  140. package/dist/task-cli.test.js +0 -71
  141. package/dist/task-cli.test.js.map +0 -1
  142. package/dist/task-manager.d.ts.map +0 -1
  143. package/dist/task-manager.js.map +0 -1
  144. package/dist/task-manager.test.d.ts +0 -2
  145. package/dist/task-manager.test.d.ts.map +0 -1
  146. package/dist/task-manager.test.js +0 -126
  147. package/dist/task-manager.test.js.map +0 -1
  148. package/dist/task-parser.d.ts.map +0 -1
  149. package/dist/task-parser.js.map +0 -1
  150. package/dist/task-parser.test.d.ts +0 -2
  151. package/dist/task-parser.test.d.ts.map +0 -1
  152. package/dist/task-parser.test.js +0 -137
  153. package/dist/task-parser.test.js.map +0 -1
  154. package/dist/tui.d.ts.map +0 -1
  155. package/dist/tui.js.map +0 -1
  156. package/dist/tui.test.d.ts +0 -2
  157. package/dist/tui.test.d.ts.map +0 -1
  158. package/dist/tui.test.js +0 -152
  159. package/dist/tui.test.js.map +0 -1
  160. package/dist/types.d.ts.map +0 -1
  161. package/dist/types.js.map +0 -1
  162. package/dist/wake.d.ts.map +0 -1
  163. package/dist/wake.js.map +0 -1
  164. package/dist/wake.test.d.ts +0 -2
  165. package/dist/wake.test.d.ts.map +0 -1
  166. package/dist/wake.test.js +0 -131
  167. 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/dist/chat.js CHANGED
@@ -106,31 +106,37 @@ function main() {
106
106
  process.stdout.write(`\x1b]2;${titleLine}\x07`);
107
107
  }, 5000);
108
108
  rl.on("line", async (line) => {
109
- const trimmed = line.trim();
110
- if (!trimmed) {
109
+ try {
110
+ const trimmed = line.trim();
111
+ if (!trimmed) {
112
+ rl.prompt();
113
+ return;
114
+ }
115
+ // slash commands
116
+ if (trimmed.startsWith("/")) {
117
+ await handleCommand(trimmed, rl);
118
+ rl.prompt();
119
+ return;
120
+ }
121
+ // regular message -> queue for reasoner (file write wakes daemon instantly)
122
+ appendToInput(trimmed);
123
+ const state = readState();
124
+ if (!isDaemonRunning()) {
125
+ console.log(`${YELLOW}queued, but daemon is not running!${RESET}`);
126
+ console.log(`${DIM}start it with: aoaoe${RESET}`);
127
+ }
128
+ else if (state?.phase === "reasoning") {
129
+ console.log(`${DIM}queued -- reasoner is active, will process on next tick${RESET}`);
130
+ }
131
+ else {
132
+ console.log(`${DIM}queued -- daemon will pick this up momentarily${RESET}`);
133
+ }
111
134
  rl.prompt();
112
- return;
113
135
  }
114
- // slash commands
115
- if (trimmed.startsWith("/")) {
116
- await handleCommand(trimmed, rl);
136
+ catch (err) {
137
+ console.error(`${RED}error: ${err}${RESET}`);
117
138
  rl.prompt();
118
- return;
119
- }
120
- // regular message -> queue for reasoner (file write wakes daemon instantly)
121
- appendToInput(trimmed);
122
- const state = readState();
123
- if (!isDaemonRunning()) {
124
- console.log(`${YELLOW}queued, but daemon is not running!${RESET}`);
125
- console.log(`${DIM}start it with: aoaoe${RESET}`);
126
- }
127
- else if (state?.phase === "reasoning") {
128
- console.log(`${DIM}queued -- reasoner is active, will process on next tick${RESET}`);
129
- }
130
- else {
131
- console.log(`${DIM}queued -- daemon will pick this up momentarily${RESET}`);
132
139
  }
133
- rl.prompt();
134
140
  });
135
141
  rl.on("close", () => { clearInterval(statusInterval); cleanup(); process.exit(0); });
136
142
  process.on("SIGINT", () => { clearInterval(statusInterval); cleanup(); process.exit(0); });
@@ -1,7 +1,7 @@
1
1
  // daemon-state.ts -- shared state file for IPC between daemon and chat UI
2
2
  // the daemon writes this file each time its phase changes;
3
3
  // chat.ts reads it on a 1-second interval to display countdown + session tasks.
4
- import { writeFileSync, readFileSync, existsSync, unlinkSync, mkdirSync } from "node:fs";
4
+ import { writeFileSync, readFileSync, existsSync, unlinkSync, mkdirSync, renameSync } from "node:fs";
5
5
  import { join } from "node:path";
6
6
  import { homedir } from "node:os";
7
7
  import { parseTasks, formatTaskList } from "./task-parser.js";
@@ -51,10 +51,14 @@ export function setSessionTask(sessionId, task) {
51
51
  const DEBOUNCE_MS = 500;
52
52
  let lastFlushedPhase = null;
53
53
  let lastFlushTime = 0;
54
+ const STATE_TMP = STATE_FILE + ".tmp";
54
55
  function flushState() {
55
56
  try {
56
57
  ensureDir();
57
- writeFileSync(STATE_FILE, JSON.stringify(currentState) + "\n");
58
+ // atomic write: write to temp file, then rename into place.
59
+ // prevents chat.ts from reading a partially-written JSON file.
60
+ writeFileSync(STATE_TMP, JSON.stringify(currentState) + "\n");
61
+ renameSync(STATE_TMP, STATE_FILE);
58
62
  lastFlushedPhase = currentState.phase;
59
63
  lastFlushTime = Date.now();
60
64
  }
@@ -165,20 +169,31 @@ export function cleanupState() {
165
169
  export function acquireLock() {
166
170
  ensureDir();
167
171
  try {
168
- if (existsSync(LOCK_FILE)) {
172
+ // try exclusive create (atomic — fails if file already exists)
173
+ writeFileSync(LOCK_FILE, String(process.pid), { flag: "wx" });
174
+ return { acquired: true };
175
+ }
176
+ catch {
177
+ // file exists — check if the owning process is still alive
178
+ try {
169
179
  const content = readFileSync(LOCK_FILE, "utf-8").trim();
170
180
  const pid = parseInt(content, 10);
171
181
  if (!isNaN(pid) && isProcessRunning(pid)) {
172
182
  return { acquired: false, existingPid: pid };
173
183
  }
174
- // stale lock file — previous daemon crashed without cleanup
184
+ // stale lock — previous daemon crashed without cleanup. reclaim it.
175
185
  unlinkSync(LOCK_FILE);
186
+ try {
187
+ writeFileSync(LOCK_FILE, String(process.pid), { flag: "wx" });
188
+ return { acquired: true };
189
+ }
190
+ catch {
191
+ return { acquired: false }; // another process beat us to the reclaim
192
+ }
193
+ }
194
+ catch {
195
+ return { acquired: false };
176
196
  }
177
- writeFileSync(LOCK_FILE, String(process.pid));
178
- return { acquired: true };
179
- }
180
- catch {
181
- return { acquired: false };
182
197
  }
183
198
  }
184
199
  function releaseLock() {
package/dist/index.js CHANGED
@@ -240,6 +240,12 @@ async function main() {
240
240
  if (!running)
241
241
  return;
242
242
  running = false;
243
+ // swallow further signals during cleanup — prevents stale lock files
244
+ // when user hits Ctrl+C again while async cleanup is in progress
245
+ process.removeAllListeners("SIGINT");
246
+ process.removeAllListeners("SIGTERM");
247
+ process.on("SIGINT", () => { }); // swallow
248
+ process.on("SIGTERM", () => { }); // swallow
243
249
  if (tui)
244
250
  tui.stop();
245
251
  // ── shutdown summary ──────────────────────────────────────────────────
@@ -744,12 +750,19 @@ function askConfirm(description, tui) {
744
750
  tui.log("system", `The AI wants to: ${description}`);
745
751
  }
746
752
  process.stderr.write(prompt);
753
+ // cleanup helper — ensures terminal is restored regardless of how we exit
754
+ const cleanup = () => {
755
+ process.stdin.removeListener("data", onData);
756
+ if (process.stdin.isTTY)
757
+ try {
758
+ process.stdin.setRawMode(false);
759
+ }
760
+ catch { /* already restored */ }
761
+ };
747
762
  // temporarily listen for a single keypress
748
763
  const onData = (data) => {
749
764
  const ch = data.toString().trim().toLowerCase();
750
- process.stdin.removeListener("data", onData);
751
- if (process.stdin.isTTY)
752
- process.stdin.setRawMode(false);
765
+ cleanup();
753
766
  if (ch === "y" || ch === "yes") {
754
767
  process.stderr.write(`${GREEN}approved${RESET}\n`);
755
768
  resolve(true);
@@ -762,6 +775,10 @@ function askConfirm(description, tui) {
762
775
  if (process.stdin.isTTY)
763
776
  process.stdin.setRawMode(true);
764
777
  process.stdin.once("data", onData);
778
+ // if the process receives SIGINT while waiting, restore terminal and reject
779
+ const onSignal = () => { cleanup(); resolve(false); };
780
+ process.once("SIGINT", onSignal);
781
+ process.once("SIGTERM", onSignal);
765
782
  });
766
783
  }
767
784
  function summarizeStatuses(obs) {
@@ -75,6 +75,10 @@ function validateAction(raw) {
75
75
  // parse raw LLM output into a ReasonerResult, handling JSON in various wrappers
76
76
  export function parseReasonerResponse(raw) {
77
77
  const trimmed = raw.trim();
78
+ // empty or whitespace-only response — the LLM returned nothing
79
+ if (!trimmed) {
80
+ return { actions: [{ action: "wait", reason: "LLM returned empty response" }] };
81
+ }
78
82
  // try direct JSON parse
79
83
  try {
80
84
  return validateResult(JSON.parse(trimmed));
@@ -1,7 +1,7 @@
1
1
  // task-manager.ts — persistent task orchestration for aoaoe
2
2
  // loads task definitions from aoaoe.tasks.json (or config), creates/manages AoE
3
3
  // sessions for each, tracks progress that survives session cleanup.
4
- import { readFileSync, writeFileSync, existsSync, mkdirSync } from "node:fs";
4
+ import { readFileSync, writeFileSync, existsSync, mkdirSync, renameSync } from "node:fs";
5
5
  import { join, resolve, basename } from "node:path";
6
6
  import { homedir } from "node:os";
7
7
  import { exec } from "./shell.js";
@@ -90,8 +90,14 @@ export function loadTaskState() {
90
90
  }
91
91
  }
92
92
  }
93
- catch {
94
- // corrupt state file — start fresh
93
+ catch (e) {
94
+ // corrupt state file — back up for recovery, then start fresh
95
+ console.error(`warning: task state file is corrupt, starting fresh: ${e}`);
96
+ try {
97
+ renameSync(STATE_FILE, STATE_FILE + ".corrupt");
98
+ console.error(` backed up to ${STATE_FILE}.corrupt`);
99
+ }
100
+ catch { /* best-effort backup */ }
95
101
  }
96
102
  return map;
97
103
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aoaoe",
3
- "version": "0.43.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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=abort-signal.test.d.ts.map
@@ -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":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,kEAAkE;AAClE,oEAAoE;AACpE,SAAS,mBAAmB,CAC1B,OAA4C,EAC5C,EAAU,EACV,QAAW;IAEX,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QAEjC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC;aACf,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,oDAAoD,EAAE,GAAG,EAAE;IAClE,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,YAAY,GAAG;YACnB,KAAK,CAAC,MAAM,CAAC,IAAa,EAAE,MAAoB;gBAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YACzF,CAAC;SACF,CAAC;QAEF,wCAAwC;QACxC,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAEtC,mBAAmB;QACnB,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,UAAU,GAAG,KAAK,EAAE,OAAe,EAAE,MAAoB,EAAE,EAAE;YACjE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5C,IAAI,MAAM,EAAE,OAAO;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YAE1F,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5C,IAAI,MAAM,EAAE,OAAO;gBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YAE1F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,YAAqB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACxF,CAAC,CAAC;QAEF,sCAAsC;QACtC,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAEjD,0CAA0C;QAC1C,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACzD,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,IAAI,WAAoC,CAAC;QAEzC,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAE,IAA+B,EAAE,EAAE;YACxE,WAAW,GAAG,IAAI,EAAE,MAAM,CAAC;YAC3B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC7C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9C,CAAC,CAAC;QAEF,MAAM,mBAAmB,CACvB,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,MAAM,SAAS,CAAC,4CAA4C,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1E,OAAO,UAAU,CAAC;QACpB,CAAC,EACD,EAAE,EACF,kBAAkB,CACnB,CAAC;QAEF,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,qCAAqC,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"activity.js","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,wEAAwE;AACxE,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,gFAAgF;AAEhF,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,oBAAoB,GAAG,MAAM,CAAC,CAAC,aAAa;AASlD,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,WAAW,GAAG,oBAAoB;IAElC,MAAM,SAAS,GAAiB;QAC9B,QAAQ;QACR,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,QAAQ;QACxB,WAAW,EAAE,CAAC;KACf,CAAC;IAEF,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CACvB,MAAM,EACN,CAAC,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAC5D,KAAK,CACN,CAAC;QAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC7C,IAAI,QAAQ,GAAG,QAAQ,CAAC;QAExB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;gBACnD,IAAI,KAAK,GAAG,QAAQ;oBAAE,QAAQ,GAAG,KAAK,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ;YACR,UAAU,EAAE,QAAQ,GAAG,WAAW;YAClC,cAAc,EAAE,QAAQ;YACxB,WAAW,EAAE,KAAK,CAAC,MAAM;SAC1B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,4CAA4C;AAC5C,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,SAAmB,EACnB,WAAW,GAAG,oBAAoB;IAElC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAE7C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAC/D,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC7B,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;gBACZ,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,KAAK;gBACjB,cAAc,EAAE,QAAQ;gBACxB,WAAW,EAAE,CAAC;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=activity.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"activity.test.d.ts","sourceRoot":"","sources":["../src/activity.test.ts"],"names":[],"mappings":""}
@@ -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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"}
@@ -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;AA+Q9C,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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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=chat.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat.test.d.ts","sourceRoot":"","sources":["../src/chat.test.ts"],"names":[],"mappings":""}