MCPcopy Index your code
hub / github.com/openai/codex-plugin-cc / executeTaskRun

Function executeTaskRun

plugins/codex/scripts/codex-companion.mjs:461–530  ·  view source on GitHub ↗
(request)

Source from the content-addressed store, hash-verified

459
460
461async function executeTaskRun(request) {
462 const workspaceRoot = resolveWorkspaceRoot(request.cwd);
463 ensureCodexAvailable(request.cwd);
464
465 const taskMetadata = buildTaskRunMetadata({
466 prompt: request.prompt,
467 resumeLast: request.resumeLast
468 });
469
470 let resumeThreadId = null;
471 if (request.resumeLast) {
472 const latestThread = await resolveLatestTrackedTaskThread(workspaceRoot, {
473 excludeJobId: request.jobId
474 });
475 if (!latestThread) {
476 throw new Error("No previous Codex task thread was found for this repository.");
477 }
478 resumeThreadId = latestThread.id;
479 }
480
481 if (!request.prompt && !resumeThreadId) {
482 throw new Error("Provide a prompt, a prompt file, piped stdin, or use --resume-last.");
483 }
484
485 const result = await runAppServerTurn(workspaceRoot, {
486 resumeThreadId,
487 prompt: request.prompt,
488 defaultPrompt: resumeThreadId ? DEFAULT_CONTINUE_PROMPT : "",
489 model: request.model,
490 effort: request.effort,
491 sandbox: request.write ? "workspace-write" : "read-only",
492 onProgress: request.onProgress,
493 persistThread: true,
494 threadName: resumeThreadId ? null : buildPersistentTaskThreadName(request.prompt || DEFAULT_CONTINUE_PROMPT)
495 });
496
497 const rawOutput = typeof result.finalMessage === "string" ? result.finalMessage : "";
498 const failureMessage = result.error?.message ?? result.stderr ?? "";
499 const rendered = renderTaskResult(
500 {
501 rawOutput,
502 failureMessage,
503 reasoningSummary: result.reasoningSummary
504 },
505 {
506 title: taskMetadata.title,
507 jobId: request.jobId ?? null,
508 write: Boolean(request.write)
509 }
510 );
511 const payload = {
512 status: result.status,
513 threadId: result.threadId,
514 rawOutput,
515 touchedFiles: result.touchedFiles,
516 reasoningSummary: result.reasoningSummary
517 };
518

Callers 2

handleTaskFunction · 0.85
handleTaskWorkerFunction · 0.85

Calls 8

resolveWorkspaceRootFunction · 0.90
runAppServerTurnFunction · 0.90
renderTaskResultFunction · 0.90
ensureCodexAvailableFunction · 0.85
buildTaskRunMetadataFunction · 0.85
firstMeaningfulLineFunction · 0.85

Tested by

no test coverage detected