MCPcopy
hub / github.com/openai/codex-plugin-cc / applyTurnNotification

Function applyTurnNotification

plugins/codex/scripts/lib/codex.mjs:490–557  ·  view source on GitHub ↗
(state, message)

Source from the content-addressed store, hash-verified

488}
489
490function applyTurnNotification(state, message) {
491 switch (message.method) {
492 case "thread/started":
493 registerThread(state, message.params.thread.id, {
494 threadName: message.params.thread.name,
495 name: message.params.thread.name,
496 agentNickname: message.params.thread.agentNickname,
497 agentRole: message.params.thread.agentRole
498 });
499 break;
500 case "thread/name/updated":
501 registerThread(state, message.params.threadId, {
502 threadName: message.params.threadName ?? null
503 });
504 break;
505 case "turn/started":
506 registerThread(state, message.params.threadId);
507 state.threadTurnIds.set(message.params.threadId, message.params.turn.id);
508 if ((message.params.threadId ?? null) !== state.threadId) {
509 state.activeSubagentTurns.add(message.params.threadId);
510 }
511 emitProgress(
512 state.onProgress,
513 `Turn started (${message.params.turn.id}).`,
514 "starting",
515 (message.params.threadId ?? null) === state.threadId
516 ? {
517 threadId: message.params.threadId ?? null,
518 turnId: message.params.turn.id ?? null
519 }
520 : {}
521 );
522 break;
523 case "item/started":
524 recordItem(state, message.params.item, "started", message.params.threadId ?? null);
525 {
526 const update = describeStartedItem(state, message.params.item);
527 emitProgress(state.onProgress, update?.message, update?.phase ?? null);
528 }
529 break;
530 case "item/completed":
531 recordItem(state, message.params.item, "completed", message.params.threadId ?? null);
532 {
533 const update = describeCompletedItem(state, message.params.item);
534 emitProgress(state.onProgress, update?.message, update?.phase ?? null);
535 }
536 break;
537 case "error":
538 state.error = message.params.error;
539 emitProgress(state.onProgress, `Codex error: ${message.params.error.message}`, "failed");
540 break;
541 case "turn/completed":
542 if ((message.params.threadId ?? null) !== state.threadId) {
543 state.activeSubagentTurns.delete(message.params.threadId);
544 scheduleInferredCompletion(state);
545 break;
546 }
547 emitProgress(

Callers 1

captureTurnFunction · 0.85

Calls 7

registerThreadFunction · 0.85
emitProgressFunction · 0.85
recordItemFunction · 0.85
describeStartedItemFunction · 0.85
describeCompletedItemFunction · 0.85
completeTurnFunction · 0.85

Tested by

no test coverage detected