@redplanethq/corebrain 2.8.25 → 2.8.26

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 (41) hide show
  1. package/dist/commands/coding/read.d.ts.map +1 -1
  2. package/dist/commands/coding/read.js +7 -1
  3. package/dist/commands/coding/read.js.map +1 -1
  4. package/dist/server/api/auth.d.ts.map +1 -1
  5. package/dist/server/api/coding/coding_spawn.d.ts.map +1 -1
  6. package/dist/server/api/coding/coding_spawn.js +8 -0
  7. package/dist/server/api/coding/coding_spawn.js.map +1 -1
  8. package/dist/server/api/manifest-builder.d.ts.map +1 -1
  9. package/dist/server/api/manifest-builder.js +1 -0
  10. package/dist/server/api/manifest-builder.js.map +1 -1
  11. package/dist/server/coding-session-watcher.d.ts +41 -0
  12. package/dist/server/coding-session-watcher.d.ts.map +1 -0
  13. package/dist/server/coding-session-watcher.js +311 -0
  14. package/dist/server/coding-session-watcher.js.map +1 -0
  15. package/dist/server/tools/coding-tools.d.ts.map +1 -1
  16. package/dist/server/tools/coding-tools.js +119 -16
  17. package/dist/server/tools/coding-tools.js.map +1 -1
  18. package/dist/utils/agent-templates.d.ts.map +1 -1
  19. package/dist/utils/agent-templates.js +21 -0
  20. package/dist/utils/agent-templates.js.map +1 -1
  21. package/dist/utils/coding-agents/claude-code.d.ts +1 -0
  22. package/dist/utils/coding-agents/claude-code.d.ts.map +1 -1
  23. package/dist/utils/coding-agents/claude-code.js +6 -0
  24. package/dist/utils/coding-agents/claude-code.js.map +1 -1
  25. package/dist/utils/coding-agents/codex.d.ts +1 -0
  26. package/dist/utils/coding-agents/codex.d.ts.map +1 -1
  27. package/dist/utils/coding-agents/codex.js +5 -0
  28. package/dist/utils/coding-agents/codex.js.map +1 -1
  29. package/dist/utils/coding-agents/index.d.ts +3 -2
  30. package/dist/utils/coding-agents/index.d.ts.map +1 -1
  31. package/dist/utils/coding-agents/index.js +28 -12
  32. package/dist/utils/coding-agents/index.js.map +1 -1
  33. package/dist/utils/coding-agents/opencode.d.ts +20 -0
  34. package/dist/utils/coding-agents/opencode.d.ts.map +1 -0
  35. package/dist/utils/coding-agents/opencode.js +375 -0
  36. package/dist/utils/coding-agents/opencode.js.map +1 -0
  37. package/dist/utils/coding-agents/types.d.ts +6 -0
  38. package/dist/utils/coding-agents/types.d.ts.map +1 -1
  39. package/dist/utils/coding-agents/types.js.map +1 -1
  40. package/package.json +1 -1
  41. package/dist/assets/assets/AppIcon.icns +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/commands/coding/read.tsx"],"names":[],"mappings":"AAIA,OAAO,GAAG,MAAM,KAAK,CAAC;AAKtB,eAAO,MAAM,OAAO;;;mBAGlB,CAAC;AAEH,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AA+HF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,EAAE,KAAK,QAUxD"}
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/commands/coding/read.tsx"],"names":[],"mappings":"AAIA,OAAO,GAAG,MAAM,KAAK,CAAC;AAKtB,eAAO,MAAM,OAAO;;;mBAGlB,CAAC;AAEH,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AAsIF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,EAAE,KAAK,QAUxD"}
@@ -82,7 +82,13 @@ async function runReadSession(opts) {
82
82
  const res = await readOnce();
83
83
  if (!res)
84
84
  return;
85
- const statusColor = res.status === 'running' ? chalk.blue : res.status === 'completed' ? chalk.green : chalk.red;
85
+ const statusColor = res.status === 'working'
86
+ ? chalk.yellow
87
+ : res.status === 'idle'
88
+ ? chalk.blue
89
+ : res.status === 'ended'
90
+ ? chalk.green
91
+ : chalk.red;
86
92
  console.log(chalk.dim(`--- Session ${res.sessionId.slice(0, 8)} | ${statusColor(res.status)} ---`));
87
93
  console.log(chalk.dim(`Turns: ${res.turns.length} | Size: ${res.fileSizeHuman} | Dir: ${res.dir}`));
88
94
  console.log();
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/commands/coding/read.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/commands/coding/read.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/server/api/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,cAAc,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAG1D,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAQvE;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAGvE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAAM,EAAwB,SAC5B,cAAc,SAAS,YAAY,mBAOvE"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/server/api/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,cAAc,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAG1D,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAQvE;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAGvE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAAM,EAAwB,IACjC,KAAK,cAAc,EAAE,OAAO,YAAY,mBAOvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"coding_spawn.d.ts","sourceRoot":"","sources":["../../../../src/server/api/coding/coding_spawn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAehD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB,EAAE,kBAsH9B,CAAC"}
1
+ {"version":3,"file":"coding_spawn.d.ts","sourceRoot":"","sources":["../../../../src/server/api/coding/coding_spawn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAgBhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB,EAAE,kBA8H9B,CAAC"}
@@ -6,6 +6,7 @@ import { listFolders, resolveFolderForPath } from '../../../config/folders.js';
6
6
  import { ptyManager } from '../../../server/pty/manager.js';
7
7
  import { findLatestCodexSession } from '../../../utils/coding-agents/index.js';
8
8
  import { gatewayLog } from '../../../server/gateway-log.js';
9
+ import { startCodingSessionWatcher } from '../../../server/coding-session-watcher.js';
9
10
  /**
10
11
  * Spawn (or resume) a coding agent's interactive TUI so the xterm WS has a
11
12
  * PTY to attach to. This is a webapp-only primitive — LLM callers use
@@ -110,6 +111,13 @@ export const codingSpawnRoute = async (app) => {
110
111
  });
111
112
  }
112
113
  }
114
+ // Register turn-ended watcher so the webapp can refresh the linked
115
+ // task's title/description as each turn completes.
116
+ startCodingSessionWatcher({
117
+ sessionId,
118
+ agentName: body.agent,
119
+ dir: body.dir,
120
+ });
113
121
  return {
114
122
  ok: true,
115
123
  sessionId,
@@ -1 +1 @@
1
- {"version":3,"file":"coding_spawn.js","sourceRoot":"","sources":["../../../../src/server/api/coding/coding_spawn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coding_spawn.js","sourceRoot":"","sources":["../../../../src/server/api/coding/coding_spawn.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-builder.d.ts","sourceRoot":"","sources":["../../../src/server/api/manifest-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAEN,KAAK,QAAQ,EAGb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAgB,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAqHhE;;;;;GAKG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,YAAY,GAAG,SAAS,EAC/B,IAAI,EAAE,MAAM,YAAY,GACtB,OAAO,CAOT;AAED,wBAAgB,aAAa,IAAI;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CA0DlE"}
1
+ {"version":3,"file":"manifest-builder.d.ts","sourceRoot":"","sources":["../../../src/server/api/manifest-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAEN,KAAK,QAAQ,EAGb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAgB,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAsHhE;;;;;GAKG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,YAAY,GAAG,SAAS,EAC/B,IAAI,EAAE,MAAM,YAAY,GACtB,OAAO,CAOT;AAED,wBAAgB,aAAa,IAAI;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CA0DlE"}
@@ -35,6 +35,7 @@ function projectTool(t) {
35
35
  const KNOWN_AGENTS = [
36
36
  { name: 'claude-code', command: 'claude' },
37
37
  { name: 'codex-cli', command: 'codex' },
38
+ { name: 'opencode', command: 'opencode' },
38
39
  ];
39
40
  /**
40
41
  * Resolve a bare command via the env's PATH (the same one node-pty will use
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-builder.js","sourceRoot":"","sources":["../../../src/server/api/manifest-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest-builder.js","sourceRoot":"","sources":["../../../src/server/api/manifest-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Coding session watcher.
3
+ *
4
+ * Pushes a `turn_ended` event back to the webapp the moment the
5
+ * assistant finishes responding to a user turn (i.e. the session's
6
+ * computed status flips from `working` → `idle`). The webapp uses that
7
+ * signal to enqueue a Task title/description update job — no client
8
+ * polling required.
9
+ *
10
+ * Triggering strategy:
11
+ * - Primary: `fs.watch(dirname(transcript))` filtered by basename.
12
+ * Watching the directory (not the file) means we don't bet on
13
+ * append-in-place writes and we pick up the transcript even if
14
+ * the agent hasn't created it yet at the time we start.
15
+ * - Backstop: a low-frequency mtime poll every 5s. `fs.watch`
16
+ * silently no-ops on some filesystems (NFS, certain Docker bind
17
+ * mounts); the poll guarantees we still detect change.
18
+ * - Retry-on-working: if a tick reads the transcript mid-line and
19
+ * `readJsonlLines` silently drops the half-written final line, the
20
+ * status stays `working`. We schedule one short follow-up tick to
21
+ * catch the completing write.
22
+ * - `pty.onExit` is a separate signal: fires a final tick (fire and
23
+ * forget — the read path is async) before tearing down so the last
24
+ * `turn_ended` isn't lost.
25
+ *
26
+ * Lifetime:
27
+ * Sliding 10-min idle cap, reset on any sign of activity (watch
28
+ * event, backstop mtime change, or a tick that sees `working`).
29
+ * Reaps abandoned sessions without cutting off active ones.
30
+ *
31
+ * Auth: we POST with the user's API key (`config.auth.apiKey`) and
32
+ * identify the gateway by its `httpBaseUrl`, since the CLI doesn't
33
+ * know its own webapp-side ID.
34
+ */
35
+ export declare function startCodingSessionWatcher(args: {
36
+ sessionId: string;
37
+ agentName: string;
38
+ dir: string;
39
+ }): void;
40
+ export declare function stopCodingSessionWatcher(sessionId: string): void;
41
+ //# sourceMappingURL=coding-session-watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coding-session-watcher.d.ts","sourceRoot":"","sources":["../../src/server/coding-session-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAoDH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACZ,GAAG,IAAI,CA4FP;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAuBhE"}
@@ -0,0 +1,311 @@
1
+ /**
2
+ * Coding session watcher.
3
+ *
4
+ * Pushes a `turn_ended` event back to the webapp the moment the
5
+ * assistant finishes responding to a user turn (i.e. the session's
6
+ * computed status flips from `working` → `idle`). The webapp uses that
7
+ * signal to enqueue a Task title/description update job — no client
8
+ * polling required.
9
+ *
10
+ * Triggering strategy:
11
+ * - Primary: `fs.watch(dirname(transcript))` filtered by basename.
12
+ * Watching the directory (not the file) means we don't bet on
13
+ * append-in-place writes and we pick up the transcript even if
14
+ * the agent hasn't created it yet at the time we start.
15
+ * - Backstop: a low-frequency mtime poll every 5s. `fs.watch`
16
+ * silently no-ops on some filesystems (NFS, certain Docker bind
17
+ * mounts); the poll guarantees we still detect change.
18
+ * - Retry-on-working: if a tick reads the transcript mid-line and
19
+ * `readJsonlLines` silently drops the half-written final line, the
20
+ * status stays `working`. We schedule one short follow-up tick to
21
+ * catch the completing write.
22
+ * - `pty.onExit` is a separate signal: fires a final tick (fire and
23
+ * forget — the read path is async) before tearing down so the last
24
+ * `turn_ended` isn't lost.
25
+ *
26
+ * Lifetime:
27
+ * Sliding 10-min idle cap, reset on any sign of activity (watch
28
+ * event, backstop mtime change, or a tick that sees `working`).
29
+ * Reaps abandoned sessions without cutting off active ones.
30
+ *
31
+ * Auth: we POST with the user's API key (`config.auth.apiKey`) and
32
+ * identify the gateway by its `httpBaseUrl`, since the CLI doesn't
33
+ * know its own webapp-side ID.
34
+ */
35
+ import { watch as fsWatch, statSync } from 'node:fs';
36
+ import { basename, dirname } from 'node:path';
37
+ import { getConfig } from '../config/index.js';
38
+ import { getPreferences } from '../config/preferences.js';
39
+ import { gatewayLog } from '../server/gateway-log.js';
40
+ import { ptyManager } from '../server/pty/manager.js';
41
+ import { getAgentReader, readAgentSessionTurns, } from '../utils/coding-agents/index.js';
42
+ import { isProcessRunning } from '../utils/coding-runner.js';
43
+ /** Coalesce fs-watch double-fires (FSEvents on macOS / inotify on
44
+ * Linux can emit multiple events per logical write). */
45
+ const WATCH_DEBOUNCE_MS = 200;
46
+ /** Backstop poll cadence — covers filesystems where `fs.watch` is a
47
+ * silent no-op. Cheap stat() call. */
48
+ const MTIME_POLL_MS = 5_000;
49
+ /** Retry delay after a tick that still saw `working`. The agent may
50
+ * have flushed the line by then, or fs.watch will fire on the
51
+ * completing write. */
52
+ const WORKING_RETRY_MS = 1_000;
53
+ /** Sliding idle cap — resets on any sign of activity. */
54
+ const IDLE_CAP_MS = 10 * 60 * 1000;
55
+ const watched = new Map();
56
+ export function startCodingSessionWatcher(args) {
57
+ if (watched.has(args.sessionId))
58
+ return;
59
+ const reader = getAgentReader(args.agentName);
60
+ if (!reader) {
61
+ gatewayLog(`coding-watch: no reader for agent="${args.agentName}", skipping`);
62
+ return;
63
+ }
64
+ // Resolve the file path once — for codex this is an O(history) scan.
65
+ // If we can't resolve it yet, the agent may not have written its
66
+ // transcript; abort and let the next call (e.g. on resume) try again.
67
+ const filePath = reader.getSessionFilePath(args.dir, args.sessionId);
68
+ if (!filePath) {
69
+ gatewayLog(`coding-watch: no transcript path for sessionId=${args.sessionId}, skipping`);
70
+ return;
71
+ }
72
+ const entry = {
73
+ sessionId: args.sessionId,
74
+ agentName: args.agentName,
75
+ dir: args.dir,
76
+ filePath,
77
+ lastStatus: 'initializing',
78
+ lastMtimeMs: safeMtime(filePath),
79
+ debounceTimer: null,
80
+ workingRetryTimer: null,
81
+ idleCapTimer: null,
82
+ mtimePoll: null,
83
+ watcher: null,
84
+ detachPty: null,
85
+ stopping: false,
86
+ };
87
+ watched.set(args.sessionId, entry);
88
+ // Watch the parent directory and filter by basename. Watching the
89
+ // dir (not the file) handles: file doesn't exist yet, agent uses
90
+ // temp+rename for atomic writes, file gets replaced.
91
+ const parentDir = dirname(filePath);
92
+ const targetBasename = basename(filePath);
93
+ try {
94
+ entry.watcher = fsWatch(parentDir, { persistent: false }, (_event, name) => {
95
+ if (name && name !== targetBasename)
96
+ return;
97
+ scheduleTick(entry, 'watch');
98
+ });
99
+ }
100
+ catch (err) {
101
+ gatewayLog(`coding-watch: fs.watch failed for ${parentDir} err=${err instanceof Error ? err.message : String(err)}`);
102
+ // Continue without the primary trigger — backstop poll will
103
+ // carry the load.
104
+ }
105
+ // Backstop mtime poll — picks up changes on filesystems where
106
+ // fs.watch is a silent no-op (NFS, some Docker bind mounts).
107
+ entry.mtimePoll = setInterval(() => {
108
+ const mtime = safeMtime(entry.filePath);
109
+ if (mtime > entry.lastMtimeMs) {
110
+ scheduleTick(entry, 'mtime');
111
+ }
112
+ }, MTIME_POLL_MS);
113
+ entry.mtimePoll.unref?.();
114
+ // pty.onExit → fire-and-forget a final tick so the last turn_ended
115
+ // is sent before we tear down. `flushAndStop` flips the stopping
116
+ // flag, kicks off the tick, and the tick body finishes after the
117
+ // entry is removed from `watched` (it checks `stopping` instead).
118
+ const attached = ptyManager.attach(args.sessionId, () => {
119
+ // We don't use PTY data as a trigger any more — the
120
+ // transcript file is the ground truth. The no-op handler
121
+ // is required by attach()'s signature.
122
+ }, () => {
123
+ flushAndStop(args.sessionId);
124
+ });
125
+ entry.detachPty = attached ? attached.detach : null;
126
+ // Sliding idle cap.
127
+ armIdleCap(entry);
128
+ // Initial tick — picks up whatever already exists in the
129
+ // transcript (the file may have been written before we attached).
130
+ scheduleTick(entry, 'initial');
131
+ }
132
+ export function stopCodingSessionWatcher(sessionId) {
133
+ const entry = watched.get(sessionId);
134
+ if (!entry)
135
+ return;
136
+ entry.stopping = true;
137
+ if (entry.debounceTimer)
138
+ clearTimeout(entry.debounceTimer);
139
+ if (entry.workingRetryTimer)
140
+ clearTimeout(entry.workingRetryTimer);
141
+ if (entry.idleCapTimer)
142
+ clearTimeout(entry.idleCapTimer);
143
+ if (entry.mtimePoll)
144
+ clearInterval(entry.mtimePoll);
145
+ if (entry.watcher) {
146
+ try {
147
+ entry.watcher.close();
148
+ }
149
+ catch {
150
+ /* ignore */
151
+ }
152
+ }
153
+ if (entry.detachPty) {
154
+ try {
155
+ entry.detachPty();
156
+ }
157
+ catch {
158
+ /* ignore */
159
+ }
160
+ }
161
+ watched.delete(sessionId);
162
+ }
163
+ /**
164
+ * pty.onExit path — flush one final tick before stopping so the last
165
+ * `turn_ended` isn't dropped. `tick` is async and the exit subscriber
166
+ * can't await without blocking sibling subscribers, so we kick off
167
+ * runTick and return immediately. The tick checks `entry.stopping`
168
+ * to allow the final read to complete after the entry is removed.
169
+ */
170
+ function flushAndStop(sessionId) {
171
+ const entry = watched.get(sessionId);
172
+ if (!entry)
173
+ return;
174
+ if (entry.debounceTimer) {
175
+ clearTimeout(entry.debounceTimer);
176
+ entry.debounceTimer = null;
177
+ }
178
+ // Run the final tick before tearing down the watch handles. The
179
+ // promise resolves on its own; we don't block the exit handler.
180
+ runTick(entry, 'exit');
181
+ stopCodingSessionWatcher(sessionId);
182
+ }
183
+ function scheduleTick(entry, source) {
184
+ if (entry.stopping)
185
+ return;
186
+ if (entry.debounceTimer)
187
+ clearTimeout(entry.debounceTimer);
188
+ entry.debounceTimer = setTimeout(() => {
189
+ entry.debounceTimer = null;
190
+ runTick(entry, source);
191
+ }, WATCH_DEBOUNCE_MS);
192
+ entry.debounceTimer.unref?.();
193
+ }
194
+ function runTick(entry, source) {
195
+ tick(entry, source).catch(err => {
196
+ gatewayLog(`coding-watch: tick error sessionId=${entry.sessionId} src=${source} err=${err instanceof Error ? err.message : String(err)}`);
197
+ });
198
+ }
199
+ async function tick(entry, source) {
200
+ // Allow ticks for entries that are stopping (we want the exit-flush
201
+ // path to finish), but bail if the entry has been fully removed
202
+ // AND wasn't stopping at the time we were enqueued.
203
+ if (!watched.has(entry.sessionId) && !entry.stopping)
204
+ return;
205
+ const running = isProcessRunning(entry.sessionId);
206
+ const { turns, fileExists } = await readAgentSessionTurns(entry.agentName, entry.dir, entry.sessionId, { tail: true, lines: 50 });
207
+ // Refresh mtime cursor so the backstop poll doesn't keep
208
+ // re-firing on the same change.
209
+ entry.lastMtimeMs = safeMtime(entry.filePath);
210
+ const status = deriveStatus({ running, fileExists, turns });
211
+ // working → idle (and initializing → idle) = assistant finished
212
+ // responding. The only edge we care about.
213
+ if (status === 'idle' && entry.lastStatus !== 'idle') {
214
+ postTurnEnded(entry.sessionId).catch(err => {
215
+ gatewayLog(`coding-watch: post failed sessionId=${entry.sessionId} err=${err instanceof Error ? err.message : String(err)}`);
216
+ });
217
+ }
218
+ entry.lastStatus = status;
219
+ // Sliding cap — any signal of life resets it.
220
+ if (status === 'working' || source === 'watch' || source === 'mtime') {
221
+ armIdleCap(entry);
222
+ }
223
+ // Working after a watch event almost certainly means we caught the
224
+ // agent mid-write and the JSONL parser dropped the half-line.
225
+ // Schedule a single short retry; fs.watch will likely fire again
226
+ // on its own too, in which case scheduleTick coalesces.
227
+ if (status === 'working' && !entry.stopping) {
228
+ if (entry.workingRetryTimer)
229
+ clearTimeout(entry.workingRetryTimer);
230
+ entry.workingRetryTimer = setTimeout(() => {
231
+ entry.workingRetryTimer = null;
232
+ runTick(entry, 'retry');
233
+ }, WORKING_RETRY_MS);
234
+ entry.workingRetryTimer.unref?.();
235
+ }
236
+ if (status === 'ended' && !entry.stopping) {
237
+ stopCodingSessionWatcher(entry.sessionId);
238
+ }
239
+ }
240
+ function deriveStatus(args) {
241
+ if (!args.running)
242
+ return 'ended';
243
+ if (!args.fileExists)
244
+ return 'initializing';
245
+ const last = args.turns.length > 0 ? args.turns[args.turns.length - 1] : null;
246
+ if (!last)
247
+ return 'initializing';
248
+ if (last.role === 'user')
249
+ return 'working';
250
+ if (last.role === 'assistant')
251
+ return 'idle';
252
+ return 'initializing';
253
+ }
254
+ function armIdleCap(entry) {
255
+ if (entry.idleCapTimer)
256
+ clearTimeout(entry.idleCapTimer);
257
+ entry.idleCapTimer = setTimeout(() => {
258
+ gatewayLog(`coding-watch: idle cap reached, stopping sessionId=${entry.sessionId}`);
259
+ stopCodingSessionWatcher(entry.sessionId);
260
+ }, IDLE_CAP_MS);
261
+ entry.idleCapTimer.unref?.();
262
+ }
263
+ function safeMtime(filePath) {
264
+ try {
265
+ return statSync(filePath).mtimeMs;
266
+ }
267
+ catch {
268
+ return 0;
269
+ }
270
+ }
271
+ async function postTurnEnded(sessionId) {
272
+ const config = getConfig();
273
+ const url = config.auth?.url;
274
+ const apiKey = config.auth?.apiKey;
275
+ if (!url || !apiKey) {
276
+ // Gateway never logged in — silently skip. Headless gateways
277
+ // without a configured webapp are still valid: they just don't
278
+ // get the task-description update side-effect.
279
+ return;
280
+ }
281
+ const prefs = getPreferences();
282
+ const baseUrl = prefs.gateway?.httpBaseUrl;
283
+ if (!baseUrl)
284
+ return;
285
+ const endpoint = `${url.replace(/\/+$/, '')}/api/v1/internal/coding-events`;
286
+ const controller = new AbortController();
287
+ const timeout = setTimeout(() => controller.abort(), 8_000);
288
+ try {
289
+ const res = await fetch(endpoint, {
290
+ method: 'POST',
291
+ headers: {
292
+ 'content-type': 'application/json',
293
+ authorization: `Bearer ${apiKey}`,
294
+ },
295
+ body: JSON.stringify({
296
+ kind: 'turn_ended',
297
+ baseUrl: baseUrl.replace(/\/+$/, ''),
298
+ sessionId,
299
+ at: new Date().toISOString(),
300
+ }),
301
+ signal: controller.signal,
302
+ });
303
+ if (!res.ok) {
304
+ gatewayLog(`coding-watch: post turn_ended status=${res.status} sessionId=${sessionId}`);
305
+ }
306
+ }
307
+ finally {
308
+ clearTimeout(timeout);
309
+ }
310
+ }
311
+ //# sourceMappingURL=coding-session-watcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coding-session-watcher.js","sourceRoot":"","sources":["../../src/server/coding-session-watcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"coding-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/coding-tools.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAUjD,OAAO,EAON,KAAK,MAAM,EACX,MAAM,uBAAuB,CAAC;AA2K/B,eAAO,MAAM,WAAW,EAAE,WAAW,EA0CpC,CAAC;AAwqBF,wBAAsB,iBAAiB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC,CA6B/D"}
1
+ {"version":3,"file":"coding-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/coding-tools.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAUjD,OAAO,EAON,KAAK,MAAM,EACX,MAAM,uBAAuB,CAAC;AAgL/B,eAAO,MAAM,WAAW,EAAE,WAAW,EA0CpC,CAAC;AAqxBF,wBAAsB,iBAAiB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC,CA6B/D"}