import type { Command } from "commander"; import { buildParseArgv } from "../argv.js"; import { resolveActionArgs } from "./helpers.js"; export async function reparseProgramFromActionArgs( program: Command, actionArgs: unknown[], ): Promise { const actionCommand = actionArgs.at(-1) as Command | undefined; const root = actionCommand?.parent ?? program; const rawArgs = (root as Command & { rawArgs?: string[] }).rawArgs; const actionArgsList = resolveActionArgs(actionCommand); const fallbackArgv = actionCommand?.name() ? [actionCommand.name(), ...actionArgsList] : actionArgsList; const parseArgv = buildParseArgv({ programName: program.name(), rawArgs, fallbackArgv, }); await program.parseAsync(parseArgv); }