@enderfga/claw-orchestrator 4.11.0 → 4.12.1

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 (36) hide show
  1. package/README.md +5 -5
  2. package/dist/src/base-oneshot-session.d.ts +28 -0
  3. package/dist/src/base-oneshot-session.js +51 -6
  4. package/dist/src/base-oneshot-session.js.map +1 -1
  5. package/dist/src/index.js +7 -0
  6. package/dist/src/index.js.map +1 -1
  7. package/dist/src/openai-compat.d.ts +25 -2
  8. package/dist/src/openai-compat.js +84 -15
  9. package/dist/src/openai-compat.js.map +1 -1
  10. package/dist/src/persistent-agy-session.d.ts +13 -8
  11. package/dist/src/persistent-agy-session.js +107 -26
  12. package/dist/src/persistent-agy-session.js.map +1 -1
  13. package/dist/src/persistent-codex-app-session.d.ts +13 -0
  14. package/dist/src/persistent-codex-app-session.js +26 -2
  15. package/dist/src/persistent-codex-app-session.js.map +1 -1
  16. package/dist/src/persistent-codex-session.d.ts +45 -0
  17. package/dist/src/persistent-codex-session.js +115 -5
  18. package/dist/src/persistent-codex-session.js.map +1 -1
  19. package/dist/src/persistent-cursor-session.d.ts +8 -0
  20. package/dist/src/persistent-cursor-session.js +24 -0
  21. package/dist/src/persistent-cursor-session.js.map +1 -1
  22. package/dist/src/persistent-opencode-session.d.ts +10 -0
  23. package/dist/src/persistent-opencode-session.js +28 -2
  24. package/dist/src/persistent-opencode-session.js.map +1 -1
  25. package/dist/src/persistent-session.d.ts +13 -5
  26. package/dist/src/persistent-session.js +23 -10
  27. package/dist/src/persistent-session.js.map +1 -1
  28. package/dist/src/types.d.ts +30 -4
  29. package/dist/src/types.js +16 -4
  30. package/dist/src/types.js.map +1 -1
  31. package/package.json +1 -1
  32. package/skills/references/autoloop.md +7 -0
  33. package/skills/references/multi-engine.md +8 -4
  34. package/skills/references/openai-compat.md +3 -3
  35. package/skills/references/sessions.md +8 -0
  36. package/skills/references/tools.md +1 -0
@@ -253,8 +253,14 @@ export function parseToolCallsFromText(text) {
253
253
  * Serialize tool result messages into a text block for the CLI model.
254
254
  * Converts OpenAI `tool` role messages into <tool_result> tags.
255
255
  */
256
- export function serializeToolResults(messages) {
257
- const toolMessages = messages.filter((m) => m.role === 'tool');
256
+ export function serializeToolResults(messages, latestRoundOnly = false) {
257
+ // On a thread that already holds the conversation, every tool result before the engine's most
258
+ // recent assistant turn is already in the transcript. Re-serializing them costs the whole
259
+ // history again on every hop, so the prompt grows quadratically across a tool loop: with a
260
+ // 30k-character batch per round, hop 10 re-sends ~300k characters of results the engine has
261
+ // already seen. Scoping to the results that answer the latest round is what keeps it linear.
262
+ const scoped = latestRoundOnly ? messages.slice(messages.map((m) => m.role).lastIndexOf('assistant') + 1) : messages;
263
+ const toolMessages = scoped.filter((m) => m.role === 'tool');
258
264
  if (!toolMessages.length)
259
265
  return '';
260
266
  const results = toolMessages
@@ -288,7 +294,14 @@ export function serializeToolResults(messages) {
288
294
  * The env var is read on every call so ops can flip it via launchctl setenv
289
295
  * without restarting the server.
290
296
  */
291
- export function extractUserMessage(messages, headers) {
297
+ export function extractUserMessage(messages, headers,
298
+ /**
299
+ * Whether the engine's conversation already holds everything up to the caller's latest tool
300
+ * round. Only meaningful for engines that resume a native conversation and only once the
301
+ * conversation id has been captured — see nativeThreadIsLive(). Defaults to false so any caller
302
+ * that cannot establish that keeps the previous behaviour of sending every result.
303
+ */
304
+ threadHasHistory = false) {
292
305
  if (!messages || messages.length === 0) {
293
306
  throw new Error('messages array is empty');
294
307
  }
@@ -315,7 +328,7 @@ export function extractUserMessage(messages, headers) {
315
328
  // and the old tool results are already in the CLI's history.
316
329
  const lastNonSystem = [...messages].reverse().find((m) => m.role !== 'system');
317
330
  if (lastNonSystem?.role === 'tool') {
318
- const toolResultBlock = serializeToolResults(messages);
331
+ const toolResultBlock = serializeToolResults(messages, threadHasHistory);
319
332
  const userMessages = messages.filter((m) => m.role === 'user');
320
333
  const lastUserText = userMessages.length > 0 ? textOf(userMessages[userMessages.length - 1]) : '';
321
334
  const userMessage = lastUserText ? `${toolResultBlock}\n\n${lastUserText}` : toolResultBlock;
@@ -376,6 +389,31 @@ export function formatCompletionChunk(id, model, delta, finishReason) {
376
389
  choices: [{ index: 0, delta, finish_reason: finishReason }],
377
390
  };
378
391
  }
392
+ /**
393
+ * Whether the engine's native conversation is known to exist for this session.
394
+ *
395
+ * `!needsCreate` only says the session is in the manager's map, which is not the same thing:
396
+ * `start()` does not spawn a process, the conversation id is captured later (codex sets it on
397
+ * `thread.started`, agy harvests it from the log after the first turn), and a send that fails
398
+ * before that point leaves the session in the map with no id at all.
399
+ *
400
+ * The distinction matters wherever we decide to send a short reminder instead of the full state,
401
+ * because a reminder that refers to a conversation the engine never created is silently wrong —
402
+ * the request still returns 200.
403
+ */
404
+ export function nativeThreadIsLive(engine, stats) {
405
+ switch (engine) {
406
+ case 'codex':
407
+ case 'codex-app':
408
+ return !!stats.codexThreadId;
409
+ case 'agy':
410
+ return !!stats.agyConversationId;
411
+ default:
412
+ // claude and persistent custom engines hold their context in a live process, so there is no
413
+ // separate id to check — being in the map is the strongest signal available.
414
+ return true;
415
+ }
416
+ }
379
417
  export async function handleChatCompletion(manager, body, headers, res) {
380
418
  // Validate before casting
381
419
  if (!body.messages || !Array.isArray(body.messages) || body.messages.length === 0) {
@@ -408,18 +446,30 @@ export async function handleChatCompletion(manager, body, headers, res) {
408
446
  const sessionKey = resolveSessionKey(request, headers);
409
447
  const sessionName = sessionNameFromKey(sessionKey);
410
448
  const isStreaming = request.stream === true;
449
+ // Resolved before extracting, because the extraction needs to know whether the engine's
450
+ // conversation already holds the earlier tool results. In the tool-loop branch
451
+ // `isNewConversation` is always false, so there `needsCreate` reduces to `!sessionExists` and
452
+ // this is the same predicate the create path uses further down.
453
+ const existingSessions = manager.listSessions().map((s) => s.name);
454
+ const sessionExists = existingSessions.includes(sessionName);
455
+ let threadHasHistory = false;
456
+ if (sessionExists && engineHasNativeConversation(engine)) {
457
+ try {
458
+ threadHasHistory = nativeThreadIsLive(engine, manager.getStatus(sessionName).stats);
459
+ }
460
+ catch {
461
+ threadHasHistory = false;
462
+ }
463
+ }
411
464
  let extracted;
412
465
  try {
413
- extracted = extractUserMessage(request.messages, headers);
466
+ extracted = extractUserMessage(request.messages, headers, threadHasHistory);
414
467
  }
415
468
  catch (err) {
416
469
  res.writeHead(400, { 'Content-Type': 'application/json' });
417
470
  res.end(JSON.stringify({ error: { message: err.message, type: 'invalid_request_error' } }));
418
471
  return;
419
472
  }
420
- // Check if session exists
421
- const existingSessions = manager.listSessions().map((s) => s.name);
422
- const sessionExists = existingSessions.includes(sessionName);
423
473
  // If new conversation detected and session exists, stop old one first
424
474
  if (extracted.isNewConversation && sessionExists) {
425
475
  try {
@@ -493,13 +543,23 @@ export async function handleChatCompletion(manager, body, headers, res) {
493
543
  }
494
544
  }
495
545
  // For non-claude engines (Cursor, Codex, Gemini), their CLIs don't support
496
- // --append-system-prompt. Prepend the upstream system prompt to the user
497
- // message on EVERY turn so the model sees the caller's identity, tool
498
- // definitions, and workspace context. This is done here (not at session
499
- // creation) because these engines spawn a fresh CLI process per turn —
500
- // there's no persistent session to carry the system prompt forward.
546
+ // --append-system-prompt, so the upstream system prompt is prepended to the user message here
547
+ // rather than at session creation: these engines spawn a fresh CLI process per turn, and for the
548
+ // ones that start from nothing each time the prepend is the only thing carrying the caller's
549
+ // identity, tool definitions and workspace context forward.
550
+ //
551
+ // For the engines that resume a conversation, though, the process being fresh does not mean the
552
+ // context is: the prompt is already in the transcript from the turn that put it there, so
553
+ // repeating it adds a full copy per hop. This block predates the native-conversation distinction
554
+ // and was not revisited when `schemasAlreadyInThread` introduced it a few lines below.
555
+ //
556
+ // Gated on the same predicate as the tool reminder, which also covers the case that makes this
557
+ // risky: `agy` recovers its conversation id by matching the log of a third-party CLI, and without
558
+ // that id every later send silently starts a fresh conversation. Today the unconditional prepend
559
+ // hides that. `nativeThreadIsLive()` returns false exactly when the id is missing, so those turns
560
+ // keep receiving the full prompt instead of losing their identity quietly.
501
561
  let userMessage = extracted.userMessage;
502
- if (extracted.systemPrompt && engine !== 'claude') {
562
+ if (extracted.systemPrompt && engine !== 'claude' && !threadHasHistory) {
503
563
  userMessage = `<system>\n${extracted.systemPrompt}\n</system>\n\n${userMessage}`;
504
564
  }
505
565
  // Inject tool definitions into the user message.
@@ -541,7 +601,16 @@ export async function handleChatCompletion(manager, body, headers, res) {
541
601
  const perMessageMode = isToolsPerMessageModeEnabled();
542
602
  const injectToolsPerTurn = hasTools && (engine !== 'claude' || perMessageMode);
543
603
  if (injectToolsPerTurn) {
544
- const schemasAlreadyInThread = !needsCreate && !perMessageMode && engineHasNativeConversation(engine);
604
+ let schemasAlreadyInThread = false;
605
+ if (!needsCreate && !perMessageMode && engineHasNativeConversation(engine)) {
606
+ try {
607
+ schemasAlreadyInThread = nativeThreadIsLive(engine, manager.getStatus(sessionName).stats);
608
+ }
609
+ catch {
610
+ // getStatus throws once the session is gone from the map; that is not a live thread.
611
+ schemasAlreadyInThread = false;
612
+ }
613
+ }
545
614
  const toolBlock = schemasAlreadyInThread ? buildToolReminderBlock() : buildToolPromptBlock(request.tools);
546
615
  userMessage = `${toolBlock}\n\n${userMessage}`;
547
616
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openai-compat.js","sourceRoot":"","sources":["../../src/openai-compat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-compat.js","sourceRoot":"","sources":["../../src/openai-compat.ts"],"names":[],"mappings":"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"}
@@ -5,18 +5,23 @@
5
5
  * Gemini CLI stopped serving 2026-06-18). Like Codex/Gemini, each send()
6
6
  * spawns a new `agy` process in print mode.
7
7
  *
8
- * agy (verified against 1.0.16) has NO structured output mode — stdout is
9
- * the plain response text. Two behaviors make this a real engine rather
10
- * than a custom-engine recipe:
8
+ * agy speaks `--output-format stream-json` (verified against 1.1.13): one JSON
9
+ * object per line, with an `init` event carrying the conversation id, progress
10
+ * `step_update` events, and a final `result` carrying the response text and
11
+ * real token usage. Three behaviors make this a real engine rather than a
12
+ * custom-engine recipe:
11
13
  *
12
- * - Conversation continuity: agy logs `Created conversation <uuid>` to
13
- * its log file. We pass a private --log-file per session, harvest the
14
- * ID after the first send, and pass `--conversation <id>` on subsequent
15
- * sends — true multi-turn context, like Codex thread resume.
14
+ * - Conversation continuity: the id arrives on the `init` event and is passed
15
+ * back as `--conversation <id>` on later sends — true multi-turn context,
16
+ * like Codex thread resume. The --log-file scrape is kept only as a fallback
17
+ * for a turn that dies before emitting any event.
18
+ * - Real usage: input/output/cache-read tokens come from the `result` event,
19
+ * so cost is measured rather than guessed. Earlier versions of this wrapper
20
+ * read plain text and estimated ~4 chars/token, which is now only the
21
+ * fallback path when no result event arrives.
16
22
  * - Timeout coherence: agy enforces its own --print-timeout (default 5m);
17
23
  * we derive it from the send timeout so the two never disagree.
18
24
  *
19
- * Token usage is estimated (~4 chars/token) since agy emits no usage data.
20
25
  * Unknown --model values do not error — agy silently falls back to its
21
26
  * default model (verified empirically on 1.0.16).
22
27
  */
@@ -5,18 +5,23 @@
5
5
  * Gemini CLI stopped serving 2026-06-18). Like Codex/Gemini, each send()
6
6
  * spawns a new `agy` process in print mode.
7
7
  *
8
- * agy (verified against 1.0.16) has NO structured output mode — stdout is
9
- * the plain response text. Two behaviors make this a real engine rather
10
- * than a custom-engine recipe:
8
+ * agy speaks `--output-format stream-json` (verified against 1.1.13): one JSON
9
+ * object per line, with an `init` event carrying the conversation id, progress
10
+ * `step_update` events, and a final `result` carrying the response text and
11
+ * real token usage. Three behaviors make this a real engine rather than a
12
+ * custom-engine recipe:
11
13
  *
12
- * - Conversation continuity: agy logs `Created conversation <uuid>` to
13
- * its log file. We pass a private --log-file per session, harvest the
14
- * ID after the first send, and pass `--conversation <id>` on subsequent
15
- * sends — true multi-turn context, like Codex thread resume.
14
+ * - Conversation continuity: the id arrives on the `init` event and is passed
15
+ * back as `--conversation <id>` on later sends — true multi-turn context,
16
+ * like Codex thread resume. The --log-file scrape is kept only as a fallback
17
+ * for a turn that dies before emitting any event.
18
+ * - Real usage: input/output/cache-read tokens come from the `result` event,
19
+ * so cost is measured rather than guessed. Earlier versions of this wrapper
20
+ * read plain text and estimated ~4 chars/token, which is now only the
21
+ * fallback path when no result event arrives.
16
22
  * - Timeout coherence: agy enforces its own --print-timeout (default 5m);
17
23
  * we derive it from the send timeout so the two never disagree.
18
24
  *
19
- * Token usage is estimated (~4 chars/token) since agy emits no usage data.
20
25
  * Unknown --model values do not error — agy silently falls back to its
21
26
  * default model (verified empirically on 1.0.16).
22
27
  */
@@ -69,7 +74,13 @@ export class PersistentAgySession extends BaseOneShotSession {
69
74
  * Resume turns: same + `--conversation <id>`
70
75
  */
71
76
  _buildArgs(message, timeoutMs) {
72
- const args = ['-p', message, '--log-file', this._logFile];
77
+ // stream-json gives the conversation id up front, progress events while the
78
+ // turn runs, and a final `result` carrying the answer plus real token usage.
79
+ // Before this, the wrapper read plain text, scraped the id out of the log
80
+ // file, and had to ESTIMATE tokens — so this engine's cost was a guess.
81
+ // --log-file is still passed as the fallback id source for a turn that dies
82
+ // before emitting any event.
83
+ const args = ['-p', message, '--output-format', 'stream-json', '--log-file', this._logFile];
73
84
  // Permission mode. agy has no fine-grained permission flags (verified on
74
85
  // 1.0.16): bypass maps to --dangerously-skip-permissions, `default` maps
75
86
  // to --sandbox (terminal-restricted). Other modes run agy's own default
@@ -135,6 +146,8 @@ export class PersistentAgySession extends BaseOneShotSession {
135
146
  let resultText = '';
136
147
  let stderr = '';
137
148
  let settled = false;
149
+ let turnUsage;
150
+ let turnStatus;
138
151
  const proc = spawn(this.engineBin, args, {
139
152
  cwd: this.options.cwd,
140
153
  env: { ...process.env },
@@ -148,17 +161,69 @@ export class PersistentAgySession extends BaseOneShotSession {
148
161
  reject(new Error('Timeout waiting for Antigravity response'));
149
162
  }
150
163
  }, timeout);
151
- // Plain-text stdout — forward chunks as streaming text
152
- proc.stdout?.on('data', (data) => {
153
- const chunk = data.toString();
154
- resultText += chunk;
155
- try {
156
- options.callbacks?.onText?.(chunk);
164
+ // stream-json stdout: one JSON object per line. `init` carries the
165
+ // conversation id, `step_update` reports progress, and the final `result`
166
+ // carries the answer plus real usage. Anything unparseable is forwarded as
167
+ // text so a format change degrades to the old plain-text behaviour instead
168
+ // of losing the turn.
169
+ let pending = '';
170
+ const handleLine = (line, hadNewline) => {
171
+ const trimmed = line.trim();
172
+ if (!trimmed)
173
+ return;
174
+ let evt;
175
+ if (trimmed.startsWith('{')) {
176
+ try {
177
+ evt = JSON.parse(trimmed);
178
+ }
179
+ catch {
180
+ evt = undefined;
181
+ }
182
+ }
183
+ if (!evt) {
184
+ // Not JSON — agy fell back to (or never left) plain text. Put back the
185
+ // newline the line split consumed, so multi-line output is not
186
+ // concatenated into a single run.
187
+ const raw = hadNewline ? line + '\n' : line;
188
+ resultText += raw;
189
+ try {
190
+ options.callbacks?.onText?.(raw);
191
+ }
192
+ catch {
193
+ /* user callback */
194
+ }
195
+ this.emit(SESSION_EVENT.TEXT, raw);
196
+ return;
157
197
  }
158
- catch {
159
- // User callback error
198
+ if (evt.event === 'init' && evt.conversation_id && !this.agyConversationId) {
199
+ this.agyConversationId = evt.conversation_id;
160
200
  }
161
- this.emit(SESSION_EVENT.TEXT, chunk);
201
+ if (evt.event === 'result' && evt.result) {
202
+ const r = evt.result;
203
+ if (r.conversation_id && !this.agyConversationId)
204
+ this.agyConversationId = r.conversation_id;
205
+ if (typeof r.response === 'string') {
206
+ resultText = r.response;
207
+ try {
208
+ options.callbacks?.onText?.(r.response);
209
+ }
210
+ catch {
211
+ /* user callback */
212
+ }
213
+ this.emit(SESSION_EVENT.TEXT, r.response);
214
+ }
215
+ if (r.usage)
216
+ turnUsage = r.usage;
217
+ if (r.status && r.status !== 'SUCCESS')
218
+ turnStatus = r.status;
219
+ }
220
+ };
221
+ proc.stdout?.on('data', (data) => {
222
+ pending += data.toString();
223
+ const lines = pending.split('\n');
224
+ pending = lines.pop() ?? '';
225
+ for (const line of lines)
226
+ handleLine(line, true);
162
227
  });
163
228
  proc.stderr?.on('data', (data) => {
164
229
  const sanitized = sanitizeSecrets(data.toString());
@@ -168,19 +233,32 @@ export class PersistentAgySession extends BaseOneShotSession {
168
233
  proc.on('close', (code) => {
169
234
  clearTimeout(timer);
170
235
  this.currentProc = null;
171
- // Harvest BEFORE the settled check: a turn that hit the wrapper
172
- // timeout has already rejected (settled), but agy may still have
173
- // logged `Created conversation <uuid>` before being killed. Skipping
174
- // the harvest here would lose the ID permanently and every later
175
- // send would silently start a fresh conversation.
236
+ if (pending)
237
+ handleLine(pending, false);
238
+ // Harvest BEFORE the settled check: a turn that hit the wrapper timeout
239
+ // has already rejected (settled), but agy may still have announced the
240
+ // conversation before being killed. Skipping this would lose the id
241
+ // permanently and every later send would silently start fresh. The
242
+ // stream normally supplies it from the `init` event; this is the
243
+ // fallback for a turn that died before emitting one.
176
244
  this._harvestConversationId();
177
245
  if (settled)
178
246
  return;
179
247
  settled = true;
180
248
  this._recordTurnComplete();
181
249
  const text = resultText.replace(/\n$/, '');
182
- // No usage events exist in agy — always estimate
183
- if (text.length > 0 || code === 0) {
250
+ // Real usage from the `result` event. estimateTokens() is the fallback
251
+ // for a turn that produced no result event (killed, crashed, or an
252
+ // output-format change) — it is a ~4-chars-per-token guess and was the
253
+ // only source before agy grew a structured output mode, which is why
254
+ // this engine's cost figures used to be approximate.
255
+ if (turnUsage) {
256
+ this._stats.tokensIn += turnUsage.input_tokens ?? 0;
257
+ this._stats.tokensOut += turnUsage.output_tokens ?? 0;
258
+ this._stats.cachedTokens += turnUsage.cache_read_tokens ?? 0;
259
+ this._updateCost();
260
+ }
261
+ else if (text.length > 0 || code === 0) {
184
262
  this._stats.tokensIn += estimateTokens(message);
185
263
  this._stats.tokensOut += estimateTokens(text);
186
264
  this._updateCost();
@@ -189,7 +267,10 @@ export class PersistentAgySession extends BaseOneShotSession {
189
267
  const event = {
190
268
  type: 'result',
191
269
  result: text,
192
- stop_reason: code === 0 ? 'end_turn' : 'error',
270
+ // agy can exit 0 while reporting a non-SUCCESS status in the result
271
+ // event (e.g. a turn stopped early), so the status is authoritative
272
+ // when present and the exit code is the fallback.
273
+ stop_reason: (turnStatus ? turnStatus === 'SUCCESS' : code === 0) ? 'end_turn' : 'error',
193
274
  };
194
275
  this.emit(SESSION_EVENT.RESULT, event);
195
276
  this.emit(SESSION_EVENT.TURN_COMPLETE, event);
@@ -1 +1 @@
1
- {"version":3,"file":"persistent-agy-session.js","sourceRoot":"","sources":["../../src/persistent-agy-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistent-agy-session.js","sourceRoot":"","sources":["../../src/persistent-agy-session.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,10 @@ export declare class PersistentCodexAppServerSession extends EventEmitter implem
54
54
  private turnReject;
55
55
  sessionId?: string;
56
56
  private _stats;
57
+ /** This turn's own prompt size, from `tokenUsage.last` — see _estimateContextPercent(). */
58
+ private _lastTurnTokensIn;
59
+ /** The window the app-server is enforcing, from `tokenUsage.modelContextWindow`. */
60
+ private _modelContextWindow?;
57
61
  constructor(config: SessionConfig, codexBin?: string);
58
62
  get pid(): number | undefined;
59
63
  get isReady(): boolean;
@@ -136,6 +140,15 @@ export declare class PersistentCodexAppServerSession extends EventEmitter implem
136
140
  nextCursor: string | null;
137
141
  }>;
138
142
  private _addHistory;
143
+ /**
144
+ * How full the thread's context is right now.
145
+ *
146
+ * Both inputs come straight from `thread/tokenUsage/updated`: the turn's own
147
+ * prompt (`last`) and the window the server is actually enforcing. The
148
+ * registry window is only a fallback — it holds the model's published maximum
149
+ * (1.05M for gpt-5.x) while codex caps threads far below that, so measuring
150
+ * against it reads several times too low.
151
+ */
139
152
  private _estimateContextPercent;
140
153
  private _updateCost;
141
154
  }
@@ -59,6 +59,10 @@ export class PersistentCodexAppServerSession extends EventEmitter {
59
59
  costUsd: 0,
60
60
  lastActivity: null,
61
61
  };
62
+ /** This turn's own prompt size, from `tokenUsage.last` — see _estimateContextPercent(). */
63
+ _lastTurnTokensIn = 0;
64
+ /** The window the app-server is enforcing, from `tokenUsage.modelContextWindow`. */
65
+ _modelContextWindow;
62
66
  constructor(config, codexBin) {
63
67
  super();
64
68
  this.codexBin = codexBin || process.env.CODEX_BIN || 'codex';
@@ -339,6 +343,15 @@ export class PersistentCodexAppServerSession extends EventEmitter {
339
343
  this._stats.cachedTokens = p.tokenUsage.total.cachedInputTokens;
340
344
  this._updateCost();
341
345
  }
346
+ // `last` is this turn's own prompt, which for a thread-resuming engine
347
+ // is the live context occupancy; `total` only ever grows and would pin
348
+ // contextPercent at 100 on any long session.
349
+ if (typeof p.tokenUsage?.last?.inputTokens === 'number') {
350
+ this._lastTurnTokensIn = p.tokenUsage.last.inputTokens;
351
+ }
352
+ if (typeof p.tokenUsage?.modelContextWindow === 'number') {
353
+ this._modelContextWindow = p.tokenUsage.modelContextWindow;
354
+ }
342
355
  break;
343
356
  }
344
357
  case 'thread/goal/updated': {
@@ -555,11 +568,22 @@ export class PersistentCodexAppServerSession extends EventEmitter {
555
568
  if (this._history.length > MAX_HISTORY_ITEMS)
556
569
  this._history.shift();
557
570
  }
571
+ /**
572
+ * How full the thread's context is right now.
573
+ *
574
+ * Both inputs come straight from `thread/tokenUsage/updated`: the turn's own
575
+ * prompt (`last`) and the window the server is actually enforcing. The
576
+ * registry window is only a fallback — it holds the model's published maximum
577
+ * (1.05M for gpt-5.x) while codex caps threads far below that, so measuring
578
+ * against it reads several times too low.
579
+ */
558
580
  _estimateContextPercent() {
559
- const ctx = getContextWindow(this.options.model || 'gpt-5.5');
581
+ if (this._lastTurnTokensIn <= 0)
582
+ return 0;
583
+ const ctx = this._modelContextWindow ?? getContextWindow(this.options.model || 'gpt-5.5');
560
584
  if (!ctx)
561
585
  return 0;
562
- return Math.min(100, Math.round(((this._stats.tokensIn + this._stats.tokensOut) / ctx) * 100));
586
+ return Math.min(100, Math.round((this._lastTurnTokensIn / ctx) * 100));
563
587
  }
564
588
  _updateCost() {
565
589
  const pricing = getModelPricing(this.options.model, 'gpt-5.5');