@daweifu/capability-menu 0.1.1 → 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.
Files changed (44) hide show
  1. package/README.en.md +238 -0
  2. package/README.md +127 -63
  3. package/cordis.patch.yml +37 -46
  4. package/lib/client.d.ts +224 -19
  5. package/lib/client.d.ts.map +1 -1
  6. package/lib/client.js +1796 -226
  7. package/lib/constants.js +33 -0
  8. package/lib/constants.js.map +1 -0
  9. package/lib/index.js +1 -1
  10. package/lib/invoke.js +68 -96
  11. package/lib/invoke.js.map +1 -1
  12. package/lib/locations.js +541 -0
  13. package/lib/locations.js.map +1 -0
  14. package/lib/patch-file.js +192 -0
  15. package/lib/patch-file.js.map +1 -0
  16. package/lib/policy.js +422 -94
  17. package/lib/policy.js.map +1 -1
  18. package/lib/registry.js +410 -152
  19. package/lib/registry.js.map +1 -1
  20. package/lib/search.js +26 -9
  21. package/lib/search.js.map +1 -1
  22. package/lib/server/remote.js +219 -3
  23. package/lib/server/remote.js.map +1 -1
  24. package/lib/types/constants.d.ts +33 -0
  25. package/lib/types/constants.d.ts.map +1 -0
  26. package/lib/types/index.d.ts +1 -1
  27. package/lib/types/invoke.d.ts +7 -13
  28. package/lib/types/invoke.d.ts.map +1 -1
  29. package/lib/types/locations.d.ts +142 -0
  30. package/lib/types/locations.d.ts.map +1 -0
  31. package/lib/types/patch-file.d.ts +46 -0
  32. package/lib/types/patch-file.d.ts.map +1 -0
  33. package/lib/types/policy.d.ts +115 -53
  34. package/lib/types/policy.d.ts.map +1 -1
  35. package/lib/types/registry.d.ts +94 -25
  36. package/lib/types/registry.d.ts.map +1 -1
  37. package/lib/types/search.d.ts.map +1 -1
  38. package/lib/types/server/remote.d.ts +68 -2
  39. package/lib/types/server/remote.d.ts.map +1 -1
  40. package/package.json +23 -26
  41. package/lib/invariant.js +0 -22
  42. package/lib/invariant.js.map +0 -1
  43. package/lib/types/invariant.d.ts +0 -16
  44. package/lib/types/invariant.d.ts.map +0 -1
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Constants shared by the server-side registry and the browser bundle.
3
+ *
4
+ * Kept in a dependency-free module so `src/client` can import them without
5
+ * pulling the registry's `node:fs` / `js-yaml` imports into the web bundle.
6
+ */
7
+ /** Prefix of every MCP tool's registered name: `mcp__<server>__<raw>`. */
8
+ export const MCP_ID_PREFIX = 'mcp__';
9
+ /**
10
+ * Reserved pseudo-server that groups harness-native (non-MCP) tools in the
11
+ * management surface. Native tools (bash/read/write/…) are cataloged like MCP
12
+ * tools — same `server` dimension — so 能力菜单 can group them, classify them
13
+ * Resident/On-demand/Disabled, and `meta_invoke` can dispatch them.
14
+ */
15
+ export const BUILT_IN_SERVER = 'built-in';
16
+ /**
17
+ * dsh's source labels for a project's own skill roots — the `project`-prefixed
18
+ * providers of `@deepseek-ai/dsh-skill-filesystem`, which scan
19
+ * `<projectRoot>/.dsh/skills` and `<projectRoot>/.agents/skills`. Every other
20
+ * label (`user-dsh`, `user-agents`, `bundled`, `custom`, `runtime`) is a
21
+ * user-level root. Shared so the server's location manager and the browser's
22
+ * 全局 / 项目 grouping agree on what "project scoped" means.
23
+ */
24
+ export const PROJECT_SKILL_SOURCES = new Set(['project-dsh', 'project-agents']);
25
+ /**
26
+ * Source labels for user-level skill roots whose entries this plugin can adopt:
27
+ * linking the skill's own directory into the user root (where the entry becomes
28
+ * editable) without touching its content. `user-dsh` is excluded because that
29
+ * root is already managed, and `bundled` because a packaged skill should not be
30
+ * shadowed by a user copy.
31
+ */
32
+ export const ADOPTABLE_SKILL_SOURCES = new Set(['user-agents', 'custom']);
33
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAA;AAEzC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAA;AAEpG;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAA"}
package/lib/index.js CHANGED
@@ -8,7 +8,7 @@
8
8
  * - `registry` (P0): capability catalog + `ctx.capability` service (no model tool).
9
9
  * - `search` (P1): registers `meta_search`.
10
10
  * - `invoke` (P2): registers `meta_invoke`.
11
- * - `policy` (P3): Exposed/Progressive/Blocked projection policy + `ctx.capabilityPolicy`.
11
+ * - `policy` (P3): Resident/On-demand/Disabled projection policy + `ctx.capabilityPolicy`.
12
12
  * - the package root entry (`name` + `apply` below): mounts the Typert gateway
13
13
  * that exposes `ctx.capabilityPolicy` to the browser as the `capabilityPolicy`
14
14
  * remote namespace — the data source of the 能力菜单 settings tab.
package/lib/invoke.js CHANGED
@@ -4,10 +4,10 @@
4
4
  * @module @daweifu/capability-menu (invoke plugin)
5
5
  */
6
6
  import z from '@deepseek-ai/schemastery';
7
- import { CallId } from '@deepseek-ai/dsh-llm';
7
+ import { ToolCallId } from '@deepseek-ai/dsh-llm';
8
8
  import { defineTool } from '@deepseek-ai/dsh-tools';
9
9
  import { isModelInvocable, renderSkillContent } from '@deepseek-ai/dsh-skill';
10
- import { SKILL_ID_PREFIX, skillNameOf } from "./registry.js";
10
+ import { MCP_ID_PREFIX } from "./registry.js";
11
11
  export const name = 'capability-menu-invoke';
12
12
  export const inject = ['capability', 'tools', 'skills'];
13
13
  /** Validate and default the tool configuration. */
@@ -17,14 +17,14 @@ export const Config = z.object({
17
17
  /**
18
18
  * Register the `meta_invoke` tool.
19
19
  *
20
- * Dispatch is by `capability.kind`, not by id prefix (the id-prefix check is
21
- * kept only as a defensive guard alongside the kind check).
20
+ * Dispatch is by the explicit `kind` argument (no id-prefix parsing).
22
21
  *
23
- * - Tools (`kind: 'tool'`, id `mcp__...`): forwards to the underlying server
24
- * call via the official `ctx.tools.execute` pipeline, preserving
25
- * `agent`/`signal`/parent lineage. `forwardMode: 'resolve'` instead returns
26
- * the target schema so the model can call the tool directly.
27
- * - Skills (`kind: 'skill'`, id `skill:<name>`): loads the full skill
22
+ * - Tools (`kind: 'tool'`, e.g. `mcp__gongfeng__create_issue` or a harness-native
23
+ * tool such as `bash`): forwards to the underlying tool call via the official
24
+ * `ctx.tools.execute` pipeline, preserving `agent`/`signal`/parent lineage.
25
+ * `forwardMode: 'resolve'` instead returns the target schema so the model can
26
+ * call the tool directly.
27
+ * - Skills (`kind: 'skill'`, id is the bare skill name): loads the full skill
28
28
  * instructions and returns them as `<skill_content>` — no args, no script
29
29
  * execution (matches the existing `skill` tool semantics).
30
30
  */
@@ -33,53 +33,19 @@ export function apply(ctx, config = {}) {
33
33
  if (forwardMode !== 'direct' && forwardMode !== 'resolve') {
34
34
  throw new Error(`forwardMode must be "direct" or "resolve", received "${String(forwardMode)}"`);
35
35
  }
36
- // Session-level dedup for loaded skills. Re-loading an already-injected
37
- // skill only returns a short reminder instead of re-injecting the full
38
- // instructions, saving tokens (mirrors synapse's `_loaded_skills`).
39
- const loadedSkills = new Set();
40
- /**
41
- * Load a Progressive skill's full body. Progressive skills are indexed from
42
- * the independent YAML catalog and may not be registered in `ctx.skills`; read
43
- * the catalog entry's `path` (SKILL.md) directly and strip frontmatter to
44
- * produce a `SkillDefinition`-compatible body.
45
- */
46
- const loadProgressiveSkill = async (name, capability, signal) => {
47
- // If the skill is registered globally, prefer the registry's parser.
48
- const registered = await ctx.skills.get(name, { signal }).catch(() => undefined);
49
- if (registered !== undefined)
50
- return registered;
51
- const basePath = capability.origin.path;
52
- if (basePath === undefined)
53
- return undefined;
54
- const { readFile } = await import('node:fs/promises');
55
- const { resolve } = await import('node:path');
56
- const markdownPath = resolve(process.cwd(), basePath, 'SKILL.md');
57
- let text;
58
- try {
59
- text = await readFile(markdownPath, 'utf8');
60
- }
61
- catch (error) {
62
- ctx.logger.warn(`meta_invoke: progressive skill "${name}" body not readable (${markdownPath}): ${String(error)}`);
63
- return undefined;
64
- }
65
- const content = stripFrontmatter(text);
66
- return {
67
- name,
68
- description: capability.description,
69
- ...capability.whenToUse !== undefined ? { whenToUse: capability.whenToUse } : {},
70
- invocation: { modelInvocable: true, userInvocable: false },
71
- source: { type: 'local' },
72
- provider: capability.origin.provider ?? 'progressive-catalog',
73
- ...capability.origin.path !== undefined ? { path: resolve(process.cwd(), capability.origin.path) } : {},
74
- resourceBase: { kind: 'directory', path: resolve(process.cwd(), basePath) },
75
- content,
76
- };
77
- };
36
+ // Per-session dedup for loaded skills. Re-loading an already-injected skill
37
+ // only returns a short reminder instead of re-injecting the full
38
+ // instructions, saving tokens (mirrors synapse's `_loaded_skills`). Keyed by
39
+ // the agent object so two sessions in the same process never share state; a
40
+ // WeakMap lets entries be collected with the agent. Without an agent context
41
+ // (headless dispatch) nothing is cached.
42
+ const loadedSkills = new WeakMap();
78
43
  const tool = defineTool({
79
44
  name: 'meta_invoke',
80
- description: 'Execute a capability by its exact id (from meta_search), dispatching by capability kind. For tools (kind "tool", id starts with "mcp__"), forwards to the underlying server call with args. For skills (kind "skill", id starts with "skill:"), loads the full skill instructions and returns them as <skill_content> — no args needed.',
45
+ description: 'Execute a capability by its exact id (from meta_search) and kind. For tools (kind "tool", e.g. mcp__gongfeng__create_issue or a native tool such as bash), forwards to the underlying tool call with args. For skills (kind "skill", e.g. frontend-design), loads the full skill instructions and returns them as <skill_content> — no args needed. Always pass the same kind the search result reported.',
81
46
  parameters: {
82
- id: { type: 'string', required: true, description: 'Capability id from meta_search, e.g. mcp__gongfeng__create_issue or skill:frontend-design.' },
47
+ id: { type: 'string', required: true, description: 'Capability id from meta_search, e.g. mcp__gongfeng__create_issue or frontend-design.' },
48
+ kind: { type: 'string', enum: ['tool', 'skill'], required: true, description: 'Capability kind reported by meta_search for this id.' },
83
49
  args: { type: 'json', description: 'Arguments forwarded to a tool; ignored for skills.' },
84
50
  },
85
51
  output: {
@@ -157,22 +123,36 @@ export function apply(ctx, config = {}) {
157
123
  },
158
124
  async execute(args, exec) {
159
125
  const id = args.id.trim();
160
- // Blocked capabilities are a hard deny at the execution surface: the
161
- // registry keeps them indexed so the management UI can list them, but the
162
- // model can never reach a blocked capability through meta_invoke.
163
- const policy = ctx.get('capabilityPolicy');
164
- if (policy?.isBlockedCapability(id)) {
165
- throw new Error(`meta_invoke: capability "${id}" is blocked and cannot be invoked`);
126
+ const kind = args.kind;
127
+ if (kind !== 'tool' && kind !== 'skill') {
128
+ throw new Error('meta_invoke: kind must be "tool" or "skill" (the kind meta_search reported for this id)');
166
129
  }
167
- const capability = ctx.capability.get(id);
130
+ const capability = ctx.capability.get(id, kind);
168
131
  if (capability === undefined) {
169
- throw new Error(`meta_invoke: capability "${id}" is unknown or no longer available`);
132
+ throw new Error(`meta_invoke: no ${kind} capability "${id}" is available`);
133
+ }
134
+ // Disabled capabilities are a hard deny at the execution surface: the
135
+ // registry keeps them indexed so the management UI can list them, but the
136
+ // model can never reach a disabled capability through meta_invoke.
137
+ const policy = ctx.get('capabilityPolicy');
138
+ if (policy?.isDisabledCapability(id, kind)) {
139
+ throw new Error(`meta_invoke: ${kind} capability "${id}" is disabled and cannot be invoked`);
170
140
  }
171
- // Tool: forward to the underlying MCP server call (or resolve its schema).
172
- if (capability.kind === 'tool' && id.startsWith('mcp__')) {
141
+ // Tool: forward to the underlying tool execution (an MCP server call or a
142
+ // harness-native tool cataloged under the built-in server) — or resolve its
143
+ // schema.
144
+ if (capability.kind === 'tool') {
173
145
  // Resolve the definition on the GLOBAL view (no agent scope) so a
174
- // Progressive tool hidden from the caller's exposure is still addressable.
175
- const definition = ctx.tools.get(capability.name);
146
+ // tool hidden from the caller's exposure (On-demand) is still addressable.
147
+ // Native tools cataloged from a preset standing scope live on the agent
148
+ // plane and are invisible to the global view; for those, fall back to the
149
+ // caller's own view (the agent joining the preset standing mount).
150
+ const native = !capability.name.startsWith(MCP_ID_PREFIX);
151
+ let definition = ctx.tools.get(capability.name);
152
+ const nativeCallerView = native && definition === undefined ? exec.agent : undefined;
153
+ if (definition === undefined && nativeCallerView !== undefined) {
154
+ definition = ctx.tools.get(capability.name, nativeCallerView);
155
+ }
176
156
  if (definition === undefined) {
177
157
  throw new Error(`meta_invoke: tool "${capability.name}" is not available`);
178
158
  }
@@ -194,17 +174,19 @@ export function apply(ctx, config = {}) {
194
174
  // this as a transport sub-dispatch so code-mode collapse rules treat it
195
175
  // like a nested SDK call, and `tools/result` observers can attribute the
196
176
  // outcome to the target capability.
197
- // Do NOT pass `agent` — `ctx.tools.execute` resolves through the
198
- // caller's `view.visible`, so passing an agent whose projection hid the
177
+ // Do NOT pass `agent` for MCP tools — `ctx.tools.execute` resolves through
178
+ // the caller's `view.visible`, so passing an agent whose projection hid the
199
179
  // Progressive tool would surface `UNKNOWN_TOOL`. Executing on the global view
200
180
  // keeps Progressive tools runnable; the target tool's own guards still apply
201
- // (no permission bypass — see README).
181
+ // (no permission bypass — see README). A native tool reachable only through
182
+ // the caller's view does pass that view, mirroring the direct-call surface.
202
183
  const result = await ctx.tools.execute({
203
- callId: CallId(`${exec.callId}:meta:${id}`),
184
+ callId: ToolCallId(`${exec.callId}:meta:${id}`),
204
185
  name: capability.name,
205
186
  arguments: args.args,
206
187
  signal: exec.signal,
207
188
  parent: exec.token,
189
+ ...nativeCallerView !== undefined ? { agent: nativeCallerView } : {},
208
190
  });
209
191
  if (result.isError) {
210
192
  const message = result.content.map(block => block.type === 'text' ? block.text : `[${block.type} content]`).join('\n');
@@ -222,10 +204,21 @@ export function apply(ctx, config = {}) {
222
204
  };
223
205
  }
224
206
  // Skill: load the full instructions.
225
- if (capability.kind === 'skill' && id.startsWith(SKILL_ID_PREFIX)) {
226
- const name = skillNameOf(id);
207
+ if (capability.kind === 'skill') {
208
+ const name = capability.name;
209
+ // Per-session loaded set (see the WeakMap above); undefined when there
210
+ // is no agent context, in which case nothing is deduped.
211
+ const agent = exec.agent;
212
+ let sessionSkills;
213
+ if (agent !== undefined) {
214
+ sessionSkills = loadedSkills.get(agent);
215
+ if (sessionSkills === undefined) {
216
+ sessionSkills = new Set();
217
+ loadedSkills.set(agent, sessionSkills);
218
+ }
219
+ }
227
220
  // Already loaded this session → return a short reminder, no re-injection.
228
- if (loadedSkills.has(name)) {
221
+ if (sessionSkills?.has(name) === true) {
229
222
  return {
230
223
  ok: true,
231
224
  kind: 'skill',
@@ -242,21 +235,14 @@ export function apply(ctx, config = {}) {
242
235
  signal: exec.signal,
243
236
  scope: exec.agent,
244
237
  };
245
- let skill = await ctx.skills.get(name, lookup).catch(() => undefined);
246
- // Progressive skills are indexed from the independent YAML catalog; they may
247
- // not be registered in the session skill registry. Fall back to reading
248
- // the catalog entry's path (or the catalog-provided name lookup) so the
249
- // full SKILL.md can still be loaded on demand.
250
- if (skill === undefined) {
251
- skill = await loadProgressiveSkill(name, capability, exec.signal);
252
- }
238
+ const skill = await ctx.skills.get(name, lookup).catch(() => undefined);
253
239
  if (skill === undefined) {
254
240
  throw new Error(`meta_invoke: skill "${name}" is unknown or no longer available`);
255
241
  }
256
242
  if (!isModelInvocable(skill)) {
257
243
  throw new Error(`meta_invoke: skill "${name}" is not available for model invocation`);
258
244
  }
259
- loadedSkills.add(name);
245
+ sessionSkills?.add(name);
260
246
  return {
261
247
  ok: true,
262
248
  kind: 'skill',
@@ -275,25 +261,11 @@ export function apply(ctx, config = {}) {
275
261
  return {
276
262
  card: 'generic',
277
263
  title: `Execute capability ${args.id}`,
278
- kind: args.id.startsWith('skill:') ? 'read' : 'other',
264
+ kind: args.kind === 'skill' ? 'read' : 'other',
279
265
  rawInput: args.id,
280
266
  };
281
267
  },
282
268
  });
283
269
  ctx.tools.register(tool);
284
270
  }
285
- /**
286
- * Strip leading YAML frontmatter (`---\n...\n---`) from a raw SKILL.md body,
287
- * returning the remaining markdown. Falls back to the raw text when no
288
- * frontmatter delimiter is present.
289
- */
290
- export function stripFrontmatter(markdown) {
291
- const text = markdown.startsWith('\uFEFF') ? markdown.slice(1) : markdown;
292
- if (!text.startsWith('---'))
293
- return text;
294
- const end = text.indexOf('\n---', 3);
295
- if (end === -1)
296
- return text;
297
- return text.slice(end + 4).replace(/^\n+/, '');
298
- }
299
271
  //# sourceMappingURL=invoke.js.map
package/lib/invoke.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"invoke.js","sourceRoot":"","sources":["../src/invoke.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invoke.js","sourceRoot":"","sources":["../src/invoke.ts"],"names":[],"mappings":"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"}