- Clone patch lists per generation (boot + composeLive): the include pushes insert rows by reference and mutates them in place, so a reused object baked user overrides into bundle rows and removal could not revert; the built-bin hot-reload e2e now asserts an override AND its removal reverting. - The headless runner awaits Loader settlement before prompting (its inject gate covers only apiProxy/httpServer) and abandons cleanly when the tree died during the wait. - healProfilesModuleFallback walks the app's full dependency+peer closure: out-of-tree plugins import seam packages (dsh-compact, dsh-subprocess, ...) that only implementations reach, and peers are how seams are declared. - Profile init writes pnpm-workspace.yaml (nodeLinker: hoisted), not .npmrc — pnpm >=10 reads settings from the workspace manifest. - Web dumps reject boot-only flags instead of printing a tree that differs from the same invocation's boot; --port validates at the flag; --dump-default-config no longer parses the (possibly broken) user layer; trustedHosts flag derivation merges over the composed value instead of replacing it; web-runtime gains surfaceContext (headless disables the GUI prompt/bash-vars the old -p never mounted); 'node_modules' is a reserved profile name; plugin-warning names the recovery step; client AGENTS.md registration surfaces point at the web-app bundle. - Ship session-reference/tmux-context/tool-ask-user as app dependencies for terminal front-door patch layers (turtle-ui), same stance as mcp-client.
49 lines
1.6 KiB
JSON
49 lines
1.6 KiB
JSON
{
|
|
"name": "@deepseek-ai/dsh",
|
|
"description": "dsh CLI: profile boot, plugin management, and the browser UI alias",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"type": "module",
|
|
"bin": {
|
|
"dsh": "lib/bin.js"
|
|
},
|
|
"files": [
|
|
"lib/*.js",
|
|
"config"
|
|
],
|
|
"license": "BSD-3-Clause",
|
|
"dependencies": {
|
|
"@cordisjs/plugin-hmr": "workspace:*",
|
|
"@cordisjs/plugin-include": "workspace:*",
|
|
"@cordisjs/plugin-loader": "workspace:*",
|
|
"@cordisjs/plugin-timer": "workspace:*",
|
|
"@deepseek-ai/dsh-app-boot": "workspace:^",
|
|
"@deepseek-ai/dsh-base": "workspace:^",
|
|
"@deepseek-ai/dsh-headless": "workspace:^",
|
|
"@deepseek-ai/dsh-mcp-client": "workspace:^",
|
|
"@deepseek-ai/dsh-paths": "workspace:^",
|
|
"@deepseek-ai/dsh-pty": "workspace:^",
|
|
"@deepseek-ai/dsh-pty-local": "workspace:^",
|
|
"@deepseek-ai/dsh-session-reference": "workspace:^",
|
|
"@deepseek-ai/dsh-tmux-context": "workspace:^",
|
|
"@deepseek-ai/dsh-tool-ask-user": "workspace:^",
|
|
"@deepseek-ai/dsh-tool-bash-persistent": "workspace:^",
|
|
"@deepseek-ai/dsh-tool-cordis": "workspace:^",
|
|
"@deepseek-ai/dsh-web-app": "workspace:^",
|
|
"commander": "^15.0.0",
|
|
"cordis": "^4.0.0-rc.7",
|
|
"js-yaml": "^4.2.0",
|
|
"node-addon-require-builtin": "^0.1.4"
|
|
},
|
|
"devDependencies": {
|
|
"@deepseek-ai/dsh-frontend-static": "workspace:^",
|
|
"@deepseek-ai/dsh-host-apiproxy": "workspace:^",
|
|
"@deepseek-ai/dsh-host-webserver": "workspace:^",
|
|
"@deepseek-ai/dsh-loader-smoke": "workspace:^",
|
|
"@deepseek-ai/dsh-system-prompt": "workspace:^",
|
|
"@deepseek-ai/dsh-tools": "workspace:^",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"execa": "^10.0.0"
|
|
}
|
|
}
|