@chaoset/adaptive-perf 0.7.2 → 0.8.0

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.8.0](https://github.com/winliyou/dsh-plugins) (2026-08-22)
4
+
5
+ ### Features
6
+
7
+ * **`keywordMatchMode` config** (`smart`(default) | `substring` | `word`): escalation keywords containing CJK keep substring matching (CJK has no word boundaries — `\b` would never match a pure-CJK keyword), pure-ASCII words match on word boundaries via lookarounds (`(?<![a-z0-9_])kw(?![a-z0-9_])`, more predictable than `\b`). Statement text like "the goal is to refactor" or "goalish" no longer falsely escalates the goal family on the substring "goal"; `substring` restores pre-0.8.0 behavior; validated in `remote.set` and normalized with fallback
8
+ * explicit empty arrays are now legal values for all string-list config fields (`presets`, `bootstrap.tools`, family tools/keywords…): previously an emptied list was silently reverted to the default on save, so "apply no preset" was impossible to express
9
+
10
+ ### Bug Fixes
11
+
12
+ * pre-step injected-context stripping now requires bootstrap enabled: with `bootstrap.enabled=false` injections were stripped while no discovery tools were registered as compensation — unrecoverable context loss
13
+ * hot-updating `bootstrap.promoteOn` now takes effect for already-tracked sessions: the phase cache is invalidated and rebuilt from the persistent journal (persistent promotion signals survive the rebuild)
14
+ * per-message overhead reduced: composed preset resolved once per agent instead of once per message; suppressed-context-sources Set cached by content key instead of rebuilt per message; preset lookup failure warning capped at 20 occurrences
15
+ * settings card: `promoteOn` is a select, `maxTokens` a number input (invalid input can no longer be saved); loading placeholder for `suppressInjectedContext` matches the real default; error notices render in the header badge so they are visible while collapsed; dirty detection compares field-by-field instead of order-sensitive JSON.stringify; error color referenced the non-existent `state-danger-primary` token so errors never rendered red (now `state-error-primary`)
16
+ * removed `filterBootstrapMessages` (exact duplicate of `stripSuppressedMessages`); fixed malformed nested JSDoc on dev_tool_search; description truncation operator-precedence bug (`split('\n')[0].slice(...)` could throw under `noUncheckedIndexedAccess` semantics)
17
+
18
+ ## [0.7.3](https://github.com/winliyou/dsh-plugins) (2026-08-22)
19
+
20
+ ### Bug Fixes
21
+
22
+ * **P0 dev_tool_search used the post-restrict catalog**: tools hidden by restrict layers were undiscoverable/unlockable; it now searches a pre-restrict snapshot captured at agent setup
23
+ * **P0 escalate() did not recompute the bootstrap deny set**: after an escalation signal, family tools stayed hidden behind the second restrict layer; escalate now resyncs the keep-set so the release takes effect on the next request
24
+ * real Minimal tool pair remounts idempotently via a state key: unrelated hot-updates no longer destroy/recreate persistent PTY bashes (cwd/env/background jobs survive)
25
+ * first-round maxTokens cap: listener always registered with in-callback branching (0→N hot-update works; N→0 strips the field instead of injecting 0); promotion strips any cap injected this session including stale values from before a hot-update change
26
+ * custom tool families defined in settings survive normalizeConfig (previously silently dropped)
27
+ * test mocks made host-faithful (schemas reflect active restrict layers); regression tests added for both P0s
28
+
29
+ ## [0.7.2](https://github.com/winliyou/dsh-plugins) (2026-08-22)
30
+
31
+ * align with dsh 0.1.0-rc.8 dependency set
32
+
3
33
  ## [0.7.0](https://github.com/winliyou/dsh-plugins) (2026-08-18)
4
34
 
5
35
  ### Features
package/README.md CHANGED
@@ -129,7 +129,8 @@ dsh plugin --profile web remove @chaoset/adaptive-perf
129
129
  | `suppressRuntimeContext` | `true` | 抑制运行时上下文快照(零功能损失) |
130
130
  | `suppressInjectedContext` | `true` | 常驻上下文抑制(默认开启):整个会话剥离技能目录/AGENTS.md 注入(发现工具承担可见性);`false` = 只在请求 #1 剥离,晋升后恢复 |
131
131
  | `leanByDefault` | `false` | 工具目录精简(opt-in):`true` = 会话启动即隐藏编排类工具族;`false`(默认)= 零裁剪 |
132
- | `escalateOnKeyword` | `true` | 用户消息命中触发词 → 放行该族 |
132
+ | `escalateOnKeyword` | `true` | 用户消息命中触发词 → 放行该族(匹配方式见 `keywordMatchMode`) |
133
+ | `keywordMatchMode` | `"smart"` | 触发词匹配模式:`smart` = 含 CJK 的触发词子串匹配、纯 ASCII 词词边界匹配(`"goalish"` 不命中 `"goal"`,整词 `"the goal is"` 命中);`substring` = 一律子串;`word` = 一律词边界 |
133
134
  | `escalateOnUnknownTool` | `true` | 工具调用失败(UNKNOWN_TOOL)→ 放行该族 |
134
135
  | `coreTools` | 核心编码工具 | 展示用:不进入任何限制族 |
135
136
  | `families` | 见下 | 工具族:`{ 族名: { enabled, tools, keywords } }` |
package/client/client.cjs CHANGED
@@ -40,7 +40,7 @@ window.__ModuleLoader__.load({
40
40
  });
41
41
  module.exports = __toCommonJS(index_exports);
42
42
  var React = __toESM(require("react"), 1);
43
- var css = ".ap_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:10px;min-width:0;overflow:hidden}.ap_card[data-open=true]{border-color:var(--dsw-alias-border-l1);box-shadow:var(--dsw-shadow-lv1)}.ap_header{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.ap_header:hover,.ap_card[data-open=true]>.ap_header{background:var(--dsw-alias-interactive-bg-hover)}.ap_title{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:20px}.ap_badge{white-space:nowrap;background:color-mix(in srgb,var(--dsw-alias-state-success-primary) 10%,transparent);color:var(--dsw-alias-state-success-primary);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;line-height:16px}.ap_body{border-top:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);padding:10px 14px 12px}.ap_field{flex-direction:column;gap:4px;padding:8px 0;display:flex}.ap_label{font-size:12px;font-weight:500;line-height:18px}.ap_input{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);height:32px;font:inherit;color:var(--dsw-alias-label-primary);border-radius:6px;padding:0 10px;font-size:13px;line-height:20px}.ap_textarea{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);font:inherit;color:var(--dsw-alias-label-primary);border-radius:6px;padding:6px 10px;font-size:12px;line-height:18px;resize:vertical;min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ap_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:11px;line-height:16px}.ap_footer{border-top:1px solid var(--dsw-alias-border-l2);justify-content:flex-end;align-items:center;gap:8px;padding:8px 0 2px;display:flex}.ap_save{font:inherit;cursor:pointer;border:1px solid transparent;border-radius:6px;padding:4px 14px;font-size:12px;line-height:18px;background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3)}.ap_discard{font:inherit;cursor:pointer;border:1px solid var(--dsw-alias-border-l2);border-radius:6px;padding:4px 14px;font-size:12px;line-height:18px;background:0 0;color:inherit}.ap_status{font-size:11px;line-height:16px;color:var(--dsw-alias-label-tertiary);flex:1}.ap_status.ap_error{color:var(--dsw-alias-state-danger-primary)}";
43
+ var css = ".ap_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:10px;min-width:0;overflow:hidden}.ap_card[data-open=true]{border-color:var(--dsw-alias-border-l1);box-shadow:var(--dsw-shadow-lv1)}.ap_header{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.ap_header:hover,.ap_card[data-open=true]>.ap_header{background:var(--dsw-alias-interactive-bg-hover)}.ap_title{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:20px}.ap_badge{white-space:nowrap;background:color-mix(in srgb,var(--dsw-alias-state-success-primary) 10%,transparent);color:var(--dsw-alias-state-success-primary);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;line-height:16px}.ap_body{border-top:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);padding:10px 14px 12px}.ap_field{flex-direction:column;gap:4px;padding:8px 0;display:flex}.ap_label{font-size:12px;font-weight:500;line-height:18px}.ap_input{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);height:32px;font:inherit;color:var(--dsw-alias-label-primary);border-radius:6px;padding:0 10px;font-size:13px;line-height:20px}.ap_textarea{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);font:inherit;color:var(--dsw-alias-label-primary);border-radius:6px;padding:6px 10px;font-size:12px;line-height:18px;resize:vertical;min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ap_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:11px;line-height:16px}.ap_footer{border-top:1px solid var(--dsw-alias-border-l2);justify-content:flex-end;align-items:center;gap:8px;padding:8px 0 2px;display:flex}.ap_save{font:inherit;cursor:pointer;border:1px solid transparent;border-radius:6px;padding:4px 14px;font-size:12px;line-height:18px;background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3)}.ap_discard{font:inherit;cursor:pointer;border:1px solid var(--dsw-alias-border-l2);border-radius:6px;padding:4px 14px;font-size:12px;line-height:18px;background:0 0;color:inherit}.ap_status{font-size:11px;line-height:16px;color:var(--dsw-alias-label-tertiary);flex:1}.ap_status.ap_error{color:var(--dsw-alias-state-error-primary)}.ap_badge_error{white-space:nowrap;background:color-mix(in srgb,var(--dsw-alias-state-error-primary) 10%,transparent);color:var(--dsw-alias-state-error-primary);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;line-height:16px;max-width:260px;overflow:hidden;text-overflow:ellipsis}";
44
44
  var tagId = "@chaoset/adaptive-perf/client.css";
45
45
  if (typeof document !== "undefined" && document.querySelector('style[data-plugin-css="' + tagId + '"]') === null) {
46
46
  tag = document.createElement("style");
@@ -64,7 +64,7 @@ window.__ModuleLoader__.load({
64
64
  invalidFamilies: "families \u5FC5\u987B\u662F\u5408\u6CD5 JSON \u5BF9\u8C61",
65
65
  enabled: "\u542F\u7528\u63D2\u4EF6",
66
66
  presets: "\u76EE\u6807 preset",
67
- fieldPresets: "\u9017\u53F7\u5206\u9694\u7684 preset id\uFF08\u5982 standard, code\uFF09",
67
+ fieldPresets: "\u9017\u53F7\u5206\u9694\u7684 preset id\uFF08\u5982 standard, code\uFF09\u3002\u7559\u7A7A = \u4E0D\u5E94\u7528\u4EFB\u4F55 preset",
68
68
  suppressRuntimeContext: "\u6291\u5236\u8FD0\u884C\u65F6\u4E0A\u4E0B\u6587\u5FEB\u7167",
69
69
  fieldSuppressRuntimeContext: "\u7B49\u540C\u6781\u7B80\u6A21\u5F0F\u7684 includeRuntimeContext: false\uFF0C\u6BCF\u6B21\u8BF7\u6C42\u7701\u6389\u5FEB\u7167\u6587\u672C\uFF08\u96F6\u529F\u80FD\u635F\u5931\uFF09",
70
70
  leanByDefault: "\u542F\u52A8\u5373\u7CBE\u7B80\u5DE5\u5177\u76EE\u5F55",
@@ -113,7 +113,7 @@ window.__ModuleLoader__.load({
113
113
  invalidFamilies: "families must be valid JSON object",
114
114
  enabled: "Enable plugin",
115
115
  presets: "Target presets",
116
- fieldPresets: "Comma-separated preset ids (e.g. standard, code)",
116
+ fieldPresets: "Comma-separated preset ids (e.g. standard, code). Empty = apply to no preset.",
117
117
  suppressRuntimeContext: "Suppress runtime-context snapshot",
118
118
  fieldSuppressRuntimeContext: "Same as minimal's includeRuntimeContext: false; drops the snapshot text from every request (zero feature loss)",
119
119
  leanByDefault: "Lean tool catalog at session start",
@@ -205,6 +205,18 @@ window.__ModuleLoader__.load({
205
205
  }
206
206
  return parsed;
207
207
  }
208
+ function valuesEqual(a, b) {
209
+ if (a === b) return true;
210
+ if (typeof a !== typeof b || a === null || b === null) return false;
211
+ if (typeof a !== "object") return false;
212
+ if (Array.isArray(a) !== Array.isArray(b)) return false;
213
+ if (Array.isArray(a)) {
214
+ return a.length === b.length && a.every((v, i) => valuesEqual(v, b[i]));
215
+ }
216
+ const ka = Object.keys(a);
217
+ const kb = Object.keys(b);
218
+ return ka.length === kb.length && ka.every((k) => Object.prototype.hasOwnProperty.call(b, k) && valuesEqual(a[k], b[k]));
219
+ }
208
220
  function AdaptivePerfCard(props) {
209
221
  const t = props.t;
210
222
  const [open, setOpen] = React.useState(false);
@@ -237,7 +249,7 @@ window.__ModuleLoader__.load({
237
249
  familiesError = error?.message ?? String(error);
238
250
  }
239
251
  }
240
- const dirty = draft !== null && (JSON.stringify(draft) !== JSON.stringify(cfg) || familiesInvalid === false && familiesToText(draft.families) !== familiesText);
252
+ const dirty = draft !== null && (!valuesEqual(draft, cfg) || familiesInvalid === false && familiesToText(draft.families) !== familiesText);
241
253
  const invalid = draft !== null && familiesInvalid;
242
254
  const discard = () => {
243
255
  setDraft(cfg);
@@ -276,6 +288,7 @@ window.__ModuleLoader__.load({
276
288
  "aria-expanded": open
277
289
  },
278
290
  React.createElement("span", { className: "ap_title" }, t("title")),
291
+ status !== null && status.kind === "error" ? React.createElement("span", { className: "ap_badge ap_badge_error", title: status.text }, status.text) : null,
279
292
  dirty ? React.createElement("span", { className: "ap_badge" }, t("unsaved")) : null,
280
293
  React.createElement("span", null, open ? "\u25B2" : "\u25BC")
281
294
  ),
@@ -327,7 +340,7 @@ window.__ModuleLoader__.load({
327
340
  React.createElement(BoolField, {
328
341
  label: t("suppressInjectedContext"),
329
342
  hint: t("fieldSuppressInjectedContext"),
330
- value: draft === null ? false : draft.suppressInjectedContext,
343
+ value: draft === null ? true : draft.suppressInjectedContext,
331
344
  disabled: draft === null,
332
345
  onChange: (v) => setDraft({ ...draft, suppressInjectedContext: v })
333
346
  }),
@@ -352,13 +365,23 @@ window.__ModuleLoader__.load({
352
365
  disabled: draft === null || draft.bootstrap && draft.bootstrap.enabled === false,
353
366
  onChange: (v) => setDraft({ ...draft, bootstrap: { ...draft.bootstrap || {}, tools: v.split(/[,,\s]+/).filter((x) => x.length > 0) } })
354
367
  }),
355
- React.createElement(TextField, {
356
- label: t("bootstrapPromoteOn"),
357
- hint: t("fieldBootstrapPromoteOn"),
358
- value: draft === null ? "" : draft.bootstrap && draft.bootstrap.promoteOn || "either",
359
- disabled: draft === null || draft.bootstrap && draft.bootstrap.enabled === false,
360
- onChange: (v) => setDraft({ ...draft, bootstrap: { ...draft.bootstrap || {}, promoteOn: v.trim() || "either" } })
361
- }),
368
+ React.createElement(
369
+ Field,
370
+ {
371
+ label: t("bootstrapPromoteOn"),
372
+ hint: t("fieldBootstrapPromoteOn")
373
+ },
374
+ React.createElement(
375
+ "select",
376
+ {
377
+ className: "ap_input",
378
+ value: draft === null ? "either" : draft.bootstrap && draft.bootstrap.promoteOn || "either",
379
+ disabled: draft === null || draft.bootstrap && draft.bootstrap.enabled === false,
380
+ onChange: (e) => setDraft({ ...draft, bootstrap: { ...draft.bootstrap || {}, promoteOn: e.target.value } })
381
+ },
382
+ ["either", "tool-call", "assistant-message"].map((v) => React.createElement("option", { key: v, value: v }, v))
383
+ )
384
+ ),
362
385
  React.createElement(TextField, {
363
386
  label: t("bootstrapSuppressed"),
364
387
  hint: t("fieldBootstrapSuppressed"),
@@ -373,16 +396,25 @@ window.__ModuleLoader__.load({
373
396
  disabled: draft === null || draft.bootstrap && draft.bootstrap.enabled === false,
374
397
  onChange: (v) => setDraft({ ...draft, bootstrap: { ...draft.bootstrap || {}, discoveryTools: v.split(/[,,\s]+/).filter((x) => x.length > 0) } })
375
398
  }),
376
- React.createElement(TextField, {
377
- label: t("bootstrapMaxTokens"),
378
- hint: t("fieldBootstrapMaxTokens"),
379
- value: draft === null ? "" : String(draft.bootstrap && draft.bootstrap.maxTokens || 0),
380
- disabled: draft === null || draft.bootstrap && draft.bootstrap.enabled === false,
381
- onChange: (v) => {
382
- const n = Number(v.trim());
383
- setDraft({ ...draft, bootstrap: { ...draft.bootstrap || {}, maxTokens: Number.isSafeInteger(n) && n > 0 ? n : 0 } });
384
- }
385
- }),
399
+ React.createElement(
400
+ Field,
401
+ {
402
+ label: t("bootstrapMaxTokens"),
403
+ hint: t("fieldBootstrapMaxTokens")
404
+ },
405
+ React.createElement("input", {
406
+ className: "ap_input",
407
+ type: "number",
408
+ min: 0,
409
+ step: 1,
410
+ value: draft === null ? 0 : String(draft.bootstrap && draft.bootstrap.maxTokens || 0),
411
+ disabled: draft === null || draft.bootstrap && draft.bootstrap.enabled === false,
412
+ onChange: (e) => {
413
+ const n = Number(e.target.value);
414
+ setDraft({ ...draft, bootstrap: { ...draft.bootstrap || {}, maxTokens: Number.isSafeInteger(n) && n > 0 ? n : 0 } });
415
+ }
416
+ })
417
+ ),
386
418
  React.createElement(BoolField, {
387
419
  label: t("minimalPromptEnabled"),
388
420
  hint: t("fieldMinimalPromptEnabled"),
package/client/index.tsx CHANGED
@@ -2,7 +2,7 @@ import * as React from "react";
2
2
  import type { TypertRemoteContribution } from "@deepseek-ai/dsh-typert-protocol";
3
3
 
4
4
  // ── 样式(注入 style 标签,模仿官方卡片外观)──────────────────────────
5
- var css = ".ap_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:10px;min-width:0;overflow:hidden}.ap_card[data-open=true]{border-color:var(--dsw-alias-border-l1);box-shadow:var(--dsw-shadow-lv1)}.ap_header{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.ap_header:hover,.ap_card[data-open=true]>.ap_header{background:var(--dsw-alias-interactive-bg-hover)}.ap_title{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:20px}.ap_badge{white-space:nowrap;background:color-mix(in srgb,var(--dsw-alias-state-success-primary) 10%,transparent);color:var(--dsw-alias-state-success-primary);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;line-height:16px}.ap_body{border-top:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);padding:10px 14px 12px}.ap_field{flex-direction:column;gap:4px;padding:8px 0;display:flex}.ap_label{font-size:12px;font-weight:500;line-height:18px}.ap_input{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);height:32px;font:inherit;color:var(--dsw-alias-label-primary);border-radius:6px;padding:0 10px;font-size:13px;line-height:20px}.ap_textarea{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);font:inherit;color:var(--dsw-alias-label-primary);border-radius:6px;padding:6px 10px;font-size:12px;line-height:18px;resize:vertical;min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ap_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:11px;line-height:16px}.ap_footer{border-top:1px solid var(--dsw-alias-border-l2);justify-content:flex-end;align-items:center;gap:8px;padding:8px 0 2px;display:flex}.ap_save{font:inherit;cursor:pointer;border:1px solid transparent;border-radius:6px;padding:4px 14px;font-size:12px;line-height:18px;background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3)}.ap_discard{font:inherit;cursor:pointer;border:1px solid var(--dsw-alias-border-l2);border-radius:6px;padding:4px 14px;font-size:12px;line-height:18px;background:0 0;color:inherit}.ap_status{font-size:11px;line-height:16px;color:var(--dsw-alias-label-tertiary);flex:1}.ap_status.ap_error{color:var(--dsw-alias-state-danger-primary)}";
5
+ var css = ".ap_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:10px;min-width:0;overflow:hidden}.ap_card[data-open=true]{border-color:var(--dsw-alias-border-l1);box-shadow:var(--dsw-shadow-lv1)}.ap_header{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.ap_header:hover,.ap_card[data-open=true]>.ap_header{background:var(--dsw-alias-interactive-bg-hover)}.ap_title{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:20px}.ap_badge{white-space:nowrap;background:color-mix(in srgb,var(--dsw-alias-state-success-primary) 10%,transparent);color:var(--dsw-alias-state-success-primary);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;line-height:16px}.ap_body{border-top:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);padding:10px 14px 12px}.ap_field{flex-direction:column;gap:4px;padding:8px 0;display:flex}.ap_label{font-size:12px;font-weight:500;line-height:18px}.ap_input{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);height:32px;font:inherit;color:var(--dsw-alias-label-primary);border-radius:6px;padding:0 10px;font-size:13px;line-height:20px}.ap_textarea{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);font:inherit;color:var(--dsw-alias-label-primary);border-radius:6px;padding:6px 10px;font-size:12px;line-height:18px;resize:vertical;min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ap_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:11px;line-height:16px}.ap_footer{border-top:1px solid var(--dsw-alias-border-l2);justify-content:flex-end;align-items:center;gap:8px;padding:8px 0 2px;display:flex}.ap_save{font:inherit;cursor:pointer;border:1px solid transparent;border-radius:6px;padding:4px 14px;font-size:12px;line-height:18px;background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3)}.ap_discard{font:inherit;cursor:pointer;border:1px solid var(--dsw-alias-border-l2);border-radius:6px;padding:4px 14px;font-size:12px;line-height:18px;background:0 0;color:inherit}.ap_status{font-size:11px;line-height:16px;color:var(--dsw-alias-label-tertiary);flex:1}.ap_status.ap_error{color:var(--dsw-alias-state-error-primary)}.ap_badge_error{white-space:nowrap;background:color-mix(in srgb,var(--dsw-alias-state-error-primary) 10%,transparent);color:var(--dsw-alias-state-error-primary);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;line-height:16px;max-width:260px;overflow:hidden;text-overflow:ellipsis}";
6
6
  var tagId = "@chaoset/adaptive-perf/client.css";
7
7
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=\"" + tagId + "\"]") === null) {
8
8
  var tag = document.createElement("style");
@@ -27,7 +27,7 @@ import type { TypertRemoteContribution } from "@deepseek-ai/dsh-typert-protocol"
27
27
  invalidFamilies: "families 必须是合法 JSON 对象",
28
28
  enabled: "启用插件",
29
29
  presets: "目标 preset",
30
- fieldPresets: "逗号分隔的 preset id(如 standard, code",
30
+ fieldPresets: "逗号分隔的 preset id(如 standard, code)。留空 = 不应用任何 preset",
31
31
  suppressRuntimeContext: "抑制运行时上下文快照",
32
32
  fieldSuppressRuntimeContext: "等同极简模式的 includeRuntimeContext: false,每次请求省掉快照文本(零功能损失)",
33
33
  leanByDefault: "启动即精简工具目录",
@@ -76,7 +76,7 @@ import type { TypertRemoteContribution } from "@deepseek-ai/dsh-typert-protocol"
76
76
  invalidFamilies: "families must be valid JSON object",
77
77
  enabled: "Enable plugin",
78
78
  presets: "Target presets",
79
- fieldPresets: "Comma-separated preset ids (e.g. standard, code)",
79
+ fieldPresets: "Comma-separated preset ids (e.g. standard, code). Empty = apply to no preset.",
80
80
  suppressRuntimeContext: "Suppress runtime-context snapshot",
81
81
  fieldSuppressRuntimeContext: "Same as minimal's includeRuntimeContext: false; drops the snapshot text from every request (zero feature loss)",
82
82
  leanByDefault: "Lean tool catalog at session start",
@@ -168,6 +168,20 @@ import type { TypertRemoteContribution } from "@deepseek-ai/dsh-typert-protocol"
168
168
  }
169
169
 
170
170
  // ── 配置卡片 ─────────────────────────────────────────────────────────
171
+ /** 逐字段深比较(键序无关):dirty 判定不能用 JSON.stringify——服务端
172
+ * effective() 与本地草稿的键序可能不同,会产生假"未保存"徽标。 */
173
+ function valuesEqual(a: any, b: any): boolean {
174
+ if (a === b) return true;
175
+ if (typeof a !== typeof b || a === null || b === null) return false;
176
+ if (typeof a !== "object") return false;
177
+ if (Array.isArray(a) !== Array.isArray(b)) return false;
178
+ if (Array.isArray(a)) {
179
+ return a.length === b.length && a.every((v: any, i: number) => valuesEqual(v, b[i]));
180
+ }
181
+ const ka = Object.keys(a);
182
+ const kb = Object.keys(b);
183
+ return ka.length === kb.length && ka.every((k: string) => Object.prototype.hasOwnProperty.call(b, k) && valuesEqual(a[k], b[k]));
184
+ }
171
185
  function AdaptivePerfCard(props: any) {
172
186
  const t = props.t;
173
187
  const [open, setOpen] = React.useState(false);
@@ -200,7 +214,7 @@ import type { TypertRemoteContribution } from "@deepseek-ai/dsh-typert-protocol"
200
214
  familiesError = (error as Error)?.message ?? String(error);
201
215
  }
202
216
  }
203
- const dirty = draft !== null && (JSON.stringify(draft) !== JSON.stringify(cfg) || familiesInvalid === false && familiesToText(draft.families) !== familiesText);
217
+ const dirty = draft !== null && (!valuesEqual(draft, cfg) || familiesInvalid === false && familiesToText(draft.families) !== familiesText);
204
218
  const invalid = draft !== null && familiesInvalid;
205
219
  const discard = () => {
206
220
  setDraft(cfg);
@@ -240,6 +254,7 @@ import type { TypertRemoteContribution } from "@deepseek-ai/dsh-typert-protocol"
240
254
  "aria-expanded": open
241
255
  },
242
256
  React.createElement("span", { className: "ap_title" }, t("title")),
257
+ status !== null && status.kind === "error" ? React.createElement("span", { className: "ap_badge ap_badge_error", title: status.text }, status.text) : null,
243
258
  dirty ? React.createElement("span", { className: "ap_badge" }, t("unsaved")) : null,
244
259
  React.createElement("span", null, open ? "▲" : "▼")
245
260
  ),
@@ -291,7 +306,7 @@ import type { TypertRemoteContribution } from "@deepseek-ai/dsh-typert-protocol"
291
306
  React.createElement(BoolField, {
292
307
  label: t("suppressInjectedContext"),
293
308
  hint: t("fieldSuppressInjectedContext"),
294
- value: draft === null ? false : draft.suppressInjectedContext,
309
+ value: draft === null ? true : draft.suppressInjectedContext,
295
310
  disabled: draft === null,
296
311
  onChange: (v: any) => setDraft({ ...draft, suppressInjectedContext: v })
297
312
  }),
@@ -316,13 +331,20 @@ import type { TypertRemoteContribution } from "@deepseek-ai/dsh-typert-protocol"
316
331
  disabled: draft === null || (draft.bootstrap && draft.bootstrap.enabled === false),
317
332
  onChange: (v: any) => setDraft({ ...draft, bootstrap: { ...(draft.bootstrap || {}), tools: v.split(/[,,\s]+/).filter((x: any) => x.length > 0) } })
318
333
  }),
319
- React.createElement(TextField, {
334
+ React.createElement(Field, {
320
335
  label: t("bootstrapPromoteOn"),
321
- hint: t("fieldBootstrapPromoteOn"),
322
- value: draft === null ? "" : (draft.bootstrap && draft.bootstrap.promoteOn) || "either",
323
- disabled: draft === null || (draft.bootstrap && draft.bootstrap.enabled === false),
324
- onChange: (v: any) => setDraft({ ...draft, bootstrap: { ...(draft.bootstrap || {}), promoteOn: (v.trim() || "either") } })
325
- }),
336
+ hint: t("fieldBootstrapPromoteOn")
337
+ },
338
+ React.createElement("select", {
339
+ className: "ap_input",
340
+ value: draft === null ? "either" : (draft.bootstrap && draft.bootstrap.promoteOn) || "either",
341
+ disabled: draft === null || (draft.bootstrap && draft.bootstrap.enabled === false),
342
+ onChange: (e: any) => setDraft({ ...draft, bootstrap: { ...(draft.bootstrap || {}), promoteOn: e.target.value } })
343
+ },
344
+ ["either", "tool-call", "assistant-message"].map((v: string) =>
345
+ React.createElement("option", { key: v, value: v }, v))
346
+ )
347
+ ),
326
348
  React.createElement(TextField, {
327
349
  label: t("bootstrapSuppressed"),
328
350
  hint: t("fieldBootstrapSuppressed"),
@@ -337,16 +359,24 @@ import type { TypertRemoteContribution } from "@deepseek-ai/dsh-typert-protocol"
337
359
  disabled: draft === null || (draft.bootstrap && draft.bootstrap.enabled === false),
338
360
  onChange: (v: any) => setDraft({ ...draft, bootstrap: { ...(draft.bootstrap || {}), discoveryTools: v.split(/[,,\s]+/).filter((x: any) => x.length > 0) } })
339
361
  }),
340
- React.createElement(TextField, {
362
+ React.createElement(Field, {
341
363
  label: t("bootstrapMaxTokens"),
342
- hint: t("fieldBootstrapMaxTokens"),
343
- value: draft === null ? "" : String((draft.bootstrap && draft.bootstrap.maxTokens) || 0),
344
- disabled: draft === null || (draft.bootstrap && draft.bootstrap.enabled === false),
345
- onChange: (v: any) => {
346
- const n = Number(v.trim());
347
- setDraft({ ...draft, bootstrap: { ...(draft.bootstrap || {}), maxTokens: Number.isSafeInteger(n) && n > 0 ? n : 0 } });
348
- }
349
- }),
364
+ hint: t("fieldBootstrapMaxTokens")
365
+ },
366
+ React.createElement("input", {
367
+ className: "ap_input",
368
+ type: "number",
369
+ min: 0,
370
+ step: 1,
371
+ value: draft === null ? 0 : String((draft.bootstrap && draft.bootstrap.maxTokens) || 0),
372
+ disabled: draft === null || (draft.bootstrap && draft.bootstrap.enabled === false),
373
+ onChange: (e: any) => {
374
+ const n = Number(e.target.value);
375
+ // 非法/清空归 0(= 不封顶);number input 本身已挡住大部分非法输入。
376
+ setDraft({ ...draft, bootstrap: { ...(draft.bootstrap || {}), maxTokens: Number.isSafeInteger(n) && n > 0 ? n : 0 } });
377
+ }
378
+ })
379
+ ),
350
380
  React.createElement(BoolField, {
351
381
  label: t("minimalPromptEnabled"),
352
382
  hint: t("fieldMinimalPromptEnabled"),
package/lib/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ // ── dsh.d.ts augmentations (appended by scripts/build.mjs) ──
1
2
  import type { Context as CordisContext } from "@deepseek-ai/cordis";
2
3
 
3
4
  declare module "@deepseek-ai/cordis" {
@@ -122,7 +123,8 @@ export declare const name = "adaptive-perf";
122
123
  *
123
124
  * families:工具族。每族可配 tools(该族工具名,需存在于目标 preset 的目录,
124
125
  * 插件运行时按实际可见工具取交集,不会因改名/缺失而崩溃)与 keywords(用户消息
125
- * 命中任一触发词即放行该族;大小写不敏感,子串匹配)。
126
+ * 命中任一触发词即放行该族;大小写不敏感;匹配方式由 keywordMatchMode 决定,
127
+ * 默认 smart:含 CJK 的触发词用子串匹配、纯 ASCII 词用词边界匹配)。
126
128
  *
127
129
  * bootstrap:首轮锚定(参照 dsh-anchored-standard 的实测结论)。请求 #1 只暴露
128
130
  * bootstrap.tools(真实 Minimal 工具对),剥离 suppressedContextSources 列出的
@@ -154,6 +156,15 @@ export declare const DEFAULT_CONFIG: {
154
156
  escalateOnKeyword: boolean;
155
157
  /** 工具调用失败(UNKNOWN_TOOL 文本含隐藏工具名)时自动放行该族。 */
156
158
  escalateOnUnknownTool: boolean;
159
+ /**
160
+ * 触发词匹配模式:smart(默认)= 含 CJK 的关键词保持子串匹配(\b 词边界
161
+ * 对非 [A-Za-z0-9_] 字符无定义,纯 CJK 词会永不命中),纯 ASCII 词用词
162
+ * 边界匹配——避免 "goalish"/"goalie" 命中 "goal"、"refork" 命中 "fork"
163
+ * 这类常见英文词的子串误触发;substring = 一律子串(0.7.2 及以前的行为);
164
+ * word = 一律词边界(ASCII 字母/数字/下划线之外的位置视为边界,CJK 词
165
+ * 也可用)。
166
+ */
167
+ keywordMatchMode: string;
157
168
  /**
158
169
  * 常驻上下文抑制(0.5.0):true = 整个会话剥离自动注入上下文
159
170
  * (skill-catalog 技能目录提醒、agent-instructions AGENTS.md 摘要);
@@ -232,6 +243,7 @@ export declare const DEFAULT_CONFIG: {
232
243
  };
233
244
  export declare function normalizeConfig(source: any, defaults?: any): any;
234
245
  /** remote.set 的严格校验:非法值直接拒绝并返回错误,而不是静默写坏文件。 */
246
+ export declare const MATCH_MODES: string[];
235
247
  export declare function validateConfig(partial: any): void;
236
248
  /** 被极简提示词层屏蔽的全局引导段(name, order,与 dsh-app-boot /
237
249
  * dsh-web-app / dsh-system-prompt 的注册一致)。 */
@@ -241,8 +253,11 @@ export declare const PERSONA_SECTION_NAME = "deployment:persona";
241
253
  export declare const PERSONA_SECTION_ORDER = 0;
242
254
  /** 提取一条用户消息的顶层文本(text 块拼接)。 */
243
255
  export declare function extractUserText(message: any): string;
244
- /** 大小写不敏感的子串匹配:任一关键词命中即返回 true。 */
245
- export declare function matchKeywords(text: any, keywords: any): boolean;
256
+ /**
257
+ * 大小写不敏感的关键词匹配:任一关键词命中即返回 true。
258
+ * @param mode - 'smart'(默认)/ 'substring' / 'word',见 DEFAULT_CONFIG.keywordMatchMode。
259
+ */
260
+ export declare function matchKeywords(text: any, keywords: any, mode?: any): boolean;
246
261
  /** 收集一次工具调用失败的模型可见文本(error 字段 + content 文本块)。 */
247
262
  export declare function collectFailureText(result: any): string;
248
263
  /**
@@ -299,7 +314,6 @@ export declare const PROMOTE_EVENTS: {
299
314
  either: string[];
300
315
  };
301
316
  /**
302
- /**
303
317
  * dev_tool_search:搜索完整可见目录并按名解锁工具(解锁结果下一请求生效,
304
318
  * 经 syncBootstrap 重算 deny 集;解锁记录写入 a.unlocked,resume-safe 由
305
319
  * loadUnlockedFromEvents 从持久事件恢复)。
@@ -332,10 +346,11 @@ export declare function observePhase(state: any, sessionId: any, event: any): vo
332
346
  * 调用方决定是否降级(全目录放行)。
333
347
  */
334
348
  export declare function filterBootstrapTools(assembly: any, keep: any): any;
335
- /** source.kind 剥离自动注入的上下文消息(保留主动的用户消息)。 */
336
- export declare function filterBootstrapMessages(messages: any, suppressedSources: any): any;
337
- /** 首轮输出预算:未晋升 封顶;已晋升 若仍带着封顶值则剥离。 */
338
- export declare function applyBootstrapBudget(config: any, promoted: any, maxTokens: any): any;
349
+ /** 首轮输出预算:未晋升 封顶;已晋升 → 若仍带着封顶值则剥离。
350
+ * 剥离条件是"值等于当前配置的 cap 或本会话曾写入过的任何旧 cap":
351
+ * 用户在晋升前后改过 cap 的话,header 里残留的是旧值,只比对当前值
352
+ * 会永远剥不掉,会话将永久带着过期封顶。 */
353
+ export declare function applyBootstrapBudget(config: any, promoted: any, maxTokens: any, previousCaps?: any[]): any;
339
354
  /** 把配置 namespace 注册进宿主 settings 体系(dsh-settings 0.1.0-rc.7+)。
340
355
  * 设置页 describe() 只枚举 settings.register 注册过的 namespace;本插件
341
356
  * 的卡片读写不经过宿主 settings 文档,注册只为让卡片出现在设置页。
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -97,7 +97,8 @@ export const name = 'adaptive-perf';
97
97
  *
98
98
  * families:工具族。每族可配 tools(该族工具名,需存在于目标 preset 的目录,
99
99
  * 插件运行时按实际可见工具取交集,不会因改名/缺失而崩溃)与 keywords(用户消息
100
- * 命中任一触发词即放行该族;大小写不敏感,子串匹配)。
100
+ * 命中任一触发词即放行该族;大小写不敏感;匹配方式由 keywordMatchMode 决定,
101
+ * 默认 smart:含 CJK 的触发词用子串匹配、纯 ASCII 词用词边界匹配)。
101
102
  *
102
103
  * bootstrap:首轮锚定(参照 dsh-anchored-standard 的实测结论)。请求 #1 只暴露
103
104
  * bootstrap.tools(真实 Minimal 工具对),剥离 suppressedContextSources 列出的
@@ -129,6 +130,15 @@ export const DEFAULT_CONFIG = {
129
130
  escalateOnKeyword: true,
130
131
  /** 工具调用失败(UNKNOWN_TOOL 文本含隐藏工具名)时自动放行该族。 */
131
132
  escalateOnUnknownTool: true,
133
+ /**
134
+ * 触发词匹配模式:smart(默认)= 含 CJK 的关键词保持子串匹配(\b 词边界
135
+ * 对非 [A-Za-z0-9_] 字符无定义,纯 CJK 词会永不命中),纯 ASCII 词用词
136
+ * 边界匹配——避免 "goalish"/"goalie" 命中 "goal"、"refork" 命中 "fork"
137
+ * 这类常见英文词的子串误触发;substring = 一律子串(0.7.2 及以前的行为);
138
+ * word = 一律词边界(ASCII 字母/数字/下划线之外的位置视为边界,CJK 词
139
+ * 也可用)。
140
+ */
141
+ keywordMatchMode: 'smart',
132
142
  /**
133
143
  * 常驻上下文抑制(0.5.0):true = 整个会话剥离自动注入上下文
134
144
  * (skill-catalog 技能目录提醒、agent-instructions AGENTS.md 摘要);
@@ -214,10 +224,13 @@ export const DEFAULT_CONFIG = {
214
224
  function boolValue(value, fallback) {
215
225
  return typeof value === 'boolean' ? value : fallback;
216
226
  }
227
+ /** 归一化字符串列表。显式数组(含空数组)是合法配置值,原样保留(仅过滤
228
+ * 非 string/空白项)——否则用户无法通过设置页清空 presets / bootstrap.tools
229
+ * 等列表(清空保存后会被悄悄替换回默认值)。回退默认仅用于非数组输入,或
230
+ * 字符串按分隔符解析后为空的情况。 */
217
231
  function stringList(value, fallback) {
218
232
  if (Array.isArray(value)) {
219
- const out = value.filter((v) => typeof v === 'string' && v.trim().length > 0).map((v) => v.trim());
220
- return out.length > 0 ? out : fallback;
233
+ return value.filter((v) => typeof v === 'string' && v.trim().length > 0).map((v) => v.trim());
221
234
  }
222
235
  if (typeof value === 'string') {
223
236
  const out = value.split(/[,,\s]+/).filter((v) => v.length > 0);
@@ -225,7 +238,8 @@ function stringList(value, fallback) {
225
238
  }
226
239
  return fallback;
227
240
  }
228
- /** 与 stringList 相同,但显式空数组保持为空(语义是有意义的配置值)。 */
241
+ /** 与 stringList 相同,但 undefined 之外的一切输入都不回退默认(显式空数组、
242
+ * 清空的字符串都保持为空——suppressedContextSources 的"留空=不剥离"语义)。 */
229
243
  function stringListOrEmpty(value, fallback) {
230
244
  if (value === undefined)
231
245
  return fallback;
@@ -239,7 +253,7 @@ export function normalizeConfig(source, defaults = DEFAULT_CONFIG) {
239
253
  ? raw.families
240
254
  : defaults.families;
241
255
  for (const [id, fam] of Object.entries(defaults.families)) {
242
- const candidate = rawFamilies[id] !== null && typeof rawFamilies[id] === 'object' && !Array.isArray(rawFamilies[id])
256
+ const candidate = rawFamilies[id] !== null && typeof rawFamilies[id] === 'object' && Array.isArray(rawFamilies[id]) === false
243
257
  ? rawFamilies[id]
244
258
  : fam;
245
259
  families[id] = {
@@ -248,6 +262,19 @@ export function normalizeConfig(source, defaults = DEFAULT_CONFIG) {
248
262
  keywords: stringList(candidate.keywords, fam.keywords),
249
263
  };
250
264
  }
265
+ // 自定义工具族(UI 与 validateConfig 都允许任意 id):不合并进来的话,
266
+ // 用户在设置页新建的族会"保存成功"却被静默丢弃,永不生效。
267
+ for (const [id, cand] of Object.entries(rawFamilies)) {
268
+ if (Object.prototype.hasOwnProperty.call(defaults.families, id))
269
+ continue;
270
+ if (cand === null || typeof cand !== 'object' || Array.isArray(cand))
271
+ continue;
272
+ families[id] = {
273
+ enabled: boolValue(cand.enabled, true),
274
+ tools: stringList(cand.tools, []),
275
+ keywords: stringList(cand.keywords, []),
276
+ };
277
+ }
251
278
  const rawBootstrap = raw.bootstrap !== null && typeof raw.bootstrap === 'object' && !Array.isArray(raw.bootstrap)
252
279
  ? raw.bootstrap
253
280
  : defaults.bootstrap;
@@ -282,6 +309,7 @@ export function normalizeConfig(source, defaults = DEFAULT_CONFIG) {
282
309
  leanByDefault: boolValue(merged.leanByDefault, defaults.leanByDefault),
283
310
  escalateOnKeyword: boolValue(merged.escalateOnKeyword, defaults.escalateOnKeyword),
284
311
  escalateOnUnknownTool: boolValue(merged.escalateOnUnknownTool, defaults.escalateOnUnknownTool),
312
+ keywordMatchMode: MATCH_MODES.includes(raw.keywordMatchMode) ? raw.keywordMatchMode : defaults.keywordMatchMode,
285
313
  suppressInjectedContext: boolValue(merged.suppressInjectedContext, defaults.suppressInjectedContext),
286
314
  coreTools: stringList(merged.coreTools, defaults.coreTools),
287
315
  families,
@@ -290,6 +318,7 @@ export function normalizeConfig(source, defaults = DEFAULT_CONFIG) {
290
318
  };
291
319
  }
292
320
  /** remote.set 的严格校验:非法值直接拒绝并返回错误,而不是静默写坏文件。 */
321
+ export const MATCH_MODES = ['smart', 'substring', 'word'];
293
322
  export function validateConfig(partial) {
294
323
  if (partial === null || typeof partial !== 'object' || Array.isArray(partial)) {
295
324
  throw new TypeError('adaptive-perf config must be a plain object');
@@ -301,6 +330,9 @@ export function validateConfig(partial) {
301
330
  throw new TypeError(`adaptive-perf config field "${key}" must be a boolean`);
302
331
  }
303
332
  }
333
+ if (partial.keywordMatchMode !== void 0 && !MATCH_MODES.includes(partial.keywordMatchMode)) {
334
+ throw new TypeError(`adaptive-perf config field "keywordMatchMode" must be one of ${MATCH_MODES.map((m) => `"${m}"`).join(' | ')}`);
335
+ }
304
336
  for (const key of ['presets', 'coreTools']) {
305
337
  if (partial[key] !== void 0 && !(Array.isArray(partial[key]) && partial[key].every((v) => typeof v === 'string'))) {
306
338
  throw new TypeError(`adaptive-perf config field "${key}" must be an array of strings`);
@@ -386,12 +418,41 @@ export function extractUserText(message) {
386
418
  }
387
419
  return text;
388
420
  }
389
- /** 大小写不敏感的子串匹配:任一关键词命中即返回 true。 */
390
- export function matchKeywords(text, keywords) {
421
+ /** CJK 文字(日文假名 / 汉字扩展区与基本区 / 韩文谚文)。 */
422
+ const CJK_CHAR = /[\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uac00-\ud7af]/;
423
+ function escapeRegExp(text) {
424
+ return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
425
+ }
426
+ /**
427
+ * 单个关键词是否命中。边界判定用 lookaround(`(?<![A-Za-z0-9_])kw(?![A-Za-z0-9_])`)
428
+ * 而不是 `\b`:`\b` 只在 \w 与非 \w 之间成立,纯 CJK 关键词两侧/内部不存在
429
+ * 这样的过渡,`\b子代理\b` 会永不命中;lookaround 对 "的子代理"(CJK 相邻)、
430
+ * "goal"(英文整词)、"goalish"(词中子串,拒绝)给出一致且可预期的语义。
431
+ */
432
+ function keywordHits(loweredText, keyword, mode) {
433
+ const kw = keyword.toLowerCase();
434
+ if (mode === 'substring')
435
+ return loweredText.includes(kw);
436
+ const bounded = new RegExp(`(?<![a-z0-9_])${escapeRegExp(kw)}(?![a-z0-9_])`).test(loweredText);
437
+ if (mode === 'word')
438
+ return bounded;
439
+ // smart:含 CJK 的触发词保持子串匹配(中文没有词边界概念,"子代理"这类
440
+ // 词在自然语句里就该命中);纯 ASCII 词用词边界——'goal'/'fork' 这类常见
441
+ // 英文词若用子串匹配,陈述句里的 goalish/refork 都会误触发放行。
442
+ return CJK_CHAR.test(kw) ? loweredText.includes(kw) : bounded;
443
+ }
444
+ /**
445
+ * 大小写不敏感的关键词匹配:任一关键词命中即返回 true。
446
+ * @param mode - 'smart'(默认)/ 'substring' / 'word',见 DEFAULT_CONFIG.keywordMatchMode。
447
+ */
448
+ export function matchKeywords(text, keywords, mode = 'smart') {
391
449
  if (!Array.isArray(keywords) || keywords.length === 0)
392
450
  return false;
393
451
  const haystack = String(text ?? '').toLowerCase();
394
- return keywords.some((k) => typeof k === 'string' && k.length > 0 && haystack.includes(k.toLowerCase()));
452
+ if (haystack.length === 0)
453
+ return false;
454
+ const resolved = MATCH_MODES.includes(mode) ? mode : 'smart';
455
+ return keywords.some((k) => typeof k === 'string' && k.length > 0 && keywordHits(haystack, k, resolved));
395
456
  }
396
457
  /** 收集一次工具调用失败的模型可见文本(error 字段 + content 文本块)。 */
397
458
  export function collectFailureText(result) {
@@ -540,7 +601,6 @@ export const PROMOTE_EVENTS = {
540
601
  either: ['tool/call', 'assistant/message'],
541
602
  };
542
603
  /**
543
- /**
544
604
  * dev_tool_search:搜索完整可见目录并按名解锁工具(解锁结果下一请求生效,
545
605
  * 经 syncBootstrap 重算 deny 集;解锁记录写入 a.unlocked,resume-safe 由
546
606
  * loadUnlockedFromEvents 从持久事件恢复)。
@@ -627,7 +687,8 @@ export function createDevToolSearch({ schemasOf, onUnlock, catalogHint }) {
627
687
  else {
628
688
  lines.push(`Matching tools (${matches.length}):`);
629
689
  for (const schema of matches) {
630
- const desc = String(schema.description || '').split('\n')[0] ?? ''.slice(0, 90);
690
+ // split 恒返回至少一个元素,[0] 运行时必定义;?? 仅用于 noUncheckedIndexedAccess。
691
+ const desc = (String(schema.description || '').split('\n')[0] ?? '').slice(0, 90);
631
692
  lines.push(`- ${schema.name}: ${desc}`);
632
693
  }
633
694
  lines.push('Unlock with dev_tool_search({"toolNames": ["<exact name>"]}).');
@@ -811,21 +872,14 @@ export function filterBootstrapTools(assembly, keep) {
811
872
  missing,
812
873
  };
813
874
  }
814
- /** source.kind 剥离自动注入的上下文消息(保留主动的用户消息)。 */
815
- export function filterBootstrapMessages(messages, suppressedSources) {
816
- if (!Array.isArray(messages) || suppressedSources.size === 0)
817
- return messages;
818
- const kept = messages.filter((message) => {
819
- const kind = message?.source?.kind;
820
- return typeof kind !== 'string' || !suppressedSources.has(kind);
821
- });
822
- return kept.length === messages.length ? messages : kept;
823
- }
824
- /** 首轮输出预算:未晋升 → 封顶;已晋升 → 若仍带着封顶值则剥离。 */
825
- export function applyBootstrapBudget(config, promoted, maxTokens) {
875
+ /** 首轮输出预算:未晋升 封顶;已晋升 → 若仍带着封顶值则剥离。
876
+ * 剥离条件是"值等于当前配置的 cap 或本会话曾写入过的任何旧 cap":
877
+ * 用户在晋升前后改过 cap 的话,header 里残留的是旧值,只比对当前值
878
+ * 会永远剥不掉,会话将永久带着过期封顶。 */
879
+ export function applyBootstrapBudget(config, promoted, maxTokens, previousCaps = []) {
826
880
  if (!promoted)
827
881
  return { ...config, maxTokens };
828
- if (config?.maxTokens === maxTokens) {
882
+ if ([maxTokens, ...previousCaps].includes(config?.maxTokens)) {
829
883
  const { maxTokens: _drop, ...rest } = config;
830
884
  return rest;
831
885
  }
@@ -929,16 +983,34 @@ export async function apply(ctx, config, options = {}) {
929
983
  ctx.logger?.info?.(`adaptive-perf: ${message}`);
930
984
  }
931
985
  catch { } };
932
- /** 该会话是否为目标 preset */
986
+ /** preset lookup 失败的全局告警上限:pre-step 每条消息都会探测未接管会话,
987
+ * 宿主服务长期故障时不能每条消息刷一条 warn。 */
988
+ let presetLookupWarnings = 0;
989
+ const warnPresetLookup = (agentId, error) => {
990
+ if (presetLookupWarnings >= 20)
991
+ return;
992
+ presetLookupWarnings++;
993
+ warn(`preset lookup failed for agent ${agentId}: ${error?.message ?? String(error)}`);
994
+ };
995
+ /**
996
+ * 该会话是否为目标 preset。已接管会话直接返回 true(进入 agents 的前提
997
+ * 就是接管时通过了目标判定,而 preset 由 agent.ctx 的 standing mount 决定、
998
+ * 与会话绑定、生命周期内不变)——pre-step 每条消息都会调用本函数,不应
999
+ * 重复走 composedPreset。未接管会话实时判断,让热更新新增 preset 后的
1000
+ * sweep 能发现新目标。
1001
+ */
933
1002
  function isTarget(agent) {
934
1003
  if (!cfg.enabled)
935
1004
  return false;
1005
+ const state = agent !== null && typeof agent === 'object' ? agents.get(agent.id) : void 0;
1006
+ if (state !== void 0)
1007
+ return true;
936
1008
  try {
937
1009
  const presetId = agentPresets.composedPreset(agent.ctx);
938
1010
  return presetId !== void 0 && cfg.presets.includes(presetId);
939
1011
  }
940
1012
  catch (error) {
941
- warn(`preset lookup failed for agent ${agent.id}: ${error?.message ?? String(error)}`);
1013
+ warnPresetLookup(agent?.id, error);
942
1014
  return false;
943
1015
  }
944
1016
  }
@@ -1067,6 +1139,10 @@ export async function apply(ctx, config, options = {}) {
1067
1139
  catch { }
1068
1140
  a.familyDisposers.delete(familyId);
1069
1141
  }
1142
+ // 族 restrict 释放后还须重算 bootstrap deny:两层 restrict 取交集,
1143
+ // 不重算的话升级信号对 bootstrap 阶段的会话完全无效。幂等由
1144
+ // bootstrapKey 保证(keep 变化才会重挂)。
1145
+ syncBootstrap(a);
1070
1146
  info(`agent ${a.agent.id}: escalated family "${familyId}" (${trigger})`);
1071
1147
  }
1072
1148
  /** 从持久事件恢复 dev_tool_search 已解锁的工具(resume-safe)。 */
@@ -1106,6 +1182,15 @@ export async function apply(ctx, config, options = {}) {
1106
1182
  * 时静默降级:不挂载,退回旧行为(仅收窄目录)。
1107
1183
  */
1108
1184
  function syncRealPair(a) {
1185
+ const active = cfg.enabled && cfg.bootstrap.enabled && cfg.bootstrap.realPair
1186
+ && realPairModules !== null && process.platform !== 'win32';
1187
+ // 幂等键:onUpdate 对每个活跃会话都会调用本函数,若无条件销毁重建,
1188
+ // 改任何无关开关都会杀掉持久 PTY bash 的工作目录/环境变量/后台进程。
1189
+ // 期望态未变化时直接跳过(与 syncBootstrap 的 bootstrapKey 同一模式)。
1190
+ const cwd = a.agent.session?.header?.cwd ?? null;
1191
+ const key = active ? 'on:' + String(cwd) : 'off';
1192
+ if (a.realPairKey === key)
1193
+ return;
1109
1194
  for (const dispose of a.realPairDisposers) {
1110
1195
  try {
1111
1196
  dispose();
@@ -1113,16 +1198,15 @@ export async function apply(ctx, config, options = {}) {
1113
1198
  catch { }
1114
1199
  }
1115
1200
  a.realPairDisposers = [];
1116
- const active = cfg.enabled && cfg.bootstrap.enabled && cfg.bootstrap.realPair
1117
- && realPairModules !== null && process.platform !== 'win32';
1118
1201
  if (active) {
1119
- const mounts = realPairMounts(realPairModules, a.agent.session?.header?.cwd);
1202
+ const mounts = realPairMounts(realPairModules, cwd);
1120
1203
  a.realPairDisposers = mountRealPair(a.agent, mounts, warn);
1121
1204
  if (a.realPairDisposers.length > 0) {
1122
1205
  info(`agent ${a.agent.id}: real Minimal tool pair mounted (${mounts.length} plugins)`);
1123
1206
  }
1124
1207
  }
1125
1208
  a.realPairActive = a.realPairDisposers.length > 0;
1209
+ a.realPairKey = key;
1126
1210
  }
1127
1211
  /**
1128
1212
  * 给目标 agent 注册 on-demand 发现工具(dsh-anchored-standard 的 resident
@@ -1172,7 +1256,15 @@ export async function apply(ctx, config, options = {}) {
1172
1256
  return createDevToolSearch({
1173
1257
  schemasOf: (exec) => {
1174
1258
  const agent = exec !== null && typeof exec === 'object' ? exec.agent : void 0;
1175
- return agent === void 0 ? [] : tools.schemas(agent);
1259
+ if (agent === void 0)
1260
+ return [];
1261
+ // 限制前快照的完整目录(含 description):宿主 schemas() 对
1262
+ // inherited 面应用 restrict,拿它当语料/校验源会让被隐藏工具
1263
+ // 永远搜不到、解不了锁。
1264
+ const state = agents.get(agent.id);
1265
+ if (state !== void 0)
1266
+ return state.catalog;
1267
+ return tools.schemas(agent);
1176
1268
  },
1177
1269
  onUnlock: async (names, exec) => {
1178
1270
  const agent = exec !== null && typeof exec === 'object' ? exec.agent : void 0;
@@ -1194,14 +1286,26 @@ export async function apply(ctx, config, options = {}) {
1194
1286
  }
1195
1287
  return null;
1196
1288
  }
1197
- /** 完整接管一个 agent(幂等)。 */
1289
+ /** 完整接管一个 agent(幂等)。preset 在这里判定一次并缓存进状态,
1290
+ * 之后 isTarget 对已接管会话走 O(1) 缓存路径。 */
1198
1291
  function handleAgent(agent) {
1199
1292
  if (agents.has(agent.id))
1200
1293
  return;
1201
- if (!isTarget(agent))
1294
+ if (!cfg.enabled)
1295
+ return;
1296
+ let presetId;
1297
+ try {
1298
+ presetId = agentPresets.composedPreset(agent.ctx);
1299
+ }
1300
+ catch (error) {
1301
+ warnPresetLookup(agent?.id, error);
1302
+ return;
1303
+ }
1304
+ if (presetId === void 0 || !cfg.presets.includes(presetId))
1202
1305
  return;
1203
1306
  const a = {
1204
1307
  agent,
1308
+ presetId,
1205
1309
  suppressDisposer: null,
1206
1310
  promptDisposers: [],
1207
1311
  familyDisposers: new Map(),
@@ -1209,17 +1313,27 @@ export async function apply(ctx, config, options = {}) {
1209
1313
  bootstrapKey: null,
1210
1314
  escalated: new Set(),
1211
1315
  visibleNames: new Set(),
1316
+ catalog: [],
1212
1317
  unlocked: new Set(),
1318
+ bootstrapCaps: [],
1319
+ realPairKey: null,
1213
1320
  toolDisposers: new Map(),
1214
1321
  realPairDisposers: [],
1215
1322
  realPairActive: false,
1216
1323
  };
1217
1324
  // 记录当前可见目录(限制前);仅记录真实存在的工具,后续 restrict 与
1218
1325
  // 实际目录取交集,preset 升级改名/删除工具不会让本插件崩溃。
1326
+ // catalog 同时保留 description:宿主 schemas() 返回 restrict 后的可见集,
1327
+ // dev_tool_search 的搜索语料与解锁校验必须用限制前的完整快照,否则被
1328
+ // 隐藏的工具永远无法被发现和解锁。
1219
1329
  try {
1220
1330
  for (const schema of tools.schemas(agent)) {
1221
1331
  if (schema !== null && typeof schema === 'object' && typeof schema.name === 'string') {
1222
1332
  a.visibleNames.add(schema.name);
1333
+ a.catalog.push({
1334
+ name: schema.name,
1335
+ description: typeof schema.description === 'string' ? schema.description : '',
1336
+ });
1223
1337
  }
1224
1338
  }
1225
1339
  }
@@ -1233,7 +1347,7 @@ export async function apply(ctx, config, options = {}) {
1233
1347
  applyMinimalPrompt(a);
1234
1348
  applyFamilies(a);
1235
1349
  syncBootstrap(a);
1236
- info(`agent ${agent.id}: adaptive-perf active (preset ${String(agentPresets.composedPreset(agent.ctx))})`);
1350
+ info(`agent ${agent.id}: adaptive-perf active (preset ${String(presetId)})`);
1237
1351
  }
1238
1352
  /** 释放一个 agent 的全部副作用。 */
1239
1353
  function releaseAgent(agentId) {
@@ -1303,7 +1417,7 @@ export async function apply(ctx, config, options = {}) {
1303
1417
  for (const [id, family] of Object.entries(cfg.families)) {
1304
1418
  if (a.escalated.has(id) || family.enabled === false)
1305
1419
  continue;
1306
- if (matchKeywords(text, family.keywords))
1420
+ if (matchKeywords(text, family.keywords, cfg.keywordMatchMode))
1307
1421
  escalate(a, id, 'keyword');
1308
1422
  }
1309
1423
  });
@@ -1400,6 +1514,15 @@ export async function apply(ctx, config, options = {}) {
1400
1514
  const keep = new Set(cfg.bootstrap.tools);
1401
1515
  if (a.visibleNames.has('run_code'))
1402
1516
  keep.add('run_code');
1517
+ // 已升级族覆盖的工具并入 keep:族 restrict 虽已释放,但宿主对多层
1518
+ // restrict 取交集,bootstrap deny 若仍含这些名字,放行信号等于无效。
1519
+ for (const familyId of a.escalated) {
1520
+ const family = cfg.families?.[familyId];
1521
+ if (family === void 0)
1522
+ continue;
1523
+ for (const name of familyDeny(a, family))
1524
+ keep.add(name);
1525
+ }
1403
1526
  if (phase.promoted) {
1404
1527
  for (const name of cfg.bootstrap.discoveryTools)
1405
1528
  keep.add(name);
@@ -1453,11 +1576,23 @@ export async function apply(ctx, config, options = {}) {
1453
1576
  }
1454
1577
  }
1455
1578
  });
1579
+ /** suppressedContextSources 的 Set 缓存(按内容键):pre-step 每条消息
1580
+ * 都要用,不应每次重建。内容键同时覆盖 cfg 对象整体替换与数组原地变更。 */
1581
+ let suppressedSetCache = null;
1582
+ function suppressedContextSet() {
1583
+ const sources = cfg.bootstrap.suppressedContextSources;
1584
+ const key = Array.isArray(sources) ? sources.join('\u0000') : String(sources);
1585
+ if (suppressedSetCache === null || suppressedSetCache.key !== key) {
1586
+ suppressedSetCache = { key, set: new Set(Array.isArray(sources) ? sources : []) };
1587
+ }
1588
+ return suppressedSetCache.set;
1589
+ }
1456
1590
  // 上下文剥离(首轮锚定的注入部分)。prepend + 根作用域注册保证是
1457
1591
  // 最后一道变换(后注册的注入者无法再补回)。
1458
- // 剥离条件:bootstrap 未晋升(首轮剥离)或常驻抑制开启
1459
- // suppressInjectedContext,0.7.0 默认开启:晋升后注入保持剥离,
1460
- // 由常驻发现工具承担功能可见性)。
1592
+ // 剥离条件:bootstrap 启用且(未晋升——首轮剥离,或常驻抑制开启——
1593
+ // suppressInjectedContext,0.7.0 默认开启:晋升后注入保持剥离,由常驻
1594
+ // 发现工具承担功能可见性)。bootstrap 关闭时注入上下文永不剥离——否则
1595
+ // 该组合下既剥离注入、又不注册任何发现工具,功能可见性无人承担。
1461
1596
  ctx.on('agent/pre-step', async ({ agent }, next) => {
1462
1597
  const decision = await next();
1463
1598
  if (decision === null || typeof decision !== 'object' || decision.kind === 'reject')
@@ -1466,10 +1601,10 @@ export async function apply(ctx, config, options = {}) {
1466
1601
  if (!cfg.enabled || !isTarget(agent))
1467
1602
  return decision;
1468
1603
  const phase = bootstrapPhaseOf(agent);
1469
- const suppressed = new Set(cfg.bootstrap.suppressedContextSources);
1604
+ const suppressed = suppressedContextSet();
1470
1605
  if (suppressed.size === 0)
1471
1606
  return decision;
1472
- const stripActive = (cfg.bootstrap.enabled && !phase.promoted) || cfg.suppressInjectedContext;
1607
+ const stripActive = cfg.bootstrap.enabled && (!phase.promoted || cfg.suppressInjectedContext);
1473
1608
  if (!stripActive || !Array.isArray(decision.messages))
1474
1609
  return decision;
1475
1610
  const kept = stripSuppressedMessages(decision.messages, suppressed);
@@ -1482,21 +1617,33 @@ export async function apply(ctx, config, options = {}) {
1482
1617
  }
1483
1618
  }, { prepend: true });
1484
1619
  // 可选:请求 #1 输出预算封顶(晋升后剥离,避免封顶沿 header 种子延续)。
1485
- if (cfg.bootstrap.maxTokens > 0) {
1486
- ctx.on('agent/request', async ({ agent }, next) => {
1487
- const resolved = await next();
1488
- try {
1489
- if (!bootstrapActiveFor(agent))
1490
- return resolved;
1491
- const phase = bootstrapPhaseOf(agent);
1492
- return applyBootstrapBudget(resolved, phase.promoted, cfg.bootstrap.maxTokens);
1493
- }
1494
- catch (error) {
1495
- warnBootstrapOnce(`bootstrap budget filter failed: ${String(error?.message ?? String(error))}`);
1620
+ // 监听器恒注册、回调内按实时配置分支:安装时 maxTokens=0 之后热更新成
1621
+ // >0 也要生效(条件注册会让它静默失效);N→0 则必须从请求里剥掉字段
1622
+ // 而不是注入 0(宿主只把 void 0 视为缺省,显式 0 会原样进适配器)
1623
+ ctx.on('agent/request', async ({ agent }, next) => {
1624
+ const resolved = await next();
1625
+ try {
1626
+ if (!bootstrapActiveFor(agent))
1496
1627
  return resolved;
1628
+ const phase = bootstrapPhaseOf(agent);
1629
+ const state = agents.get(agent.id);
1630
+ const cap = cfg.bootstrap.maxTokens;
1631
+ if (!phase.promoted) {
1632
+ if (cap <= 0)
1633
+ return applyBootstrapBudget(resolved, true, cap);
1634
+ if (state !== void 0 && state.bootstrapCaps[state.bootstrapCaps.length - 1] !== cap) {
1635
+ state.bootstrapCaps.push(cap);
1636
+ }
1637
+ return applyBootstrapBudget(resolved, false, cap);
1497
1638
  }
1498
- }, { prepend: true });
1499
- }
1639
+ // 晋升后剥离本插件曾写入过的任何 cap(含热更新前的旧值)
1640
+ return applyBootstrapBudget(resolved, true, cap, state !== void 0 ? state.bootstrapCaps : []);
1641
+ }
1642
+ catch (error) {
1643
+ warnBootstrapOnce(`bootstrap budget filter failed: ${String(error?.message ?? String(error))}`);
1644
+ return resolved;
1645
+ }
1646
+ }, { prepend: true });
1500
1647
  // 已运行会话补挂(插件热重载/重装时)。
1501
1648
  if (agentsService !== void 0 && typeof agentsService.list === 'function') {
1502
1649
  try {
@@ -1516,7 +1663,15 @@ export async function apply(ctx, config, options = {}) {
1516
1663
  validate: validateConfig,
1517
1664
  warn,
1518
1665
  onUpdate: (merged) => {
1666
+ const prevPromoteOn = cfg.bootstrap.promoteOn;
1519
1667
  cfg = normalizeConfig({ ...patchConfig, ...merged });
1668
+ if (cfg.bootstrap.promoteOn !== prevPromoteOn) {
1669
+ // 旧 phase 条目缓存了按旧 promoteOn 解析的触发事件集,增量观察会
1670
+ // 继续沿用;清空后由 bootstrapPhaseOf 按新配置从持久日志全量重建
1671
+ // (scanPhase 推导,已晋升会话不受影响——晋升是持久信号)。
1672
+ bootstrapState.clear();
1673
+ info(`bootstrap.promoteOn changed to "${cfg.bootstrap.promoteOn}"; bootstrap phase cache rebuilt`);
1674
+ }
1520
1675
  info('config hot-updated; recomputing restrictions for live agents');
1521
1676
  // realPair 从关闭切到开启:补加载官方模块(首次尝试失败不反复重试)。
1522
1677
  ensureRealPairModules();
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/remote.d.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * typert-protocol 惰性加载:npm 模式从包内 node_modules 解析;file:// 模式
10
10
  * (~/.dsh/plugins/)从 harness 的 profile 依赖树解析。两者都不可用时
11
- * 模块加载失败,由 index.mjs 的动态 import 捕获——核心功能不受影响,
11
+ * 模块加载失败,由 index.ts 的动态 import 捕获——核心功能不受影响,
12
12
  * 仅设置页 UI 的配置读写不可用。
13
13
  */
14
14
  import type { Context } from "@deepseek-ai/cordis";
package/lib/remote.js CHANGED
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * typert-protocol 惰性加载:npm 模式从包内 node_modules 解析;file:// 模式
10
10
  * (~/.dsh/plugins/)从 harness 的 profile 依赖树解析。两者都不可用时
11
- * 模块加载失败,由 index.mjs 的动态 import 捕获——核心功能不受影响,
11
+ * 模块加载失败,由 index.ts 的动态 import 捕获——核心功能不受影响,
12
12
  * 仅设置页 UI 的配置读写不可用。
13
13
  */
14
14
  import { createRequire } from "node:module";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chaoset/adaptive-perf",
3
- "version": "0.7.2",
3
+ "version": "0.8.0",
4
4
  "description": "DSH host plugin: bring standard / PTC presets to minimal-mode-level performance — real Minimal tool pair, permanent injected-context suppression with on-demand discovery, runtime-context suppression, and adaptive tool-catalog trimming with demand-driven escalation",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -53,5 +53,8 @@
53
53
  },
54
54
  "publishConfig": {
55
55
  "access": "public"
56
+ },
57
+ "engines": {
58
+ "node": ">=22.19.0"
56
59
  }
57
60
  }