import init, { Tracker, generate_entropy } from "./lytics_core.js";
let tracker = null;
self.onmessage = async (ev) => {
const m = ev.data || {};
try {
if (m.type === "init") {
await init();
const entropy = m.entropy || generate_entropy();
tracker = new Tracker(entropy, m.identityDomain, m.hrp);
self.postMessage({ type: "ready", neuron: tracker.neuron, entropy });
} else if (m.type === "build") {
if (!tracker) throw new Error("core not initialised");
const json = tracker.build_event(...m.args, m.target);
self.postMessage({ type: "built", id: m.id, json });
}
} catch (e) {
self.postMessage({ type: "error", id: m.id, message: String((e && e.message) || e) });
}
};