{"_id":"@lanbaolu/dsh-fail-soft","_rev":"27-9e5f9603c224090180ad8134231e0759","name":"@lanbaolu/dsh-fail-soft","dist-tags":{"latest":"0.1.17"},"versions":{"0.0.1":{"name":"@lanbaolu/dsh-fail-soft","version":"0.0.1","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.0.1","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/@lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/@lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"8a064a5cc9b27e2740f2f886cd787932b79805df","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.0.1.tgz","fileCount":8,"integrity":"sha512-ghJQ31zhalRxrvdy/ieArqYQg0Bpf7hO0OzkbG3i4Xo08VieEMSWQEirykSl1nwE9WjxvWDwyu9ILuy4wNYyxw==","signatures":[{"sig":"MEUCIQCCIzZOEZsYMSdWhreBRSbUDiJxNY5426N0Efdr+bFjMAIgDBiyApooKs3rxaa+EjwAL5ZsDKnXgF2DrLUzEoxOO00=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53425},"main":"./lib/index.js","type":"module","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"},"./mount.js":"./lib/mount.js","./package.json":"./package.json"},"gitHead":"6d1790a9aa56d6567d196a48329957d02cefcbdd","scripts":{"build":"bash scripts/build.sh","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"lanbaolu","email":"super.mario@foxmail.com"},"repository":{"url":"git+https://github.com/lanbaolu/@lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.19.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI","directories":{},"_nodeVersion":"26.7.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"cordis":">=4.0.0-rc <5","@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2","@deepseek-ai/dsh-client-ui-slots":">=0.0.1-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.0.1_1787073902116_0.773647661140412","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@lanbaolu/dsh-fail-soft","version":"0.0.3","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.0.3","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"68e261866764a7e17becf6f9f9b074a5ac690b01","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.0.3.tgz","fileCount":7,"integrity":"sha512-00F+njERoFtSmCOxB/mDuH2rIQyV8Mi8qcL8wQGe+IwOwZV303UKv7rev2cqwpIUoQzHJ4SvLiAY4mLAiPsQ0g==","signatures":[{"sig":"MEYCIQCuKKXGigAKysy2xFpAFH/7V/OiTuTyePYBRMizOXK+CgIhAMC4Ujtj6R2+mID8QMpOKxhApaeudhYpGz1vl/Wj+mwA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":44209},"main":"./lib/index.js","type":"module","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"},"./mount.js":"./lib/mount.js","./package.json":"./package.json"},"gitHead":"ad46ba914ec40024e7912b58ccaf4dbf2442aef4","scripts":{"build":"bash scripts/build.sh","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"cordis":">=4.0.0-rc <5","@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2","@deepseek-ai/dsh-client-ui-slots":">=0.0.1-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.0.3_1787074409471_0.48709614415338987","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@lanbaolu/dsh-fail-soft","version":"0.0.4","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.0.4","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"328ec83a3477f367e4bcd43908edafd2d297e1bd","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.0.4.tgz","fileCount":7,"integrity":"sha512-DfLW0GDzjkOnZgLqErUwJ3grGdCb2C6BZCXutwsIXmmp5RCRhNsqZRM7wGlAuoRktPlserhydzE1A61/kmmuHQ==","signatures":[{"sig":"MEQCIAUS6vx4m7VDtCrblhjgfZ9GugEYmtr83LF8UTM9DexsAiA+LQN8S7VsqB6gXOUV3nBPY408GytXSwS1CuFpuJyyeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":44950},"main":"./lib/index.js","type":"module","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"},"./mount.js":"./lib/mount.js","./package.json":"./package.json"},"gitHead":"799c2c0e495f634d68bd6226587da6d0b4dbf63f","scripts":{"build":"bash scripts/build.sh","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.0.4_1787074797524_0.9481561990698006","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@lanbaolu/dsh-fail-soft","version":"0.0.5","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.0.5","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"8cdc21a402cc7dfc94af7c816c527cc892c10c34","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.0.5.tgz","fileCount":7,"integrity":"sha512-zFEv2liSxRUh7UzXtZn1GQU8BNKb6ObbOc+04EkrvzvZazD3gQBB8UgJEjQyxbJuPKdoT33H0K3FWGoesWNq0Q==","signatures":[{"sig":"MEYCIQDrFQFEX6aXIQ/F8aKym6ygTK6+tGJVygO+1C1HFARuLgIhAOcBAEAZRlGDDV66ztKrHiBysqqLEk55H91TBPnkoXie","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":44941},"main":"./lib/index.js","type":"module","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"},"./mount.js":"./lib/mount.js","./package.json":"./package.json"},"gitHead":"3e4d722bae0136a015ecb556a8a0b1bdc8cf505a","scripts":{"build":"bash scripts/build.sh","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.0.5_1787076132070_0.21966743238096442","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@lanbaolu/dsh-fail-soft","version":"0.0.6","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.0.6","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"5d3f31204ff48377489454ecc11e5c3fdf2050a5","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.0.6.tgz","fileCount":7,"integrity":"sha512-lB42hJJMKsBQhZLAHj4VMsTN5KS8xtv1LlTK36XQc4nx8HYlmFbVlC8f6gMGe3TY4kTrxJpL2FlXjK4OxAeGJw==","signatures":[{"sig":"MEQCIEXyq7bYy8xsK+pO+OEJNz+283z/CWkRyP5aDpXLa3DsAiBtFHY+t8EAAoH/5/kQscAXpkt1iwQ7Lk8bUPrl60SjbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":47380},"main":"./lib/index.js","type":"module","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"},"./mount.js":"./lib/mount.js","./package.json":"./package.json"},"gitHead":"3ef6f52812eddca442d297c49c5d9d918f137435","scripts":{"build":"bash scripts/build.sh","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.0.6_1787105722304_0.00523481731189035","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@lanbaolu/dsh-fail-soft","version":"0.0.7","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.0.7","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"578906c0ba40a5383c56a48fd8f4a26f0a61f932","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.0.7.tgz","fileCount":7,"integrity":"sha512-jBcvbHGEQkNJN2BLa507j1vz40zT2dSfQVQV2GgtMfdyp7JAKpQ8c/65P+4Hh+cuQcFyzqT4ssQGolQWRsxfXg==","signatures":[{"sig":"MEYCIQDN746kgC3CXXa4U9jclRyL04clPTJI9UiDZQTFlhrs4AIhAN7rvFlN0d4ckpoL6ZwyeH52gsIaUIP7xAwQa/gd9irU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42583},"main":"./lib/index.js","type":"module","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"},"./mount.js":"./lib/mount.js","./package.json":"./package.json"},"gitHead":"20153af4d03facea7a8dd24ceab153c3462b39a5","scripts":{"build":"bash scripts/build.sh","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（实验性 / 暂不稳定）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.0.7_1787117464696_0.7032954440003596","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@lanbaolu/dsh-fail-soft","version":"0.0.8","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.0.8","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"11cefdded9b73085c6b0ef3de34d60decea84d9b","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.0.8.tgz","fileCount":7,"integrity":"sha512-jpXR0uGwllBFHofa2BqBfa1WegvNptJMwrHLcHsbZJIBxqzaQ9kWCeFw9EOsM2JX+004mw3370autLKrJyzRlg==","signatures":[{"sig":"MEUCIFeghp+41qEfp6FIIfUFYC+GtEsyLJ4P6HCIh8YuPzdyAiEA9+A8PKCK2FJftDnabAd2EdexoEQ6vSQv/MbsEm5m688=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":45654},"main":"./lib/index.js","type":"module","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"},"./mount.js":"./lib/mount.js","./package.json":"./package.json"},"gitHead":"fc273bf6e2d0a0a69ae3b3b1dc324b410266c9cd","scripts":{"build":"bash scripts/build.sh","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（实验性 / 暂不稳定）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.0.8_1787118579890_0.4437250968924953","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@lanbaolu/dsh-fail-soft","version":"0.0.9","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.0.9","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"79f337fe5dec57590685060296bd10b130e10226","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.0.9.tgz","fileCount":11,"integrity":"sha512-2+h94tPQp4od7LvN7Qm/uuhlHx5mlp5iF3LxCh9U6xw9Aq5Zmm8G+S1tc4Zh2NRMPYCUpgsJhEQ+kzEWrIx7ow==","signatures":[{"sig":"MEYCIQDxleg327I4CoNPmwUpZkv8GWnuIXXLBDYiQhSQBnMAaAIhANfMor1Lmzb0om3p1XYNLXK3IQe0uFXu69tmO19XxVOS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":185150},"main":"./lib/index.js","type":"module","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"},"./mount.js":"./lib/mount.js","./package.json":"./package.json"},"gitHead":"afd73ec4e293d6824ef91d60b37061731ab65a3c","scripts":{"build":"bash scripts/build.sh","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（实验性 / 暂不稳定）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.0.9_1787118890405_0.8235205354539283","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@lanbaolu/dsh-fail-soft","version":"0.0.10","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.0.10","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"39222b8ba3d09320b7025b882b1d41300ff74f26","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.0.10.tgz","fileCount":11,"integrity":"sha512-MQq5vSTehX+4FQmK1VEwHnce2RDbUbi0x+OrgmFWxGVyNMhkoIy+MquhDbe1BQAwlRZN8MiWRJtQaCTKdAsIDQ==","signatures":[{"sig":"MEUCIHuf0/qLM8z4qwaieVRwhdBVYJwTs9jfL/oA7gBsOccgAiEApFD8Vz2vnE0se4imPojsU0kJ6PXzraJCinAUZfjoy74=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":190718},"main":"./lib/index.js","type":"module","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"},"./mount.js":"./lib/mount.js","./package.json":"./package.json"},"gitHead":"caa4ec6af296e8f0390af72285d974fc4b2226b9","scripts":{"build":"bash scripts/build.sh","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（实验性 / 暂不稳定）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.0.10_1787119997387_0.47030941437916995","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@lanbaolu/dsh-fail-soft","version":"0.0.11","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.0.11","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"c3fdb5b11692af5cd9f0cafd5a920afc48a59c32","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.0.11.tgz","fileCount":11,"integrity":"sha512-Tk7cnJYT+XuBWrkd8/FRNqh/booHKgXCDT0d7/XxSuGWn4UL16+joc/eVhkLbN4iQmvppFE06lJsQXj2R8DQIg==","signatures":[{"sig":"MEYCIQDcvuVkd0d947gZ9gceGbnipH8zHqWIlqV8zQ1W2FomGQIhAKO9x3RLn9sBGM/37v2vAuum0gPrx356n4Apjg6ssZaP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.0.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":191730},"main":"./lib/index.js","type":"module","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"},"./mount.js":"./lib/mount.js","./package.json":"./package.json"},"gitHead":"7f51b2bb015eec610d39d2bed35b173bf885b22d","scripts":{"build":"bash scripts/build.sh","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（实验性 / 暂不稳定）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.0.11_1787120643472_0.2239235034338254","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.0","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.0","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"0106e3070d810f2fbae97af2316ff2a67a500b93","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.0.tgz","fileCount":13,"integrity":"sha512-Ef96cyW7TEXmbUqmQIla6bF2ECLfQFx8hf4EDN0lpL48LdFTorESJtLnmDeh2KSmung5P6q3hwb88XG1CdbqiA==","signatures":[{"sig":"MEQCIH+Dv1lwW2Nskg5OJiLkZ7X9Xi5jyo76T59PnEEVTEbZAiA/021etKupyGhaBYJG5zgHsnjm2BXm5Kjyw3UUt7qQXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":192856},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./package.json":"./package.json"},"gitHead":"a2c09d8f15e897a47c509cb7d0df549b47454860","scripts":{"test":"node --test","build":"bash scripts/build.sh","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（核心稳定候选）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.0_1787128758730_0.6178881596377945","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.1","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.1","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"7c0190f12087c7bae2b912d42b92bf698e262f63","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.1.tgz","fileCount":13,"integrity":"sha512-bBOVFEbvR9KSjQtQQ4yjQSbNV0k2IXIkcgP8iFt68CGF5G7DmEOCiW2gegG0Xs4WMtZ9DoDaqN5EBqY7cejU+Q==","signatures":[{"sig":"MEYCIQDs/NupAY1IqUoU/6dsFho5x+xO4WvpcsA+VGIxcQnRGQIhAP0vN5nMtjfZanDnP8+5wGEYCKNjPJzbzb5bQLZEKhrj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":192992},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./package.json":"./package.json","./lib/patch-ops.js":"./lib/patch-ops.js","./lib/mount-core.js":"./lib/mount-core.js"},"gitHead":"84dc20f62cdca959a4667e66a84901e6ab2276c2","scripts":{"test":"node --test","build":"bash scripts/build.sh","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（核心稳定候选）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.1_1787130996402_0.8679965216952972","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.2","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.2","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"358468e27fea753601de877275ea8ea668e51436","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.2.tgz","fileCount":14,"integrity":"sha512-+xu4qEx8oDb6Pr963xBjC9csMn/iGpL66QRTKYFkB/f7GzIuVR2xf6mK/7O57xfak9nOPm0IKt7b5AIi8LpEhQ==","signatures":[{"sig":"MEQCIHCl1CemfLl9veJhCYC6dwrxtl9KdbWSBkm4LeUhg2zfAiBVg0MyW5LxFcC2crUxUI+1i1aP6cJhe0mO8uQtV4vCzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":198176},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./package.json":"./package.json","./lib/patch-ops.js":"./lib/patch-ops.js","./lib/mount-core.js":"./lib/mount-core.js"},"gitHead":"c8deb7b543c20552838cf55c5cc57b280373b094","scripts":{"test":"node --test","build":"bash scripts/build.sh","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（核心稳定候选）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.2_1787154987227_0.7608590996156934","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.3","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.3","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"25d74c0f91ba19553055a9efb3c76033aa7a94e0","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.3.tgz","fileCount":14,"integrity":"sha512-tr2tHmkgt5ZDv1/BmvwNMOp5XSKbCNOvUQwuUaR8uEgFEwVOSyhBC8vyi/SYFkMBmVJLZxkj3AkpCI6kOuoBHg==","signatures":[{"sig":"MEUCIEjtEESIWqOCxEWvXsBpNDOsq8MRjcJ4dsXm1oN6vb10AiEAxg3WjkXw7q7ynGIypSb65Jrw0ZEFfEuVnz6ZCnFFxYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":199277},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./package.json":"./package.json","./lib/patch-ops.js":"./lib/patch-ops.js","./lib/mount-core.js":"./lib/mount-core.js"},"gitHead":"223badadca939776c600e84a78394c7f1388e73f","scripts":{"test":"node --test","build":"bash scripts/build.sh","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（核心稳定候选）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.3_1787155691312_0.7116726655707124","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.4","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.4","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"35a87196f8252dd227e8b887908dca4e5bec6086","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.4.tgz","fileCount":14,"integrity":"sha512-bCMx4nflqFnTzKIELfLdJVZvSooSsOr45vGUkUVkLhsuTrOs4rk8K5sW9x/QI+GdbDYArt9pXB7eodJwknoU0w==","signatures":[{"sig":"MEYCIQD+aRYFuAjC2wIwDuO3wkgfVDFcb2kmeRdE7xtczd10NAIhAMekZhz8/z7WJFOPq6ei19M8pTJ/w29lB1doTZElEaaa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":199653},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./package.json":"./package.json","./lib/patch-ops.js":"./lib/patch-ops.js","./lib/mount-core.js":"./lib/mount-core.js"},"gitHead":"6505837600ed7263069b3f951e06c4dda52febd8","scripts":{"test":"node --test","build":"bash scripts/build.sh","preflight":"node scripts/preflight.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（核心稳定候选）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.4_1787156405454_0.18354733277305502","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.5","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.5","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"bdcad78035389c89c33e62b54e6c8d908ba57b40","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.5.tgz","fileCount":14,"integrity":"sha512-w/kZeZwJ1eJurNh4xUqneZq86vd+cIy+Uyexs+UTgHGvPhloId4jAx49ZWAOyRgVEo7mrDiv7s8MJYtOeDd0Tw==","signatures":[{"sig":"MEQCIBE2ciNkBjN+S8ac1I3UrvwNEQH2a5eTwVa4Jm8ikxZqAiA/BLtqaSn12XptAeg4gHcm5k+DN9MCR7ew11msF1pyvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":197160},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./package.json":"./package.json","./lib/patch-ops.js":"./lib/patch-ops.js","./lib/mount-core.js":"./lib/mount-core.js"},"gitHead":"6b195014d42e82ef63c416935f80fc42bdb6a6a3","scripts":{"test":"node --test","build":"bash scripts/build.sh","preflight":"node scripts/preflight.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（核心稳定候选）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.5_1787156831341_0.7682146957876086","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.6","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.6","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"43c77acdde484b2c9c369411d09968fc8789a2f2","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.6.tgz","fileCount":14,"integrity":"sha512-Vwl7GGFx1xwBGTi3JpafmLVpmyulEFJexYkOlzPbZy2iSDEXSCfgjOw/oZwUeDHHpiZY0+fO2ukziEeLPL33tw==","signatures":[{"sig":"MEYCIQDKo2PHYuAnCi3EIzUi1F8S9vcCR3Er332BKfhwsmLtVwIhANNeO6tSj23VfpWZJgrhD3xEOwimxvhjs+5YKarj1vwW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":202299},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./package.json":"./package.json","./lib/patch-ops.js":"./lib/patch-ops.js","./lib/mount-core.js":"./lib/mount-core.js"},"gitHead":"978c333863745d229dfa156e6ab1d15206926d94","scripts":{"test":"node --test","build":"bash scripts/build.sh","preflight":"node scripts/preflight.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（核心稳定候选）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.6_1787159444913_0.8451984292675749","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.7","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.7","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"9d41f179342a14b0572f9fae5af9d8890902fd95","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.7.tgz","fileCount":14,"integrity":"sha512-6lj+OZseyF5tFGN6OQYosvRDyVmkx8AbONSnik1tcWd8ji6VElolX37lHI+VVR6yPEArmnpyqylb9pmkXoN2Vw==","signatures":[{"sig":"MEUCIQCWTkQMKhQkG7gPE3u5g/0aDEEOqtdkMLlXQPVDp502bQIgKnAWNhieXRIfxC+qREzMht9gDTkVEfxCyur/H6ZXHB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":204230},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./package.json":"./package.json","./lib/patch-ops.js":"./lib/patch-ops.js","./lib/mount-core.js":"./lib/mount-core.js"},"gitHead":"9bb4b86243487a0378b7bee86897ae0a07a9c92e","scripts":{"test":"node --test","build":"bash scripts/build.sh","preflight":"node scripts/preflight.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（核心稳定候选）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.7_1787187211133_0.10974845103478437","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.8","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.8","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"539f387a2dfda957ea95f25aec7f3f64af400937","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.8.tgz","fileCount":14,"integrity":"sha512-pUgOA3VZAhBARGLvCh6TzyZNd54c6IxMVxLFHX6GAwm75RFF31phGpA1W3vIYbFPBTJ0oUl/27h4/hPc3Rlfxw==","signatures":[{"sig":"MEUCIBiKPuRjwlbqdWqdAfnfZSgB6Pw7TpLemXYU7nugG/JiAiEAuUF4Z872cNpqBrwVaR5Tb9p3WBKjihPiWtvtihLtq3w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211374},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./package.json":"./package.json","./lib/patch-ops.js":"./lib/patch-ops.js","./lib/mount-core.js":"./lib/mount-core.js"},"gitHead":"5ea56e464fe2a3ee7d6faa706a818581fa56fe4e","scripts":{"test":"node --test","build":"bash scripts/build.sh","preflight":"node scripts/preflight.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（核心稳定候选）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.8_1787187673192_0.8384374526937857","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.9","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.9","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"2df9c6d406f50609c8d27dd2a27ecefd5e647d0e","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.9.tgz","fileCount":15,"integrity":"sha512-xwxH/hkicalUBqXjukEy9SCEW3Y/TxjweHQ8bSD27FgwY7jpXjxXlIFtqj8781h492BG0TTKFI8KSwjHzDUznw==","signatures":[{"sig":"MEQCIFX91iB48nfbajde4erOObFitmPDwbpT7eUI811QQlqGAiAzEPkv9GN686c5RKAWX2+t8Q56+thQWUHjFWfNA29Urw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":218832},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./package.json":"./package.json","./lib/patch-ops.js":"./lib/patch-ops.js","./lib/mount-core.js":"./lib/mount-core.js"},"gitHead":"16e1705fc72b359a79df7f61ee21b6132e3d6bb9","scripts":{"test":"node --test","build":"bash scripts/build.sh","preflight":"node scripts/preflight.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（核心稳定候选）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.9_1787188774632_0.7178309832287644","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.10","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.10","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"fdbee60cc441f141c025091658dd99c0762bcbcd","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.10.tgz","fileCount":15,"integrity":"sha512-R3dLduXidF27NGL9hHQ58BctkIJ1ory29x51v4y1Wa8/ksm9gmfRWJtrTLeTHk2saVG/Vo9wciABFVvN6BXx/A==","signatures":[{"sig":"MEUCIQDZzNmYvH2zTSugpuGsZNiJeYQd3gNT83bSVI+NigXG4QIgI+Y3CEpII3ixTiFEoHyz2KuxYobK/kOgMMdQ/elfn3o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":223880},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./package.json":"./package.json","./lib/patch-ops.js":"./lib/patch-ops.js","./lib/mount-core.js":"./lib/mount-core.js"},"gitHead":"d3e65bb4d6cb9446b55bd38a383ba9f2fd90fb99","scripts":{"test":"node --test","build":"bash scripts/build.sh","preflight":"node scripts/preflight.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（核心稳定候选）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.10_1787189346237_0.438506054488063","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.11","keywords":["dsh","deepseek-harness","plugin","fail-soft","isolation","resilience","quarantine"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.11","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"c449eac8b6e4d1adfdba34b4d4fa4c481f34a8ac","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.11.tgz","fileCount":15,"integrity":"sha512-KwXOV+puifGmdwImMZtWlKHAP2KLi5/GqEga7rTEORPyEq06I0DiY2Z5YdKsjVHsSyjZnMkEWW+X1mQ9CA1tHQ==","signatures":[{"sig":"MEQCIBWRliao35XpK0QUcu93IQ/vkENhYZ2l2aAqdVfdwB+RAiBqqBLQJbhs9vDyeVnNuiRMib3KXnxlBf/if6WJIFEetA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":226331},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./package.json":"./package.json","./lib/patch-ops.js":"./lib/patch-ops.js","./lib/mount-core.js":"./lib/mount-core.js"},"gitHead":"31efb43149f628ba8b399e117a1fb3fede9ac7ce","scripts":{"test":"node --test","build":"bash scripts/build.sh","preflight":"node scripts/preflight.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"插件错误自动隔离：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI（核心稳定候选）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.11_1787190731668_0.18952533373273783","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.12","keywords":["dsh","deepseek-harness","dsh-plugin","plugin","fail-soft","failsoft","fault-tolerance","error-isolation","auto-quarantine","resilience","quarantine","auto-recovery","startup-guard","boot","recovery"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.12","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"f5921693c85bbfffb96d78b747afc0601d1ceb3b","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.12.tgz","fileCount":15,"integrity":"sha512-OFJ905zTtvY3+fKO/NkypSGXfUUHvn/Cn++tuiMEJhHXzr4RU859cGrD2BC/NvH0ahQ9pbgpbng24iqmMVk3JA==","signatures":[{"sig":"MEQCID3rXtrkzAwy67jrmIUwnwlTaZPBlEb97Jo+E+/UJhiTAiAkwQqNwduywtv9peeMpU7yKgWswiohGvQLAiS8rQyhMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":226672},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./package.json":"./package.json","./lib/patch-ops.js":"./lib/patch-ops.js","./lib/mount-core.js":"./lib/mount-core.js"},"gitHead":"5d1380fe0e3467897a995aeb36dcac2869c1cbad","scripts":{"test":"node --test","build":"bash scripts/build.sh","preflight":"node scripts/preflight.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"自动隔离损坏插件，让 DSH 在坏插件面前照常启动：坏插件被禁用、其余插件正常装配，提供隔离管理与一键恢复 UI（deepseek-harness plugin that quarantines broken plugins so the service keeps booting, with status tools, a one-click restore panel and auto patch adaptation）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.12_1787193045910_0.8354707774166759","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.13","keywords":["dsh","deepseek-harness","dsh-plugin","plugin","fail-soft","failsoft","fault-tolerance","error-isolation","auto-quarantine","resilience","quarantine","auto-recovery","startup-guard","boot","recovery"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.13","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"f14cac7a1d7726652efd065fd3fc199eb299cbb0","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.13.tgz","fileCount":15,"integrity":"sha512-9QZaW6mQNGA3Dcs0w6fkC6ulfqR3V5qPq8YcoFC8KR3StoXyjDyGCxy9JiscTGURoUi3cDex4HeJ13duVWFejQ==","signatures":[{"sig":"MEUCIQDGkrQrP7aE8459pt3wCuhsXNaZpxQWrbBe9BPj5fJxggIgW6cD0hwyKmiDYNV/WYHe0sVU9Mey666nMETHFOMnou4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":226812},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./package.json":"./package.json","./lib/patch-ops.js":"./lib/patch-ops.js","./lib/mount-core.js":"./lib/mount-core.js"},"gitHead":"d10fa6c9db8b02265aef69eb0f3f485a5aa91970","scripts":{"test":"node --test","build":"bash scripts/build.sh","preflight":"node scripts/preflight.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"自动隔离损坏插件，让 DSH 在坏插件面前照常启动：坏插件被禁用、其余插件正常装配，提供隔离管理与一键恢复 UI（deepseek-harness plugin that quarantines broken plugins so the service keeps booting, with status tools, a one-click restore panel and auto patch adaptation）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.13_1787195714031_0.5680432904249528","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.15","keywords":["dsh","deepseek-harness","dsh-plugin","plugin","fail-soft","failsoft","fault-tolerance","error-isolation","auto-quarantine","resilience","quarantine","auto-recovery","startup-guard","boot","recovery"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.15","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"1a04c852d4d36380244b6333a2be98a009dce460","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.15.tgz","fileCount":15,"integrity":"sha512-BIMC31XkEB5Sd0iyrsoXdrNwL2QecscuxEsp/f9wRQaHEYFrjkEX4/2COdxO58+6a4ylv48Ck7sqcS6Y+7PapQ==","signatures":[{"sig":"MEUCIB9GOjzw+2G4YIgi0TVVPuBMx/UcQ8sQzxghsA/5ZmyyAiEAkVLBAAiNq0tYPYmQ8Y9iUwOmMXQhORmC77kYt5E6jQw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":242517},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./package.json":"./package.json","./lib/patch-ops.js":"./lib/patch-ops.js","./lib/mount-core.js":"./lib/mount-core.js"},"gitHead":"026ff4fd66606915dafc6321afdd203f8a671b90","scripts":{"test":"node --test","build":"bash scripts/build.sh","preflight":"node scripts/preflight.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"自动隔离损坏插件，让 DSH 在坏插件面前照常启动：坏插件被禁用、其余插件正常装配，提供隔离管理与一键恢复 UI（deepseek-harness plugin that quarantines broken plugins so the service keeps booting, with status tools, a one-click restore panel and auto patch adaptation）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.15_1787366882750_0.7365658283959133","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.16","keywords":["dsh","deepseek-harness","dsh-plugin","plugin","fail-soft","failsoft","fault-tolerance","error-isolation","auto-quarantine","resilience","quarantine","auto-recovery","startup-guard","boot","recovery"],"license":"BSD-3-Clause","_id":"@lanbaolu/dsh-fail-soft@0.1.16","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"bin":{"dsh-failsoft-web":"scripts/failsoft-web.mjs"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"dist":{"shasum":"8285007aa3a35c8400abcd5769c539eaddbc5afd","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.16.tgz","fileCount":21,"integrity":"sha512-tAnk33dKjKFhschc8fJIG2lcif1llqq4IvJa87uerFsDSiweDOycENuhO3Tdbu5E3kwGs0c+dB1LcGVF/2qcnA==","signatures":[{"sig":"MEYCIQDPqB2fJZrisvftMX0xjJd1TNuqC0TbJb8JBn+ph87iEAIhAKRUerbUcGemU0KR/2OUjMPfY58GtWe34Aa1J+1gcuZQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":438224},"main":"./lib/index.js","type":"module","exports":{".":"./lib/index.js","./client":"./lib/client.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./package.json":"./package.json","./lib/patch-ops.js":"./lib/patch-ops.js","./lib/mount-core.js":"./lib/mount-core.js"},"gitHead":"58a4cadd8bab6891826f9f6c9b2c86d710021f00","scripts":{"test":"node --test","build":"bash scripts/build.sh","preflight":"node scripts/preflight.mjs","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"repository":{"url":"git+https://github.com/lanbaolu/dsh-fail-soft.git","type":"git"},"_npmVersion":"11.17.0","description":"自动隔离损坏插件，让 DSH 在坏插件面前照常启动：坏插件被禁用、其余插件正常装配，提供隔离管理与一键恢复 UI（deepseek-harness plugin that quarantines broken plugins so the service keeps booting, with status tools, a one-click restore panel and auto patch adaptation）","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","typescript":"^5.9.0","@types/node":"^24.13.3"},"peerDependencies":{"@deepseek-ai/dsh-tools":">=0.0.1-rc <2","@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-fail-soft_0.1.16_1788085447850_0.5971979681583","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@lanbaolu/dsh-fail-soft","version":"0.1.17","description":"自动隔离损坏插件，让 DSH 在坏插件面前照常启动：坏插件被禁用、其余插件正常装配，提供隔离管理与一键恢复 UI（deepseek-harness plugin that quarantines broken plugins so the service keeps booting, with status tools, a one-click restore panel and auto patch adaptation）","type":"module","main":"./lib/index.js","bin":{"dsh-failsoft-web":"scripts/failsoft-web.mjs"},"license":"BSD-3-Clause","homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","repository":{"type":"git","url":"git+https://github.com/lanbaolu/dsh-fail-soft.git"},"bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"keywords":["dsh","deepseek-harness","dsh-plugin","plugin","fail-soft","failsoft","fault-tolerance","error-isolation","auto-quarantine","resilience","quarantine","auto-recovery","startup-guard","boot","recovery"],"peerDependencies":{"@deepseek-ai/dsh-app-boot":">=0.1.0-rc <2","@deepseek-ai/dsh-tools":">=0.0.1-rc <2"},"devDependencies":{"@types/node":"^24.13.3","typescript":"^5.9.0","tsdown":"^0.22.14"},"scripts":{"build":"bash scripts/build.sh","typecheck":"tsc -p tsconfig.json --noEmit","build:client":"tsdown","test":"node --test","preflight":"node scripts/preflight.mjs"},"exports":{".":"./lib/index.js","./mount.js":"./lib/mount.js","./lib/heal.js":"./lib/heal.js","./lib/mount-core.js":"./lib/mount-core.js","./lib/patch-ops.js":"./lib/patch-ops.js","./client":"./lib/client.js","./package.json":"./package.json"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-slots"],"platform":"web"}},"publishConfig":{"access":"public","provenance":true},"gitHead":"1565a838d0dfcf59cb9ae7f47ff3fe98c69d93a2","_id":"@lanbaolu/dsh-fail-soft@0.1.17","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-BxeiCLiFUYljeKqBeUeXZEbBDofKHbReZRUSeD8Xg0NoEp6R/lCatlSVLIJ95hId6XIY0+gV7j9gA3sqGF/mww==","shasum":"639d27aa2fbbef2d25a151c754234b3141033f8a","tarball":"https://registry.npmjs.org/@lanbaolu/dsh-fail-soft/-/dsh-fail-soft-0.1.17.tgz","fileCount":21,"unpackedSize":439352,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lanbaolu%2fdsh-fail-soft@0.1.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDBM/i6nxOQsc9wWuDTk48Y8ZtVaY3aMKmmVifoxQaJlgIhALqeLHEjl8xS3Edc2P8sqoZxovx7Qt83quEw8N5hGcYV"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f4d8d405-10ea-447f-a8bf-583ed04fffac"}},"directories":{},"maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-fail-soft_0.1.17_1788089344503_0.7049267934592844"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-18T17:25:01.902Z","modified":"2026-08-30T11:29:04.972Z","0.0.1":"2026-08-18T17:25:02.267Z","0.0.3":"2026-08-18T17:33:29.618Z","0.0.4":"2026-08-18T17:39:57.689Z","0.0.5":"2026-08-18T18:02:12.246Z","0.0.6":"2026-08-19T02:15:22.447Z","0.0.7":"2026-08-19T05:31:04.846Z","0.0.8":"2026-08-19T05:49:40.061Z","0.0.9":"2026-08-19T05:54:50.552Z","0.0.10":"2026-08-19T06:13:17.552Z","0.0.11":"2026-08-19T06:24:03.620Z","0.1.0":"2026-08-19T08:39:18.873Z","0.1.1":"2026-08-19T09:16:36.582Z","0.1.2":"2026-08-19T15:56:27.377Z","0.1.3":"2026-08-19T16:08:11.513Z","0.1.4":"2026-08-19T16:20:05.610Z","0.1.5":"2026-08-19T16:27:11.514Z","0.1.6":"2026-08-19T17:10:45.074Z","0.1.7":"2026-08-20T00:53:31.329Z","0.1.8":"2026-08-20T01:01:13.344Z","0.1.9":"2026-08-20T01:19:34.777Z","0.1.10":"2026-08-20T01:29:06.388Z","0.1.11":"2026-08-20T01:52:11.815Z","0.1.12":"2026-08-20T02:30:46.054Z","0.1.13":"2026-08-20T03:15:14.193Z","0.1.15":"2026-08-22T02:48:02.910Z","0.1.16":"2026-08-30T10:24:08.021Z","0.1.17":"2026-08-30T11:29:04.663Z"},"bugs":{"url":"https://github.com/lanbaolu/dsh-fail-soft/issues"},"license":"BSD-3-Clause","homepage":"https://github.com/lanbaolu/dsh-fail-soft#readme","keywords":["dsh","deepseek-harness","dsh-plugin","plugin","fail-soft","failsoft","fault-tolerance","error-isolation","auto-quarantine","resilience","quarantine","auto-recovery","startup-guard","boot","recovery"],"repository":{"type":"git","url":"git+https://github.com/lanbaolu/dsh-fail-soft.git"},"description":"自动隔离损坏插件，让 DSH 在坏插件面前照常启动：坏插件被禁用、其余插件正常装配，提供隔离管理与一键恢复 UI（deepseek-harness plugin that quarantines broken plugins so the service keeps booting, with status tools, a one-click restore panel and auto patch adaptation）","maintainers":[{"name":"lanbaolu","email":"super.mario@foxmail.com"}],"readme":"# @lanbaolu/dsh-fail-soft\n\n> ✅ **当前状态：核心稳定候选（v0.1.17）**\n>\n> 仍依赖 DSH 内核补丁：升级 DSH 后请通过 `fail_soft_status` 的 `patch` 字段\n> 确认补丁健康状态，若显示 `needs-adaptation` 请先更新 `backup/` 模板再继续使用。\n\n**插件错误自动隔离**：坏插件被禁用、其余插件照常启动，提供隔离管理与恢复 UI。\n\n## 解决的问题\n\nDSH 的插件装配是 fail-loud：bundle 里**任何一个**插件加载/激活失败，整个\n`dsh web` 服务就起不来（进程退出，GUI 打不开）。装一个坏插件 = 服务瘫痪，\n且报错是一长串内部堆栈。\n\n本插件让服务在坏插件面前**照常启动**：坏插件被自动隔离（写 disabled patch），\n其余插件正常装配；隔离列表可查、可一键恢复（工具 + UI 面板）。\n\n## 组成\n\n| 部分 | 文件 | 作用 |\n|---|---|---|\n| 挂载兜底 | `lib/mount.js` | 被 DSH 内核（`DSH_FAIL_SOFT=1` 时）在 include 树挂载前动态加载：坏插件 → 隔离 → 剔除重试 |\n| 运行期服务 | `lib/index.js` | `failSoft` 服务 + `fail_soft_*` 工具 + `/api/fail-soft/*` HTTP API |\n| 上下文工具 | `lib/context-utils.js` | `profileDirOf` / 持久化开关读写（零 DSH 依赖） |\n| UI 面板 | `lib/client.js` | 设置面板「Fail-soft 隔离」区域：状态 + 一键开关 |\n| 第 2 层进程兜底 | `scripts/failsoft-web.mjs`（bin：`dsh-failsoft-web`） | 进程外启动包装器：内核补丁失效/未装配时仍能自己解析崩溃、自己写隔离、退避重拉 |\n\n## 前置条件（一次性）\n\n内核需要\"fail-soft 委托插槽\"补丁（极小，只做发现与委托，逻辑全在本插件）。\n\n- **npm 安装用户（0.0.9+）**：不需要手动打补丁。npm 包自带 `backup/` 补丁模板，\n  插件每次启动时 `heal` 会自动检测；若内核是官方原版会自动打上补丁，\n  **首次安装后请重启一次 dsh** 让挂载兜底生效。\n- **本地开发**：也可用 `node patch-apply.mjs`（见工作目录 `防止插件错误挂不起服务/`，\n  sha256 校验，DSH 更新后重打）。\n\n不装内核补丁时：本插件的运行期服务/UI 仍可用（查隔离、手动隔离、恢复），\n但挂载期自动隔离不生效（崩溃发生在任何插件加载之前，纯插件无法拦截）。\n\n## 跟随 DSH 官方更新（内核补丁自愈）\n\nDSH 官方升级 = npx 重新拉包到新的 `~/.npm/_npx/<hash>/` 目录，内核补丁\n会被覆盖丢失。本插件每次启动时自动运行 **内核补丁自愈**（`lib/heal.js`）：\n\n- **动态定位**实际运行的 DSH 安装（不硬编码 npx hash：从当前进程 argv 推断；\n  **0.1.17 起**支持 Desktop App——dsh 内核跑在 Electron 主进程、argv 无内核\n  路径时改从 `process.resourcesPath` → `app.asar.unpacked` 定位）；\n- **检测**补丁状态：`ok`（已打）/ `needs-apply`（丢失，npx 重装同版本）/ `needs-adaptation`（官方改了代码结构）；\n- **自动重打**：仅当目标与\"已知原始版\"一致时安全重打（含 `profile-boot-*.js` 文件名 hash 变化的情况）；\n- **官方改动结构**时报告 `needs-adaptation` 并提示更新 backup/ 模板，**绝不破坏新版代码**。\n\n补丁健康状态可通过 `fail_soft_status` 工具、`/api/fail-soft/status`（`patch` 字段）、\nUI 面板（🧩 行）查看。命令行重打：`node patch-apply.mjs`（与插件共用同一套 heal 逻辑）。\n\n> 版本适配：当官方大幅重构挂载链路、自愈报告 `needs-adaptation` 时，需要更新\n> `backup/` 里的 orig/patched 模板（抓官方新版 → 重打 → 存模板），通常一个版本一次。\n\n## 安装（装入 profile）\n\n> ⚠️ **命名必须与包名完全一致**：本插件的包名是 **`@lanbaolu/dsh-fail-soft`**（带 scope）。\n> profile 的 dependencies key、`bundles` 条目、node_modules 链接、以及\n> `cordis.patch.yml` 的 insert `name` **必须全部使用这个完整包名**。\n> **不要**因为仓库/目录名是 `dsh-fail-soft` 或 tgz 文件名是\n> `lanbaolu-dsh-fail-soft-*.tgz` 就注册成裸名 `dsh-fail-soft` ——\n> 那样 DSH 会按 `@lanbaolu/dsh-fail-soft` 找模块而找不到，启动直接\n> `ERR_MODULE_NOT_FOUND` 崩溃（2026-08-19 事故根因）。\n>\n> 推荐使用 DSH 官方安装（自动按包名注册）：\n> ```bash\n> dsh plugin --profile web add @lanbaolu/dsh-fail-soft@0.1.17\n> ```\n> ⚠️ **请带上版本号**：pnpm 11 有供应链冷却期（`minimumReleaseAge`）与元数据\n> 缓存，**刚发布的版本**用不带版本号的 `add` 可能解析到旧版；显式\n> `@版本号` 一定拿到指定版本（本行版本号随每次发布同步，见下方当前状态）。\n\n```bash\n# 手动装（务必保留完整包名，以 web profile 为例）\n#    ~/.dsh/profiles/web/package.json:\n#      \"dependencies\": { \"@lanbaolu/dsh-fail-soft\": \"link:<本目录>\" }\n#      \"dsh\": { \"profile\": { \"bundles\": [ ..., \"@lanbaolu/dsh-fail-soft\" ] } }\n# 2. 建 junction：node_modules/@lanbaolu/dsh-fail-soft → 本目录\n# 3. 构建时已 link 运行时依赖（@deepseek-ai/dsh-app-boot、@deepseek-ai/dsh-tools\n#    进本插件的 node_modules），无需额外安装。\n```\n\n## 启用 fail-soft\n\n### 方式一：持久化开关（推荐，终端 / App 通用）\n\n> 插件 **0.0.8+** 提供持久化开关，**App 启动（不加载 shell 环境变量）也能用**：\n> 内核补丁启动时读取 `~/.dsh/fail-soft.json`，无需手动设置任何环境变量。\n>\n> **0.1.14 起首次安装自动启用**：开关文件不存在时，插件激活即写入\n> `enabled: true`（装防崩溃插件本身即启用同意），下次重启生效；已存在的\n> 开关文件一律尊重（含显式 `false`）。装完后无需任何手动开启步骤。\n>\n> ⚠️ 唯一例外：若安装时**服务已经因坏插件起不来**，插件没有机会激活写\n> 开关——先用环境变量进一次安全模式，隔离坏插件后即恢复：\n> `DSH_FAIL_SOFT=1 npx @deepseek-ai/dsh web`（App 用户可手动创建\n> `~/.dsh/fail-soft.json`，内容 `{\"enabled\": true}`）。\n\n- **UI（0.0.10+）**：DSH 设置面板 → 「Fail-soft 隔离」区域，一键开关\n  （**0.1.15 起**面板注册改走官方 `slots.inject` 契约：设置 slot 声明未就位\n  时等待而非报错——修复部分安装上\"装完即 `slot 'settings.section' is not\n  declared`\"崩溃的反馈；即便注册失败也只降级为无面板，核心隔离能力照常）；\n- 工具：`fail_soft_set_enabled(true)` / `fail_soft_set_enabled(false)`\n- API：`POST /api/fail-soft/set-enabled`，body `{ \"enabled\": true }`\n- 效果：写入 `~/.dsh/fail-soft.json`，**重启 dsh 后生效**；\n  `fail_soft_status` 的 `switchEnabled` / `enabled` 字段反映当前开关状态。\n\n### 方式二：环境变量（原有）\n\n```bash\nDSH_FAIL_SOFT=1 npx @deepseek-ai/dsh web          # 临时\necho 'export DSH_FAIL_SOFT=1' >> ~/.zshrc          # 永久（仅终端启动生效）\n```\n\n`DSH_FAIL_SOFT` 取值：`1|true|yes|on`。可用 `DSH_FAIL_SOFT_MODULE` 覆盖\n内核加载的挂载模块（默认按包名解析本插件）。环境变量与持久化开关二者\n任一开启即生效。\n\n## 使用\n\n- **自动隔离**：坏插件激活失败 → 诊断打印 + 写\n  `- id: <entryId>\\n  disabled: true`（带 `# quarantined by @lanbaolu/dsh-fail-soft`\n  注释）到 profile 的 `cordis.patch.yml` → 剔除重试挂载 → 服务照常起。\n  写入经 `mergePatchBlock` 合并（0.1.2 起）：patch 是空数组 `[]`（DSH 默认\n  无补丁形态）时用条目块**替换**而非追加，产出始终是单个合法 YAML 数组——隔离器\n  自己不会再写坏 patch。\n  **0.1.14 起分类隔离**：只隔离\"真坏插件\"。瞬态环境错误（`EADDRINUSE`\n  端口被占等）与官方核心组件（`@deepseek-ai/*`）失败**不写持久隔离**，\n  改为抛回原始错误 fail-loud——避免把端口冲突误判成坏插件、把官方\n  `webserver` 永久隔离导致\"服务活着但 GUI 消失\"。\n- **工具**（模型可直接调用）：`fail_soft_status` / `fail_soft_list` /\n  `fail_soft_restore` / `fail_soft_quarantine` / `fail_soft_repair`。\n- **HTTP API**：`GET /api/fail-soft/status`、`GET /api/fail-soft/list`、\n  `POST /api/fail-soft/restore {id}`、`POST /api/fail-soft/quarantine {id,name,reason}`、\n  `POST /api/fail-soft/repair`。\n- **修复引擎（0.1.8+）**：`fail_soft_repair` 一键修复——补丁丢失自动重打；\n  官方改结构自动回滚到官方原版（挂载兜底不生效但服务能起）并给适配指引；\n  同时去重 profile patch 里重复的 entry id（集成 dsh-fix / dev_fix_patch 能力）。\n- **UI 面板**：web 会话侧栏 conversation.view 显示隔离列表与恢复按钮。\n- **恢复**：修复插件后删除 patch 文件里对应条目（或用 restore 工具/UI）。\n\n## 第 2 层：进程级兜底（v0.1.16+）\n\n> 场景：内核补丁被官方大改回滚、或 fail-soft 插件自身没起来（Desktop App 内嵌\n> 内核不在 heal 扫描范围）时，挂载兜底（第 1 层）兜不住。第 2 层把兜底搬到\n> **进程外**：外层进程与一切插件解耦，捕获 dsh 崩溃输出 → 解析坏插件 →\n> **自己写隔离** → 带退避重拉。不依赖内核补丁，也不依赖插件被装配。\n\n```bash\n# 拉起 dsh web（进程外兜底，退出码透传）\ndsh-failsoft-web\n# 透传参数给 dsh web / 指定 profile / 指定 dsh 入口\ndsh-failsoft-web -- --port 3080\ndsh-failsoft-web --dsh /Applications/DSH\\ Desktop.app/.../dsh/lib/bin.js\nDSH_PROFILE=desktop dsh-failsoft-web --dsh <desktop bin>   # Desktop 场景\n# 调参\ndsh-failsoft-web --max-restarts 3 --backoff-ms 2000\n```\n\n行为：dsh 正常退出(0) 透传退出；崩溃 + 解析出可隔离插件 → 写 disabled patch\n后自动重拉；崩溃 + 无可隔离对象 → 跑 doctor 诊断，最多再给一次机会。\n\n## 已知边界\n\n- 只兜\"插件加载/激活失败\"。profile 的 `cordis.patch.yml` 用户手写坏（YAML\n  语法错）：fail-soft 下会**给出诊断并自动从写前备份恢复**（0.1.6 起，\n  写前备份 `.bak.<ISO>` + 解析失败自动恢复）；非 fail-soft 仍 fail-loud，\n  但会提示如何恢复。本插件自己的隔离写入由 `mergePatchBlock` 保证合法\n  （0.1.2 起，空数组 `[]` 替换而非追加）。\n- 每轮最多隔离一批失败插件并重试，5 轮后放弃（服务以降级树启动，不崩）。\n- 挂载期自动隔离需要内核补丁 + `DSH_FAIL_SOFT=1`（崩溃在插件加载前）。\n- 运行期工具/API 采用**延迟注册**：bundle 装配可能早于 `tools`/`webServer`\n  服务就绪，插件会监听服务注册事件自动补注册；因此重启后 `fail_soft_*`\n  工具和 `/api/fail-soft/*` 会随服务就绪自动出现，**不需要手动热重载**。\n\n## 开发者\n\n构建 / 发布（TP 自动上传 + preflight 门禁）/ 回归测试等维护流程见 **`RELEASE.md`**。\n","readmeFilename":"README.md"}