@sudobility/testomniac_runner_service 0.1.113 → 0.1.115
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapter.d.ts +6 -0
- package/dist/adapter.d.ts.map +1 -1
- package/dist/orchestrator/sso-handler.d.ts +7 -4
- package/dist/orchestrator/sso-handler.d.ts.map +1 -1
- package/dist/orchestrator/sso-handler.js +146 -45
- package/dist/orchestrator/sso-handler.js.map +1 -1
- package/dist/scanner/page-health-evaluator.d.ts +1 -1
- package/dist/scanner/page-health-evaluator.d.ts.map +1 -1
- package/dist/scanner/page-health-evaluator.js +26 -7
- package/dist/scanner/page-health-evaluator.js.map +1 -1
- package/package.json +1 -1
package/dist/adapter.d.ts
CHANGED
|
@@ -68,5 +68,11 @@ export interface BrowserAdapter {
|
|
|
68
68
|
getRuntimeArtifacts?(): RuntimeArtifacts;
|
|
69
69
|
/** Clear any buffered runtime artifacts, when supported by the adapter. */
|
|
70
70
|
resetRuntimeArtifacts?(): void;
|
|
71
|
+
/** Wait for a new tab/window to open. Returns a tab identifier, or null on timeout. */
|
|
72
|
+
waitForNewTab?(timeoutMs?: number): Promise<number | null>;
|
|
73
|
+
/** Switch the adapter to operate on a different tab/window. */
|
|
74
|
+
switchToTab?(tabId: number): Promise<void>;
|
|
75
|
+
/** Return the current tab identifier. */
|
|
76
|
+
getCurrentTabId?(): number;
|
|
71
77
|
}
|
|
72
78
|
//# sourceMappingURL=adapter.d.ts.map
|
package/dist/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,10 +19,13 @@ export interface SSOCredentials {
|
|
|
19
19
|
/**
|
|
20
20
|
* Execute an SSO login flow for a specific provider.
|
|
21
21
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
22
|
+
* After clicking the SSO button the function races two signals:
|
|
23
|
+
* - **Redirect:** the current tab navigates to the provider (same-window OAuth)
|
|
24
|
+
* - **Popup:** a new tab/window opens (popup-based OAuth)
|
|
25
|
+
*
|
|
26
|
+
* Whichever fires first determines the execution path. The provider-
|
|
27
|
+
* specific steps (type email → next → password → submit) are the same
|
|
28
|
+
* in both cases — only the tab context differs.
|
|
26
29
|
*/
|
|
27
30
|
export declare function executeSSOFlow(adapter: BrowserAdapter, ssoButtonSelector: string, provider: AuthProviderType, credentials: SSOCredentials, appOrigin: string): Promise<boolean>;
|
|
28
31
|
export declare function getSSOFlow(provider: AuthProviderType): SSOFlowStep[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sso-handler.d.ts","sourceRoot":"","sources":["../../src/orchestrator/sso-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAMlE,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"sso-handler.d.ts","sourceRoot":"","sources":["../../src/orchestrator/sso-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAMlE,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgOD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,cAAc,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAoIlB;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,WAAW,EAAE,CAEpE"}
|
|
@@ -133,70 +133,171 @@ function resolveValue(template, credentials) {
|
|
|
133
133
|
.replace("{{email}}", credentials.email)
|
|
134
134
|
.replace("{{password}}", credentials.password);
|
|
135
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Wait for the current tab URL to change from `startUrl`.
|
|
138
|
+
* Returns true if the URL changed, false on timeout.
|
|
139
|
+
*/
|
|
140
|
+
async function waitForUrlChange(adapter, startUrl, timeoutMs) {
|
|
141
|
+
const deadline = Date.now() + timeoutMs;
|
|
142
|
+
while (Date.now() < deadline) {
|
|
143
|
+
const currentUrl = await adapter.getUrl();
|
|
144
|
+
if (currentUrl !== startUrl)
|
|
145
|
+
return true;
|
|
146
|
+
await new Promise(r => setTimeout(r, 300));
|
|
147
|
+
}
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Execute the provider-specific SSO steps (type email, password, click
|
|
152
|
+
* submit, etc.) on whatever page the adapter is currently pointed at.
|
|
153
|
+
*/
|
|
154
|
+
async function executeProviderSteps(adapter, provider, credentials) {
|
|
155
|
+
const steps = SSO_FLOWS[provider] ?? GENERIC_SSO_FLOW;
|
|
156
|
+
for (const step of steps) {
|
|
157
|
+
const timeout = step.timeout ?? 10000;
|
|
158
|
+
const found = await adapter.waitForSelector(step.waitFor, {
|
|
159
|
+
visible: true,
|
|
160
|
+
timeout,
|
|
161
|
+
});
|
|
162
|
+
if (!found) {
|
|
163
|
+
logSSO("step:element-not-found", {
|
|
164
|
+
waitFor: step.waitFor,
|
|
165
|
+
action: step.action,
|
|
166
|
+
});
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
switch (step.action) {
|
|
170
|
+
case "type": {
|
|
171
|
+
const value = resolveValue(step.value, credentials);
|
|
172
|
+
if (step.selector) {
|
|
173
|
+
await adapter.type(step.selector, value);
|
|
174
|
+
}
|
|
175
|
+
logSSO("step:typed", { selector: step.selector });
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
case "click": {
|
|
179
|
+
if (step.selector) {
|
|
180
|
+
await adapter.click(step.selector, { timeout: 5000 });
|
|
181
|
+
}
|
|
182
|
+
logSSO("step:clicked", { selector: step.selector });
|
|
183
|
+
await adapter.waitForNavigation({ timeout: 10000 }).catch(err => logSSO("navigation-wait:timeout", {
|
|
184
|
+
error: err instanceof Error ? err.message : String(err),
|
|
185
|
+
}));
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
188
|
+
case "wait": {
|
|
189
|
+
break;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
136
194
|
/**
|
|
137
195
|
* Execute an SSO login flow for a specific provider.
|
|
138
196
|
*
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
197
|
+
* After clicking the SSO button the function races two signals:
|
|
198
|
+
* - **Redirect:** the current tab navigates to the provider (same-window OAuth)
|
|
199
|
+
* - **Popup:** a new tab/window opens (popup-based OAuth)
|
|
200
|
+
*
|
|
201
|
+
* Whichever fires first determines the execution path. The provider-
|
|
202
|
+
* specific steps (type email → next → password → submit) are the same
|
|
203
|
+
* in both cases — only the tab context differs.
|
|
143
204
|
*/
|
|
144
205
|
export async function executeSSOFlow(adapter, ssoButtonSelector, provider, credentials, appOrigin) {
|
|
145
206
|
logSSO("flow:start", { provider, ssoButtonSelector });
|
|
146
207
|
try {
|
|
208
|
+
const startUrl = await adapter.getUrl();
|
|
209
|
+
const originalTabId = adapter.getCurrentTabId?.();
|
|
147
210
|
// Click SSO button on the app login page
|
|
148
211
|
await adapter.click(ssoButtonSelector, { timeout: 5000 });
|
|
149
212
|
logSSO("button:clicked");
|
|
150
|
-
//
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
action: step.action,
|
|
166
|
-
});
|
|
167
|
-
continue;
|
|
213
|
+
// Race: popup vs redirect
|
|
214
|
+
const supportsPopup = !!(adapter.waitForNewTab && adapter.switchToTab);
|
|
215
|
+
let popupTabId = null;
|
|
216
|
+
if (supportsPopup) {
|
|
217
|
+
// Race popup detection against URL change (redirect)
|
|
218
|
+
const [newTabId, urlChanged] = await Promise.all([
|
|
219
|
+
adapter.waitForNewTab(10000),
|
|
220
|
+
waitForUrlChange(adapter, startUrl, 10000),
|
|
221
|
+
]);
|
|
222
|
+
if (newTabId != null) {
|
|
223
|
+
popupTabId = newTabId;
|
|
224
|
+
logSSO("popup:detected", { popupTabId });
|
|
225
|
+
}
|
|
226
|
+
else if (urlChanged) {
|
|
227
|
+
logSSO("redirect:detected");
|
|
168
228
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
229
|
+
else {
|
|
230
|
+
logSSO("flow:no-navigation-or-popup");
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
// Adapter doesn't support popup detection — assume redirect
|
|
236
|
+
await adapter.waitForNavigation({ timeout: 10000 });
|
|
237
|
+
logSSO("navigated:to-provider");
|
|
238
|
+
}
|
|
239
|
+
// If popup, switch to it
|
|
240
|
+
if (popupTabId != null) {
|
|
241
|
+
await adapter.switchToTab(popupTabId);
|
|
242
|
+
// Wait for the popup page to finish loading
|
|
243
|
+
await adapter.waitForNavigation({ timeout: 10000 }).catch(() => {
|
|
244
|
+
/* popup may already be loaded */
|
|
245
|
+
});
|
|
246
|
+
logSSO("popup:switched", { url: await adapter.getUrl() });
|
|
247
|
+
}
|
|
248
|
+
// Execute provider-specific steps (same logic for both paths)
|
|
249
|
+
await executeProviderSteps(adapter, provider, credentials);
|
|
250
|
+
// Return to original tab if we used a popup
|
|
251
|
+
if (popupTabId != null && originalTabId != null) {
|
|
252
|
+
// Wait for the popup to close or the original tab to receive
|
|
253
|
+
// the auth callback (URL change)
|
|
254
|
+
logSSO("popup:waiting-for-completion");
|
|
255
|
+
const deadline = Date.now() + 15000;
|
|
256
|
+
let returned = false;
|
|
257
|
+
while (Date.now() < deadline) {
|
|
258
|
+
// Check if original tab URL changed (auth callback received)
|
|
259
|
+
await adapter.switchToTab(originalTabId);
|
|
260
|
+
const origUrl = await adapter.getUrl();
|
|
261
|
+
try {
|
|
262
|
+
if (origUrl !== startUrl && new URL(origUrl).origin === appOrigin) {
|
|
263
|
+
returned = true;
|
|
264
|
+
break;
|
|
174
265
|
}
|
|
175
|
-
logSSO("step:typed", { selector: step.selector });
|
|
176
|
-
break;
|
|
177
266
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
267
|
+
catch {
|
|
268
|
+
// Invalid URL, keep waiting
|
|
269
|
+
}
|
|
270
|
+
// Brief pause before checking again
|
|
271
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
272
|
+
}
|
|
273
|
+
// Try to close the popup tab
|
|
274
|
+
if (popupTabId != null) {
|
|
275
|
+
try {
|
|
276
|
+
await adapter.switchToTab(popupTabId);
|
|
277
|
+
await adapter.close();
|
|
188
278
|
}
|
|
189
|
-
|
|
190
|
-
//
|
|
191
|
-
break;
|
|
279
|
+
catch {
|
|
280
|
+
// Popup may already be closed
|
|
192
281
|
}
|
|
282
|
+
// Ensure we're back on the original tab
|
|
283
|
+
try {
|
|
284
|
+
await adapter.switchToTab(originalTabId);
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
// Best effort
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
if (returned) {
|
|
291
|
+
logSSO("flow:success:popup", { returnUrl: await adapter.getUrl() });
|
|
292
|
+
return true;
|
|
193
293
|
}
|
|
194
294
|
}
|
|
195
|
-
// Wait for redirect back to the app
|
|
295
|
+
// Wait for redirect back to the app (redirect flow, or popup
|
|
296
|
+
// fallback if we didn't detect the callback above)
|
|
196
297
|
logSSO("waiting:redirect-back", { appOrigin });
|
|
197
|
-
const
|
|
298
|
+
const redirectStart = Date.now();
|
|
198
299
|
const maxWait = 30000;
|
|
199
|
-
while (Date.now() -
|
|
300
|
+
while (Date.now() - redirectStart < maxWait) {
|
|
200
301
|
const currentUrl = await adapter.getUrl();
|
|
201
302
|
try {
|
|
202
303
|
if (new URL(currentUrl).origin === appOrigin) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sso-handler.js","sourceRoot":"","sources":["../../src/orchestrator/sso-handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sso-handler.js","sourceRoot":"","sources":["../../src/orchestrator/sso-handler.ts"],"names":[],"mappings":"AAyBA,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAEhF,MAAM,WAAW,GAAkB;IACjC;QACE,OAAO,EAAE,+CAA+C;QACxD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,+CAA+C;QACzD,KAAK,EAAE,WAAW;KACnB;IACD;QACE,OAAO,EAAE,wCAAwC;QACjD,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,wCAAwC;KACnD;IACD;QACE,OAAO,EAAE,8CAA8C;QACvD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,8CAA8C;QACxD,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,IAAI;KACd;IACD;QACE,OAAO,EAAE,sCAAsC;QAC/C,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,sCAAsC;KACjD;CACF,CAAC;AAEF,MAAM,cAAc,GAAkB;IACpC;QACE,OAAO,EAAE,6CAA6C;QACtD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,6CAA6C;QACvD,KAAK,EAAE,WAAW;KACnB;IACD;QACE,OAAO,EAAE,6CAA6C;QACtD,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,6CAA6C;KACxD;IACD;QACE,OAAO,EAAE,8CAA8C;QACvD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,8CAA8C;QACxD,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,IAAI;KACd;IACD;QACE,OAAO,EAAE,6CAA6C;QACtD,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,6CAA6C;KACxD;CACF,CAAC;AAEF,MAAM,WAAW,GAAkB;IACjC;QACE,OAAO,EAAE,mCAAmC;QAC5C,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,mCAAmC;QAC7C,KAAK,EAAE,WAAW;KACnB;IACD;QACE,OAAO,EAAE,mCAAmC;QAC5C,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,mCAAmC;QAC7C,KAAK,EAAE,cAAc;KACtB;IACD;QACE,OAAO,EAAE,6CAA6C;QACtD,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,6CAA6C;KACxD;CACF,CAAC;AAEF,MAAM,aAAa,GAAkB;IACnC;QACE,OAAO,EAAE,6BAA6B;QACtC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,6BAA6B;QACvC,KAAK,EAAE,WAAW;KACnB;IACD;QACE,OAAO,EAAE,2BAA2B;QACpC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,2BAA2B;QACrC,KAAK,EAAE,cAAc;KACtB;IACD;QACE,OAAO,EAAE,2DAA2D;QACpE,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,2DAA2D;KACtE;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAkB;IACtC;QACE,OAAO,EACL,uFAAuF;QACzF,MAAM,EAAE,MAAM;QACd,QAAQ,EACN,uFAAuF;QACzF,KAAK,EAAE,WAAW;KACnB;IACD;QACE,OAAO,EAAE,gDAAgD;QACzD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,gDAAgD;QAC1D,KAAK,EAAE,cAAc;KACtB;IACD;QACE,OAAO,EAAE,6CAA6C;QACtD,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,6CAA6C;KACxD;CACF,CAAC;AAEF,MAAM,SAAS,GAAqD;IAClE,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,cAAc;IACzB,MAAM,EAAE,WAAW;IACnB,QAAQ,EAAE,aAAa;IACvB,KAAK,EAAE,gBAAgB;IACvB,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,gBAAgB;IAC1B,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,gBAAgB;CAC1B,CAAC;AAEF,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,SAAS,MAAM,CAAC,IAAY,EAAE,OAAiC;IAC7D,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,YAAY,CACnB,QAA4B,EAC5B,WAA2B;IAE3B,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,OAAO,QAAQ;SACZ,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC;SACvC,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,gBAAgB,CAC7B,OAAuB,EACvB,QAAgB,EAChB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1C,IAAI,UAAU,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,oBAAoB,CACjC,OAAuB,EACvB,QAA0B,EAC1B,WAA2B;IAE3B,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC;IAEtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QAEtC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE;YACxD,OAAO,EAAE,IAAI;YACb,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,wBAAwB,EAAE;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACpD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClD,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxD,CAAC;gBACD,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACpD,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAC9D,MAAM,CAAC,yBAAyB,EAAE;oBAChC,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CACH,CAAC;gBACF,MAAM;YACR,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAuB,EACvB,iBAAyB,EACzB,QAA0B,EAC1B,WAA2B,EAC3B,SAAiB;IAEjB,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;QAElD,yCAAyC;QACzC,MAAM,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEzB,0BAA0B;QAC1B,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;QACvE,IAAI,UAAU,GAAkB,IAAI,CAAC;QAErC,IAAI,aAAa,EAAE,CAAC;YAClB,qDAAqD;YACrD,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/C,OAAO,CAAC,aAAc,CAAC,KAAK,CAAC;gBAC7B,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;aAC3C,CAAC,CAAC;YAEH,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,UAAU,GAAG,QAAQ,CAAC;gBACtB,MAAM,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACtB,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,6BAA6B,CAAC,CAAC;gBACtC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAClC,CAAC;QAED,yBAAyB;QACzB,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,CAAC,WAAY,CAAC,UAAU,CAAC,CAAC;YACvC,4CAA4C;YAC5C,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC7D,iCAAiC;YACnC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,8DAA8D;QAC9D,MAAM,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE3D,4CAA4C;QAC5C,IAAI,UAAU,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YAChD,6DAA6D;YAC7D,iCAAiC;YACjC,MAAM,CAAC,8BAA8B,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACpC,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;gBAC7B,6DAA6D;gBAC7D,MAAM,OAAO,CAAC,WAAY,CAAC,aAAa,CAAC,CAAC;gBAC1C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,IAAI,OAAO,KAAK,QAAQ,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAClE,QAAQ,GAAG,IAAI,CAAC;wBAChB,MAAM;oBACR,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,4BAA4B;gBAC9B,CAAC;gBAED,oCAAoC;gBACpC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9C,CAAC;YAED,6BAA6B;YAC7B,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,WAAY,CAAC,UAAU,CAAC,CAAC;oBACvC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,8BAA8B;gBAChC,CAAC;gBACD,wCAAwC;gBACxC,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,WAAY,CAAC,aAAa,CAAC,CAAC;gBAC5C,CAAC;gBAAC,MAAM,CAAC;oBACP,cAAc;gBAChB,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACpE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,mDAAmD;QACnD,MAAM,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC;QAEtB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,OAAO,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC7C,MAAM,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;oBAClD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,CAAC,mCAAmC,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,UAA8B,CAAC;QACnC,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;QACD,MAAM,CAAC,YAAY,EAAE;YACnB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7D,QAAQ;YACR,UAAU;SACX,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAA0B;IACnD,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC;AACjD,CAAC"}
|
|
@@ -3,7 +3,7 @@ import type { BrowserAdapter } from "../adapter";
|
|
|
3
3
|
* A page health issue found during browser-side evaluation.
|
|
4
4
|
*/
|
|
5
5
|
export interface PageHealthIssue {
|
|
6
|
-
type: "broken_image" | "element_overlap" | "dead_social_button" | "broken_link_pattern" | "cart_math_error" | "grammar_error" | "defunct_service" | "missing_price" | "inconsistent_grid" | "empty_link" | "broken_anchor" | "missing_noopener" | "horizontal_overflow" | "truncated_text" | "invalid_price" | "invalid_discount" | "invalid_rating" | "unlabeled_button" | "small_touch_target" | "placeholder_text" | "price_format_error" | "duplicate_element" | "error_message_visible" | "empty_product_page" | "missing_stock_info";
|
|
6
|
+
type: "broken_image" | "element_overlap" | "dead_social_button" | "broken_link_pattern" | "cart_math_error" | "grammar_error" | "defunct_service" | "missing_price" | "inconsistent_grid" | "empty_link" | "broken_anchor" | "missing_noopener" | "horizontal_overflow" | "truncated_text" | "invalid_price" | "invalid_discount" | "invalid_rating" | "unlabeled_button" | "small_touch_target" | "placeholder_text" | "price_format_error" | "duplicate_element" | "error_message_visible" | "empty_product_page" | "missing_product_image" | "missing_stock_info";
|
|
7
7
|
severity: "error" | "warning";
|
|
8
8
|
priority: number;
|
|
9
9
|
title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-health-evaluator.d.ts","sourceRoot":"","sources":["../../src/scanner/page-health-evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EACA,cAAc,GACd,iBAAiB,GACjB,oBAAoB,GACpB,qBAAqB,GACrB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,mBAAmB,GACnB,YAAY,GACZ,eAAe,GACf,kBAAkB,GAClB,qBAAqB,GACrB,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,gBAAgB,GAChB,kBAAkB,GAClB,oBAAoB,GACpB,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,uBAAuB,GACvB,oBAAoB,GACpB,oBAAoB,CAAC;IACzB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"page-health-evaluator.d.ts","sourceRoot":"","sources":["../../src/scanner/page-health-evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EACA,cAAc,GACd,iBAAiB,GACjB,oBAAoB,GACpB,qBAAqB,GACrB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,mBAAmB,GACnB,YAAY,GACZ,eAAe,GACf,kBAAkB,GAClB,qBAAqB,GACrB,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,gBAAgB,GAChB,kBAAkB,GAClB,oBAAoB,GACpB,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,uBAAuB,GACvB,oBAAoB,GACpB,uBAAuB,GACvB,oBAAoB,CAAC;IACzB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,EAAE,CAAC,CA+4B5B"}
|
|
@@ -246,7 +246,7 @@ export async function evaluatePageHealth(adapter) {
|
|
|
246
246
|
.filter(h => h > 0);
|
|
247
247
|
if (heights.length >= 3) {
|
|
248
248
|
const avgHeight = heights.reduce((a, b) => a + b, 0) / heights.length;
|
|
249
|
-
const outliers = heights.filter(h => Math.abs(h - avgHeight) > avgHeight * 0.
|
|
249
|
+
const outliers = heights.filter(h => Math.abs(h - avgHeight) > avgHeight * 0.3);
|
|
250
250
|
if (outliers.length > 0) {
|
|
251
251
|
found.push({
|
|
252
252
|
type: "inconsistent_grid",
|
|
@@ -691,13 +691,19 @@ export async function evaluatePageHealth(adapter) {
|
|
|
691
691
|
// 25. Empty product page — page has product-page indicators but no
|
|
692
692
|
// actual product content (title, price, or image)
|
|
693
693
|
// =========================================================================
|
|
694
|
-
const
|
|
694
|
+
const productContainer = document.querySelector("[class*='product_details'], [class*='ec_details'], .product-details, [class*='product-detail'], [itemtype*='schema.org/Product']");
|
|
695
|
+
const productArea = productContainer ||
|
|
696
|
+
document.querySelector("[class*='product'], [class*='item-detail']");
|
|
695
697
|
const hasCartButton = !!document.querySelector("[class*='add_to_cart'], [class*='addtocart'], [class*='add-to-cart'], button[name*='cart']");
|
|
696
|
-
const isProductPage =
|
|
698
|
+
const isProductPage = !!productArea || hasCartButton;
|
|
697
699
|
if (isProductPage) {
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
700
|
+
// Scope title/price/image checks to the product area when available,
|
|
701
|
+
// so that a site-level h1 or sidebar image doesn't mask an empty
|
|
702
|
+
// product content section.
|
|
703
|
+
const scope = productContainer || document;
|
|
704
|
+
const hasTitle = !!scope.querySelector("h1, [class*='product_title'], [class*='product-title'], [class*='product-name'], [itemprop='name']");
|
|
705
|
+
const hasPrice = !!scope.querySelector("[class*='price']:not([class*='price_filter']), [itemprop='price'], [class*='amount']");
|
|
706
|
+
const hasImage = !!scope.querySelector("img, [itemprop='image']");
|
|
701
707
|
if (!hasTitle && !hasPrice && !hasImage) {
|
|
702
708
|
found.push({
|
|
703
709
|
type: "empty_product_page",
|
|
@@ -707,9 +713,22 @@ export async function evaluatePageHealth(adapter) {
|
|
|
707
713
|
description: "Page has product-page indicators but contains no product title, price, or image",
|
|
708
714
|
});
|
|
709
715
|
}
|
|
716
|
+
// -----------------------------------------------------------------------
|
|
717
|
+
// 26. Missing product image — product page has title or price but
|
|
718
|
+
// no product image at all
|
|
719
|
+
// -----------------------------------------------------------------------
|
|
720
|
+
if ((hasTitle || hasPrice) && !hasImage) {
|
|
721
|
+
found.push({
|
|
722
|
+
type: "missing_product_image",
|
|
723
|
+
severity: "warning",
|
|
724
|
+
priority: 2,
|
|
725
|
+
title: "Product page has no product image",
|
|
726
|
+
description: "Product page has title or price but no product image is present",
|
|
727
|
+
});
|
|
728
|
+
}
|
|
710
729
|
}
|
|
711
730
|
// =========================================================================
|
|
712
|
-
//
|
|
731
|
+
// 27. Missing stock info — product page with add-to-cart but no
|
|
713
732
|
// stock count or availability indicator
|
|
714
733
|
// =========================================================================
|
|
715
734
|
if (isProductPage && hasCartButton) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-health-evaluator.js","sourceRoot":"","sources":["../../src/scanner/page-health-evaluator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page-health-evaluator.js","sourceRoot":"","sources":["../../src/scanner/page-health-evaluator.ts"],"names":[],"mappings":"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"}
|