@gate-forge/witness 0.13.0 → 0.13.2
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/witness/api-settlement.d.ts +2 -0
- package/dist/witness/api-settlement.d.ts.map +1 -1
- package/dist/witness/api-settlement.js +10 -0
- package/dist/witness/api-settlement.js.map +1 -1
- package/dist/witness/browser.d.ts +1 -0
- package/dist/witness/browser.d.ts.map +1 -1
- package/dist/witness/browser.js +51 -5
- package/dist/witness/browser.js.map +1 -1
- package/dist/witness/page-live-channels.d.ts +46 -0
- package/dist/witness/page-live-channels.d.ts.map +1 -0
- package/dist/witness/page-live-channels.js +68 -0
- package/dist/witness/page-live-channels.js.map +1 -0
- package/dist/witness/page-observation.d.ts +76 -1
- package/dist/witness/page-observation.d.ts.map +1 -1
- package/dist/witness/page-observation.js +85 -1
- package/dist/witness/page-observation.js.map +1 -1
- package/dist/witness/page-observer-registration.d.ts +62 -5
- package/dist/witness/page-observer-registration.d.ts.map +1 -1
- package/dist/witness/page-observer-registration.js +103 -5
- package/dist/witness/page-observer-registration.js.map +1 -1
- package/dist/witness/page-observer.d.ts +2 -0
- package/dist/witness/page-observer.d.ts.map +1 -1
- package/dist/witness/page-observer.js +103 -9
- package/dist/witness/page-observer.js.map +1 -1
- package/dist/witness/server.d.ts.map +1 -1
- package/dist/witness/server.js +110 -40
- package/dist/witness/server.js.map +1 -1
- package/dist/witness/types.d.ts +28 -2
- package/dist/witness/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** Pure route matching and grading for browser-observed page visits. */
|
|
2
1
|
/**
|
|
3
2
|
* Grades a visit's tracked app data request set as settled: no request is
|
|
4
3
|
* still outstanding, and every failure is a client-side cancel
|
|
@@ -14,6 +13,73 @@ export function apiRequestsSettled(input) {
|
|
|
14
13
|
const completed = new Set(input.completions.map(({ method, url }) => `${method} ${url}`));
|
|
15
14
|
return input.failures.every((failure) => failure.errorText === 'net::ERR_ABORTED' && completed.has(`${failure.method} ${failure.url}`));
|
|
16
15
|
}
|
|
16
|
+
/** How many culprits the diagnosis carries before it stops listing. */
|
|
17
|
+
const UNSETTLED_REQUESTS_CAP = 5;
|
|
18
|
+
/**
|
|
19
|
+
* Names the requests that left a visit's app data set unsettled, with the
|
|
20
|
+
* SAME settled rule {@link apiRequestsSettled} grades by: every failure
|
|
21
|
+
* that did NOT count as settled (an abort counts only when a completed
|
|
22
|
+
* same-method/full-URL request superseded it) keeps its real browser
|
|
23
|
+
* error text, and every request still open at grading time is listed as
|
|
24
|
+
* `outstanding`. Capped at five, urls without their query — this is the
|
|
25
|
+
* one-line "which request hung?" answer, not a transcript.
|
|
26
|
+
*
|
|
27
|
+
* Args:
|
|
28
|
+
* input.outstanding: the requests still open at grading time.
|
|
29
|
+
* input.failures: the requests that failed without completing.
|
|
30
|
+
* input.completions: the requests that reached completion.
|
|
31
|
+
*
|
|
32
|
+
* Returns:
|
|
33
|
+
* UnsettledRequest[]: at most five entries; failures first.
|
|
34
|
+
*/
|
|
35
|
+
export function unsettledRequestsOf(input) {
|
|
36
|
+
const completed = new Set(input.completions.map(({ method, url }) => `${method} ${url}`));
|
|
37
|
+
const withoutQuery = (url) => {
|
|
38
|
+
try {
|
|
39
|
+
return new URL(url).pathname;
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return url;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
return [
|
|
46
|
+
...input.failures
|
|
47
|
+
.filter((failure) => !(failure.errorText === 'net::ERR_ABORTED' && completed.has(`${failure.method} ${failure.url}`)))
|
|
48
|
+
.map(({ method, url, errorText }) => ({ method, url: withoutQuery(url), errorText })),
|
|
49
|
+
...input.outstanding.map(({ method, url }) => ({ method, url: withoutQuery(url), errorText: 'outstanding' })),
|
|
50
|
+
].slice(0, UNSETTLED_REQUESTS_CAP);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The response that refused data-ok with PAGE_API_ERROR, as one
|
|
54
|
+
* `METHOD path -> status` line, or null. The anonymous-401 exemption is
|
|
55
|
+
* the grader's own ({@link gradePageVisit}): on a page whose audience
|
|
56
|
+
* declares no login, a 401 is the expected not-logged-in answer and is
|
|
57
|
+
* not the refusing response.
|
|
58
|
+
*
|
|
59
|
+
* Args:
|
|
60
|
+
* responses: the visit's collected app data responses.
|
|
61
|
+
* anonymous: the page's anonymous flag (audience without login).
|
|
62
|
+
*
|
|
63
|
+
* Returns:
|
|
64
|
+
* string | null: the first refusing response, or null.
|
|
65
|
+
*/
|
|
66
|
+
export function apiErrorDetailOf(responses, anonymous) {
|
|
67
|
+
for (const response of responses) {
|
|
68
|
+
if (response.status < 400)
|
|
69
|
+
continue;
|
|
70
|
+
if (response.status === 401 && anonymous)
|
|
71
|
+
continue;
|
|
72
|
+
let path = response.url;
|
|
73
|
+
try {
|
|
74
|
+
path = new URL(response.url).pathname;
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// Keep the raw text when the url does not parse.
|
|
78
|
+
}
|
|
79
|
+
return `${response.method} ${path} -> ${String(response.status)}`;
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
17
83
|
function pathname(raw) {
|
|
18
84
|
try {
|
|
19
85
|
return new URL(raw, 'http://gateforge.invalid').pathname.replace(/\/+$/, '') || '/';
|
|
@@ -32,6 +98,24 @@ export function matchPageRoute(routePath, rawUrl) {
|
|
|
32
98
|
const actualParts = actual.split('/').filter(Boolean);
|
|
33
99
|
return templateParts.length === actualParts.length && templateParts.every((part, index) => part.startsWith(':') ? actualParts[index] !== '' : part === actualParts[index]);
|
|
34
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* The declared login route a visit landed on, or null. A visit whose
|
|
103
|
+
* REQUESTED route is itself a declared login page never counts: a
|
|
104
|
+
* directly opened declared login page is a legitimate public page, only
|
|
105
|
+
* a bounced protected navigation is a rejected session.
|
|
106
|
+
*/
|
|
107
|
+
export function landedLoginRoute(finalUrl, requestedPath, loginRoutes) {
|
|
108
|
+
const finalPath = pathname(finalUrl);
|
|
109
|
+
if (finalPath === null)
|
|
110
|
+
return null;
|
|
111
|
+
const matched = loginRoutes.find((route) => pathname(route) === finalPath);
|
|
112
|
+
if (matched === undefined)
|
|
113
|
+
return null;
|
|
114
|
+
const requested = pathname(requestedPath);
|
|
115
|
+
if (requested !== null && loginRoutes.some((route) => pathname(route) === requested))
|
|
116
|
+
return null;
|
|
117
|
+
return matched;
|
|
118
|
+
}
|
|
35
119
|
/**
|
|
36
120
|
* Grade one settled visit using only witness-collected browser observations.
|
|
37
121
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-observation.js","sourceRoot":"","sources":["../../src/witness/page-observation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page-observation.js","sourceRoot":"","sources":["../../src/witness/page-observation.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { ServerResponse } from 'node:http';
|
|
|
2
2
|
import type { PageObservationContext, SessionPageObserverRequest } from './types.js';
|
|
3
3
|
import { type EngineBrowserManager } from './browser.js';
|
|
4
4
|
import { type PageObserver } from './page-observer.js';
|
|
5
|
-
import type
|
|
5
|
+
import { type ObservedPageVisit, type PageRoute, type PageVisitVerdict } from './page-observation.js';
|
|
6
6
|
export interface PageObserverRegistrationState {
|
|
7
7
|
pageObservers: Map<string, PageObserver>;
|
|
8
8
|
pageObservationRecords: Map<string, string[]>;
|
|
@@ -32,18 +32,75 @@ export declare function registerPageObserver(input: {
|
|
|
32
32
|
};
|
|
33
33
|
issueRecord(obligationId: string, testId: string, payload: unknown): string;
|
|
34
34
|
}): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* One sweep progress line, emitted as each visit finishes so a killed run
|
|
37
|
+
* keeps the lines it already earned. `detail` names WHY the page refused
|
|
38
|
+
* when the reason alone cannot: the unsettled requests for
|
|
39
|
+
* PAGE_API_UNSETTLED, the refusing response for PAGE_API_ERROR — appended
|
|
40
|
+
* after the timing as `: <detail>`.
|
|
41
|
+
*/
|
|
42
|
+
export declare function formatSweepProgress(info: {
|
|
43
|
+
index: number;
|
|
44
|
+
total: number;
|
|
45
|
+
audience: string;
|
|
46
|
+
path: string;
|
|
47
|
+
proven: boolean;
|
|
48
|
+
firstReason: string | null;
|
|
49
|
+
ms: number;
|
|
50
|
+
detail?: string | null;
|
|
51
|
+
}): string;
|
|
52
|
+
/**
|
|
53
|
+
* The progress-line detail for one refused visit: the unsettled requests
|
|
54
|
+
* for PAGE_API_UNSETTLED (`GET /a net::ERR_ABORTED; POST /b outstanding`),
|
|
55
|
+
* the refusing response for PAGE_API_ERROR (`GET /api/y -> 500`, with the
|
|
56
|
+
* grader's own anonymous-401 exemption), null for every other reason.
|
|
57
|
+
*
|
|
58
|
+
* Args:
|
|
59
|
+
* firstReason: the first refusal reason of the verdict.
|
|
60
|
+
* visit: the visit the verdict graded.
|
|
61
|
+
* anonymous: the page's anonymous flag (audience without login).
|
|
62
|
+
*
|
|
63
|
+
* Returns:
|
|
64
|
+
* string | null: the appended detail, or null when the reason is
|
|
65
|
+
* self-explanatory.
|
|
66
|
+
*/
|
|
67
|
+
export declare function progressDetailFor(firstReason: string | null, visit: ObservedPageVisit, anonymous: boolean): string | null;
|
|
68
|
+
/** One swept route outcome: the page verdict plus whether the sweep visited it. */
|
|
69
|
+
export interface SweptPageVisit {
|
|
70
|
+
routeId: string;
|
|
71
|
+
verdict: PageVisitVerdict;
|
|
72
|
+
/** False when the sweep refused this page WITHOUT visiting it. */
|
|
73
|
+
visited: boolean;
|
|
74
|
+
}
|
|
75
|
+
/** The outcome of one audience's swept page visits. */
|
|
76
|
+
export interface PageSweepResult {
|
|
77
|
+
visits: SweptPageVisit[];
|
|
78
|
+
/**
|
|
79
|
+
* Set when the audience's session was rejected on the FIRST visited
|
|
80
|
+
* page (it landed on a declared login route): the remaining pages were
|
|
81
|
+
* refused WITHOUT visiting, with PAGE_AUDIENCE_SESSION_INVALID.
|
|
82
|
+
*/
|
|
83
|
+
sessionRejected: {
|
|
84
|
+
path: string;
|
|
85
|
+
login: string;
|
|
86
|
+
notVisited: number;
|
|
87
|
+
} | null;
|
|
88
|
+
}
|
|
35
89
|
export declare function sweepPageVisits(input: {
|
|
36
90
|
browser: EngineBrowserManager;
|
|
37
91
|
sessionId: string;
|
|
38
92
|
testId: string;
|
|
39
93
|
appBase: string;
|
|
94
|
+
/** The audience these routes belong to (named in progress lines). */
|
|
95
|
+
audience: string;
|
|
40
96
|
routes: readonly PageRoute[];
|
|
41
97
|
loginRoutes: readonly string[];
|
|
42
98
|
errorMarkers: readonly string[];
|
|
99
|
+
/** Declared live-channel path prefixes (same rule as the observed channel). */
|
|
100
|
+
liveChannels: readonly string[];
|
|
43
101
|
storageState?: unknown;
|
|
102
|
+
/** Called as each visited page finishes, with its one progress line. */
|
|
103
|
+
onProgress?: (line: string) => void;
|
|
44
104
|
issueRecord(obligationId: string, testId: string, payload: unknown): string;
|
|
45
|
-
}): Promise<
|
|
46
|
-
routeId: string;
|
|
47
|
-
verdict: PageVisitVerdict;
|
|
48
|
-
}>>;
|
|
105
|
+
}): Promise<PageSweepResult>;
|
|
49
106
|
//# sourceMappingURL=page-observer-registration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-observer-registration.d.ts","sourceRoot":"","sources":["../../src/witness/page-observer-registration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,EAAoB,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"page-observer-registration.d.ts","sourceRoot":"","sources":["../../src/witness/page-observer-registration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { driveEngineVisit } from './browser.js';
|
|
2
2
|
import { observePageBrowser } from './page-observer.js';
|
|
3
|
+
import { apiErrorDetailOf, landedLoginRoute, } from './page-observation.js';
|
|
3
4
|
export class PageObserverRegistrationError extends Error {
|
|
4
5
|
status;
|
|
5
6
|
constructor(message, status) {
|
|
@@ -46,6 +47,7 @@ export async function registerPageObserver(input) {
|
|
|
46
47
|
loginRoutes: context.loginRoutes,
|
|
47
48
|
errorMarkers: context.errorMarkers,
|
|
48
49
|
appOrigins: context.appOrigins,
|
|
50
|
+
liveChannels: context.liveChannels ?? [],
|
|
49
51
|
isProxiedExchange(url, status) {
|
|
50
52
|
const path = new URL(url).pathname;
|
|
51
53
|
const exchange = state.observed.find((candidate) => candidate.sessionId === session.sessionId && candidate.path === path && candidate.status === status &&
|
|
@@ -88,10 +90,12 @@ export async function registerPageObserver(input) {
|
|
|
88
90
|
navigations: visit.navigations,
|
|
89
91
|
exceptions: visit.exceptions,
|
|
90
92
|
domMarkerHit: visit.domMarkerHit,
|
|
91
|
-
apiStatuses: visit.apiResponses.map(({ url, status, remoteAddress, proxied }) => ({ url, status, remoteAddress, proxied })),
|
|
93
|
+
apiStatuses: visit.apiResponses.map(({ method, url, status, remoteAddress, proxied }) => ({ method, url, status, remoteAddress, proxied })),
|
|
92
94
|
// One payload shared by both promise records; the sequence
|
|
93
95
|
// increases on every observation of this registered session.
|
|
94
96
|
apiRequestsSettled: visit.apiRequestsSettled,
|
|
97
|
+
unsettledRequests: visit.unsettledRequests,
|
|
98
|
+
liveChannels: visit.liveChannels,
|
|
95
99
|
observationSequence: observationSequence++,
|
|
96
100
|
loads: finalVerdict.loads,
|
|
97
101
|
dataOk: finalVerdict.dataOk,
|
|
@@ -157,14 +161,90 @@ function normalizePageStorageState(raw) {
|
|
|
157
161
|
});
|
|
158
162
|
return { cookies, origins };
|
|
159
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* One sweep progress line, emitted as each visit finishes so a killed run
|
|
166
|
+
* keeps the lines it already earned. `detail` names WHY the page refused
|
|
167
|
+
* when the reason alone cannot: the unsettled requests for
|
|
168
|
+
* PAGE_API_UNSETTLED, the refusing response for PAGE_API_ERROR — appended
|
|
169
|
+
* after the timing as `: <detail>`.
|
|
170
|
+
*/
|
|
171
|
+
export function formatSweepProgress(info) {
|
|
172
|
+
const outcome = info.proven ? 'proven' : `refused${info.firstReason === null ? '' : ` ${info.firstReason}`}`;
|
|
173
|
+
const suffix = info.detail === undefined || info.detail === null || info.detail === '' ? '' : `: ${info.detail}`;
|
|
174
|
+
return `page ${String(info.index)}/${String(info.total)} ${info.audience} ${info.path} -> ${outcome} (${String(info.ms)} ms)${suffix}`;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* The progress-line detail for one refused visit: the unsettled requests
|
|
178
|
+
* for PAGE_API_UNSETTLED (`GET /a net::ERR_ABORTED; POST /b outstanding`),
|
|
179
|
+
* the refusing response for PAGE_API_ERROR (`GET /api/y -> 500`, with the
|
|
180
|
+
* grader's own anonymous-401 exemption), null for every other reason.
|
|
181
|
+
*
|
|
182
|
+
* Args:
|
|
183
|
+
* firstReason: the first refusal reason of the verdict.
|
|
184
|
+
* visit: the visit the verdict graded.
|
|
185
|
+
* anonymous: the page's anonymous flag (audience without login).
|
|
186
|
+
*
|
|
187
|
+
* Returns:
|
|
188
|
+
* string | null: the appended detail, or null when the reason is
|
|
189
|
+
* self-explanatory.
|
|
190
|
+
*/
|
|
191
|
+
export function progressDetailFor(firstReason, visit, anonymous) {
|
|
192
|
+
if (firstReason === 'PAGE_API_UNSETTLED') {
|
|
193
|
+
const detail = visit.unsettledRequests
|
|
194
|
+
.map(({ method, url, errorText }) => `${method} ${url} ${errorText}`)
|
|
195
|
+
.join('; ');
|
|
196
|
+
return detail === '' ? null : detail;
|
|
197
|
+
}
|
|
198
|
+
if (firstReason === 'PAGE_API_ERROR')
|
|
199
|
+
return apiErrorDetailOf(visit.apiResponses, anonymous);
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
160
202
|
export async function sweepPageVisits(input) {
|
|
161
203
|
const page = await input.browser.pageFor(input.sessionId, normalizePageStorageState(input.storageState));
|
|
162
204
|
const visits = [];
|
|
163
205
|
let observationSequence = 0;
|
|
164
|
-
|
|
206
|
+
// A session the app rejects (e.g. a rotating refresh token the suite's
|
|
207
|
+
// own storage-state file already consumed) bounces the FIRST visited
|
|
208
|
+
// page to a declared login route. Every further route could only
|
|
209
|
+
// bounce the same way, so they are refused WITHOUT visiting; the
|
|
210
|
+
// records still issue, and the payload says the page was not visited
|
|
211
|
+
// and why. Session-less audiences are unaffected.
|
|
212
|
+
let sessionRejected = null;
|
|
213
|
+
for (const [index, route] of input.routes.entries()) {
|
|
214
|
+
if (sessionRejected !== null) {
|
|
215
|
+
const verdict = {
|
|
216
|
+
pageId: route.id,
|
|
217
|
+
finalUrl: route.path,
|
|
218
|
+
loads: { satisfied: false, refusalReasons: ['PAGE_AUDIENCE_SESSION_INVALID'] },
|
|
219
|
+
dataOk: { satisfied: false, refusalReasons: ['PAGE_AUDIENCE_SESSION_INVALID'] },
|
|
220
|
+
};
|
|
221
|
+
const payload = {
|
|
222
|
+
channel: 'swept',
|
|
223
|
+
routeId: verdict.pageId,
|
|
224
|
+
// The page was never visited; the payload says so and why.
|
|
225
|
+
notVisited: 'PAGE_AUDIENCE_SESSION_INVALID',
|
|
226
|
+
finalUrl: route.path,
|
|
227
|
+
navigations: [],
|
|
228
|
+
exceptions: [],
|
|
229
|
+
domMarkerHit: false,
|
|
230
|
+
apiStatuses: [],
|
|
231
|
+
apiRequestsSettled: true,
|
|
232
|
+
unsettledRequests: [],
|
|
233
|
+
liveChannels: { count: 0, paths: [] },
|
|
234
|
+
observationSequence: observationSequence++,
|
|
235
|
+
loads: verdict.loads,
|
|
236
|
+
dataOk: verdict.dataOk,
|
|
237
|
+
};
|
|
238
|
+
input.issueRecord(`${verdict.pageId}:page:loads`, input.testId, payload);
|
|
239
|
+
input.issueRecord(`${verdict.pageId}:page:data-ok`, input.testId, payload);
|
|
240
|
+
visits.push({ routeId: route.id, verdict, visited: false });
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
const visitStartedAt = Date.now();
|
|
165
244
|
const observation = await driveEngineVisit(page, input.appBase, route, input.routes, {
|
|
166
245
|
loginRoutes: input.loginRoutes,
|
|
167
246
|
errorMarkers: input.errorMarkers,
|
|
247
|
+
liveChannels: input.liveChannels,
|
|
168
248
|
});
|
|
169
249
|
const { verdict, visit } = observation;
|
|
170
250
|
if (verdict.pageId === null) {
|
|
@@ -177,18 +257,36 @@ export async function sweepPageVisits(input) {
|
|
|
177
257
|
navigations: visit.navigations,
|
|
178
258
|
exceptions: visit.exceptions,
|
|
179
259
|
domMarkerHit: visit.domMarkerHit,
|
|
180
|
-
apiStatuses: visit.apiResponses.map(({ url, status, remoteAddress, proxied }) => ({ url, status, remoteAddress, proxied })),
|
|
260
|
+
apiStatuses: visit.apiResponses.map(({ method, url, status, remoteAddress, proxied }) => ({ method, url, status, remoteAddress, proxied })),
|
|
181
261
|
// One payload reused for both contracts; the sequence increases
|
|
182
262
|
// within this sweep.
|
|
183
263
|
apiRequestsSettled: visit.apiRequestsSettled,
|
|
264
|
+
unsettledRequests: visit.unsettledRequests,
|
|
265
|
+
liveChannels: visit.liveChannels,
|
|
184
266
|
observationSequence: observationSequence++,
|
|
185
267
|
loads: verdict.loads,
|
|
186
268
|
dataOk: verdict.dataOk,
|
|
187
269
|
};
|
|
188
270
|
input.issueRecord(`${verdict.pageId}:page:loads`, input.testId, payload);
|
|
189
271
|
input.issueRecord(`${verdict.pageId}:page:data-ok`, input.testId, payload);
|
|
190
|
-
visits.push({ routeId: verdict.pageId, verdict });
|
|
272
|
+
visits.push({ routeId: verdict.pageId, verdict, visited: true });
|
|
273
|
+
input.onProgress?.(formatSweepProgress({
|
|
274
|
+
index: index + 1,
|
|
275
|
+
total: input.routes.length,
|
|
276
|
+
audience: input.audience,
|
|
277
|
+
path: route.path,
|
|
278
|
+
proven: verdict.loads.satisfied && verdict.dataOk.satisfied,
|
|
279
|
+
firstReason: verdict.loads.refusalReasons[0] ?? verdict.dataOk.refusalReasons[0] ?? null,
|
|
280
|
+
ms: Date.now() - visitStartedAt,
|
|
281
|
+
detail: progressDetailFor(verdict.loads.refusalReasons[0] ?? verdict.dataOk.refusalReasons[0] ?? null, visit, route.anonymous === true),
|
|
282
|
+
}));
|
|
283
|
+
if (index === 0 && input.storageState !== undefined) {
|
|
284
|
+
const login = landedLoginRoute(visit.url, route.path, input.loginRoutes);
|
|
285
|
+
if (login !== null) {
|
|
286
|
+
sessionRejected = { path: route.path, login, notVisited: input.routes.length - 1 };
|
|
287
|
+
}
|
|
288
|
+
}
|
|
191
289
|
}
|
|
192
|
-
return visits;
|
|
290
|
+
return { visits, sessionRejected };
|
|
193
291
|
}
|
|
194
292
|
//# sourceMappingURL=page-observer-registration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-observer-registration.js","sourceRoot":"","sources":["../../src/witness/page-observer-registration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page-observer-registration.js","sourceRoot":"","sources":["../../src/witness/page-observer-registration.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ export interface PageObserverOptions {
|
|
|
5
5
|
loginRoutes?: readonly string[];
|
|
6
6
|
errorMarkers: readonly string[];
|
|
7
7
|
appOrigins: readonly string[];
|
|
8
|
+
/** Controller-declared live-channel path prefixes (`pages.liveChannels`). */
|
|
9
|
+
liveChannels?: readonly string[];
|
|
8
10
|
isProxiedExchange: (url: string, status: number) => boolean;
|
|
9
11
|
onVisit: (visit: ObservedPageVisit, verdict: PageVisitVerdict) => void | Promise<void>;
|
|
10
12
|
quietMs?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-observer.d.ts","sourceRoot":"","sources":["../../src/witness/page-observer.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"page-observer.d.ts","sourceRoot":"","sources":["../../src/witness/page-observer.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAQ/B,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,6EAA6E;IAC7E,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5D,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA2DD,MAAM,WAAW,YAAY;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AA6FD,qFAAqF;AACrF,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CA0b5F"}
|