@daweifu/capability-menu 0.1.1 → 0.1.2

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,11 +6,30 @@
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 } from 'node:fs/promises';
10
- import { dirname, resolve, sep } from 'node:path';
11
- /** Stable identifier prefixes: MCP tools keep `mcp__...`, skills use `skill:<name>`. */
12
- export const SKILL_ID_PREFIX = 'skill:';
9
+ import { readFile, readdir, stat, writeFile } from 'node:fs/promises';
10
+ import { homedir } from 'node:os';
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
+ */
13
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';
27
+ /**
28
+ * Tool names that never enter the capability catalog: this plugin's own
29
+ * control plane (`meta_search`/`meta_invoke`, always Resident) and the
30
+ * reserved Code Mode presentation transport (`run_code`).
31
+ */
32
+ export const CATALOG_EXCLUDED_TOOLS = new Set(['meta_search', 'meta_invoke', 'run_code']);
14
33
  /** Validate and default the registry configuration. */
15
34
  export const Config = z.object({
16
35
  summaryMaxChars: z.number().default(160),
@@ -19,7 +38,7 @@ export const Config = z.object({
19
38
  weighting: z.number().default(0.1),
20
39
  // schemastery object properties are optional-by-default: a missing key or
21
40
  // undefined value is accepted (no `meta.required`), so no `.optional()` needed.
22
- progressiveSkillCatalog: z.string(),
41
+ catalogFile: z.string(),
23
42
  });
24
43
  function assertPositiveInteger(name, value, min) {
25
44
  if (!Number.isInteger(value) || value < min) {
@@ -72,24 +91,42 @@ export function apply(ctx, config = {}) {
72
91
  const detailIncludesBody = config.detailIncludesBody ?? false;
73
92
  const maxResults = config.maxResults ?? 20;
74
93
  const weighting = config.weighting ?? 0.1;
94
+ const catalogFile = (config.catalogFile ?? join(homedir(), '.dsh', 'capability-catalog.yaml')).trim();
75
95
  assertPositiveInteger('summaryMaxChars', summaryMaxChars, 20);
76
96
  assertPositiveInteger('maxResults', maxResults, 1);
77
97
  assertWeight('weighting', weighting);
78
- /** MCP tool records keyed by tool name; skills keyed by `skill:<name>`. */
98
+ /** Tool records keyed by tool name (MCP tools plus native tools under `built-in`); skills keyed by bare skill name. */
79
99
  let toolRecords = new Map();
80
100
  let skillRecords = new Map();
81
101
  /** The scope each indexed skill was collected from; undefined = global layer. */
82
102
  let skillScopes = new Map();
103
+ /** On-demand count of the latest catalog emission (0 until first write). */
104
+ let onDemandCount = 0;
83
105
  const statsOf = (record) => record.stats;
106
+ /**
107
+ * Kind-aware record lookup. With `kind` only that table is consulted; without
108
+ * it a name present in BOTH tables is ambiguous and resolves to undefined
109
+ * (never silently pick one kind over the other).
110
+ */
111
+ const resolveRecord = (key, kind) => {
112
+ if (kind === 'tool')
113
+ return toolRecords.get(key);
114
+ if (kind === 'skill')
115
+ return skillRecords.get(key);
116
+ const tool = toolRecords.get(key);
117
+ const skill = skillRecords.get(key);
118
+ if (tool !== undefined && skill !== undefined)
119
+ return undefined;
120
+ return tool ?? skill;
121
+ };
84
122
  /**
85
123
  * Resolve a skill's root directory from the live skill registry. The
86
124
  * directory comes from the skill provider's own locator (`resourceBase` for
87
- * bundle skills, the SKILL.md parent for flat files) or the indexed origin
88
- * path for progressive-catalog entries — never from caller input.
125
+ * bundle skills, the SKILL.md parent for flat files) — never from caller input.
89
126
  */
90
127
  const skillRootOf = async (id) => {
91
- const name = skillNameOf(id);
92
- const scope = skillScopes.get(id);
128
+ const name = id;
129
+ const scope = skillScopes.get(name);
93
130
  const lookup = scope === undefined ? {} : { scope };
94
131
  const definition = await ctx.skills.get(name, lookup).catch(() => undefined);
95
132
  if (definition !== undefined) {
@@ -99,85 +136,83 @@ export function apply(ctx, config = {}) {
99
136
  if (definition.path !== undefined)
100
137
  return dirname(definition.path);
101
138
  }
102
- // Progressive-catalog skills are not registered with a provider; fall
103
- // back to the catalog-declared path (a directory holding the SKILL.md).
104
- const record = skillRecords.get(id);
105
- if (record?.origin.path !== undefined)
106
- return record.origin.path;
107
139
  return undefined;
108
140
  };
109
- /** Rebuild the MCP tool index synchronously from the visible tool registry. */
110
- const rebuildTools = () => {
111
- const next = new Map();
112
- for (const schema of ctx.tools.schemas()) {
113
- // 只编目 mcp__ 工具:原生工具(bash/read 等非 mcp__ 前缀)不进能力目录,
114
- // 因此不被 meta_search/meta_invoke 覆盖、也不在能力管理(classifyAll)
115
- // 枚举中;它们由 dsh 原生暴露面直连,仅受投影链可见性裁剪,须在
116
- // tools.exposed 保活。与 invoke 的 id 前缀守卫保持一致。
117
- if (!schema.name.startsWith(MCP_ID_PREFIX))
118
- continue;
119
- const existing = toolRecords.get(schema.name);
120
- const stats = existing?.stats ?? { uses: 0, successes: 0, failures: 0, totalMs: 0 };
121
- const serverName = serverNameOf(schema.name);
122
- next.set(schema.name, {
123
- id: schema.name,
124
- kind: 'tool',
125
- actions: ['execute'],
126
- name: schema.name,
127
- description: schema.description,
128
- origin: { provider: serverName, serverName },
129
- parameters: schema.parameters,
130
- invocation: { modelInvocable: true, userInvocable: false },
131
- tags: [serverName, 'tool'],
132
- stats,
133
- summary: toSummary(schema.description, summaryMaxChars),
134
- });
135
- }
136
- toolRecords = next;
141
+ /** Next-catalog accumulator shared by the global and preset-scope passes. */
142
+ let nextToolRecords = new Map();
143
+ /**
144
+ * Index one visible tool schema into the next catalog, deduped by name.
145
+ * 全部可见工具都进编目,仅排除 meta_search/meta_invoke(本插件控制面,
146
+ * 恒常驻)与 run_code(Code Mode 保留传输层)。mcp__ 工具按真实 server
147
+ * 分组;原生工具(无 mcp__ 前缀)统一归入保留的 built-in server,使能力
148
+ * 菜单能统一按 server 分组、三档管理,meta_invoke 也能派发它们。
149
+ * A schema may surface from several preset scope views; the first wins.
150
+ */
151
+ const indexToolSchema = (schema) => {
152
+ if (CATALOG_EXCLUDED_TOOLS.has(schema.name))
153
+ return;
154
+ if (nextToolRecords.has(schema.name))
155
+ return;
156
+ const existing = toolRecords.get(schema.name);
157
+ const stats = existing?.stats ?? { uses: 0, successes: 0, failures: 0, totalMs: 0 };
158
+ const isMcp = schema.name.startsWith(MCP_ID_PREFIX);
159
+ const serverName = isMcp ? serverNameOf(schema.name) : BUILT_IN_SERVER;
160
+ nextToolRecords.set(schema.name, {
161
+ id: schema.name,
162
+ kind: 'tool',
163
+ actions: ['execute'],
164
+ name: schema.name,
165
+ description: schema.description,
166
+ origin: { provider: serverName, serverName },
167
+ parameters: schema.parameters,
168
+ invocation: { modelInvocable: true, userInvocable: false },
169
+ tags: [serverName, 'tool'],
170
+ stats,
171
+ summary: toSummary(schema.description, summaryMaxChars),
172
+ });
137
173
  };
138
- /** Read and parse the Progressive-skill catalog YAML into entries (empty when unconfigured/unreadable). */
139
- const loadProgressiveSkills = async () => {
140
- const file = config.progressiveSkillCatalog;
141
- if (file === undefined || file.length === 0)
142
- return [];
143
- const path = resolve(process.cwd(), file);
144
- let text;
145
- try {
146
- text = await readFile(path, 'utf8');
147
- }
148
- catch (error) {
149
- ctx.logger.warn(`meta-registry: progressive skill catalog not readable (${path}): ${String(error)}`);
150
- return [];
151
- }
152
- let parsed;
153
- try {
154
- parsed = yaml.load(text);
155
- }
156
- catch (error) {
157
- ctx.logger.warn(`meta-registry: progressive skill catalog parse failed (${path}): ${String(error)}`);
158
- return [];
159
- }
160
- if (parsed === null || typeof parsed !== 'object')
161
- return [];
162
- const list = parsed.skills;
163
- if (!Array.isArray(list))
164
- return [];
165
- const entries = [];
166
- for (const raw of list) {
167
- if (raw === null || typeof raw !== 'object')
168
- continue;
169
- const item = raw;
170
- if (typeof item.name !== 'string' || item.name.length === 0)
171
- continue;
172
- const description = typeof item.description === 'string' ? item.description : '';
173
- entries.push({
174
- name: item.name,
175
- description,
176
- ...typeof item.whenToUse === 'string' ? { whenToUse: item.whenToUse } : {},
177
- ...typeof item.path === 'string' ? { path: item.path } : {},
178
- });
174
+ /**
175
+ * Rebuild the tool index from the visible tool registries.
176
+ *
177
+ * Harness-native tools are registered on the agent plane (per agent preset's
178
+ * standing scope), not the root/global layer the plugin's own `ctx.tools`
179
+ * view sees — exactly the layout the skills side enumerates below. Mirror
180
+ * that: index the global view first, then every mountable preset's standing
181
+ * scope, so natives land under the reserved `built-in` pseudo-server.
182
+ */
183
+ // Rebuilds can overlap (eager mount-time run vs. a change-event refresh);
184
+ // the epoch guard drops a superseded run so its older snapshot never
185
+ // clobbers a newer one.
186
+ let toolIndexEpoch = 0;
187
+ const rebuildTools = async () => {
188
+ const epoch = ++toolIndexEpoch;
189
+ nextToolRecords = new Map();
190
+ for (const schema of ctx.tools.schemas())
191
+ indexToolSchema(schema);
192
+ const agentPresets = ctx.get('agentPresets');
193
+ if (agentPresets !== undefined) {
194
+ let presets = [];
195
+ try {
196
+ presets = await agentPresets.list();
197
+ }
198
+ catch (error) {
199
+ ctx.logger.warn(`meta-registry: agent-presets enumeration failed: ${String(error)}`);
200
+ }
201
+ for (const preset of presets) {
202
+ if (preset.broken !== undefined)
203
+ continue;
204
+ try {
205
+ const scope = await agentPresets.standingKeyFor(preset.id);
206
+ for (const schema of ctx.tools.schemas(scope))
207
+ indexToolSchema(schema);
208
+ }
209
+ catch (error) {
210
+ ctx.logger.warn(`meta-registry: preset "${preset.id}" tool scope unavailable: ${String(error)}`);
211
+ }
212
+ }
179
213
  }
180
- return entries;
214
+ if (epoch === toolIndexEpoch)
215
+ toolRecords = nextToolRecords;
181
216
  };
182
217
  /**
183
218
  * Rebuild the skill index asynchronously; resolves when the refresh completes.
@@ -194,7 +229,7 @@ export function apply(ctx, config = {}) {
194
229
  const indexSkill = (skill, scope) => {
195
230
  if (!isModelInvocable(skill))
196
231
  return;
197
- const id = skillId(skill.name);
232
+ const id = skill.name;
198
233
  const existing = skillRecords.get(id);
199
234
  const stats = existing?.stats ?? { uses: 0, successes: 0, failures: 0, totalMs: 0 };
200
235
  nextSkills.set(id, {
@@ -206,6 +241,7 @@ export function apply(ctx, config = {}) {
206
241
  ...skill.whenToUse !== undefined ? { whenToUse: skill.whenToUse } : {},
207
242
  origin: {
208
243
  provider: skill.provider,
244
+ ...typeof skill.source === 'string' ? { source: skill.source } : {},
209
245
  },
210
246
  parameters: { type: 'object', properties: {}, additionalProperties: false },
211
247
  invocation: { modelInvocable: true, userInvocable: skill.invocation.userInvocable },
@@ -253,51 +289,60 @@ export function apply(ctx, config = {}) {
253
289
  }
254
290
  }
255
291
  }
256
- // Additionally index Progressive skills from the independent YAML catalog.
257
- // Exposed skills (from ctx.skills) win on a name collision so an Exposed
258
- // skill is never shadowed by a stale Progressive catalog entry.
259
- const progressive = await loadProgressiveSkills();
260
- for (const entry of progressive) {
261
- const id = skillId(entry.name);
262
- if (nextSkills.has(id))
263
- continue;
264
- const existing = skillRecords.get(id);
265
- const stats = existing?.stats ?? { uses: 0, successes: 0, failures: 0, totalMs: 0 };
266
- nextSkills.set(id, {
267
- id,
268
- kind: 'skill',
269
- actions: ['load'],
270
- name: entry.name,
271
- description: entry.description,
272
- ...entry.whenToUse !== undefined ? { whenToUse: entry.whenToUse } : {},
273
- origin: {
274
- provider: 'progressive-catalog',
275
- ...entry.path !== undefined ? { path: entry.path } : {},
276
- },
277
- parameters: { type: 'object', properties: {}, additionalProperties: false },
278
- invocation: { modelInvocable: true, userInvocable: false },
279
- tags: ['progressive-catalog', 'skill'],
280
- stats,
281
- summary: toSummary(entry.description, summaryMaxChars),
282
- });
283
- nextSkillScopes.set(id, undefined);
284
- }
285
292
  skillRecords = nextSkills;
286
293
  skillScopes = nextSkillScopes;
287
294
  };
288
- /** Refresh the whole catalog: MCP tools synchronously, skills asynchronously. */
295
+ /**
296
+ * Emit the on-demand capability catalog as a YAML file the model can browse
297
+ * with grep/read. Only On-demand capabilities are written; Resident ones are
298
+ * already in the model surface and Disabled ones must stay undiscoverable.
299
+ * Skips emission when the policy plugin is not mounted (no classification) or
300
+ * the file path is disabled.
301
+ */
302
+ const writeCatalog = async () => {
303
+ onDemandCount = 0;
304
+ if (catalogFile.length === 0)
305
+ return;
306
+ const policy = ctx.get('capabilityPolicy');
307
+ if (policy === undefined)
308
+ return;
309
+ const onDemand = [...toolRecords.values(), ...skillRecords.values()]
310
+ .filter(record => policy.classifyCapability(record.id, record.kind) === 'on-demand')
311
+ .map(record => ({
312
+ id: record.id,
313
+ kind: record.kind,
314
+ name: record.name,
315
+ // Use the trimmed summary (160 chars), not the full description: the
316
+ // file is for grep/read discovery, and a few hundred tools would
317
+ // otherwise balloon to tens of KB of context.
318
+ description: record.summary,
319
+ ...record.whenToUse !== undefined ? { whenToUse: record.whenToUse } : {},
320
+ ...record.origin.serverName !== undefined ? { server: record.origin.serverName } : {},
321
+ }));
322
+ onDemandCount = onDemand.length;
323
+ try {
324
+ await writeFile(catalogFile, yaml.dump({ capabilities: onDemand }), 'utf8');
325
+ }
326
+ catch (error) {
327
+ ctx.logger.warn(`capability-registry: on-demand catalog write failed (${catalogFile}): ${String(error)}`);
328
+ }
329
+ };
330
+ /** Refresh the whole catalog: tools and skills, then re-emit the YAML. */
289
331
  const refresh = async () => {
290
- rebuildTools();
332
+ await rebuildTools();
291
333
  await refreshSkills();
334
+ await writeCatalog();
292
335
  };
293
336
  /** Register once; also subscribe to change events. */
294
337
  const disposers = [];
295
338
  disposers.push(ctx.on('tools/change', () => void refresh()));
296
339
  disposers.push(ctx.on('skills/change', () => void refresh()));
297
- // Build the synchronous tool index eagerly; the skill index is left to
298
- // the first explicit `refresh()` (or a change event) so an eager load never
299
- // snapshots — and caches inside the skill registry — an incomplete catalog.
300
- rebuildTools();
340
+ // Index the global tool view eagerly (the synchronous part of
341
+ // `rebuildTools`); preset standing scopes and skills are enumerated by the
342
+ // first explicit `refresh()` (policy mounts it before the surface is used)
343
+ // or a change event, so an eager load never snapshots — and caches inside the
344
+ // tool/skill registries — an incomplete catalog.
345
+ void rebuildTools();
301
346
  void refreshSkills();
302
347
  ctx.effect(() => () => {
303
348
  for (const dispose of disposers)
@@ -312,11 +357,11 @@ export function apply(ctx, config = {}) {
312
357
  const id = options.id?.trim();
313
358
  const all = [];
314
359
  // Index/source is the GLOBAL registry — no visibility filter here.
315
- // Exposed/Progressive is a projection-layer concern (`dsh-capability-policy`),
316
- // so a Progressive tool hidden from the model's exposure surface must still
317
- // be searchable so `meta_search` can return it for `meta_invoke`. Blocked
360
+ // Resident/On-demand is a projection-layer concern (`dsh-capability-policy`),
361
+ // so an On-demand tool hidden from the model's exposure surface must still
362
+ // be searchable so `meta_search` can return it for `meta_invoke`. Disabled
318
363
  // enforcement lives at the model-facing tools (meta_search/meta_invoke),
319
- // keeping the management surface able to list Blocked capabilities.
364
+ // keeping the management surface able to list Disabled capabilities.
320
365
  if (kind === 'all' || kind === 'tool') {
321
366
  for (const record of toolRecords.values())
322
367
  all.push(record);
@@ -360,19 +405,18 @@ export function apply(ctx, config = {}) {
360
405
  name: record.name,
361
406
  summary: record.summary,
362
407
  ...record.origin.serverName !== undefined ? { server: record.origin.serverName } : {},
408
+ ...record.origin.source !== undefined ? { source: record.origin.source } : {},
363
409
  tags: record.tags,
364
410
  ...rate !== undefined ? { success_rate: rate } : {},
365
411
  uses: record.stats.uses,
366
412
  };
367
413
  });
368
414
  },
369
- get(id) {
370
- const key = id.trim();
371
- return toolRecords.get(key) ?? skillRecords.get(key);
415
+ get(id, kind) {
416
+ return resolveRecord(id.trim(), kind);
372
417
  },
373
- async getDetail(id, context = {}) {
374
- const key = id.trim();
375
- const record = toolRecords.get(key) ?? skillRecords.get(key);
418
+ async getDetail(id, kind, context = {}) {
419
+ const record = resolveRecord(id.trim(), kind);
376
420
  if (record === undefined)
377
421
  return undefined;
378
422
  if (record.kind === 'tool') {
@@ -460,6 +504,12 @@ export function apply(ctx, config = {}) {
460
504
  size() {
461
505
  return toolRecords.size + skillRecords.size;
462
506
  },
507
+ catalogPath() {
508
+ return catalogFile.length === 0 ? undefined : catalogFile;
509
+ },
510
+ onDemandCount() {
511
+ return onDemandCount;
512
+ },
463
513
  refresh() {
464
514
  return refresh();
465
515
  },
@@ -469,13 +519,11 @@ export function apply(ctx, config = {}) {
469
519
  // meta_invoke wrapper itself records nothing for any capability.
470
520
  ctx.on('tools/result', (exec, result) => {
471
521
  const name = exec.name;
472
- if (!name.startsWith(MCP_ID_PREFIX))
473
- return;
474
522
  const record = toolRecords.get(name);
475
523
  if (record === undefined)
476
524
  return;
477
- // meta_invoke never carries the `mcp__` prefix (filtered above), so a nested
478
- // dispatch from meta_invoke attributes stats only to the target capability.
525
+ // Nested dispatches (a meta_invoke call or a native-tool forward) carry the
526
+ // target tool's own name, so stats always attribute to the target capability.
479
527
  const durationMs = result.meta !== undefined && typeof result.meta === 'object'
480
528
  && result.meta !== null && 'durationMs' in result.meta
481
529
  ? result.meta.durationMs
@@ -498,12 +546,4 @@ export function serverNameOf(publicName) {
498
546
  const index = rest.indexOf('__');
499
547
  return index === -1 ? rest : rest.slice(0, index);
500
548
  }
501
- /** Build the stable skill identifier `skill:<name>`. */
502
- export function skillId(name) {
503
- return `${SKILL_ID_PREFIX}${name}`;
504
- }
505
- /** Strip the `skill:` prefix from a capability id. */
506
- export function skillNameOf(id) {
507
- return id.startsWith(SKILL_ID_PREFIX) ? id.slice(SKILL_ID_PREFIX.length) : id;
508
- }
509
549
  //# sourceMappingURL=registry.js.map
@@ -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
@@ -34,7 +34,7 @@ export function apply(ctx, config = {}) {
34
34
  id: { type: 'string', description: 'Exact capability id (from a previous search results[].id); mutually exclusive with query, takes precedence.' },
35
35
  detail: { type: 'boolean', description: 'When true, returns the single capability full schema; only meaningful with an exact id.' },
36
36
  kind: { type: 'string', enum: ['tool', 'skill', 'all'], description: 'Filter by capability kind (default all).' },
37
- server: { type: 'string', description: 'Filter by MCP serverName, e.g. gongfeng/iwiki/km/zhiyan_qci.' },
37
+ server: { type: 'string', description: 'Filter by server name — an MCP server (gongfeng/iwiki/km/zhiyan_qci) or the reserved built-in pseudo-server grouping harness-native tools.' },
38
38
  tag: { type: 'string', description: 'Filter by tag.' },
39
39
  max_results: { type: 'integer', description: 'Maximum results in list mode (default 20, max 50).' },
40
40
  },
@@ -83,16 +83,22 @@ export function apply(ctx, config = {}) {
83
83
  signal: exec.signal,
84
84
  scope,
85
85
  };
86
- // Blocked capabilities are not discoverable: the registry keeps them
86
+ // Disabled capabilities are not discoverable: the registry keeps them
87
87
  // indexed for the management surface, but meta_search never surfaces
88
88
  // them to the model.
89
89
  const policy = ctx.get('capabilityPolicy');
90
- const isBlocked = (id) => policy?.isBlockedCapability(id) ?? false;
90
+ const isDisabled = (capId, capKind) => policy?.isDisabledCapability(capId, capKind) ?? false;
91
+ // The kind filter doubles as a disambiguator for exact-id lookups.
92
+ const kindArg = kind === 'all' || kind === undefined ? undefined : kind;
91
93
  if (id.length > 0) {
92
- if (isBlocked(id)) {
93
- throw new Error(`meta_search: capability "${id}" is blocked and cannot be inspected`);
94
+ const resolved = ctx.capability.get(id, kindArg);
95
+ if (resolved === undefined) {
96
+ throw new Error(`meta_search: capability "${id}" is unknown, unavailable, or ambiguous — pass kind: "tool" | "skill" when both exist`);
94
97
  }
95
- const result = await ctx.capability.getDetail(id, context);
98
+ if (isDisabled(id, resolved.kind)) {
99
+ throw new Error(`meta_search: capability "${id}" is disabled and cannot be inspected`);
100
+ }
101
+ const result = await ctx.capability.getDetail(id, resolved.kind, context);
96
102
  if (result === undefined) {
97
103
  throw new Error(`meta_search: capability "${id}" is unknown or no longer available`);
98
104
  }
@@ -105,12 +111,15 @@ export function apply(ctx, config = {}) {
105
111
  tag,
106
112
  maxResults: Math.min(requestedMax ?? maxResults, 50),
107
113
  scope,
108
- }).filter(result => !isBlocked(result.id));
114
+ }).filter(result => !isDisabled(result.id, result.kind));
115
+ const catalogPath = ctx.capability.catalogPath?.();
109
116
  return {
110
117
  mode: 'list',
111
118
  total: results.length,
112
119
  results: results,
113
- hint: 'Call meta_search with an exact id for full schema, or meta_invoke to run/load it.',
120
+ hint: catalogPath !== undefined
121
+ ? `On-demand capabilities catalog: ${catalogPath} (YAML, grep/read searchable). Call meta_search with an exact id for full schema, or meta_invoke to run/load it.`
122
+ : 'Call meta_search with an exact id for full schema, or meta_invoke to run/load it.',
114
123
  };
115
124
  },
116
125
  presentCall(args) {
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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"}