also you don't need "function main()", just write code.
something like this:
source = FindObject($alarm.sourceObject());
j = JsonObject();
j.set("id", $alarm.id);
j.set("state", $alarm.state);
j.set("severity", $alarm.severity);
j.set("message", $alarm.message);
j.set("source", source ? source.name : "");
j.set("eventCode", $alarm.eventCode);
j.set("eventName", $alarm.eventName);
trace(0, j.serialize());
I highly recommend you to read https://www.netxms.org/documentation/nxsl-latest/.