const { chromium } = require('playwright');
(async () => {
const [url, fileA, fileB] = process.argv.slice(2);
if (!url || !fileA || !fileB) throw new Error('usage: browser-sender.js <url> <fileA> <fileB>');
const browser = await chromium.launch({ headless: true });
const page = await browser.newPage();
page.on('pageerror', (e) => console.log('[page-error]', String(e).slice(0, 200)));
await page.goto(url, { waitUntil: 'networkidle' });
console.log('[pw] app loaded');
const input = page.locator('input[type=file]').first();
await input.waitFor({ state: 'attached', timeout: 60000 });
console.log('[pw] peer tile present');
await input.setInputFiles(fileA);
console.log('[pw] sent file A');
await page.getByText('complete', { exact: true }).first().waitFor({ timeout: 120000 });
console.log('[pw] file A complete in browser');
await page.waitForTimeout(5000);
await input.setInputFiles(fileB);
console.log('[pw] sent file B');
await page.getByText('complete', { exact: true }).nth(1).waitFor({ timeout: 120000 });
console.log('[pw] file B complete in browser');
await browser.close(); console.log('[pw] BROWSER SENDER DONE');
process.exit(0);
})().catch((e) => {
console.error('[pw] FAILED:', String(e).slice(0, 300));
process.exit(1);
});