const fs=require('node:fs'),assert=require('node:assert/strict'),ts=require('../huobao-source/backend/node_modules/typescript'); (async()=>{ const source=fs.readFileSync('huobao-source/backend/src/services/task-progress.ts','utf8'); const code=ts.transpileModule(source,{compilerOptions:{module:ts.ModuleKind.ESNext,target:ts.ScriptTarget.ES2022}}).outputText; const {parseTaskProgress}=await import('data:text/javascript;base64,'+Buffer.from(code).toString('base64')); assert.equal(parseTaskProgress({phase:'invented',observedAt:123}),null); assert.equal(parseTaskProgress({phase:'sampling',observedAt:Infinity}),null); assert.deepEqual(parseTaskProgress({phase:'sampling',observedAt:123,step:3,totalSteps:20,api_key:'secret',historySamples:NaN,samplingMaxSeconds:-1}), {phase:'sampling',observedAt:123,step:3,totalSteps:20}); console.log('PASS: unknown phases, non-finite/negative values and unapproved payload fields rejected'); })().catch(e=>{console.error(e);process.exit(1)});