@anweat/dsh-browser 0.1.15-alpha.2 → 0.1.17

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anweat/dsh-browser",
3
- "version": "0.1.15-alpha.2",
3
+ "version": "0.1.17",
4
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
5
  "license": "MIT",
6
6
  "type": "module",
@@ -30,17 +30,18 @@
30
30
  "node": "^22.19 || >=24"
31
31
  },
32
32
  "peerDependencies": {
33
- "@deepseek-ai/cordis": "4.0.2",
34
- "@deepseek-ai/dsh-tools": "0.1.5-alpha.1",
35
- "@deepseek-ai/dsh-client-connection": "0.1.5-alpha.1",
36
- "@deepseek-ai/dsh-client-locale": "0.1.5-alpha.1",
37
- "@deepseek-ai/dsh-client-store": "0.1.5-alpha.1",
38
- "@deepseek-ai/dsh-client-ui-renderer": "0.1.5-alpha.1",
39
- "@deepseek-ai/dsh-client-ui-settings": "0.1.5-alpha.1",
40
- "@deepseek-ai/dsh-client-ui-settings-plugins": "0.1.5-alpha.1",
41
- "@deepseek-ai/dsh-client-ui-slots": "0.1.5-alpha.1",
42
- "@deepseek-ai/dsh-settings": "0.1.5-alpha.1",
43
- "@deepseek-ai/schemastery": "3.18.2"
33
+ "@deepseek-ai/cordis": "4.0.4",
34
+ "@deepseek-ai/dsh-tools": "^0.1.7-rc.2 || >=0.2.0-rc.1 <0.2.1-0",
35
+ "@deepseek-ai/dsh-client-connection": "^0.1.7-rc.2 || >=0.2.0-rc.1 <0.2.1-0",
36
+ "@deepseek-ai/dsh-client-locale": "^0.1.7-rc.2 || >=0.2.0-rc.1 <0.2.1-0",
37
+ "@deepseek-ai/dsh-client-store": "^0.1.7-rc.2 || >=0.2.0-rc.1 <0.2.1-0",
38
+ "@deepseek-ai/dsh-client-ui-renderer": "^0.1.7-rc.2 || >=0.2.0-rc.1 <0.2.1-0",
39
+ "@deepseek-ai/dsh-client-ui-settings": "^0.1.7-rc.2 || >=0.2.0-rc.1 <0.2.1-0",
40
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-rc.2 || >=0.2.0-rc.1 <0.2.1-0",
41
+ "@deepseek-ai/dsh-client-ui-plugin-manager": "^0.1.7-rc.2 || >=0.2.0-rc.1 <0.2.1-0",
42
+ "@deepseek-ai/dsh-client-ui-slots": "^0.1.7-rc.2 || >=0.2.0-rc.1 <0.2.1-0",
43
+ "@deepseek-ai/dsh-settings": "^0.1.7-rc.2 || >=0.2.0-rc.1 <0.2.1-0",
44
+ "@deepseek-ai/schemastery": ">=3.18.2 <4"
44
45
  },
45
46
  "peerDependenciesMeta": {
46
47
  "@deepseek-ai/cordis": {
@@ -64,7 +65,10 @@
64
65
  "@deepseek-ai/dsh-client-ui-settings": {
65
66
  "optional": true
66
67
  },
67
- "@deepseek-ai/dsh-client-ui-settings-plugins": {
68
+ "@deepseek-ai/dsh-client-ui-primitives": {
69
+ "optional": true
70
+ },
71
+ "@deepseek-ai/dsh-client-ui-plugin-manager": {
68
72
  "optional": true
69
73
  },
70
74
  "@deepseek-ai/dsh-client-ui-slots": {
@@ -83,33 +87,34 @@
83
87
  "playwright": "^1.60.0"
84
88
  },
85
89
  "devDependencies": {
86
- "@deepseek-ai/cordis": "4.0.2",
87
- "@deepseek-ai/dsh-agent": "0.1.5-alpha.1",
88
- "@deepseek-ai/dsh-code-runtime": "0.1.5-alpha.1",
89
- "@deepseek-ai/dsh-invariants": "0.1.5-alpha.1",
90
- "@deepseek-ai/dsh-llm": "0.1.5-alpha.1",
91
- "@deepseek-ai/dsh-scope": "0.1.5-alpha.1",
92
- "@deepseek-ai/dsh-session": "0.1.5-alpha.1",
93
- "@deepseek-ai/dsh-session-projection": "0.1.5-alpha.1",
94
- "@deepseek-ai/dsh-system-prompt": "0.1.5-alpha.1",
95
- "@deepseek-ai/dsh-user-approval": "0.1.5-alpha.1",
96
- "@deepseek-ai/dsh-tools": "0.1.5-alpha.1",
97
- "@deepseek-ai/dsh-client-connection": "0.1.5-alpha.1",
98
- "@deepseek-ai/dsh-client-locale": "0.1.5-alpha.1",
99
- "@deepseek-ai/dsh-client-store": "0.1.5-alpha.1",
100
- "@deepseek-ai/dsh-client-ui-renderer": "0.1.5-alpha.1",
101
- "@deepseek-ai/dsh-client-ui-settings": "0.1.5-alpha.1",
102
- "@deepseek-ai/dsh-client-ui-settings-plugins": "0.1.5-alpha.1",
103
- "@deepseek-ai/dsh-client-ui-slots": "0.1.5-alpha.1",
104
- "@deepseek-ai/dsh-settings": "0.1.5-alpha.1",
105
- "@deepseek-ai/schemastery": "3.18.2",
90
+ "@deepseek-ai/cordis": "4.0.4",
91
+ "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
92
+ "@deepseek-ai/dsh-invariants": "0.2.0-rc.2",
93
+ "@deepseek-ai/dsh-llm": "0.2.0-rc.2",
94
+ "@deepseek-ai/dsh-scope": "0.2.0-rc.2",
95
+ "@deepseek-ai/dsh-session": "0.2.0-rc.2",
96
+ "@deepseek-ai/dsh-session-projection": "0.2.0-rc.2",
97
+ "@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
98
+ "@deepseek-ai/dsh-user-approval": "0.2.0-rc.2",
99
+ "@deepseek-ai/dsh-tools": "0.2.0-rc.2",
100
+ "@deepseek-ai/dsh-client-connection": "0.2.0-rc.2",
101
+ "@deepseek-ai/dsh-client-locale": "0.2.0-rc.2",
102
+ "@deepseek-ai/dsh-client-store": "0.2.0-rc.2",
103
+ "@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.2",
104
+ "@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.2",
105
+ "@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.2",
106
+ "@deepseek-ai/dsh-settings": "0.2.0-rc.2",
107
+ "@deepseek-ai/schemastery": "3.18.4",
106
108
  "@types/react": "~18.3.1",
107
109
  "@types/react-dom": "~18.3.1",
108
110
  "react": "^18.2.0",
109
111
  "react-dom": "18.2.0",
110
112
  "tsdown": "^0.22.2",
111
113
  "typescript": "^5.6.0",
112
- "@types/node": "^22.0.0"
114
+ "@types/node": "^22.0.0",
115
+ "@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.2",
116
+ "@deepseek-ai/dsh-client-ui-plugin-manager": "0.2.0-rc.2",
117
+ "clsx": "^2.0.0"
113
118
  },
114
119
  "dsh": {
115
120
  "client": {
@@ -118,7 +123,7 @@
118
123
  "@deepseek-ai/dsh-client-locale",
119
124
  "@deepseek-ai/dsh-client-ui-renderer",
120
125
  "@deepseek-ai/dsh-client-ui-settings",
121
- "@deepseek-ai/dsh-client-ui-settings-plugins"
126
+ "@deepseek-ai/dsh-client-ui-plugin-manager"
122
127
  ],
123
128
  "platform": "web"
124
129
  },
@@ -143,6 +148,7 @@
143
148
  "typecheck": "tsc -p tsconfig.json --noEmit",
144
149
  "test": "node --test --experimental-transform-types test/*.test.ts",
145
150
  "test:client-bundle": "node scripts/check-client-bundle.mjs",
146
- "verify": "pnpm run typecheck && pnpm run build && pnpm test && pnpm run test:client-bundle"
151
+ "verify": "pnpm run typecheck && pnpm run test:peers && pnpm run build && pnpm test && pnpm run test:client-bundle",
152
+ "test:peers": "node test/compat/check-peer-ranges.js"
147
153
  }
148
154
  }
@@ -4,11 +4,15 @@ import { readFile } from 'node:fs/promises'
4
4
  const source = await readFile(new URL('../lib/client.js', import.meta.url), 'utf8')
5
5
  const sourceMap = JSON.parse(await readFile(new URL('../lib/client.js.map', import.meta.url), 'utf8'))
6
6
  const imports = [...source.matchAll(/\brequire\((['"])([^'"]+)\1\)/g)].map(match => match[2])
7
- const allowed = new Set(['react', 'react/jsx-runtime', 'react-dom', 'react-dom/client', '@deepseek-ai/cordis', '@deepseek-ai/dsh-client-store', '@deepseek-ai/dsh-client-ui-slots'])
7
+ const allowed = new Set(['react', 'react/jsx-runtime', 'react-dom', 'react-dom/client', '@deepseek-ai/cordis', '@deepseek-ai/dsh-client-store', '@deepseek-ai/dsh-client-ui-slots', '@deepseek-ai/dsh-client-ui-primitives', '@deepseek-ai/dsh-client-ui-plugin-manager'])
8
8
  const forbidden = [...new Set(imports.filter(id => !allowed.has(id)))].sort()
9
9
 
10
10
  assert.deepEqual(forbidden, [], `client bundle contains unavailable imports: ${forbidden.join(', ')}`)
11
- assert.match(source, /settings\.plugin\.item/)
11
+ // An external bundle owns its keyed configuration on its Plugins detail page.
12
+ assert.match(source, /plugins\.bundle\.config/)
13
+ assert.match(source, /key:\s*["']@anweat\/dsh-browser["']/)
14
+ // The shared settings-form chrome must stay a module-table import, never inlined.
15
+ assert.match(source, /@deepseek-ai\/dsh-client-ui-primitives/)
12
16
  assert.match(source, /dsh-browser/)
13
17
  assert.match(source, /Browser automation/)
14
18
  assert.equal('sourcesContent' in sourceMap, false, 'client source map must exclude source contents')