@anweat/dsh-browser 0.1.13-alpha.1 → 0.1.14-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +393 -382
- package/cordis.patch.yml +26 -26
- package/lib/approval-policy.js +1 -1
- package/lib/approval-policy.js.map +1 -1
- package/lib/browser-service.d.ts +86 -5
- package/lib/browser-service.js +326 -78
- package/lib/browser-service.js.map +1 -1
- package/lib/client/styles.js +12 -12
- package/lib/freedom.d.ts +1 -1
- package/lib/freedom.js +9 -0
- package/lib/freedom.js.map +1 -1
- package/lib/scripts.js +27 -27
- package/lib/tools.js +188 -28
- package/lib/tools.js.map +1 -1
- package/package.json +147 -150
- package/scripts/check-client-bundle.mjs +15 -15
- package/scripts/clean-lib.mjs +3 -3
- package/scripts/install-browser.mjs +18 -18
package/cordis.patch.yml
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
# dsh-browser bundle patch — installs the browser runtime as one more row over
|
|
2
|
-
# the active profile. Install with:
|
|
3
|
-
# dsh plugin --profile <name> add @anweat/dsh-browser
|
|
4
|
-
# then boot the profile (the web profile has HMR disabled, so a restart applies it).
|
|
5
|
-
#
|
|
6
|
-
# Login state: prefer named `authProfiles` with explicit `allowedDomains` (see
|
|
7
|
-
# README). `storageStatePath` remains as a legacy global fallback.
|
|
8
|
-
- insert:
|
|
9
|
-
- id: browser
|
|
10
|
-
name: '@anweat/dsh-browser'
|
|
11
|
-
config:
|
|
12
|
-
automationMode: standard
|
|
13
|
-
browserRuntime: playwright
|
|
14
|
-
channel: chromium
|
|
15
|
-
headless: true
|
|
16
|
-
opencliEnabled: true
|
|
17
|
-
usagePolicy:
|
|
18
|
-
minDelayMs: 750
|
|
19
|
-
maxConcurrency: 2
|
|
20
|
-
burst: 3
|
|
21
|
-
maxPagesPerRun: 20
|
|
22
|
-
maxDepth: 2
|
|
23
|
-
retryLimit: 2
|
|
24
|
-
backoffBaseMs: 1000
|
|
25
|
-
cooldownMs: 30000
|
|
26
|
-
verbose: false
|
|
1
|
+
# dsh-browser bundle patch — installs the browser runtime as one more row over
|
|
2
|
+
# the active profile. Install with:
|
|
3
|
+
# dsh plugin --profile <name> add @anweat/dsh-browser
|
|
4
|
+
# then boot the profile (the web profile has HMR disabled, so a restart applies it).
|
|
5
|
+
#
|
|
6
|
+
# Login state: prefer named `authProfiles` with explicit `allowedDomains` (see
|
|
7
|
+
# README). `storageStatePath` remains as a legacy global fallback.
|
|
8
|
+
- insert:
|
|
9
|
+
- id: browser
|
|
10
|
+
name: '@anweat/dsh-browser'
|
|
11
|
+
config:
|
|
12
|
+
automationMode: standard
|
|
13
|
+
browserRuntime: playwright
|
|
14
|
+
channel: chromium
|
|
15
|
+
headless: true
|
|
16
|
+
opencliEnabled: true
|
|
17
|
+
usagePolicy:
|
|
18
|
+
minDelayMs: 750
|
|
19
|
+
maxConcurrency: 2
|
|
20
|
+
burst: 3
|
|
21
|
+
maxPagesPerRun: 20
|
|
22
|
+
maxDepth: 2
|
|
23
|
+
retryLimit: 2
|
|
24
|
+
backoffBaseMs: 1000
|
|
25
|
+
cooldownMs: 30000
|
|
26
|
+
verbose: false
|
package/lib/approval-policy.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { recipeNeedsApproval } from "./automation.js";
|
|
3
3
|
import { validateUserscript } from "./scripts.js";
|
|
4
4
|
import { isBrowserToolExposed } from "./freedom.js";
|
|
5
|
-
const DIRECT_INTERACTIONS = new Set(['browser_click', 'browser_type', 'browser_hover', 'browser_scroll']);
|
|
5
|
+
const DIRECT_INTERACTIONS = new Set(['browser_click', 'browser_type', 'browser_press', 'browser_select', 'browser_check', 'browser_hover', 'browser_scroll']);
|
|
6
6
|
const WEB_LOCAL_MUTATIONS = new Set(['web_cache_clear']);
|
|
7
7
|
export function browserPolicyDecision(name, args, mode = 'standard') {
|
|
8
8
|
if (!isBrowserToolExposed(name, mode) && name.startsWith('browser_')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-policy.js","sourceRoot":"","sources":["../src/approval-policy.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAEjF,OAAO,EAAE,mBAAmB,EAA0B,MAAM,iBAAiB,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAuB,MAAM,cAAc,CAAA;AAOxE,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"approval-policy.js","sourceRoot":"","sources":["../src/approval-policy.ts"],"names":[],"mappings":"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"}
|
package/lib/browser-service.d.ts
CHANGED
|
@@ -82,6 +82,47 @@ export interface EvaluateResult {
|
|
|
82
82
|
export interface FileUploadResult extends InteractiveState {
|
|
83
83
|
files: string[];
|
|
84
84
|
}
|
|
85
|
+
export interface BrowserFrameSpec {
|
|
86
|
+
selector?: string;
|
|
87
|
+
name?: string;
|
|
88
|
+
url?: string;
|
|
89
|
+
}
|
|
90
|
+
export interface BrowserLocatorSpec {
|
|
91
|
+
selector?: string;
|
|
92
|
+
role?: string;
|
|
93
|
+
name?: string;
|
|
94
|
+
text?: string;
|
|
95
|
+
label?: string;
|
|
96
|
+
exact?: boolean;
|
|
97
|
+
frame?: BrowserFrameSpec;
|
|
98
|
+
}
|
|
99
|
+
export type BrowserTarget = string | BrowserLocatorSpec;
|
|
100
|
+
export interface BrowserConsoleRecord {
|
|
101
|
+
type: string;
|
|
102
|
+
text: string;
|
|
103
|
+
url?: string;
|
|
104
|
+
timestamp: string;
|
|
105
|
+
}
|
|
106
|
+
export interface BrowserRequestRecord {
|
|
107
|
+
method: string;
|
|
108
|
+
url: string;
|
|
109
|
+
status?: number;
|
|
110
|
+
failure?: string;
|
|
111
|
+
timestamp: string;
|
|
112
|
+
}
|
|
113
|
+
export interface BrowserScreenshotOptions {
|
|
114
|
+
target?: BrowserTarget;
|
|
115
|
+
clip?: {
|
|
116
|
+
x: number;
|
|
117
|
+
y: number;
|
|
118
|
+
width: number;
|
|
119
|
+
height: number;
|
|
120
|
+
};
|
|
121
|
+
fullPage?: boolean;
|
|
122
|
+
format?: 'png' | 'jpeg';
|
|
123
|
+
quality?: number;
|
|
124
|
+
filename?: string;
|
|
125
|
+
}
|
|
85
126
|
export interface CrawlPage {
|
|
86
127
|
url: string;
|
|
87
128
|
title: string;
|
|
@@ -150,6 +191,10 @@ export declare class BrowserService {
|
|
|
150
191
|
private readonly authProfiles;
|
|
151
192
|
private readonly usageGovernor;
|
|
152
193
|
private opencliCatalogCache?;
|
|
194
|
+
private captureConsoleEnabled;
|
|
195
|
+
private captureNetworkEnabled;
|
|
196
|
+
private capturedConsole;
|
|
197
|
+
private capturedRequests;
|
|
153
198
|
constructor(config: ResolvedConfig);
|
|
154
199
|
available(): boolean;
|
|
155
200
|
private assertEnabled;
|
|
@@ -223,25 +268,46 @@ export declare class BrowserService {
|
|
|
223
268
|
inputs?: Record<string, string>;
|
|
224
269
|
}): Promise<ScriptRunResult>;
|
|
225
270
|
private ensureActivePage;
|
|
271
|
+
private attachCapture;
|
|
272
|
+
private resetCapture;
|
|
273
|
+
private resolveTarget;
|
|
274
|
+
private screenshotFile;
|
|
226
275
|
private captureScreenshot;
|
|
227
276
|
private readState;
|
|
228
277
|
open(url: string, opts?: {
|
|
229
278
|
waitMs?: number;
|
|
230
279
|
authProfile?: string;
|
|
231
280
|
rulePack?: string;
|
|
281
|
+
capture?: readonly ('console' | 'network')[];
|
|
232
282
|
}): Promise<InteractiveState>;
|
|
233
|
-
click(
|
|
283
|
+
click(target: BrowserTarget, opts?: {
|
|
234
284
|
timeoutMs?: number;
|
|
235
285
|
waitMs?: number;
|
|
236
286
|
}): Promise<InteractiveState>;
|
|
237
|
-
type(
|
|
287
|
+
type(target: BrowserTarget, text: string, opts?: {
|
|
238
288
|
timeoutMs?: number;
|
|
239
289
|
}): Promise<InteractiveState>;
|
|
240
|
-
|
|
290
|
+
wait(target: BrowserTarget | undefined, opts?: {
|
|
291
|
+
urlPattern?: string;
|
|
292
|
+
networkIdle?: boolean;
|
|
293
|
+
timeMs?: number;
|
|
294
|
+
state?: 'visible' | 'hidden' | 'attached' | 'detached';
|
|
295
|
+
timeoutMs?: number;
|
|
296
|
+
}): Promise<InteractiveState>;
|
|
297
|
+
press(target: BrowserTarget | undefined, key: string, opts?: {
|
|
298
|
+
timeoutMs?: number;
|
|
299
|
+
}): Promise<InteractiveState>;
|
|
300
|
+
select(target: BrowserTarget, values: readonly string[], opts?: {
|
|
301
|
+
timeoutMs?: number;
|
|
302
|
+
}): Promise<InteractiveState>;
|
|
303
|
+
check(target: BrowserTarget, checked?: boolean, opts?: {
|
|
304
|
+
timeoutMs?: number;
|
|
305
|
+
}): Promise<InteractiveState>;
|
|
306
|
+
hover(target: BrowserTarget, opts?: {
|
|
241
307
|
timeoutMs?: number;
|
|
242
308
|
waitMs?: number;
|
|
243
309
|
}): Promise<InteractiveState>;
|
|
244
|
-
setFiles(
|
|
310
|
+
setFiles(target: BrowserTarget, files: readonly string[], opts?: {
|
|
245
311
|
timeoutMs?: number;
|
|
246
312
|
}): Promise<FileUploadResult>;
|
|
247
313
|
evaluate(expression: string, opts?: {
|
|
@@ -251,7 +317,22 @@ export declare class BrowserService {
|
|
|
251
317
|
waitMs?: number;
|
|
252
318
|
}): Promise<InteractiveState>;
|
|
253
319
|
read(): Promise<InteractiveState>;
|
|
254
|
-
|
|
320
|
+
consoleMessages(opts?: {
|
|
321
|
+
level?: string;
|
|
322
|
+
limit?: number;
|
|
323
|
+
clear?: boolean;
|
|
324
|
+
}): {
|
|
325
|
+
enabled: boolean;
|
|
326
|
+
records: BrowserConsoleRecord[];
|
|
327
|
+
};
|
|
328
|
+
networkRequests(opts?: {
|
|
329
|
+
limit?: number;
|
|
330
|
+
clear?: boolean;
|
|
331
|
+
}): {
|
|
332
|
+
enabled: boolean;
|
|
333
|
+
records: BrowserRequestRecord[];
|
|
334
|
+
};
|
|
335
|
+
screenshot(options?: BrowserScreenshotOptions): Promise<{
|
|
255
336
|
path: string;
|
|
256
337
|
}>;
|
|
257
338
|
recipe(steps: readonly BrowserRecipeStep[], opts?: {
|