From 9041900df43a30c9cc9450bfae04396701cad701 Mon Sep 17 00:00:00 2001 From: Cynthia Long Date: Tue, 10 Mar 2026 17:27:34 +0000 Subject: [PATCH] Update browsermanager --- .../core/src/agents/browser/browserManager.ts | 37 +++++++++++-------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/packages/core/src/agents/browser/browserManager.ts b/packages/core/src/agents/browser/browserManager.ts index 0cb3a829d7..9e61262a6d 100644 --- a/packages/core/src/agents/browser/browserManager.ts +++ b/packages/core/src/agents/browser/browserManager.ts @@ -482,26 +482,33 @@ export class BrowserManager { if (!url) { return true; } + if (typeof url !== 'string') { + throw new Error('Invalid URL: URL must be a string.'); + } - // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion - const parsedUrl = new URL(url as string); - const urlHostname = parsedUrl.hostname; + try { + const parsedUrl = new URL(url); + const urlHostname = parsedUrl.hostname; - for (const domainPattern of allowedDomains) { - if (domainPattern.startsWith('*.')) { - const baseDomain = domainPattern.substring(2); - if ( - urlHostname === baseDomain || - urlHostname.endsWith(`.${baseDomain}`) - ) { - return true; - } - } else { - if (urlHostname === domainPattern) { - return true; + for (const domainPattern of allowedDomains) { + if (domainPattern.startsWith('*.')) { + const baseDomain = domainPattern.substring(2); + if ( + urlHostname === baseDomain || + urlHostname.endsWith(`.${baseDomain}`) + ) { + return true; + } + } else { + if (urlHostname === domainPattern) { + return true; + } } } + } catch { + throw new Error('Invalid URL: Malformed URL string.'); } + // If none matched, then deny return false; }