Master now carries the final #4182 plugin manager and the live client module graph of #4189, so the web management layer is re-ported onto them: - The manager keeps master's `ManagementError` codes, `ChangeResult` stages, `configure()` under `hmr.runExclusive`, `reload()` warnings and `writePluginEnabled` name matching, and adds back `inspect`, request-id installs with `plugin-manager/install-log` and `plugin-manager/install-state`, `cancelInstall`, `listBundles` titles, rows and overrides, `packageResult.kind`, `pnpmCommand` and `inspectTimeoutMs`, and `plugin-manager/changed` after each change and each `profile/reconciled`. A failed or cancelled installation restores the snapshotted manifest and lockfile instead of master's one-shot `pnpm remove` cleanup, so `cleanup` and `remainingDependencies` leave the result. - App boot keeps master's reconciliation diagnostics and emits `profile/reconciled`; `watchUserPatches` goes with the launcher's watcher now that HMR owns profile reloads. - The settings Plugin list tab stays read-only with #4189's page-local sync failures and retry; master's bundle form and row checkboxes are dropped again. The sidebar page words the Host's codes through its dictionary, and a client bundle change follows the live module graph without a page reload. - The web e2e scaffold no longer chooses a reload policy: the base bundle's `hmr` row turns on with the profile context and application readiness, and `profile.hmr: false` disables it through an overlay for the startup-only scenario.
72 lines
2.1 KiB
JSON
72 lines
2.1 KiB
JSON
{
|
|
"name": "@deepseek-ai/dsh-client-ui-plugin-manager",
|
|
"description": "Plugin management for the dsh web client: the sidebar Plugins panel installs, enables, disables, retries, and composes installed plugin packages",
|
|
"version": "0.1.6-alpha.1",
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/deepseek-ai/deepseek-harness.git",
|
|
"directory": "packages/client/ui-plugin-manager"
|
|
},
|
|
"type": "module",
|
|
"main": "lib/index.js",
|
|
"types": "lib/types/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"types": "./lib/types/index.d.ts",
|
|
"default": "./lib/index.js"
|
|
},
|
|
"./client": {
|
|
"types": "./lib/types/client/index.d.ts",
|
|
"default": "./lib/client.js"
|
|
},
|
|
"./src/*": "./src/*",
|
|
"./package.json": "./package.json"
|
|
},
|
|
"dsh": {
|
|
"client": {
|
|
"inject": [
|
|
"@deepseek-ai/dsh-api-remotes",
|
|
"@deepseek-ai/dsh-client-locale",
|
|
"@deepseek-ai/dsh-client-ui-layout",
|
|
"@deepseek-ai/dsh-client-ui-sidebar"
|
|
],
|
|
"platform": "web"
|
|
}
|
|
},
|
|
"scripts": {
|
|
"bundle": "tsdown",
|
|
"watch": "tsdown --watch"
|
|
},
|
|
"license": "MIT",
|
|
"peerDependencies": {
|
|
"@deepseek-ai/cordis": "workspace:^"
|
|
},
|
|
"devDependencies": {
|
|
"@deepseek-ai/cordis": "workspace:^",
|
|
"@deepseek-ai/dsh-api-remotes": "workspace:^",
|
|
"@deepseek-ai/dsh-client-locale": "workspace:^",
|
|
"@deepseek-ai/dsh-client-store": "workspace:^",
|
|
"@deepseek-ai/dsh-client-test-runtime": "workspace:^",
|
|
"@deepseek-ai/dsh-client-ui-layout": "workspace:^",
|
|
"@deepseek-ai/dsh-client-ui-primitives": "workspace:^",
|
|
"@deepseek-ai/dsh-client-ui-renderer": "workspace:^",
|
|
"@deepseek-ai/dsh-client-ui-sidebar": "workspace:^",
|
|
"@deepseek-ai/dsh-client-ui-slots": "workspace:^",
|
|
"@deepseek-ai/dsh-plugin-manager": "workspace:^",
|
|
"@testing-library/react": "^16.1.0",
|
|
"@types/react": "~18.3.1",
|
|
"clsx": "^2.1.1",
|
|
"react": "^18.2.0",
|
|
"react-dom": "^18.2.0",
|
|
"@deepseek-ai/dsh-util-crypto": "workspace:^"
|
|
},
|
|
"files": [
|
|
"lib/index.js",
|
|
"lib/client.js",
|
|
"lib/types/**/*.d.ts"
|
|
]
|
|
}
|