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,218 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PuppeteerLocalProvider = void 0;
7
+ const puppeteer_core_1 = __importDefault(require("puppeteer-core"));
8
+ const fs_1 = require("fs");
9
+ // ─── Known browser paths per platform ─────────────────────────────────────────
10
+ const CHROME_PATHS = {
11
+ darwin: [
12
+ "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
13
+ "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser",
14
+ "/Applications/Chromium.app/Contents/MacOS/Chromium",
15
+ ],
16
+ linux: [
17
+ "/usr/bin/google-chrome",
18
+ "/usr/bin/google-chrome-stable",
19
+ "/usr/bin/chromium-browser",
20
+ "/usr/bin/chromium",
21
+ "/usr/bin/brave-browser",
22
+ ],
23
+ win32: [
24
+ "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
25
+ "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe",
26
+ "C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe",
27
+ ],
28
+ };
29
+ function findBrowserExecutable() {
30
+ const paths = CHROME_PATHS[process.platform] ?? [];
31
+ for (const p of paths) {
32
+ if ((0, fs_1.existsSync)(p))
33
+ return p;
34
+ }
35
+ throw new Error(`No Chrome/Brave/Chromium found. Searched: ${paths.join(", ")}. ` +
36
+ `Set BROWSER_EXECUTABLE_PATH env var to your browser binary.`);
37
+ }
38
+ // ─── Anti-detection launch flags ──────────────────────────────────────────────
39
+ const STEALTH_ARGS = [
40
+ "--no-sandbox",
41
+ "--disable-setuid-sandbox",
42
+ "--disable-web-security",
43
+ "--disable-blink-features=AutomationControlled",
44
+ "--disable-infobars",
45
+ "--disable-background-timer-throttling",
46
+ "--disable-backgrounding-occluded-windows",
47
+ "--disable-renderer-backgrounding",
48
+ "--disable-features=IsolateOrigins,site-per-process",
49
+ "--lang=en-US,en",
50
+ ];
51
+ // ─── Puppeteer PageHandle adapter ─────────────────────────────────────────────
52
+ class PuppeteerElementHandle {
53
+ el;
54
+ constructor(el) {
55
+ this.el = el;
56
+ }
57
+ async click() {
58
+ await this.el.click();
59
+ }
60
+ async boundingBox() {
61
+ const box = await this.el.boundingBox();
62
+ return box ?? null;
63
+ }
64
+ }
65
+ class PuppeteerPageHandle {
66
+ page;
67
+ closed = false;
68
+ constructor(page) {
69
+ this.page = page;
70
+ }
71
+ async goto(url, options) {
72
+ const waitUntil = (options?.waitUntil ?? "domcontentloaded");
73
+ await this.page.goto(url, {
74
+ waitUntil,
75
+ timeout: options?.timeout ?? 30_000,
76
+ });
77
+ }
78
+ url() {
79
+ return this.page.url();
80
+ }
81
+ async title() {
82
+ return this.page.title();
83
+ }
84
+ async content() {
85
+ return this.page.content();
86
+ }
87
+ async reload(options) {
88
+ await this.page.reload({ timeout: options?.timeout });
89
+ }
90
+ async evaluate(fn, ...args) {
91
+ return this.page.evaluate(fn, ...args);
92
+ }
93
+ async screenshot(options) {
94
+ const result = await this.page.screenshot({
95
+ type: options?.type ?? "jpeg",
96
+ quality: options?.quality ?? 80,
97
+ encoding: options?.encoding ?? "binary",
98
+ });
99
+ return result;
100
+ }
101
+ async click(selector, options) {
102
+ await this.page.click(selector, { count: options?.clickCount });
103
+ }
104
+ async type(selector, text, options) {
105
+ await this.page.type(selector, text, { delay: options?.delay });
106
+ }
107
+ keyboard = {
108
+ press: async (key) => {
109
+ await this.page.keyboard.press(key);
110
+ },
111
+ type: async (text, options) => {
112
+ await this.page.keyboard.type(text, { delay: options?.delay });
113
+ },
114
+ };
115
+ mouse = {
116
+ click: async (x, y) => {
117
+ await this.page.mouse.click(x, y);
118
+ },
119
+ move: async (x, y) => {
120
+ await this.page.mouse.move(x, y);
121
+ },
122
+ };
123
+ async waitForTimeout(ms) {
124
+ await new Promise((r) => setTimeout(r, ms));
125
+ }
126
+ async waitForSelector(selector, options) {
127
+ try {
128
+ const el = await this.page.waitForSelector(selector, {
129
+ timeout: options?.timeout ?? 5_000,
130
+ visible: options?.visible,
131
+ });
132
+ return el ? new PuppeteerElementHandle(el) : null;
133
+ }
134
+ catch {
135
+ return null;
136
+ }
137
+ }
138
+ async waitForNetworkIdle(options) {
139
+ // Puppeteer has waitForNetworkIdle natively since v19
140
+ try {
141
+ await this.page.waitForNetworkIdle({
142
+ timeout: options?.timeout ?? 8_000,
143
+ idleTime: options?.idleTime ?? 500,
144
+ });
145
+ }
146
+ catch {
147
+ // Timeout is non-fatal — page may have background polling
148
+ }
149
+ }
150
+ async $$(selector) {
151
+ const els = await this.page.$$(selector);
152
+ return els.map((el) => new PuppeteerElementHandle(el));
153
+ }
154
+ async setRequestInterception(enabled) {
155
+ await this.page.setRequestInterception(enabled);
156
+ }
157
+ on(event, handler) {
158
+ this.page.on(event, handler);
159
+ }
160
+ off(event, handler) {
161
+ this.page.off(event, handler);
162
+ }
163
+ async close() {
164
+ if (!this.closed) {
165
+ this.closed = true;
166
+ await this.page.close();
167
+ }
168
+ }
169
+ isClosed() {
170
+ return this.closed || this.page.isClosed();
171
+ }
172
+ }
173
+ // ─── Puppeteer BrowserHandle adapter ──────────────────────────────────────────
174
+ class PuppeteerBrowserHandle {
175
+ browser;
176
+ constructor(browser) {
177
+ this.browser = browser;
178
+ }
179
+ async newPage() {
180
+ const page = await this.browser.newPage();
181
+ await page.setUserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36");
182
+ // Hide automation indicators
183
+ await page.evaluateOnNewDocument(() => {
184
+ Object.defineProperty(navigator, "webdriver", { get: () => false });
185
+ // @ts-ignore
186
+ window.chrome = { runtime: {} };
187
+ });
188
+ return new PuppeteerPageHandle(page);
189
+ }
190
+ async close() {
191
+ await this.browser.close();
192
+ }
193
+ }
194
+ // ─── Provider ─────────────────────────────────────────────────────────────────
195
+ class PuppeteerLocalProvider {
196
+ async launch(config) {
197
+ const executablePath = process.env.BROWSER_EXECUTABLE_PATH ?? findBrowserExecutable();
198
+ const viewport = config.viewport ?? { width: 1280, height: 800 };
199
+ const args = [
200
+ ...STEALTH_ARGS,
201
+ `--window-size=${viewport.width},${viewport.height}`,
202
+ ];
203
+ if (config.proxy) {
204
+ args.push(`--proxy-server=${config.proxy.server}`);
205
+ }
206
+ const browser = await puppeteer_core_1.default.launch({
207
+ executablePath,
208
+ headless: config.headless ?? true,
209
+ args,
210
+ ignoreDefaultArgs: ["--enable-automation"],
211
+ defaultViewport: viewport,
212
+ timeout: config.timeout ?? 30_000,
213
+ });
214
+ return new PuppeteerBrowserHandle(browser);
215
+ }
216
+ }
217
+ exports.PuppeteerLocalProvider = PuppeteerLocalProvider;
218
+ //# sourceMappingURL=puppeteer-local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puppeteer-local.js","sourceRoot":"","sources":["../../src/providers/puppeteer-local.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts CHANGED
@@ -1,52 +1,46 @@
1
- import type { Page, Browser } from "playwright";
2
- import type { ObserveResult, CapturedRequest, ActResult, FindDataResult, Screenshot, SeedValue, PageLink } from "./types";
1
+ import type { PageHandle, BrowserHandle } from "./browser-provider";
2
+ import type { ObserveResult, CapturedRequest, ActResult, FindDataResult, Screenshot, SeedValue } from "./types";
3
+ import { Interceptor } from "./interceptor";
4
+ import { Observer } from "./observer";
5
+ import type { DetectedForm, AutocompleteItem } from "./observer";
3
6
  import { AIClient } from "./ai";
4
7
  export declare class Session {
5
8
  private page;
6
- private browser;
9
+ private browserHandle;
7
10
  private interceptor;
8
11
  private observer;
9
12
  private ai;
10
13
  private defaultTimeout;
11
- private lastInteractiveElements;
12
14
  readonly viewerUrl: string | undefined;
13
- constructor(page: Page, browser: Browser, ai: AIClient, timeout?: number, viewerUrl?: string);
15
+ constructor(page: PageHandle, browserHandle: BrowserHandle, ai: AIClient, timeout?: number, viewerUrl?: string);
16
+ getPage(): PageHandle;
17
+ getInterceptor(): Interceptor;
18
+ getObserver(): Observer;
19
+ getAI(): AIClient;
14
20
  goto(url: string, options?: {
15
21
  timeout?: number;
16
22
  }): Promise<void>;
17
23
  wait(ms: number): Promise<void>;
18
24
  get url(): string;
19
25
  observe(): Promise<ObserveResult>;
26
+ detectForms(): Promise<DetectedForm[]>;
27
+ detectAutocomplete(): Promise<AutocompleteItem[]>;
28
+ detectErrors(): Promise<string[]>;
20
29
  screenshot(): Promise<Screenshot>;
21
30
  extractPageContent(): Promise<string>;
22
- extractPageWithLinks(): Promise<{
23
- content: string;
24
- links: PageLink[];
25
- }>;
26
- observeInteractiveDom(): Promise<{
27
- dom: string;
28
- elements: Array<{
29
- id: string;
30
- selector: string;
31
- }>;
32
- }>;
33
- scrapeWithGoal(goal: string, initialContent: string, seedValues?: SeedValue[], maxHops?: number, initialLinks?: PageLink[]): Promise<{
34
- found: boolean;
35
- data: Record<string, unknown> | null;
36
- nextUrl: string | null;
37
- reasoning: string;
38
- }>;
39
31
  clickById(elementId: string): Promise<void>;
40
32
  fillById(elementId: string, value: string): Promise<void>;
33
+ clickSelector(selector: string): Promise<void>;
41
34
  getCapturedRequests(): CapturedRequest[];
42
35
  getUsefulRequests(minScore?: number): CapturedRequest[];
43
36
  getActionTriggeredRequests(): CapturedRequest[];
44
37
  onRequest(handler: (req: CapturedRequest) => void): void;
38
+ hasSeedValueInResponses(seedValues: string[]): boolean;
39
+ markActionTimestamp(): void;
45
40
  act(goal: string, maxSteps?: number, seedValues?: SeedValue[]): Promise<ActResult>;
46
41
  findData(goal: string, maxSteps?: number, seedValues?: SeedValue[]): Promise<FindDataResult>;
47
42
  close(): Promise<void>;
48
43
  closeAll(): Promise<void>;
49
- private switchToNewTabIfOpened;
50
44
  private executeAction;
51
45
  }
52
46
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,SAAS,EACT,cAAc,EAEd,UAAU,EACV,SAAS,EACV,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,qBAAa,OAAO;IAClB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,EAAE,CAAW;IACrB,OAAO,CAAC,cAAc,CAAS;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGrC,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,aAAa,EAC5B,EAAE,EAAE,QAAQ,EACZ,OAAO,SAAS,EAChB,SAAS,CAAC,EAAE,MAAM;IAiBpB,OAAO,IAAI,UAAU;IACrB,cAAc,IAAI,WAAW;IAC7B,WAAW,IAAI,QAAQ;IACvB,KAAK,IAAI,QAAQ;IAIX,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBhE,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,IAAI,GAAG,IAAI,MAAM,CAEhB;IAIK,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;IAMjC,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAItC,kBAAkB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIjD,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAMjC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;IAWjC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAgBrC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBzD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpD,mBAAmB,IAAI,eAAe,EAAE;IAIxC,iBAAiB,CAAC,QAAQ,SAAI,GAAG,eAAe,EAAE;IAIlD,0BAA0B,IAAI,eAAe,EAAE;IAI/C,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IAIxD,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO;IAItD,mBAAmB,IAAI,IAAI;IAMrB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAK,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAyC9E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAK,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAYxF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAOjB,aAAa;CAsD5B"}