nterminal 1.2.81 → 1.2.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/MarkdownPreview-D43VLS-2.js +1 -0
- package/dist/client/assets/{TranscriptMarkdownBody-DDFnUWuE.js → TranscriptMarkdownBody-BeM4ohbd.js} +1 -1
- package/dist/client/assets/{index-D7w92nCI.js → index-CiCZJzIi.js} +1 -1
- package/dist/client/assets/index-DMjdQxDt.js +57 -0
- package/dist/client/assets/{index-hoeidjW4.css → index-yKhwlegq.css} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/terminal/TerminalManager.js +7 -3
- package/dist/server/terminal/TerminalManager.js.map +1 -1
- package/dist/server/terminal/subagentSources.d.ts +6 -1
- package/dist/server/terminal/subagentSources.js +298 -27
- package/dist/server/terminal/subagentSources.js.map +1 -1
- package/dist/server/terminal/transcriptHistory.d.ts +1 -0
- package/dist/server/terminal/transcriptHistory.js +40 -24
- package/dist/server/terminal/transcriptHistory.js.map +1 -1
- package/dist/shared/protocol.d.ts +1 -0
- package/dist/shared/protocol.js.map +1 -1
- package/package.json +1 -1
- package/dist/client/assets/MarkdownPreview-Dq1fT9EP.js +0 -1
- package/dist/client/assets/index-Di6LPXrS.js +0 -57
|
@@ -8,7 +8,10 @@ import { sqlString } from './codexTranscriptSource.js';
|
|
|
8
8
|
import { isSessionId, sessionIdPatternSource } from './sessionId.js';
|
|
9
9
|
import { TtlCache } from './ttlCache.js';
|
|
10
10
|
import { encodeClaudeProjectPath, findTranscriptFilesAsync } from './TmuxPtyAdapter.js';
|
|
11
|
-
|
|
11
|
+
// The dialog polls every five seconds. Keep a small overlap so a poll that
|
|
12
|
+
// lands on schedule can reuse the prior discovery instead of spawning sqlite
|
|
13
|
+
// and re-statting every child on every tick.
|
|
14
|
+
const LIST_CACHE_TTL_MS = 7_000;
|
|
12
15
|
const LIST_LIMIT = 100;
|
|
13
16
|
// A transcript that claims "working" but has not been written for this long
|
|
14
17
|
// is treated as unknown: a killed CLI never appends its terminal record.
|
|
@@ -34,9 +37,24 @@ const SQLITE_TIMEOUT_MS = 1_000;
|
|
|
34
37
|
// A child's transcript path never changes once created, so paging can skip
|
|
35
38
|
// full rediscovery for far longer than the status-freshness list cache.
|
|
36
39
|
const TRANSCRIPT_PATH_CACHE_TTL_MS = 10 * 60_000;
|
|
40
|
+
// Codex copies the forked prefix in one burst, then the child works in real
|
|
41
|
+
// time, so the seam is the first pause in an otherwise continuous timeline.
|
|
42
|
+
// Measured across teammate rollouts: consecutive copied records are at most
|
|
43
|
+
// 1ms apart, the copy takes ~0.7-0.9s, and the pause before the child's first
|
|
44
|
+
// record is 94-117ms. The gap threshold sits between those two, and the probe
|
|
45
|
+
// step stays below it so a step can never jump over the seam.
|
|
46
|
+
const FORK_SEAM_GAP_MS = 50;
|
|
47
|
+
const FORK_SEAM_STEP_MS = 40;
|
|
48
|
+
// The step walks the burst at 40ms a time; the cap only exists so a rollout
|
|
49
|
+
// with an unexpected shape cannot spin.
|
|
50
|
+
const FORK_SEAM_MAX_ATTEMPTS = 256;
|
|
51
|
+
const FORK_PREVIOUS_RECORD_LOOKBACK_BYTES = 1024 * 1024;
|
|
52
|
+
const FORK_PROBE_BYTES = 64 * 1024;
|
|
37
53
|
const listCache = new TtlCache();
|
|
38
54
|
const listInflight = new KeyedSingleFlight();
|
|
39
55
|
const transcriptPathCache = new TtlCache();
|
|
56
|
+
const forkBoundaryCache = new Map();
|
|
57
|
+
const FORK_BOUNDARY_CACHE_LIMIT = 64;
|
|
40
58
|
const crossVerificationCache = new TtlCache();
|
|
41
59
|
const statusTracker = new AgentTranscriptTracker();
|
|
42
60
|
const statusKeys = new Set();
|
|
@@ -54,6 +72,7 @@ export function clearSubagentCaches() {
|
|
|
54
72
|
crossScanStates.clear();
|
|
55
73
|
codexScanStates.clear();
|
|
56
74
|
ancestorIdCache.clear();
|
|
75
|
+
forkBoundaryCache.clear();
|
|
57
76
|
}
|
|
58
77
|
export function subagentSummary(record) {
|
|
59
78
|
const { filePath: _filePath, ...summary } = record;
|
|
@@ -66,15 +85,9 @@ export async function listTerminalSubagents(source, options = {}) {
|
|
|
66
85
|
return cached.value;
|
|
67
86
|
}
|
|
68
87
|
return listInflight.run(key, async () => {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
? await listClaudeSubagents(source, options)
|
|
73
|
-
: await listCodexSubagents(source, options);
|
|
74
|
-
}
|
|
75
|
-
catch {
|
|
76
|
-
records = [];
|
|
77
|
-
}
|
|
88
|
+
const records = source.provider === 'claude'
|
|
89
|
+
? await listClaudeSubagents(source, options)
|
|
90
|
+
: await listCodexSubagents(source, options);
|
|
78
91
|
records.sort(compareSubagents);
|
|
79
92
|
if (records.length > LIST_LIMIT) {
|
|
80
93
|
records.length = LIST_LIMIT;
|
|
@@ -91,7 +104,7 @@ export async function resolveSubagentTranscriptSource(source, subagentId, option
|
|
|
91
104
|
const cached = transcriptPathCache.get(key);
|
|
92
105
|
if (cached) {
|
|
93
106
|
try {
|
|
94
|
-
await stat(cached.value.filePath);
|
|
107
|
+
await stat(cached.value.source.filePath);
|
|
95
108
|
return cached.value;
|
|
96
109
|
}
|
|
97
110
|
catch {
|
|
@@ -104,8 +117,247 @@ export async function resolveSubagentTranscriptSource(source, subagentId, option
|
|
|
104
117
|
return null;
|
|
105
118
|
}
|
|
106
119
|
const child = { provider: record.provider, sessionId: record.id, filePath: record.filePath };
|
|
107
|
-
|
|
108
|
-
|
|
120
|
+
const boundary = record.provider === 'codex'
|
|
121
|
+
? await resolveCodexForkBoundary(child.filePath, child.sessionId)
|
|
122
|
+
: { offset: 0, settled: true };
|
|
123
|
+
const target = { source: child, startOffset: boundary.offset };
|
|
124
|
+
// An unsettled boundary belongs to a teammate that has not written past its
|
|
125
|
+
// fork burst yet; hold it only briefly so the seam is picked up as soon as
|
|
126
|
+
// the child starts working.
|
|
127
|
+
transcriptPathCache.set(key, target, boundary.settled ? TRANSCRIPT_PATH_CACHE_TTL_MS : LIST_CACHE_TTL_MS);
|
|
128
|
+
return target;
|
|
129
|
+
}
|
|
130
|
+
// Codex teammates start life as a fork: the rollout opens with a verbatim
|
|
131
|
+
// copy of the parent thread, written in one burst stamped at fork time, and
|
|
132
|
+
// only then records the child's own turns. Locating that seam lets the viewer
|
|
133
|
+
// show the child's conversation instead of its inherited history.
|
|
134
|
+
export async function resolveCodexForkBoundaryOffset(filePath, threadId) {
|
|
135
|
+
return (await resolveCodexForkBoundary(filePath, threadId)).offset;
|
|
136
|
+
}
|
|
137
|
+
async function resolveCodexForkBoundary(filePath, threadId) {
|
|
138
|
+
let fileStat;
|
|
139
|
+
try {
|
|
140
|
+
fileStat = await stat(filePath);
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
return { offset: 0, settled: false };
|
|
144
|
+
}
|
|
145
|
+
const cached = forkBoundaryCache.get(filePath);
|
|
146
|
+
if (cached && cached.dev === fileStat.dev && cached.ino === fileStat.ino) {
|
|
147
|
+
return { offset: cached.offset, settled: true };
|
|
148
|
+
}
|
|
149
|
+
let handle;
|
|
150
|
+
let offset = 0;
|
|
151
|
+
try {
|
|
152
|
+
handle = await openFile(filePath, 'r');
|
|
153
|
+
const forkedAtMs = await readCodexForkTimestampMs(handle, threadId);
|
|
154
|
+
if (forkedAtMs === null) {
|
|
155
|
+
// Not a fork: the whole rollout belongs to this thread, and that stays
|
|
156
|
+
// true for the life of the file.
|
|
157
|
+
rememberForkBoundary(filePath, { dev: fileStat.dev, ino: fileStat.ino, offset: 0 });
|
|
158
|
+
return { offset: 0, settled: true };
|
|
159
|
+
}
|
|
160
|
+
const seam = await findForkSeamAsync(handle, fileStat.size, forkedAtMs);
|
|
161
|
+
if (seam === null) {
|
|
162
|
+
// The child has not written past its fork burst yet. Showing inherited
|
|
163
|
+
// history for now beats caching a zero that would outlive the reason
|
|
164
|
+
// for it — the next request re-resolves.
|
|
165
|
+
return { offset: 0, settled: false };
|
|
166
|
+
}
|
|
167
|
+
offset = seam;
|
|
168
|
+
rememberForkBoundary(filePath, { dev: fileStat.dev, ino: fileStat.ino, offset });
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
return { offset: 0, settled: false };
|
|
172
|
+
}
|
|
173
|
+
finally {
|
|
174
|
+
await handle?.close().catch(() => undefined);
|
|
175
|
+
}
|
|
176
|
+
return { offset, settled: true };
|
|
177
|
+
}
|
|
178
|
+
// Steps the probe threshold forward until the record it lands on is separated
|
|
179
|
+
// from its predecessor by a real pause. Inside the copied prefix consecutive
|
|
180
|
+
// records are microseconds apart, so only the seam clears the gap.
|
|
181
|
+
async function findForkSeamAsync(handle, fileSize, forkedAtMs) {
|
|
182
|
+
let threshold = forkedAtMs + FORK_SEAM_STEP_MS;
|
|
183
|
+
let searchFrom = 0;
|
|
184
|
+
let earliestCandidate = null;
|
|
185
|
+
for (let attempt = 0; attempt < FORK_SEAM_MAX_ATTEMPTS; attempt += 1) {
|
|
186
|
+
const crossing = await findFirstRecordAfterAsync(handle, fileSize, threshold, searchFrom);
|
|
187
|
+
if (crossing === null || crossing <= 0) {
|
|
188
|
+
return earliestCandidate;
|
|
189
|
+
}
|
|
190
|
+
if (earliestCandidate === null) {
|
|
191
|
+
earliestCandidate = crossing;
|
|
192
|
+
}
|
|
193
|
+
const crossingTimestampMs = (await readRecordTimestampAtAsync(handle, crossing, fileSize))?.timestampMs ?? null;
|
|
194
|
+
const previousTimestampMs = await readPreviousRecordTimestampMsAsync(handle, crossing);
|
|
195
|
+
if (crossingTimestampMs === null || previousTimestampMs === null) {
|
|
196
|
+
return crossing;
|
|
197
|
+
}
|
|
198
|
+
if (crossingTimestampMs - previousTimestampMs >= FORK_SEAM_GAP_MS) {
|
|
199
|
+
return crossing;
|
|
200
|
+
}
|
|
201
|
+
// Still inside the copied prefix. The record just tested is a floor for
|
|
202
|
+
// the next search, so the scanned range shrinks with every step.
|
|
203
|
+
threshold = crossingTimestampMs + FORK_SEAM_STEP_MS;
|
|
204
|
+
searchFrom = crossing;
|
|
205
|
+
}
|
|
206
|
+
// Out of attempts: fall back to the earliest cut, which can only leave some
|
|
207
|
+
// inherited history visible rather than hiding the child's own turns.
|
|
208
|
+
return earliestCandidate;
|
|
209
|
+
}
|
|
210
|
+
async function readPreviousRecordTimestampMsAsync(handle, offset) {
|
|
211
|
+
const start = Math.max(0, offset - FORK_PREVIOUS_RECORD_LOOKBACK_BYTES);
|
|
212
|
+
if (offset <= start) {
|
|
213
|
+
return null;
|
|
214
|
+
}
|
|
215
|
+
const buffer = await readBufferAsync(handle, start, offset - start);
|
|
216
|
+
if (!buffer || buffer.length < 2) {
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
// `offset` is a record start, so the final byte here closes the record
|
|
220
|
+
// before it.
|
|
221
|
+
const previousEnd = buffer[buffer.length - 1] === 0x0a ? buffer.length - 1 : buffer.length;
|
|
222
|
+
const previousStart = buffer.lastIndexOf(0x0a, previousEnd - 1) + 1;
|
|
223
|
+
if (previousStart <= 0 && start !== 0) {
|
|
224
|
+
return null;
|
|
225
|
+
}
|
|
226
|
+
return recordTimestampMs(buffer.subarray(previousStart, previousEnd));
|
|
227
|
+
}
|
|
228
|
+
function rememberForkBoundary(filePath, entry) {
|
|
229
|
+
forkBoundaryCache.delete(filePath);
|
|
230
|
+
forkBoundaryCache.set(filePath, entry);
|
|
231
|
+
while (forkBoundaryCache.size > FORK_BOUNDARY_CACHE_LIMIT) {
|
|
232
|
+
const oldest = forkBoundaryCache.keys().next().value;
|
|
233
|
+
if (typeof oldest !== 'string' || oldest === filePath) {
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
forkBoundaryCache.delete(oldest);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
// Returns null for a thread that was not forked, so its whole rollout shows.
|
|
240
|
+
async function readCodexForkTimestampMs(handle, threadId) {
|
|
241
|
+
const buffer = Buffer.alloc(SESSION_META_SCAN_BYTES);
|
|
242
|
+
const { bytesRead } = await handle.read(buffer, 0, buffer.length, 0);
|
|
243
|
+
for (const line of buffer.subarray(0, bytesRead).toString('utf8').split('\n')) {
|
|
244
|
+
if (!line.includes('"session_meta"')) {
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
const record = parseJsonLine(line);
|
|
248
|
+
const payload = readRecord(record?.payload);
|
|
249
|
+
if (!payload || payload.id !== threadId) {
|
|
250
|
+
continue;
|
|
251
|
+
}
|
|
252
|
+
if (!readNonEmptyString(payload.forked_from_id)) {
|
|
253
|
+
return null;
|
|
254
|
+
}
|
|
255
|
+
const timestamp = Date.parse(readNonEmptyString(record?.timestamp) ?? readNonEmptyString(payload.timestamp) ?? '');
|
|
256
|
+
return Number.isFinite(timestamp) ? timestamp : null;
|
|
257
|
+
}
|
|
258
|
+
return null;
|
|
259
|
+
}
|
|
260
|
+
// Binary search by byte offset: the rollout is append-ordered, so record
|
|
261
|
+
// timestamps are non-decreasing and the first record past the fork window can
|
|
262
|
+
// be found without reading the (often hundreds of MB) inherited prefix.
|
|
263
|
+
// All arithmetic stays on raw bytes — decoding a window that starts or ends
|
|
264
|
+
// mid-character would shift every offset derived from it.
|
|
265
|
+
async function findFirstRecordAfterAsync(handle, fileSize, thresholdMs, fromOffset = 0) {
|
|
266
|
+
let low = fromOffset;
|
|
267
|
+
let high = fileSize;
|
|
268
|
+
// Remembered because a probe reports the first record at or after `middle`,
|
|
269
|
+
// which may itself be the crossing — the window below `middle` would then
|
|
270
|
+
// no longer contain it.
|
|
271
|
+
let candidate = null;
|
|
272
|
+
while (high - low > FORK_PROBE_BYTES) {
|
|
273
|
+
const middle = low + Math.floor((high - low) / 2);
|
|
274
|
+
const probe = await readRecordTimestampAtAsync(handle, middle, fileSize);
|
|
275
|
+
if (probe !== null && probe.timestampMs <= thresholdMs) {
|
|
276
|
+
// Both branches move past `middle`, so a multi-megabyte record that
|
|
277
|
+
// makes every probe in a range report the same offset cannot stall the
|
|
278
|
+
// search.
|
|
279
|
+
low = Math.min(Math.max(probe.startOffset + 1, middle + 1), high);
|
|
280
|
+
continue;
|
|
281
|
+
}
|
|
282
|
+
// A probe that cannot be read (a record larger than the largest window)
|
|
283
|
+
// searches earlier: cutting early only leaks a little inherited history,
|
|
284
|
+
// while cutting late would hide the child's own conversation.
|
|
285
|
+
if (probe !== null) {
|
|
286
|
+
candidate = probe.startOffset;
|
|
287
|
+
}
|
|
288
|
+
high = middle;
|
|
289
|
+
}
|
|
290
|
+
const buffer = await readBufferAsync(handle, low, Math.min(FORK_PROBE_BYTES * 2, fileSize - low));
|
|
291
|
+
if (!buffer) {
|
|
292
|
+
return candidate;
|
|
293
|
+
}
|
|
294
|
+
let cursor = low === 0 ? 0 : buffer.indexOf(0x0a) + 1;
|
|
295
|
+
while (cursor > 0 || low === 0) {
|
|
296
|
+
if (cursor >= buffer.length) {
|
|
297
|
+
break;
|
|
298
|
+
}
|
|
299
|
+
const end = buffer.indexOf(0x0a, cursor);
|
|
300
|
+
const timestampMs = recordTimestampMs(buffer.subarray(cursor, end === -1 ? buffer.length : end));
|
|
301
|
+
if (timestampMs !== null && timestampMs > thresholdMs) {
|
|
302
|
+
return low + cursor;
|
|
303
|
+
}
|
|
304
|
+
if (end === -1) {
|
|
305
|
+
break;
|
|
306
|
+
}
|
|
307
|
+
cursor = end + 1;
|
|
308
|
+
}
|
|
309
|
+
return candidate;
|
|
310
|
+
}
|
|
311
|
+
async function readRecordTimestampAtAsync(handle, offset, fileSize) {
|
|
312
|
+
// Grow the probe when a single record is larger than the window; rollouts
|
|
313
|
+
// routinely carry multi-megabyte tool outputs.
|
|
314
|
+
for (const size of [FORK_PROBE_BYTES, FORK_PROBE_BYTES * 16, FORK_PROBE_BYTES * 64]) {
|
|
315
|
+
const buffer = await readBufferAsync(handle, offset, Math.min(size, fileSize - offset));
|
|
316
|
+
if (!buffer) {
|
|
317
|
+
return null;
|
|
318
|
+
}
|
|
319
|
+
const newlineIndex = offset === 0 ? -1 : buffer.indexOf(0x0a);
|
|
320
|
+
if (offset !== 0 && newlineIndex === -1) {
|
|
321
|
+
if (buffer.length < size) {
|
|
322
|
+
return null;
|
|
323
|
+
}
|
|
324
|
+
continue;
|
|
325
|
+
}
|
|
326
|
+
const lineStart = newlineIndex + 1;
|
|
327
|
+
const end = buffer.indexOf(0x0a, lineStart);
|
|
328
|
+
const timestampMs = recordTimestampMs(buffer.subarray(lineStart, end === -1 ? buffer.length : end));
|
|
329
|
+
if (timestampMs === null) {
|
|
330
|
+
if (end === -1 && buffer.length === size) {
|
|
331
|
+
continue;
|
|
332
|
+
}
|
|
333
|
+
return null;
|
|
334
|
+
}
|
|
335
|
+
return { startOffset: offset + lineStart, timestampMs };
|
|
336
|
+
}
|
|
337
|
+
return null;
|
|
338
|
+
}
|
|
339
|
+
function recordTimestampMs(line) {
|
|
340
|
+
if (line.length === 0) {
|
|
341
|
+
return null;
|
|
342
|
+
}
|
|
343
|
+
const record = parseJsonLine(line.toString('utf8'));
|
|
344
|
+
const timestamp = Date.parse(readNonEmptyString(record?.timestamp) ?? '');
|
|
345
|
+
return Number.isFinite(timestamp) ? timestamp : null;
|
|
346
|
+
}
|
|
347
|
+
async function readBufferAsync(handle, offset, length) {
|
|
348
|
+
if (length <= 0) {
|
|
349
|
+
return null;
|
|
350
|
+
}
|
|
351
|
+
const buffer = Buffer.alloc(length);
|
|
352
|
+
let total = 0;
|
|
353
|
+
while (total < length) {
|
|
354
|
+
const { bytesRead } = await handle.read(buffer, total, length - total, offset + total);
|
|
355
|
+
if (bytesRead === 0) {
|
|
356
|
+
break;
|
|
357
|
+
}
|
|
358
|
+
total += bytesRead;
|
|
359
|
+
}
|
|
360
|
+
return total > 0 ? buffer.subarray(0, total) : null;
|
|
109
361
|
}
|
|
110
362
|
function compareSubagents(a, b) {
|
|
111
363
|
const aWorking = a.state === 'working' ? 0 : 1;
|
|
@@ -116,11 +368,15 @@ function compareSubagents(a, b) {
|
|
|
116
368
|
// ISO-8601 sorts lexicographically; unknown timestamps sink to the bottom.
|
|
117
369
|
return (b.updatedAt ?? '').localeCompare(a.updatedAt ?? '');
|
|
118
370
|
}
|
|
371
|
+
function isMissingPathError(error) {
|
|
372
|
+
return typeof error === 'object' && error !== null &&
|
|
373
|
+
'code' in error && error.code === 'ENOENT';
|
|
374
|
+
}
|
|
119
375
|
// --- Claude parents ---
|
|
120
376
|
async function listClaudeSubagents(source, options) {
|
|
121
377
|
const [native, cross] = await Promise.all([
|
|
122
|
-
listClaudeNativeSubagents(source, options)
|
|
123
|
-
listClaudeCrossCodexSubagents(source, options)
|
|
378
|
+
listClaudeNativeSubagents(source, options),
|
|
379
|
+
listClaudeCrossCodexSubagents(source, options)
|
|
124
380
|
]);
|
|
125
381
|
return [...native, ...cross];
|
|
126
382
|
}
|
|
@@ -130,8 +386,11 @@ async function listClaudeNativeSubagents(source, options) {
|
|
|
130
386
|
try {
|
|
131
387
|
entries = await readdir(subagentsDir, { withFileTypes: true });
|
|
132
388
|
}
|
|
133
|
-
catch {
|
|
134
|
-
|
|
389
|
+
catch (error) {
|
|
390
|
+
if (isMissingPathError(error)) {
|
|
391
|
+
return [];
|
|
392
|
+
}
|
|
393
|
+
throw error;
|
|
135
394
|
}
|
|
136
395
|
const transcripts = [];
|
|
137
396
|
for (const entry of entries) {
|
|
@@ -161,6 +420,7 @@ async function listClaudeNativeSubagents(source, options) {
|
|
|
161
420
|
description: truncateDescription(meta?.description ?? null),
|
|
162
421
|
model: null,
|
|
163
422
|
spawnDepth: meta?.spawnDepth ?? 1,
|
|
423
|
+
parentId: meta?.parentAgentId ?? null,
|
|
164
424
|
state,
|
|
165
425
|
updatedAt: new Date(fileStat.mtimeMs).toISOString(),
|
|
166
426
|
hasTranscript: true,
|
|
@@ -188,7 +448,8 @@ async function readClaudeSubagentMeta(metaPath) {
|
|
|
188
448
|
return {
|
|
189
449
|
agentType: readNonEmptyString(record.agentType),
|
|
190
450
|
description: readNonEmptyString(record.description),
|
|
191
|
-
spawnDepth
|
|
451
|
+
spawnDepth,
|
|
452
|
+
parentAgentId: readNonEmptyString(record.parentAgentId)
|
|
192
453
|
};
|
|
193
454
|
}
|
|
194
455
|
async function listClaudeCrossCodexSubagents(source, options) {
|
|
@@ -219,6 +480,7 @@ async function listClaudeCrossCodexSubagents(source, options) {
|
|
|
219
480
|
description: truncateDescription(detail?.firstUserMessage ?? null),
|
|
220
481
|
model: detail?.model ?? null,
|
|
221
482
|
spawnDepth: 1,
|
|
483
|
+
parentId: null,
|
|
222
484
|
state,
|
|
223
485
|
updatedAt: new Date(fileStat.mtimeMs).toISOString(),
|
|
224
486
|
hasTranscript: true,
|
|
@@ -342,8 +604,8 @@ async function readCodexSessionMeta(filePath, threadId) {
|
|
|
342
604
|
// --- Codex parents ---
|
|
343
605
|
async function listCodexSubagents(source, options) {
|
|
344
606
|
const [fromDb, fromRollout] = await Promise.all([
|
|
345
|
-
listCodexSubagentsFromStateDb(source, options)
|
|
346
|
-
listCodexSubagentsFromRollout(source, options)
|
|
607
|
+
listCodexSubagentsFromStateDb(source, options),
|
|
608
|
+
listCodexSubagentsFromRollout(source, options)
|
|
347
609
|
]);
|
|
348
610
|
const byId = new Map();
|
|
349
611
|
// DB rows carry richer metadata (nickname, model, prompt), but when the
|
|
@@ -409,9 +671,15 @@ async function listCodexSubagentsFromStateDb(source, options) {
|
|
|
409
671
|
provider: 'codex',
|
|
410
672
|
kind: 'native',
|
|
411
673
|
name: row.role ? `${name} (${row.role})` : name,
|
|
412
|
-
|
|
674
|
+
// first_user_message on a teammate row is the parent prompt it forked
|
|
675
|
+
// with, which the transcript no longer shows — describing the row by its
|
|
676
|
+
// place in the agent tree keeps the list and the conversation in sync.
|
|
677
|
+
description: truncateDescription(row.agentPath || row.firstUserMessage || null),
|
|
413
678
|
model: row.model || null,
|
|
414
679
|
spawnDepth: row.depth,
|
|
680
|
+
// A direct child's parent is the pane session itself, which is not a
|
|
681
|
+
// row in this list — report it as top level.
|
|
682
|
+
parentId: row.parentId && row.parentId !== source.sessionId ? row.parentId : null,
|
|
415
683
|
state,
|
|
416
684
|
updatedAt: fileStat
|
|
417
685
|
? new Date(fileStat.mtimeMs).toISOString()
|
|
@@ -427,14 +695,14 @@ async function listCodexSubagentsFromStateDb(source, options) {
|
|
|
427
695
|
}
|
|
428
696
|
function codexDescendantsSql(threadId) {
|
|
429
697
|
return [
|
|
430
|
-
'WITH RECURSIVE descendants(id, depth, status) AS (',
|
|
431
|
-
` SELECT child_thread_id, 1, status FROM thread_spawn_edges WHERE parent_thread_id = ${sqlString(threadId)}`,
|
|
698
|
+
'WITH RECURSIVE descendants(id, parent, depth, status) AS (',
|
|
699
|
+
` SELECT child_thread_id, parent_thread_id, 1, status FROM thread_spawn_edges WHERE parent_thread_id = ${sqlString(threadId)}`,
|
|
432
700
|
' UNION ALL',
|
|
433
|
-
' SELECT e.child_thread_id, d.depth + 1, e.status',
|
|
701
|
+
' SELECT e.child_thread_id, e.parent_thread_id, d.depth + 1, e.status',
|
|
434
702
|
' FROM thread_spawn_edges e JOIN descendants d ON e.parent_thread_id = d.id',
|
|
435
703
|
' WHERE d.depth < 6',
|
|
436
704
|
')',
|
|
437
|
-
"SELECT t.id || char(9) || d.depth || char(9) || d.status || char(9) || COALESCE(t.agent_nickname, '')",
|
|
705
|
+
"SELECT t.id || char(9) || d.parent || char(9) || d.depth || char(9) || d.status || char(9) || COALESCE(t.agent_nickname, '')",
|
|
438
706
|
" || char(9) || COALESCE(t.agent_path, '') || char(9) || COALESCE(t.agent_role, '')",
|
|
439
707
|
" || char(9) || COALESCE(t.model, '') || char(9) || COALESCE(t.updated_at_ms, t.updated_at * 1000, 0)",
|
|
440
708
|
` || char(9) || substr(replace(replace(COALESCE(t.first_user_message, ''), char(9), ' '), char(10), ' '), 1, ${DESCRIPTION_LIMIT})`,
|
|
@@ -451,10 +719,10 @@ function parseCodexThreadRow(line) {
|
|
|
451
719
|
return null;
|
|
452
720
|
}
|
|
453
721
|
const parts = trimmed.split('\t');
|
|
454
|
-
if (parts.length <
|
|
722
|
+
if (parts.length < 11) {
|
|
455
723
|
return null;
|
|
456
724
|
}
|
|
457
|
-
const [id, depthRaw, edgeStatus, nickname, agentPath, role, model, updatedRaw, firstUserMessage, ...rolloutParts] = parts;
|
|
725
|
+
const [id, parentId, depthRaw, edgeStatus, nickname, agentPath, role, model, updatedRaw, firstUserMessage, ...rolloutParts] = parts;
|
|
458
726
|
if (!id || !isSessionId(id)) {
|
|
459
727
|
return null;
|
|
460
728
|
}
|
|
@@ -465,6 +733,7 @@ function parseCodexThreadRow(line) {
|
|
|
465
733
|
const rolloutPath = rolloutParts.join('\t');
|
|
466
734
|
return {
|
|
467
735
|
id,
|
|
736
|
+
parentId: parentId ?? '',
|
|
468
737
|
depth: Number.isInteger(depth) && depth > 0 ? depth : 1,
|
|
469
738
|
edgeStatus: edgeStatus ?? '',
|
|
470
739
|
nickname: nickname ?? '',
|
|
@@ -516,6 +785,8 @@ async function listCodexSubagentsFromRollout(source, options) {
|
|
|
516
785
|
description: info.agentPath ? truncateDescription(info.agentPath) : null,
|
|
517
786
|
model: null,
|
|
518
787
|
spawnDepth: agentPathDepth(info.agentPath),
|
|
788
|
+
// Rollout activity events only name direct children of this thread.
|
|
789
|
+
parentId: null,
|
|
519
790
|
state,
|
|
520
791
|
updatedAt: fileStat ? new Date(fileStat.mtimeMs).toISOString() : null,
|
|
521
792
|
hasTranscript: filePath !== null && fileStat !== null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagentSources.js","sourceRoot":"","sources":["../../../src/server/terminal/subagentSources.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subagentSources.js","sourceRoot":"","sources":["../../../src/server/terminal/subagentSources.ts"],"names":[],"mappings":"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"}
|