@chanaka_nakandala/integration-agent 2.3.1 ā 2.4.0
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/README.md +2 -2
- package/dist/init-command.d.ts +3 -4
- package/dist/init-command.d.ts.map +1 -1
- package/dist/init-command.js +39 -41
- package/dist/init-command.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
@@ -78,11 +78,11 @@ Grubtech is a restaurant technology platform for online ordering, menu managemen
|
|
78
78
|
**Learn more:**
|
79
79
|
- Website: https://www.grubtech.com
|
80
80
|
- Documentation: https://docs.grubtech.io
|
81
|
-
- Support: support@grubtech.
|
81
|
+
- Support: support@grubtech.com
|
82
82
|
|
83
83
|
## Getting Help
|
84
84
|
|
85
|
-
Just ask questions inside Claude Code after installation, or contact Grubtech support at support@grubtech.
|
85
|
+
Just ask questions inside Claude Code after installation, or contact Grubtech support at support@grubtech.com
|
86
86
|
|
87
87
|
---
|
88
88
|
|
package/dist/init-command.d.ts
CHANGED
@@ -2,10 +2,9 @@
|
|
2
2
|
* Initializes the Grubtech Integration Agent
|
3
3
|
*
|
4
4
|
* This command sets up everything needed to use the MCP server with Claude Code:
|
5
|
-
* 1.
|
6
|
-
* 2.
|
7
|
-
* 3.
|
8
|
-
* 4. Installs agent persona YAML files from @chanaka_nakandala/agent-personas to ~/.claude/agents/
|
5
|
+
* 1. Creates cache directory for storing scraped documentation
|
6
|
+
* 2. Registers MCP server using 'claude mcp add' command (falls back to manual config if CLI unavailable)
|
7
|
+
* 3. Installs agent persona YAML files from @chanaka_nakandala/integration-personas to ~/.claude/agents/
|
9
8
|
*
|
10
9
|
* Users only need to run this once: npx @chanaka_nakandala/integration-agent init
|
11
10
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../src/init-command.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../src/init-command.ts"],"names":[],"mappings":"AASA;;;;;;;;;GASG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA4DjD"}
|
package/dist/init-command.js
CHANGED
@@ -2,64 +2,62 @@ import { promises as fs } from 'fs';
|
|
2
2
|
import { join, dirname } from 'path';
|
3
3
|
import { homedir } from 'os';
|
4
4
|
import { createRequire } from 'module';
|
5
|
+
import { exec } from 'child_process';
|
6
|
+
import { promisify } from 'util';
|
7
|
+
const execAsync = promisify(exec);
|
5
8
|
/**
|
6
9
|
* Initializes the Grubtech Integration Agent
|
7
10
|
*
|
8
11
|
* This command sets up everything needed to use the MCP server with Claude Code:
|
9
|
-
* 1.
|
10
|
-
* 2.
|
11
|
-
* 3.
|
12
|
-
* 4. Installs agent persona YAML files from @chanaka_nakandala/agent-personas to ~/.claude/agents/
|
12
|
+
* 1. Creates cache directory for storing scraped documentation
|
13
|
+
* 2. Registers MCP server using 'claude mcp add' command (falls back to manual config if CLI unavailable)
|
14
|
+
* 3. Installs agent persona YAML files from @chanaka_nakandala/integration-personas to ~/.claude/agents/
|
13
15
|
*
|
14
16
|
* Users only need to run this once: npx @chanaka_nakandala/integration-agent init
|
15
17
|
*/
|
16
18
|
export async function initCommand() {
|
17
19
|
console.log('š Initializing Grubtech Integration Agent...\n');
|
18
|
-
// Step 1:
|
19
|
-
// We check if the Claude config directory exists to ensure compatibility
|
20
|
-
const claudeConfigPath = getClaudeConfigPath();
|
21
|
-
const mcpConfigFile = join(claudeConfigPath, 'mcp.json');
|
22
|
-
try {
|
23
|
-
await fs.access(claudeConfigPath);
|
24
|
-
console.log('ā Claude Code configuration directory found');
|
25
|
-
}
|
26
|
-
catch {
|
27
|
-
console.warn('ā ļø Claude Code config directory not found. Is Claude Code installed?');
|
28
|
-
console.warn(` Expected at: ${claudeConfigPath}\n`);
|
29
|
-
}
|
30
|
-
// Step 2: Create cache directory for storing scraped Grubtech documentation
|
20
|
+
// Step 1: Create cache directory for storing scraped Grubtech documentation
|
31
21
|
// This avoids repeated downloads and speeds up documentation searches
|
32
22
|
const cacheDir = join(homedir(), '.grubtech', 'cache');
|
33
23
|
await fs.mkdir(join(cacheDir, 'docs'), { recursive: true });
|
34
24
|
console.log('ā Created cache directory at ~/.grubtech/cache/');
|
35
|
-
// Step
|
36
|
-
// This
|
37
|
-
//
|
38
|
-
|
25
|
+
// Step 2: Configure MCP server in Claude Code using the claude CLI
|
26
|
+
// This registers the MCP server with identifier 'grubtech-integration-support'
|
27
|
+
// Uses: claude mcp add grubtech-integration-support npx -y @chanaka_nakandala/integration-mcp-server
|
28
|
+
console.log('\nš” Configuring MCP server...');
|
39
29
|
try {
|
40
|
-
const
|
41
|
-
|
42
|
-
console.log('ā
|
43
|
-
}
|
44
|
-
catch {
|
45
|
-
console.log('ā Creating new MCP configuration');
|
30
|
+
const mcpCommand = 'claude mcp add grubtech-integration-support npx -y @chanaka_nakandala/integration-mcp-server';
|
31
|
+
await execAsync(mcpCommand);
|
32
|
+
console.log('ā MCP server registered with Claude Code');
|
46
33
|
}
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
34
|
+
catch (error) {
|
35
|
+
// If claude CLI command fails, fall back to manual configuration
|
36
|
+
console.warn('ā ļø Claude CLI not available, using manual configuration...');
|
37
|
+
const claudeConfigPath = getClaudeConfigPath();
|
38
|
+
const mcpConfigFile = join(claudeConfigPath, 'mcp.json');
|
39
|
+
let mcpConfig = {};
|
40
|
+
try {
|
41
|
+
const existing = await fs.readFile(mcpConfigFile, 'utf-8');
|
42
|
+
mcpConfig = JSON.parse(existing);
|
43
|
+
}
|
44
|
+
catch {
|
45
|
+
// File doesn't exist, start with empty config
|
46
|
+
}
|
47
|
+
if (!mcpConfig.mcpServers) {
|
48
|
+
mcpConfig.mcpServers = {};
|
49
|
+
}
|
50
|
+
mcpConfig.mcpServers['grubtech-integration-support'] = {
|
51
|
+
command: 'npx',
|
52
|
+
args: ['-y', '@chanaka_nakandala/integration-mcp-server'],
|
53
|
+
};
|
54
|
+
await fs.mkdir(claudeConfigPath, { recursive: true });
|
55
|
+
await fs.writeFile(mcpConfigFile, JSON.stringify(mcpConfig, null, 2));
|
56
|
+
console.log('ā MCP server configured manually');
|
51
57
|
}
|
52
|
-
|
53
|
-
command: 'npx', // Use npx to run the package directly
|
54
|
-
args: ['-y', '@chanaka_nakandala/integration-mcp-server'], // Start the MCP server package
|
55
|
-
};
|
56
|
-
// Write the updated configuration back to disk
|
57
|
-
await fs.mkdir(claudeConfigPath, { recursive: true });
|
58
|
-
await fs.writeFile(mcpConfigFile, JSON.stringify(mcpConfig, null, 2));
|
59
|
-
console.log('ā Configured MCP server (@chanaka_nakandala/integration-mcp-server)');
|
60
|
-
// Step 4: Install agent personas from the separate agent-personas package
|
58
|
+
// Step 3: Install agent personas from the separate agent-personas package
|
61
59
|
await installAgentPersonas();
|
62
|
-
// Step
|
60
|
+
// Step 4: Display success message
|
63
61
|
console.log('\nā
Setup complete!\n');
|
64
62
|
console.log('Installed components:');
|
65
63
|
console.log(' ā MCP Server: @chanaka_nakandala/integration-mcp-server');
|
package/dist/init-command.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"init-command.js","sourceRoot":"","sources":["../src/init-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;
|
1
|
+
{"version":3,"file":"init-command.js","sourceRoot":"","sources":["../src/init-command.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@chanaka_nakandala/integration-agent",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.4.0",
|
4
4
|
"description": "One-command installer that sets up the complete Grubtech Integration Agent (MCP server + AI agent personas) for Claude Code to help developers build restaurant and POS integrations.",
|
5
5
|
"type": "module",
|
6
6
|
"main": "./dist/index.js",
|
@@ -53,10 +53,10 @@
|
|
53
53
|
"menu-sync",
|
54
54
|
"order-management"
|
55
55
|
],
|
56
|
-
"author": "Grubtech <support@grubtech.
|
56
|
+
"author": "Grubtech <support@grubtech.com>",
|
57
57
|
"license": "MIT",
|
58
58
|
"dependencies": {
|
59
|
-
"@chanaka_nakandala/integration-personas": "^1.0.
|
59
|
+
"@chanaka_nakandala/integration-personas": "^1.0.2"
|
60
60
|
},
|
61
61
|
"devDependencies": {
|
62
62
|
"@types/node": "^20.0.0",
|