Mike0021's picture
Enable browser HTTP commands with CORS-aware errors and bounded requests
39371ea verified
Raw History Blame Contribute Delete
1.35 kB
import { chromium } from 'playwright';
import assert from 'node:assert/strict';
import fs from 'node:fs/promises';
const context = await chromium.launchPersistentContext('../validation/agent-browser-profile/dev', {
executablePath: '/usr/bin/chromium', headless: true,
args: ['--enable-unsafe-webgpu', '--use-angle=vulkan', '--enable-features=Vulkan', '--disable-vulkan-surface'],
});
try {
const page = await context.newPage();
page.on('pageerror', error => console.log('PAGEERROR', error.message));
await page.goto('http://127.0.0.1:5173/?source=local');
await page.waitForFunction(() => window.browserPi); await page.evaluate(() => window.browserPi.ready);
await page.evaluate(() => window.browserPi.load());
await page.evaluate(() => window.browserPi.rpc('new_chat'));
const state = await page.evaluate(() => window.browserPi.prompt('Use bash to calculate 17 * 23. Give the result.'));
console.log(JSON.stringify(state.messages));
assert(state.messages.some(m => m.role === 'toolResult' && m.toolName === 'bash' && !m.isError && m.content.some(c => c.text?.includes('391'))));
await fs.writeFile('../validation/agent-browser-dev.json', JSON.stringify({ passed: true, messages: state.messages }, null, 2));
console.log('Development server: real model → Pi → bash → 391 passed.');
} finally { await context.close(); }