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

Function handleTask

plugins/codex/scripts/codex-companion.mjs:762–823  ·  view source on GitHub ↗
(argv)

Source from the content-addressed store, hash-verified

760}
761
762async function handleTask(argv) {
763 const { options, positionals } = parseCommandInput(argv, {
764 valueOptions: ["model", "effort", "cwd", "prompt-file"],
765 booleanOptions: ["json", "write", "resume-last", "resume", "fresh", "background"],
766 aliasMap: {
767 m: "model"
768 }
769 });
770
771 const cwd = resolveCommandCwd(options);
772 const workspaceRoot = resolveCommandWorkspace(options);
773 const model = normalizeRequestedModel(options.model);
774 const effort = normalizeReasoningEffort(options.effort);
775 const prompt = readTaskPrompt(cwd, options, positionals);
776
777 const resumeLast = Boolean(options["resume-last"] || options.resume);
778 const fresh = Boolean(options.fresh);
779 if (resumeLast && fresh) {
780 throw new Error("Choose either --resume/--resume-last or --fresh.");
781 }
782 const write = Boolean(options.write);
783 const taskMetadata = buildTaskRunMetadata({
784 prompt,
785 resumeLast
786 });
787
788 if (options.background) {
789 ensureCodexAvailable(cwd);
790 requireTaskRequest(prompt, resumeLast);
791
792 const job = buildTaskJob(workspaceRoot, taskMetadata, write);
793 const request = buildTaskRequest({
794 cwd,
795 model,
796 effort,
797 prompt,
798 write,
799 resumeLast,
800 jobId: job.id
801 });
802 const { payload } = enqueueBackgroundTask(cwd, job, request);
803 outputCommandResult(payload, renderQueuedTaskLaunch(payload), options.json);
804 return;
805 }
806
807 const job = buildTaskJob(workspaceRoot, taskMetadata, write);
808 await runForegroundCommand(
809 job,
810 (progress) =>
811 executeTaskRun({
812 cwd,
813 model,
814 effort,
815 prompt,
816 write,
817 resumeLast,
818 jobId: job.id,
819 onProgress: progress

Callers 1

mainFunction · 0.85

Calls 15

parseCommandInputFunction · 0.85
resolveCommandCwdFunction · 0.85
resolveCommandWorkspaceFunction · 0.85
normalizeRequestedModelFunction · 0.85
normalizeReasoningEffortFunction · 0.85
readTaskPromptFunction · 0.85
buildTaskRunMetadataFunction · 0.85
ensureCodexAvailableFunction · 0.85
requireTaskRequestFunction · 0.85
buildTaskJobFunction · 0.85
buildTaskRequestFunction · 0.85
enqueueBackgroundTaskFunction · 0.85

Tested by

no test coverage detected