import { threadId } from 'node:worker_threads'; import { performance } from 'node:perf_hooks'; export function compute({ rounds = 10_000_000, seed = 7 } = {}) { if (!Number.isSafeInteger(rounds) || rounds < 1 || rounds > 200_000_000) throw new RangeError('rounds: 1..200000000'); const start=performance.now(); let checksum=seed|0; for(let i=0;i16*1024*1024) throw new TypeError('ArrayBuffer <=16MiB required'); const a=new Uint8Array(buffer);let sum=0;for(const n of a)sum+=n;return {sum,bytes:a.length,threadId}; } export function summarize({values}) { if(!Array.isArray(values)||values.length>10000||values.some(n=>!Number.isFinite(n)))throw new TypeError('Finite values required'); return {count:values.length,sum:values.reduce((a,b)=>a+b,0),threadId}; } export function fail() { throw new Error('DEMO_TASK_ERROR'); } export default compute;