dsh-tool-adapt 0.2.12 → 0.2.13

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.
Files changed (3) hide show
  1. package/README.md +1 -1
  2. package/lib/client.js +19 -13
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## English
4
4
 
5
- **Current release: 0.2.9** — Portable settings transport: the plugin now resolves its settings scope on both the `settingsScope` (≤ 0.1.5) and `configForms` (≥ 0.1.7-rc.1) hosts, so the Settings card and pill switch keep working across the rename.
5
+ **Portable settings transport** — the plugin now resolves its settings scope on both the `settingsScope` (≤ 0.1.5) and `configForms` (≥ 0.1.7-rc.1) hosts, so the Settings card and pill switch keep working across the rename.
6
6
 
7
7
  A compatibility and safety adaptation layer for non-DeepSeek model families in DeepSeek Harness Web. It guards dead escalation states, injects model-family conventions, fuses repeated failures, and provides a lifecycle-safe Settings card and optional composer pill. Its DSH 0.1.2+ `remote.settings` path falls back to the legacy connection API on older RC hosts.
8
8
 
package/lib/client.js CHANGED
@@ -920,19 +920,25 @@ window.__ModuleLoader__.load({
920
920
  // resolveSettingsScopeFrom (settingsScope ≤ 0.1.5 / configForms ≥ 0.1.7), so
921
921
  // this plugin keeps exactly one read path and one write path.
922
922
  //
923
- // `slots` is awaited NON-GATINGLY, and the callback returns the registration
924
- // disposer so the entry is owned by the registering fiber and released with
925
- // the rest of disposeSlots on stop / update / HMR.
926
- const registerRowConfig = (sctx) => sctx.slots.inject('plugins.row.config', () => sctx.slots.register({
927
- name: 'plugins.row.config',
928
- key: ROW_CONFIG_KEY,
929
- }, function ToolAdaptRowConfig(props) {
930
- if (props && props.view === 'summary') {
931
- return e('span', { style: SUMMARY_STYLE }, '非 DeepSeek 模型的工具适配开关(守卫 / L2 惯例 / L0 熔断 / 状态胶囊)。')
932
- }
933
- // view === 'page': this card IS the page, so it starts expanded.
934
- return e(SettingsCard, { scope, api, defaultOpen: true })
935
- }))
923
+ // `slots` is awaited NON-GATINGLY, and the registration disposer joins the
924
+ // package's OWN disposal list — exactly like the legacy card seat above and
925
+ // the `settings.section` page below — so every slot registration this bundle
926
+ // owns is released through the one combined disposer apply returns. Handing
927
+ // the disposer back to `ctx.inject` instead would leave this one seat on a
928
+ // different disposal path than its siblings, so an unload / update / HMR
929
+ // could leak the entry while the other seats were released.
930
+ const registerRowConfig = (sctx) => {
931
+ disposeSlots.push(sctx.slots.inject('plugins.row.config', () => sctx.slots.register({
932
+ name: 'plugins.row.config',
933
+ key: ROW_CONFIG_KEY,
934
+ }, function ToolAdaptRowConfig(props) {
935
+ if (props && props.view === 'summary') {
936
+ return e('span', { style: SUMMARY_STYLE }, '非 DeepSeek 模型的工具适配开关(守卫 / L2 惯例 / L0 熔断 / 状态胶囊)。')
937
+ }
938
+ // view === 'page': this card IS the page, so it starts expanded.
939
+ return e(SettingsCard, { scope, api, defaultOpen: true })
940
+ })))
941
+ }
936
942
  ctx.inject(['slots'], registerRowConfig)
937
943
 
938
944
  // ── additive seat: the `settings.section` page ──────────────────────────
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-tool-adapt",
3
- "version": "0.2.12",
3
+ "version": "0.2.13",
4
4
  "description": "EN: Compatibility and safety adaptation layer for non-DeepSeek models in DeepSeek Harness Web. ZH: 面向 DeepSeek Harness Web 非 DeepSeek 模型的兼容与安全适配层。",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",