From e146eb113218192fbceeb45b02191cf767cc63fb Mon Sep 17 00:00:00 2001 From: Thomas Steiner Date: Wed, 4 Jun 2025 18:06:42 +0200 Subject: [PATCH] Add Built-in AI APIs --- dist/fugu-apis.js | 65 ++++++++++++++++++++++++++++++++++++++++++++++- package-lock.json | 8 +++--- package.json | 2 +- 3 files changed, 69 insertions(+), 6 deletions(-) diff --git a/dist/fugu-apis.js b/dist/fugu-apis.js index 006c607..b3c35d2 100644 --- a/dist/fugu-apis.js +++ b/dist/fugu-apis.js @@ -748,6 +748,69 @@ const patterns = { blinkFeatureID: 3902, chromeStatusID: 5741247866077184, }, + 'Prompt': { + regEx: /LanguageModel\.create\s*\(/g, + where: 'JavaScript', + supported: (async () => 'LanguageModel' in self)(), + featureDetection: `(async () => 'LanguageModel' in self)()`, + documentation: 'https://developer.chrome.com/docs/ai/prompt-api', + blinkFeatureID: 5405, + chromeStatusID: 5134603979063296, + }, + 'Summarizer': { + regEx: /Summarizer\.create\s*\(/g, + where: 'JavaScript', + supported: (async () => 'Summarizer' in self)(), + featureDetection: `(async () => 'Summarizer' in self)()`, + documentation: 'https://developer.chrome.com/docs/ai/summarizer-api', + blinkFeatureID: 5445, + chromeStatusID: 5193953788559360, + }, + 'Writer': { + regEx: /Writer\.create\s*\(/g, + where: 'JavaScript', + supported: (async () => 'Writer' in self)(), + featureDetection: `(async () => 'Writer' in self)()`, + documentation: 'https://developer.chrome.com/docs/ai/writer-api', + blinkFeatureID: 5417, + chromeStatusID: 4712595362414592, + }, + 'Rewriter': { + regEx: /Rewriter\.create\s*\(/g, + where: 'JavaScript', + supported: (async () => 'Rewriter' in self)(), + featureDetection: `(async () => 'Rewriter' in self)()`, + documentation: 'https://developer.chrome.com/docs/ai/rewriter-api', + blinkFeatureID: 5431, + chromeStatusID: 5112320150470656, + }, + 'Proofreader': { + regEx: /Proofreader\.create\s*\(/g, + where: 'JavaScript', + supported: (async () => 'Proofreader' in self)(), + featureDetection: `(async () => 'Proofreader' in self)()`, + documentation: 'https://github.com/webmachinelearning/proofreader-api', + blinkFeatureID: 5567, + chromeStatusID: 5164677291835392, + }, + 'Translator': { + regEx: /Translator\.create\s*\(/g, + where: 'JavaScript', + supported: (async () => 'Translator' in self)(), + featureDetection: `(async () => 'Translator' in self)()`, + documentation: 'https://developer.chrome.com/docs/ai/translator-api', + blinkFeatureID: 5392, + chromeStatusID: 5172811302961152, + }, + 'LanguageDetector': { + regEx: /LanguageDetector\.create\s*\(/g, + where: 'JavaScript', + supported: (async () => 'LanguageDetector' in self)(), + featureDetection: `(async () => 'LanguageDetector' in self)()`, + documentation: 'https://developer.chrome.com/docs/ai/language-detection', + blinkFeatureID: 5401, + chromeStatusID: 6494349985841152, + }, }; const responseBodies = $WPT_BODIES; @@ -763,7 +826,7 @@ const checkURLConditions = (where, url, mimeType, responseBody) => { // (https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#textjavascript). if ( where === "JavaScript" && - /.m?js/.test(url) && + /\.m?js/.test(url) && mimeType.toLowerCase().endsWith("script") ) { return true; diff --git a/package-lock.json b/package-lock.json index 94295b1..b0f2c54 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "Apache-2.0", "devDependencies": { - "fugu-api-data": "^1.20.0", + "fugu-api-data": "^1.21.0", "jest": "^29.7.0", "webpagetest": "github:HTTPArchive/WebPageTest.api-nodejs" } @@ -1850,9 +1850,9 @@ } }, "node_modules/fugu-api-data": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/fugu-api-data/-/fugu-api-data-1.20.0.tgz", - "integrity": "sha512-1pLCOhfjl7w/VbKy24WSK/vj97mn+ct92XqyHyBcTamLBfK4A10R3yZJt7g7uAiexF/8B5ftaFqBX0ixp9CzSg==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/fugu-api-data/-/fugu-api-data-1.21.0.tgz", + "integrity": "sha512-YbFg7i131M4mLZftOj7pHZESI4Zd/tC5F6+C9/C+ZNfoo3m2zC7Qy3KzPHY31Ia+4CQtNR2q+sMLyAuTUgI1aA==", "dev": true, "license": "Apache-2.0" }, diff --git a/package.json b/package.json index b0ab8d2..49a3b15 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "homepage": "https://github.com/HTTPArchive/custom-metrics#readme", "devDependencies": { - "fugu-api-data": "^1.20.0", + "fugu-api-data": "^1.21.0", "jest": "^29.7.0", "webpagetest": "github:HTTPArchive/WebPageTest.api-nodejs" },