@snutils/snu 0.1.8 → 0.1.10
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 +9 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +38 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/setup.d.ts +49 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +308 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/client.js +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +39 -1
- package/dist/registry.js.map +1 -1
- package/dist/server/dispatcher.d.ts.map +1 -1
- package/dist/server/dispatcher.js +318 -1
- package/dist/server/dispatcher.js.map +1 -1
- package/dist/server/httpBridge.d.ts.map +1 -1
- package/dist/server/httpBridge.js +3 -1
- package/dist/server/httpBridge.js.map +1 -1
- package/dist/server/policy.d.ts.map +1 -1
- package/dist/server/policy.js +3 -0
- package/dist/server/policy.js.map +1 -1
- package/dist/server/standalone.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -54,7 +54,15 @@ snu run "gs.print('Hello from ' + gs.getUserName());"
|
|
|
54
54
|
|
|
55
55
|
### Configure your MCP client
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
The fastest path is the built-in installer. It detects Claude Code, Cursor, Claude Desktop, and Windsurf, and writes the entry below into each one's configuration (merge-only and idempotent; existing config keys are never touched):
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npx -y @snutils/snu@latest setup
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Useful variants: `snu setup --print` shows copy-paste blocks for every dialect without writing anything, `snu setup --client cursor` targets one client, `--project` writes project-scoped config (Cursor, VS Code, Claude Code), and `--client vscode` writes a workspace `.vscode/mcp.json`. The config is static and secret-free (discovery of the bridge port and auth token happens at call time), so project-scoped files are safe to commit and share with a team.
|
|
64
|
+
|
|
65
|
+
To configure a client manually instead, add this server to its MCP configuration. Depending on the client, this may be an `mcp.json`, `claude_desktop_config.json`, project setting, or an **Add MCP server** screen.
|
|
58
66
|
|
|
59
67
|
Using `npx` is the easiest option because it does not require a global installation:
|
|
60
68
|
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,OAAO,QAA0B,CAAC;AAY/C,wBAAgB,SAAS,IAAI,IAAI,CA+ChC;AAED,wBAAsB,MAAM,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8axE"}
|
package/dist/cli/index.js
CHANGED
|
@@ -48,6 +48,7 @@ const standalone_js_1 = require("../server/standalone.js");
|
|
|
48
48
|
const updateCheck_js_1 = require("./updateCheck.js");
|
|
49
49
|
const daemon_js_1 = require("./daemon.js");
|
|
50
50
|
const selfUpdate_js_1 = require("./selfUpdate.js");
|
|
51
|
+
const setup_js_1 = require("./setup.js");
|
|
51
52
|
const packageMetadata = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8'));
|
|
52
53
|
exports.VERSION = packageMetadata.version;
|
|
53
54
|
function startUpdateCheck(enabled) {
|
|
@@ -72,6 +73,7 @@ function printHelp() {
|
|
|
72
73
|
snu restart Gracefully replace a standalone bridge
|
|
73
74
|
snu stop Gracefully stop a standalone bridge
|
|
74
75
|
snu update [--check] Check for or install the latest CLI release
|
|
76
|
+
snu setup [options] Configure AI clients (Claude Code, Cursor, ...) to use the MCP server
|
|
75
77
|
|
|
76
78
|
\x1b[1mCORE COMMANDS:\x1b[0m
|
|
77
79
|
context Show active connection, helper tab, and instance roster
|
|
@@ -93,6 +95,12 @@ function printHelp() {
|
|
|
93
95
|
browser nav <url> Navigate connected tab to URL and wait for load
|
|
94
96
|
screenshot Capture viewport screenshot of active tab
|
|
95
97
|
|
|
98
|
+
\x1b[1mSETUP OPTIONS:\x1b[0m
|
|
99
|
+
--client <name> One of: claude-code, cursor, claude-desktop, windsurf, vscode
|
|
100
|
+
--project Write project-scoped config (cursor, vscode, claude-code)
|
|
101
|
+
--print Print copy-paste config blocks instead of writing files
|
|
102
|
+
-y, --yes Skip the confirmation prompt
|
|
103
|
+
|
|
96
104
|
\x1b[1mGLOBAL OPTIONS:\x1b[0m
|
|
97
105
|
-j, --json Output strict JSON on stdout for scripting/agents
|
|
98
106
|
-i, --instance <name> Target specific instance folder
|
|
@@ -269,6 +277,36 @@ async function runCli(argv = process.argv.slice(2)) {
|
|
|
269
277
|
}
|
|
270
278
|
return;
|
|
271
279
|
}
|
|
280
|
+
if (lifecycleCommand === 'setup') {
|
|
281
|
+
try {
|
|
282
|
+
const setupArgs = (0, util_1.parseArgs)({
|
|
283
|
+
args: nonGlobalTokens.slice(1),
|
|
284
|
+
options: {
|
|
285
|
+
client: { type: 'string' },
|
|
286
|
+
project: { type: 'boolean' },
|
|
287
|
+
print: { type: 'boolean' },
|
|
288
|
+
yes: { type: 'boolean', short: 'y' },
|
|
289
|
+
},
|
|
290
|
+
allowPositionals: false,
|
|
291
|
+
strict: false,
|
|
292
|
+
});
|
|
293
|
+
const setupValues = setupArgs.values;
|
|
294
|
+
await (0, setup_js_1.runSetup)({
|
|
295
|
+
client: setupValues.client,
|
|
296
|
+
project: setupValues.project === true,
|
|
297
|
+
print: setupValues.print === true,
|
|
298
|
+
yes: setupValues.yes === true,
|
|
299
|
+
json: isJsonMode,
|
|
300
|
+
portFile,
|
|
301
|
+
});
|
|
302
|
+
await printUpdateNotice(updateNotice);
|
|
303
|
+
}
|
|
304
|
+
catch (err) {
|
|
305
|
+
(0, format_js_1.outputError)(err, isJsonMode);
|
|
306
|
+
process.exit(1);
|
|
307
|
+
}
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
272
310
|
if (lifecycleCommand === 'update') {
|
|
273
311
|
try {
|
|
274
312
|
const checkOnly = lifecycleValues.check === true;
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export declare const MCP_SERVER_KEY = "sn-utils";
|
|
2
|
+
/** Same entry the README documents: @latest + --prefer-online so npx does not
|
|
3
|
+
* pin a stale cached build. */
|
|
4
|
+
export declare const CANONICAL_COMMAND = "npx";
|
|
5
|
+
export declare const CANONICAL_ARGS: string[];
|
|
6
|
+
/** Two-line snippet for terminal agents (CLAUDE.md / AGENTS.md). */
|
|
7
|
+
export declare const TERMINAL_AGENT_SNIPPET: string;
|
|
8
|
+
export type SetupClientId = 'claude-code' | 'cursor' | 'claude-desktop' | 'windsurf' | 'vscode';
|
|
9
|
+
export interface SetupTarget {
|
|
10
|
+
id: SetupClientId;
|
|
11
|
+
label: string;
|
|
12
|
+
kind: 'json' | 'cli';
|
|
13
|
+
/** json kind: config file to merge into. */
|
|
14
|
+
configPath?: string;
|
|
15
|
+
/** json kind: top-level key holding server entries. */
|
|
16
|
+
rootKey?: 'mcpServers' | 'servers';
|
|
17
|
+
/** Existence of this path marks the client as installed. */
|
|
18
|
+
detectPath: string;
|
|
19
|
+
}
|
|
20
|
+
export interface SetupTargetOptions {
|
|
21
|
+
home?: string;
|
|
22
|
+
cwd?: string;
|
|
23
|
+
platform?: NodeJS.Platform;
|
|
24
|
+
project?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export declare function claudeDesktopConfigPath(platform: NodeJS.Platform, home: string): string;
|
|
27
|
+
export declare function setupTargets(options?: SetupTargetOptions): SetupTarget[];
|
|
28
|
+
export declare function buildClaudeCodeArgs(projectScope: boolean): string[];
|
|
29
|
+
export interface MergeResult {
|
|
30
|
+
next: string;
|
|
31
|
+
changed: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Merge the canonical entry into an MCP config file's text. Never touches
|
|
35
|
+
* other keys; throws on unparseable JSON so a broken config is surfaced
|
|
36
|
+
* instead of clobbered. Idempotent: re-running produces no change.
|
|
37
|
+
*/
|
|
38
|
+
export declare function mergeMcpConfig(existingText: string | undefined, rootKey: 'mcpServers' | 'servers'): MergeResult;
|
|
39
|
+
export declare function printableConfig(): string;
|
|
40
|
+
export interface SetupFlags {
|
|
41
|
+
client?: string;
|
|
42
|
+
project?: boolean;
|
|
43
|
+
print?: boolean;
|
|
44
|
+
yes?: boolean;
|
|
45
|
+
json?: boolean;
|
|
46
|
+
portFile?: string;
|
|
47
|
+
}
|
|
48
|
+
export declare function runSetup(flags: SetupFlags): Promise<void>;
|
|
49
|
+
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC;+BAC+B;AAC/B,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,cAAc,UAA+D,CAAC;AAE3F,oEAAoE;AACpE,eAAO,MAAM,sBAAsB,QAGvB,CAAC;AAEb,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,QAAQ,GAAG,gBAAgB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEhG,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,aAAa,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CASvF;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,kBAAuB,GAAG,WAAW,EAAE,CA+C5E;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,OAAO,GAAG,MAAM,EAAE,CAEnE;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,SAAS,GAAG,WAAW,CAwB/G;AAED,wBAAgB,eAAe,IAAI,MAAM,CA6BxC;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA0ED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAgF/D"}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.TERMINAL_AGENT_SNIPPET = exports.CANONICAL_ARGS = exports.CANONICAL_COMMAND = exports.MCP_SERVER_KEY = void 0;
|
|
37
|
+
exports.claudeDesktopConfigPath = claudeDesktopConfigPath;
|
|
38
|
+
exports.setupTargets = setupTargets;
|
|
39
|
+
exports.buildClaudeCodeArgs = buildClaudeCodeArgs;
|
|
40
|
+
exports.mergeMcpConfig = mergeMcpConfig;
|
|
41
|
+
exports.printableConfig = printableConfig;
|
|
42
|
+
exports.runSetup = runSetup;
|
|
43
|
+
/**
|
|
44
|
+
* `snu setup` — write the canonical MCP server entry into detected AI clients
|
|
45
|
+
* (Claude Code, Cursor, Claude Desktop, Windsurf, VS Code).
|
|
46
|
+
*
|
|
47
|
+
* The entry is static and secret-free by design: bridge discovery (port +
|
|
48
|
+
* token) happens at call time via the port file, so the exact same JSON works
|
|
49
|
+
* for every user on every machine and is safe to commit to a repo.
|
|
50
|
+
*/
|
|
51
|
+
const fs = __importStar(require("fs"));
|
|
52
|
+
const os = __importStar(require("os"));
|
|
53
|
+
const path = __importStar(require("path"));
|
|
54
|
+
const readline = __importStar(require("readline"));
|
|
55
|
+
const child_process_1 = require("child_process");
|
|
56
|
+
const client_js_1 = require("../client.js");
|
|
57
|
+
const format_js_1 = require("./format.js");
|
|
58
|
+
const daemon_js_1 = require("./daemon.js");
|
|
59
|
+
exports.MCP_SERVER_KEY = 'sn-utils';
|
|
60
|
+
/** Same entry the README documents: @latest + --prefer-online so npx does not
|
|
61
|
+
* pin a stale cached build. */
|
|
62
|
+
exports.CANONICAL_COMMAND = 'npx';
|
|
63
|
+
exports.CANONICAL_ARGS = ['--yes', '--prefer-online', '@snutils/snu@latest', '--mcp'];
|
|
64
|
+
/** Two-line snippet for terminal agents (CLAUDE.md / AGENTS.md). */
|
|
65
|
+
exports.TERMINAL_AGENT_SNIPPET = [
|
|
66
|
+
'ServiceNow access: the `snu` CLI (npx --yes @snutils/snu@latest) drives ServiceNow through SN Utils ScriptSync.',
|
|
67
|
+
'Run `snu context` first to see the connected instance and permissions, then `snu --help` for commands. Use --json for machine output.',
|
|
68
|
+
].join('\n');
|
|
69
|
+
function claudeDesktopConfigPath(platform, home) {
|
|
70
|
+
switch (platform) {
|
|
71
|
+
case 'darwin':
|
|
72
|
+
return path.join(home, 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json');
|
|
73
|
+
case 'win32':
|
|
74
|
+
return path.join(process.env.APPDATA || path.join(home, 'AppData', 'Roaming'), 'Claude', 'claude_desktop_config.json');
|
|
75
|
+
default:
|
|
76
|
+
return path.join(home, '.config', 'Claude', 'claude_desktop_config.json');
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function setupTargets(options = {}) {
|
|
80
|
+
const home = options.home ?? os.homedir();
|
|
81
|
+
const cwd = options.cwd ?? process.cwd();
|
|
82
|
+
const platform = options.platform ?? process.platform;
|
|
83
|
+
const project = options.project === true;
|
|
84
|
+
const desktopPath = claudeDesktopConfigPath(platform, home);
|
|
85
|
+
return [
|
|
86
|
+
{
|
|
87
|
+
id: 'claude-code',
|
|
88
|
+
label: 'Claude Code',
|
|
89
|
+
kind: 'cli',
|
|
90
|
+
detectPath: path.join(home, '.claude'),
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
id: 'cursor',
|
|
94
|
+
label: 'Cursor',
|
|
95
|
+
kind: 'json',
|
|
96
|
+
configPath: project ? path.join(cwd, '.cursor', 'mcp.json') : path.join(home, '.cursor', 'mcp.json'),
|
|
97
|
+
rootKey: 'mcpServers',
|
|
98
|
+
detectPath: path.join(home, '.cursor'),
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
id: 'claude-desktop',
|
|
102
|
+
label: 'Claude Desktop',
|
|
103
|
+
kind: 'json',
|
|
104
|
+
configPath: desktopPath,
|
|
105
|
+
rootKey: 'mcpServers',
|
|
106
|
+
detectPath: path.dirname(desktopPath),
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
id: 'windsurf',
|
|
110
|
+
label: 'Windsurf',
|
|
111
|
+
kind: 'json',
|
|
112
|
+
configPath: path.join(home, '.codeium', 'windsurf', 'mcp_config.json'),
|
|
113
|
+
rootKey: 'mcpServers',
|
|
114
|
+
detectPath: path.join(home, '.codeium', 'windsurf'),
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
id: 'vscode',
|
|
118
|
+
label: 'VS Code (workspace)',
|
|
119
|
+
kind: 'json',
|
|
120
|
+
configPath: path.join(cwd, '.vscode', 'mcp.json'),
|
|
121
|
+
rootKey: 'servers',
|
|
122
|
+
detectPath: path.join(cwd, '.vscode'),
|
|
123
|
+
},
|
|
124
|
+
];
|
|
125
|
+
}
|
|
126
|
+
function buildClaudeCodeArgs(projectScope) {
|
|
127
|
+
return ['mcp', 'add', '--scope', projectScope ? 'project' : 'user', exports.MCP_SERVER_KEY, '--', exports.CANONICAL_COMMAND, ...exports.CANONICAL_ARGS];
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Merge the canonical entry into an MCP config file's text. Never touches
|
|
131
|
+
* other keys; throws on unparseable JSON so a broken config is surfaced
|
|
132
|
+
* instead of clobbered. Idempotent: re-running produces no change.
|
|
133
|
+
*/
|
|
134
|
+
function mergeMcpConfig(existingText, rootKey) {
|
|
135
|
+
let config = {};
|
|
136
|
+
if (existingText && existingText.trim()) {
|
|
137
|
+
try {
|
|
138
|
+
config = JSON.parse(existingText);
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
throw new client_js_1.ScriptSyncClientError('Existing config is not valid JSON; fix or remove it, then re-run setup.', 'E_INVALID_CONFIG');
|
|
142
|
+
}
|
|
143
|
+
if (!config || typeof config !== 'object' || Array.isArray(config)) {
|
|
144
|
+
throw new client_js_1.ScriptSyncClientError('Existing config is not a JSON object; fix or remove it, then re-run setup.', 'E_INVALID_CONFIG');
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (!config[rootKey] || typeof config[rootKey] !== 'object')
|
|
148
|
+
config[rootKey] = {};
|
|
149
|
+
// VS Code's mcp.json dialect declares stdio explicitly; mcpServers infers it.
|
|
150
|
+
const entry = rootKey === 'servers'
|
|
151
|
+
? { type: 'stdio', command: exports.CANONICAL_COMMAND, args: [...exports.CANONICAL_ARGS] }
|
|
152
|
+
: { command: exports.CANONICAL_COMMAND, args: [...exports.CANONICAL_ARGS] };
|
|
153
|
+
const changed = JSON.stringify(config[rootKey][exports.MCP_SERVER_KEY]) !== JSON.stringify(entry);
|
|
154
|
+
config[rootKey][exports.MCP_SERVER_KEY] = entry;
|
|
155
|
+
return { next: `${JSON.stringify(config, null, 2)}\n`, changed };
|
|
156
|
+
}
|
|
157
|
+
function printableConfig() {
|
|
158
|
+
const mcpServersBlock = JSON.stringify({ mcpServers: { [exports.MCP_SERVER_KEY]: { command: exports.CANONICAL_COMMAND, args: [...exports.CANONICAL_ARGS] } } }, null, 2);
|
|
159
|
+
const vscodeBlock = JSON.stringify({ servers: { [exports.MCP_SERVER_KEY]: { type: 'stdio', command: exports.CANONICAL_COMMAND, args: [...exports.CANONICAL_ARGS] } } }, null, 2);
|
|
160
|
+
return [
|
|
161
|
+
'MCP configuration for Cursor, Claude Desktop, and Windsurf (mcpServers dialect):',
|
|
162
|
+
'',
|
|
163
|
+
mcpServersBlock,
|
|
164
|
+
'',
|
|
165
|
+
'VS Code .vscode/mcp.json (servers dialect):',
|
|
166
|
+
'',
|
|
167
|
+
vscodeBlock,
|
|
168
|
+
'',
|
|
169
|
+
'Claude Code:',
|
|
170
|
+
'',
|
|
171
|
+
` claude mcp add --scope user ${exports.MCP_SERVER_KEY} -- ${exports.CANONICAL_COMMAND} ${exports.CANONICAL_ARGS.join(' ')}`,
|
|
172
|
+
'',
|
|
173
|
+
'Terminal agents (append to CLAUDE.md / AGENTS.md):',
|
|
174
|
+
'',
|
|
175
|
+
exports.TERMINAL_AGENT_SNIPPET,
|
|
176
|
+
'',
|
|
177
|
+
].join('\n');
|
|
178
|
+
}
|
|
179
|
+
function hasBinary(name) {
|
|
180
|
+
const probe = process.platform === 'win32' ? 'where' : 'which';
|
|
181
|
+
try {
|
|
182
|
+
return (0, child_process_1.spawnSync)(probe, [name], { stdio: 'ignore' }).status === 0;
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
function detect(target) {
|
|
189
|
+
if (target.kind === 'cli')
|
|
190
|
+
return hasBinary('claude') || fs.existsSync(target.detectPath);
|
|
191
|
+
return fs.existsSync(target.detectPath);
|
|
192
|
+
}
|
|
193
|
+
function applyJsonTarget(target) {
|
|
194
|
+
const configPath = target.configPath;
|
|
195
|
+
const existing = fs.existsSync(configPath) ? fs.readFileSync(configPath, 'utf8') : undefined;
|
|
196
|
+
const merged = mergeMcpConfig(existing, target.rootKey);
|
|
197
|
+
if (merged.changed) {
|
|
198
|
+
fs.mkdirSync(path.dirname(configPath), { recursive: true });
|
|
199
|
+
fs.writeFileSync(configPath, merged.next, 'utf8');
|
|
200
|
+
}
|
|
201
|
+
return {
|
|
202
|
+
client: target.id,
|
|
203
|
+
label: target.label,
|
|
204
|
+
changed: merged.changed,
|
|
205
|
+
detail: merged.changed ? `added "${exports.MCP_SERVER_KEY}" to ${configPath}` : `already configured in ${configPath}`,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
function applyClaudeCodeTarget(target, projectScope) {
|
|
209
|
+
if (!hasBinary('claude')) {
|
|
210
|
+
throw new client_js_1.ScriptSyncClientError('`claude` CLI not found on PATH. Install Claude Code first, or use `snu setup --print`.', 'E_CLIENT_NOT_FOUND');
|
|
211
|
+
}
|
|
212
|
+
const res = (0, child_process_1.spawnSync)('claude', buildClaudeCodeArgs(projectScope), { encoding: 'utf8' });
|
|
213
|
+
if (res.status === 0) {
|
|
214
|
+
return {
|
|
215
|
+
client: target.id,
|
|
216
|
+
label: target.label,
|
|
217
|
+
changed: true,
|
|
218
|
+
detail: `registered via \`claude mcp add\` (${projectScope ? 'project' : 'user'} scope)`,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
const output = `${res.stdout || ''}${res.stderr || ''}`;
|
|
222
|
+
if (/already exists/i.test(output)) {
|
|
223
|
+
return { client: target.id, label: target.label, changed: false, detail: 'already registered with Claude Code' };
|
|
224
|
+
}
|
|
225
|
+
throw new client_js_1.ScriptSyncClientError(`\`claude mcp add\` failed: ${output.trim() || `exit ${res.status}`}`, 'E_CLIENT_SETUP_FAILED');
|
|
226
|
+
}
|
|
227
|
+
function ask(question) {
|
|
228
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stderr });
|
|
229
|
+
return new Promise((resolve) => rl.question(question, (answer) => { rl.close(); resolve(answer); }));
|
|
230
|
+
}
|
|
231
|
+
/** Finish with a live bridge check so a successful setup ends in proof. */
|
|
232
|
+
async function verifyBridge(flags) {
|
|
233
|
+
try {
|
|
234
|
+
const status = await (0, daemon_js_1.inspectBridge)({ portFile: flags.portFile, cwd: process.cwd() });
|
|
235
|
+
return { running: status.running === true };
|
|
236
|
+
}
|
|
237
|
+
catch {
|
|
238
|
+
return { running: false };
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
async function runSetup(flags) {
|
|
242
|
+
if (flags.print) {
|
|
243
|
+
process.stdout.write(printableConfig());
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
const targets = setupTargets({ project: flags.project });
|
|
247
|
+
let selected;
|
|
248
|
+
if (flags.client) {
|
|
249
|
+
const target = targets.find((t) => t.id === flags.client);
|
|
250
|
+
if (!target) {
|
|
251
|
+
throw new client_js_1.ScriptSyncClientError(`Unknown client "${flags.client}". Supported: ${targets.map((t) => t.id).join(', ')}`, 'E_INVALID_PARAMS');
|
|
252
|
+
}
|
|
253
|
+
selected = [target];
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
// The workspace .vscode/mcp.json is opt-in via --client vscode: writing
|
|
257
|
+
// into the current folder unasked is surprising.
|
|
258
|
+
selected = targets.filter((t) => t.id !== 'vscode' && detect(t));
|
|
259
|
+
if (selected.length === 0) {
|
|
260
|
+
throw new client_js_1.ScriptSyncClientError('No supported MCP clients detected (Claude Code, Cursor, Claude Desktop, Windsurf).\n' +
|
|
261
|
+
'Use `snu setup --client <name>` to force one, or `snu setup --print` for copy-paste config.', 'E_CLIENT_NOT_FOUND');
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
if (!flags.yes && !flags.client) {
|
|
265
|
+
if (!process.stdin.isTTY || flags.json) {
|
|
266
|
+
throw new client_js_1.ScriptSyncClientError(`Detected: ${selected.map((t) => t.label).join(', ')}. ` +
|
|
267
|
+
'Non-interactive session: re-run with --yes to configure all detected clients, or --client <name> for one.', 'E_CONFIRM_REQUIRED');
|
|
268
|
+
}
|
|
269
|
+
const answer = await ask(`Configure the SN Utils MCP server for: \x1b[1m${selected.map((t) => t.label).join(', ')}\x1b[0m? [Y/n] `);
|
|
270
|
+
if (answer.trim() !== '' && !/^y(es)?$/i.test(answer.trim())) {
|
|
271
|
+
process.stderr.write('Aborted. Nothing was written.\n');
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
const applied = [];
|
|
276
|
+
const errors = [];
|
|
277
|
+
for (const target of selected) {
|
|
278
|
+
try {
|
|
279
|
+
applied.push(target.kind === 'json' ? applyJsonTarget(target) : applyClaudeCodeTarget(target, flags.project === true));
|
|
280
|
+
}
|
|
281
|
+
catch (err) {
|
|
282
|
+
errors.push({ client: target.id, error: err?.message || String(err) });
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
const bridge = await verifyBridge(flags);
|
|
286
|
+
if (flags.json) {
|
|
287
|
+
(0, format_js_1.outputJson)({ configured: applied, errors, bridgeRunning: bridge.running });
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
for (const result of applied) {
|
|
291
|
+
process.stdout.write(`\x1b[32m✓\x1b[0m ${result.label}: ${result.detail}\n`);
|
|
292
|
+
}
|
|
293
|
+
for (const failure of errors) {
|
|
294
|
+
process.stderr.write(`\x1b[31m✗\x1b[0m ${failure.client}: ${failure.error}\n`);
|
|
295
|
+
}
|
|
296
|
+
if (bridge.running) {
|
|
297
|
+
process.stdout.write(`\n\x1b[32m✓\x1b[0m Bridge check: SN Utils bridge is active. Run \`snu context\` for the full picture.\n`);
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
process.stdout.write(`\n\x1b[33m•\x1b[0m Setup written, but no bridge is running right now.\n` +
|
|
301
|
+
` Open VS Code with sn-scriptsync (or run \`snu serve\`), then run /token in a ServiceNow browser tab.\n`);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
if (errors.length > 0) {
|
|
305
|
+
process.exitCode = 1;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiB,MAAM,YAAY,CAAC;AAU3D,eAAO,MAAM,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiB,MAAM,YAAY,CAAC;AAU3D,eAAO,MAAM,KAAK,EAAE,cAAc,EAijBjC,CAAC;AAUF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEtE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE9E"}
|
package/dist/registry.js
CHANGED
|
@@ -130,7 +130,45 @@ exports.TOOLS = [
|
|
|
130
130
|
},
|
|
131
131
|
}),
|
|
132
132
|
},
|
|
133
|
-
// 5.
|
|
133
|
+
// 5. Pull Records
|
|
134
|
+
{
|
|
135
|
+
name: 'snu_pull_records',
|
|
136
|
+
agentCommand: 'pull_records',
|
|
137
|
+
description: 'Pull records from ServiceNow and store code fields into canonical local workspace files with _map.json tracking.',
|
|
138
|
+
cliCommand: 'pull',
|
|
139
|
+
cliUsage: 'snu pull <table> [query] [--sys-id <id>] [--fields <f1,f2>] [--limit <n>] [--instance <i>] [--json]',
|
|
140
|
+
cliOptions: {
|
|
141
|
+
query: { type: 'string', short: 'q', description: 'Encoded query string' },
|
|
142
|
+
'sys-id': { type: 'string', short: 's', description: 'Specific record sys_id' },
|
|
143
|
+
fields: { type: 'string', short: 'f', description: 'Comma-separated field list to pull' },
|
|
144
|
+
limit: { type: 'string', short: 'l', description: 'Max records to return (default: 50)' },
|
|
145
|
+
},
|
|
146
|
+
inputSchema: {
|
|
147
|
+
type: 'object',
|
|
148
|
+
properties: {
|
|
149
|
+
table: { type: 'string', description: 'Table name to pull from (e.g. sys_script, sys_script_include, sp_widget)' },
|
|
150
|
+
query: { type: 'string', description: 'ServiceNow encoded query string (optional)' },
|
|
151
|
+
sys_id: { type: 'string', description: 'Specific record sys_id to pull (optional)' },
|
|
152
|
+
fields: { type: 'string', description: 'Comma-separated field list to project (optional)' },
|
|
153
|
+
limit: { type: 'integer', minimum: 1, maximum: 500, default: 50, description: 'Max records to pull' },
|
|
154
|
+
instance: { type: 'string', description: 'Target instance name/folder (optional)' },
|
|
155
|
+
},
|
|
156
|
+
required: ['table'],
|
|
157
|
+
additionalProperties: false,
|
|
158
|
+
},
|
|
159
|
+
mapInput: (input) => ({
|
|
160
|
+
command: 'pull_records',
|
|
161
|
+
instance: input.instance,
|
|
162
|
+
params: {
|
|
163
|
+
table: input.table,
|
|
164
|
+
query: input.query,
|
|
165
|
+
sys_id: input.sys_id || input['sys-id'],
|
|
166
|
+
fields: typeof input.fields === 'string' ? input.fields.split(',').map((s) => s.trim()) : undefined,
|
|
167
|
+
limit: typeof input.limit === 'number' ? input.limit : input.limit ? parseInt(input.limit, 10) : 50,
|
|
168
|
+
},
|
|
169
|
+
}),
|
|
170
|
+
},
|
|
171
|
+
// 6. Get Record
|
|
134
172
|
{
|
|
135
173
|
name: 'snu_get_record',
|
|
136
174
|
agentCommand: 'get_record',
|