import ArgumentParser struct DecryptCommand: AsyncParsableCommand { static let commandName = "decrypt" static let configuration = CommandConfiguration( commandName: commandName, abstract: createAbstract("Decrypt a vault file.") ) @OptionGroup var options: VaultOptions @Option( name: .shortAndLong, help: "Output file." ) var output: String? mutating func run() async throws { var args = ["decrypt"] if let output { args.append(contentsOf: ["--output", output]) } try await runVault( commandName: Self.commandName, options: options, args ) } }