const assert = require('node:assert/strict'); const path = require('node:path'); const esbuild = require('../huobao-source/desktop/node_modules/esbuild'); const out = path.resolve(__dirname,'../integration-work/test-local-adapter.cjs'); esbuild.buildSync({entryPoints:[path.resolve(__dirname,'../huobao-source/backend/src/services/adapters/local-video.ts')],outfile:out,bundle:true,platform:'node',format:'cjs'}); const {LocalVideoAdapter} = require(out); const a = new LocalVideoAdapter(); const cfg={id:1,provider:'localvideo',baseUrl:'http://example.test',apiKey:'test-key'}; const record={prompt:'A mountain lake.',duration:5,aspectRatio:'16:9',resolution:'720p'}; for(const model of ['MiniMax-H3','MiniMax-H3-Hybrid','MiniMax-H3-R2V-4Step','LTX-2.3','LTX-2.3-Text-Preserve','Wan2.2-I2V']) { const r=a.buildGenerateRequest(cfg,{...record,model}); assert.equal(r.body.model,model); assert.equal(r.body.resolution,'720P'); assert.equal(r.url,'http://example.test/v2/video_generation'); } const hd=a.buildGenerateRequest(cfg,{...record,model:'MiniMax-H3-VDN-H3',resolution:'4K',seed:41}); assert.equal(hd.body.model,'MiniMax-H3-VDN-H3'); assert.equal(hd.body.resolution,'4K');assert.equal(hd.body.seed,41); assert.throws(()=>a.buildGenerateRequest(cfg,{...record,model:'LTX-2.3',resolution:'4K'})); assert.throws(()=>a.buildGenerateRequest(cfg,{...record,model:'not-a-model'})); assert.equal(a.parsePollResponse({task:{status:'succeeded',content:{url:'http://example.test/result.mp4'}}}).status,'completed'); console.log('PASS: six existing models and dedicated VDN 4K request/polling');