zan-browser 1.3.38 → 2.0.0

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.
Files changed (51) hide show
  1. package/dist/ai.d.ts +3 -16
  2. package/dist/ai.d.ts.map +1 -1
  3. package/dist/ai.js +101 -208
  4. package/dist/ai.js.map +1 -1
  5. package/dist/blacklist.d.ts +2 -0
  6. package/dist/blacklist.d.ts.map +1 -0
  7. package/dist/blacklist.js +115 -0
  8. package/dist/blacklist.js.map +1 -0
  9. package/dist/browser-provider.d.ts +81 -0
  10. package/dist/browser-provider.d.ts.map +1 -0
  11. package/dist/browser-provider.js +6 -0
  12. package/dist/browser-provider.js.map +1 -0
  13. package/dist/browser.d.ts +1 -1
  14. package/dist/browser.d.ts.map +1 -1
  15. package/dist/browser.js +51 -60
  16. package/dist/browser.js.map +1 -1
  17. package/dist/index.d.ts +7 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +5 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/interceptor.d.ts +3 -3
  22. package/dist/interceptor.d.ts.map +1 -1
  23. package/dist/interceptor.js +45 -19
  24. package/dist/interceptor.js.map +1 -1
  25. package/dist/navigator.d.ts +40 -0
  26. package/dist/navigator.d.ts.map +1 -0
  27. package/dist/navigator.js +507 -0
  28. package/dist/navigator.js.map +1 -0
  29. package/dist/observer.d.ts +23 -3
  30. package/dist/observer.d.ts.map +1 -1
  31. package/dist/observer.js +310 -270
  32. package/dist/observer.js.map +1 -1
  33. package/dist/perception.d.ts +42 -0
  34. package/dist/perception.d.ts.map +1 -0
  35. package/dist/perception.js +140 -0
  36. package/dist/perception.js.map +1 -0
  37. package/dist/providers/browserbase.d.ts +12 -0
  38. package/dist/providers/browserbase.d.ts.map +1 -0
  39. package/dist/providers/browserbase.js +226 -0
  40. package/dist/providers/browserbase.js.map +1 -0
  41. package/dist/providers/puppeteer-local.d.ts +5 -0
  42. package/dist/providers/puppeteer-local.d.ts.map +1 -0
  43. package/dist/providers/puppeteer-local.js +218 -0
  44. package/dist/providers/puppeteer-local.js.map +1 -0
  45. package/dist/session.d.ts +17 -23
  46. package/dist/session.d.ts.map +1 -1
  47. package/dist/session.js +112 -407
  48. package/dist/session.js.map +1 -1
  49. package/dist/types.d.ts +1 -32
  50. package/dist/types.d.ts.map +1 -1
  51. package/package.json +3 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-provider.d.ts","sourceRoot":"","sources":["../src/browser-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ // ─── Browser provider abstraction ──────────────────────────────────────────────
3
+ // Unified interface over Puppeteer (local) and Playwright (Browserbase).
4
+ // Allows swapping the browser backend without changing any upstream code.
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=browser-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-provider.js","sourceRoot":"","sources":["../src/browser-provider.ts"],"names":[],"mappings":";AAAA,kFAAkF;AAClF,yEAAyE;AACzE,0EAA0E"}
package/dist/browser.d.ts CHANGED
@@ -5,6 +5,6 @@ export declare class RensanBrowser {
5
5
  private ai;
6
6
  constructor(config: BrowserConfig);
7
7
  newSession(): Promise<Session>;
8
- private createBrowserbaseSession;
8
+ private resolveProvider;
9
9
  }
10
10
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,EAAE,CAAW;gBAET,MAAM,EAAE,aAAa;IAQ3B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;YA6CtB,wBAAwB;CAoCvC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,SAAS,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,EAAE,CAAW;gBAET,MAAM,EAAE,aAAa;IAO3B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IA6CpC,OAAO,CAAC,eAAe;CAYxB"}
package/dist/browser.js CHANGED
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RensanBrowser = void 0;
4
- const playwright_1 = require("playwright");
5
4
  const session_1 = require("./session");
6
5
  const ai_1 = require("./ai");
6
+ const puppeteer_local_1 = require("./providers/puppeteer-local");
7
+ const browserbase_1 = require("./providers/browserbase");
7
8
  class RensanBrowser {
8
9
  config;
9
10
  ai;
@@ -11,72 +12,62 @@ class RensanBrowser {
11
12
  this.config = config;
12
13
  this.ai = new ai_1.AIClient(config.ai.apiKey, config.ai.model);
13
14
  }
14
- // Create a new browser session.
15
- // If Browserbase config is provided, creates a session via their API first
16
- // and returns the viewerUrl so the frontend can watch in real time.
15
+ // Create a new browser session using the configured provider.
16
+ // Provider selection: puppeteer-local (default for dev) browserbase (production)
17
17
  async newSession() {
18
18
  const { proxy, viewport, timeout } = this.config.session;
19
- let wsEndpoint;
20
- let viewerUrl;
21
- if (this.config.session.browserbase) {
22
- const bb = await this.createBrowserbaseSession(this.config.session.browserbase);
23
- wsEndpoint = bb.connectUrl;
24
- viewerUrl = bb.viewerUrl;
19
+ const providerType = this.resolveProvider();
20
+ let browserHandle;
21
+ if (providerType === "browserbase") {
22
+ if (!this.config.session.browserbase) {
23
+ throw new Error("BrowserConfig requires browserbase config when provider=browserbase");
24
+ }
25
+ const provider = new browserbase_1.BrowserbaseProvider(this.config.session.browserbase);
26
+ browserHandle = await provider.launch({
27
+ viewport: viewport ?? { width: 1280, height: 800 },
28
+ proxy,
29
+ timeout: timeout ?? 30_000,
30
+ });
25
31
  }
26
- else if (this.config.session.wsEndpoint) {
27
- wsEndpoint = this.config.session.wsEndpoint;
32
+ else if (providerType === "puppeteer-local") {
33
+ const provider = new puppeteer_local_1.PuppeteerLocalProvider();
34
+ browserHandle = await provider.launch({
35
+ viewport: viewport ?? { width: 1280, height: 800 },
36
+ proxy,
37
+ timeout: timeout ?? 30_000,
38
+ headless: this.config.session.headless ?? true,
39
+ });
28
40
  }
29
41
  else {
30
- throw new Error("BrowserConfig requires either wsEndpoint or browserbase config");
42
+ // ws-endpoint: use Browserbase provider with custom wsEndpoint
43
+ // For backwards compat — wraps Playwright connectOverCDP
44
+ if (!this.config.session.wsEndpoint) {
45
+ throw new Error("BrowserConfig requires wsEndpoint when provider=ws-endpoint");
46
+ }
47
+ // Use Puppeteer local as fallback for ws-endpoint (connect via CDP)
48
+ const provider = new puppeteer_local_1.PuppeteerLocalProvider();
49
+ browserHandle = await provider.launch({
50
+ viewport: viewport ?? { width: 1280, height: 800 },
51
+ proxy,
52
+ timeout: timeout ?? 30_000,
53
+ });
31
54
  }
32
- // Browserbase returns a CDP endpoint → connectOverCDP
33
- // Self-hosted playwright run-server connect (Playwright Wire Protocol)
34
- const browser = this.config.session.browserbase
35
- ? await playwright_1.chromium.connectOverCDP(wsEndpoint, { timeout: 30_000 })
36
- : await playwright_1.chromium.connectOverCDP(wsEndpoint, { timeout: 30_000 });
37
- const contextOptions = {
38
- viewport: viewport ?? { width: 1280, height: 800 },
39
- userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
40
- locale: "en-US",
41
- timezoneId: "America/New_York",
42
- };
43
- if (proxy) {
44
- contextOptions.proxy = {
45
- server: proxy.server,
46
- username: proxy.username,
47
- password: proxy.password,
48
- };
49
- }
50
- const context = await browser.newContext(contextOptions);
51
- const page = await context.newPage();
52
- return new session_1.Session(page, browser, this.ai, timeout, viewerUrl);
55
+ const page = await browserHandle.newPage();
56
+ return new session_1.Session(page, browserHandle, this.ai, timeout, browserHandle.viewerUrl);
53
57
  }
54
- // ─── Browserbase session creation ─────────────────────────────────────────────
55
- async createBrowserbaseSession(config) {
56
- const response = await fetch("https://www.browserbase.com/v1/sessions", {
57
- method: "POST",
58
- headers: {
59
- "Content-Type": "application/json",
60
- "x-bb-api-key": config.apiKey,
61
- },
62
- body: JSON.stringify({
63
- projectId: config.projectId,
64
- browserSettings: {
65
- viewport: this.config.session.viewport ?? { width: 1280, height: 800 },
66
- },
67
- }),
68
- signal: AbortSignal.timeout(15_000),
69
- });
70
- if (!response.ok) {
71
- const body = await response.text();
72
- throw new Error(`Browserbase session creation failed (${response.status}): ${body}`);
73
- }
74
- const data = await response.json();
75
- return {
76
- id: data.id,
77
- connectUrl: data.connectUrl,
78
- viewerUrl: data.debuggerFullscreenUrl ?? data.debuggerUrl ?? `https://www.browserbase.com/sessions/${data.id}`,
79
- };
58
+ // Determine which provider to use based on config + env
59
+ resolveProvider() {
60
+ // Explicit env override
61
+ const envProvider = process.env.BROWSER_PROVIDER;
62
+ if (envProvider)
63
+ return envProvider;
64
+ // Auto-detect from config
65
+ if (this.config.session.browserbase)
66
+ return "browserbase";
67
+ if (this.config.session.wsEndpoint)
68
+ return "ws-endpoint";
69
+ // Default: local Puppeteer
70
+ return "puppeteer-local";
80
71
  }
81
72
  }
82
73
  exports.RensanBrowser = RensanBrowser;
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,10 @@
1
1
  export { RensanBrowser } from "./browser";
2
2
  export { Session } from "./session";
3
- export type { ObservedElement, ObserveResult, CapturedRequest, SeedValue, PageLink, AgentAction, AgentState, AgentCompletion, RelevantInteraction, ActResult, FindDataResult, SessionConfig, AIConfig, BrowserConfig, Screenshot, ElementType, } from "./types";
3
+ export { SmartNavigator } from "./navigator";
4
+ export type { ObservedElement, ObserveResult, CapturedRequest, SeedValue, AgentAction, ActResult, FindDataResult, SessionConfig, AIConfig, BrowserConfig, Screenshot, ElementType, } from "./types";
5
+ export type { PageHandle, BrowserHandle, BrowserProvider, ProviderType, } from "./browser-provider";
6
+ export type { NavigationConfig, NavigationResult, NavigationStrategy, } from "./navigator";
7
+ export type { Perception, StepContext, StepRecord, } from "./perception";
8
+ export type { DetectedForm, AutocompleteItem, } from "./observer";
9
+ export { isBlacklisted } from "./blacklist";
4
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,SAAS,EACT,QAAQ,EACR,WAAW,EACX,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,aAAa,EACb,QAAQ,EACR,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,SAAS,EACT,WAAW,EACX,SAAS,EACT,cAAc,EACd,aAAa,EACb,QAAQ,EACR,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,UAAU,EACV,aAAa,EACb,eAAe,EACf,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Session = exports.RensanBrowser = void 0;
3
+ exports.isBlacklisted = exports.SmartNavigator = exports.Session = exports.RensanBrowser = void 0;
4
4
  var browser_1 = require("./browser");
5
5
  Object.defineProperty(exports, "RensanBrowser", { enumerable: true, get: function () { return browser_1.RensanBrowser; } });
6
6
  var session_1 = require("./session");
7
7
  Object.defineProperty(exports, "Session", { enumerable: true, get: function () { return session_1.Session; } });
8
+ var navigator_1 = require("./navigator");
9
+ Object.defineProperty(exports, "SmartNavigator", { enumerable: true, get: function () { return navigator_1.SmartNavigator; } });
10
+ var blacklist_1 = require("./blacklist");
11
+ Object.defineProperty(exports, "isBlacklisted", { enumerable: true, get: function () { return blacklist_1.isBlacklisted; } });
8
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AACtB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AACtB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,yCAA6C;AAApC,2GAAA,cAAc,OAAA;AAmCvB,yCAA4C;AAAnC,0GAAA,aAAa,OAAA"}
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from "events";
2
- import type { Page } from "playwright";
2
+ import type { PageHandle } from "./browser-provider";
3
3
  import type { CapturedRequest } from "./types";
4
4
  export declare class Interceptor extends EventEmitter {
5
5
  private captured;
@@ -7,7 +7,7 @@ export declare class Interceptor extends EventEmitter {
7
7
  private active;
8
8
  private page;
9
9
  private lastActionTimestamp;
10
- constructor(page: Page);
10
+ constructor(page: PageHandle);
11
11
  start(): void;
12
12
  stop(): void;
13
13
  getAll(): CapturedRequest[];
@@ -15,13 +15,13 @@ export declare class Interceptor extends EventEmitter {
15
15
  clear(): void;
16
16
  markActionTimestamp(): void;
17
17
  getActionTriggered(): CapturedRequest[];
18
+ hasSeedValueInResponses(seedValues: string[]): boolean;
18
19
  private onRequest;
19
20
  private onResponse;
20
21
  private onRequestFailed;
21
22
  private scoreRequest;
22
23
  private shouldIgnore;
23
24
  private isAsset;
24
- private isXHR;
25
25
  private isUsefulContentType;
26
26
  }
27
27
  //# sourceMappingURL=interceptor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAqB,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAmD/C,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,mBAAmB,CAAK;gBAEpB,IAAI,EAAE,IAAI;IAMtB,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IASZ,MAAM,IAAI,eAAe,EAAE;IAK3B,SAAS,CAAC,QAAQ,SAAI,GAAG,eAAe,EAAE;IAM1C,KAAK,IAAI,IAAI;IAOb,mBAAmB,IAAI,IAAI;IAK3B,kBAAkB,IAAI,eAAe,EAAE;IAMvC,OAAO,CAAC,SAAS,CA0Bf;IAEF,OAAO,CAAC,UAAU,CA6ChB;IAEF,OAAO,CAAC,eAAe,CASrB;IAIF,OAAO,CAAC,YAAY;IA8DpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,mBAAmB;CAG5B"}
1
+ {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAoD/C,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,mBAAmB,CAAK;gBAEpB,IAAI,EAAE,UAAU;IAM5B,KAAK,IAAI,IAAI;IAUb,IAAI,IAAI,IAAI;IASZ,MAAM,IAAI,eAAe,EAAE;IAK3B,SAAS,CAAC,QAAQ,SAAI,GAAG,eAAe,EAAE;IAM1C,KAAK,IAAI,IAAI;IAOb,mBAAmB,IAAI,IAAI;IAK3B,kBAAkB,IAAI,eAAe,EAAE;IAKvC,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO;IAgBtD,OAAO,CAAC,SAAS,CAkCf;IAEF,OAAO,CAAC,UAAU,CA+ChB;IAEF,OAAO,CAAC,eAAe,CAWrB;IAIF,OAAO,CAAC,YAAY;IA8DpB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,mBAAmB;CAG5B"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Interceptor = void 0;
4
4
  const events_1 = require("events");
5
+ const blacklist_1 = require("./blacklist");
5
6
  const crypto_1 = require("crypto");
6
7
  // Patterns that strongly indicate a real data API
7
8
  const API_PATH_PATTERNS = [
@@ -47,7 +48,7 @@ const USEFUL_CONTENT_TYPES = [
47
48
  const ACTION_CORRELATION_WINDOW_MS = 2000;
48
49
  class Interceptor extends events_1.EventEmitter {
49
50
  captured = new Map();
50
- requestMap = new Map(); // playwright req id → our id
51
+ requestMap = new Map(); // req key → our id
51
52
  active = false;
52
53
  page;
53
54
  lastActionTimestamp = 0;
@@ -60,6 +61,7 @@ class Interceptor extends events_1.EventEmitter {
60
61
  if (this.active)
61
62
  return;
62
63
  this.active = true;
64
+ // Works for both Puppeteer and Playwright — they both emit 'request' and 'response'
63
65
  this.page.on("request", this.onRequest);
64
66
  this.page.on("response", this.onResponse);
65
67
  this.page.on("requestfailed", this.onRequestFailed);
@@ -92,49 +94,73 @@ class Interceptor extends events_1.EventEmitter {
92
94
  getActionTriggered() {
93
95
  return this.getAll().filter((r) => r.triggeredByAction === true);
94
96
  }
97
+ // Check if any captured response body contains one of the seed values
98
+ hasSeedValueInResponses(seedValues) {
99
+ if (seedValues.length === 0)
100
+ return false;
101
+ const lowerSeeds = seedValues.map((s) => s.toLowerCase());
102
+ for (const r of this.captured.values()) {
103
+ if (!r.responseBody || r.responseBody.length < 50)
104
+ continue;
105
+ const body = r.responseBody.toLowerCase();
106
+ if (lowerSeeds.some((sv) => body.includes(sv)))
107
+ return true;
108
+ }
109
+ return false;
110
+ }
95
111
  // ─── Private handlers ───────────────────────────────────────────────────────
112
+ // These handlers receive the raw Puppeteer/Playwright request/response objects.
113
+ // We access them through their common API surface.
96
114
  onRequest = (request) => {
97
115
  const url = request.url();
98
116
  if (this.shouldIgnore(url))
99
117
  return;
100
118
  const id = (0, crypto_1.randomUUID)();
101
- this.requestMap.set(request.url() + request.method(), id);
119
+ const method = request.method();
120
+ this.requestMap.set(url + method, id);
102
121
  const now = Date.now();
103
122
  const triggeredByAction = this.lastActionTimestamp > 0 &&
104
123
  now - this.lastActionTimestamp <= ACTION_CORRELATION_WINDOW_MS;
124
+ const resourceType = request.resourceType();
105
125
  const entry = {
106
126
  id,
107
127
  timestamp: now,
108
- method: request.method(),
128
+ method,
109
129
  url,
110
130
  requestHeaders: request.headers(),
111
- requestBody: request.postData() ?? undefined,
112
- isXHR: this.isXHR(request),
131
+ requestBody: request.postData?.() ?? undefined,
132
+ isXHR: resourceType === "xhr" || resourceType === "fetch",
113
133
  isAsset: this.isAsset(url),
114
134
  score: 0, // scored when response arrives
115
135
  triggeredByAction,
116
136
  };
117
137
  this.captured.set(id, entry);
138
+ // Puppeteer requires request.continue() when interception is enabled
139
+ if (typeof request.continue === "function") {
140
+ request.continue().catch(() => { });
141
+ }
118
142
  };
119
143
  onResponse = async (response) => {
120
144
  const url = response.url();
121
145
  if (this.shouldIgnore(url))
122
146
  return;
123
- const key = url + response.request().method();
147
+ const method = response.request().method();
148
+ const key = url + method;
124
149
  const id = this.requestMap.get(key);
125
150
  if (!id)
126
151
  return;
127
152
  const entry = this.captured.get(id);
128
153
  if (!entry)
129
154
  return;
130
- const contentType = response.headers()["content-type"] ?? "";
131
- // For XHR/fetch requests always try to read the body — content-type can be
132
- // missing or unexpected even on valid JSON APIs. For assets skip to save memory.
155
+ const headers = response.headers();
156
+ const contentType = headers["content-type"] ?? "";
157
+ const status = response.status();
158
+ // For XHR/fetch requests always try to read the body
133
159
  let body;
134
160
  if (entry.isXHR && !entry.isAsset) {
135
161
  try {
136
162
  body = await response.text();
137
- // Discard if clearly not data (HTML page, binary content)
163
+ // Discard if clearly HTML
138
164
  if (body && (body.trimStart().startsWith("<!DOCTYPE") || body.trimStart().startsWith("<html"))) {
139
165
  body = undefined;
140
166
  }
@@ -153,17 +179,19 @@ class Interceptor extends events_1.EventEmitter {
153
179
  }
154
180
  const updated = {
155
181
  ...entry,
156
- status: response.status(),
157
- responseHeaders: response.headers(),
182
+ status,
183
+ responseHeaders: headers,
158
184
  responseBody: body,
159
185
  contentType,
160
- score: this.scoreRequest(entry, response.status(), contentType, body),
186
+ score: this.scoreRequest(entry, status, contentType, body),
161
187
  };
162
188
  this.captured.set(id, updated);
163
189
  this.emit("request", updated); // real-time stream
164
190
  };
165
191
  onRequestFailed = (request) => {
166
- const key = request.url() + request.method();
192
+ const url = request.url();
193
+ const method = request.method();
194
+ const key = url + method;
167
195
  const id = this.requestMap.get(key);
168
196
  if (!id)
169
197
  return;
@@ -234,7 +262,9 @@ class Interceptor extends events_1.EventEmitter {
234
262
  }
235
263
  // ─── Helpers ─────────────────────────────────────────────────────────────────
236
264
  shouldIgnore(url) {
237
- return url.startsWith("data:") || url.startsWith("blob:");
265
+ if (url.startsWith("data:") || url.startsWith("blob:"))
266
+ return true;
267
+ return (0, blacklist_1.isBlacklisted)(url);
238
268
  }
239
269
  isAsset(url) {
240
270
  try {
@@ -245,10 +275,6 @@ class Interceptor extends events_1.EventEmitter {
245
275
  return false;
246
276
  }
247
277
  }
248
- isXHR(request) {
249
- const type = request.resourceType();
250
- return type === "xhr" || type === "fetch";
251
- }
252
278
  isUsefulContentType(contentType) {
253
279
  return USEFUL_CONTENT_TYPES.some((t) => contentType.includes(t));
254
280
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAGtC,2CAA4C;AAC5C,mCAAoC;AAEpC,kDAAkD;AAClD,MAAM,iBAAiB,GAAG;IACxB,UAAU;IACV,WAAW;IACX,YAAY;IACZ,WAAW;IACX,WAAW;IACX,SAAS;IACT,WAAW;IACX,UAAU;CACX,CAAC;AAEF,MAAM,qBAAqB,GAAG;IAC5B,aAAa;IACb,aAAa;IACb,YAAY;IACZ,WAAW;IACX,UAAU;IACV,YAAY;IACZ,UAAU;CACX,CAAC;AAEF,mCAAmC;AACnC,MAAM,eAAe,GAAG;IACtB,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU;IACrE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ;CACrD,CAAC;AAEF,wCAAwC;AACxC,MAAM,gBAAgB,GAAG;IACvB,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAC/D,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAClE,MAAM,EAAE,MAAM;CACf,CAAC;AAEF,8BAA8B;AAC9B,MAAM,oBAAoB,GAAG;IAC3B,kBAAkB;IAClB,iBAAiB;IACjB,UAAU;IACV,qBAAqB;IACrB,YAAY;IACZ,mCAAmC;CACpC,CAAC;AAEF,wFAAwF;AACxF,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAE1C,MAAa,WAAY,SAAQ,qBAAY;IACnC,QAAQ,GAAiC,IAAI,GAAG,EAAE,CAAC;IACnD,UAAU,GAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,mBAAmB;IAChE,MAAM,GAAG,KAAK,CAAC;IACf,IAAI,CAAa;IACjB,mBAAmB,GAAG,CAAC,CAAC;IAEhC,YAAY,IAAgB;QAC1B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,sEAAsE;IACtE,KAAK;QACH,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,oFAAoF;QACpF,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACtD,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACvD,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;IAED,0EAA0E;IAC1E,SAAS,CAAC,QAAQ,GAAG,CAAC;QACpB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,QAAQ,CACpD,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED,+EAA+E;IAC/E,0DAA0D;IAC1D,mBAAmB;QACjB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACxC,CAAC;IAED,qFAAqF;IACrF,kBAAkB;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,sEAAsE;IACtE,uBAAuB,CAAC,UAAoB;QAC1C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1C,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAE1D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE;gBAAE,SAAS;YAC5D,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC9D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+EAA+E;IAC/E,gFAAgF;IAChF,mDAAmD;IAE3C,SAAS,GAAG,CAAC,OAAY,EAAQ,EAAE;QACzC,MAAM,GAAG,GAAW,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;YAAE,OAAO;QAEnC,MAAM,EAAE,GAAG,IAAA,mBAAU,GAAE,CAAC;QACxB,MAAM,MAAM,GAAW,OAAO,CAAC,MAAM,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,iBAAiB,GACrB,IAAI,CAAC,mBAAmB,GAAG,CAAC;YAC5B,GAAG,GAAG,IAAI,CAAC,mBAAmB,IAAI,4BAA4B,CAAC;QAEjE,MAAM,YAAY,GAAW,OAAO,CAAC,YAAY,EAAE,CAAC;QAEpD,MAAM,KAAK,GAAoB;YAC7B,EAAE;YACF,SAAS,EAAE,GAAG;YACd,MAAM;YACN,GAAG;YACH,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE;YACjC,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,SAAS;YAC9C,KAAK,EAAE,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,OAAO;YACzD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC1B,KAAK,EAAE,CAAC,EAAE,+BAA+B;YACzC,iBAAiB;SAClB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAE7B,qEAAqE;QACrE,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC3C,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAyB,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC;IAEM,UAAU,GAAG,KAAK,EAAE,QAAa,EAAiB,EAAE;QAC1D,MAAM,GAAG,GAAW,QAAQ,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;YAAE,OAAO;QAEnC,MAAM,MAAM,GAAW,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,OAAO,GAA2B,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,MAAM,GAAW,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEzC,qDAAqD;QACrD,IAAI,IAAwB,CAAC;QAC7B,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC7B,0BAA0B;gBAC1B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;oBAC/F,IAAI,GAAG,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAoB;YAC/B,GAAG,KAAK;YACR,MAAM;YACN,eAAe,EAAE,OAAO;YACxB,YAAY,EAAE,IAAI;YAClB,WAAW;YACX,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC;SAC3D,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB;IACpD,CAAC,CAAC;IAEM,eAAe,GAAG,CAAC,OAAY,EAAQ,EAAE;QAC/C,MAAM,GAAG,GAAW,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,MAAM,GAAW,OAAO,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,+EAA+E;IAEvE,YAAY,CAClB,GAAoB,EACpB,MAAc,EACd,WAAmB,EACnB,IAAa;QAEb,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,IAAI,GAAG,CAAC,OAAO;YAAE,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC,CAAC;QAE1B,4BAA4B;QAC5B,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC;QAE7C,iDAAiD;QACjD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC;YACnD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YAC1C,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAAE,KAAK,IAAI,EAAE,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,oBAAoB;QACpB,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QAE/D,wBAAwB;QACxB,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QAEnE,eAAe;QACf,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QACzD,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QAE3E,4BAA4B;QAC5B,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;YAAE,KAAK,IAAI,CAAC,CAAC;QAE3C,8BAA8B;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;YAC7C,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;gBAChC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,sCAAsC;QACtC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;QACrC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;QAErC,2EAA2E;QAC3E,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,6BAA6B,CAAC,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;QAE7E,mFAAmF;QACnF,IAAI,GAAG,CAAC,iBAAiB;YAAE,KAAK,IAAI,CAAC,CAAC;QAEtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gFAAgF;IAExE,YAAY,CAAC,GAAW;QAC9B,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACpE,OAAO,IAAA,yBAAa,EAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAEO,OAAO,CAAC,GAAW;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACjD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,WAAmB;QAC7C,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;CACF;AA/PD,kCA+PC"}
@@ -0,0 +1,40 @@
1
+ import type { PageHandle } from "./browser-provider";
2
+ import type { CapturedRequest, SeedValue } from "./types";
3
+ import type { Observer } from "./observer";
4
+ import type { Interceptor } from "./interceptor";
5
+ import type { AIClient } from "./ai";
6
+ import { type StepRecord } from "./perception";
7
+ export type NavigationStrategy = "load-capture" | "search" | "multi-step" | "auto";
8
+ export interface NavigationConfig {
9
+ url: string;
10
+ navigationGoal: string;
11
+ seedValues: SeedValue[];
12
+ strategy: NavigationStrategy;
13
+ hypothesis?: string;
14
+ maxSteps: number;
15
+ onProgress?: (msg: string) => void;
16
+ }
17
+ export interface NavigationResult {
18
+ success: boolean;
19
+ requests: CapturedRequest[];
20
+ steps: StepRecord[];
21
+ finalUrl: string;
22
+ reason: string;
23
+ earlyTerminated: boolean;
24
+ }
25
+ export declare class SmartNavigator {
26
+ private page;
27
+ private observer;
28
+ private interceptor;
29
+ private ai;
30
+ constructor(page: PageHandle, observer: Observer, interceptor: Interceptor, ai: AIClient);
31
+ navigate(config: NavigationConfig): Promise<NavigationResult>;
32
+ private strategyLoadAndCapture;
33
+ private strategySearchInteraction;
34
+ private strategyMultiStep;
35
+ private executeAction;
36
+ private tryClickAutocomplete;
37
+ private waitForNetworkSettle;
38
+ private inferStrategy;
39
+ }
40
+ //# sourceMappingURL=navigator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator.d.ts","sourceRoot":"","sources":["../src/navigator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAe,MAAM,SAAS,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAItB,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,QAAQ,GAAG,YAAY,GAAG,MAAM,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;CAC1B;AAyBD,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,EAAE,CAAW;gBAGnB,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,EAAE,EAAE,QAAQ;IAUR,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAuBrD,sBAAsB;YAyCtB,yBAAyB;YAqNzB,iBAAiB;YAgIjB,aAAa;YAiEb,oBAAoB;YAkBpB,oBAAoB;IAuBlC,OAAO,CAAC,aAAa;CAetB"}