zan-browser 1.3.38 → 2.0.1

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 +57 -59
  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 +6 -3
  22. package/dist/interceptor.d.ts.map +1 -1
  23. package/dist/interceptor.js +61 -21
  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 +506 -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 +123 -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;CAmBxB"}
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,69 @@ 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}`);
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
+ const valid = ["puppeteer-local", "browserbase", "ws-endpoint"];
64
+ if (!valid.includes(envProvider)) {
65
+ console.warn(`[RensanBrowser] Invalid BROWSER_PROVIDER="${envProvider}", falling back to auto-detect`);
66
+ }
67
+ else {
68
+ return envProvider;
69
+ }
73
70
  }
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
- };
71
+ // Auto-detect from config
72
+ if (this.config.session.browserbase)
73
+ return "browserbase";
74
+ if (this.config.session.wsEndpoint)
75
+ return "ws-endpoint";
76
+ // Default: local Puppeteer
77
+ return "puppeteer-local";
80
78
  }
81
79
  }
82
80
  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,13 +1,14 @@
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;
6
6
  private requestMap;
7
+ private requestCounter;
7
8
  private active;
8
9
  private page;
9
10
  private lastActionTimestamp;
10
- constructor(page: Page);
11
+ constructor(page: PageHandle);
11
12
  start(): void;
12
13
  stop(): void;
13
14
  getAll(): CapturedRequest[];
@@ -15,13 +16,15 @@ export declare class Interceptor extends EventEmitter {
15
16
  clear(): void;
16
17
  markActionTimestamp(): void;
17
18
  getActionTriggered(): CapturedRequest[];
19
+ hasSeedValueInResponses(seedValues: string[]): boolean;
18
20
  private onRequest;
21
+ private responseCounter;
19
22
  private onResponse;
23
+ private failedCounter;
20
24
  private onRequestFailed;
21
25
  private scoreRequest;
22
26
  private shouldIgnore;
23
27
  private isAsset;
24
- private isXHR;
25
28
  private isUsefulContentType;
26
29
  }
27
30
  //# 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,cAAc,CAAkC;IACxD,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;IASb,mBAAmB,IAAI,IAAI;IAK3B,kBAAkB,IAAI,eAAe,EAAE;IAKvC,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO;IAgBtD,OAAO,CAAC,SAAS,CAsCf;IAEF,OAAO,CAAC,eAAe,CAAkC;IAEzD,OAAO,CAAC,UAAU,CAkDhB;IAEF,OAAO,CAAC,aAAa,CAAkC;IAEvD,OAAO,CAAC,eAAe,CAarB;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,8 @@ 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
52
+ requestCounter = new Map(); // url+method → counter (avoids collision)
51
53
  active = false;
52
54
  page;
53
55
  lastActionTimestamp = 0;
@@ -60,6 +62,7 @@ class Interceptor extends events_1.EventEmitter {
60
62
  if (this.active)
61
63
  return;
62
64
  this.active = true;
65
+ // Works for both Puppeteer and Playwright — they both emit 'request' and 'response'
63
66
  this.page.on("request", this.onRequest);
64
67
  this.page.on("response", this.onResponse);
65
68
  this.page.on("requestfailed", this.onRequestFailed);
@@ -82,6 +85,8 @@ class Interceptor extends events_1.EventEmitter {
82
85
  clear() {
83
86
  this.captured.clear();
84
87
  this.requestMap.clear();
88
+ this.requestCounter.clear();
89
+ this.responseCounter.clear();
85
90
  }
86
91
  // Call this immediately before executing any user action (click, fill, scroll)
87
92
  // so subsequent requests can be correlated to that action
@@ -92,49 +97,81 @@ class Interceptor extends events_1.EventEmitter {
92
97
  getActionTriggered() {
93
98
  return this.getAll().filter((r) => r.triggeredByAction === true);
94
99
  }
100
+ // Check if any captured response body contains one of the seed values
101
+ hasSeedValueInResponses(seedValues) {
102
+ if (seedValues.length === 0)
103
+ return false;
104
+ const lowerSeeds = seedValues.map((s) => s.toLowerCase());
105
+ for (const r of this.captured.values()) {
106
+ if (!r.responseBody || r.responseBody.length < 50)
107
+ continue;
108
+ const body = r.responseBody.toLowerCase();
109
+ if (lowerSeeds.some((sv) => body.includes(sv)))
110
+ return true;
111
+ }
112
+ return false;
113
+ }
95
114
  // ─── Private handlers ───────────────────────────────────────────────────────
115
+ // These handlers receive the raw Puppeteer/Playwright request/response objects.
116
+ // We access them through their common API surface.
96
117
  onRequest = (request) => {
97
118
  const url = request.url();
98
119
  if (this.shouldIgnore(url))
99
120
  return;
100
121
  const id = (0, crypto_1.randomUUID)();
101
- this.requestMap.set(request.url() + request.method(), id);
122
+ const method = request.method();
123
+ // Use counter to avoid collision when same url+method fires twice rapidly
124
+ const baseKey = url + method;
125
+ const count = (this.requestCounter.get(baseKey) ?? 0) + 1;
126
+ this.requestCounter.set(baseKey, count);
127
+ this.requestMap.set(baseKey + "#" + count, id);
102
128
  const now = Date.now();
103
129
  const triggeredByAction = this.lastActionTimestamp > 0 &&
104
130
  now - this.lastActionTimestamp <= ACTION_CORRELATION_WINDOW_MS;
131
+ const resourceType = request.resourceType();
105
132
  const entry = {
106
133
  id,
107
134
  timestamp: now,
108
- method: request.method(),
135
+ method,
109
136
  url,
110
137
  requestHeaders: request.headers(),
111
- requestBody: request.postData() ?? undefined,
112
- isXHR: this.isXHR(request),
138
+ requestBody: request.postData?.() ?? undefined,
139
+ isXHR: resourceType === "xhr" || resourceType === "fetch",
113
140
  isAsset: this.isAsset(url),
114
141
  score: 0, // scored when response arrives
115
142
  triggeredByAction,
116
143
  };
117
144
  this.captured.set(id, entry);
145
+ // Puppeteer requires request.continue() when interception is enabled
146
+ if (typeof request.continue === "function") {
147
+ request.continue().catch(() => { });
148
+ }
118
149
  };
150
+ responseCounter = new Map();
119
151
  onResponse = async (response) => {
120
152
  const url = response.url();
121
153
  if (this.shouldIgnore(url))
122
154
  return;
123
- const key = url + response.request().method();
124
- const id = this.requestMap.get(key);
155
+ const method = response.request().method();
156
+ const baseKey = url + method;
157
+ // Match response to request using same counter sequence
158
+ const count = (this.responseCounter.get(baseKey) ?? 0) + 1;
159
+ this.responseCounter.set(baseKey, count);
160
+ const id = this.requestMap.get(baseKey + "#" + count);
125
161
  if (!id)
126
162
  return;
127
163
  const entry = this.captured.get(id);
128
164
  if (!entry)
129
165
  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.
166
+ const headers = response.headers();
167
+ const contentType = headers["content-type"] ?? "";
168
+ const status = response.status();
169
+ // For XHR/fetch requests always try to read the body
133
170
  let body;
134
171
  if (entry.isXHR && !entry.isAsset) {
135
172
  try {
136
173
  body = await response.text();
137
- // Discard if clearly not data (HTML page, binary content)
174
+ // Discard if clearly HTML
138
175
  if (body && (body.trimStart().startsWith("<!DOCTYPE") || body.trimStart().startsWith("<html"))) {
139
176
  body = undefined;
140
177
  }
@@ -153,18 +190,23 @@ class Interceptor extends events_1.EventEmitter {
153
190
  }
154
191
  const updated = {
155
192
  ...entry,
156
- status: response.status(),
157
- responseHeaders: response.headers(),
193
+ status,
194
+ responseHeaders: headers,
158
195
  responseBody: body,
159
196
  contentType,
160
- score: this.scoreRequest(entry, response.status(), contentType, body),
197
+ score: this.scoreRequest(entry, status, contentType, body),
161
198
  };
162
199
  this.captured.set(id, updated);
163
200
  this.emit("request", updated); // real-time stream
164
201
  };
202
+ failedCounter = new Map();
165
203
  onRequestFailed = (request) => {
166
- const key = request.url() + request.method();
167
- const id = this.requestMap.get(key);
204
+ const url = request.url();
205
+ const method = request.method();
206
+ const baseKey = url + method;
207
+ const count = (this.failedCounter.get(baseKey) ?? 0) + 1;
208
+ this.failedCounter.set(baseKey, count);
209
+ const id = this.requestMap.get(baseKey + "#" + count);
168
210
  if (!id)
169
211
  return;
170
212
  const entry = this.captured.get(id);
@@ -234,7 +276,9 @@ class Interceptor extends events_1.EventEmitter {
234
276
  }
235
277
  // ─── Helpers ─────────────────────────────────────────────────────────────────
236
278
  shouldIgnore(url) {
237
- return url.startsWith("data:") || url.startsWith("blob:");
279
+ if (url.startsWith("data:") || url.startsWith("blob:"))
280
+ return true;
281
+ return (0, blacklist_1.isBlacklisted)(url);
238
282
  }
239
283
  isAsset(url) {
240
284
  try {
@@ -245,10 +289,6 @@ class Interceptor extends events_1.EventEmitter {
245
289
  return false;
246
290
  }
247
291
  }
248
- isXHR(request) {
249
- const type = request.resourceType();
250
- return type === "xhr" || type === "fetch";
251
- }
252
292
  isUsefulContentType(contentType) {
253
293
  return USEFUL_CONTENT_TYPES.some((t) => contentType.includes(t));
254
294
  }
@@ -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":"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"}
@@ -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;YAmNzB,iBAAiB;YAgIjB,aAAa;YAiEb,oBAAoB;YAkBpB,oBAAoB;IAuBlC,OAAO,CAAC,aAAa;CAetB"}