diff --git a/package-lock.json b/package-lock.json index 13f7e12..8115677 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@modelcontextprotocol/sdk": "^1.11.0", "commander": "^13.1.0", - "playwright": "1.53.0-alpha-2025-05-23", + "playwright": "1.53.0-alpha-2025-05-27", "zod-to-json-schema": "^3.24.4" }, "bin": { @@ -20,7 +20,7 @@ "devDependencies": { "@eslint/eslintrc": "^3.2.0", "@eslint/js": "^9.19.0", - "@playwright/test": "1.53.0-alpha-2025-05-23", + "@playwright/test": "1.53.0-alpha-2025-05-27", "@stylistic/eslint-plugin": "^3.0.1", "@types/node": "^22.13.10", "@typescript-eslint/eslint-plugin": "^8.26.1", @@ -286,13 +286,13 @@ } }, "node_modules/@playwright/test": { - "version": "1.53.0-alpha-2025-05-23", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.53.0-alpha-2025-05-23.tgz", - "integrity": "sha512-WdTIHB2I5IuBs8q/CSnjauuhm3o1sShdgO+lKCncRh0nD24PTyyUiE8yBrq4OazrX1toGHlawV1HwEIdrq+fcg==", + "version": "1.53.0-alpha-2025-05-27", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.53.0-alpha-2025-05-27.tgz", + "integrity": "sha512-G2zG56kEQOWhk3nQyPKH5u41jyQw5jx+Kga5huUi7RjBjPEnNtiCMNXMNGCh6dDYCIyQkLJvz/o1H/QN26HLsg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright": "1.53.0-alpha-2025-05-23" + "playwright": "1.53.0-alpha-2025-05-27" }, "bin": { "playwright": "cli.js" @@ -3298,12 +3298,12 @@ } }, "node_modules/playwright": { - "version": "1.53.0-alpha-2025-05-23", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.53.0-alpha-2025-05-23.tgz", - "integrity": "sha512-86hfHKdPcBAjDguEb6doNG76uj2fUbFBCCqew4/0KwOnLrpAPJ2Uyeygt+zsj2k9ok+n7NWtsbpxSmXj6kYieA==", + "version": "1.53.0-alpha-2025-05-27", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.53.0-alpha-2025-05-27.tgz", + "integrity": "sha512-CD0BTwV5javEJ3hf3rhFJEvR3ZoWsu4HUQFfLH2mtVVe+grGPCP55FnlOjpDnJ5pP4Kibe/ZcmgPDg56ic/y9g==", "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.53.0-alpha-2025-05-23" + "playwright-core": "1.53.0-alpha-2025-05-27" }, "bin": { "playwright": "cli.js" @@ -3316,9 +3316,9 @@ } }, "node_modules/playwright-core": { - "version": "1.53.0-alpha-2025-05-23", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.53.0-alpha-2025-05-23.tgz", - "integrity": "sha512-60XHM1EGJl5ugdUwMNYbmJoj6zTAAZO0Rr5OTApFwj2gqQC5vERbB6XewD8a2MbxAMXVaZThKFcABr1VZi6NkQ==", + "version": "1.53.0-alpha-2025-05-27", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.53.0-alpha-2025-05-27.tgz", + "integrity": "sha512-uVxs7YjENoBMFyQhsZWImIBuo/oX7Mu63djhQN3qFz/NdXA/rOAnP73XzfB+VJNwRMKgIOtqHQgjOG3Rl/lm0A==", "license": "Apache-2.0", "bin": { "playwright-core": "cli.js" diff --git a/package.json b/package.json index 4b1a3c4..a397b9f 100644 --- a/package.json +++ b/package.json @@ -37,13 +37,13 @@ "dependencies": { "@modelcontextprotocol/sdk": "^1.11.0", "commander": "^13.1.0", - "playwright": "1.53.0-alpha-2025-05-23", + "playwright": "1.53.0-alpha-2025-05-27", "zod-to-json-schema": "^3.24.4" }, "devDependencies": { "@eslint/eslintrc": "^3.2.0", "@eslint/js": "^9.19.0", - "@playwright/test": "1.53.0-alpha-2025-05-23", + "@playwright/test": "1.53.0-alpha-2025-05-27", "@stylistic/eslint-plugin": "^3.0.1", "@types/node": "^22.13.10", "@typescript-eslint/eslint-plugin": "^8.26.1", diff --git a/src/pageSnapshot.ts b/src/pageSnapshot.ts index 55e4b91..5f2f07d 100644 --- a/src/pageSnapshot.ts +++ b/src/pageSnapshot.ts @@ -40,9 +40,6 @@ export class PageSnapshot { } private async _build() { - // FIXME: Rountrip evaluate to ensure _snapshotForAI works. - // This probably broke once we moved off locator snapshots - await this._page.evaluate(() => 1); const snapshot = await callOnPageNoTrace(this._page, page => (page as PageEx)._snapshotForAI()); this._text = [ `- Page Snapshot`, @@ -53,6 +50,6 @@ export class PageSnapshot { } refLocator(params: { element: string, ref: string }): playwright.Locator { - return this._page.locator(`aria-ref=${params.ref}`); + return this._page.locator(`aria-ref=${params.ref}`).describe(params.element); } } diff --git a/src/tools/utils.ts b/src/tools/utils.ts index 24206e7..497b038 100644 --- a/src/tools/utils.ts +++ b/src/tools/utils.ts @@ -78,9 +78,9 @@ export function sanitizeForFilePath(s: string) { } export async function generateLocator(locator: playwright.Locator): Promise { - return (locator as any)._frame._wrapApiCall(() => (locator as any)._generateLocatorString(), true); + return (locator as any)._generateLocatorString(); } export async function callOnPageNoTrace(page: playwright.Page, callback: (page: playwright.Page) => Promise): Promise { - return await (page as any)._wrapApiCall(() => callback(page), true); + return await (page as any)._wrapApiCall(() => callback(page), { internal: true }); }