@daweifu/capability-menu 0.1.2 → 0.1.3

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/lib/registry.js CHANGED
@@ -6,28 +6,22 @@
6
6
  import z from '@deepseek-ai/schemastery';
7
7
  import { isModelInvocable } from '@deepseek-ai/dsh-skill';
8
8
  import yaml from 'js-yaml';
9
- import { readFile, readdir, stat, writeFile } from 'node:fs/promises';
9
+ import { readFile, readdir, realpath, stat, writeFile } from 'node:fs/promises';
10
10
  import { homedir } from 'node:os';
11
11
  import { dirname, join, resolve, sep } from 'node:path';
12
- /**
13
- * Tool id prefixes are part of the REAL registered tool name: MCP tools are
14
- * registered as `mcp__<server>__<raw>` by the harness MCP client and natives
15
- * keep their bare name (`bash`/`read`/…), so tool records are keyed by that
16
- * name. Skills have no name-level namespace: a skill's id IS its bare name and
17
- * `kind` disambiguates it from a same-named tool.
18
- */
19
- export const MCP_ID_PREFIX = 'mcp__';
20
- /**
21
- * Reserved pseudo-server that groups harness-native (non-MCP) tools in the
22
- * management surface. Native tools (bash/read/write/…) are cataloged like MCP
23
- * tools — same `server` dimension — so the 能力管理 can group them, classify
24
- * them Resident/On-demand/Disabled, and `meta_invoke` can dispatch them.
25
- */
26
- export const BUILT_IN_SERVER = 'built-in';
12
+ import { BUILT_IN_SERVER, MCP_ID_PREFIX } from "./constants.js";
13
+ // Re-exported for the package's public surface (`/registry` subpath).
14
+ export { BUILT_IN_SERVER, MCP_ID_PREFIX };
27
15
  /**
28
16
  * Tool names that never enter the capability catalog: this plugin's own
29
17
  * control plane (`meta_search`/`meta_invoke`, always Resident) and the
30
18
  * reserved Code Mode presentation transport (`run_code`).
19
+ *
20
+ * Tool ids (the key everything else uses) are the REAL registered tool name:
21
+ * MCP tools are registered as `mcp__<server>__<raw>` by the harness MCP client
22
+ * and natives keep their bare name (`bash`/`read`/…). Skills have no
23
+ * name-level namespace: a skill's id IS its bare name and `kind` disambiguates
24
+ * it from a same-named tool.
31
25
  */
32
26
  export const CATALOG_EXCLUDED_TOOLS = new Set(['meta_search', 'meta_invoke', 'run_code']);
33
27
  /** Validate and default the registry configuration. */
@@ -39,6 +33,7 @@ export const Config = z.object({
39
33
  // schemastery object properties are optional-by-default: a missing key or
40
34
  // undefined value is accepted (no `meta.required`), so no `.optional()` needed.
41
35
  catalogFile: z.string(),
36
+ refreshDebounceMs: z.number().default(200),
42
37
  });
43
38
  function assertPositiveInteger(name, value, min) {
44
39
  if (!Number.isInteger(value) || value < min) {
@@ -50,6 +45,26 @@ function assertWeight(name, value) {
50
45
  throw new Error(`${name} must be a number in [0, 1]`);
51
46
  }
52
47
  }
48
+ /** True when `target` is `root` itself or sits below it. */
49
+ function isUnder(root, target) {
50
+ return target === root || target.startsWith(`${root}${sep}`);
51
+ }
52
+ /**
53
+ * Containment check for skill-directory access: `target` must stay inside
54
+ * `root`, both lexically (`resolve` already collapsed `..`) and physically —
55
+ * a symlink inside the skill directory must not lead out of it. Paths that do
56
+ * not exist yet cannot be resolved physically; those stay governed by the
57
+ * lexical check and the caller's own stat/read failure handling.
58
+ */
59
+ async function isInside(root, target) {
60
+ if (!isUnder(root, target))
61
+ return false;
62
+ const realRoot = await realpath(root).catch(() => undefined);
63
+ const realTarget = await realpath(target).catch(() => undefined);
64
+ if (realRoot === undefined || realTarget === undefined)
65
+ return true;
66
+ return isUnder(realRoot, realTarget);
67
+ }
53
68
  /** Trim a description to a model-friendly summary. */
54
69
  function toSummary(description, maxChars) {
55
70
  const collapsed = description.replace(/\s+/g, ' ').trim();
@@ -92,8 +107,10 @@ export function apply(ctx, config = {}) {
92
107
  const maxResults = config.maxResults ?? 20;
93
108
  const weighting = config.weighting ?? 0.1;
94
109
  const catalogFile = (config.catalogFile ?? join(homedir(), '.dsh', 'capability-catalog.yaml')).trim();
110
+ const refreshDebounceMs = config.refreshDebounceMs ?? 200;
95
111
  assertPositiveInteger('summaryMaxChars', summaryMaxChars, 20);
96
112
  assertPositiveInteger('maxResults', maxResults, 1);
113
+ assertPositiveInteger('refreshDebounceMs', refreshDebounceMs, 0);
97
114
  assertWeight('weighting', weighting);
98
115
  /** Tool records keyed by tool name (MCP tools plus native tools under `built-in`); skills keyed by bare skill name. */
99
116
  let toolRecords = new Map();
@@ -102,6 +119,8 @@ export function apply(ctx, config = {}) {
102
119
  let skillScopes = new Map();
103
120
  /** On-demand count of the latest catalog emission (0 until first write). */
104
121
  let onDemandCount = 0;
122
+ /** Last emitted catalog text, so an unchanged rebuild skips the write. */
123
+ let lastCatalogContent;
105
124
  const statsOf = (record) => record.stats;
106
125
  /**
107
126
  * Kind-aware record lookup. With `kind` only that table is consulted; without
@@ -138,26 +157,25 @@ export function apply(ctx, config = {}) {
138
157
  }
139
158
  return undefined;
140
159
  };
141
- /** Next-catalog accumulator shared by the global and preset-scope passes. */
142
- let nextToolRecords = new Map();
143
160
  /**
144
- * Index one visible tool schema into the next catalog, deduped by name.
161
+ * Index one visible tool schema into `next`, the accumulator owned by the
162
+ * current rebuild pass, deduped by name.
145
163
  * 全部可见工具都进编目,仅排除 meta_search/meta_invoke(本插件控制面,
146
164
  * 恒常驻)与 run_code(Code Mode 保留传输层)。mcp__ 工具按真实 server
147
165
  * 分组;原生工具(无 mcp__ 前缀)统一归入保留的 built-in server,使能力
148
166
  * 菜单能统一按 server 分组、三档管理,meta_invoke 也能派发它们。
149
167
  * A schema may surface from several preset scope views; the first wins.
150
168
  */
151
- const indexToolSchema = (schema) => {
169
+ const indexToolSchema = (next, schema) => {
152
170
  if (CATALOG_EXCLUDED_TOOLS.has(schema.name))
153
171
  return;
154
- if (nextToolRecords.has(schema.name))
172
+ if (next.has(schema.name))
155
173
  return;
156
174
  const existing = toolRecords.get(schema.name);
157
175
  const stats = existing?.stats ?? { uses: 0, successes: 0, failures: 0, totalMs: 0 };
158
176
  const isMcp = schema.name.startsWith(MCP_ID_PREFIX);
159
177
  const serverName = isMcp ? serverNameOf(schema.name) : BUILT_IN_SERVER;
160
- nextToolRecords.set(schema.name, {
178
+ next.set(schema.name, {
161
179
  id: schema.name,
162
180
  kind: 'tool',
163
181
  actions: ['execute'],
@@ -182,13 +200,15 @@ export function apply(ctx, config = {}) {
182
200
  */
183
201
  // Rebuilds can overlap (eager mount-time run vs. a change-event refresh);
184
202
  // the epoch guard drops a superseded run so its older snapshot never
185
- // clobbers a newer one.
203
+ // clobbers a newer one. The accumulator is local to each run for the same
204
+ // reason: a shared one would be reset by the newer run mid-flight, letting
205
+ // the older run publish a partial catalog when it wins the epoch check.
186
206
  let toolIndexEpoch = 0;
187
207
  const rebuildTools = async () => {
188
208
  const epoch = ++toolIndexEpoch;
189
- nextToolRecords = new Map();
209
+ const nextToolRecords = new Map();
190
210
  for (const schema of ctx.tools.schemas())
191
- indexToolSchema(schema);
211
+ indexToolSchema(nextToolRecords, schema);
192
212
  const agentPresets = ctx.get('agentPresets');
193
213
  if (agentPresets !== undefined) {
194
214
  let presets = [];
@@ -204,7 +224,7 @@ export function apply(ctx, config = {}) {
204
224
  try {
205
225
  const scope = await agentPresets.standingKeyFor(preset.id);
206
226
  for (const schema of ctx.tools.schemas(scope))
207
- indexToolSchema(schema);
227
+ indexToolSchema(nextToolRecords, schema);
208
228
  }
209
229
  catch (error) {
210
230
  ctx.logger.warn(`meta-registry: preset "${preset.id}" tool scope unavailable: ${String(error)}`);
@@ -222,8 +242,13 @@ export function apply(ctx, config = {}) {
222
242
  * registers into that preset's layer, so the host-plane global read alone
223
243
  * sees nothing). The management catalog enumerates the global layer and then
224
244
  * every mountable preset's standing scope, so preset-scoped skills surface.
245
+ *
246
+ * Same epoch guard as the tool side: overlapping refreshes resolve out of
247
+ * order, and a stale snapshot must not overwrite a newer one.
225
248
  */
249
+ let skillIndexEpoch = 0;
226
250
  const refreshSkills = async () => {
251
+ const epoch = ++skillIndexEpoch;
227
252
  const nextSkills = new Map();
228
253
  const nextSkillScopes = new Map();
229
254
  const indexSkill = (skill, scope) => {
@@ -242,9 +267,12 @@ export function apply(ctx, config = {}) {
242
267
  origin: {
243
268
  provider: skill.provider,
244
269
  ...typeof skill.source === 'string' ? { source: skill.source } : {},
270
+ // The skill's own directory, when its provider has one. It is what lets
271
+ // the location manager address project-scoped skills for edit/remove.
272
+ ...skill.resourceBase?.kind === 'directory' ? { path: skill.resourceBase.path } : {},
245
273
  },
246
274
  parameters: { type: 'object', properties: {}, additionalProperties: false },
247
- invocation: { modelInvocable: true, userInvocable: skill.invocation.userInvocable },
275
+ invocation: { modelInvocable: skill.invocation.modelInvocable, userInvocable: skill.invocation.userInvocable },
248
276
  tags: [skill.provider, 'skill'],
249
277
  stats,
250
278
  summary: toSummary(skill.description, summaryMaxChars),
@@ -289,6 +317,8 @@ export function apply(ctx, config = {}) {
289
317
  }
290
318
  }
291
319
  }
320
+ if (epoch !== skillIndexEpoch)
321
+ return;
292
322
  skillRecords = nextSkills;
293
323
  skillScopes = nextSkillScopes;
294
324
  };
@@ -320,23 +350,179 @@ export function apply(ctx, config = {}) {
320
350
  ...record.origin.serverName !== undefined ? { server: record.origin.serverName } : {},
321
351
  }));
322
352
  onDemandCount = onDemand.length;
353
+ const content = yaml.dump({ capabilities: onDemand });
354
+ // A rebuild that changed nothing must not touch the disk: at debounce rate
355
+ // this was rewriting the file several times a second.
356
+ if (content === lastCatalogContent)
357
+ return;
323
358
  try {
324
- await writeFile(catalogFile, yaml.dump({ capabilities: onDemand }), 'utf8');
359
+ await writeFile(catalogFile, content, 'utf8');
360
+ lastCatalogContent = content;
325
361
  }
326
362
  catch (error) {
327
363
  ctx.logger.warn(`capability-registry: on-demand catalog write failed (${catalogFile}): ${String(error)}`);
328
364
  }
329
365
  };
330
- /** Refresh the whole catalog: tools and skills, then re-emit the YAML. */
366
+ // --- Refresh scheduling --------------------------------------------------
367
+ // Change events (`tools/change` / `skills/change`) arrive in bursts: the
368
+ // skill/preset lifecycle invalidates caches and re-registers providers in
369
+ // quick succession, and a rebuild's own registry access can emit further
370
+ // change events. Rebuilding once per event produced an unbounded CPU storm
371
+ // (a full preset re-scan per event), so the scheduler:
372
+ // 1. runs at most one rebuild at a time (single flight);
373
+ // 2. coalesces every event landing during a run into at most one
374
+ // debounced follow-up rebuild;
375
+ // 3. lets an explicit `refresh()` await the rebuild chain covering its own
376
+ // call, so callers never observe a stale (or empty) catalog.
377
+ // The epoch guards inside `rebuildTools`/`refreshSkills` stay as the last
378
+ // line of defence for concurrent correctness.
379
+ /** Monotonic count of rebuild requests received (events + explicit calls). */
380
+ let eventSeq = 0;
381
+ /** The `eventSeq` value fully applied by the last completed rebuild. */
382
+ let appliedSeq = 0;
383
+ let rebuilding = false;
384
+ let stopped = false;
385
+ let timer;
386
+ const waiters = [];
387
+ /** Resolve every waiter whose snapshot is already covered by `appliedSeq`. */
388
+ const settleWaiters = () => {
389
+ if (waiters.length === 0)
390
+ return;
391
+ const ready = waiters.filter(waiter => waiter.seq <= appliedSeq);
392
+ if (ready.length === 0)
393
+ return;
394
+ for (const waiter of ready)
395
+ waiters.splice(waiters.indexOf(waiter), 1);
396
+ for (const waiter of ready)
397
+ waiter.resolve();
398
+ };
399
+ /**
400
+ * Consecutive rebuilds that reproduced the previous catalog. A noisy event
401
+ * stream that never changes anything (session re-registrations, the skill
402
+ * watcher) would otherwise keep the scheduler at the debounce rate, and each
403
+ * rebuild re-enumerates every preset's tools and skills — measured at ~1.5s
404
+ * CPU each, enough to starve the event loop and stall unrelated UI calls.
405
+ */
406
+ let idleStreak = 0;
407
+ /** Upper bound for the backoff, so a real change is never pending long. */
408
+ const BACKOFF_MAX_MS = 10_000;
409
+ const currentDelay = () => {
410
+ // The ceiling can never fall below the configured base, or a large
411
+ // `refreshDebounceMs` would be clamped *down* into a faster schedule.
412
+ const ceiling = Math.max(BACKOFF_MAX_MS, refreshDebounceMs);
413
+ return Math.min(refreshDebounceMs * 2 ** idleStreak, ceiling);
414
+ };
415
+ /** Queue a coalesced rebuild after the (possibly backed-off) window. */
416
+ const schedule = () => {
417
+ if (stopped || rebuilding || timer !== undefined)
418
+ return;
419
+ timer = setTimeout(() => {
420
+ timer = undefined;
421
+ if (stopped || rebuilding)
422
+ return;
423
+ void runRebuild();
424
+ }, currentDelay());
425
+ };
426
+ /**
427
+ * Fingerprint of the indexed catalog — capability ids only, order-insensitive.
428
+ * Used to tell a rebuild that found something new from one that merely
429
+ * reproduced the previous catalog.
430
+ */
431
+ const catalogSignature = () => {
432
+ const ids = [];
433
+ for (const id of toolRecords.keys())
434
+ ids.push(`t:${id}`);
435
+ for (const id of skillRecords.keys())
436
+ ids.push(`s:${id}`);
437
+ ids.sort();
438
+ return ids.join('\u0000');
439
+ };
440
+ let lastSignature;
441
+ /** Consecutive follow-up runs that reproduced the previous catalog. */
442
+ let unchangedChain = 0;
443
+ /** One full rebuild; never rejects (a failed run must not hang waiters). */
444
+ const runRebuild = async () => {
445
+ rebuilding = true;
446
+ // Every request received so far is covered by this run.
447
+ const seqAtStart = eventSeq;
448
+ const startedAt = Date.now();
449
+ try {
450
+ await rebuildTools();
451
+ await refreshSkills();
452
+ await writeCatalog();
453
+ }
454
+ catch (error) {
455
+ ctx.logger.warn(`capability-registry: catalog rebuild failed: ${String(error)}`);
456
+ }
457
+ finally {
458
+ rebuilding = false;
459
+ if (seqAtStart > appliedSeq)
460
+ appliedSeq = seqAtStart;
461
+ settleWaiters();
462
+ // Requests that landed mid-run are not covered yet, so chain a
463
+ // follow-up — but never indefinitely. Two runs in a row that reproduce
464
+ // the same catalog mean the pending events carried no new capability:
465
+ // our own registry reads can emit change events, and dsh's skill watcher
466
+ // can stream them, so chaining on would spin at the debounce rate
467
+ // forever. One follow-up is still allowed before stopping, because a
468
+ // real change that lands mid-run is only visible to the *next* run.
469
+ const signature = catalogSignature();
470
+ const changed = signature !== lastSignature;
471
+ lastSignature = signature;
472
+ // One line per full rebuild. These are the expensive runs (every tool plus
473
+ // every agent-preset skill scope); if they are repeating, this is where it
474
+ // shows — and a caller blocked behind one sees that as the UI stalling.
475
+ ctx.logger.info(`capability-registry: rebuild took ${Date.now() - startedAt}ms (catalog changed: ${changed}, ${toolRecords.size} tools, ${skillRecords.size} skills)`);
476
+ if (changed)
477
+ idleStreak = 0;
478
+ else if (idleStreak < 10)
479
+ idleStreak += 1;
480
+ if (!stopped && eventSeq > appliedSeq) {
481
+ if (changed) {
482
+ unchangedChain = 0;
483
+ schedule();
484
+ }
485
+ else if (unchangedChain === 0) {
486
+ unchangedChain = 1;
487
+ schedule();
488
+ }
489
+ }
490
+ }
491
+ };
492
+ /** Start a rebuild immediately, skipping the debounce window. */
493
+ const runNow = () => {
494
+ if (timer !== undefined) {
495
+ clearTimeout(timer);
496
+ timer = undefined;
497
+ }
498
+ if (!stopped && !rebuilding)
499
+ void runRebuild();
500
+ };
501
+ /**
502
+ * Refresh the whole catalog, resolving once the rebuild chain covering this
503
+ * call has converged (including any coalesced follow-up).
504
+ */
331
505
  const refresh = async () => {
332
- await rebuildTools();
333
- await refreshSkills();
334
- await writeCatalog();
506
+ if (stopped)
507
+ return;
508
+ const seq = ++eventSeq;
509
+ runNow();
510
+ if (seq <= appliedSeq)
511
+ return;
512
+ await new Promise(resolve => {
513
+ waiters.push({ seq, resolve });
514
+ });
335
515
  };
336
516
  /** Register once; also subscribe to change events. */
337
517
  const disposers = [];
338
- disposers.push(ctx.on('tools/change', () => void refresh()));
339
- disposers.push(ctx.on('skills/change', () => void refresh()));
518
+ disposers.push(ctx.on('tools/change', () => {
519
+ eventSeq++;
520
+ schedule();
521
+ }));
522
+ disposers.push(ctx.on('skills/change', () => {
523
+ eventSeq++;
524
+ schedule();
525
+ }));
340
526
  // Index the global tool view eagerly (the synchronous part of
341
527
  // `rebuildTools`); preset standing scopes and skills are enumerated by the
342
528
  // first explicit `refresh()` (policy mounts it before the surface is used)
@@ -345,6 +531,13 @@ export function apply(ctx, config = {}) {
345
531
  void rebuildTools();
346
532
  void refreshSkills();
347
533
  ctx.effect(() => () => {
534
+ stopped = true;
535
+ if (timer !== undefined)
536
+ clearTimeout(timer);
537
+ // Unblock any in-flight `refresh()`: the plugin is going away and no
538
+ // further rebuild will run.
539
+ for (const waiter of waiters.splice(0))
540
+ waiter.resolve();
348
541
  for (const dispose of disposers)
349
542
  dispose();
350
543
  });
@@ -465,8 +658,10 @@ export function apply(ctx, config = {}) {
465
658
  if (root === undefined)
466
659
  return undefined;
467
660
  const target = relPath.length === 0 ? root : resolve(root, relPath);
468
- // Containment: the resolved path must stay inside the skill root.
469
- if (target !== root && !target.startsWith(`${root}${sep}`))
661
+ // Containment: the resolved path must stay inside the skill root, both
662
+ // lexically (`..`) and after resolving symlinks (a link inside the skill
663
+ // directory must not lead out of it).
664
+ if (!(await isInside(root, target)))
470
665
  return undefined;
471
666
  try {
472
667
  const entries = await readdir(target, { withFileTypes: true });
@@ -485,8 +680,8 @@ export function apply(ctx, config = {}) {
485
680
  if (root === undefined)
486
681
  return undefined;
487
682
  const target = resolve(root, relPath);
488
- // Containment: the resolved path must stay inside the skill root.
489
- if (target !== root && !target.startsWith(`${root}${sep}`))
683
+ // Containment: see `listSkillDir` — lexical `..` and symlinks both checked.
684
+ if (!(await isInside(root, target)))
490
685
  return undefined;
491
686
  try {
492
687
  const info = await stat(target);
@@ -501,6 +696,20 @@ export function apply(ctx, config = {}) {
501
696
  return undefined;
502
697
  }
503
698
  },
699
+ skillDirs() {
700
+ const out = [];
701
+ for (const record of skillRecords.values()) {
702
+ const skillDir = record.origin.path;
703
+ if (skillDir === undefined)
704
+ continue;
705
+ out.push({
706
+ name: record.name,
707
+ skillDir,
708
+ ...record.origin.source !== undefined ? { source: record.origin.source } : {},
709
+ });
710
+ }
711
+ return out;
712
+ },
504
713
  size() {
505
714
  return toolRecords.size + skillRecords.size;
506
715
  },
@@ -513,6 +722,15 @@ export function apply(ctx, config = {}) {
513
722
  refresh() {
514
723
  return refresh();
515
724
  },
725
+ requestRefresh() {
726
+ if (stopped)
727
+ return;
728
+ eventSeq++;
729
+ schedule();
730
+ },
731
+ rewriteCatalog() {
732
+ return writeCatalog();
733
+ },
516
734
  };
517
735
  // Observe tool results to write back objective stats. Nested dispatches
518
736
  // (parent set by meta_invoke) attribute to the target capability; the
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
package/lib/search.js CHANGED
@@ -104,14 +104,22 @@ export function apply(ctx, config = {}) {
104
104
  }
105
105
  return { mode: 'detail', result: result };
106
106
  }
107
+ // Filter Disabled BEFORE applying the result cap: a Disabled hit inside
108
+ // the top-N would otherwise consume a slot and hide a matching Resident
109
+ // capability ranked below it (the extreme case being an all-Disabled
110
+ // top-N returning nothing). Over-fetch — the registry imposes no upper
111
+ // bound and already ranks the whole catalog — then slice.
112
+ const limit = Math.min(requestedMax ?? maxResults, 50);
107
113
  const results = ctx.capability.search({
108
114
  query,
109
115
  kind,
110
116
  server,
111
117
  tag,
112
- maxResults: Math.min(requestedMax ?? maxResults, 50),
118
+ maxResults: Number.MAX_SAFE_INTEGER,
113
119
  scope,
114
- }).filter(result => !isDisabled(result.id, result.kind));
120
+ })
121
+ .filter(result => !isDisabled(result.id, result.kind))
122
+ .slice(0, limit);
115
123
  const catalogPath = ctx.capability.catalogPath?.();
116
124
  return {
117
125
  mode: 'list',
package/lib/search.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"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"}