What plugin management does now lives in `dsh-plugin-manager`, a boot-group package beside `app-boot`: `PluginInstaller` runs pnpm, probes, and judges new packages over the profile on disk, and `PluginManager` adds every operation over the booted tree, each refusal a `PluginOperationError` with a `plugins/*` code and no Remote protocol attached. The manager reads the profile runtime, the preset roster, and the running-agent count through per-call readers, and the roster only as `PresetLayers`, so the package depends on neither the roster nor the agent registry. `dsh-host-plugin-manager` keeps `pluginManager` and the `plugins` Remote as a relay: one Remote method per manager method, and one exhaustive switch turning a failure into the Remote error of the same code (`plugins/bad-request` into `gateway/bad-request`). Its `./types` re-exports the manager's types, so `api-remotes` and the client import one vocabulary unchanged. `dsh plugin add` and `remove` now run the installer instead of a bare pnpm forwarder: every new package is probed, a package that declares neither a bundle nor a plugin module is removed again with its reason, and newly installed bundles are enabled as before. Other pnpm verbs still forward.
79 lines
1.5 KiB
JSON
79 lines
1.5 KiB
JSON
{
|
|
"extends": "../../tsconfig.base.json",
|
|
"compilerOptions": {
|
|
"rootDir": "src",
|
|
"outDir": "lib/types"
|
|
},
|
|
"include": [
|
|
"src"
|
|
],
|
|
"references": [
|
|
{
|
|
"path": "../../vendor/cordis"
|
|
},
|
|
{
|
|
"path": "../../vendor/loader"
|
|
},
|
|
{
|
|
"path": "../../vendor/include"
|
|
},
|
|
{
|
|
"path": "../../packages/boot/app-boot"
|
|
},
|
|
{
|
|
"path": "../../packages/boot/plugin-manager"
|
|
},
|
|
{
|
|
"path": "../../packages/boot/cmdline"
|
|
},
|
|
{
|
|
"path": "../../packages/bundle/base"
|
|
},
|
|
{
|
|
"path": "../../packages/bundle/headless"
|
|
},
|
|
{
|
|
"path": "../../packages/bundle/web-app"
|
|
},
|
|
{
|
|
"path": "../../packages/host/webserver"
|
|
},
|
|
{
|
|
"path": "../../packages/host/frontend-static"
|
|
},
|
|
{
|
|
"path": "../../packages/core/session"
|
|
},
|
|
{
|
|
"path": "../../packages/core/system-prompt"
|
|
},
|
|
{
|
|
"path": "../../packages/core/tools"
|
|
},
|
|
{
|
|
"path": "../../packages/util/launch-environment"
|
|
},
|
|
{
|
|
"path": "../../packages/util/home-paths"
|
|
},
|
|
{
|
|
"path": "../../packages/mcp/mcp-client"
|
|
},
|
|
{
|
|
"path": "../../packages/test-support/loader-smoke"
|
|
},
|
|
{
|
|
"path": "../../packages/session-query/session-query-sqlite"
|
|
},
|
|
{
|
|
"path": "../../packages/session-query/session-query"
|
|
},
|
|
{
|
|
"path": "../../packages/shell/shell-env"
|
|
},
|
|
{
|
|
"path": "../../packages/shell/tool-bash"
|
|
}
|
|
]
|
|
}
|