@vibe-agent-toolkit/cli 0.1.1 → 0.1.2-rc.1

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/dist/bin.js CHANGED
@@ -7,6 +7,7 @@ import { Command } from 'commander';
7
7
  import { createAgentCommand, showAgentVerboseHelp } from './commands/agent/index.js';
8
8
  import { createAuditCommand } from './commands/audit.js';
9
9
  import { doctorCommand } from './commands/doctor.js';
10
+ import { createMCPCommand } from './commands/mcp/index.js';
10
11
  import { createRagCommand, showRagVerboseHelp } from './commands/rag/index.js';
11
12
  import { createResourcesCommand, showResourcesVerboseHelp } from './commands/resources/index.js';
12
13
  import { loadVerboseHelp } from './utils/help-loader.js';
@@ -93,6 +94,7 @@ program.addCommand(createAuditCommand());
93
94
  program.addCommand(createResourcesCommand());
94
95
  program.addCommand(createRagCommand());
95
96
  program.addCommand(createAgentCommand());
97
+ program.addCommand(createMCPCommand());
96
98
  // Add standalone commands
97
99
  doctorCommand(program);
98
100
  // Handle unknown commands
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export interface AuditCommandOptions {
8
8
  recursive?: boolean;
9
9
  user?: boolean;
10
10
  verbose?: boolean;
11
+ warnUnreferencedFiles?: boolean;
11
12
  }
12
13
  /**
13
14
  * Create audit command
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAyD5C;AAWD,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA6Cf"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CA+D5C;AAWD,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA6Cf"}
@@ -24,6 +24,7 @@ export function createAuditCommand() {
24
24
  .option('-r, --recursive', 'Scan directories recursively for all resource types')
25
25
  .option('--user', 'Audit user-level Claude plugins installation (~/.claude/plugins)')
26
26
  .option('--verbose', 'Show all scanned resources, including those without issues')
27
+ .option('--warn-unreferenced-files', 'Warn about files not referenced in skill markdown')
27
28
  .option('--debug', 'Enable debug logging')
28
29
  .action(auditCommand)
29
30
  .addHelpText('after', `
@@ -44,6 +45,10 @@ Description:
44
45
  Default: current directory
45
46
  Use --user to audit user-level installation (~/.claude/plugins) automatically
46
47
 
48
+ Validation Behavior:
49
+ Default: Validates SKILL.md and all transitively linked markdown files
50
+ --warn-unreferenced-files: Also detect files not referenced in skill
51
+
47
52
  Validation Checks:
48
53
  Errors (must fix):
49
54
  - Missing or invalid manifests/frontmatter
@@ -56,6 +61,7 @@ Validation Checks:
56
61
  Warnings (should fix):
57
62
  - Skill exceeds recommended length (>5000 lines)
58
63
  - References console-incompatible tools (Skills only)
64
+ - Unreferenced files detected (with --warn-unreferenced-files)
59
65
 
60
66
  Exit Codes:
61
67
  0 - Success | 1 - Errors found | 2 - System error
@@ -101,7 +107,7 @@ export async function auditCommand(targetPath, options) {
101
107
  logger.debug(`Auditing resources at: ${scanPath}`);
102
108
  }
103
109
  // Get validation results
104
- const results = await getValidationResults(scanPath, recursive, logger);
110
+ const results = await getValidationResults(scanPath, recursive, options, logger);
105
111
  // Use hierarchical output for --user flag, flat output otherwise
106
112
  if (options.user) {
107
113
  // Filter to only include claude-skill type for hierarchical output
@@ -122,19 +128,27 @@ export async function auditCommand(targetPath, options) {
122
128
  handleCommandError(error, logger, startTime, 'AgentAudit');
123
129
  }
124
130
  }
125
- async function getValidationResults(scanPath, recursive, logger) {
131
+ async function getValidationResults(scanPath, recursive, options, logger) {
126
132
  const format = detectFormat(scanPath);
127
133
  // Special handling for direct SKILL.md file
128
134
  if (format === 'claude-skill') {
129
135
  logger.debug('Detected single Claude Skill');
130
- const result = await validateSkill({ skillPath: scanPath });
136
+ const validateOptions = { skillPath: scanPath };
137
+ if (options.warnUnreferencedFiles) {
138
+ validateOptions.checkUnreferencedFiles = true;
139
+ }
140
+ const result = await validateSkill(validateOptions);
131
141
  return [result];
132
142
  }
133
143
  // Special handling for VAT agent: validate its SKILL.md
134
144
  if (format === 'vat-agent') {
135
145
  const skillPath = path.join(scanPath, 'SKILL.md');
136
146
  logger.debug('Detected VAT agent, validating SKILL.md');
137
- const result = await validateSkill({ skillPath, isVATGenerated: true });
147
+ const validateOptions = { skillPath, isVATGenerated: true };
148
+ if (options.warnUnreferencedFiles) {
149
+ validateOptions.checkUnreferencedFiles = true;
150
+ }
151
+ const result = await validateSkill(validateOptions);
138
152
  return [result];
139
153
  }
140
154
  // For plugin/marketplace directories or registry files, use unified validator
@@ -150,7 +164,7 @@ async function getValidationResults(scanPath, recursive, logger) {
150
164
  const stat = await fs.stat(scanPath);
151
165
  if (stat.isDirectory()) {
152
166
  logger.debug('Scanning directory for resources');
153
- return scanDirectory(scanPath, recursive, logger);
167
+ return scanDirectory(scanPath, recursive, options, logger);
154
168
  }
155
169
  }
156
170
  catch {
@@ -214,7 +228,7 @@ function logIssues(issues, logFn) {
214
228
  /**
215
229
  * Handle file entry during directory scan
216
230
  */
217
- async function handleFileEntry(entry, fullPath, logger) {
231
+ async function handleFileEntry(entry, fullPath, options, logger) {
218
232
  // Check for registry files
219
233
  if (entry.name === 'installed_plugins.json' || entry.name === 'known_marketplaces.json') {
220
234
  logger.debug(`Validating registry: ${fullPath}`);
@@ -223,14 +237,18 @@ async function handleFileEntry(entry, fullPath, logger) {
223
237
  // Check for SKILL.md
224
238
  if (entry.name === 'SKILL.md') {
225
239
  logger.debug(`Validating Claude Skill: ${fullPath}`);
226
- return validateSkill({ skillPath: fullPath });
240
+ const validateOptions = { skillPath: fullPath };
241
+ if (options.warnUnreferencedFiles) {
242
+ validateOptions.checkUnreferencedFiles = true;
243
+ }
244
+ return validateSkill(validateOptions);
227
245
  }
228
246
  return null;
229
247
  }
230
248
  /**
231
249
  * Handle directory entry during directory scan
232
250
  */
233
- async function handleDirectoryEntry(fullPath, recursive, logger) {
251
+ async function handleDirectoryEntry(fullPath, recursive, options, logger) {
234
252
  const fs = await import('node:fs/promises');
235
253
  const results = [];
236
254
  // Check if directory contains a plugin or marketplace
@@ -243,25 +261,25 @@ async function handleDirectoryEntry(fullPath, recursive, logger) {
243
261
  }
244
262
  // Recurse into subdirectories (both plugin/marketplace dirs and regular dirs)
245
263
  if (recursive) {
246
- const subResults = await scanDirectory(fullPath, recursive, logger);
264
+ const subResults = await scanDirectory(fullPath, recursive, options, logger);
247
265
  results.push(...subResults);
248
266
  }
249
267
  return results;
250
268
  }
251
- async function scanDirectory(dirPath, recursive, logger) {
269
+ async function scanDirectory(dirPath, recursive, options, logger) {
252
270
  const fs = await import('node:fs/promises');
253
271
  const results = [];
254
272
  const entries = await fs.readdir(dirPath, { withFileTypes: true });
255
273
  for (const entry of entries) {
256
274
  const fullPath = path.join(dirPath, entry.name);
257
275
  if (entry.isFile()) {
258
- const result = await handleFileEntry(entry, fullPath, logger);
276
+ const result = await handleFileEntry(entry, fullPath, options, logger);
259
277
  if (result !== null) {
260
278
  results.push(result);
261
279
  }
262
280
  }
263
281
  else if (entry.isDirectory()) {
264
- const dirResults = await handleDirectoryEntry(fullPath, recursive, logger);
282
+ const dirResults = await handleDirectoryEntry(fullPath, recursive, options, logger);
265
283
  results.push(...dirResults);
266
284
  }
267
285
  }
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * MCP collection resolution and loading
3
+ *
4
+ * Supports:
5
+ * - Package names: @vibe-agent-toolkit/vat-example-cat-agents
6
+ * - File paths: ./packages/vat-example-cat-agents
7
+ * - Collection suffix: @scope/package:collection-name
8
+ *
9
+ * Phase 1: Dynamic loading from npm packages or file paths
10
+ * Phase 2+: Global discovery registry
11
+ */
12
+ import type { Agent, OneShotAgentOutput } from '@vibe-agent-toolkit/agent-schema';
13
+ export interface AgentRegistration {
14
+ name: string;
15
+ agent: Agent<unknown, OneShotAgentOutput<unknown, string>>;
16
+ description: string;
17
+ }
18
+ export interface AgentCollection {
19
+ name: string;
20
+ description: string;
21
+ agents: AgentRegistration[];
22
+ }
23
+ export interface CollectionModule {
24
+ collections?: Record<string, AgentCollection>;
25
+ defaultCollection?: AgentCollection;
26
+ catAgents?: AgentCollection;
27
+ }
28
+ /**
29
+ * Resolve package name or file path to a collection
30
+ *
31
+ * Supports:
32
+ * - @scope/package → import from node_modules
33
+ * - @scope/package:collection → import specific collection
34
+ * - ./path → import from file path
35
+ * - /abs/path → import from absolute path
36
+ */
37
+ export declare function resolveCollection(packageOrPath: string): Promise<AgentCollection>;
38
+ /**
39
+ * List known packages with MCP collections
40
+ *
41
+ * Phase 1: Hardcoded known packages
42
+ * Phase 2+: Global registry or package.json discovery
43
+ */
44
+ export declare function listKnownPackages(): Array<{
45
+ name: string;
46
+ description: string;
47
+ }>;
48
+ //# sourceMappingURL=collections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/collections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAElF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC9C,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CASvF;AA4HD;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAOhF"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * MCP collection resolution and loading
3
+ *
4
+ * Supports:
5
+ * - Package names: @vibe-agent-toolkit/vat-example-cat-agents
6
+ * - File paths: ./packages/vat-example-cat-agents
7
+ * - Collection suffix: @scope/package:collection-name
8
+ *
9
+ * Phase 1: Dynamic loading from npm packages or file paths
10
+ * Phase 2+: Global discovery registry
11
+ */
12
+ import { pathToFileURL } from 'node:url';
13
+ /**
14
+ * Resolve package name or file path to a collection
15
+ *
16
+ * Supports:
17
+ * - @scope/package → import from node_modules
18
+ * - @scope/package:collection → import specific collection
19
+ * - ./path → import from file path
20
+ * - /abs/path → import from absolute path
21
+ */
22
+ export async function resolveCollection(packageOrPath) {
23
+ const parts = packageOrPath.split(':');
24
+ const packagePart = parts[0] ?? packageOrPath;
25
+ const collectionName = parts[1];
26
+ const importPath = buildImportPath(packagePart);
27
+ const module = await loadCollectionModule(importPath, packageOrPath);
28
+ return selectCollection(module, collectionName, packagePart, packageOrPath);
29
+ }
30
+ /**
31
+ * Build import path from package name or file path
32
+ */
33
+ function buildImportPath(packagePart) {
34
+ const isFilePath = packagePart.startsWith('.') || packagePart.startsWith('/');
35
+ if (isFilePath) {
36
+ // File path: convert to file:// URL for ESM import
37
+ const absolutePath = new URL(packagePart, pathToFileURL(process.cwd() + '/').href).href;
38
+ return `${absolutePath}/dist/mcp-collections.js`;
39
+ }
40
+ // Package name: import from node_modules
41
+ return `${packagePart}/mcp-collections`;
42
+ }
43
+ /**
44
+ * Load collection module with error handling
45
+ */
46
+ async function loadCollectionModule(importPath, originalInput) {
47
+ try {
48
+ return (await import(importPath));
49
+ }
50
+ catch (error) {
51
+ throw new Error(`Failed to load MCP collections from '${originalInput}':\n` +
52
+ ` Import path: ${importPath}\n` +
53
+ ` Error: ${error instanceof Error ? error.message : String(error)}\n\n` +
54
+ `Make sure the package:\n` +
55
+ ` 1. Is installed (npm/bun install)\n` +
56
+ ` 2. Exports 'mcp-collections' entrypoint\n` +
57
+ ` 3. Has been built (bun run build)`);
58
+ }
59
+ }
60
+ /**
61
+ * Select collection from module
62
+ */
63
+ function selectCollection(module, collectionName, packagePart, originalInput) {
64
+ // Explicit collection requested
65
+ if (collectionName) {
66
+ return selectExplicitCollection(module, collectionName, packagePart);
67
+ }
68
+ // Auto-select collection
69
+ if (module.defaultCollection) {
70
+ return module.defaultCollection;
71
+ }
72
+ if (module.catAgents) {
73
+ return module.catAgents; // Legacy support
74
+ }
75
+ if (module.collections) {
76
+ return selectFromCollections(module.collections, packagePart);
77
+ }
78
+ throw new Error(`No MCP collections found in '${originalInput}'.\n` +
79
+ `Package must export:\n` +
80
+ ` - collections: Record<string, MCPCollection>\n` +
81
+ ` - defaultCollection: MCPCollection (optional)\n\n` +
82
+ `See: packages/vat-example-cat-agents/src/mcp-collections.ts`);
83
+ }
84
+ /**
85
+ * Select explicit collection by name
86
+ */
87
+ function selectExplicitCollection(module, collectionName, packagePart) {
88
+ const collection = module.collections?.[collectionName];
89
+ if (!collection) {
90
+ const available = module.collections ? Object.keys(module.collections).join(', ') : 'none';
91
+ throw new Error(`Collection '${collectionName}' not found in '${packagePart}'.\n` +
92
+ `Available collections: ${available}\n\n` +
93
+ `Usage: ${packagePart}:${available.split(', ')[0] ?? collectionName}`);
94
+ }
95
+ return collection;
96
+ }
97
+ /**
98
+ * Select collection from collections map
99
+ */
100
+ function selectFromCollections(collections, packagePart) {
101
+ const collectionNames = Object.keys(collections);
102
+ if (collectionNames.length === 1) {
103
+ const firstKey = collectionNames[0];
104
+ const collection = firstKey ? collections[firstKey] : undefined;
105
+ if (collection) {
106
+ return collection;
107
+ }
108
+ }
109
+ if (collectionNames.length > 1) {
110
+ throw new Error(`Package '${packagePart}' exports multiple collections.\n` +
111
+ `Please specify which one to use:\n` +
112
+ collectionNames.map((name) => ` ${packagePart}:${name}`).join('\n'));
113
+ }
114
+ throw new Error(`No collections found in collections object`);
115
+ }
116
+ /**
117
+ * List known packages with MCP collections
118
+ *
119
+ * Phase 1: Hardcoded known packages
120
+ * Phase 2+: Global registry or package.json discovery
121
+ */
122
+ export function listKnownPackages() {
123
+ return [
124
+ {
125
+ name: '@vibe-agent-toolkit/vat-example-cat-agents',
126
+ description: 'Example cat breeding agents (haiku validator, photo analyzer)',
127
+ },
128
+ ];
129
+ }
130
+ //# sourceMappingURL=collections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../src/commands/mcp/collections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * MCP command group - expose VAT agents via Model Context Protocol
3
+ */
4
+ import { Command } from 'commander';
5
+ /**
6
+ * Create MCP command group
7
+ */
8
+ export declare function createMCPCommand(): Command;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CA+E1C"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * MCP command group - expose VAT agents via Model Context Protocol
3
+ */
4
+ import { Command } from 'commander';
5
+ import { listCollectionsCommand } from './list-collections.js';
6
+ import { serveCommand } from './serve.js';
7
+ /**
8
+ * Create MCP command group
9
+ */
10
+ export function createMCPCommand() {
11
+ const mcp = new Command('mcp');
12
+ mcp
13
+ .description('Expose agents via Model Context Protocol (MCP) for Claude Desktop')
14
+ .addHelpText('after', `
15
+ Description:
16
+ MCP Gateway exposes VAT agents as tools that Claude Desktop and other
17
+ MCP clients can discover and use.
18
+
19
+ Phase 1: Package-scoped collections (@scope/package or ./path)
20
+ Phase 2+: Global discovery registry with versioning
21
+
22
+ Examples:
23
+ $ vat mcp list-collections # Show known packages
24
+ $ vat mcp serve @vibe-agent-toolkit/vat-example-cat-agents
25
+ $ vat mcp serve ./packages/vat-example-cat-agents # Local development
26
+ `);
27
+ // vat mcp list-collections
28
+ mcp
29
+ .command('list-collections')
30
+ .description('List known MCP agent packages')
31
+ .option('--debug', 'Enable debug logging')
32
+ .action(listCollectionsCommand);
33
+ // vat mcp serve <package>
34
+ mcp
35
+ .command('serve <package>')
36
+ .description('Start MCP server for agent package')
37
+ .option('--debug', 'Enable debug logging')
38
+ .option('--print-config', 'Print Claude Desktop configuration and exit')
39
+ .addHelpText('after', `
40
+ Description:
41
+ Starts an MCP stdio server exposing agents from the specified package.
42
+ The server runs until terminated (Ctrl+C).
43
+
44
+ Supports:
45
+ - Package names: @scope/package (from node_modules)
46
+ - File paths: ./path or /abs/path (local development)
47
+ - Collection suffix: package:collection-name (if multiple)
48
+
49
+ For Claude Desktop integration, add the generated config to:
50
+ ~/.claude/config.json
51
+
52
+ Output:
53
+ - MCP protocol messages on stdout (for Claude Desktop)
54
+ - Logs to stderr (does not interfere with MCP protocol)
55
+
56
+ Examples:
57
+ # Production (from npm)
58
+ $ vat mcp serve @vibe-agent-toolkit/vat-example-cat-agents
59
+
60
+ # Local development (file path)
61
+ $ vat mcp serve ./packages/vat-example-cat-agents
62
+
63
+ # Show Claude Desktop config
64
+ $ vat mcp serve @vibe-agent-toolkit/vat-example-cat-agents --print-config
65
+
66
+ Claude Desktop Config:
67
+ Add to ~/.claude/config.json:
68
+ {
69
+ "mcpServers": {
70
+ "vat-agents": {
71
+ "command": "vat",
72
+ "args": ["mcp", "serve", "@vibe-agent-toolkit/vat-example-cat-agents"]
73
+ }
74
+ }
75
+ }
76
+ `)
77
+ .action(serveCommand);
78
+ return mcp;
79
+ }
80
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/mcp/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAE/B,GAAG;SACA,WAAW,CAAC,mEAAmE,CAAC;SAChF,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;CAYL,CACI,CAAC;IAEJ,2BAA2B;IAC3B,GAAG;SACA,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAElC,0BAA0B;IAC1B,GAAG;SACA,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,gBAAgB,EAAE,6CAA6C,CAAC;SACvE,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCL,CACI;SACA,MAAM,CAAC,YAAY,CAAC,CAAC;IAExB,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * MCP list-collections command - lists available agent collections
3
+ */
4
+ export interface ListCollectionsOptions {
5
+ debug?: boolean;
6
+ }
7
+ /**
8
+ * List available MCP agent collections
9
+ */
10
+ export declare function listCollectionsCommand(options: ListCollectionsOptions): Promise<void>;
11
+ //# sourceMappingURL=list-collections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-collections.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/list-collections.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAqCf"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * MCP list-collections command - lists available agent collections
3
+ */
4
+ import { handleCommandError } from '../../utils/command-error.js';
5
+ import { createLogger } from '../../utils/logger.js';
6
+ import { writeYamlOutput } from '../../utils/output.js';
7
+ import { listKnownPackages } from './collections.js';
8
+ /**
9
+ * List available MCP agent collections
10
+ */
11
+ export async function listCollectionsCommand(options) {
12
+ const logger = createLogger(options.debug ? { debug: true } : {});
13
+ const startTime = Date.now();
14
+ try {
15
+ const packages = listKnownPackages();
16
+ const output = {
17
+ status: 'success',
18
+ packages: packages.map((p) => ({
19
+ name: p.name,
20
+ description: p.description,
21
+ })),
22
+ count: packages.length,
23
+ duration: `${Date.now() - startTime}ms`,
24
+ };
25
+ writeYamlOutput(output);
26
+ logger.info(`\nAvailable MCP agent packages:\n`);
27
+ for (const pkg of packages) {
28
+ logger.info(` ${pkg.name}`);
29
+ logger.info(` ${pkg.description}\n`);
30
+ }
31
+ logger.info(`Usage:`);
32
+ logger.info(` vat mcp serve <package> # Start MCP server`);
33
+ logger.info(` vat mcp serve <package> --print-config # Show Claude Desktop config\n`);
34
+ logger.info(`Examples:`);
35
+ logger.info(` vat mcp serve @vibe-agent-toolkit/vat-example-cat-agents`);
36
+ logger.info(` vat mcp serve ./packages/vat-example-cat-agents # Local development\n`);
37
+ process.exit(0);
38
+ }
39
+ catch (error) {
40
+ handleCommandError(error, logger, startTime, 'MCPListCollections');
41
+ }
42
+ }
43
+ //# sourceMappingURL=list-collections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-collections.js","sourceRoot":"","sources":["../../../src/commands/mcp/list-collections.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAMrD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAA+B;IAE/B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;QAErC,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;aAC3B,CAAC,CAAC;YACH,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI;SACxC,CAAC;QAEF,eAAe,CAAC,MAAM,CAAC,CAAC;QAExB,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACjD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC5E,MAAM,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QAExF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QAExF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * MCP serve command - exposes agent collections via MCP stdio transport
3
+ */
4
+ export interface ServeCommandOptions {
5
+ debug?: boolean;
6
+ printConfig?: boolean;
7
+ }
8
+ /**
9
+ * MCP serve command
10
+ */
11
+ export declare function serveCommand(packageOrPath: string, options: ServeCommandOptions): Promise<void>;
12
+ //# sourceMappingURL=serve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/serve.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAmCD;;GAEG;AACH,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAwDf"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * MCP serve command - exposes agent collections via MCP stdio transport
3
+ */
4
+ import { StdioMCPGateway, ConsoleLogger, NoOpObservabilityProvider, } from '@vibe-agent-toolkit/gateway-mcp';
5
+ import { handleCommandError } from '../../utils/command-error.js';
6
+ import { createLogger } from '../../utils/logger.js';
7
+ import { resolveCollection } from './collections.js';
8
+ /**
9
+ * Custom observability provider with console logger
10
+ * Extends NoOpObservabilityProvider and overrides getLogger() to provide console output
11
+ */
12
+ class ConsoleObservabilityProvider extends NoOpObservabilityProvider {
13
+ consoleLogger = new ConsoleLogger();
14
+ getLogger() {
15
+ return this.consoleLogger;
16
+ }
17
+ }
18
+ /**
19
+ * Generate Claude Desktop configuration for a package
20
+ */
21
+ function generateClaudeDesktopConfig(packageOrPath) {
22
+ // Use package name as MCP server key (sanitize for JSON key)
23
+ const serverKey = packageOrPath
24
+ .replaceAll('@vibe-agent-toolkit/', 'vat-')
25
+ .replaceAll(/[^a-z0-9-]/gi, '-');
26
+ const config = {
27
+ mcpServers: {
28
+ [serverKey]: {
29
+ command: 'vat',
30
+ args: ['mcp', 'serve', packageOrPath],
31
+ },
32
+ },
33
+ };
34
+ return JSON.stringify(config, null, 2);
35
+ }
36
+ /**
37
+ * MCP serve command
38
+ */
39
+ export async function serveCommand(packageOrPath, options) {
40
+ const logger = createLogger(options.debug ? { debug: true } : {});
41
+ const startTime = Date.now();
42
+ try {
43
+ // Handle --print-config flag
44
+ if (options.printConfig) {
45
+ logger.info(`\nClaude Desktop configuration for '${packageOrPath}':\n`);
46
+ logger.info('Add this to ~/.claude/config.json:\n');
47
+ console.log(generateClaudeDesktopConfig(packageOrPath));
48
+ logger.info('\nThen restart Claude Desktop to load the MCP server.');
49
+ process.exit(0);
50
+ }
51
+ // Resolve collection from package name or file path
52
+ logger.debug(`Resolving MCP collection from: ${packageOrPath}`);
53
+ const collection = await resolveCollection(packageOrPath);
54
+ logger.debug(`Collection resolved: ${collection.name}`);
55
+ logger.debug(`Agents: ${collection.agents.map((a) => a.name).join(', ')}`);
56
+ // Create and start gateway
57
+ const gateway = new StdioMCPGateway({
58
+ agents: collection.agents.map((reg) => ({
59
+ name: reg.name,
60
+ agent: reg.agent,
61
+ })),
62
+ transport: 'stdio',
63
+ observability: new ConsoleObservabilityProvider(),
64
+ });
65
+ logger.info(`Starting MCP gateway: ${collection.agents.length} agent(s) (${Date.now() - startTime}ms)`);
66
+ await gateway.start();
67
+ // Setup graceful shutdown
68
+ process.on('SIGINT', () => {
69
+ logger.info('Shutting down MCP gateway...');
70
+ process.exit(0);
71
+ });
72
+ // Wait for stdin to close (stdio server lifetime = stdin lifetime)
73
+ await new Promise((resolve) => {
74
+ process.stdin.on('end', () => {
75
+ logger.info('Stdin closed, shutting down...');
76
+ resolve();
77
+ });
78
+ process.stdin.on('error', () => {
79
+ resolve();
80
+ });
81
+ });
82
+ }
83
+ catch (error) {
84
+ handleCommandError(error, logger, startTime, 'MCPServe');
85
+ }
86
+ }
87
+ //# sourceMappingURL=serve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/commands/mcp/serve.ts"],"names":[],"mappings":"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"}
package/docs/mcp.md ADDED
@@ -0,0 +1,317 @@
1
+ # MCP Commands
2
+
3
+ Expose VAT agents via Model Context Protocol (MCP) for Claude Desktop and other MCP clients.
4
+
5
+ ## Overview
6
+
7
+ The MCP Gateway exposes VAT agents as tools that LLM systems can discover and invoke. This enables:
8
+
9
+ - **Claude Desktop integration** - Use agents through conversational UI
10
+ - **Agent orchestration** - LLMs coordinate multiple agents for complex tasks
11
+ - **Standardized discovery** - Clients can find and understand available tools
12
+
13
+ ## Commands
14
+
15
+ ### `vat mcp list-collections`
16
+
17
+ List known MCP agent packages.
18
+
19
+ **Usage:**
20
+ ```bash
21
+ vat mcp list-collections [options]
22
+ ```
23
+
24
+ **Options:**
25
+ - `--debug` - Enable debug logging
26
+
27
+ **Output:**
28
+ Lists all known packages that export MCP agent collections.
29
+
30
+ **Example:**
31
+ ```bash
32
+ $ vat mcp list-collections
33
+
34
+ Available MCP agent packages:
35
+
36
+ @vibe-agent-toolkit/vat-example-cat-agents
37
+ Example cat breeding agents (haiku validator, photo analyzer)
38
+
39
+ Usage:
40
+ vat mcp serve <package> # Start MCP server
41
+ vat mcp serve <package> --print-config # Show Claude Desktop config
42
+ ```
43
+
44
+ ### `vat mcp serve`
45
+
46
+ Start an MCP stdio server exposing agents from a package.
47
+
48
+ **Usage:**
49
+ ```bash
50
+ vat mcp serve <package> [options]
51
+ ```
52
+
53
+ **Arguments:**
54
+ - `<package>` - Package name or file path
55
+ - Package: `@scope/package` (from node_modules)
56
+ - File path: `./path` or `/abs/path` (local development)
57
+ - Collection suffix: `package:collection-name` (if multiple)
58
+
59
+ **Options:**
60
+ - `--debug` - Enable debug logging
61
+ - `--print-config` - Print Claude Desktop configuration and exit
62
+
63
+ **Behavior:**
64
+ - Runs until terminated (Ctrl+C)
65
+ - Writes MCP protocol messages to stdout
66
+ - Writes logs to stderr (does not interfere with protocol)
67
+
68
+ **Example - Production:**
69
+ ```bash
70
+ vat mcp serve @vibe-agent-toolkit/vat-example-cat-agents
71
+ ```
72
+
73
+ **Example - Local Development:**
74
+ ```bash
75
+ vat mcp serve ./packages/vat-example-cat-agents
76
+ ```
77
+
78
+ **Example - Show Configuration:**
79
+ ```bash
80
+ $ vat mcp serve @vibe-agent-toolkit/vat-example-cat-agents --print-config
81
+
82
+ Claude Desktop configuration for '@vibe-agent-toolkit/vat-example-cat-agents':
83
+
84
+ Add this to ~/.claude/config.json:
85
+
86
+ {
87
+ "mcpServers": {
88
+ "vat-example-cat-agents": {
89
+ "command": "vat",
90
+ "args": ["mcp", "serve", "@vibe-agent-toolkit/vat-example-cat-agents"]
91
+ }
92
+ }
93
+ }
94
+
95
+ Then restart Claude Desktop to load the MCP server.
96
+ ```
97
+
98
+ ## Claude Desktop Integration
99
+
100
+ ### Configuration File
101
+
102
+ MCP servers are configured in:
103
+ - **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
104
+ - **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
105
+ - **Linux:** `~/.config/Claude/claude_desktop_config.json`
106
+
107
+ ### Basic Setup
108
+
109
+ 1. **Generate configuration:**
110
+ ```bash
111
+ vat mcp serve <package> --print-config
112
+ ```
113
+
114
+ 2. **Add to Claude Desktop config:**
115
+ Copy the generated JSON to your `claude_desktop_config.json`
116
+
117
+ 3. **Restart Claude Desktop:**
118
+ Completely quit and reopen the application
119
+
120
+ 4. **Verify connection:**
121
+ Check Claude Desktop developer console (View → Developer → Toggle Developer Tools)
122
+
123
+ ### Development Setup
124
+
125
+ For local development with unreleased code:
126
+
127
+ ```json
128
+ {
129
+ "mcpServers": {
130
+ "my-agents-dev": {
131
+ "command": "node",
132
+ "args": [
133
+ "/path/to/vibe-agent-toolkit/packages/cli/dist/bin/vat",
134
+ "mcp",
135
+ "serve",
136
+ "@my-scope/my-agents"
137
+ ],
138
+ "env": {
139
+ "VAT_ROOT_DIR": "/path/to/vibe-agent-toolkit"
140
+ }
141
+ }
142
+ }
143
+ }
144
+ ```
145
+
146
+ The `VAT_ROOT_DIR` environment variable tells the wrapper to use local development code.
147
+
148
+ ## Package Structure
149
+
150
+ MCP agent packages must export collections via the `/mcp-collections` entrypoint.
151
+
152
+ ### Example: `src/mcp-collections.ts`
153
+
154
+ ```typescript
155
+ import type { Agent, OneShotAgentOutput } from '@vibe-agent-toolkit/agent-schema';
156
+ import { createSuccess } from '@vibe-agent-toolkit/agent-schema';
157
+
158
+ export interface MCPAgentRegistration {
159
+ name: string;
160
+ agent: Agent<unknown, OneShotAgentOutput<unknown, string>>;
161
+ description: string;
162
+ }
163
+
164
+ export interface MCPCollection {
165
+ name: string;
166
+ description: string;
167
+ agents: MCPAgentRegistration[];
168
+ }
169
+
170
+ // Wrap stateless agents for MCP
171
+ function wrapStatelessAgent<TInput, TOutput>(
172
+ agent: { name: string; manifest: unknown; execute: (input: TInput) => TOutput | Promise<TOutput> }
173
+ ): Agent<TInput, OneShotAgentOutput<TOutput, string>> {
174
+ return {
175
+ name: agent.name,
176
+ manifest: agent.manifest as any,
177
+ execute: async (input: TInput) => {
178
+ const data = await Promise.resolve(agent.execute(input));
179
+ return {
180
+ result: createSuccess(data),
181
+ };
182
+ },
183
+ };
184
+ }
185
+
186
+ export const myAgents: MCPCollection = {
187
+ name: 'my-agents',
188
+ description: 'My agent collection',
189
+ agents: [
190
+ {
191
+ name: 'my-agent',
192
+ agent: wrapStatelessAgent(myAgent),
193
+ description: 'Agent description',
194
+ },
195
+ ],
196
+ };
197
+
198
+ export const collections: Record<string, MCPCollection> = {
199
+ 'my-agents': myAgents,
200
+ };
201
+
202
+ export const defaultCollection = myAgents;
203
+ ```
204
+
205
+ ### Example: `package.json`
206
+
207
+ ```json
208
+ {
209
+ "name": "@my-scope/my-agents",
210
+ "exports": {
211
+ ".": {
212
+ "types": "./dist/index.d.ts",
213
+ "default": "./dist/index.js"
214
+ },
215
+ "./mcp-collections": {
216
+ "types": "./dist/mcp-collections.d.ts",
217
+ "default": "./dist/mcp-collections.js"
218
+ }
219
+ }
220
+ }
221
+ ```
222
+
223
+ ## Troubleshooting
224
+
225
+ ### Server Won't Start
226
+
227
+ **Check logs:**
228
+ - **macOS:** `~/Library/Logs/Claude/mcp-server-<name>.log`
229
+ - **Windows:** `%APPDATA%\Claude\logs\mcp-server-<name>.log`
230
+ - **Linux:** `~/.config/Claude/logs/mcp-server-<name>.log`
231
+
232
+ **Common issues:**
233
+ 1. **Package not installed:** Run `npm install <package>` or `bun install <package>`
234
+ 2. **Package not built:** Run `bun run build` in development workspace
235
+ 3. **Wrong path:** Verify command path in config matches your setup
236
+ 4. **Missing entrypoint:** Ensure package exports `/mcp-collections`
237
+
238
+ ### Tools Not Appearing
239
+
240
+ **Verify server is running:**
241
+ 1. Open Claude Desktop developer console
242
+ 2. Look for MCP connection logs
243
+ 3. Check for error messages
244
+
245
+ **Test server manually:**
246
+ ```bash
247
+ # Send initialize request
248
+ echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | vat mcp serve <package>
249
+ ```
250
+
251
+ Should receive JSON-RPC response on stdout.
252
+
253
+ ### Development Mode Not Working
254
+
255
+ **Ensure VAT_ROOT_DIR is set:**
256
+ ```bash
257
+ # Test in terminal first
258
+ VAT_ROOT_DIR=/path/to/workspace vat --version
259
+ # Should show "-dev" suffix
260
+ ```
261
+
262
+ **Check config includes env:**
263
+ ```json
264
+ {
265
+ "env": {
266
+ "VAT_ROOT_DIR": "/absolute/path/to/workspace"
267
+ }
268
+ }
269
+ ```
270
+
271
+ ## Architecture
272
+
273
+ ### Stdio Transport
274
+
275
+ The MCP server uses stdio transport for Claude Desktop:
276
+ - **stdin** - Receives JSON-RPC requests
277
+ - **stdout** - Sends JSON-RPC responses (protocol messages ONLY)
278
+ - **stderr** - Logs, debug output, errors
279
+
280
+ ### Process Lifetime
281
+
282
+ The server runs until stdin closes:
283
+ 1. Claude Desktop spawns the process
284
+ 2. Server waits for JSON-RPC messages on stdin
285
+ 3. Server sends responses on stdout
286
+ 4. When stdin closes, server terminates
287
+
288
+ ### Protocol Compliance
289
+
290
+ All implementations must:
291
+ - Write ONLY JSON-RPC to stdout
292
+ - Write all logs to stderr
293
+ - Handle stdio cleanup properly
294
+ - Support graceful shutdown on SIGINT
295
+
296
+ ## Current Implementation
297
+
298
+ **Supported:**
299
+ - ✅ Stateless agents (pure function tools, one-shot LLM analyzers)
300
+ - ✅ Package-scoped collections
301
+ - ✅ Claude Desktop integration
302
+ - ✅ Local development with VAT_ROOT_DIR
303
+
304
+ **Not Yet Supported:**
305
+ - ❌ Stateful agents (conversational assistants)
306
+ - ❌ Global discovery registry
307
+ - ❌ HTTP transport
308
+ - ❌ WebSocket transport
309
+ - ❌ Multi-session management
310
+
311
+ See [MCP Gateway README](../../gateway-mcp/README.md) for planned features.
312
+
313
+ ## See Also
314
+
315
+ - [MCP Gateway README](../../gateway-mcp/README.md)
316
+ - [Example Cat Agents](../../vat-example-cat-agents/README.md)
317
+ - [VAT Architecture](../../../docs/architecture/README.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibe-agent-toolkit/cli",
3
- "version": "0.1.1",
3
+ "version": "0.1.2-rc.1",
4
4
  "description": "Command-line interface for vibe-agent-toolkit",
5
5
  "type": "module",
6
6
  "bin": {
@@ -40,13 +40,16 @@
40
40
  "license": "MIT",
41
41
  "dependencies": {
42
42
  "@anthropic-ai/sdk": "^0.71.2",
43
- "@vibe-agent-toolkit/agent-config": "0.1.1",
44
- "@vibe-agent-toolkit/discovery": "0.1.1",
45
- "@vibe-agent-toolkit/rag": "0.1.1",
46
- "@vibe-agent-toolkit/rag-lancedb": "0.1.1",
47
- "@vibe-agent-toolkit/resources": "0.1.1",
48
- "@vibe-agent-toolkit/runtime-claude-skills": "0.1.1",
49
- "@vibe-agent-toolkit/utils": "0.1.1",
43
+ "@vibe-agent-toolkit/agent-config": "0.1.2-rc.1",
44
+ "@vibe-agent-toolkit/agent-schema": "0.1.2-rc.1",
45
+ "@vibe-agent-toolkit/discovery": "0.1.2-rc.1",
46
+ "@vibe-agent-toolkit/gateway-mcp": "0.1.2-rc.1",
47
+ "@vibe-agent-toolkit/rag": "0.1.2-rc.1",
48
+ "@vibe-agent-toolkit/rag-lancedb": "0.1.2-rc.1",
49
+ "@vibe-agent-toolkit/resources": "0.1.2-rc.1",
50
+ "@vibe-agent-toolkit/runtime-claude-skills": "0.1.2-rc.1",
51
+ "@vibe-agent-toolkit/utils": "0.1.2-rc.1",
52
+ "@vibe-agent-toolkit/vat-example-cat-agents": "0.1.2-rc.1",
50
53
  "commander": "^12.1.0",
51
54
  "js-yaml": "^4.1.0",
52
55
  "semver": "^7.7.3",