social-agent-cli 2.2.1 → 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai/runner.ts +19 -19
- package/package.json +1 -1
package/ai/runner.ts
CHANGED
|
@@ -345,27 +345,17 @@ async function executeMapStep(
|
|
|
345
345
|
|
|
346
346
|
let uploaded = false;
|
|
347
347
|
|
|
348
|
-
//
|
|
349
|
-
//
|
|
350
|
-
|
|
351
|
-
const inputs = await page.locator('input[type="file"]').all();
|
|
352
|
-
for (const input of inputs) {
|
|
353
|
-
try {
|
|
354
|
-
await input.setInputFiles(filePath);
|
|
355
|
-
uploaded = true;
|
|
356
|
-
break;
|
|
357
|
-
} catch {}
|
|
358
|
-
}
|
|
359
|
-
} catch {}
|
|
360
|
-
|
|
361
|
-
// 2. input yoksa, fileChooser event ile butona tıkla
|
|
362
|
-
if (!uploaded && selectors.length > 0) {
|
|
348
|
+
// fileChooser event'ini ÖNCE kaydet, SONRA butona tıkla
|
|
349
|
+
// Bu sıralama kritik - yoksa OS file picker açılır
|
|
350
|
+
if (selectors.length > 0) {
|
|
363
351
|
for (const sel of selectors) {
|
|
364
352
|
try {
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
353
|
+
// Event listener'ı ÖNCE kur
|
|
354
|
+
const fileChooserPromise = page.waitForEvent("filechooser", { timeout: 5000 });
|
|
355
|
+
// SONRA butona tıkla
|
|
356
|
+
await page.click(sel);
|
|
357
|
+
// fileChooser'ı yakala ve dosyayı set et
|
|
358
|
+
const fileChooser = await fileChooserPromise;
|
|
369
359
|
await fileChooser.setFiles(filePath);
|
|
370
360
|
uploaded = true;
|
|
371
361
|
break;
|
|
@@ -373,6 +363,16 @@ async function executeMapStep(
|
|
|
373
363
|
}
|
|
374
364
|
}
|
|
375
365
|
|
|
366
|
+
// Fallback: sayfadaki input[type=file]'a direkt set et
|
|
367
|
+
if (!uploaded) {
|
|
368
|
+
try {
|
|
369
|
+
const inputs = await page.locator('input[type="file"]').all();
|
|
370
|
+
for (const input of inputs) {
|
|
371
|
+
try { await input.setInputFiles(filePath); uploaded = true; break; } catch {}
|
|
372
|
+
}
|
|
373
|
+
} catch {}
|
|
374
|
+
}
|
|
375
|
+
|
|
376
376
|
if (!uploaded) throw new Error(`Upload failed: ${filePath}`);
|
|
377
377
|
if (step.waitMs) await page.waitForTimeout(step.waitMs);
|
|
378
378
|
break;
|