Files
reverse-engineering-anything/src/browser/CdpCaptureEventState.ts
T
morlutoandCursor Agent ae0f725fad fix(browser): preserve authorized redirect hops (#986)
* fix(browser): preserve authorized redirect hops

* fix(browser): compare redirect semantics without event times

* fix(browser): classify missing redirect predecessors

* fix(browser): distinguish malformed redirect URLs

* fix(browser): preserve evidence on malformed redirect envelopes

* fix(browser): freeze evidence after malformed redirect

* docs: regenerate catalogs after main integration

* fix(browser): account for skipped redirect body shapes

* fix(browser): mark skipped redirect response shapes unavailable

When a malformed redirect keeps a JSON predecessor, record that its response body shape was not captured.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-10-08 01:08:31 +08:00

32 lines
1.3 KiB
TypeScript

import type {
InspectWebPageInput,
WebPageInspection,
} from "../domain/browserObservation.js";
import type { CdpCaptureCompleteness } from "./CdpCaptureCompleteness.js";
import type { CapturedScript, NetworkState } from "./CdpCaptureEventTypes.js";
export interface CdpCaptureEventsState {
readonly input: InspectWebPageInput;
readonly allowedOrigins: ReadonlySet<string>;
readonly scripts: Map<string, CapturedScript>;
readonly executionContextFrames: Map<string, string>;
readonly network: Map<string, NetworkState>;
readonly networkRequestTimestamps: Map<string, number>;
readonly malformedRedirectRequestIds: Set<string>;
readonly allowedWebSockets: Set<string>;
console: WebPageInspection["console"]["events"];
websockets: WebPageInspection["network"]["websocket_events"];
responseMetadata: WebPageInspection["metadata"]["responses"];
agentHints: WebPageInspection["metadata"]["agent_hints"];
readonly completeness: CdpCaptureCompleteness;
originViolation: boolean;
navigationDuringCapture: boolean;
mainFrameId: string | undefined;
/**
* Identity of the document last observed in the main frame. `frameNavigated`
* re-fires for the same document, so this is what distinguishes a real
* document change from a duplicate event.
*/
committedDocument: string | undefined;
}