@anweat/dsh-browser 0.1.6 → 0.1.8
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/README.md +306 -229
- package/cordis.patch.yml +26 -15
- package/lib/approval-policy.d.ts +2 -1
- package/lib/approval-policy.js +46 -1
- package/lib/approval-policy.js.map +1 -1
- package/lib/browser-service.d.ts +69 -19
- package/lib/browser-service.js +231 -64
- package/lib/browser-service.js.map +1 -1
- package/lib/client/SettingsCard.d.ts +2 -0
- package/lib/client/SettingsCard.js +21 -0
- package/lib/client/SettingsCard.js.map +1 -0
- package/lib/client/context-types.d.ts +8 -0
- package/lib/client/context-types.js +2 -0
- package/lib/client/context-types.js.map +1 -0
- package/lib/client/form.d.ts +62 -0
- package/lib/client/form.js +198 -0
- package/lib/client/form.js.map +1 -0
- package/lib/client/index.d.ts +16 -0
- package/lib/client/index.js +18 -0
- package/lib/client/index.js.map +1 -0
- package/lib/client/locales.d.ts +58 -0
- package/lib/client/locales.js +55 -0
- package/lib/client/locales.js.map +1 -0
- package/lib/client/settings-namespace.d.ts +2 -0
- package/lib/client/settings-namespace.js +3 -0
- package/lib/client/settings-namespace.js.map +1 -0
- package/lib/client/styles.d.ts +37 -0
- package/lib/client/styles.js +25 -0
- package/lib/client/styles.js.map +1 -0
- package/lib/client.js +753 -0
- package/lib/client.js.map +1 -0
- package/lib/config.d.ts +14 -0
- package/lib/config.js +25 -0
- package/lib/config.js.map +1 -1
- package/lib/deps.d.ts +7 -1
- package/lib/deps.js +22 -6
- package/lib/deps.js.map +1 -1
- package/lib/freedom.d.ts +8 -0
- package/lib/freedom.js +52 -0
- package/lib/freedom.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +19 -6
- package/lib/index.js.map +1 -1
- package/lib/opencli-catalog.d.ts +21 -0
- package/lib/opencli-catalog.js +49 -0
- package/lib/opencli-catalog.js.map +1 -0
- package/lib/scripts.js +27 -27
- package/lib/tools.js +111 -22
- package/lib/tools.js.map +1 -1
- package/lib/usage-policy.d.ts +49 -0
- package/lib/usage-policy.js +171 -0
- package/lib/usage-policy.js.map +1 -0
- package/package.json +133 -78
- package/scripts/check-client-bundle.mjs +15 -0
- package/scripts/clean-lib.mjs +3 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","names":["css","useState"],"sources":["../src/client/form.ts","../src/client/styles.ts","../src/client/SettingsCard.tsx","../src/client/locales.ts","../src/client/settings-namespace.ts","../src/client/index.ts"],"mappings":"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"}
|
package/lib/config.d.ts
CHANGED
|
@@ -5,11 +5,18 @@
|
|
|
5
5
|
import z from '@deepseek-ai/schemastery';
|
|
6
6
|
import type { AuthProfileConfig } from './auth-profiles.ts';
|
|
7
7
|
import type { RulePackConfig } from './rule-packs.ts';
|
|
8
|
+
import { type AutomationMode } from './freedom.ts';
|
|
9
|
+
import { type UsagePolicy, type UsagePolicyInput } from './usage-policy.ts';
|
|
10
|
+
export declare const BROWSER_RUNTIMES: readonly ["playwright", "patchright"];
|
|
11
|
+
export type BrowserRuntime = typeof BROWSER_RUNTIMES[number];
|
|
12
|
+
export declare function resolveBrowserRuntime(value: unknown): BrowserRuntime;
|
|
8
13
|
export interface Config {
|
|
9
14
|
/** Whether the browser service is active. */
|
|
10
15
|
enabled: boolean;
|
|
11
16
|
/** Browser channel: 'chromium' (bundled, self-contained) or 'msedge'. */
|
|
12
17
|
channel: string;
|
|
18
|
+
/** Browser driver/runtime implementation. Patchright is Chromium-only. */
|
|
19
|
+
browserRuntime?: BrowserRuntime;
|
|
13
20
|
headless: boolean;
|
|
14
21
|
/** Path to a Playwright storageState JSON (persisted login state). */
|
|
15
22
|
storageStatePath?: string;
|
|
@@ -23,6 +30,10 @@ export interface Config {
|
|
|
23
30
|
executablePath?: string;
|
|
24
31
|
/** Whether the bundled OpenCLI is enabled. */
|
|
25
32
|
opencliEnabled: boolean;
|
|
33
|
+
/** Model-facing tool exposure and approval level. */
|
|
34
|
+
automationMode: AutomationMode;
|
|
35
|
+
/** Approval-independent traffic buffering and bounded crawl budgets. */
|
|
36
|
+
usagePolicy?: UsagePolicyInput;
|
|
26
37
|
/** Lazily run `playwright install chromium` when the browser is missing. */
|
|
27
38
|
autoInstall: boolean;
|
|
28
39
|
/** Directory for browser screenshots; defaults to $DSH_HOME/data/browser/snapshots. */
|
|
@@ -33,6 +44,7 @@ export declare const Config: z<Config>;
|
|
|
33
44
|
export interface ResolvedConfig {
|
|
34
45
|
enabled: boolean;
|
|
35
46
|
channel: string;
|
|
47
|
+
browserRuntime: BrowserRuntime;
|
|
36
48
|
headless: boolean;
|
|
37
49
|
storageStatePath?: string;
|
|
38
50
|
authProfiles: Record<string, AuthProfileConfig>;
|
|
@@ -40,6 +52,8 @@ export interface ResolvedConfig {
|
|
|
40
52
|
rulePacks: Record<string, RulePackConfig>;
|
|
41
53
|
executablePath?: string;
|
|
42
54
|
opencliEnabled: boolean;
|
|
55
|
+
automationMode: AutomationMode;
|
|
56
|
+
usagePolicy: UsagePolicy;
|
|
43
57
|
autoInstall: boolean;
|
|
44
58
|
snapshotDir: string;
|
|
45
59
|
verbose: boolean;
|
package/lib/config.js
CHANGED
|
@@ -5,9 +5,20 @@
|
|
|
5
5
|
import path from 'node:path';
|
|
6
6
|
import os from 'node:os';
|
|
7
7
|
import z from '@deepseek-ai/schemastery';
|
|
8
|
+
import { resolveAutomationMode } from "./freedom.js";
|
|
9
|
+
import { resolveUsagePolicy } from "./usage-policy.js";
|
|
10
|
+
export const BROWSER_RUNTIMES = ['playwright', 'patchright'];
|
|
11
|
+
export function resolveBrowserRuntime(value) {
|
|
12
|
+
const runtime = value ?? 'playwright';
|
|
13
|
+
if (typeof runtime !== 'string' || !BROWSER_RUNTIMES.includes(runtime)) {
|
|
14
|
+
throw new Error('browserRuntime must be one of: ' + BROWSER_RUNTIMES.join(', '));
|
|
15
|
+
}
|
|
16
|
+
return runtime;
|
|
17
|
+
}
|
|
8
18
|
export const Config = z.object({
|
|
9
19
|
enabled: z.boolean().default(true),
|
|
10
20
|
channel: z.string().default('chromium'),
|
|
21
|
+
browserRuntime: z.string().default('playwright'),
|
|
11
22
|
headless: z.boolean().default(true),
|
|
12
23
|
storageStatePath: z.string(),
|
|
13
24
|
authProfiles: z.dict(z.object({
|
|
@@ -32,6 +43,17 @@ export const Config = z.object({
|
|
|
32
43
|
})),
|
|
33
44
|
executablePath: z.string(),
|
|
34
45
|
opencliEnabled: z.boolean().default(true),
|
|
46
|
+
automationMode: z.string().default('standard'),
|
|
47
|
+
usagePolicy: z.object({
|
|
48
|
+
minDelayMs: z.number().default(750),
|
|
49
|
+
maxConcurrency: z.number().default(2),
|
|
50
|
+
burst: z.number().default(3),
|
|
51
|
+
maxPagesPerRun: z.number().default(20),
|
|
52
|
+
maxDepth: z.number().default(2),
|
|
53
|
+
retryLimit: z.number().default(2),
|
|
54
|
+
backoffBaseMs: z.number().default(1000),
|
|
55
|
+
cooldownMs: z.number().default(30000),
|
|
56
|
+
}),
|
|
35
57
|
autoInstall: z.boolean().default(false),
|
|
36
58
|
snapshotDir: z.string(),
|
|
37
59
|
verbose: z.boolean().default(false),
|
|
@@ -45,8 +67,11 @@ export function resolveConfig(config) {
|
|
|
45
67
|
return {
|
|
46
68
|
enabled: config.enabled ?? true,
|
|
47
69
|
channel: config.channel ?? 'chromium',
|
|
70
|
+
browserRuntime: resolveBrowserRuntime(config.browserRuntime),
|
|
48
71
|
headless: config.headless ?? true,
|
|
49
72
|
opencliEnabled: config.opencliEnabled ?? true,
|
|
73
|
+
automationMode: resolveAutomationMode(config.automationMode),
|
|
74
|
+
usagePolicy: resolveUsagePolicy(config.usagePolicy),
|
|
50
75
|
autoInstall: config.autoInstall ?? false,
|
|
51
76
|
snapshotDir,
|
|
52
77
|
verbose: config.verbose ?? false,
|
package/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,CAAC,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/lib/deps.d.ts
CHANGED
|
@@ -21,10 +21,16 @@ export interface CliResult {
|
|
|
21
21
|
stderr: string;
|
|
22
22
|
timedOut: boolean;
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
export type BrowserRuntimeName = 'playwright' | 'patchright';
|
|
25
|
+
export declare function browserRuntimePackage(runtime: BrowserRuntimeName): 'playwright' | 'patchright';
|
|
26
|
+
/** Resolve a supported Playwright-compatible runtime (plugin-local, then global reuse). */
|
|
27
|
+
export declare function loadBrowserRuntime(runtime: BrowserRuntimeName): any;
|
|
28
|
+
/** Backwards-compatible Playwright loader for consumers and status checks. */
|
|
25
29
|
export declare function loadPlaywright(): any;
|
|
26
30
|
/** playwright CLI entry (for `playwright install chromium`). */
|
|
27
31
|
export declare function playwrightCliPath(): string;
|
|
32
|
+
/** CLI entry for the selected Playwright-compatible runtime. */
|
|
33
|
+
export declare function browserRuntimeCliPath(runtime: BrowserRuntimeName): string;
|
|
28
34
|
/** Entry JS for the bundled/reused @jackwener/opencli (its bin/main). */
|
|
29
35
|
export declare function opencliEntryPath(): string;
|
|
30
36
|
/**
|
package/lib/deps.js
CHANGED
|
@@ -94,18 +94,34 @@ function resolvePkgJson(name) {
|
|
|
94
94
|
function pkgDir(name) {
|
|
95
95
|
return path.dirname(resolvePkgJson(name));
|
|
96
96
|
}
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
const cachedBrowserRuntimes = new Map();
|
|
98
|
+
export function browserRuntimePackage(runtime) {
|
|
99
|
+
if (runtime === 'playwright' || runtime === 'patchright')
|
|
100
|
+
return runtime;
|
|
101
|
+
throw new Error('browserRuntime must be one of: playwright, patchright');
|
|
102
|
+
}
|
|
103
|
+
/** Resolve a supported Playwright-compatible runtime (plugin-local, then global reuse). */
|
|
104
|
+
export function loadBrowserRuntime(runtime) {
|
|
105
|
+
const packageName = browserRuntimePackage(runtime);
|
|
106
|
+
const cached = cachedBrowserRuntimes.get(packageName);
|
|
107
|
+
if (cached)
|
|
108
|
+
return cached;
|
|
109
|
+
const loaded = createRequire(resolvePkgJson(packageName))(packageName);
|
|
110
|
+
cachedBrowserRuntimes.set(packageName, loaded);
|
|
111
|
+
return loaded;
|
|
112
|
+
}
|
|
113
|
+
/** Backwards-compatible Playwright loader for consumers and status checks. */
|
|
99
114
|
export function loadPlaywright() {
|
|
100
|
-
|
|
101
|
-
return cachedPlaywright;
|
|
102
|
-
cachedPlaywright = createRequire(resolvePkgJson('playwright'))('playwright');
|
|
103
|
-
return cachedPlaywright;
|
|
115
|
+
return loadBrowserRuntime('playwright');
|
|
104
116
|
}
|
|
105
117
|
/** playwright CLI entry (for `playwright install chromium`). */
|
|
106
118
|
export function playwrightCliPath() {
|
|
107
119
|
return path.join(pkgDir('playwright'), 'cli.js');
|
|
108
120
|
}
|
|
121
|
+
/** CLI entry for the selected Playwright-compatible runtime. */
|
|
122
|
+
export function browserRuntimeCliPath(runtime) {
|
|
123
|
+
return path.join(pkgDir(browserRuntimePackage(runtime)), 'cli.js');
|
|
124
|
+
}
|
|
109
125
|
/** Entry JS for the bundled/reused @jackwener/opencli (its bin/main). */
|
|
110
126
|
export function opencliEntryPath() {
|
|
111
127
|
const dir = pkgDir('@jackwener/opencli');
|
package/lib/deps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"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"}
|
package/lib/freedom.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Public automation-freedom contract and tool exposure matrix. */
|
|
2
|
+
export declare const AUTOMATION_MODES: readonly ["read-only", "standard", "autonomous", "unrestricted"];
|
|
3
|
+
export type AutomationMode = typeof AUTOMATION_MODES[number];
|
|
4
|
+
export declare const ALL_BROWSER_TOOL_NAMES: readonly ["browser_open", "browser_click", "browser_type", "browser_scroll", "browser_read", "browser_screenshot", "browser_close", "browser_status", "browser_install", "browser_script_catalog", "browser_script_validate", "browser_script_run_builtin", "browser_userscript_run", "browser_recipe_run", "browser_opencli_status", "browser_opencli_catalog", "browser_opencli_run", "browser_crawl"];
|
|
5
|
+
export type BrowserToolName = typeof ALL_BROWSER_TOOL_NAMES[number];
|
|
6
|
+
export declare function resolveAutomationMode(value: unknown): AutomationMode;
|
|
7
|
+
export declare function isBrowserToolExposed(name: string, mode: AutomationMode): name is BrowserToolName;
|
|
8
|
+
export declare function browserToolsForMode(mode: AutomationMode): BrowserToolName[];
|
package/lib/freedom.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/** Public automation-freedom contract and tool exposure matrix. */
|
|
2
|
+
export const AUTOMATION_MODES = ['read-only', 'standard', 'autonomous', 'unrestricted'];
|
|
3
|
+
export const ALL_BROWSER_TOOL_NAMES = [
|
|
4
|
+
'browser_open',
|
|
5
|
+
'browser_click',
|
|
6
|
+
'browser_type',
|
|
7
|
+
'browser_scroll',
|
|
8
|
+
'browser_read',
|
|
9
|
+
'browser_screenshot',
|
|
10
|
+
'browser_close',
|
|
11
|
+
'browser_status',
|
|
12
|
+
'browser_install',
|
|
13
|
+
'browser_script_catalog',
|
|
14
|
+
'browser_script_validate',
|
|
15
|
+
'browser_script_run_builtin',
|
|
16
|
+
'browser_userscript_run',
|
|
17
|
+
'browser_recipe_run',
|
|
18
|
+
'browser_opencli_status',
|
|
19
|
+
'browser_opencli_catalog',
|
|
20
|
+
'browser_opencli_run',
|
|
21
|
+
'browser_crawl',
|
|
22
|
+
];
|
|
23
|
+
const READ_ONLY_TOOL_NAMES = new Set([
|
|
24
|
+
'browser_open',
|
|
25
|
+
'browser_read',
|
|
26
|
+
'browser_screenshot',
|
|
27
|
+
'browser_close',
|
|
28
|
+
'browser_status',
|
|
29
|
+
'browser_script_catalog',
|
|
30
|
+
'browser_script_validate',
|
|
31
|
+
'browser_script_run_builtin',
|
|
32
|
+
'browser_recipe_run',
|
|
33
|
+
'browser_opencli_status',
|
|
34
|
+
'browser_opencli_catalog',
|
|
35
|
+
'browser_crawl',
|
|
36
|
+
]);
|
|
37
|
+
export function resolveAutomationMode(value) {
|
|
38
|
+
const mode = value ?? 'standard';
|
|
39
|
+
if (typeof mode !== 'string' || !AUTOMATION_MODES.includes(mode)) {
|
|
40
|
+
throw new Error('automationMode must be one of: ' + AUTOMATION_MODES.join(', '));
|
|
41
|
+
}
|
|
42
|
+
return mode;
|
|
43
|
+
}
|
|
44
|
+
export function isBrowserToolExposed(name, mode) {
|
|
45
|
+
if (!ALL_BROWSER_TOOL_NAMES.includes(name))
|
|
46
|
+
return false;
|
|
47
|
+
return mode !== 'read-only' || READ_ONLY_TOOL_NAMES.has(name);
|
|
48
|
+
}
|
|
49
|
+
export function browserToolsForMode(mode) {
|
|
50
|
+
return ALL_BROWSER_TOOL_NAMES.filter(name => isBrowserToolExposed(name, mode));
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=freedom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"freedom.js","sourceRoot":"","sources":["../src/freedom.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,CAAU,CAAA;AAGhG,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,cAAc;IACd,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,oBAAoB;IACpB,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,wBAAwB;IACxB,yBAAyB;IACzB,4BAA4B;IAC5B,wBAAwB;IACxB,oBAAoB;IACpB,wBAAwB;IACxB,yBAAyB;IACzB,qBAAqB;IACrB,eAAe;CACP,CAAA;AAIV,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAkB;IACpD,cAAc;IACd,cAAc;IACd,oBAAoB;IACpB,eAAe;IACf,gBAAgB;IAChB,wBAAwB;IACxB,yBAAyB;IACzB,4BAA4B;IAC5B,oBAAoB;IACpB,wBAAwB;IACxB,yBAAyB;IACzB,eAAe;CAChB,CAAC,CAAA;AAEF,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,MAAM,IAAI,GAAG,KAAK,IAAI,UAAU,CAAA;IAChC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAsB,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAClF,CAAC;IACD,OAAO,IAAsB,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,IAAoB;IACrE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAuB,CAAC;QAAE,OAAO,KAAK,CAAA;IAC3E,OAAO,IAAI,KAAK,WAAW,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAuB,CAAC,CAAA;AAClF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAoB;IACtD,OAAO,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAChF,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -18,4 +18,6 @@ export type { RulePackConfig, RuleStep, ResolvedRulePack } from './rule-packs.ts
|
|
|
18
18
|
export type { BrowserRecipeStep, RecipeStepResult } from './automation.ts';
|
|
19
19
|
export type { UserscriptMetadata, UserscriptValidation, BuiltinScript } from './scripts.ts';
|
|
20
20
|
export { BUILTIN_SCRIPTS, validateUserscript } from './scripts.ts';
|
|
21
|
+
export type { AutomationMode, BrowserToolName } from './freedom.ts';
|
|
22
|
+
export { AUTOMATION_MODES, ALL_BROWSER_TOOL_NAMES, browserToolsForMode } from './freedom.ts';
|
|
21
23
|
export declare function apply(ctx: Context, config: Config): void;
|
package/lib/index.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import fs from 'node:fs';
|
|
10
10
|
import path from 'node:path';
|
|
11
|
+
import { settingsNamespace } from '@deepseek-ai/dsh-settings';
|
|
11
12
|
import { Config, resolveConfig } from "./config.js";
|
|
12
13
|
import { BrowserService } from "./browser-service.js";
|
|
13
14
|
import { registerTools } from "./tools.js";
|
|
@@ -16,18 +17,29 @@ export const name = 'dsh-browser';
|
|
|
16
17
|
export const inject = ['tools'];
|
|
17
18
|
export { Config };
|
|
18
19
|
export { BUILTIN_SCRIPTS, validateUserscript } from "./scripts.js";
|
|
20
|
+
export { AUTOMATION_MODES, ALL_BROWSER_TOOL_NAMES, browserToolsForMode } from "./freedom.js";
|
|
19
21
|
export function apply(ctx, config) {
|
|
20
|
-
const
|
|
22
|
+
const deployed = resolveConfig(config);
|
|
23
|
+
let resolveSource = () => deployed;
|
|
24
|
+
ctx.inject(['settings'], (settingsCtx) => {
|
|
25
|
+
const scope = settingsCtx.settings.register(settingsNamespace('browser'), Config, {
|
|
26
|
+
base: deployed,
|
|
27
|
+
// Browser processes, tool exposure, and approval hooks are deliberately
|
|
28
|
+
// startup-scoped. The next full profile start reads the persisted layer.
|
|
29
|
+
applies: 'restart',
|
|
30
|
+
});
|
|
31
|
+
resolveSource = () => scope.get();
|
|
32
|
+
});
|
|
33
|
+
const resolved = resolveConfig(resolveSource());
|
|
21
34
|
fs.mkdirSync(resolved.snapshotDir, { recursive: true });
|
|
22
35
|
const service = new BrowserService(resolved);
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
// policy fails closed when no approval service or calling agent is present.
|
|
36
|
+
// Apply the configured exposure/approval mode before every browser tool.
|
|
37
|
+
// Validation remains active even when unrestricted mode skips approvals.
|
|
26
38
|
ctx.on('tools/pre-execute', async (exec, next) => {
|
|
27
39
|
const downstream = await next();
|
|
28
40
|
if (downstream.kind !== 'allow')
|
|
29
41
|
return downstream;
|
|
30
|
-
return browserPolicyDecision(exec.name, exec.arguments);
|
|
42
|
+
return browserPolicyDecision(exec.name, exec.arguments, resolved.automationMode);
|
|
31
43
|
});
|
|
32
44
|
// Provide the `browser` service so consumers (web-search-pro) can inject it.
|
|
33
45
|
// ctx.provide is scoped to this plugin's fiber; the browser instance itself
|
|
@@ -44,11 +56,12 @@ export function apply(ctx, config) {
|
|
|
44
56
|
channel: resolved.channel,
|
|
45
57
|
headless: resolved.headless,
|
|
46
58
|
opencliEnabled: resolved.opencliEnabled,
|
|
59
|
+
automationMode: resolved.automationMode,
|
|
47
60
|
snapshotDir: resolved.snapshotDir,
|
|
48
61
|
}) + '\n', 'utf8');
|
|
49
62
|
}
|
|
50
63
|
catch { /* marker is best-effort */ }
|
|
51
64
|
}
|
|
52
|
-
ctx.logger?.(name).info('dsh-browser loaded: channel=' + resolved.channel + ' headless=' + resolved.headless + ' opencli=' + resolved.opencliEnabled);
|
|
65
|
+
ctx.logger?.(name).info('dsh-browser loaded: channel=' + resolved.channel + ' headless=' + resolved.headless + ' opencli=' + resolved.opencliEnabled + ' automation=' + resolved.automationMode);
|
|
53
66
|
}
|
|
54
67
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAuB,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAA;AACjC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA;AAE/B,OAAO,EAAE,MAAM,EAAE,CAAA;AAOjB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAElE,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,MAAc;IAChD,MAAM,QAAQ,GAAmB,aAAa,CAAC,MAAM,CAAC,CAAA;IACtD,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEvD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAA;IAE5C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Structured, bounded view over OpenCLI's large adapter catalog. */
|
|
2
|
+
export interface OpencliCatalogItem {
|
|
3
|
+
command: string;
|
|
4
|
+
site: string;
|
|
5
|
+
name: string;
|
|
6
|
+
description: string;
|
|
7
|
+
access: string;
|
|
8
|
+
strategy: string;
|
|
9
|
+
args: unknown[];
|
|
10
|
+
example?: string;
|
|
11
|
+
domain?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface OpencliCatalogFilter {
|
|
14
|
+
query?: string;
|
|
15
|
+
site?: string;
|
|
16
|
+
access?: string;
|
|
17
|
+
strategy?: string;
|
|
18
|
+
limit?: number;
|
|
19
|
+
}
|
|
20
|
+
export declare function parseOpencliCatalog(stdout: string): OpencliCatalogItem[];
|
|
21
|
+
export declare function filterOpencliCatalog(catalog: readonly OpencliCatalogItem[], filter?: OpencliCatalogFilter): OpencliCatalogItem[];
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/** Structured, bounded view over OpenCLI's large adapter catalog. */
|
|
2
|
+
function stringField(value) {
|
|
3
|
+
return typeof value === 'string' ? value.slice(0, 2_000) : '';
|
|
4
|
+
}
|
|
5
|
+
export function parseOpencliCatalog(stdout) {
|
|
6
|
+
let parsed;
|
|
7
|
+
try {
|
|
8
|
+
parsed = JSON.parse(stdout);
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
throw new Error('OpenCLI catalog did not return valid JSON');
|
|
12
|
+
}
|
|
13
|
+
if (!Array.isArray(parsed))
|
|
14
|
+
throw new Error('OpenCLI catalog JSON must be an array');
|
|
15
|
+
return parsed.flatMap((value) => {
|
|
16
|
+
if (!value || typeof value !== 'object')
|
|
17
|
+
return [];
|
|
18
|
+
const row = value;
|
|
19
|
+
const command = stringField(row.command);
|
|
20
|
+
if (!command)
|
|
21
|
+
return [];
|
|
22
|
+
return [{
|
|
23
|
+
command,
|
|
24
|
+
site: stringField(row.site),
|
|
25
|
+
name: stringField(row.name),
|
|
26
|
+
description: stringField(row.description),
|
|
27
|
+
access: stringField(row.access),
|
|
28
|
+
strategy: stringField(row.strategy),
|
|
29
|
+
args: Array.isArray(row.args) ? row.args.slice(0, 30) : [],
|
|
30
|
+
...stringField(row.example) ? { example: stringField(row.example) } : {},
|
|
31
|
+
...stringField(row.domain) ? { domain: stringField(row.domain) } : {},
|
|
32
|
+
}];
|
|
33
|
+
}).slice(0, 10_000);
|
|
34
|
+
}
|
|
35
|
+
export function filterOpencliCatalog(catalog, filter = {}) {
|
|
36
|
+
const query = filter.query?.trim().toLowerCase();
|
|
37
|
+
const site = filter.site?.trim().toLowerCase();
|
|
38
|
+
const access = filter.access?.trim().toLowerCase();
|
|
39
|
+
const strategy = filter.strategy?.trim().toLowerCase();
|
|
40
|
+
const limit = Math.min(Math.max(filter.limit ?? 25, 1), 100);
|
|
41
|
+
return catalog
|
|
42
|
+
.filter(item => !site || item.site.toLowerCase() === site)
|
|
43
|
+
.filter(item => !access || item.access.toLowerCase() === access)
|
|
44
|
+
.filter(item => !strategy || item.strategy.toLowerCase() === strategy)
|
|
45
|
+
.filter(item => !query || [item.command, item.site, item.name, item.description].some(value => value.toLowerCase().includes(query)))
|
|
46
|
+
.sort((a, b) => a.command.localeCompare(b.command))
|
|
47
|
+
.slice(0, limit);
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=opencli-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencli-catalog.js","sourceRoot":"","sources":["../src/opencli-catalog.ts"],"names":[],"mappings":"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"}
|
package/lib/scripts.js
CHANGED
|
@@ -4,57 +4,57 @@
|
|
|
4
4
|
* @module dsh-browser/scripts
|
|
5
5
|
*/
|
|
6
6
|
import crypto from 'node:crypto';
|
|
7
|
-
const header = (name, description) => `// ==UserScript==
|
|
8
|
-
// @name ${name}
|
|
9
|
-
// @description ${description}
|
|
10
|
-
// @match *://*/*
|
|
11
|
-
// @grant none
|
|
7
|
+
const header = (name, description) => `// ==UserScript==
|
|
8
|
+
// @name ${name}
|
|
9
|
+
// @description ${description}
|
|
10
|
+
// @match *://*/*
|
|
11
|
+
// @grant none
|
|
12
12
|
// ==/UserScript==`;
|
|
13
13
|
export const BUILTIN_SCRIPTS = [
|
|
14
14
|
{
|
|
15
15
|
id: 'article-clean',
|
|
16
16
|
name: 'Article Clean Reader',
|
|
17
17
|
description: 'Extract title, canonical URL, headings, and readable article text.',
|
|
18
|
-
source: `${header('Article Clean Reader', 'Extract readable article content without mutating the page.')}
|
|
19
|
-
const root = document.querySelector('article, main, [role="main"]') || document.body
|
|
20
|
-
return {
|
|
21
|
-
title: document.title,
|
|
22
|
-
canonicalUrl: document.querySelector('link[rel="canonical"]')?.href || location.href,
|
|
23
|
-
headings: [...root.querySelectorAll('h1,h2,h3')].slice(0, 100).map(el => (el.textContent || '').trim()).filter(Boolean),
|
|
24
|
-
text: (root.innerText || root.textContent || '').trim().slice(0, 50000),
|
|
18
|
+
source: `${header('Article Clean Reader', 'Extract readable article content without mutating the page.')}
|
|
19
|
+
const root = document.querySelector('article, main, [role="main"]') || document.body
|
|
20
|
+
return {
|
|
21
|
+
title: document.title,
|
|
22
|
+
canonicalUrl: document.querySelector('link[rel="canonical"]')?.href || location.href,
|
|
23
|
+
headings: [...root.querySelectorAll('h1,h2,h3')].slice(0, 100).map(el => (el.textContent || '').trim()).filter(Boolean),
|
|
24
|
+
text: (root.innerText || root.textContent || '').trim().slice(0, 50000),
|
|
25
25
|
}`,
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
id: 'links',
|
|
29
29
|
name: 'Link Inventory',
|
|
30
30
|
description: 'Extract up to 200 visible links with absolute URLs.',
|
|
31
|
-
source: `${header('Link Inventory', 'Extract visible links without clicking them.')}
|
|
32
|
-
return [...document.querySelectorAll('a[href]')].slice(0, 200).map(a => ({
|
|
33
|
-
text: (a.textContent || '').trim().slice(0, 500),
|
|
34
|
-
url: a.href,
|
|
31
|
+
source: `${header('Link Inventory', 'Extract visible links without clicking them.')}
|
|
32
|
+
return [...document.querySelectorAll('a[href]')].slice(0, 200).map(a => ({
|
|
33
|
+
text: (a.textContent || '').trim().slice(0, 500),
|
|
34
|
+
url: a.href,
|
|
35
35
|
})).filter(item => item.url)`,
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
38
|
id: 'jsonld',
|
|
39
39
|
name: 'JSON-LD Extractor',
|
|
40
40
|
description: 'Read structured JSON-LD blocks from the page.',
|
|
41
|
-
source: `${header('JSON-LD Extractor', 'Extract JSON-LD structured data.')}
|
|
42
|
-
return [...document.querySelectorAll('script[type="application/ld+json"]')].slice(0, 20).map(node => {
|
|
43
|
-
try { return JSON.parse(node.textContent || 'null') } catch { return { invalid: true, text: (node.textContent || '').slice(0, 2000) } }
|
|
41
|
+
source: `${header('JSON-LD Extractor', 'Extract JSON-LD structured data.')}
|
|
42
|
+
return [...document.querySelectorAll('script[type="application/ld+json"]')].slice(0, 20).map(node => {
|
|
43
|
+
try { return JSON.parse(node.textContent || 'null') } catch { return { invalid: true, text: (node.textContent || '').slice(0, 2000) } }
|
|
44
44
|
})`,
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
47
|
id: 'forms',
|
|
48
48
|
name: 'Form Structure',
|
|
49
49
|
description: 'Describe forms and controls without returning current values.',
|
|
50
|
-
source: `${header('Form Structure', 'Describe form controls without exposing entered values.')}
|
|
51
|
-
return [...document.forms].slice(0, 30).map((form, formIndex) => ({
|
|
52
|
-
form: formIndex,
|
|
53
|
-
action: form.action,
|
|
54
|
-
method: form.method,
|
|
55
|
-
controls: [...form.elements].slice(0, 100).map(el => ({
|
|
56
|
-
tag: el.tagName.toLowerCase(), type: el.type || '', name: el.name || '', id: el.id || '', required: !!el.required,
|
|
57
|
-
})),
|
|
50
|
+
source: `${header('Form Structure', 'Describe form controls without exposing entered values.')}
|
|
51
|
+
return [...document.forms].slice(0, 30).map((form, formIndex) => ({
|
|
52
|
+
form: formIndex,
|
|
53
|
+
action: form.action,
|
|
54
|
+
method: form.method,
|
|
55
|
+
controls: [...form.elements].slice(0, 100).map(el => ({
|
|
56
|
+
tag: el.tagName.toLowerCase(), type: el.type || '', name: el.name || '', id: el.id || '', required: !!el.required,
|
|
57
|
+
})),
|
|
58
58
|
}))`,
|
|
59
59
|
},
|
|
60
60
|
];
|