@zhixuan92/multi-model-agent 4.7.9 → 4.7.11

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 (82) hide show
  1. package/README.md +1 -2
  2. package/dist/cli/serve.d.ts.map +1 -1
  3. package/dist/cli/serve.js +5 -31
  4. package/dist/cli/serve.js.map +1 -1
  5. package/dist/cli/sync-skills.d.ts +1 -1
  6. package/dist/cli/sync-skills.d.ts.map +1 -1
  7. package/dist/cli/sync-skills.js +3 -3
  8. package/dist/cli/sync-skills.js.map +1 -1
  9. package/dist/http/handlers/control/batch.js +1 -1
  10. package/dist/http/handlers/control/batch.js.map +1 -1
  11. package/dist/http/handlers/control/retry.d.ts.map +1 -1
  12. package/dist/http/handlers/control/retry.js +9 -18
  13. package/dist/http/handlers/control/retry.js.map +1 -1
  14. package/dist/http/handlers/introspection/health.d.ts +2 -2
  15. package/dist/http/handlers/introspection/health.d.ts.map +1 -1
  16. package/dist/http/handlers/tools/retry.d.ts.map +1 -1
  17. package/dist/http/handlers/tools/retry.js +9 -27
  18. package/dist/http/handlers/tools/retry.js.map +1 -1
  19. package/dist/http/project-registry.d.ts +0 -9
  20. package/dist/http/project-registry.d.ts.map +1 -1
  21. package/dist/http/project-registry.js +2 -6
  22. package/dist/http/project-registry.js.map +1 -1
  23. package/dist/http/server.d.ts +1 -1
  24. package/dist/http/server.d.ts.map +1 -1
  25. package/dist/http/server.js +2 -15
  26. package/dist/http/server.js.map +1 -1
  27. package/dist/skill-install/discover.d.ts +29 -0
  28. package/dist/skill-install/discover.d.ts.map +1 -0
  29. package/dist/skill-install/discover.js +102 -0
  30. package/dist/skill-install/discover.js.map +1 -0
  31. package/dist/skill-install/include-utils.d.ts +27 -0
  32. package/dist/skill-install/include-utils.d.ts.map +1 -0
  33. package/dist/skill-install/include-utils.js +90 -0
  34. package/dist/skill-install/include-utils.js.map +1 -0
  35. package/dist/skill-install/manifest.d.ts +90 -0
  36. package/dist/skill-install/manifest.d.ts.map +1 -0
  37. package/dist/skill-install/manifest.js +228 -0
  38. package/dist/skill-install/manifest.js.map +1 -0
  39. package/dist/skill-install/skill-installer-common.d.ts +48 -0
  40. package/dist/skill-install/skill-installer-common.d.ts.map +1 -0
  41. package/dist/skill-install/skill-installer-common.js +195 -0
  42. package/dist/skill-install/skill-installer-common.js.map +1 -0
  43. package/dist/skill-install/skill-installers/claude-code.d.ts +43 -0
  44. package/dist/skill-install/skill-installers/claude-code.d.ts.map +1 -0
  45. package/dist/skill-install/skill-installers/claude-code.js +65 -0
  46. package/dist/skill-install/skill-installers/claude-code.js.map +1 -0
  47. package/dist/skill-install/skill-installers/codex-cli.d.ts +27 -0
  48. package/dist/skill-install/skill-installers/codex-cli.d.ts.map +1 -0
  49. package/dist/skill-install/skill-installers/codex-cli.js +84 -0
  50. package/dist/skill-install/skill-installers/codex-cli.js.map +1 -0
  51. package/dist/skill-install/skill-installers/cursor.d.ts +72 -0
  52. package/dist/skill-install/skill-installers/cursor.d.ts.map +1 -0
  53. package/dist/skill-install/skill-installers/cursor.js +81 -0
  54. package/dist/skill-install/skill-installers/cursor.js.map +1 -0
  55. package/dist/skill-install/skill-installers/gemini-cli.d.ts +50 -0
  56. package/dist/skill-install/skill-installers/gemini-cli.d.ts.map +1 -0
  57. package/dist/skill-install/skill-installers/gemini-cli.js +72 -0
  58. package/dist/skill-install/skill-installers/gemini-cli.js.map +1 -0
  59. package/dist/skill-install/skill-manifest-sync.d.ts +11 -0
  60. package/dist/skill-install/skill-manifest-sync.d.ts.map +1 -0
  61. package/dist/skill-install/skill-manifest-sync.js +65 -0
  62. package/dist/skill-install/skill-manifest-sync.js.map +1 -0
  63. package/dist/skills/mma-audit/SKILL.md +1 -1
  64. package/dist/skills/mma-context-blocks/SKILL.md +1 -1
  65. package/dist/skills/mma-debug/SKILL.md +1 -1
  66. package/dist/skills/mma-delegate/SKILL.md +1 -1
  67. package/dist/skills/mma-execute-plan/SKILL.md +1 -1
  68. package/dist/skills/mma-explore/SKILL.md +1 -1
  69. package/dist/skills/mma-investigate/SKILL.md +1 -1
  70. package/dist/skills/mma-research/SKILL.md +1 -1
  71. package/dist/skills/mma-retry/SKILL.md +1 -1
  72. package/dist/skills/mma-review/SKILL.md +1 -1
  73. package/dist/skills/multi-model-agent/SKILL.md +1 -1
  74. package/package.json +2 -2
  75. package/dist/http/handlers/introspection/tools-list.d.ts +0 -9
  76. package/dist/http/handlers/introspection/tools-list.d.ts.map +0 -1
  77. package/dist/http/handlers/introspection/tools-list.js +0 -28
  78. package/dist/http/handlers/introspection/tools-list.js.map +0 -1
  79. package/dist/migration/storage-migration.d.ts +0 -5
  80. package/dist/migration/storage-migration.d.ts.map +0 -1
  81. package/dist/migration/storage-migration.js +0 -76
  82. package/dist/migration/storage-migration.js.map +0 -1
@@ -229,18 +229,10 @@ export async function startServer(config, injectedManifestSync) {
229
229
  const batchRegistry = new BatchRegistry({
230
230
  batchTtlMs: config.server.limits.batchTtlMs,
231
231
  });
232
- // Context-block storage mode: file-backed by default (Gap 4 — round-over-round
233
- // audit recipe needs disk persistence to survive daemon restarts). Tests
234
- // and ephemeral servers can opt out via the MMAGENT_CONTEXT_BLOCK_STORAGE
235
- // env var to avoid filesystem side effects.
236
- const cbStorage = process.env.MMAGENT_CONTEXT_BLOCK_STORAGE === 'in-memory'
237
- ? 'in-memory'
238
- : 'file-backed';
239
232
  const projectRegistry = new ProjectRegistry({
240
233
  cap: config.server.limits.projectCap,
241
234
  idleEvictionMs: config.server.limits.idleProjectTimeoutMs,
242
235
  evictionIntervalMs: Math.min(config.server.limits.idleProjectTimeoutMs, 60_000),
243
- contextBlockStorage: cbStorage,
244
236
  });
245
237
  // Capture serverStartedAt before health registration so /health can expose it.
246
238
  const serverStartedAt = Date.now();
@@ -252,8 +244,8 @@ export async function startServer(config, injectedManifestSync) {
252
244
  }
253
245
  else {
254
246
  try {
255
- const { makeSkillManifestSync } = await import('@zhixuan92/multi-model-agent-core/tool-surface/skill-manifest-sync');
256
- const { discoverPerClientInstallDirs } = await import('@zhixuan92/multi-model-agent-core/tool-surface/discover');
247
+ const { makeSkillManifestSync } = await import('../skill-install/skill-manifest-sync.js');
248
+ const { discoverPerClientInstallDirs } = await import('../skill-install/discover.js');
257
249
  skillManifestSync = makeSkillManifestSync(discoverPerClientInstallDirs());
258
250
  }
259
251
  catch {
@@ -274,11 +266,6 @@ export async function startServer(config, injectedManifestSync) {
274
266
  bind: config.server.bind,
275
267
  version: SERVER_VERSION,
276
268
  }));
277
- // GET /tools — OpenAPI 3.0 document (auth required, NOT loopback-gated)
278
- const { buildToolsHandler } = await import('./handlers/introspection/tools-list.js');
279
- router.register('GET', '/tools', buildToolsHandler());
280
- // GET /openapi — canonical OpenAPI route per spec C13 (same handler as /tools)
281
- router.register('GET', '/openapi', buildToolsHandler());
282
269
  // Test-only: enumerates registered routes. Guarded by env; zero impact on production.
283
270
  if (process.env.MMAGENT_TEST_INTROSPECTION === '1') {
284
271
  router.register('GET', '/__routes', (_req, res) => {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/http/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/http/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Client } from './manifest.js';
2
+ export declare const SUPPORTED_SKILLS: readonly ["multi-model-agent", "mma-delegate", "mma-audit", "mma-review", "mma-debug", "mma-execute-plan", "mma-retry", "mma-context-blocks", "mma-investigate", "mma-research", "mma-explore"];
3
+ /** Thrown when a skill's SKILL.md cannot be read from the bundled skills directory. */
4
+ export declare class SkillNotFoundError extends Error {
5
+ readonly code: "skill_not_found";
6
+ constructor(skillName: string, checkedPath: string);
7
+ }
8
+ export declare function skillsRootCandidates(here: string): string[];
9
+ export declare function pickSkillsRoot(here: string, exists?: (p: string) => boolean): string;
10
+ /**
11
+ * Return the absolute path to the skills root directory. Production: the
12
+ * bundled `packages/server/src/skills/` (or its dist mirror). Tests pass
13
+ * a fixture path explicitly.
14
+ */
15
+ export declare function getSkillsRoot(skillsRoot?: string): string;
16
+ /**
17
+ * Read the content of a skill's SKILL.md file. Returns null if the file
18
+ * does not exist; propagates other I/O errors so callers can distinguish
19
+ * "skill not found" from "can't access skill".
20
+ */
21
+ export declare function readSkillContent(skillName: string, skillsRoot?: string): string | null;
22
+ /**
23
+ * Return the per-client install directories where skills are written as
24
+ * subdirectories. Only includes clients that use the per-skill directory
25
+ * model (claude-code and codex). Gemini and Cursor bundle skills into a
26
+ * single file/extension and are not included.
27
+ */
28
+ export declare function discoverPerClientInstallDirs(homeDir?: string): Partial<Record<Client, string>>;
29
+ //# sourceMappingURL=discover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/skill-install/discover.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,eAAO,MAAM,gBAAgB,iMAYnB,CAAC;AAEX,uFAAuF;AACvF,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EAAG,iBAAiB,CAAU;gBAC/B,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAOnD;AAYD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAgB3D;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAuB,GAC7C,MAAM,CAMR;AAID;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQtF;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAM9F"}
@@ -0,0 +1,102 @@
1
+ // Skill discovery — locates packaged SKILL.md files on disk and reads them.
2
+ // Extracted from cli/install-skill.ts as part of Ch 7 Task 39.
3
+ import fs from 'node:fs';
4
+ import os from 'node:os';
5
+ import path from 'node:path';
6
+ import { fileURLToPath } from 'node:url';
7
+ export const SUPPORTED_SKILLS = [
8
+ 'multi-model-agent',
9
+ 'mma-delegate',
10
+ 'mma-audit',
11
+ 'mma-review',
12
+ 'mma-debug',
13
+ 'mma-execute-plan',
14
+ 'mma-retry',
15
+ 'mma-context-blocks',
16
+ 'mma-investigate',
17
+ 'mma-research',
18
+ 'mma-explore',
19
+ ];
20
+ /** Thrown when a skill's SKILL.md cannot be read from the bundled skills directory. */
21
+ export class SkillNotFoundError extends Error {
22
+ code = 'skill_not_found';
23
+ constructor(skillName, checkedPath) {
24
+ super(`Skill '${skillName}' not found. ` +
25
+ `Checked: ${checkedPath}. ` +
26
+ `Available skills: ${SUPPORTED_SKILLS.join(', ')}`);
27
+ }
28
+ }
29
+ // Discover.ts lives in `packages/core/src/tool-surface/` (or its dist mirror).
30
+ // Skills are bundled by the server package at `packages/server/src/skills/`
31
+ // (copied to `packages/server/dist/skills/` at build time, then shipped on
32
+ // the `@zhixuan92/multi-model-agent` npm package as `dist/skills/`).
33
+ // Probe candidates for both monorepo dev layouts and the two npm-installed
34
+ // layouts (hoisted siblings, or core nested under server).
35
+ //
36
+ // Exported (and parameterized on `here` + `exists`) so the candidate logic
37
+ // can be unit-tested against fixtures that mimic each layout — the v4.0.1
38
+ // regression was a missing prod candidate.
39
+ export function skillsRootCandidates(here) {
40
+ return [
41
+ // Dev source: packages/core/src/tool-surface -> packages/server/src/skills
42
+ path.resolve(here, '..', '..', '..', 'server', 'src', 'skills'),
43
+ // Dev built: packages/core/dist/tool-surface -> packages/server/dist/skills
44
+ path.resolve(here, '..', '..', '..', 'server', 'dist', 'skills'),
45
+ // npm install (hoisted): node_modules/@zhixuan92/multi-model-agent-core/dist/tool-surface
46
+ // -> node_modules/@zhixuan92/multi-model-agent/dist/skills
47
+ path.resolve(here, '..', '..', '..', 'multi-model-agent', 'dist', 'skills'),
48
+ // npm install (core nested under server):
49
+ // .../multi-model-agent/node_modules/@zhixuan92/multi-model-agent-core/dist/tool-surface
50
+ // -> .../multi-model-agent/dist/skills
51
+ path.resolve(here, '..', '..', '..', '..', '..', 'dist', 'skills'),
52
+ // Last-resort fallback for any caller that bundles skills inside core.
53
+ path.resolve(here, '..', 'skills'),
54
+ ];
55
+ }
56
+ export function pickSkillsRoot(here, exists = fs.existsSync) {
57
+ const candidates = skillsRootCandidates(here);
58
+ for (const c of candidates) {
59
+ if (exists(c))
60
+ return c;
61
+ }
62
+ return candidates[0];
63
+ }
64
+ const DEFAULT_SKILLS_ROOT = pickSkillsRoot(path.dirname(fileURLToPath(import.meta.url)));
65
+ /**
66
+ * Return the absolute path to the skills root directory. Production: the
67
+ * bundled `packages/server/src/skills/` (or its dist mirror). Tests pass
68
+ * a fixture path explicitly.
69
+ */
70
+ export function getSkillsRoot(skillsRoot) {
71
+ return skillsRoot ?? DEFAULT_SKILLS_ROOT;
72
+ }
73
+ /**
74
+ * Read the content of a skill's SKILL.md file. Returns null if the file
75
+ * does not exist; propagates other I/O errors so callers can distinguish
76
+ * "skill not found" from "can't access skill".
77
+ */
78
+ export function readSkillContent(skillName, skillsRoot) {
79
+ const skillFile = path.join(getSkillsRoot(skillsRoot), skillName, 'SKILL.md');
80
+ try {
81
+ return fs.readFileSync(skillFile, 'utf-8');
82
+ }
83
+ catch (err) {
84
+ if (err.code === 'ENOENT')
85
+ return null;
86
+ throw err;
87
+ }
88
+ }
89
+ /**
90
+ * Return the per-client install directories where skills are written as
91
+ * subdirectories. Only includes clients that use the per-skill directory
92
+ * model (claude-code and codex). Gemini and Cursor bundle skills into a
93
+ * single file/extension and are not included.
94
+ */
95
+ export function discoverPerClientInstallDirs(homeDir) {
96
+ const h = homeDir ?? os.homedir();
97
+ return {
98
+ 'claude-code': path.join(h, '.claude', 'skills'),
99
+ 'codex': path.join(h, '.codex', 'skills'),
100
+ };
101
+ }
102
+ //# sourceMappingURL=discover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/skill-install/discover.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Inline `@include _shared/<path>` directives in `content`.
3
+ *
4
+ * Each line matching `@include _shared/<path>` (space after `@include`) is
5
+ * replaced with the full content of `<skillsRoot>/_shared/<path>`.
6
+ *
7
+ * Security constraints:
8
+ * - Only paths beginning with `_shared/` are accepted.
9
+ * - The resolved path must stay within `<skillsRoot>/_shared/`.
10
+ * Path traversal attempts are rejected with a warning and the directive
11
+ * line is dropped.
12
+ *
13
+ * If a shared file is missing (ENOENT):
14
+ * - A warning is written to stderr.
15
+ * - The include line is removed from the output (not preserved).
16
+ * - Processing continues for remaining directives.
17
+ *
18
+ * Other I/O errors (permission denied, EISDIR, etc.) are re-thrown so the
19
+ * caller can distinguish them from a simple missing-file case.
20
+ *
21
+ * @param skillContext Used in warning messages to identify the skill context.
22
+ * @param content Raw skill content (may contain @include directives).
23
+ * @param skillsRoot Root directory containing `_shared/` sub-directory.
24
+ * @returns The content with directives inlined.
25
+ */
26
+ export declare function inlineIncludes(skillContext: string, content: string, skillsRoot: string): string;
27
+ //# sourceMappingURL=include-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"include-utils.d.ts","sourceRoot":"","sources":["../../src/skill-install/include-utils.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,MAAM,CA6DR"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Shared include-inlining utilities for skill writers.
3
+ *
4
+ * Provides a common implementation for `@include _shared/<path>` directive
5
+ * processing, used by all skill writers (Claude Code, Cursor, etc.).
6
+ *
7
+ * @module
8
+ */
9
+ import fs from 'node:fs';
10
+ import path from 'node:path';
11
+ /**
12
+ * Regex matching a line that starts with `@include ` (exact space after
13
+ * `@include`) followed by a relative path.
14
+ */
15
+ const INCLUDE_RE = /^@include\s+(.+)$/;
16
+ /**
17
+ * Inline `@include _shared/<path>` directives in `content`.
18
+ *
19
+ * Each line matching `@include _shared/<path>` (space after `@include`) is
20
+ * replaced with the full content of `<skillsRoot>/_shared/<path>`.
21
+ *
22
+ * Security constraints:
23
+ * - Only paths beginning with `_shared/` are accepted.
24
+ * - The resolved path must stay within `<skillsRoot>/_shared/`.
25
+ * Path traversal attempts are rejected with a warning and the directive
26
+ * line is dropped.
27
+ *
28
+ * If a shared file is missing (ENOENT):
29
+ * - A warning is written to stderr.
30
+ * - The include line is removed from the output (not preserved).
31
+ * - Processing continues for remaining directives.
32
+ *
33
+ * Other I/O errors (permission denied, EISDIR, etc.) are re-thrown so the
34
+ * caller can distinguish them from a simple missing-file case.
35
+ *
36
+ * @param skillContext Used in warning messages to identify the skill context.
37
+ * @param content Raw skill content (may contain @include directives).
38
+ * @param skillsRoot Root directory containing `_shared/` sub-directory.
39
+ * @returns The content with directives inlined.
40
+ */
41
+ export function inlineIncludes(skillContext, content, skillsRoot) {
42
+ const lines = content.split('\n');
43
+ const result = [];
44
+ for (const line of lines) {
45
+ const match = INCLUDE_RE.exec(line);
46
+ if (!match) {
47
+ result.push(line);
48
+ continue;
49
+ }
50
+ const relativePath = match[1] ?? '';
51
+ // Security: only accept paths beginning with `_shared/`
52
+ if (!relativePath.startsWith('_shared/')) {
53
+ process.stderr.write(`Warning: ${skillContext}: @include path must start with ` +
54
+ `"_shared/": ${relativePath}\n`);
55
+ // Directive line is dropped — do not push anything.
56
+ continue;
57
+ }
58
+ // Security: reject path traversal attempts
59
+ const resolvedPath = path.resolve(skillsRoot, relativePath);
60
+ const sharedDir = path.resolve(skillsRoot, '_shared');
61
+ if (!resolvedPath.startsWith(sharedDir + path.sep) &&
62
+ resolvedPath !== sharedDir) {
63
+ process.stderr.write(`Warning: ${skillContext}: @include path rejected ` +
64
+ `(path traversal): ${relativePath}\n`);
65
+ // Directive line is dropped.
66
+ continue;
67
+ }
68
+ const sharedFilePath = path.join(skillsRoot, relativePath);
69
+ try {
70
+ const sharedContent = fs.readFileSync(sharedFilePath, 'utf-8');
71
+ result.push(sharedContent);
72
+ }
73
+ catch (err) {
74
+ const nodeErr = err;
75
+ if (nodeErr.code === 'ENOENT') {
76
+ // Missing shared file — warn and drop the directive line.
77
+ const detail = err instanceof Error ? err.message : String(err);
78
+ process.stderr.write(`Warning: ${skillContext}: shared file not found: ` +
79
+ `${sharedFilePath} (referenced by @include ${relativePath}) — ${detail}\n`);
80
+ // Line is dropped — do not push anything.
81
+ }
82
+ else {
83
+ // Permission errors, EISDIR, etc. — re-throw so the caller notices.
84
+ throw err;
85
+ }
86
+ }
87
+ }
88
+ return result.join('\n');
89
+ }
90
+ //# sourceMappingURL=include-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"include-utils.js","sourceRoot":"","sources":["../../src/skill-install/include-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;GAGG;AACH,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,cAAc,CAC5B,YAAoB,EACpB,OAAe,EACf,UAAkB;IAElB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEpC,wDAAwD;QACxD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,YAAY,YAAY,kCAAkC;gBAC1D,eAAe,YAAY,IAAI,CAChC,CAAC;YACF,oDAAoD;YACpD,SAAS;QACX,CAAC;QAED,2CAA2C;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACtD,IACE,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC;YAC9C,YAAY,KAAK,SAAS,EAC1B,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,YAAY,YAAY,2BAA2B;gBACnD,qBAAqB,YAAY,IAAI,CACtC,CAAC;YACF,6BAA6B;YAC7B,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAE3D,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAA4B,CAAC;YAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,0DAA0D;gBAC1D,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,YAAY,YAAY,2BAA2B;oBACnD,GAAG,cAAc,4BAA4B,YAAY,OAAO,MAAM,IAAI,CAC3E,CAAC;gBACF,0CAA0C;YAC5C,CAAC;iBAAM,CAAC;gBACN,oEAAoE;gBACpE,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,90 @@
1
+ import { z } from 'zod';
2
+ /** Union of all supported AI client targets. */
3
+ export type Client = 'claude-code' | 'gemini' | 'codex' | 'cursor';
4
+ /** All known client values — used for --all-targets and target validation. */
5
+ export declare const ALL_CLIENTS: readonly Client[];
6
+ /**
7
+ * Detect which AI client directories exist in the home directory.
8
+ * Checks for evidence of each known client:
9
+ * - claude-code: ~/.claude/ directory present (installs skills under ~/.claude/skills/)
10
+ * - gemini: ~/.gemini/extensions/ directory present
11
+ * - codex: ~/.codex/ directory present (installs skills under ~/.codex/skills/)
12
+ * - cursor: ~/.cursor/rules/ directory present
13
+ *
14
+ * The claude-code check deliberately accepts ~/.claude/ as sufficient signal
15
+ * even when ~/.claude/skills/ does not yet exist (fresh install with no skills).
16
+ */
17
+ export declare function detectClients(homeDir: string): Client[];
18
+ declare const manifestEntrySchema: z.ZodObject<{
19
+ name: z.ZodString;
20
+ skillVersion: z.ZodString;
21
+ installedAt: z.ZodNumber;
22
+ targets: z.ZodArray<z.ZodEnum<{
23
+ gemini: "gemini";
24
+ "claude-code": "claude-code";
25
+ cursor: "cursor";
26
+ codex: "codex";
27
+ }>>;
28
+ }, z.core.$strip>;
29
+ declare const installManifestSchema: z.ZodObject<{
30
+ version: z.ZodLiteral<2>;
31
+ entries: z.ZodArray<z.ZodObject<{
32
+ name: z.ZodString;
33
+ skillVersion: z.ZodString;
34
+ installedAt: z.ZodNumber;
35
+ targets: z.ZodArray<z.ZodEnum<{
36
+ gemini: "gemini";
37
+ "claude-code": "claude-code";
38
+ cursor: "cursor";
39
+ codex: "codex";
40
+ }>>;
41
+ }, z.core.$strip>>;
42
+ }, z.core.$strip>;
43
+ export type InstallManifest = z.infer<typeof installManifestSchema>;
44
+ export type ManifestEntry = z.infer<typeof manifestEntrySchema>;
45
+ /** Thrown when the manifest declares a version newer than this mmagent supports. */
46
+ export declare class FutureManifestError extends Error {
47
+ constructor(version: number);
48
+ }
49
+ /** Thrown when the manifest JSON parses but fails Zod structural validation. */
50
+ export declare class ManifestSchemaValidationError extends Error {
51
+ constructor(manifestPath: string, issues: z.ZodError);
52
+ }
53
+ /** The directory where the manifest file lives. */
54
+ export declare function manifestDir(homeDir?: string): string;
55
+ /** Full path to the manifest file. */
56
+ export declare function manifestPath(homeDir?: string): string;
57
+ /**
58
+ * Return all manifest entries, newest-first.
59
+ */
60
+ export declare function listEntries(homeDir?: string): ManifestEntry[];
61
+ /**
62
+ * Find the entry for `skillName`, or undefined if not installed.
63
+ */
64
+ export declare function getEntry(skillName: string, homeDir?: string): ManifestEntry | undefined;
65
+ /**
66
+ * Append (or update) the entry for `skillName`.
67
+ *
68
+ * - New entry: creates with de-duplicated `newTargets`.
69
+ * - Existing entry: merges `newTargets` into existing targets (no duplicates),
70
+ * refreshes `version` and `installedAt`.
71
+ *
72
+ * In both paths the stored `targets` array is a fresh copy — caller mutations
73
+ * after the call do not affect the in-memory object or persisted manifest.
74
+ *
75
+ * Returns the resulting entry.
76
+ */
77
+ export declare function appendEntry(skillName: string, skillVersion: string, newTargets: Client[], homeDir?: string): ManifestEntry;
78
+ /**
79
+ * Remove `targets` from the entry for `skillName`.
80
+ * If `targets` is omitted or empty, removes the entire entry.
81
+ * Returns the removed targets (or all targets for a full removal),
82
+ * or an empty array if the skill wasn't in the manifest.
83
+ */
84
+ export declare function removeEntry(skillName: string, targets?: Client[], homeDir?: string): Client[];
85
+ /**
86
+ * Returns true when `skillName` is recorded in the manifest with at least one target.
87
+ */
88
+ export declare function isInstalled(skillName: string, homeDir?: string): boolean;
89
+ export {};
90
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/skill-install/manifest.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,gDAAgD;AAChD,MAAM,MAAM,MAAM,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEnE,8EAA8E;AAC9E,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAAiD,CAAC;AAE3F;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAOvD;AAUD,QAAA,MAAM,mBAAmB;;;;;;;;;;iBAKvB,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;iBAGzB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,oFAAoF;AACpF,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,gFAAgF;AAChF,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ;CAKrD;AAID,mDAAmD;AACnD,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,sCAAsC;AACtC,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD;AAwED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAE7D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,aAAa,CA+Bf;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAAM,EAAO,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,EAAE,CAsBV;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAGxE"}