@anweat/dsh-browser 0.1.5 → 0.1.7

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/lib/tools.js CHANGED
@@ -5,6 +5,7 @@
5
5
  * @module dsh-browser/tools
6
6
  */
7
7
  import { defineTool } from '@deepseek-ai/dsh-tools';
8
+ import { browserToolsForMode } from "./freedom.js";
8
9
  function renderState(v) {
9
10
  const parts = [];
10
11
  if (v.title)
@@ -15,8 +16,53 @@ function renderState(v) {
15
16
  parts.push('Screenshot: ' + v.screenshotPath);
16
17
  return [{ type: 'text', text: parts.join('\n\n') }];
17
18
  }
19
+ function renderScriptResult(value) {
20
+ const v = value;
21
+ return [{ type: 'text', text: [
22
+ `Script: ${v.name} (${v.sha256.slice(0, 12)})`,
23
+ `URL: ${v.url}`,
24
+ `Capabilities: ${v.capabilities.join(', ')}`,
25
+ v.resultJson + (v.truncated ? '\n(result truncated)' : ''),
26
+ ].join('\n') }];
27
+ }
28
+ const SCRIPT_RESULT_SCHEMA = {
29
+ type: 'object',
30
+ additionalProperties: false,
31
+ properties: {
32
+ url: { type: 'string', required: true },
33
+ name: { type: 'string', required: true },
34
+ sha256: { type: 'string', required: true },
35
+ capabilities: { type: 'array', required: true, items: { type: 'string' } },
36
+ resultJson: { type: 'string', required: true },
37
+ truncated: { type: 'boolean', required: true },
38
+ },
39
+ };
40
+ const RECIPE_STEP_SCHEMA = {
41
+ type: 'object',
42
+ additionalProperties: false,
43
+ properties: {
44
+ type: { type: 'string', required: true, enum: ['wait', 'click', 'fill', 'type', 'press', 'select', 'check', 'hover', 'scroll', 'extract', 'assert', 'screenshot'] },
45
+ condition: { type: 'string', enum: ['selector', 'text', 'load', 'time'] },
46
+ selector: { type: 'string' },
47
+ value: { type: 'string' },
48
+ text: { type: 'string' },
49
+ key: { type: 'string' },
50
+ timeoutMs: { type: 'number' },
51
+ waitMs: { type: 'number' },
52
+ deltaY: { type: 'number' },
53
+ checked: { type: 'boolean' },
54
+ mode: { type: 'string', enum: ['text', 'html', 'links', 'attribute'] },
55
+ attribute: { type: 'string' },
56
+ limit: { type: 'number' },
57
+ },
58
+ };
18
59
  export function registerTools(ctx, config, service) {
19
- ctx.tools.register(defineTool({
60
+ const exposedTools = new Set(browserToolsForMode(config.automationMode));
61
+ const register = (tool) => {
62
+ if (exposedTools.has(String(tool.name)))
63
+ ctx.tools.register(tool);
64
+ };
65
+ register(defineTool({
20
66
  name: 'browser_open',
21
67
  description: 'Open a URL in the persistent browser page and return the rendered title, readable text, and a full-page screenshot path. Use this to start a multi-step browsing session.',
22
68
  parameters: {
@@ -44,7 +90,7 @@ export function registerTools(ctx, config, service) {
44
90
  return service.open(args.url, { ...args.waitMs !== undefined ? { waitMs: args.waitMs } : {}, ...args.authProfile ? { authProfile: args.authProfile } : {}, ...args.rulePack ? { rulePack: args.rulePack } : {} });
45
91
  },
46
92
  }));
47
- ctx.tools.register(defineTool({
93
+ register(defineTool({
48
94
  name: 'browser_click',
49
95
  description: 'Click a CSS selector on the current browser page, then return the updated page state. Use after browser_open to follow links or press buttons.',
50
96
  parameters: {
@@ -69,7 +115,7 @@ export function registerTools(ctx, config, service) {
69
115
  return service.click(args.selector);
70
116
  },
71
117
  }));
72
- ctx.tools.register(defineTool({
118
+ register(defineTool({
73
119
  name: 'browser_type',
74
120
  description: 'Type text into an input/textarea (CSS selector) on the current browser page, then return the page state. Use to fill search boxes and forms.',
75
121
  parameters: {
@@ -95,7 +141,7 @@ export function registerTools(ctx, config, service) {
95
141
  return service.type(args.selector, args.text);
96
142
  },
97
143
  }));
98
- ctx.tools.register(defineTool({
144
+ register(defineTool({
99
145
  name: 'browser_scroll',
100
146
  description: 'Scroll the current browser page vertically by deltaY pixels (positive = down) to trigger lazy loading, then return the page state.',
101
147
  parameters: {
@@ -120,7 +166,7 @@ export function registerTools(ctx, config, service) {
120
166
  return service.scroll(args.deltaY ?? 2000);
121
167
  },
122
168
  }));
123
- ctx.tools.register(defineTool({
169
+ register(defineTool({
124
170
  name: 'browser_read',
125
171
  description: 'Read the current browser page state (URL, title, readable text) without taking a screenshot.',
126
172
  parameters: {},
@@ -143,7 +189,7 @@ export function registerTools(ctx, config, service) {
143
189
  return service.read();
144
190
  },
145
191
  }));
146
- ctx.tools.register(defineTool({
192
+ register(defineTool({
147
193
  name: 'browser_screenshot',
148
194
  description: 'Capture a full-page screenshot of the current browser page and return the file path.',
149
195
  parameters: {},
@@ -163,7 +209,7 @@ export function registerTools(ctx, config, service) {
163
209
  return service.screenshot();
164
210
  },
165
211
  }));
166
- ctx.tools.register(defineTool({
212
+ register(defineTool({
167
213
  name: 'browser_close',
168
214
  description: 'Close the current browser page (and its context). The next browser_open starts a fresh page.',
169
215
  parameters: {},
@@ -177,7 +223,7 @@ export function registerTools(ctx, config, service) {
177
223
  return { closed: true };
178
224
  },
179
225
  }));
180
- ctx.tools.register(defineTool({
226
+ register(defineTool({
181
227
  name: 'browser_status',
182
228
  description: 'Report the browser runtime status: enabled, channel, headless, whether chromium is installed, whether the bundled OpenCLI is enabled, and the active page URL.',
183
229
  parameters: {},
@@ -190,11 +236,20 @@ export function registerTools(ctx, config, service) {
190
236
  channel: { type: 'string', required: true },
191
237
  headless: { type: 'boolean', required: true },
192
238
  opencliEnabled: { type: 'boolean', required: true },
239
+ automationMode: { type: 'string', required: true, enum: ['read-only', 'standard', 'autonomous', 'unrestricted'] },
240
+ exposedTools: { type: 'array', required: true, items: { type: 'string' } },
241
+ directInteractionPolicy: { type: 'string', required: true, enum: ['deny', 'ask', 'allow'] },
242
+ mutatingRecipePolicy: { type: 'string', required: true, enum: ['deny', 'ask', 'allow'] },
243
+ externalUserscriptPolicy: { type: 'string', required: true, enum: ['deny', 'ask', 'allow'] },
244
+ opencliRunPolicy: { type: 'string', required: true, enum: ['deny', 'ask', 'allow'] },
193
245
  chromiumInstalled: { type: 'boolean', required: true },
194
246
  activeUrl: { type: 'string' },
195
247
  activeAuthProfile: { type: 'string' },
196
248
  authProfiles: { type: 'array', required: true, items: { type: 'object', additionalProperties: false, properties: { id: { type: 'string', required: true }, allowedDomains: { type: 'array', required: true, items: { type: 'string' } }, persistState: { type: 'boolean', required: true } } } },
197
249
  rulePacks: { type: 'array', required: true, items: { type: 'string' } },
250
+ builtinScripts: { type: 'array', required: true, items: { type: 'string' } },
251
+ externalUserscriptsRequireApproval: { type: 'boolean', required: true },
252
+ mutatingRecipesRequireApproval: { type: 'boolean', required: true },
198
253
  },
199
254
  },
200
255
  render: (_args, value) => {
@@ -202,10 +257,16 @@ export function registerTools(ctx, config, service) {
202
257
  return [{ type: 'text', text: [
203
258
  'browser: ' + (v.enabled ? 'enabled' : 'disabled'),
204
259
  'channel: ' + v.channel + (v.headless ? ' (headless)' : ' (headed)'),
260
+ 'automation mode: ' + v.automationMode + ' (' + v.exposedTools.length + ' tools exposed)',
261
+ 'direct interactions: ' + v.directInteractionPolicy,
262
+ 'mutating recipes: ' + v.mutatingRecipePolicy,
263
+ 'external userscripts: ' + v.externalUserscriptPolicy,
264
+ 'general opencli: ' + v.opencliRunPolicy,
205
265
  'chromium installed: ' + v.chromiumInstalled,
206
266
  'opencli (bundled): ' + (v.opencliEnabled ? 'enabled' : 'disabled'),
207
267
  'auth profiles: ' + (v.authProfiles.map(p => p.id + '[' + p.allowedDomains.join(',') + ']' + (p.persistState ? '(writeback)' : '')).join('; ') || '-'),
208
268
  'rule packs: ' + (v.rulePacks.join(', ') || '-'),
269
+ 'built-in scripts: ' + v.builtinScripts.join(', '),
209
270
  ...(v.activeAuthProfile ? ['active auth profile: ' + v.activeAuthProfile] : []),
210
271
  ...(v.activeUrl ? ['active page: ' + v.activeUrl] : []),
211
272
  ].join('\n') }];
@@ -217,7 +278,7 @@ export function registerTools(ctx, config, service) {
217
278
  return service.status();
218
279
  },
219
280
  }));
220
- ctx.tools.register(defineTool({
281
+ register(defineTool({
221
282
  name: 'browser_install',
222
283
  description: 'Install the bundled Playwright chromium browser (downloads to the Playwright cache). Run this once if browser_status reports chromium not installed.',
223
284
  parameters: {},
@@ -244,5 +305,212 @@ export function registerTools(ctx, config, service) {
244
305
  return { code: r.code, stdout: r.stdout, stderr: r.stderr, timedOut: r.timedOut };
245
306
  },
246
307
  }));
308
+ register(defineTool({
309
+ name: 'browser_script_catalog',
310
+ description: 'List trusted built-in read-only browser scripts. Prefer these over external JavaScript for article extraction, links, JSON-LD, and form structure.',
311
+ parameters: {},
312
+ output: {
313
+ schema: {
314
+ type: 'array',
315
+ items: {
316
+ type: 'object',
317
+ additionalProperties: false,
318
+ properties: {
319
+ id: { type: 'string', required: true },
320
+ name: { type: 'string', required: true },
321
+ description: { type: 'string', required: true },
322
+ sha256: { type: 'string', required: true },
323
+ },
324
+ },
325
+ },
326
+ render: (_args, value) => [{ type: 'text', text: value.map(item => `${item.id} — ${item.description} (${item.sha256.slice(0, 12)})`).join('\n') }],
327
+ },
328
+ isConcurrencySafe: () => true,
329
+ async execute() {
330
+ return service.scriptCatalog();
331
+ },
332
+ }));
333
+ register(defineTool({
334
+ name: 'browser_script_validate',
335
+ description: 'Validate externally supplied Tampermonkey/UserScript-style JavaScript without executing it. Parses @match/@grant, reports SHA-256 and capabilities. Only @grant none is supported.',
336
+ parameters: {
337
+ source: { type: 'string', required: true, description: 'Complete userscript source including the metadata block. Never embed credentials.' },
338
+ url: { type: 'string', description: 'Optional target URL to verify against @match and @exclude-match.' },
339
+ },
340
+ output: {
341
+ schema: {
342
+ type: 'object',
343
+ additionalProperties: false,
344
+ properties: {
345
+ valid: { type: 'boolean', required: true },
346
+ sha256: { type: 'string', required: true },
347
+ bytes: { type: 'number', required: true },
348
+ name: { type: 'string', required: true },
349
+ matches: { type: 'array', required: true, items: { type: 'string' } },
350
+ grants: { type: 'array', required: true, items: { type: 'string' } },
351
+ capabilities: { type: 'array', required: true, items: { type: 'string' } },
352
+ errors: { type: 'array', required: true, items: { type: 'string' } },
353
+ warnings: { type: 'array', required: true, items: { type: 'string' } },
354
+ },
355
+ },
356
+ render: (_args, value) => [{ type: 'text', text: [
357
+ `${value.valid ? 'VALID' : 'INVALID'} ${value.name} (${value.sha256})`,
358
+ `matches: ${value.matches.join(', ') || '-'}`,
359
+ `grants: ${value.grants.join(', ') || 'none (implicit)'}`,
360
+ `capabilities: ${value.capabilities.join(', ')}`,
361
+ ...value.errors.map(error => 'error: ' + error),
362
+ ...value.warnings.map(warning => 'warning: ' + warning),
363
+ ].join('\n') }],
364
+ },
365
+ isConcurrencySafe: () => true,
366
+ async execute(args) {
367
+ const result = service.validateUserscript(args.source, args.url);
368
+ return {
369
+ valid: result.valid,
370
+ sha256: result.sha256,
371
+ bytes: result.bytes,
372
+ name: result.metadata.name,
373
+ matches: result.metadata.matches,
374
+ grants: result.metadata.grants,
375
+ capabilities: result.capabilities,
376
+ errors: result.errors,
377
+ warnings: result.warnings,
378
+ };
379
+ },
380
+ }));
381
+ register(defineTool({
382
+ name: 'browser_script_run_builtin',
383
+ description: 'Run one trusted built-in read-only script in a fresh Playwright context and return bounded JSON. Supports named AuthProfile and RulePack selection.',
384
+ parameters: {
385
+ url: { type: 'string', required: true },
386
+ scriptId: { type: 'string', required: true, enum: ['article-clean', 'links', 'jsonld', 'forms'] },
387
+ authProfile: { type: 'string' },
388
+ rulePack: { type: 'string' },
389
+ timeoutMs: { type: 'number' },
390
+ },
391
+ output: { schema: SCRIPT_RESULT_SCHEMA, render: (_args, value) => renderScriptResult(value) },
392
+ timeoutMs: 60_000,
393
+ isConcurrencySafe: () => false,
394
+ async execute(args, exec) {
395
+ return service.runBuiltinScript(args.url, args.scriptId, {
396
+ signal: exec.signal,
397
+ ...args.timeoutMs !== undefined ? { timeoutMs: args.timeoutMs } : {},
398
+ ...args.authProfile ? { authProfile: args.authProfile } : {},
399
+ ...args.rulePack ? { rulePack: args.rulePack } : {},
400
+ });
401
+ },
402
+ }));
403
+ register(defineTool({
404
+ name: 'browser_userscript_run',
405
+ description: 'Run an externally supplied Tampermonkey/UserScript-style script in a fresh Playwright context. Approval follows automationMode (skipped only in unrestricted); target @match, source/result caps, and no-GM_* validation always apply.',
406
+ parameters: {
407
+ url: { type: 'string', required: true },
408
+ source: { type: 'string', required: true, description: 'Complete userscript source. Validate first. Never embed credentials or tokens.' },
409
+ authProfile: { type: 'string' },
410
+ rulePack: { type: 'string' },
411
+ timeoutMs: { type: 'number' },
412
+ },
413
+ output: { schema: SCRIPT_RESULT_SCHEMA, render: (_args, value) => renderScriptResult(value) },
414
+ timeoutMs: 60_000,
415
+ isConcurrencySafe: () => false,
416
+ async execute(args, exec) {
417
+ return service.runUserscript(args.url, args.source, {
418
+ signal: exec.signal,
419
+ ...args.timeoutMs !== undefined ? { timeoutMs: args.timeoutMs } : {},
420
+ ...args.authProfile ? { authProfile: args.authProfile } : {},
421
+ ...args.rulePack ? { rulePack: args.rulePack } : {},
422
+ });
423
+ },
424
+ }));
425
+ register(defineTool({
426
+ name: 'browser_recipe_run',
427
+ description: 'Run a bounded Playwright recipe (max 25 named steps). Read-only steps run directly; mutating steps are denied in read-only, approved once in standard, and direct in autonomous/unrestricted.',
428
+ parameters: {
429
+ url: { type: 'string', description: 'Open this URL first; omit only when browser_open already established an active page.' },
430
+ authProfile: { type: 'string' },
431
+ rulePack: { type: 'string' },
432
+ waitMs: { type: 'number' },
433
+ steps: { type: 'array', required: true, items: RECIPE_STEP_SCHEMA },
434
+ },
435
+ output: {
436
+ schema: {
437
+ type: 'object',
438
+ additionalProperties: false,
439
+ properties: {
440
+ url: { type: 'string', required: true },
441
+ title: { type: 'string', required: true },
442
+ text: { type: 'string', required: true },
443
+ screenshotPath: { type: 'string' },
444
+ steps: {
445
+ type: 'array', required: true, items: {
446
+ type: 'object', additionalProperties: false, properties: {
447
+ step: { type: 'number', required: true },
448
+ action: { type: 'string', required: true },
449
+ ok: { type: 'boolean', required: true },
450
+ value: { type: 'string' },
451
+ },
452
+ },
453
+ },
454
+ },
455
+ },
456
+ render: (_args, value) => [{ type: 'text', text: [
457
+ `${value.title}\n${value.url}`,
458
+ ...value.steps.map(step => `${step.step}. ${step.action}: ${step.ok ? 'ok' : 'failed'}${step.value ? '\n' + step.value : ''}`),
459
+ value.text,
460
+ ].join('\n\n') }],
461
+ },
462
+ timeoutMs: 120_000,
463
+ isConcurrencySafe: () => false,
464
+ async execute(args, exec) {
465
+ return service.recipe(args.steps, {
466
+ signal: exec.signal,
467
+ ...args.url ? { url: args.url } : {},
468
+ ...args.waitMs !== undefined ? { waitMs: args.waitMs } : {},
469
+ ...args.authProfile ? { authProfile: args.authProfile } : {},
470
+ ...args.rulePack ? { rulePack: args.rulePack } : {},
471
+ });
472
+ },
473
+ }));
474
+ register(defineTool({
475
+ name: 'browser_opencli_status',
476
+ description: 'Run bundled OpenCLI doctor and return the real daemon, extension, profile, and Browser Bridge connectivity status.',
477
+ parameters: {},
478
+ output: {
479
+ schema: {
480
+ type: 'object', additionalProperties: false, properties: {
481
+ code: { type: 'number', required: true }, stdout: { type: 'string', required: true }, stderr: { type: 'string', required: true }, timedOut: { type: 'boolean', required: true },
482
+ },
483
+ },
484
+ render: (_args, value) => [{ type: 'text', text: (value.stdout || value.stderr).slice(0, 20_000) }],
485
+ },
486
+ timeoutMs: 45_000,
487
+ isConcurrencySafe: () => true,
488
+ async execute(_args, exec) {
489
+ return service.opencliDoctor(exec.signal);
490
+ },
491
+ }));
492
+ register(defineTool({
493
+ name: 'browser_opencli_run',
494
+ description: 'Run any bundled OpenCLI adapter or browser-session command with verbatim argv. Approval is skipped only in unrestricted because commands may reuse logged-in Chrome state or perform writes. Prefer existing read-only search tools when available.',
495
+ parameters: {
496
+ args: { type: 'array', required: true, items: { type: 'string' }, description: 'Arguments after opencli, e.g. ["browser","work","state"] or ["reddit","search","dsh","-f","json"].' },
497
+ profile: { type: 'string', description: 'Optional OpenCLI profile alias, passed as --profile.' },
498
+ timeoutMs: { type: 'number' },
499
+ },
500
+ output: {
501
+ schema: {
502
+ type: 'object', additionalProperties: false, properties: {
503
+ code: { type: 'number', required: true }, stdout: { type: 'string', required: true }, stderr: { type: 'string', required: true }, timedOut: { type: 'boolean', required: true },
504
+ },
505
+ },
506
+ render: (_args, value) => [{ type: 'text', text: `opencli exit=${value.code}${value.timedOut ? ' (timeout)' : ''}\n${(value.stdout || value.stderr).slice(0, 100_000)}` }],
507
+ },
508
+ timeoutMs: 180_000,
509
+ isConcurrencySafe: () => false,
510
+ async execute(args, exec) {
511
+ const argv = [...args.profile ? ['--profile', args.profile] : [], ...args.args];
512
+ return service.opencli(argv, { timeoutMs: Math.min(Math.max(args.timeoutMs ?? 60_000, 1_000), 120_000), signal: exec.signal });
513
+ },
514
+ }));
247
515
  }
248
516
  //# sourceMappingURL=tools.js.map
package/lib/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,75 +1,78 @@
1
- {
2
- "name": "@anweat/dsh-browser",
3
- "version": "0.1.5",
4
- "description": "Self-contained browser runtime plugin for DeepSeek Harness (scoped @anweat) — bundles Playwright (chromium) and OpenCLI as plugin-local dependencies (with global-reuse fallback), exposes a `browser` service and interactive browser tools.",
5
- "license": "MIT",
6
- "type": "module",
7
- "main": "lib/index.js",
8
- "types": "lib/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "types": "./lib/index.d.ts",
12
- "default": "./lib/index.js"
13
- },
14
- "./cordis.patch.yml": "./cordis.patch.yml",
15
- "./package.json": "./package.json"
16
- },
17
- "files": [
18
- "lib",
19
- "cordis.patch.yml",
20
- "README.md",
21
- "scripts",
22
- "LICENSE"
23
- ],
24
- "engines": {
25
- "node": "^22.19 || >=24"
26
- },
27
- "peerDependencies": {
28
- "@deepseek-ai/cordis": "^4.0.1",
29
- "@deepseek-ai/dsh-tools": "^0.1.1-rc.2",
30
- "@deepseek-ai/schemastery": "^3.18.1"
31
- },
32
- "peerDependenciesMeta": {
33
- "@deepseek-ai/cordis": {
34
- "optional": true
35
- },
36
- "@deepseek-ai/dsh-tools": {
37
- "optional": true
38
- },
39
- "@deepseek-ai/schemastery": {
40
- "optional": true
41
- }
42
- },
43
- "dependencies": {
44
- "@jackwener/opencli": "^1.8.6",
45
- "playwright": "^1.60.0"
46
- },
47
- "devDependencies": {
48
- "@deepseek-ai/cordis": "^4.0.1",
49
- "@deepseek-ai/dsh-tools": "^0.1.1-rc.2",
50
- "@deepseek-ai/schemastery": "^3.18.1",
51
- "typescript": "^5.6.0",
52
- "@types/node": "^22.0.0"
53
- },
54
- "dsh": {
55
- "bundle": {
56
- "patch": "./cordis.patch.yml"
57
- }
58
- },
59
- "repository": {
60
- "type": "git",
61
- "url": "git+https://github.com/anweat/dsh-browser.git"
62
- },
63
- "keywords": [
64
- "dsh",
65
- "deepseek-harness",
66
- "plugin",
67
- "browser",
68
- "playwright",
69
- "opencli"
70
- ],
71
- "scripts": {
72
- "build": "tsc -p tsconfig.json",
73
- "test": "node --test --experimental-transform-types test/*.test.ts"
74
- }
75
- }
1
+ {
2
+ "name": "@anweat/dsh-browser",
3
+ "version": "0.1.7",
4
+ "description": "Self-contained browser runtime plugin for DeepSeek Harness (scoped @anweat) — bundles Playwright (chromium) and OpenCLI as plugin-local dependencies (with global-reuse fallback), exposes a `browser` service and interactive browser tools.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "lib/index.js",
8
+ "types": "lib/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./lib/index.d.ts",
12
+ "default": "./lib/index.js"
13
+ },
14
+ "./cordis.patch.yml": "./cordis.patch.yml",
15
+ "./package.json": "./package.json"
16
+ },
17
+ "files": [
18
+ "lib",
19
+ "cordis.patch.yml",
20
+ "README.md",
21
+ "scripts",
22
+ "LICENSE"
23
+ ],
24
+ "engines": {
25
+ "node": "^22.19 || >=24"
26
+ },
27
+ "scripts": {
28
+ "build": "tsc -p tsconfig.json",
29
+ "test": "node --test --experimental-transform-types test/*.test.ts",
30
+ "prepublishOnly": "npm run build",
31
+ "prepare": "npm run build"
32
+ },
33
+ "peerDependencies": {
34
+ "@deepseek-ai/cordis": "^4.0.1",
35
+ "@deepseek-ai/dsh-tools": "^0.1.1-rc.2",
36
+ "@deepseek-ai/schemastery": "^3.18.1"
37
+ },
38
+ "peerDependenciesMeta": {
39
+ "@deepseek-ai/cordis": {
40
+ "optional": true
41
+ },
42
+ "@deepseek-ai/dsh-tools": {
43
+ "optional": true
44
+ },
45
+ "@deepseek-ai/schemastery": {
46
+ "optional": true
47
+ }
48
+ },
49
+ "dependencies": {
50
+ "@jackwener/opencli": "^1.8.6",
51
+ "playwright": "^1.60.0"
52
+ },
53
+ "devDependencies": {
54
+ "@deepseek-ai/cordis": "^4.0.1",
55
+ "@deepseek-ai/dsh-tools": "^0.1.1-rc.2",
56
+ "@deepseek-ai/schemastery": "^3.18.1",
57
+ "typescript": "^5.6.0",
58
+ "@types/node": "^22.0.0"
59
+ },
60
+ "dsh": {
61
+ "bundle": {
62
+ "patch": "./cordis.patch.yml"
63
+ }
64
+ },
65
+ "packageManager": "pnpm@11.7.0",
66
+ "repository": {
67
+ "type": "git",
68
+ "url": "git+https://github.com/anweat/dsh-browser.git"
69
+ },
70
+ "keywords": [
71
+ "dsh",
72
+ "deepseek-harness",
73
+ "plugin",
74
+ "browser",
75
+ "playwright",
76
+ "opencli"
77
+ ]
78
+ }