@ghl-ai/aw 0.1.35-beta.32 → 0.1.35-beta.34
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/commands/init.mjs +2 -3
- package/mcp.mjs +6 -30
- package/package.json +1 -1
package/commands/init.mjs
CHANGED
|
@@ -203,8 +203,8 @@ export async function initCommand(args) {
|
|
|
203
203
|
generateCommands(HOME);
|
|
204
204
|
copyInstructions(HOME, null, freshCfg?.namespace || team) || [];
|
|
205
205
|
initAwDocs(HOME);
|
|
206
|
-
await setupMcp(HOME, freshCfg?.namespace || team);
|
|
207
|
-
if (cwd !== HOME) await setupMcp(cwd, freshCfg?.namespace || team);
|
|
206
|
+
await setupMcp(HOME, freshCfg?.namespace || team, { silent });
|
|
207
|
+
if (cwd !== HOME) await setupMcp(cwd, freshCfg?.namespace || team, { silent });
|
|
208
208
|
installGlobalHooks();
|
|
209
209
|
|
|
210
210
|
// Link current project if needed
|
|
@@ -216,7 +216,6 @@ export async function initCommand(args) {
|
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
if (silent) {
|
|
219
|
-
await setupMcp(HOME, team, { silent: true });
|
|
220
219
|
autoUpdate(await args._updateCheck);
|
|
221
220
|
} else {
|
|
222
221
|
fmt.outro([
|
package/mcp.mjs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { existsSync, writeFileSync, readFileSync, mkdirSync } from 'node:fs';
|
|
5
5
|
import { execSync } from 'node:child_process';
|
|
6
6
|
import { createInterface } from 'node:readline';
|
|
7
|
-
import { join
|
|
7
|
+
import { join } from 'node:path';
|
|
8
8
|
import { homedir } from 'node:os';
|
|
9
9
|
import * as fmt from './fmt.mjs';
|
|
10
10
|
|
|
@@ -15,15 +15,9 @@ const DEFAULT_MCP_URL = 'https://services.leadconnectorhq.com/agentic-workspace/
|
|
|
15
15
|
* Auto-detect MCP server paths.
|
|
16
16
|
*/
|
|
17
17
|
function detectPaths() {
|
|
18
|
-
const gitJenkinsCandidates = [
|
|
19
|
-
join(HOME, 'Documents', 'GitHub', 'git-jenkins-mcp', 'dist', 'index.js'),
|
|
20
|
-
resolve('..', 'git-jenkins-mcp', 'dist', 'index.js'),
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
const gitJenkinsPath = gitJenkinsCandidates.find(p => existsSync(p)) || null;
|
|
24
18
|
const ghlMcpUrl = process.env.GHL_MCP_URL || DEFAULT_MCP_URL;
|
|
25
19
|
|
|
26
|
-
return {
|
|
20
|
+
return { ghlMcpUrl };
|
|
27
21
|
}
|
|
28
22
|
|
|
29
23
|
/**
|
|
@@ -121,10 +115,12 @@ function resolveGitHubUser(token) {
|
|
|
121
115
|
function findExistingClickUpToken(cwd) {
|
|
122
116
|
const candidates = [
|
|
123
117
|
join(HOME, '.claude', 'settings.json'),
|
|
118
|
+
join(HOME, '.claude', 'mcp.json'),
|
|
119
|
+
join(HOME, '.mcp.json'),
|
|
120
|
+
join(HOME, '.cursor', 'mcp.json'),
|
|
124
121
|
join(cwd, '.claude', 'mcp.json'),
|
|
125
122
|
join(cwd, '.mcp.json'),
|
|
126
123
|
join(cwd, '.cursor', 'mcp.json'),
|
|
127
|
-
join(HOME, '.cursor', 'mcp.json'),
|
|
128
124
|
];
|
|
129
125
|
|
|
130
126
|
for (const filePath of candidates) {
|
|
@@ -266,18 +262,11 @@ export async function setupMcp(cwd, namespace, { silent = false } = {}) {
|
|
|
266
262
|
headers,
|
|
267
263
|
};
|
|
268
264
|
|
|
269
|
-
const gitJenkinsServer = paths.gitJenkinsPath
|
|
270
|
-
? { command: 'node', args: [paths.gitJenkinsPath] }
|
|
271
|
-
: null;
|
|
272
|
-
|
|
273
265
|
// ── Claude Code: ~/.claude/settings.json (global, local) ──
|
|
274
266
|
const claudeSettingsPath = join(HOME, '.claude', 'settings.json');
|
|
275
267
|
if (mergeJsonMcpServer(claudeSettingsPath, 'ghl-ai', ghlAiServerLocal)) {
|
|
276
268
|
updatedFiles.push(claudeSettingsPath);
|
|
277
269
|
}
|
|
278
|
-
if (gitJenkinsServer && mergeJsonMcpServer(claudeSettingsPath, 'git-jenkins', gitJenkinsServer)) {
|
|
279
|
-
updatedFiles.push(claudeSettingsPath);
|
|
280
|
-
}
|
|
281
270
|
|
|
282
271
|
// ── Claude Code: .mcp.json (project root — committed, uses env var) ──
|
|
283
272
|
const projectMcpPath = join(cwd, '.mcp.json');
|
|
@@ -290,29 +279,20 @@ export async function setupMcp(cwd, namespace, { silent = false } = {}) {
|
|
|
290
279
|
if (mergeJsonMcpServer(claudeWorkspaceMcpPath, 'ghl-ai', ghlAiServerLocal)) {
|
|
291
280
|
updatedFiles.push(claudeWorkspaceMcpPath);
|
|
292
281
|
}
|
|
293
|
-
if (gitJenkinsServer && mergeJsonMcpServer(claudeWorkspaceMcpPath, 'git-jenkins', gitJenkinsServer)) {
|
|
294
|
-
updatedFiles.push(claudeWorkspaceMcpPath);
|
|
295
|
-
}
|
|
296
282
|
|
|
297
283
|
// ── Cursor: project .cursor/mcp.json (workspace-level, local) ──
|
|
298
284
|
const cursorProjectMcpPath = join(cwd, '.cursor', 'mcp.json');
|
|
299
285
|
if (mergeJsonMcpServer(cursorProjectMcpPath, 'ghl-ai', ghlAiServerLocal)) {
|
|
300
286
|
updatedFiles.push(cursorProjectMcpPath);
|
|
301
287
|
}
|
|
302
|
-
if (gitJenkinsServer && mergeJsonMcpServer(cursorProjectMcpPath, 'git-jenkins', gitJenkinsServer)) {
|
|
303
|
-
updatedFiles.push(cursorProjectMcpPath);
|
|
304
|
-
}
|
|
305
288
|
|
|
306
289
|
// ── Cursor: ~/.cursor/mcp.json (global, local) ──
|
|
307
290
|
const cursorMcpPath = join(HOME, '.cursor', 'mcp.json');
|
|
308
291
|
if (mergeJsonMcpServer(cursorMcpPath, 'ghl-ai', ghlAiServerLocal)) {
|
|
309
292
|
updatedFiles.push(cursorMcpPath);
|
|
310
293
|
}
|
|
311
|
-
if (gitJenkinsServer && mergeJsonMcpServer(cursorMcpPath, 'git-jenkins', gitJenkinsServer)) {
|
|
312
|
-
updatedFiles.push(cursorMcpPath);
|
|
313
|
-
}
|
|
314
294
|
|
|
315
|
-
// Deduplicate
|
|
295
|
+
// Deduplicate
|
|
316
296
|
const unique = [...new Set(updatedFiles)];
|
|
317
297
|
|
|
318
298
|
if (unique.length > 0) {
|
|
@@ -321,10 +301,6 @@ export async function setupMcp(cwd, namespace, { silent = false } = {}) {
|
|
|
321
301
|
fmt.logInfo('MCP servers already configured — no changes needed');
|
|
322
302
|
}
|
|
323
303
|
|
|
324
|
-
if (!paths.gitJenkinsPath) {
|
|
325
|
-
fmt.logWarn('git-jenkins MCP not found — skipped');
|
|
326
|
-
}
|
|
327
|
-
|
|
328
304
|
return unique;
|
|
329
305
|
}
|
|
330
306
|
|