@cereworker/browser 26.329.22 → 26.329.23

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/dist/backend.d.ts CHANGED
@@ -4,21 +4,24 @@ export interface TabInfo {
4
4
  url: string;
5
5
  active: boolean;
6
6
  }
7
+ export interface BrowserCommandOptions {
8
+ abortSignal?: AbortSignal;
9
+ }
7
10
  export interface BrowserBackend {
8
- navigate(url: string): Promise<string>;
9
- getPageText(): Promise<string>;
10
- screenshot(path?: string): Promise<string>;
11
- click(selector: string): Promise<string>;
12
- clickByText(text: string, role?: string): Promise<string>;
13
- type(selector: string, text: string): Promise<string>;
14
- evaluate(code: string): Promise<string>;
15
- waitForSelector(selector: string, timeoutMs?: number): Promise<string>;
16
- getPageUrl(): Promise<string>;
17
- listTabs(): Promise<TabInfo[]>;
18
- switchTab(tabId: string): Promise<string>;
19
- newTab(url?: string): Promise<string>;
20
- closeTab(tabId?: string): Promise<string>;
21
- connect(): Promise<string>;
11
+ navigate(url: string, options?: BrowserCommandOptions): Promise<string>;
12
+ getPageText(options?: BrowserCommandOptions): Promise<string>;
13
+ screenshot(path?: string, options?: BrowserCommandOptions): Promise<string>;
14
+ click(selector: string, options?: BrowserCommandOptions): Promise<string>;
15
+ clickByText(text: string, role?: string, options?: BrowserCommandOptions): Promise<string>;
16
+ type(selector: string, text: string, options?: BrowserCommandOptions): Promise<string>;
17
+ evaluate(code: string, options?: BrowserCommandOptions): Promise<string>;
18
+ waitForSelector(selector: string, timeoutMs?: number, options?: BrowserCommandOptions): Promise<string>;
19
+ getPageUrl(options?: BrowserCommandOptions): Promise<string>;
20
+ listTabs(options?: BrowserCommandOptions): Promise<TabInfo[]>;
21
+ switchTab(tabId: string, options?: BrowserCommandOptions): Promise<string>;
22
+ newTab(url?: string, options?: BrowserCommandOptions): Promise<string>;
23
+ closeTab(tabId?: string, options?: BrowserCommandOptions): Promise<string>;
24
+ connect(options?: BrowserCommandOptions): Promise<string>;
22
25
  disconnect(): Promise<void>;
23
26
  isConnected(): boolean;
24
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAE7B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAG9B,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAG1C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAE7B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxE,WAAW,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5E,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1E,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3F,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzE,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxG,UAAU,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAG7D,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAG3E,OAAO,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC;CACxB"}
package/dist/cdp.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { BrowserBackend, TabInfo } from './backend.js';
1
+ import type { BrowserBackend, BrowserCommandOptions, TabInfo } from './backend.js';
2
2
  export interface CdpConnectionOptions {
3
3
  port?: number;
4
4
  wsEndpoint?: string;
@@ -9,20 +9,20 @@ export declare class CdpBackend implements BrowserBackend {
9
9
  private options;
10
10
  constructor(options?: CdpConnectionOptions);
11
11
  private ensureConnected;
12
- navigate(url: string): Promise<string>;
13
- getPageText(): Promise<string>;
14
- screenshot(path?: string): Promise<string>;
15
- click(selector: string): Promise<string>;
16
- clickByText(text: string, role?: string): Promise<string>;
17
- type(selector: string, text: string): Promise<string>;
18
- evaluate(code: string): Promise<string>;
19
- waitForSelector(selector: string, timeoutMs?: number): Promise<string>;
20
- getPageUrl(): Promise<string>;
21
- listTabs(): Promise<TabInfo[]>;
22
- switchTab(tabId: string): Promise<string>;
23
- newTab(url?: string): Promise<string>;
24
- closeTab(tabId?: string): Promise<string>;
25
- connect(): Promise<string>;
12
+ navigate(url: string, _options?: BrowserCommandOptions): Promise<string>;
13
+ getPageText(_options?: BrowserCommandOptions): Promise<string>;
14
+ screenshot(path?: string, _options?: BrowserCommandOptions): Promise<string>;
15
+ click(selector: string, _options?: BrowserCommandOptions): Promise<string>;
16
+ clickByText(text: string, role?: string, _options?: BrowserCommandOptions): Promise<string>;
17
+ type(selector: string, text: string, _options?: BrowserCommandOptions): Promise<string>;
18
+ evaluate(code: string, _options?: BrowserCommandOptions): Promise<string>;
19
+ waitForSelector(selector: string, timeoutMs?: number, _options?: BrowserCommandOptions): Promise<string>;
20
+ getPageUrl(_options?: BrowserCommandOptions): Promise<string>;
21
+ listTabs(_options?: BrowserCommandOptions): Promise<TabInfo[]>;
22
+ switchTab(tabId: string, _options?: BrowserCommandOptions): Promise<string>;
23
+ newTab(url?: string, _options?: BrowserCommandOptions): Promise<string>;
24
+ closeTab(tabId?: string, _options?: BrowserCommandOptions): Promise<string>;
25
+ connect(_options?: BrowserCommandOptions): Promise<string>;
26
26
  disconnect(): Promise<void>;
27
27
  isConnected(): boolean;
28
28
  }
package/dist/cdp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cdp.d.ts","sourceRoot":"","sources":["../src/cdp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,UAAW,YAAW,cAAc;IAC/C,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,CAAC,EAAE,oBAAoB;YAI5B,eAAe;IAuBvB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMtC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAO9B,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO1C,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUxC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBzD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUrD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUvC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAUpE,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYzC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBzC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAK1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC,WAAW,IAAI,OAAO;CAGvB"}
1
+ {"version":3,"file":"cdp.d.ts","sourceRoot":"","sources":["../src/cdp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,UAAW,YAAW,cAAc;IAC/C,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,CAAC,EAAE,oBAAoB;YAI5B,eAAe;IAuBvB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAMxE,WAAW,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAO9D,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAO5E,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAU1E,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiB3F,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUvF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzE,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,SAAO,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUtG,UAAU,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7D,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAY3E,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAWvE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAuB3E,OAAO,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC,WAAW,IAAI,OAAO;CAGvB"}
package/dist/cdp.js CHANGED
@@ -28,24 +28,24 @@ export class CdpBackend {
28
28
  'Start Chrome with --remote-debugging-port=9222, or use httpFetch/shell tools instead.');
29
29
  }
30
30
  }
31
- async navigate(url) {
31
+ async navigate(url, _options) {
32
32
  const { page } = await this.ensureConnected();
33
33
  await page.goto(url, { waitUntil: 'networkidle2', timeout: 30000 });
34
34
  return `Navigated to ${page.url()} - Title: ${await page.title()}`;
35
35
  }
36
- async getPageText() {
36
+ async getPageText(_options) {
37
37
  const { page } = await this.ensureConnected();
38
38
  const text = await page.evaluate(() => document.body.innerText);
39
39
  const maxLen = 10000;
40
40
  return text.length > maxLen ? text.slice(0, maxLen) + '\n... (truncated)' : text;
41
41
  }
42
- async screenshot(path) {
42
+ async screenshot(path, _options) {
43
43
  const { page } = await this.ensureConnected();
44
44
  const filePath = path ?? `/tmp/cereworker-screenshot-${Date.now()}.png`;
45
45
  await page.screenshot({ path: filePath, fullPage: false });
46
46
  return `Screenshot saved to ${filePath}`;
47
47
  }
48
- async click(selector) {
48
+ async click(selector, _options) {
49
49
  const { page } = await this.ensureConnected();
50
50
  try {
51
51
  await page.click(selector);
@@ -55,7 +55,7 @@ export class CdpBackend {
55
55
  return `Element not found: ${selector}`;
56
56
  }
57
57
  }
58
- async clickByText(text, role) {
58
+ async clickByText(text, role, _options) {
59
59
  const { page } = await this.ensureConnected();
60
60
  try {
61
61
  const selector = role ? `[role="${role}"]` : 'button, [role="button"], a';
@@ -75,7 +75,7 @@ export class CdpBackend {
75
75
  return `No clickable element found with text: "${text}"`;
76
76
  }
77
77
  }
78
- async type(selector, text) {
78
+ async type(selector, text, _options) {
79
79
  const { page } = await this.ensureConnected();
80
80
  try {
81
81
  await page.type(selector, text);
@@ -85,7 +85,7 @@ export class CdpBackend {
85
85
  return `Element not found: ${selector}`;
86
86
  }
87
87
  }
88
- async evaluate(code) {
88
+ async evaluate(code, _options) {
89
89
  const { page } = await this.ensureConnected();
90
90
  try {
91
91
  const result = await page.evaluate(code);
@@ -95,7 +95,7 @@ export class CdpBackend {
95
95
  return `Error: ${err instanceof Error ? err.message : String(err)}`;
96
96
  }
97
97
  }
98
- async waitForSelector(selector, timeoutMs = 5000) {
98
+ async waitForSelector(selector, timeoutMs = 5000, _options) {
99
99
  const { page } = await this.ensureConnected();
100
100
  try {
101
101
  await page.waitForSelector(selector, { timeout: timeoutMs });
@@ -105,11 +105,11 @@ export class CdpBackend {
105
105
  return `Timeout waiting for: ${selector}`;
106
106
  }
107
107
  }
108
- async getPageUrl() {
108
+ async getPageUrl(_options) {
109
109
  const { page } = await this.ensureConnected();
110
110
  return page.url();
111
111
  }
112
- async listTabs() {
112
+ async listTabs(_options) {
113
113
  const { browser, page } = await this.ensureConnected();
114
114
  const pages = await browser.pages();
115
115
  return pages.map((p, i) => ({
@@ -119,7 +119,7 @@ export class CdpBackend {
119
119
  active: p === page,
120
120
  }));
121
121
  }
122
- async switchTab(tabId) {
122
+ async switchTab(tabId, _options) {
123
123
  const { browser } = await this.ensureConnected();
124
124
  const pages = await browser.pages();
125
125
  const idx = parseInt(tabId, 10);
@@ -130,7 +130,7 @@ export class CdpBackend {
130
130
  await this.page.bringToFront();
131
131
  return `Switched to tab ${idx}: ${this.page.url()}`;
132
132
  }
133
- async newTab(url) {
133
+ async newTab(url, _options) {
134
134
  const { browser } = await this.ensureConnected();
135
135
  const page = await browser.newPage();
136
136
  if (url) {
@@ -140,7 +140,7 @@ export class CdpBackend {
140
140
  const pages = await browser.pages();
141
141
  return `Opened new tab (${pages.length} total)${url ? `: ${page.url()}` : ''}`;
142
142
  }
143
- async closeTab(tabId) {
143
+ async closeTab(tabId, _options) {
144
144
  const { browser } = await this.ensureConnected();
145
145
  const pages = await browser.pages();
146
146
  if (pages.length <= 1)
@@ -162,7 +162,7 @@ export class CdpBackend {
162
162
  this.page = remaining[remaining.length - 1];
163
163
  return `Closed current tab. Now on: ${this.page.url()}`;
164
164
  }
165
- async connect() {
165
+ async connect(_options) {
166
166
  const { page } = await this.ensureConnected();
167
167
  return `Connected to Chrome via CDP. Current page: ${page.url()}`;
168
168
  }
package/dist/cdp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cdp.js","sourceRoot":"","sources":["../src/cdp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cdp.js","sourceRoot":"","sources":["../src/cdp.ts"],"names":[],"mappings":"AAAA,OAAO,SAAsC,MAAM,WAAW,CAAC;AAQ/D,MAAM,OAAO,UAAU;IACb,OAAO,GAAmB,IAAI,CAAC;IAC/B,IAAI,GAAgB,IAAI,CAAC;IACzB,OAAO,CAAuB;IAEtC,YAAY,OAA8B;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACjF,IAAI,CAAC;YACH,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;gBACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,eAAe,CAAC,CAAC;gBACtE,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqC,CAAC;gBACzE,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC;YAC1E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,IAAI,KAAK,CACb,qCAAqC,GAAG,KAAK;gBAC7C,uFAAuF,CACxF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,QAAgC;QAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,OAAO,gBAAgB,IAAI,CAAC,GAAG,EAAE,aAAa,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgC;QAChD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,KAAK,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAa,EAAE,QAAgC;QAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,IAAI,8BAA8B,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;QACxE,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,OAAO,uBAAuB,QAAQ,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAgB,EAAE,QAAgC;QAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3B,OAAO,YAAY,QAAQ,EAAE,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,sBAAsB,QAAQ,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,IAAa,EAAE,QAAgC;QAC7E,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAAC;YAC1E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;gBAC/D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;oBACrB,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;wBAAE,EAAkB,CAAC,KAAK,EAAE,CAAC;wBAAC,OAAO,IAAI,CAAC;oBAAC,CAAC;gBACnF,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACnB,OAAO,OAAO,CAAC,CAAC,CAAC,+BAA+B,IAAI,GAAG,CAAC,CAAC,CAAC,0CAA0C,IAAI,GAAG,CAAC;QAC9G,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,0CAA0C,IAAI,GAAG,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,IAAY,EAAE,QAAgC;QACzE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChC,OAAO,eAAe,QAAQ,EAAE,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,sBAAsB,QAAQ,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,QAAgC;QAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACtE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,SAAS,GAAG,IAAI,EAAE,QAAgC;QACxF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7D,OAAO,UAAU,QAAQ,EAAE,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,wBAAwB,QAAQ,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgC;QAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgC;QAC7C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1B,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YACb,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE;YACZ,MAAM,EAAE,CAAC,KAAK,IAAI;SACnB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,QAAgC;QAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjD,OAAO,mBAAmB,KAAK,8CAA8C,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,OAAO,mBAAmB,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAY,EAAE,QAAgC;QACzD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,OAAO,mBAAmB,KAAK,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAc,EAAE,QAAgC;QAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,4BAA4B,CAAC;QAE3D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO,mBAAmB,KAAK,EAAE,CAAC;YACpF,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC;YAC3C,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,cAAc,GAAG,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,IAAI,CAAC,IAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,OAAO,+BAA+B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgC;QAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,OAAO,8CAA8C,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IACzD,CAAC;CACF"}
@@ -1,22 +1,22 @@
1
- import type { BrowserBackend, TabInfo } from './backend.js';
1
+ import type { BrowserBackend, BrowserCommandOptions, TabInfo } from './backend.js';
2
2
  import type { BrowserRelay } from './relay.js';
3
3
  export declare class ExtensionBackend implements BrowserBackend {
4
4
  private relay;
5
5
  constructor(relay: BrowserRelay);
6
- navigate(url: string): Promise<string>;
7
- getPageText(): Promise<string>;
8
- screenshot(path?: string): Promise<string>;
9
- click(selector: string): Promise<string>;
10
- clickByText(text: string, role?: string): Promise<string>;
11
- type(selector: string, text: string): Promise<string>;
12
- evaluate(code: string): Promise<string>;
13
- waitForSelector(selector: string, timeoutMs?: number): Promise<string>;
14
- getPageUrl(): Promise<string>;
15
- listTabs(): Promise<TabInfo[]>;
16
- switchTab(tabId: string): Promise<string>;
17
- newTab(url?: string): Promise<string>;
18
- closeTab(tabId?: string): Promise<string>;
19
- connect(): Promise<string>;
6
+ navigate(url: string, options?: BrowserCommandOptions): Promise<string>;
7
+ getPageText(options?: BrowserCommandOptions): Promise<string>;
8
+ screenshot(path?: string, options?: BrowserCommandOptions): Promise<string>;
9
+ click(selector: string, options?: BrowserCommandOptions): Promise<string>;
10
+ clickByText(text: string, role?: string, options?: BrowserCommandOptions): Promise<string>;
11
+ type(selector: string, text: string, options?: BrowserCommandOptions): Promise<string>;
12
+ evaluate(code: string, options?: BrowserCommandOptions): Promise<string>;
13
+ waitForSelector(selector: string, timeoutMs?: number, options?: BrowserCommandOptions): Promise<string>;
14
+ getPageUrl(options?: BrowserCommandOptions): Promise<string>;
15
+ listTabs(options?: BrowserCommandOptions): Promise<TabInfo[]>;
16
+ switchTab(tabId: string, options?: BrowserCommandOptions): Promise<string>;
17
+ newTab(url?: string, options?: BrowserCommandOptions): Promise<string>;
18
+ closeTab(tabId?: string, options?: BrowserCommandOptions): Promise<string>;
19
+ connect(_options?: BrowserCommandOptions): Promise<string>;
20
20
  disconnect(): Promise<void>;
21
21
  isConnected(): boolean;
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extension-backend.d.ts","sourceRoot":"","sources":["../src/extension-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,qBAAa,gBAAiB,YAAW,cAAc;IACrD,OAAO,CAAC,KAAK,CAAe;gBAEhB,KAAK,EAAE,YAAY;IAIzB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAItC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1C,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpE,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAK9B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAU1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,WAAW,IAAI,OAAO;CAGvB"}
1
+ {"version":3,"file":"extension-backend.d.ts","sourceRoot":"","sources":["../src/extension-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,qBAAa,gBAAiB,YAAW,cAAc;IACrD,OAAO,CAAC,KAAK,CAAe;gBAEhB,KAAK,EAAE,YAAY;IAIzB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvE,WAAW,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7D,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3E,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1F,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAItF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxE,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,SAAO,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrG,UAAU,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5D,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAK7D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1E,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAItE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1E,OAAO,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAU1D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,WAAW,IAAI,OAAO;CAGvB"}
@@ -3,47 +3,47 @@ export class ExtensionBackend {
3
3
  constructor(relay) {
4
4
  this.relay = relay;
5
5
  }
6
- async navigate(url) {
7
- return this.relay.send('navigate', { url });
6
+ async navigate(url, options) {
7
+ return this.relay.send('navigate', { url }, 30_000, options?.abortSignal);
8
8
  }
9
- async getPageText() {
10
- return this.relay.send('getPageText');
9
+ async getPageText(options) {
10
+ return this.relay.send('getPageText', undefined, 30_000, options?.abortSignal);
11
11
  }
12
- async screenshot(path) {
13
- return this.relay.send('screenshot', { path });
12
+ async screenshot(path, options) {
13
+ return this.relay.send('screenshot', { path }, 30_000, options?.abortSignal);
14
14
  }
15
- async click(selector) {
16
- return this.relay.send('click', { selector });
15
+ async click(selector, options) {
16
+ return this.relay.send('click', { selector }, 30_000, options?.abortSignal);
17
17
  }
18
- async clickByText(text, role) {
19
- return this.relay.send('clickByText', { text, role });
18
+ async clickByText(text, role, options) {
19
+ return this.relay.send('clickByText', { text, role }, 30_000, options?.abortSignal);
20
20
  }
21
- async type(selector, text) {
22
- return this.relay.send('type', { selector, text });
21
+ async type(selector, text, options) {
22
+ return this.relay.send('type', { selector, text }, 30_000, options?.abortSignal);
23
23
  }
24
- async evaluate(code) {
25
- return this.relay.send('evaluate', { code });
24
+ async evaluate(code, options) {
25
+ return this.relay.send('evaluate', { code }, 30_000, options?.abortSignal);
26
26
  }
27
- async waitForSelector(selector, timeoutMs = 5000) {
28
- return this.relay.send('waitForSelector', { selector, timeout: timeoutMs }, timeoutMs + 5000);
27
+ async waitForSelector(selector, timeoutMs = 5000, options) {
28
+ return this.relay.send('waitForSelector', { selector, timeout: timeoutMs }, timeoutMs + 5000, options?.abortSignal);
29
29
  }
30
- async getPageUrl() {
31
- return this.relay.send('getPageUrl');
30
+ async getPageUrl(options) {
31
+ return this.relay.send('getPageUrl', undefined, 30_000, options?.abortSignal);
32
32
  }
33
- async listTabs() {
34
- const result = await this.relay.send('listTabs');
33
+ async listTabs(options) {
34
+ const result = await this.relay.send('listTabs', undefined, 30_000, options?.abortSignal);
35
35
  return JSON.parse(result);
36
36
  }
37
- async switchTab(tabId) {
38
- return this.relay.send('switchTab', { tabId });
37
+ async switchTab(tabId, options) {
38
+ return this.relay.send('switchTab', { tabId }, 30_000, options?.abortSignal);
39
39
  }
40
- async newTab(url) {
41
- return this.relay.send('newTab', { url });
40
+ async newTab(url, options) {
41
+ return this.relay.send('newTab', { url }, 30_000, options?.abortSignal);
42
42
  }
43
- async closeTab(tabId) {
44
- return this.relay.send('closeTab', { tabId });
43
+ async closeTab(tabId, options) {
44
+ return this.relay.send('closeTab', { tabId }, 30_000, options?.abortSignal);
45
45
  }
46
- async connect() {
46
+ async connect(_options) {
47
47
  if (!this.relay.isExtensionConnected()) {
48
48
  throw new Error('Chrome extension not connected. Load the CereWorker extension in Chrome, ' +
49
49
  'configure the relay port and token in extension options, then click the extension icon.');
@@ -1 +1 @@
1
- {"version":3,"file":"extension-backend.js","sourceRoot":"","sources":["../src/extension-backend.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,gBAAgB;IACnB,KAAK,CAAe;IAE5B,YAAY,KAAmB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAa;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAgB;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,IAAa;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,IAAY;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,SAAS,GAAG,IAAI;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,IAAI,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAc,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAY;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAc;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,2EAA2E;gBAC3E,yFAAyF,CAC1F,CAAC;QACJ,CAAC;QACD,OAAO,mCAAmC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,UAAU;QACd,qEAAqE;IACvE,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC3C,CAAC;CACF"}
1
+ {"version":3,"file":"extension-backend.js","sourceRoot":"","sources":["../src/extension-backend.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { BrowserBackend, TabInfo } from './backend.js';
1
+ export type { BrowserBackend, BrowserCommandOptions, TabInfo } from './backend.js';
2
2
  export { PuppeteerBackend, type BrowserSession } from './puppeteer.js';
3
3
  export { CdpBackend, type CdpConnectionOptions } from './cdp.js';
4
4
  export { createBrowserTools, type BrowserTools, type BrowserToolName } from './tools.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type Browser, type Page } from 'puppeteer';
2
- import type { BrowserBackend, TabInfo } from './backend.js';
2
+ import type { BrowserBackend, BrowserCommandOptions, TabInfo } from './backend.js';
3
3
  export interface BrowserSession {
4
4
  browser: Browser;
5
5
  page: Page;
@@ -11,20 +11,20 @@ export declare class PuppeteerBackend implements BrowserBackend {
11
11
  headless?: boolean;
12
12
  });
13
13
  private getSession;
14
- navigate(url: string): Promise<string>;
15
- getPageText(): Promise<string>;
16
- screenshot(path?: string): Promise<string>;
17
- click(selector: string): Promise<string>;
18
- clickByText(text: string, role?: string): Promise<string>;
19
- type(selector: string, text: string): Promise<string>;
20
- evaluate(code: string): Promise<string>;
21
- waitForSelector(selector: string, timeoutMs?: number): Promise<string>;
22
- getPageUrl(): Promise<string>;
23
- listTabs(): Promise<TabInfo[]>;
24
- switchTab(tabId: string): Promise<string>;
25
- newTab(url?: string): Promise<string>;
26
- closeTab(tabId?: string): Promise<string>;
27
- connect(): Promise<string>;
14
+ navigate(url: string, _options?: BrowserCommandOptions): Promise<string>;
15
+ getPageText(_options?: BrowserCommandOptions): Promise<string>;
16
+ screenshot(path?: string, _options?: BrowserCommandOptions): Promise<string>;
17
+ click(selector: string, _options?: BrowserCommandOptions): Promise<string>;
18
+ clickByText(text: string, role?: string, _options?: BrowserCommandOptions): Promise<string>;
19
+ type(selector: string, text: string, _options?: BrowserCommandOptions): Promise<string>;
20
+ evaluate(code: string, _options?: BrowserCommandOptions): Promise<string>;
21
+ waitForSelector(selector: string, timeoutMs?: number, _options?: BrowserCommandOptions): Promise<string>;
22
+ getPageUrl(_options?: BrowserCommandOptions): Promise<string>;
23
+ listTabs(_options?: BrowserCommandOptions): Promise<TabInfo[]>;
24
+ switchTab(tabId: string, _options?: BrowserCommandOptions): Promise<string>;
25
+ newTab(url?: string, _options?: BrowserCommandOptions): Promise<string>;
26
+ closeTab(tabId?: string, _options?: BrowserCommandOptions): Promise<string>;
27
+ connect(_options?: BrowserCommandOptions): Promise<string>;
28
28
  disconnect(): Promise<void>;
29
29
  isConnected(): boolean;
30
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer.d.ts","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,qBAAa,gBAAiB,YAAW,cAAc;IACrD,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,QAAQ,CAAU;gBAEd,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;YAI9B,UAAU;IAoBlB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMtC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAO9B,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO1C,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUxC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBzD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUrD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUvC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAUpE,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAazC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAarC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BzC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAK1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,WAAW,IAAI,OAAO;CAGvB"}
1
+ {"version":3,"file":"puppeteer.d.ts","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,qBAAa,gBAAiB,YAAW,cAAc;IACrD,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,QAAQ,CAAU;gBAEd,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;YAI9B,UAAU;IAoBlB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAMxE,WAAW,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAO9D,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAO5E,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAU1E,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiB3F,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUvF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzE,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,SAAO,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUtG,UAAU,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7D,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAa3E,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAavE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IA4B3E,OAAO,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,WAAW,IAAI,OAAO;CAGvB"}
package/dist/puppeteer.js CHANGED
@@ -24,24 +24,24 @@ export class PuppeteerBackend {
24
24
  'Use httpFetch/shell tools for API calls, or install Chrome for browser automation.');
25
25
  }
26
26
  }
27
- async navigate(url) {
27
+ async navigate(url, _options) {
28
28
  const s = await this.getSession();
29
29
  await s.page.goto(url, { waitUntil: 'networkidle2', timeout: 30000 });
30
30
  return `Navigated to ${s.page.url()} - Title: ${await s.page.title()}`;
31
31
  }
32
- async getPageText() {
32
+ async getPageText(_options) {
33
33
  const s = await this.getSession();
34
34
  const text = await s.page.evaluate(() => document.body.innerText);
35
35
  const maxLen = 10000;
36
36
  return text.length > maxLen ? text.slice(0, maxLen) + '\n... (truncated)' : text;
37
37
  }
38
- async screenshot(path) {
38
+ async screenshot(path, _options) {
39
39
  const s = await this.getSession();
40
40
  const filePath = path ?? `/tmp/cereworker-screenshot-${Date.now()}.png`;
41
41
  await s.page.screenshot({ path: filePath, fullPage: false });
42
42
  return `Screenshot saved to ${filePath}`;
43
43
  }
44
- async click(selector) {
44
+ async click(selector, _options) {
45
45
  const s = await this.getSession();
46
46
  try {
47
47
  await s.page.click(selector);
@@ -51,7 +51,7 @@ export class PuppeteerBackend {
51
51
  return `Element not found: ${selector}`;
52
52
  }
53
53
  }
54
- async clickByText(text, role) {
54
+ async clickByText(text, role, _options) {
55
55
  const s = await this.getSession();
56
56
  try {
57
57
  const selector = role ? `[role="${role}"]` : 'button, [role="button"], a';
@@ -71,7 +71,7 @@ export class PuppeteerBackend {
71
71
  return `No clickable element found with text: "${text}"`;
72
72
  }
73
73
  }
74
- async type(selector, text) {
74
+ async type(selector, text, _options) {
75
75
  const s = await this.getSession();
76
76
  try {
77
77
  await s.page.type(selector, text);
@@ -81,7 +81,7 @@ export class PuppeteerBackend {
81
81
  return `Element not found: ${selector}`;
82
82
  }
83
83
  }
84
- async evaluate(code) {
84
+ async evaluate(code, _options) {
85
85
  const s = await this.getSession();
86
86
  try {
87
87
  const result = await s.page.evaluate(code);
@@ -91,7 +91,7 @@ export class PuppeteerBackend {
91
91
  return `Error: ${err instanceof Error ? err.message : String(err)}`;
92
92
  }
93
93
  }
94
- async waitForSelector(selector, timeoutMs = 5000) {
94
+ async waitForSelector(selector, timeoutMs = 5000, _options) {
95
95
  const s = await this.getSession();
96
96
  try {
97
97
  await s.page.waitForSelector(selector, { timeout: timeoutMs });
@@ -101,11 +101,11 @@ export class PuppeteerBackend {
101
101
  return `Timeout waiting for: ${selector}`;
102
102
  }
103
103
  }
104
- async getPageUrl() {
104
+ async getPageUrl(_options) {
105
105
  const s = await this.getSession();
106
106
  return s.page.url();
107
107
  }
108
- async listTabs() {
108
+ async listTabs(_options) {
109
109
  const s = await this.getSession();
110
110
  const pages = await s.browser.pages();
111
111
  return pages.map((p, i) => ({
@@ -115,7 +115,7 @@ export class PuppeteerBackend {
115
115
  active: p === s.page,
116
116
  }));
117
117
  }
118
- async switchTab(tabId) {
118
+ async switchTab(tabId, _options) {
119
119
  const s = await this.getSession();
120
120
  const pages = await s.browser.pages();
121
121
  const idx = parseInt(tabId, 10);
@@ -127,7 +127,7 @@ export class PuppeteerBackend {
127
127
  await s.page.bringToFront();
128
128
  return `Switched to tab ${idx}: ${s.page.url()}`;
129
129
  }
130
- async newTab(url) {
130
+ async newTab(url, _options) {
131
131
  const s = await this.getSession();
132
132
  const page = await s.browser.newPage();
133
133
  await page.setViewport({ width: 1280, height: 800 });
@@ -139,7 +139,7 @@ export class PuppeteerBackend {
139
139
  const pages = await s.browser.pages();
140
140
  return `Opened new tab (${pages.length} total)${url ? `: ${page.url()}` : ''}`;
141
141
  }
142
- async closeTab(tabId) {
142
+ async closeTab(tabId, _options) {
143
143
  const s = await this.getSession();
144
144
  const pages = await s.browser.pages();
145
145
  if (pages.length <= 1)
@@ -165,7 +165,7 @@ export class PuppeteerBackend {
165
165
  this.session = s;
166
166
  return `Closed current tab. Now on: ${s.page.url()}`;
167
167
  }
168
- async connect() {
168
+ async connect(_options) {
169
169
  const s = await this.getSession();
170
170
  return `Browser launched (headless: ${this.headless}). Page: ${s.page.url()}`;
171
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":"AAAA,OAAO,SAAsC,MAAM,WAAW,CAAC;AAQ/D,MAAM,OAAO,gBAAgB;IACnB,OAAO,GAA0B,IAAI,CAAC;IACtC,QAAQ,CAAU;IAE1B,YAAY,OAAgC;QAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC;gBACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;gBACzC,IAAI,EAAE,CAAC,cAAc,EAAE,0BAA0B,CAAC;aACnD,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,IAAI,KAAK,CACb,yBAAyB,GAAG,KAAK;gBACjC,oFAAoF,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,QAAgC;QAC1D,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,OAAO,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgC;QAChD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,KAAK,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAa,EAAE,QAAgC;QAC9D,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,IAAI,8BAA8B,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;QACxE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,uBAAuB,QAAQ,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAgB,EAAE,QAAgC;QAC5D,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,YAAY,QAAQ,EAAE,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,sBAAsB,QAAQ,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,IAAa,EAAE,QAAgC;QAC7E,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAAC;YAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;gBACjE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;oBACrB,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;wBAAE,EAAkB,CAAC,KAAK,EAAE,CAAC;wBAAC,OAAO,IAAI,CAAC;oBAAC,CAAC;gBACnF,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACnB,OAAO,OAAO,CAAC,CAAC,CAAC,+BAA+B,IAAI,GAAG,CAAC,CAAC,CAAC,0CAA0C,IAAI,GAAG,CAAC;QAC9G,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,0CAA0C,IAAI,GAAG,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,IAAY,EAAE,QAAgC;QACzE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO,eAAe,QAAQ,EAAE,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,sBAAsB,QAAQ,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,QAAgC;QAC3D,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACtE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,SAAS,GAAG,IAAI,EAAE,QAAgC;QACxF,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAC/D,OAAO,UAAU,QAAQ,EAAE,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,wBAAwB,QAAQ,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgC;QAC/C,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgC;QAC7C,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1B,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YACb,KAAK,EAAE,EAAE,EAAG,qCAAqC;YACjD,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE;YACZ,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI;SACrB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,QAAgC;QAC7D,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjD,OAAO,mBAAmB,KAAK,8CAA8C,CAAC;QAChF,CAAC;QACD,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,OAAO,mBAAmB,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAY,EAAE,QAAgC;QACzD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACrD,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;QACd,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,OAAO,mBAAmB,KAAK,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAc,EAAE,QAAgC;QAC7D,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,4BAA4B,CAAC;QAE3D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjD,OAAO,mBAAmB,KAAK,EAAE,CAAC;YACpC,CAAC;YACD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC1C,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACzC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,cAAc,GAAG,EAAE,CAAC;QAC7B,CAAC;QAED,oBAAoB;QACpB,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC;QACvB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1C,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,OAAO,+BAA+B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgC;QAC5C,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,OAAO,+BAA+B,IAAI,CAAC,QAAQ,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;IACjE,CAAC;CACF"}
package/dist/relay.d.ts CHANGED
@@ -27,6 +27,6 @@ export declare class BrowserRelay extends EventEmitter {
27
27
  start(): Promise<void>;
28
28
  stop(): Promise<void>;
29
29
  isExtensionConnected(): boolean;
30
- send(method: string, params?: Record<string, unknown>, timeoutMs?: number): Promise<string>;
30
+ send(method: string, params?: Record<string, unknown>, timeoutMs?: number, abortSignal?: AbortSignal): Promise<string>;
31
31
  }
32
32
  //# sourceMappingURL=relay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAQD,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,SAAS,CAA+C;gBAEpD,MAAM,EAAE,WAAW;IAKzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyFtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB3B,oBAAoB,IAAI,OAAO;IAIzB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;CAkBlG"}
1
+ {"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAQD,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,SAAS,CAA+C;gBAEpD,MAAM,EAAE,WAAW;IAKzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyFtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB3B,oBAAoB,IAAI,OAAO;IAIzB,IAAI,CACR,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,SAAS,EAClB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,CAAC;CAiDnB"}
package/dist/relay.js CHANGED
@@ -120,20 +120,52 @@ export class BrowserRelay extends EventEmitter {
120
120
  isExtensionConnected() {
121
121
  return this.extensionWs?.readyState === WebSocket.OPEN;
122
122
  }
123
- async send(method, params, timeoutMs = 30_000) {
123
+ async send(method, params, timeoutMs = 30_000, abortSignal) {
124
124
  if (!this.extensionWs || this.extensionWs.readyState !== WebSocket.OPEN) {
125
125
  throw new Error('Extension not connected. Load the CereWorker extension in Chrome and check the connection.');
126
126
  }
127
127
  const id = String(++this.commandId);
128
128
  const command = { type: 'command', id, method, params };
129
129
  return new Promise((resolve, reject) => {
130
+ const onAbort = () => {
131
+ cleanup();
132
+ this.pending.delete(id);
133
+ reject(createAbortError(`Command ${method} aborted`));
134
+ };
135
+ const cleanup = () => {
136
+ clearTimeout(timer);
137
+ abortSignal?.removeEventListener('abort', onAbort);
138
+ };
130
139
  const timer = setTimeout(() => {
140
+ cleanup();
131
141
  this.pending.delete(id);
132
142
  reject(new Error(`Command ${method} timed out after ${timeoutMs}ms`));
133
143
  }, timeoutMs);
134
- this.pending.set(id, { resolve, reject, timer });
144
+ if (abortSignal?.aborted) {
145
+ onAbort();
146
+ return;
147
+ }
148
+ if (abortSignal) {
149
+ abortSignal.addEventListener('abort', onAbort, { once: true });
150
+ }
151
+ this.pending.set(id, {
152
+ resolve: (result) => {
153
+ cleanup();
154
+ resolve(result);
155
+ },
156
+ reject: (error) => {
157
+ cleanup();
158
+ reject(error);
159
+ },
160
+ timer,
161
+ });
135
162
  this.extensionWs.send(JSON.stringify(command));
136
163
  });
137
164
  }
138
165
  }
166
+ function createAbortError(message) {
167
+ const error = new Error(message);
168
+ error.name = 'AbortError';
169
+ return error;
170
+ }
139
171
  //# sourceMappingURL=relay.js.map
package/dist/relay.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"relay.js","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay.js","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AA2B1C,MAAM,OAAO,YAAa,SAAQ,YAAY;IACpC,UAAU,GAAkB,IAAI,CAAC;IACjC,GAAG,GAA2B,IAAI,CAAC;IACnC,WAAW,GAAqB,IAAI,CAAC;IACrC,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC5C,SAAS,GAAG,CAAC,CAAC;IACd,MAAM,CAAc;IACpB,SAAS,GAA0C,IAAI,CAAC;IAEhE,YAAY,MAAmB;QAC7B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE;YACpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAE5E,gBAAgB;YAChB,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAClC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YAED,iBAAiB;YACjB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5C,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBAChC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;oBAChC,OAAO;gBACT,CAAC;YACH,CAAC;YAED,sCAAsC;YACtC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAEjC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAgB,CAAC;oBACvD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;wBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACzC,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BAC5B,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4BAC5B,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gCACd,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;4BACvC,CAAC;iCAAM,CAAC;gCACN,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;4BACpC,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClB,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,EAAE,CAAC;oBAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;oBACnC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;oBACpC,8BAA8B;oBAC9B,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACzC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;wBACpD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrB,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACpD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,CAAC,UAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;gBAC1D,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/D,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,WAAW,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,IAAI,CACR,MAAc,EACd,MAAgC,EAChC,SAAS,GAAG,MAAM,EAClB,WAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;QAChH,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,OAAO,GAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAEtE,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,CAAC,gBAAgB,CAAC,WAAW,MAAM,UAAU,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,WAAW,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,MAAM,oBAAoB,SAAS,IAAI,CAAC,CAAC,CAAC;YACxE,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;gBACzB,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;gBACnB,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;oBAClB,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBAChB,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;gBACD,KAAK;aACN,CAAC,CAAC;YACH,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;IAC1B,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=relay.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay.test.d.ts","sourceRoot":"","sources":["../src/relay.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import { afterEach, describe, expect, it } from 'vitest';
2
+ import { WebSocket } from 'ws';
3
+ import { BrowserRelay } from './relay.js';
4
+ describe('BrowserRelay', () => {
5
+ let relay = null;
6
+ let extensionSocket = null;
7
+ afterEach(async () => {
8
+ if (extensionSocket) {
9
+ extensionSocket.close();
10
+ extensionSocket = null;
11
+ }
12
+ if (relay) {
13
+ await relay.stop();
14
+ relay = null;
15
+ }
16
+ });
17
+ it('rejects pending commands immediately when aborted and clears the pending entry', async () => {
18
+ relay = new BrowserRelay({ port: 0 });
19
+ await relay.start();
20
+ const port = (relay.httpServer.address()).port;
21
+ extensionSocket = await new Promise((resolve, reject) => {
22
+ const socket = new WebSocket(`ws://127.0.0.1:${port}/extension`);
23
+ socket.once('open', () => resolve(socket));
24
+ socket.once('error', reject);
25
+ });
26
+ const abortController = new AbortController();
27
+ const sendPromise = relay.send('navigate', { url: 'https://example.com' }, 30_000, abortController.signal);
28
+ expect(relay.pending.size).toBe(1);
29
+ abortController.abort();
30
+ await expect(sendPromise).rejects.toMatchObject({
31
+ name: 'AbortError',
32
+ message: 'Command navigate aborted',
33
+ });
34
+ expect(relay.pending.size).toBe(0);
35
+ });
36
+ });
37
+ //# sourceMappingURL=relay.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay.test.js","sourceRoot":"","sources":["../src/relay.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,KAAK,GAAwB,IAAI,CAAC;IACtC,IAAI,eAAe,GAAqB,IAAI,CAAC;IAE7C,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,IAAI,eAAe,EAAE,CAAC;YACpB,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,KAAK,GAAG,IAAI,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QAEpB,MAAM,IAAI,GAAI,CAAE,KAAsE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAiB,CAAC,IAAI,CAAC;QAClI,eAAe,GAAG,MAAM,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,kBAAkB,IAAI,YAAY,CAAC,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QAE3G,MAAM,CAAE,KAAsD,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAErF,eAAe,CAAC,KAAK,EAAE,CAAC;QAExB,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YAC9C,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;QACH,MAAM,CAAE,KAAsD,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/tools.d.ts CHANGED
@@ -12,12 +12,16 @@ export declare function createBrowserTools(backend: BrowserBackend): {
12
12
  }>;
13
13
  execute: (args: {
14
14
  url: string;
15
+ }, context?: {
16
+ abortSignal?: AbortSignal;
15
17
  }) => Promise<string>;
16
18
  };
17
19
  browserGetText: {
18
20
  description: string;
19
21
  parameters: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
20
- execute: (args: unknown) => Promise<string>;
22
+ execute: (args: Record<string, never>, context?: {
23
+ abortSignal?: AbortSignal;
24
+ }) => Promise<string>;
21
25
  };
22
26
  browserScreenshot: {
23
27
  description: string;
@@ -30,6 +34,8 @@ export declare function createBrowserTools(backend: BrowserBackend): {
30
34
  }>;
31
35
  execute: (args: {
32
36
  path?: string;
37
+ }, context?: {
38
+ abortSignal?: AbortSignal;
33
39
  }) => Promise<string>;
34
40
  };
35
41
  browserClick: {
@@ -43,6 +49,8 @@ export declare function createBrowserTools(backend: BrowserBackend): {
43
49
  }>;
44
50
  execute: (args: {
45
51
  selector: string;
52
+ }, context?: {
53
+ abortSignal?: AbortSignal;
46
54
  }) => Promise<string>;
47
55
  };
48
56
  browserClickByText: {
@@ -60,6 +68,8 @@ export declare function createBrowserTools(backend: BrowserBackend): {
60
68
  execute: (args: {
61
69
  text: string;
62
70
  role?: string;
71
+ }, context?: {
72
+ abortSignal?: AbortSignal;
63
73
  }) => Promise<string>;
64
74
  };
65
75
  browserType: {
@@ -77,6 +87,8 @@ export declare function createBrowserTools(backend: BrowserBackend): {
77
87
  execute: (args: {
78
88
  selector: string;
79
89
  text: string;
90
+ }, context?: {
91
+ abortSignal?: AbortSignal;
80
92
  }) => Promise<string>;
81
93
  };
82
94
  browserEval: {
@@ -90,6 +102,8 @@ export declare function createBrowserTools(backend: BrowserBackend): {
90
102
  }>;
91
103
  execute: (args: {
92
104
  code: string;
105
+ }, context?: {
106
+ abortSignal?: AbortSignal;
93
107
  }) => Promise<string>;
94
108
  };
95
109
  browserWait: {
@@ -107,17 +121,23 @@ export declare function createBrowserTools(backend: BrowserBackend): {
107
121
  execute: (args: {
108
122
  selector: string;
109
123
  timeout?: number;
124
+ }, context?: {
125
+ abortSignal?: AbortSignal;
110
126
  }) => Promise<string>;
111
127
  };
112
128
  browserGetUrl: {
113
129
  description: string;
114
130
  parameters: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
115
- execute: (args: unknown) => Promise<string>;
131
+ execute: (args: Record<string, never>, context?: {
132
+ abortSignal?: AbortSignal;
133
+ }) => Promise<string>;
116
134
  };
117
135
  browserListTabs: {
118
136
  description: string;
119
137
  parameters: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
120
- execute: (args: unknown) => Promise<string>;
138
+ execute: (args: Record<string, never>, context?: {
139
+ abortSignal?: AbortSignal;
140
+ }) => Promise<string>;
121
141
  };
122
142
  browserSwitchTab: {
123
143
  description: string;
@@ -130,6 +150,8 @@ export declare function createBrowserTools(backend: BrowserBackend): {
130
150
  }>;
131
151
  execute: (args: {
132
152
  tabId: string;
153
+ }, context?: {
154
+ abortSignal?: AbortSignal;
133
155
  }) => Promise<string>;
134
156
  };
135
157
  browserNewTab: {
@@ -143,6 +165,8 @@ export declare function createBrowserTools(backend: BrowserBackend): {
143
165
  }>;
144
166
  execute: (args: {
145
167
  url?: string;
168
+ }, context?: {
169
+ abortSignal?: AbortSignal;
146
170
  }) => Promise<string>;
147
171
  };
148
172
  browserCloseTab: {
@@ -156,17 +180,23 @@ export declare function createBrowserTools(backend: BrowserBackend): {
156
180
  }>;
157
181
  execute: (args: {
158
182
  tabId?: string;
183
+ }, context?: {
184
+ abortSignal?: AbortSignal;
159
185
  }) => Promise<string>;
160
186
  };
161
187
  browserConnect: {
162
188
  description: string;
163
189
  parameters: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
164
- execute: (args: unknown) => Promise<string>;
190
+ execute: (args: Record<string, never>, context?: {
191
+ abortSignal?: AbortSignal;
192
+ }) => Promise<string>;
165
193
  };
166
194
  browserDisconnect: {
167
195
  description: string;
168
196
  parameters: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
169
- execute: (args: unknown) => Promise<string>;
197
+ execute: (args: unknown, context?: {
198
+ abortSignal?: AbortSignal;
199
+ }) => Promise<string>;
170
200
  };
171
201
  };
172
202
  export type BrowserTools = ReturnType<typeof createBrowserTools>;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAYnD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc;;;;;;;;;;;iBAOxB,MAAM;cAjByB,OAAO,CAAC,MAAM,CAAC;;;;;oCAAf,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;mBA6BtC,MAAM;cA7BiB,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;sBAoCnC,MAAM;cApCc,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;kBA4CvC,MAAM;mBAAS,MAAM;cA5CG,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;sBAoDnC,MAAM;kBAAQ,MAAM;cApDA,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;kBA2DvC,MAAM;cA3DkB,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;sBAmEnC,MAAM;sBAAY,MAAM;cAnEJ,OAAO,CAAC,MAAM,CAAC;;;;;oCAAf,OAAO,CAAC,MAAM,CAAC;;;;;oCAAf,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;mBA2FtC,MAAM;cA3FiB,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;kBAkGvC,MAAM;cAlGkB,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;oBAyGrC,MAAM;cAzGgB,OAAO,CAAC,MAAM,CAAC;;;;;oCAAf,OAAO,CAAC,MAAM,CAAC;;;;;oCAAf,OAAO,CAAC,MAAM,CAAC;;EAyH/E;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAiBnD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc;;;;;;;;;;;iBAOxB,MAAM;qBApBjB;YAAE,WAAW,CAAC,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;yDAAjD;YAAE,WAAW,CAAC,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;mBAgC9B,MAAM;qBAhCzB;YAAE,WAAW,CAAC,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;sBAuC3B,MAAM;qBAvC5B;YAAE,WAAW,CAAC,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;kBA+C/B,MAAM;mBAAS,MAAM;qBA/CvC;YAAE,WAAW,CAAC,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;sBAuD3B,MAAM;kBAAQ,MAAM;qBAvD1C;YAAE,WAAW,CAAC,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;kBA8D/B,MAAM;qBA9DxB;YAAE,WAAW,CAAC,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;sBAsE3B,MAAM;sBAAY,MAAM;qBAtE9C;YAAE,WAAW,CAAC,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;yDAAjD;YAAE,WAAW,CAAC,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;yDAAjD;YAAE,WAAW,CAAC,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;mBA8F9B,MAAM;qBA9FzB;YAAE,WAAW,CAAC,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;kBAqG/B,MAAM;qBArGxB;YAAE,WAAW,CAAC,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;oBA4G7B,MAAM;qBA5G1B;YAAE,WAAW,CAAC,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;yDAAjD;YAAE,WAAW,CAAC,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;2CAAjD;YAAE,WAAW,CAAC,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC;;EA4HvE;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC"}
package/dist/tools.js CHANGED
@@ -1,10 +1,13 @@
1
1
  import { z } from 'zod';
2
2
  function wrap(fn) {
3
- return async (args) => {
3
+ return async (args, context) => {
4
4
  try {
5
- return await fn(args);
5
+ return await fn(args, context);
6
6
  }
7
7
  catch (err) {
8
+ if (err instanceof Error && err.name === 'AbortError') {
9
+ throw err;
10
+ }
8
11
  return err instanceof Error ? err.message : String(err);
9
12
  }
10
13
  };
@@ -16,26 +19,26 @@ export function createBrowserTools(backend) {
16
19
  parameters: z.object({
17
20
  url: z.string().describe('The URL to navigate to'),
18
21
  }),
19
- execute: wrap((args) => backend.navigate(args.url)),
22
+ execute: wrap((args, context) => backend.navigate(args.url, { abortSignal: context?.abortSignal })),
20
23
  },
21
24
  browserGetText: {
22
25
  description: 'Get the visible text content of the current page',
23
26
  parameters: z.object({}),
24
- execute: wrap(async () => backend.getPageText()),
27
+ execute: wrap(async (_args, context) => backend.getPageText({ abortSignal: context?.abortSignal })),
25
28
  },
26
29
  browserScreenshot: {
27
30
  description: 'Take a screenshot of the current page',
28
31
  parameters: z.object({
29
32
  path: z.string().optional().describe('File path to save screenshot'),
30
33
  }),
31
- execute: wrap(async (args) => backend.screenshot(args.path)),
34
+ execute: wrap(async (args, context) => backend.screenshot(args.path, { abortSignal: context?.abortSignal })),
32
35
  },
33
36
  browserClick: {
34
37
  description: 'Click an element on the page by CSS selector. Uses full mouse event sequence for React/SPA compatibility.',
35
38
  parameters: z.object({
36
39
  selector: z.string().describe('CSS selector of the element to click'),
37
40
  }),
38
- execute: wrap(async (args) => backend.click(args.selector)),
41
+ execute: wrap(async (args, context) => backend.click(args.selector, { abortSignal: context?.abortSignal })),
39
42
  },
40
43
  browserClickByText: {
41
44
  description: 'Click a button or link by its visible text. More reliable than CSS selectors for dynamic SPAs like X/Twitter. Optionally filter by ARIA role.',
@@ -43,7 +46,7 @@ export function createBrowserTools(backend) {
43
46
  text: z.string().describe('Exact visible text of the element to click (e.g. "Next", "Post", "Log in")'),
44
47
  role: z.string().optional().describe('Optional ARIA role filter (e.g. "button")'),
45
48
  }),
46
- execute: wrap(async (args) => backend.clickByText(args.text, args.role)),
49
+ execute: wrap(async (args, context) => backend.clickByText(args.text, args.role, { abortSignal: context?.abortSignal })),
47
50
  },
48
51
  browserType: {
49
52
  description: 'Type text into an input element on the page',
@@ -51,14 +54,14 @@ export function createBrowserTools(backend) {
51
54
  selector: z.string().describe('CSS selector of the input element'),
52
55
  text: z.string().describe('Text to type'),
53
56
  }),
54
- execute: wrap(async (args) => backend.type(args.selector, args.text)),
57
+ execute: wrap(async (args, context) => backend.type(args.selector, args.text, { abortSignal: context?.abortSignal })),
55
58
  },
56
59
  browserEval: {
57
60
  description: 'Execute JavaScript code in the browser page context',
58
61
  parameters: z.object({
59
62
  code: z.string().describe('JavaScript code to evaluate'),
60
63
  }),
61
- execute: wrap(async (args) => backend.evaluate(args.code)),
64
+ execute: wrap(async (args, context) => backend.evaluate(args.code, { abortSignal: context?.abortSignal })),
62
65
  },
63
66
  browserWait: {
64
67
  description: 'Wait for a CSS selector to appear on the page',
@@ -66,18 +69,18 @@ export function createBrowserTools(backend) {
66
69
  selector: z.string().describe('CSS selector to wait for'),
67
70
  timeout: z.number().optional().default(5000).describe('Timeout in milliseconds'),
68
71
  }),
69
- execute: wrap(async (args) => backend.waitForSelector(args.selector, args.timeout)),
72
+ execute: wrap(async (args, context) => backend.waitForSelector(args.selector, args.timeout, { abortSignal: context?.abortSignal })),
70
73
  },
71
74
  browserGetUrl: {
72
75
  description: 'Get the current URL of the browser page',
73
76
  parameters: z.object({}),
74
- execute: wrap(async () => backend.getPageUrl()),
77
+ execute: wrap(async (_args, context) => backend.getPageUrl({ abortSignal: context?.abortSignal })),
75
78
  },
76
79
  browserListTabs: {
77
80
  description: 'List all open browser tabs with their URLs',
78
81
  parameters: z.object({}),
79
- execute: wrap(async () => {
80
- const tabs = await backend.listTabs();
82
+ execute: wrap(async (_args, context) => {
83
+ const tabs = await backend.listTabs({ abortSignal: context?.abortSignal });
81
84
  if (tabs.length === 0)
82
85
  return 'No tabs open.';
83
86
  return tabs.map((t) => `${t.active ? '→ ' : ' '}[${t.id}] ${t.url}${t.title ? ` - ${t.title}` : ''}`).join('\n');
@@ -88,26 +91,26 @@ export function createBrowserTools(backend) {
88
91
  parameters: z.object({
89
92
  tabId: z.string().describe('Tab ID from browserListTabs'),
90
93
  }),
91
- execute: wrap(async (args) => backend.switchTab(args.tabId)),
94
+ execute: wrap(async (args, context) => backend.switchTab(args.tabId, { abortSignal: context?.abortSignal })),
92
95
  },
93
96
  browserNewTab: {
94
97
  description: 'Open a new browser tab, optionally navigating to a URL',
95
98
  parameters: z.object({
96
99
  url: z.string().optional().describe('URL to navigate to in the new tab'),
97
100
  }),
98
- execute: wrap(async (args) => backend.newTab(args.url)),
101
+ execute: wrap(async (args, context) => backend.newTab(args.url, { abortSignal: context?.abortSignal })),
99
102
  },
100
103
  browserCloseTab: {
101
104
  description: 'Close a browser tab by ID, or close the current tab',
102
105
  parameters: z.object({
103
106
  tabId: z.string().optional().describe('Tab ID to close (current tab if omitted)'),
104
107
  }),
105
- execute: wrap(async (args) => backend.closeTab(args.tabId)),
108
+ execute: wrap(async (args, context) => backend.closeTab(args.tabId, { abortSignal: context?.abortSignal })),
106
109
  },
107
110
  browserConnect: {
108
111
  description: 'Connect to the browser backend. In extension mode, waits for the Chrome extension.',
109
112
  parameters: z.object({}),
110
- execute: wrap(async () => backend.connect()),
113
+ execute: wrap(async (_args, context) => backend.connect({ abortSignal: context?.abortSignal })),
111
114
  },
112
115
  browserDisconnect: {
113
116
  description: 'Disconnect from the browser without closing it',
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cereworker/browser",
3
- "version": "26.329.22",
3
+ "version": "26.329.23",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,8 +20,8 @@
20
20
  "puppeteer": "^24.0.0",
21
21
  "ws": "^8.18.0",
22
22
  "zod": "^3.24.0",
23
- "@cereworker/core": "26.329.22",
24
- "@cereworker/config": "26.329.22"
23
+ "@cereworker/core": "26.329.23",
24
+ "@cereworker/config": "26.329.23"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/ws": "^8.5.14",