import Foundation @objc(ConfigureCommand) class ConfigureCommand: NSScriptCommand { override func performDefaultImplementation() -> Any? { let args = self.directParameter as? [String: Any] ?? [:] // Here you can extract the parameters from the args dictionary and configure your settings let fps = args["fps"] as? Int let outputs = OutputFormatSetting(args["outputs"] as? String ?? "") let backend = URL(string: args["backend"] as? String ?? "") let backendOutput = OutputFormatSetting(args["backend_output"] as? String ?? "") let keepLocalFiles = args["keep_local_files"] as? Bool let config = ConfigureAction( action: "configure", fps: fps, outputs: outputs, backend: backend, backendOutput: backendOutput, keepLocalFiles: keepLocalFiles ) NotificationCenter.default.post(name: .setConfiguration, object: nil, userInfo: [ "config": config ]) NotificationCenter.default.post(name: .reloadConfiguration, object: nil, userInfo: nil) // Return a result if needed return nil } }