nterminal 1.3.3 → 1.3.5

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 (114) hide show
  1. package/bin/nterminal.js +8 -3
  2. package/dist/client/assets/MarkdownPreview-BIrwUAaa.js +1 -0
  3. package/dist/client/assets/TranscriptMarkdownBody-CI0ztvMX.js +3 -0
  4. package/dist/client/assets/{index-DDCpqDNb.js → index-EN8ngMgv.js} +1 -1
  5. package/dist/client/assets/index-JQJ1Eet1.js +58 -0
  6. package/dist/client/assets/index-xkL4h3qt.css +1 -0
  7. package/dist/client/index.html +2 -2
  8. package/dist/scripts/hooks.js +83 -0
  9. package/dist/scripts/hooks.js.map +1 -0
  10. package/dist/server/accounts/accountService.d.ts +23 -1
  11. package/dist/server/accounts/accountService.js +235 -103
  12. package/dist/server/accounts/accountService.js.map +1 -1
  13. package/dist/server/accounts/providerRequests.d.ts +12 -0
  14. package/dist/server/accounts/providerRequests.js +159 -0
  15. package/dist/server/accounts/providerRequests.js.map +1 -0
  16. package/dist/server/agent/agentRoutes.js +11 -0
  17. package/dist/server/agent/agentRoutes.js.map +1 -1
  18. package/dist/server/hooks/helperJournal.d.ts +16 -0
  19. package/dist/server/hooks/helperJournal.js +74 -0
  20. package/dist/server/hooks/helperJournal.js.map +1 -0
  21. package/dist/server/hooks/hookBinding.d.ts +39 -0
  22. package/dist/server/hooks/hookBinding.js +91 -0
  23. package/dist/server/hooks/hookBinding.js.map +1 -0
  24. package/dist/server/hooks/hookFiles.d.ts +24 -0
  25. package/dist/server/hooks/hookFiles.js +160 -0
  26. package/dist/server/hooks/hookFiles.js.map +1 -0
  27. package/dist/server/hooks/hookInstallation.d.ts +79 -0
  28. package/dist/server/hooks/hookInstallation.js +978 -0
  29. package/dist/server/hooks/hookInstallation.js.map +1 -0
  30. package/dist/server/hooks/hookProcess.d.ts +5 -0
  31. package/dist/server/hooks/hookProcess.js +85 -0
  32. package/dist/server/hooks/hookProcess.js.map +1 -0
  33. package/dist/server/hooks/hookReceiver.d.ts +66 -0
  34. package/dist/server/hooks/hookReceiver.js +549 -0
  35. package/dist/server/hooks/hookReceiver.js.map +1 -0
  36. package/dist/server/hooks/lifecycle.d.ts +40 -0
  37. package/dist/server/hooks/lifecycle.js +200 -0
  38. package/dist/server/hooks/lifecycle.js.map +1 -0
  39. package/dist/server/hooks/publicationLock.d.ts +3 -0
  40. package/dist/server/hooks/publicationLock.js +137 -0
  41. package/dist/server/hooks/publicationLock.js.map +1 -0
  42. package/dist/server/hooks/verifiedLock.d.ts +24 -0
  43. package/dist/server/hooks/verifiedLock.js +207 -0
  44. package/dist/server/hooks/verifiedLock.js.map +1 -0
  45. package/dist/server/http.d.ts +4 -0
  46. package/dist/server/http.js +6 -0
  47. package/dist/server/http.js.map +1 -1
  48. package/dist/server/index.js +69 -2
  49. package/dist/server/index.js.map +1 -1
  50. package/dist/server/notifications/agentCompletionMonitor.d.ts +16 -1
  51. package/dist/server/notifications/agentCompletionMonitor.js +261 -47
  52. package/dist/server/notifications/agentCompletionMonitor.js.map +1 -1
  53. package/dist/server/notifications/completionNotificationRouter.d.ts +2 -0
  54. package/dist/server/notifications/completionNotificationRouter.js +9 -0
  55. package/dist/server/notifications/completionNotificationRouter.js.map +1 -1
  56. package/dist/server/routes/accountRoutes.js +11 -0
  57. package/dist/server/routes/accountRoutes.js.map +1 -1
  58. package/dist/server/routes/activityRoutes.d.ts +13 -0
  59. package/dist/server/routes/activityRoutes.js +165 -0
  60. package/dist/server/routes/activityRoutes.js.map +1 -0
  61. package/dist/server/routes/agentManagementRoutes.js +8 -1
  62. package/dist/server/routes/agentManagementRoutes.js.map +1 -1
  63. package/dist/server/routes/hookRoutes.d.ts +16 -0
  64. package/dist/server/routes/hookRoutes.js +77 -0
  65. package/dist/server/routes/hookRoutes.js.map +1 -0
  66. package/dist/server/routes/terminalRoutes.js +4 -0
  67. package/dist/server/routes/terminalRoutes.js.map +1 -1
  68. package/dist/server/routes/transcriptQuery.d.ts +2 -1
  69. package/dist/server/routes/transcriptQuery.js +3 -1
  70. package/dist/server/routes/transcriptQuery.js.map +1 -1
  71. package/dist/server/terminal/PtyAdapter.d.ts +18 -0
  72. package/dist/server/terminal/PtyAdapter.js.map +1 -1
  73. package/dist/server/terminal/TerminalManager.d.ts +61 -0
  74. package/dist/server/terminal/TerminalManager.js +665 -12
  75. package/dist/server/terminal/TerminalManager.js.map +1 -1
  76. package/dist/server/terminal/TmuxPtyAdapter.d.ts +14 -2
  77. package/dist/server/terminal/TmuxPtyAdapter.js +104 -16
  78. package/dist/server/terminal/TmuxPtyAdapter.js.map +1 -1
  79. package/dist/server/terminal/activityChannel.d.ts +57 -0
  80. package/dist/server/terminal/activityChannel.js +166 -0
  81. package/dist/server/terminal/activityChannel.js.map +1 -0
  82. package/dist/server/terminal/agentTranscriptStatus.d.ts +12 -0
  83. package/dist/server/terminal/agentTranscriptStatus.js +78 -7
  84. package/dist/server/terminal/agentTranscriptStatus.js.map +1 -1
  85. package/dist/server/terminal/codexTranscriptSource.d.ts +2 -0
  86. package/dist/server/terminal/codexTranscriptSource.js +53 -46
  87. package/dist/server/terminal/codexTranscriptSource.js.map +1 -1
  88. package/dist/server/terminal/subagentSources.js +2 -1
  89. package/dist/server/terminal/subagentSources.js.map +1 -1
  90. package/dist/server/terminal/transcriptHeader.d.ts +85 -0
  91. package/dist/server/terminal/transcriptHeader.js +376 -0
  92. package/dist/server/terminal/transcriptHeader.js.map +1 -0
  93. package/dist/server/terminal/transcriptHistory.d.ts +16 -2
  94. package/dist/server/terminal/transcriptHistory.js +120 -21
  95. package/dist/server/terminal/transcriptHistory.js.map +1 -1
  96. package/dist/server/terminal/transcriptStore.d.ts +6 -0
  97. package/dist/server/terminal/transcriptStore.js +222 -26
  98. package/dist/server/terminal/transcriptStore.js.map +1 -1
  99. package/dist/shared/activityProbe.d.ts +10 -0
  100. package/dist/shared/activityProbe.js +24 -0
  101. package/dist/shared/activityProbe.js.map +1 -0
  102. package/dist/shared/protocol.d.ts +45 -0
  103. package/dist/shared/protocol.js.map +1 -1
  104. package/dist/shared/types.d.ts +9 -1
  105. package/docs/features.md +10 -0
  106. package/docs/provider-hooks.md +287 -0
  107. package/docs/terminal-history.md +10 -0
  108. package/package.json +2 -1
  109. package/scripts/nterminal-hook.cjs +171 -0
  110. package/scripts/nterminalctl +26 -2
  111. package/dist/client/assets/MarkdownPreview-CWK2qIZp.js +0 -1
  112. package/dist/client/assets/TranscriptMarkdownBody-Ddi-rw6X.js +0 -3
  113. package/dist/client/assets/index-CcAQThtj.js +0 -56
  114. package/dist/client/assets/index-DTTX24tu.css +0 -1
@@ -0,0 +1,166 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ export const activityMaxMessageBytes = 1024 * 1024;
3
+ export const activityMaxTerminals = 2048;
4
+ const maxRemoteSources = 100;
5
+ const maxJournalFrames = 256;
6
+ const maxJournalBytes = 4 * activityMaxMessageBytes;
7
+ const maxJournalAgeMs = 24 * 60 * 60 * 1000;
8
+ export class TerminalActivityChannel {
9
+ source;
10
+ listeners = new Set();
11
+ remote = new Map();
12
+ unsubscribe;
13
+ epoch = randomUUID();
14
+ sequence = 0;
15
+ journal = [];
16
+ journalBytes = 0;
17
+ constructor(source) {
18
+ this.source = source;
19
+ this.unsubscribe = source.subscribeActivity(terminal => this.emit({
20
+ type: 'activity', version: 1, agentId: null, initial: false, terminals: [terminal]
21
+ }));
22
+ }
23
+ /** Pass this method through the monitor's onActivity callback. */
24
+ publish(agentId, terminals, initial) {
25
+ if (!this.remote.has(agentId) && this.remote.size >= maxRemoteSources)
26
+ throw new Error('activity source limit');
27
+ const next = new Map(initial ? [] : this.remote.get(agentId));
28
+ for (const terminal of terminals) {
29
+ // Exit deltas remain replayable without accumulating in retained snapshots.
30
+ if (!initial && terminal.status === 'exited')
31
+ next.delete(terminal.id);
32
+ else
33
+ next.set(terminal.id, terminal);
34
+ }
35
+ // Bound retained snapshots as well as individual delta frames.
36
+ encodeActivityMessage({ type: 'activity', version: 1, agentId, initial: true, terminals: [...next.values()] });
37
+ this.remote.set(agentId, next);
38
+ this.emit({ type: 'activity', version: 1, agentId, initial, terminals });
39
+ }
40
+ removeAgent(agentId) {
41
+ // Forget configuration metadata without inventing an empty remote snapshot.
42
+ this.remote.delete(agentId);
43
+ for (let index = this.journal.length - 1; index >= 0; index--) {
44
+ if (this.journal[index].message.agentId === agentId) {
45
+ this.journalBytes -= this.journal[index].bytes;
46
+ this.journal.splice(index, 1);
47
+ }
48
+ }
49
+ }
50
+ snapshots(localOnly = false) {
51
+ const local = {
52
+ type: 'activity', version: 1, agentId: null, initial: true, terminals: this.source.listTerminals()
53
+ };
54
+ return [local, ...(localOnly ? [] : [...this.remote].map(([agentId, terminals]) => ({
55
+ type: 'activity', version: 1, agentId, initial: true, terminals: [...terminals.values()]
56
+ })))];
57
+ }
58
+ get cursor() { return `${this.epoch}:${this.sequence}`; }
59
+ replay(cursor, localOnly = false) {
60
+ this.pruneJournal();
61
+ const [epoch, rawSequence] = cursor.split(':');
62
+ const sequence = Number(rawSequence);
63
+ if (epoch !== this.epoch || !/^\d+$/.test(rawSequence ?? '') || !Number.isSafeInteger(sequence)
64
+ || sequence > this.sequence || sequence < (this.journal[0]?.sequence ?? this.sequence + 1) - 1)
65
+ return null;
66
+ return this.journal.filter(entry => entry.sequence > sequence && (!localOnly || entry.message.agentId === null))
67
+ .map(entry => entry.message);
68
+ }
69
+ subscribe(listener, localOnly = false) {
70
+ const filtered = (message) => {
71
+ if (!localOnly || message.agentId === null)
72
+ listener(message);
73
+ };
74
+ this.listeners.add(filtered);
75
+ return () => { this.listeners.delete(filtered); };
76
+ }
77
+ dispose() {
78
+ this.unsubscribe();
79
+ this.listeners.clear();
80
+ this.remote.clear();
81
+ this.journal.length = 0;
82
+ this.journalBytes = 0;
83
+ }
84
+ emit(message) {
85
+ this.sequence++;
86
+ message = { ...message, cursor: this.cursor };
87
+ try {
88
+ const data = encodeActivityMessage(message);
89
+ message = JSON.parse(data);
90
+ const bytes = Buffer.byteLength(data);
91
+ this.journal.push({ sequence: this.sequence, message, bytes, at: Date.now() });
92
+ this.journalBytes += bytes;
93
+ this.pruneJournal();
94
+ }
95
+ catch {
96
+ // An unsendable event creates a gap; never replay across missing metadata.
97
+ this.journal.length = 0;
98
+ this.journalBytes = 0;
99
+ }
100
+ for (const listener of this.listeners) {
101
+ try {
102
+ listener(message);
103
+ }
104
+ catch { /* Isolate transports from terminal lifecycle delivery. */ }
105
+ }
106
+ }
107
+ pruneJournal() {
108
+ const cutoff = Date.now() - maxJournalAgeMs;
109
+ while (this.journal.length && (this.journal.length > maxJournalFrames || this.journalBytes > maxJournalBytes
110
+ || this.journal[0].at < cutoff))
111
+ this.journalBytes -= this.journal.shift().bytes;
112
+ }
113
+ }
114
+ export function parseActivityMessage(value) {
115
+ if (!value || typeof value !== 'object')
116
+ return null;
117
+ const message = value;
118
+ if (message.type !== 'activity' || message.version !== 1 || typeof message.initial !== 'boolean'
119
+ || !(message.agentId === null || validId(message.agentId))
120
+ || (message.cursor !== undefined && !validActivityCursor(message.cursor))
121
+ || !Array.isArray(message.terminals) || message.terminals.length > activityMaxTerminals
122
+ || !message.terminals.every(validActivityTerminal))
123
+ return null;
124
+ return message;
125
+ }
126
+ export function validActivityCursor(value) {
127
+ return typeof value === 'string' && value.length <= 128 && /^[a-f0-9-]+:\d+$/.test(value);
128
+ }
129
+ export function parseActivityFrame(value) {
130
+ if (value && typeof value === 'object' && value.type === 'activity.ready') {
131
+ const ready = value;
132
+ return ready.version === 1 && validActivityCursor(ready.cursor) && ['snapshot', 'resume', 'gap'].includes(ready.mode) ? ready : null;
133
+ }
134
+ return parseActivityMessage(value);
135
+ }
136
+ export function validActivityTerminal(value) {
137
+ if (!value || typeof value !== 'object')
138
+ return false;
139
+ const terminal = value;
140
+ if (!validId(terminal.id) || typeof terminal.title !== 'string' || typeof terminal.cwd !== 'string'
141
+ || !['running', 'exited'].includes(terminal.status))
142
+ return false;
143
+ const status = terminal.agentStatus;
144
+ if (!status)
145
+ return true;
146
+ if (!['codex', 'claude'].includes(status.provider) || !['working', 'finishing', 'waiting', 'done', 'stopped', 'idle', 'unknown'].includes(status.state)
147
+ || (status.epoch !== undefined && !validId(status.epoch))
148
+ || (status.revision !== undefined && (!Number.isSafeInteger(status.revision) || status.revision < 0)))
149
+ return false;
150
+ const completion = status.completion;
151
+ return completion === undefined || (completion !== null && validId(completion.id)
152
+ && ['finished', 'stopped'].includes(completion.outcome) && typeof completion.occurredAt === 'string'
153
+ && completion.occurredAt.length <= 128 && Number.isFinite(Date.parse(completion.occurredAt)));
154
+ }
155
+ function validId(value) {
156
+ return typeof value === 'string' && value.length > 0 && value.length <= 256;
157
+ }
158
+ export function encodeActivityMessage(message) {
159
+ if (!parseActivityFrame(message))
160
+ throw new Error('invalid activity message');
161
+ const data = JSON.stringify(message);
162
+ if (Buffer.byteLength(data) > activityMaxMessageBytes)
163
+ throw new Error('activity message too large');
164
+ return data;
165
+ }
166
+ //# sourceMappingURL=activityChannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activityChannel.js","sourceRoot":"","sources":["../../../src/server/terminal/activityChannel.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,21 @@ type AgentCache = NonNullable<TerminalSummary['agentCache']>;
5
5
  export interface AgentTranscriptSnapshot {
6
6
  status: AgentStatus;
7
7
  cache: AgentCache | null;
8
+ completion?: AgentTranscriptCompletion;
9
+ }
10
+ /** Observed turn-end evidence, not a successful task/goal outcome. */
11
+ export interface AgentTranscriptCompletion {
12
+ id: string;
13
+ occurredAt: string;
14
+ kind: 'turn_complete' | 'turn_aborted';
15
+ pending: boolean;
16
+ promptId?: string;
17
+ turnId?: string;
8
18
  }
9
19
  export declare function readAgentTranscriptStatus(source: PtyTranscriptSource): AgentStatus;
10
20
  export declare function readAgentTranscriptSnapshot(source: PtyTranscriptSource): AgentTranscriptSnapshot;
21
+ /** Bounded hook reconciliation read; never advances the incremental tracker. */
22
+ export declare function readAgentTranscriptConfirmation(source: PtyTranscriptSource): Promise<AgentTranscriptCompletion | undefined>;
11
23
  export declare class AgentTranscriptTracker {
12
24
  private readonly tracked;
13
25
  readStatus(terminalId: string, source: PtyTranscriptSource): Promise<AgentStatus>;
@@ -2,6 +2,7 @@ import { closeSync, fstatSync, openSync, readSync, statSync } from 'node:fs';
2
2
  import { open as openFile, stat as statFile } from 'node:fs/promises';
3
3
  import { StringDecoder } from 'node:string_decoder';
4
4
  const TRANSCRIPT_TAIL_BYTES = 512 * 1024;
5
+ const CONFIRMATION_TAIL_BYTES = 128 * 1024;
5
6
  // Bound work per terminal/poll without skipping bytes. Large
6
7
  // tool results are consumed over subsequent polls so lifecycle markers are
7
8
  // never discarded merely because the JSONL grew quickly.
@@ -30,6 +31,14 @@ export function readAgentTranscriptStatus(source) {
30
31
  export function readAgentTranscriptSnapshot(source) {
31
32
  return inspectTranscriptTail(source);
32
33
  }
34
+ /** Bounded hook reconciliation read; never advances the incremental tracker. */
35
+ export async function readAgentTranscriptConfirmation(source) {
36
+ const tail = await readTailAsync(source.filePath, undefined, CONFIRMATION_TAIL_BYTES);
37
+ if (tail.remainder.trim() || tail.leadingFragmentContinues)
38
+ return;
39
+ // Only complete structured rows can establish ownership and completion.
40
+ return inspectLines(source, { status: createAgentStatus(source, 'unknown'), cache: null }, tail.lines).completion;
41
+ }
33
42
  export class AgentTranscriptTracker {
34
43
  tracked = new Map();
35
44
  async readStatus(terminalId, source) {
@@ -81,6 +90,8 @@ export class AgentTranscriptTracker {
81
90
  snapshot = inspectOversizedLineMetadata(source, snapshot, '', tail.leadingFragment, true);
82
91
  }
83
92
  snapshot = inspectLines(source, snapshot, tail.lines);
93
+ if (tail.remainder.trim() || tail.leadingFragmentContinues)
94
+ snapshot = withoutCompletion(snapshot);
84
95
  this.tracked.set(terminalId, {
85
96
  identity: sourceIdentity(source),
86
97
  dev: stat.dev,
@@ -106,7 +117,8 @@ function inspectTranscriptTail(source) {
106
117
  if (tail.leadingFragment && !tail.leadingFragmentContinues) {
107
118
  snapshot = inspectOversizedLineMetadata(source, snapshot, '', tail.leadingFragment, true);
108
119
  }
109
- return inspectLines(source, snapshot, tail.lines);
120
+ snapshot = inspectLines(source, snapshot, tail.lines);
121
+ return tail.remainder.trim() || tail.leadingFragmentContinues ? withoutCompletion(snapshot) : snapshot;
110
122
  }
111
123
  function inspectLines(source, current, lines) {
112
124
  if (source.provider === 'codex') {
@@ -153,7 +165,8 @@ function consumeAppendedText(source, tracked, appendedText) {
153
165
  tracked.remainderBytes = 0;
154
166
  cursor = newline + 1;
155
167
  }
156
- return completeLines.length > 0 ? inspectLines(source, tracked.snapshot, completeLines) : tracked.snapshot;
168
+ const snapshot = completeLines.length > 0 ? inspectLines(source, tracked.snapshot, completeLines) : tracked.snapshot;
169
+ return tracked.remainder.trim() || tracked.oversizedLine ? withoutCompletion(snapshot) : snapshot;
157
170
  }
158
171
  function createOversizedLine(initial, fragment) {
159
172
  return {
@@ -186,6 +199,9 @@ function joinSuffix(initial, fragment) {
186
199
  return initial.slice(-(OVERSIZED_LINE_SUFFIX_CHARS - fragment.length)) + fragment;
187
200
  }
188
201
  function inspectOversizedLineMetadata(source, current, prefix, suffix, allowMissingType) {
202
+ // A bounded fragment cannot establish top-level ownership or completion.
203
+ // It may contain newer activity, so never carry old completion through it.
204
+ current = withoutCompletion(current);
189
205
  const recordType = readJsonStringProperty(prefix, 'type');
190
206
  if (source.provider === 'claude') {
191
207
  if (recordType === 'user') {
@@ -229,6 +245,7 @@ function readLastJsonStringProperty(text, property) {
229
245
  function inspectCodexLines(source, lines, current) {
230
246
  let state = current.status.state;
231
247
  let cache = current.cache;
248
+ let completion = current.completion;
232
249
  for (const line of lines) {
233
250
  const value = parseJsonLine(line);
234
251
  if (!value) {
@@ -243,14 +260,22 @@ function inspectCodexLines(source, lines, current) {
243
260
  // turn; a later task_complete/turn_aborted marker still wins below.
244
261
  if (value.type === 'response_item' || value.type === 'turn_context') {
245
262
  state = 'working';
263
+ completion = undefined;
246
264
  }
247
265
  if (value.type === 'event_msg') {
248
266
  const payload = isJsonObject(value.payload) ? value.payload : null;
249
267
  const payloadType = payload?.type;
268
+ if (payloadType === 'task_complete' || payloadType === 'task_completed' || payloadType === 'turn_aborted') {
269
+ completion = readCompletion(source, value, payloadType === 'turn_aborted' ? 'turn_aborted' : 'turn_complete', false, payload?.turn_id);
270
+ }
271
+ else if (payloadType === 'task_started' || payloadType === 'user_message' ||
272
+ payloadType === 'agent_message' || payloadType === 'agent_reasoning') {
273
+ completion = undefined;
274
+ }
250
275
  if (payloadType === 'task_started') {
251
276
  state = 'working';
252
277
  }
253
- else if (payloadType === 'task_complete') {
278
+ else if (payloadType === 'task_complete' || payloadType === 'task_completed') {
254
279
  state = 'done';
255
280
  }
256
281
  else if (payloadType === 'turn_aborted') {
@@ -258,11 +283,12 @@ function inspectCodexLines(source, lines, current) {
258
283
  }
259
284
  }
260
285
  }
261
- return { status: createAgentStatus(source, state), cache };
286
+ return { status: createAgentStatus(source, state), cache, ...(completion ? { completion } : {}) };
262
287
  }
263
288
  function inspectClaudeLines(source, lines, current) {
264
289
  let state = current.status.state;
265
290
  let cache = current.cache;
291
+ let completion = current.completion;
266
292
  for (const line of lines) {
267
293
  const value = parseJsonLine(line);
268
294
  if (!value) {
@@ -272,6 +298,17 @@ function inspectClaudeLines(source, lines, current) {
272
298
  if (nextCache) {
273
299
  cache = nextCache;
274
300
  }
301
+ const foreign = value.isSidechain === true || value.agentId !== undefined ||
302
+ (value.sessionId !== undefined && value.sessionId !== source.sessionId);
303
+ if (!foreign) {
304
+ if (value.type === 'system' && value.subtype === 'turn_duration') {
305
+ completion = readClaudeCompletion(source, value);
306
+ }
307
+ else if (value.type === 'user' || value.type === 'assistant') {
308
+ // Even text-only assistant continuation invalidates prior evidence.
309
+ completion = undefined;
310
+ }
311
+ }
275
312
  // Claude writes both operator prompts and tool results as user rows.
276
313
  // Either means the current agent turn is active; the following assistant
277
314
  // stop reason determines its terminal outcome.
@@ -295,7 +332,41 @@ function inspectClaudeLines(source, lines, current) {
295
332
  }
296
333
  }
297
334
  }
298
- return { status: createAgentStatus(source, state), cache };
335
+ return { status: createAgentStatus(source, state), cache, ...(completion ? { completion } : {}) };
336
+ }
337
+ function withoutCompletion(snapshot) {
338
+ if (!snapshot.completion)
339
+ return snapshot;
340
+ const { completion, ...rest } = snapshot;
341
+ return rest;
342
+ }
343
+ function readClaudeCompletion(source, record) {
344
+ // Claude 2.1.283's tot()/insertMessageChain(): JSONL uses camel-case
345
+ // counts and an explicit main-session envelope, unlike stream-json frames.
346
+ if (record.sessionId !== source.sessionId || record.isSidechain !== false || record.agentId !== undefined ||
347
+ typeof record.durationMs !== 'number' || !Number.isSafeInteger(record.durationMs) || record.durationMs < 0)
348
+ return;
349
+ const counts = [record.pendingBackgroundAgentCount, record.pendingWorkflowCount];
350
+ if (counts.some(count => count !== undefined && (typeof count !== 'number' || !Number.isSafeInteger(count) || count < 0)))
351
+ return;
352
+ return readCompletion(source, record, 'turn_complete', counts.some(count => typeof count === 'number' && count > 0));
353
+ }
354
+ function readCompletion(source, record, kind, pending, turnId) {
355
+ const occurredAt = readString(record.timestamp);
356
+ if (!occurredAt || occurredAt.length > 128 || !parseTranscriptTimestamp(occurredAt))
357
+ return;
358
+ const uuid = record.uuid;
359
+ const promptId = record.promptId;
360
+ for (const id of [uuid, promptId, turnId]) {
361
+ if (id !== undefined && (typeof id !== 'string' || !id.trim() || id.length > 256))
362
+ return;
363
+ }
364
+ return {
365
+ id: JSON.stringify([source.provider, source.sessionId, kind, uuid ?? turnId ?? null, occurredAt]),
366
+ occurredAt, kind, pending,
367
+ ...(typeof promptId === 'string' ? { promptId } : {}),
368
+ ...(typeof turnId === 'string' ? { turnId } : {})
369
+ };
299
370
  }
300
371
  function createAgentStatus(source, state) {
301
372
  return { provider: source.provider, sessionId: source.sessionId, state };
@@ -324,11 +395,11 @@ function readTail(filePath, knownSize) {
324
395
  closeSync(fd);
325
396
  }
326
397
  }
327
- async function readTailAsync(filePath, knownSize) {
398
+ async function readTailAsync(filePath, knownSize, maxBytes = TRANSCRIPT_TAIL_BYTES) {
328
399
  const handle = await openFile(filePath, 'r');
329
400
  try {
330
401
  const size = knownSize ?? (await handle.stat()).size;
331
- const start = Math.max(0, size - TRANSCRIPT_TAIL_BYTES);
402
+ const start = Math.max(0, size - maxBytes);
332
403
  const { buffer } = await readRangeFromHandle(handle, start, size - start);
333
404
  const decoder = new StringDecoder('utf8');
334
405
  const text = decoder.write(buffer);
@@ -1 +1 @@
1
- {"version":3,"file":"agentTranscriptStatus.js","sourceRoot":"","sources":["../../../src/server/terminal/agentTranscriptStatus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentTranscriptStatus.js","sourceRoot":"","sources":["../../../src/server/terminal/agentTranscriptStatus.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export interface CodexDaemonLookupOptions {
24
24
  procRoot?: string;
25
25
  processStartedAtSeconds?: number | null;
26
26
  runSqlite?: RunSqlite;
27
+ bypassCache?: boolean;
27
28
  readUnixSocketTable?: () => Promise<string | null>;
28
29
  }
29
30
  export declare function clearCodexTranscriptLookupCache(): void;
@@ -41,5 +42,6 @@ export declare function processBinding(procRoot: string, pids: number[]): Promis
41
42
  export declare function lookupCodexTranscriptFromOpenFds(pid: number, options?: CodexOpenFdLookupOptions): Promise<CodexTranscriptLookup>;
42
43
  export declare function lookupCodexTranscriptFromDaemonOrLogs(pid: number, options?: CodexDaemonLookupOptions): Promise<CodexTranscriptLookup>;
43
44
  export declare function resolveCodexTranscriptCandidates(pid: number, options?: CodexDaemonLookupOptions): Promise<PtyTranscriptCandidates>;
45
+ export declare function codexSessionCreatedAtMs(sessionId: string): number | null;
44
46
  export declare function sqlString(value: string): string;
45
47
  export {};