ucn 3.8.19 → 3.8.21
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/core/registry.js +21 -21
- package/mcp/server.js +3 -5
- package/package.json +1 -1
package/core/registry.js
CHANGED
|
@@ -96,29 +96,29 @@ const PARAM_MAP = {
|
|
|
96
96
|
// file* = file is the command subject (required), not a filter pattern.
|
|
97
97
|
const FLAG_APPLICABILITY = {
|
|
98
98
|
// Understanding code
|
|
99
|
-
about: ['file', 'exclude', 'className', 'includeMethods', 'includeUncertain', 'includeTests', 'top', 'all', 'withTypes', 'minConfidence', 'showConfidence'],
|
|
100
|
-
context: ['file', 'exclude', 'className', 'includeMethods', 'includeUncertain', 'minConfidence', 'showConfidence'],
|
|
101
|
-
impact: ['file', 'exclude', 'className', 'top'],
|
|
102
|
-
blast: ['file', 'exclude', 'className', 'includeMethods', 'includeUncertain', 'depth', 'all', 'minConfidence'],
|
|
103
|
-
reverseTrace: ['file', 'exclude', 'className', 'includeMethods', 'includeUncertain', 'depth', 'all', 'minConfidence'],
|
|
104
|
-
smart: ['file', 'exclude', 'className', 'includeMethods', 'includeUncertain', 'withTypes', 'minConfidence'],
|
|
105
|
-
trace: ['file', 'exclude', 'className', 'includeMethods', 'includeUncertain', 'depth', 'all', 'minConfidence'],
|
|
106
|
-
example: ['file', 'className'],
|
|
107
|
-
related: ['file', 'className', 'top', 'all'],
|
|
99
|
+
about: ['name', 'file', 'exclude', 'className', 'includeMethods', 'includeUncertain', 'includeTests', 'top', 'all', 'withTypes', 'minConfidence', 'showConfidence'],
|
|
100
|
+
context: ['name', 'file', 'exclude', 'className', 'includeMethods', 'includeUncertain', 'minConfidence', 'showConfidence'],
|
|
101
|
+
impact: ['name', 'file', 'exclude', 'className', 'top'],
|
|
102
|
+
blast: ['name', 'file', 'exclude', 'className', 'includeMethods', 'includeUncertain', 'depth', 'all', 'minConfidence'],
|
|
103
|
+
reverseTrace: ['name', 'file', 'exclude', 'className', 'includeMethods', 'includeUncertain', 'depth', 'all', 'minConfidence'],
|
|
104
|
+
smart: ['name', 'file', 'exclude', 'className', 'includeMethods', 'includeUncertain', 'withTypes', 'minConfidence'],
|
|
105
|
+
trace: ['name', 'file', 'exclude', 'className', 'includeMethods', 'includeUncertain', 'depth', 'all', 'minConfidence'],
|
|
106
|
+
example: ['name', 'file', 'className'],
|
|
107
|
+
related: ['name', 'file', 'className', 'top', 'all'],
|
|
108
108
|
// Finding code
|
|
109
|
-
find: ['file', 'exclude', 'className', 'includeTests', 'top', 'limit', 'exact', 'in', 'all', 'depth'],
|
|
110
|
-
usages: ['file', 'exclude', 'className', 'includeTests', 'limit', 'codeOnly', 'context', 'in'],
|
|
109
|
+
find: ['name', 'file', 'exclude', 'className', 'includeTests', 'top', 'limit', 'exact', 'in', 'all', 'depth'],
|
|
110
|
+
usages: ['name', 'file', 'exclude', 'className', 'includeTests', 'limit', 'codeOnly', 'context', 'in'],
|
|
111
111
|
toc: ['file', 'exclude', 'top', 'limit', 'all', 'detailed', 'topLevel', 'in'],
|
|
112
|
-
search: ['file', 'exclude', 'includeTests', 'top', 'limit', 'codeOnly', 'caseSensitive', 'context', 'regex', 'in', 'type', 'param', 'receiver', 'returns', 'decorator', 'exported', 'unused'],
|
|
113
|
-
tests: ['file', 'exclude', 'className', 'callsOnly'],
|
|
114
|
-
affectedTests:['file', 'exclude', 'className', 'includeMethods', 'includeUncertain', 'depth', 'minConfidence'],
|
|
112
|
+
search: ['term', 'file', 'exclude', 'includeTests', 'top', 'limit', 'codeOnly', 'caseSensitive', 'context', 'regex', 'in', 'type', 'param', 'receiver', 'returns', 'decorator', 'exported', 'unused'],
|
|
113
|
+
tests: ['name', 'file', 'exclude', 'className', 'callsOnly'],
|
|
114
|
+
affectedTests:['name', 'file', 'exclude', 'className', 'includeMethods', 'includeUncertain', 'depth', 'minConfidence'],
|
|
115
115
|
deadcode: ['file', 'exclude', 'includeTests', 'includeExported', 'includeDecorated', 'limit', 'in'],
|
|
116
116
|
entrypoints: ['file', 'exclude', 'includeTests', 'limit', 'type', 'framework'],
|
|
117
117
|
// Extracting code
|
|
118
|
-
fn: ['file', 'className', 'all'],
|
|
119
|
-
class: ['file', 'all', 'maxLines'],
|
|
118
|
+
fn: ['name', 'file', 'className', 'all'],
|
|
119
|
+
class: ['name', 'file', 'all', 'maxLines'],
|
|
120
120
|
lines: ['file', 'range'],
|
|
121
|
-
expand: [],
|
|
121
|
+
expand: ['item'],
|
|
122
122
|
// File dependencies
|
|
123
123
|
imports: ['file'],
|
|
124
124
|
exporters: ['file'],
|
|
@@ -126,11 +126,11 @@ const FLAG_APPLICABILITY = {
|
|
|
126
126
|
graph: ['file', 'depth', 'direction', 'all'],
|
|
127
127
|
circularDeps: ['file', 'exclude'],
|
|
128
128
|
// Refactoring
|
|
129
|
-
verify: ['file', 'className'],
|
|
130
|
-
plan: ['file', 'className', 'addParam', 'removeParam', 'renameTo', 'defaultValue'],
|
|
129
|
+
verify: ['name', 'file', 'className'],
|
|
130
|
+
plan: ['name', 'file', 'className', 'addParam', 'removeParam', 'renameTo', 'defaultValue'],
|
|
131
131
|
diffImpact: ['file', 'limit', 'base', 'staged', 'all'],
|
|
132
132
|
// Other
|
|
133
|
-
typedef: ['file', 'className', 'exact'],
|
|
133
|
+
typedef: ['name', 'file', 'className', 'exact'],
|
|
134
134
|
stacktrace: ['stack'],
|
|
135
135
|
api: ['file', 'limit'],
|
|
136
136
|
stats: ['functions', 'top'],
|
|
@@ -244,7 +244,7 @@ const REVERSE_PARAM_MAP = buildReverseParamMap();
|
|
|
244
244
|
* One line per command: `about: file, exclude, class_name, ...`
|
|
245
245
|
*/
|
|
246
246
|
function generateMcpParamSection() {
|
|
247
|
-
const lines = ['', 'ACCEPTED FLAGS PER COMMAND (
|
|
247
|
+
const lines = ['', 'ACCEPTED FLAGS PER COMMAND (max_chars, max_files, follow_symlinks always accepted; flags not listed below are ignored):'];
|
|
248
248
|
for (const cmd of CANONICAL_COMMANDS) {
|
|
249
249
|
const flags = FLAG_APPLICABILITY[cmd];
|
|
250
250
|
if (!flags || flags.length === 0) continue;
|
package/mcp/server.js
CHANGED
|
@@ -314,11 +314,9 @@ server.registerTool(
|
|
|
314
314
|
const strippedParams = [];
|
|
315
315
|
const applicable = FLAG_APPLICABILITY[command];
|
|
316
316
|
if (applicable) {
|
|
317
|
-
//
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
'all', 'json', 'maxChars', 'maxFiles', 'workers',
|
|
321
|
-
]);
|
|
317
|
+
// Truly global options — apply to all commands (build/display control).
|
|
318
|
+
// Command-specific params (name, term, stack, range, etc.) are in FLAG_APPLICABILITY.
|
|
319
|
+
const coreParams = new Set(['maxChars', 'maxFiles', 'followSymlinks']);
|
|
322
320
|
for (const key of Object.keys(ep)) {
|
|
323
321
|
if (coreParams.has(key)) continue;
|
|
324
322
|
if (!applicable.includes(key) && ep[key] !== undefined &&
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ucn",
|
|
3
|
-
"version": "3.8.
|
|
3
|
+
"version": "3.8.21",
|
|
4
4
|
"mcpName": "io.github.mleoca/ucn",
|
|
5
5
|
"description": "Code intelligence toolkit for AI agents — extract functions, trace call chains, find callers, detect dead code without reading entire files. Works as MCP server, CLI, or agent skill. Supports JS/TS, Python, Go, Rust, Java.",
|
|
6
6
|
"main": "index.js",
|