b4n1-web 0.9.0 → 0.9.3

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/bin/b4n1web CHANGED
Binary file
@@ -0,0 +1,4 @@
1
+ export declare function getB4n1webBinary(): string | null;
2
+ export declare function getB4n1webVersion(): string | null;
3
+ export declare function checkVersionCompatibility(): string | null;
4
+ //# sourceMappingURL=binary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":"AAKA,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAyChD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAejD;AAID,wBAAgB,yBAAyB,IAAI,MAAM,GAAG,IAAI,CAczD"}
package/dist/binary.js ADDED
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getB4n1webBinary = getB4n1webBinary;
37
+ exports.getB4n1webVersion = getB4n1webVersion;
38
+ exports.checkVersionCompatibility = checkVersionCompatibility;
39
+ const os = __importStar(require("os"));
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const child_process_1 = require("child_process");
43
+ function getB4n1webBinary() {
44
+ const home = os.homedir();
45
+ const paths = [];
46
+ const bundledBinary = path.join(__dirname, '..', 'bin', 'b4n1web-linux');
47
+ if (fs.existsSync(bundledBinary)) {
48
+ try {
49
+ fs.accessSync(bundledBinary, fs.constants.X_OK);
50
+ return bundledBinary;
51
+ }
52
+ catch {
53
+ }
54
+ }
55
+ const envBinary = process.env.B4N1WEB_BINARY;
56
+ if (envBinary)
57
+ paths.push(envBinary);
58
+ paths.push(home + '/.local/bin/b4n1web', home + '/.b4n1web/bin/b4n1web', '/usr/local/bin/b4n1web', '/usr/bin/b4n1web');
59
+ const pathEnv = process.env.PATH || '';
60
+ const pathDirs = pathEnv.split(':').filter(p => p);
61
+ for (const dir of pathDirs) {
62
+ paths.push(dir + '/b4n1web');
63
+ }
64
+ for (const filePath of paths) {
65
+ try {
66
+ if (fs.existsSync(filePath)) {
67
+ const stats = fs.statSync(filePath);
68
+ if (stats.isFile() && (stats.mode & 0o111) !== 0) {
69
+ return filePath;
70
+ }
71
+ }
72
+ }
73
+ catch {
74
+ }
75
+ }
76
+ return null;
77
+ }
78
+ function getB4n1webVersion() {
79
+ const binaryPath = getB4n1webBinary();
80
+ if (!binaryPath) {
81
+ return null;
82
+ }
83
+ try {
84
+ const version = (0, child_process_1.execSync)(`${binaryPath} --version`, { timeout: 5000 }).toString().trim();
85
+ const parts = version.split(' ');
86
+ if (parts.length >= 2 && parts[0] === 'b4n1web') {
87
+ return parts[1];
88
+ }
89
+ return null;
90
+ }
91
+ catch {
92
+ return null;
93
+ }
94
+ }
95
+ const SDK_VERSION = '0.8.0';
96
+ function checkVersionCompatibility() {
97
+ const binaryVersion = getB4n1webVersion();
98
+ if (!binaryVersion) {
99
+ return null;
100
+ }
101
+ if (binaryVersion !== SDK_VERSION) {
102
+ console.warn(`Warning: Version mismatch: SDK v${SDK_VERSION} requires binary v${SDK_VERSION}, ` +
103
+ `but found v${binaryVersion}. Some features may not work correctly. ` +
104
+ `To update: curl -sL https://web.b4n1.com/install | bash`);
105
+ }
106
+ return binaryVersion;
107
+ }
108
+ //# sourceMappingURL=binary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary.js","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":"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"}
package/dist/browser.d.ts CHANGED
@@ -1,17 +1,7 @@
1
- import { BrowserMode, type BrowserOptions, type PageData, type IframeInfo } from './types';
2
- export declare function getB4n1webBinary(): string | null;
3
- export declare function getB4n1webVersion(): string | null;
4
- export declare function checkVersionCompatibility(): string | null;
5
- export declare class Page implements PageData {
6
- url: string;
7
- markdown: string;
8
- links: string[];
9
- screenshot?: string;
10
- jsOutput?: string;
11
- constructor(data: PageData);
12
- getMainContent(): string;
13
- findLinksByText(text: string): string[];
14
- }
1
+ import { type BrowserOptions } from './types';
2
+ import { Page } from './page';
3
+ export { getB4n1webBinary, getB4n1webVersion, checkVersionCompatibility } from './binary';
4
+ export { Page } from './page';
15
5
  export declare class AgentBrowser {
16
6
  private mode;
17
7
  private timeout;
@@ -29,19 +19,15 @@ export declare class AgentBrowser {
29
19
  private ensureSession;
30
20
  goto(url: string, waitFor?: string): Promise<Page>;
31
21
  private parseOutput;
32
- click(selector: string): Promise<void>;
33
- typeText(selector: string, text: string, clearFirst?: boolean): Promise<void>;
34
- waitForSelector(selector: string, timeoutMs?: number): Promise<boolean>;
35
- screenshot(url?: string): Promise<string>;
36
- frames(): Promise<IframeInfo[]>;
37
- iframeText(index: number): Promise<string>;
22
+ [Symbol.asyncDispose](): Promise<void>;
23
+ click(selector: string): Promise<string>;
24
+ typeText(selector: string, text: string, clearFirst?: boolean): Promise<string>;
25
+ waitForSelector(selector: string, timeoutMs?: number): Promise<string>;
26
+ screenshot(url: string, fullPage?: boolean): Promise<string>;
38
27
  setViewport(width: number, height: number): Promise<void>;
28
+ setUserAgent(ua: string): Promise<void>;
39
29
  emulateDevice(device: string): Promise<void>;
40
- getLinks(): string[];
41
- static getLinksFromPage(url: string, mode?: BrowserMode): Promise<string[]>;
42
- static findBinary(): string | null;
43
30
  close(): void;
44
- [Symbol.asyncDispose](): Promise<void>;
45
31
  }
46
32
  export declare function createBrowserAndGoto(url: string, options?: BrowserOptions): Promise<Page>;
47
33
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAuB,MAAM,SAAS,CAAC;AAEhH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAyChD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAejD;AAID,wBAAgB,yBAAyB,IAAI,MAAM,GAAG,IAAI,CAczD;AAED,qBAAa,IAAK,YAAW,QAAQ;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAEN,IAAI,EAAE,QAAQ;IAQ1B,cAAc,IAAI,MAAM;IAMxB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;CAIxC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,cAAc,CAAuB;gBAEjC,OAAO,GAAE,cAAmB;IAuBxC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,aAAa;IAaf,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxD,OAAO,CAAC,WAAW;IAyCb,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAetC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpF,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB9E,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBzC,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAa/B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAY1C,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAezD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAclD,QAAQ,IAAI,MAAM,EAAE;WAmBP,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,WAA+B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAUpG,MAAM,CAAC,UAAU,IAAI,MAAM,GAAG,IAAI;IAIlC,KAAK,IAAI,IAAI;IAUP,CAAC,MAAM,CAAC,YAAY,CAAC;CAG5B;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAOf"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,cAAc,EAAuB,MAAM,SAAS,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAC1F,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,cAAc,CAAuB;gBAEjC,OAAO,GAAE,cAAmB;IAuBxC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,aAAa;IAaf,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxD,OAAO,CAAC,WAAW;IAkEb,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAUtF,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,MAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAK5E,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAKnE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlD,KAAK,IAAI,IAAI;CAUd;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAOf"}
package/dist/browser.js CHANGED
@@ -33,104 +33,19 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.AgentBrowser = exports.Page = void 0;
37
- exports.getB4n1webBinary = getB4n1webBinary;
38
- exports.getB4n1webVersion = getB4n1webVersion;
39
- exports.checkVersionCompatibility = checkVersionCompatibility;
36
+ exports.AgentBrowser = exports.Page = exports.checkVersionCompatibility = exports.getB4n1webVersion = exports.getB4n1webBinary = void 0;
40
37
  exports.createBrowserAndGoto = createBrowserAndGoto;
38
+ const os = __importStar(require("os"));
41
39
  const child_process_1 = require("child_process");
42
- const fs = __importStar(require("fs"));
43
- const path = __importStar(require("path"));
44
40
  const types_1 = require("./types");
45
- function getB4n1webBinary() {
46
- const home = process.env.HOME || process.env.USERPROFILE || '/home/' + process.env.USER;
47
- const paths = [];
48
- const bundledBinary = path.join(__dirname, '..', 'bin', 'b4n1web-linux');
49
- if (fs.existsSync(bundledBinary)) {
50
- try {
51
- fs.accessSync(bundledBinary, fs.constants.X_OK);
52
- return bundledBinary;
53
- }
54
- catch {
55
- }
56
- }
57
- const envBinary = process.env.B4N1WEB_BINARY;
58
- if (envBinary)
59
- paths.push(envBinary);
60
- paths.push(home + '/.local/bin/b4n1web', home + '/.b4n1web/bin/b4n1web', '/usr/local/bin/b4n1web', '/usr/bin/b4n1web');
61
- const pathEnv = process.env.PATH || '';
62
- const pathDirs = pathEnv.split(':').filter(p => p);
63
- for (const dir of pathDirs) {
64
- paths.push(dir + '/b4n1web');
65
- }
66
- for (const filePath of paths) {
67
- try {
68
- if (fs.existsSync(filePath)) {
69
- const stats = fs.statSync(filePath);
70
- if (stats.isFile() && (stats.mode & 0o111) !== 0) {
71
- return filePath;
72
- }
73
- }
74
- }
75
- catch {
76
- }
77
- }
78
- return null;
79
- }
80
- function getB4n1webVersion() {
81
- const binaryPath = getB4n1webBinary();
82
- if (!binaryPath) {
83
- return null;
84
- }
85
- try {
86
- const version = (0, child_process_1.execSync)(`${binaryPath} --version`, { timeout: 5000 }).toString().trim();
87
- const parts = version.split(' ');
88
- if (parts.length >= 2 && parts[0] === 'b4n1web') {
89
- return parts[1];
90
- }
91
- return null;
92
- }
93
- catch {
94
- return null;
95
- }
96
- }
97
- const SDK_VERSION = '0.8.0';
98
- function checkVersionCompatibility() {
99
- const binaryVersion = getB4n1webVersion();
100
- if (!binaryVersion) {
101
- return null;
102
- }
103
- if (binaryVersion !== SDK_VERSION) {
104
- console.warn(`Warning: Version mismatch: SDK v${SDK_VERSION} requires binary v${SDK_VERSION}, ` +
105
- `but found v${binaryVersion}. Some features may not work correctly. ` +
106
- `To update: curl -sL https://web.b4n1.com/install | bash`);
107
- }
108
- return binaryVersion;
109
- }
110
- class Page {
111
- url;
112
- markdown;
113
- links;
114
- screenshot;
115
- jsOutput;
116
- constructor(data) {
117
- this.url = data.url;
118
- this.markdown = data.markdown;
119
- this.links = data.links;
120
- this.screenshot = data.screenshot;
121
- this.jsOutput = data.jsOutput;
122
- }
123
- getMainContent() {
124
- const lines = this.markdown.split('\n');
125
- const contentLines = lines.length > 2 ? lines.slice(2) : lines;
126
- return contentLines.join('\n').trim();
127
- }
128
- findLinksByText(text) {
129
- const lowerText = text.toLowerCase();
130
- return this.links.filter(link => link.toLowerCase().includes(lowerText));
131
- }
132
- }
133
- exports.Page = Page;
41
+ const page_1 = require("./page");
42
+ const binary_1 = require("./binary");
43
+ var binary_2 = require("./binary");
44
+ Object.defineProperty(exports, "getB4n1webBinary", { enumerable: true, get: function () { return binary_2.getB4n1webBinary; } });
45
+ Object.defineProperty(exports, "getB4n1webVersion", { enumerable: true, get: function () { return binary_2.getB4n1webVersion; } });
46
+ Object.defineProperty(exports, "checkVersionCompatibility", { enumerable: true, get: function () { return binary_2.checkVersionCompatibility; } });
47
+ var page_2 = require("./page");
48
+ Object.defineProperty(exports, "Page", { enumerable: true, get: function () { return page_2.Page; } });
134
49
  class AgentBrowser {
135
50
  mode;
136
51
  timeout;
@@ -147,9 +62,9 @@ class AgentBrowser {
147
62
  this.timeout = options.timeout ?? 30;
148
63
  this.userAgent = options.userAgent ?? 'B4n1Web-Agent/1.0';
149
64
  this.sessionId = `agent-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
150
- const binary = getB4n1webBinary();
65
+ const binary = (0, binary_1.getB4n1webBinary)();
151
66
  if (!binary) {
152
- const home = process.env.HOME || '';
67
+ const home = os.homedir();
153
68
  const pathDirs = (process.env.PATH || '').split(':').filter(p => p);
154
69
  throw new types_1.BinaryNotFoundError(`b4n1web binary not found.\nChecked paths:\n` +
155
70
  `- /usr/local/bin/b4n1web\n` +
@@ -211,180 +126,109 @@ class AgentBrowser {
211
126
  let links = [];
212
127
  let screenshot;
213
128
  let jsOutput;
129
+ let inMarkdown = false;
130
+ let inJsOutput = false;
131
+ let hasStructuredData = false;
214
132
  for (const line of output.split('\n')) {
215
133
  if (line.startsWith('URL:')) {
216
- continue;
134
+ hasStructuredData = true;
135
+ inMarkdown = false;
136
+ inJsOutput = false;
217
137
  }
218
138
  else if (line.startsWith('Markdown:')) {
219
- continue;
139
+ hasStructuredData = true;
140
+ inMarkdown = true;
141
+ inJsOutput = false;
142
+ const content = line.substring(9).trim();
143
+ if (content)
144
+ markdown += content + '\n';
220
145
  }
221
146
  else if (line.startsWith('Links:')) {
147
+ hasStructuredData = true;
148
+ inMarkdown = false;
149
+ inJsOutput = false;
222
150
  try {
223
- links = JSON.parse(line.slice(6).trim());
151
+ links = JSON.parse(line.substring(6).trim());
224
152
  }
225
153
  catch {
226
154
  links = [];
227
155
  }
228
156
  }
229
157
  else if (line.startsWith('Screenshot:')) {
230
- screenshot = line.slice(11).trim();
231
- if (screenshot === '') {
232
- screenshot = undefined;
233
- }
234
- }
235
- else if (line.startsWith('js_output:')) {
236
- jsOutput = line.slice(10).trim();
237
- if (jsOutput === '') {
238
- jsOutput = undefined;
239
- }
158
+ hasStructuredData = true;
159
+ inMarkdown = false;
160
+ inJsOutput = false;
161
+ const s = line.substring(11).trim();
162
+ if (s)
163
+ screenshot = s;
164
+ }
165
+ else if (line.startsWith('JS Output:')) {
166
+ hasStructuredData = true;
167
+ inMarkdown = false;
168
+ inJsOutput = true;
169
+ const content = line.substring(10).trim();
170
+ if (content)
171
+ jsOutput = (jsOutput || '') + content + '\n';
240
172
  }
241
173
  else {
242
- markdown += line + '\n';
174
+ if (inMarkdown) {
175
+ markdown += line + '\n';
176
+ }
177
+ else if (inJsOutput) {
178
+ jsOutput = (jsOutput || '') + line + '\n';
179
+ }
243
180
  }
244
181
  }
245
- return new Page({
182
+ if (!hasStructuredData && output.trim()) {
183
+ markdown = output.trim();
184
+ }
185
+ else {
186
+ markdown = markdown.trim();
187
+ if (jsOutput)
188
+ jsOutput = jsOutput.trim();
189
+ }
190
+ return new page_1.Page({
246
191
  url,
247
- markdown: markdown.trim(),
192
+ markdown,
248
193
  links,
249
194
  screenshot,
250
195
  jsOutput,
251
196
  });
252
197
  }
198
+ async [Symbol.asyncDispose]() {
199
+ this.close();
200
+ }
253
201
  async click(selector) {
254
- if (!this.currentUrl) {
255
- throw new Error('No page loaded. Call goto() first.');
256
- }
257
- this.ensureSession(this.currentUrl);
258
- try {
259
- (0, child_process_1.execSync)(`${this.binaryPath} session click ${this.sessionId} ${this.escapeArg(selector)}`, { timeout: this.timeout * 1000 });
260
- }
261
- catch (error) {
262
- throw new Error(`Click failed on "${selector}": ${error.message}`);
263
- }
202
+ this.ensureSession(this.currentUrl || undefined);
203
+ return this.runSessionCommand('click', this.escapeArg(selector));
264
204
  }
265
205
  async typeText(selector, text, clearFirst = false) {
266
- if (!this.currentUrl) {
267
- throw new Error('No page loaded. Call goto() first.');
268
- }
269
- this.ensureSession(this.currentUrl);
270
- try {
271
- let cmd = `${this.binaryPath} session type ${this.sessionId} ${this.escapeArg(selector)} ${this.escapeArg(text)}`;
272
- if (clearFirst) {
273
- cmd += ' --clear-first';
274
- }
275
- (0, child_process_1.execSync)(cmd, { timeout: this.timeout * 1000 });
276
- }
277
- catch (error) {
278
- throw new Error(`Type text failed on "${selector}": ${error.message}`);
279
- }
206
+ this.ensureSession(this.currentUrl || undefined);
207
+ return this.runSessionCommand('type-text', this.escapeArg(selector), this.escapeArg(text), clearFirst ? '--clear' : '');
280
208
  }
281
- async waitForSelector(selector, timeoutMs = 10000) {
282
- if (!this.currentUrl) {
283
- throw new Error('No page loaded. Call goto() first.');
284
- }
285
- this.ensureSession(this.currentUrl);
286
- try {
287
- const output = (0, child_process_1.execSync)(`${this.binaryPath} session wait ${this.sessionId} ${this.escapeArg(selector)} --timeout-ms ${timeoutMs}`, { timeout: Math.ceil(timeoutMs / 1000) + 5 }).toString().trim();
288
- return output === 'true';
289
- }
290
- catch {
291
- return false;
292
- }
293
- }
294
- async screenshot(url) {
295
- const targetUrl = url || this.currentUrl;
296
- if (!targetUrl) {
297
- throw new Error('No URL provided. Pass a URL or call goto() first.');
298
- }
299
- this.ensureSession(targetUrl);
300
- try {
301
- const output = (0, child_process_1.execSync)(`${this.binaryPath} session screenshot ${this.sessionId} ${this.escapeArg(targetUrl)}`, { timeout: this.timeout * 1000 }).toString().trim();
302
- return output;
303
- }
304
- catch (error) {
305
- if (error.message?.includes('timed out')) {
306
- throw new Error(`Screenshot timed out after ${this.timeout}s`);
307
- }
308
- throw new Error(`Screenshot failed: ${error.message}`);
309
- }
310
- }
311
- async frames() {
312
- if (!this.currentUrl) {
313
- throw new Error('No page loaded. Call goto() first.');
314
- }
315
- this.ensureSession(this.currentUrl);
316
- try {
317
- const output = this.runSessionCommand('frames');
318
- return JSON.parse(output);
319
- }
320
- catch (error) {
321
- throw new Error(`Failed to list frames: ${error.message}`);
322
- }
209
+ async waitForSelector(selector, timeoutMs = 5000) {
210
+ this.ensureSession(this.currentUrl || undefined);
211
+ return this.runSessionCommand('wait-for', this.escapeArg(selector), timeoutMs.toString());
323
212
  }
324
- async iframeText(index) {
325
- if (!this.currentUrl) {
326
- throw new Error('No page loaded. Call goto() first.');
327
- }
328
- this.ensureSession(this.currentUrl);
329
- try {
330
- return this.runSessionCommand('iframe-text', String(index));
331
- }
332
- catch (error) {
333
- throw new Error(`Failed to get iframe text at index ${index}: ${error.message}`);
334
- }
213
+ async screenshot(url, fullPage = false) {
214
+ this.ensureSession(url);
215
+ return this.runSessionCommand('screenshot', fullPage ? '--full-page' : '');
335
216
  }
336
217
  async setViewport(width, height) {
337
218
  this.viewportWidth = width;
338
219
  this.viewportHeight = height;
339
- if (this.sessionStarted && this.currentUrl) {
340
- try {
341
- (0, child_process_1.execSync)(`${this.binaryPath} session goto ${this.sessionId} ${this.escapeArg(this.currentUrl)} --viewport-width ${width} --viewport-height ${height}`, { timeout: this.timeout * 1000 });
342
- }
343
- catch (error) {
344
- throw new Error(`setViewport failed: ${error.message}`);
345
- }
346
- }
220
+ this.ensureSession();
221
+ this.runSessionCommand('set-viewport', width.toString(), height.toString());
222
+ }
223
+ async setUserAgent(ua) {
224
+ this.userAgent = ua;
225
+ this.ensureSession();
226
+ this.runSessionCommand('set-user-agent', this.escapeArg(ua));
347
227
  }
348
228
  async emulateDevice(device) {
349
229
  this.emulatedDevice = device;
350
- if (this.sessionStarted && this.currentUrl) {
351
- try {
352
- (0, child_process_1.execSync)(`${this.binaryPath} session goto ${this.sessionId} ${this.escapeArg(this.currentUrl)} --emulate ${this.escapeArg(device)}`, { timeout: this.timeout * 1000 });
353
- }
354
- catch (error) {
355
- throw new Error(`emulateDevice failed: ${error.message}`);
356
- }
357
- }
358
- }
359
- getLinks() {
360
- if (!this.currentUrl) {
361
- throw new Error('No page loaded. Call goto() first.');
362
- }
363
- try {
364
- const output = (0, child_process_1.execSync)(`${this.binaryPath} get-links --url ${this.currentUrl} --mode ${this.mode}`, { timeout: this.timeout * 1000 }).toString().trim();
365
- try {
366
- return JSON.parse(output);
367
- }
368
- catch {
369
- return [];
370
- }
371
- }
372
- catch {
373
- return [];
374
- }
375
- }
376
- static async getLinksFromPage(url, mode = types_1.BrowserMode.LIGHT) {
377
- const browser = new AgentBrowser({ mode });
378
- try {
379
- const page = await browser.goto(url);
380
- return page.links;
381
- }
382
- finally {
383
- browser.close();
384
- }
385
- }
386
- static findBinary() {
387
- return getB4n1webBinary();
230
+ this.ensureSession();
231
+ this.runSessionCommand('emulate-device', this.escapeArg(device));
388
232
  }
389
233
  close() {
390
234
  if (this.sessionStarted) {
@@ -392,13 +236,11 @@ class AgentBrowser {
392
236
  (0, child_process_1.execSync)(`${this.binaryPath} session close ${this.sessionId}`, { timeout: 5000 });
393
237
  }
394
238
  catch {
239
+ // Ignore errors on close
395
240
  }
396
241
  this.sessionStarted = false;
397
242
  }
398
243
  }
399
- async [Symbol.asyncDispose]() {
400
- this.close();
401
- }
402
244
  }
403
245
  exports.AgentBrowser = AgentBrowser;
404
246
  async function createBrowserAndGoto(url, options = {}) {
@@ -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/page.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { type PageData } from './types';
2
+ export declare class Page implements PageData {
3
+ url: string;
4
+ markdown: string;
5
+ links: string[];
6
+ screenshot?: string;
7
+ jsOutput?: string;
8
+ constructor(data: PageData);
9
+ getMainContent(): string;
10
+ findLinksByText(text: string): string[];
11
+ }
12
+ //# sourceMappingURL=page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,IAAK,YAAW,QAAQ;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAEN,IAAI,EAAE,QAAQ;IAQ1B,cAAc,IAAI,MAAM;IAMxB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;CAIxC"}
package/dist/page.js ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Page = void 0;
4
+ class Page {
5
+ url;
6
+ markdown;
7
+ links;
8
+ screenshot;
9
+ jsOutput;
10
+ constructor(data) {
11
+ this.url = data.url;
12
+ this.markdown = data.markdown;
13
+ this.links = data.links;
14
+ this.screenshot = data.screenshot;
15
+ this.jsOutput = data.jsOutput;
16
+ }
17
+ getMainContent() {
18
+ const lines = this.markdown.split('\n');
19
+ const contentLines = lines.length > 2 ? lines.slice(2) : lines;
20
+ return contentLines.join('\n').trim();
21
+ }
22
+ findLinksByText(text) {
23
+ const lowerText = text.toLowerCase();
24
+ return this.links.filter(link => link.toLowerCase().includes(lowerText));
25
+ }
26
+ }
27
+ exports.Page = Page;
28
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":";;;AAEA,MAAa,IAAI;IACf,GAAG,CAAS;IACZ,QAAQ,CAAS;IACjB,KAAK,CAAW;IAChB,UAAU,CAAU;IACpB,QAAQ,CAAU;IAElB,YAAY,IAAc;QACxB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,cAAc;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/D,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF;AAzBD,oBAyBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "b4n1-web",
3
- "version": "0.9.0",
3
+ "version": "0.9.3",
4
4
  "description": "B4n1Web SDK for JavaScript/TypeScript - Agentic Browser Engine with bundled binary",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -39,7 +39,7 @@
39
39
  "devDependencies": {
40
40
  "@types/node": "^20.0.0",
41
41
  "typescript": "^5.0.0",
42
- "vitest": "^4.1.7"
42
+ "vitest": "^4.1.6"
43
43
  },
44
44
  "engines": {
45
45
  "node": ">=18.0.0"