Compare commits
1 Commits
48ba3ccacc
...
05b4bafd96
| Author | SHA1 | Date | |
|---|---|---|---|
| 05b4bafd96 |
|
|
@ -50,11 +50,15 @@ await page.route('**/api/agent/status', route => route.fulfill({
|
||||||
contentType: 'application/json',
|
contentType: 'application/json',
|
||||||
body: JSON.stringify({ enabled: true, configured: true, authenticated: true, mode: 'hermes-agent' }),
|
body: JSON.stringify({ enabled: true, configured: true, authenticated: true, mode: 'hermes-agent' }),
|
||||||
}));
|
}));
|
||||||
await page.route('**/api/agent/chat', route => route.fulfill({
|
let hermesCalls = 0;
|
||||||
status: 200,
|
await page.route('**/api/agent/chat', route => {
|
||||||
contentType: 'application/json',
|
hermesCalls += 1;
|
||||||
body: JSON.stringify({ connected: true, reply: 'Your confirmed logs are mostly Type 4. I can explain that pattern, but I cannot diagnose a cause.' }),
|
return route.fulfill({
|
||||||
}));
|
status: 200,
|
||||||
|
contentType: 'application/json',
|
||||||
|
body: JSON.stringify({ connected: true, reply: 'Your confirmed logs are mostly Type 4. I can explain that pattern, but I cannot diagnose a cause.' }),
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
await page.goto('http://127.0.0.1:4173', { waitUntil: 'networkidle' });
|
await page.goto('http://127.0.0.1:4173', { waitUntil: 'networkidle' });
|
||||||
await page.evaluate(() => localStorage.clear());
|
await page.evaluate(() => localStorage.clear());
|
||||||
|
|
@ -117,8 +121,13 @@ await caption('Hermes Agent connected — free-text, contextual, and server-side
|
||||||
await page.locator('#chat-message').fill('What pattern do you see?');
|
await page.locator('#chat-message').fill('What pattern do you see?');
|
||||||
await tap('#send-chat', 500);
|
await tap('#send-chat', 500);
|
||||||
await page.getByText(/mostly Type 4/i).waitFor();
|
await page.getByText(/mostly Type 4/i).waitFor();
|
||||||
await caption('Hermes keeps credentials, tools, and session continuity server-side. Photos stay out of chat.', 1800);
|
await caption('Hermes keeps credentials, tools, and session continuity server-side. Photos stay out of chat.', 1600);
|
||||||
await sleep(500);
|
await page.locator('#chat-message').fill('I have rectal bleeding');
|
||||||
|
await tap('#send-chat', 450);
|
||||||
|
await page.getByText(/Pause and get medical help/i).waitFor();
|
||||||
|
if (hermesCalls !== 1) throw new Error('Urgent chat must be intercepted before Hermes');
|
||||||
|
await caption('Urgent language is intercepted deterministically before Hermes', 1800);
|
||||||
|
await sleep(400);
|
||||||
await page.evaluate(() => {
|
await page.evaluate(() => {
|
||||||
document.querySelector('#demo-caption')?.remove();
|
document.querySelector('#demo-caption')?.remove();
|
||||||
const outro = document.createElement('div');
|
const outro = document.createElement('div');
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,8 @@ test('release demo visibly explains the CI-protected browser path without overst
|
||||||
assert.match(demo, /AI may suggest visible form, broad color, and image quality — never symptoms or diagnosis/);
|
assert.match(demo, /AI may suggest visible form, broad color, and image quality — never symptoms or diagnosis/);
|
||||||
assert.match(demo, /Hermes Agent connected/);
|
assert.match(demo, /Hermes Agent connected/);
|
||||||
assert.match(demo, /Photos stay out of chat/);
|
assert.match(demo, /Photos stay out of chat/);
|
||||||
|
assert.match(demo, /I have rectal bleeding/);
|
||||||
|
assert.match(demo, /Urgent language is intercepted deterministically before Hermes/);
|
||||||
assert.match(demo, /SLEEK\. SIMPLE\.<br>HERMES-POWERED\./);
|
assert.match(demo, /SLEEK\. SIMPLE\.<br>HERMES-POWERED\./);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user