Skip to content

Commit 5c2fbfa

Browse files
committed
fix(schema): align ssh_cat + ssh_port_test schemas with their actual handler params (was schema {path, mode, lines, start, end, pattern} vs handler {file, head, tail, grep, line_start, line_end}; was {host, port, protocol, timeout} vs {target_host, target_port, probe_chain, timeout_ms_per_probe, continue_on_fail}). Other 25 tools still have similar mismatches -- see /tmp/audit-v2.mjs output.
1 parent e9d9bc2 commit 5c2fbfa

1 file changed

Lines changed: 18 additions & 15 deletions

File tree

src/index.js

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2252,17 +2252,19 @@ registerToolConditional(
22522252
registerToolConditional(
22532253
'ssh_cat',
22542254
{
2255-
description: 'Read remote file slices (line-range, head/tail, grep, offset+limit) -- UTF-8 safe',
2255+
description: 'Read remote file slices (head/tail/grep/byte-offset+limit/line-range) -- UTF-8 safe',
22562256
inputSchema: {
22572257
server: z.string().describe('Server name'),
2258-
path: z.string().describe('Remote file path'),
2259-
mode: z.enum(['full', 'head', 'tail', 'range', 'offset', 'grep']).optional().describe('Slice mode'),
2260-
lines: z.number().optional().describe('Number of lines (head/tail)'),
2261-
start: z.number().optional().describe('Start line (range mode)'),
2262-
end: z.number().optional().describe('End line (range mode)'),
2263-
offset: z.number().optional().describe('Byte offset'),
2264-
limit: z.number().optional().describe('Byte limit'),
2265-
pattern: z.string().optional().describe('grep pattern'),
2258+
file: z.string().describe('Remote file path'),
2259+
head: z.number().optional().describe('Read first N lines'),
2260+
tail: z.number().optional().describe('Read last N lines'),
2261+
grep: z.string().optional().describe('Extended-regex filter (grep -E)'),
2262+
line_start: z.number().optional().describe('Start line (1-indexed) for line range mode'),
2263+
line_end: z.number().optional().describe('End line (1-indexed) for line range mode'),
2264+
offset: z.number().optional().describe('Byte offset for byte slice mode'),
2265+
limit: z.number().optional().describe('Byte limit for byte slice mode'),
2266+
timeout: z.number().optional().describe('Timeout in ms (default 15000)'),
2267+
maxLen: z.number().optional().describe('Output truncation cap (default 10000 chars)'),
22662268
format: z.enum(['markdown', 'json']).optional().describe('Output format')
22672269
}
22682270
},
@@ -2326,13 +2328,14 @@ registerToolConditional(
23262328
registerToolConditional(
23272329
'ssh_port_test',
23282330
{
2329-
description: 'Port reachability probe (DNS -> TCP -> TLS -> HTTP chain)',
2331+
description: 'Port reachability probe (configurable DNS -> TCP -> TLS -> HTTP chain)',
23302332
inputSchema: {
2331-
server: z.string().optional().describe('Server for outbound probe from'),
2332-
host: z.string().describe('Target host'),
2333-
port: z.number().describe('Target port'),
2334-
protocol: z.enum(['tcp', 'tls', 'http', 'https']).optional().describe('Probe depth'),
2335-
timeout: z.number().optional().describe('Probe timeout (ms)'),
2333+
server: z.string().optional().describe('Server to launch the outbound probe from (omit for local probe)'),
2334+
target_host: z.string().describe('Target host or IP'),
2335+
target_port: z.number().optional().describe('Target port (required for tcp/tls/http probes)'),
2336+
probe_chain: z.array(z.enum(['dns', 'tcp', 'tls', 'http'])).optional().describe('Probe ordering (default ["dns","tcp","tls","http"])'),
2337+
timeout_ms_per_probe: z.number().optional().describe('Per-probe timeout in ms'),
2338+
continue_on_fail: z.boolean().optional().describe('Continue running later probes even if an earlier one fails'),
23362339
format: z.enum(['markdown', 'json']).optional().describe('Output format')
23372340
}
23382341
},

0 commit comments

Comments
 (0)