54 lines
1.5 KiB
TypeScript
54 lines
1.5 KiB
TypeScript
|
|
import test from 'node:test';
|
||
|
|
import assert from 'node:assert/strict';
|
||
|
|
|
||
|
|
import {
|
||
|
|
inferArtifactToolNameFromCliArgs,
|
||
|
|
normalizeArtifactToolName,
|
||
|
|
} from './toolArtifactNames.ts';
|
||
|
|
|
||
|
|
test('normalizeArtifactToolName unwraps MCP server prefixes', () => {
|
||
|
|
assert.equal(
|
||
|
|
normalizeArtifactToolName('mcp__netcatty__vault_notes_create'),
|
||
|
|
'vault_notes_create',
|
||
|
|
);
|
||
|
|
assert.equal(
|
||
|
|
normalizeArtifactToolName('mcp__netcatty-remote-hosts__terminal_read_context'),
|
||
|
|
'terminal_read_context',
|
||
|
|
);
|
||
|
|
});
|
||
|
|
|
||
|
|
test('normalizeArtifactToolName unwraps OpenCode server prefixes', () => {
|
||
|
|
assert.equal(
|
||
|
|
normalizeArtifactToolName('netcatty-remote-hosts_vault_notes_get'),
|
||
|
|
'vault_notes_get',
|
||
|
|
);
|
||
|
|
assert.equal(
|
||
|
|
normalizeArtifactToolName('netcatty-remote-hosts_vault_hosts_list'),
|
||
|
|
'vault_hosts_list',
|
||
|
|
);
|
||
|
|
assert.equal(
|
||
|
|
normalizeArtifactToolName('netcatty-remote-hosts_terminal_read_context'),
|
||
|
|
'terminal_read_context',
|
||
|
|
);
|
||
|
|
});
|
||
|
|
|
||
|
|
test('normalizeArtifactToolName unwraps Copilot server prefixes', () => {
|
||
|
|
assert.equal(
|
||
|
|
normalizeArtifactToolName('netcatty-remote-hosts-vault_notes_list'),
|
||
|
|
'vault_notes_list',
|
||
|
|
);
|
||
|
|
assert.equal(
|
||
|
|
normalizeArtifactToolName('netcatty-remote-hosts-terminal_read_context'),
|
||
|
|
'terminal_read_context',
|
||
|
|
);
|
||
|
|
});
|
||
|
|
|
||
|
|
test('inferArtifactToolNameFromCliArgs maps Netcatty CLI artifact commands', () => {
|
||
|
|
assert.equal(
|
||
|
|
inferArtifactToolNameFromCliArgs({
|
||
|
|
command: `/bin/zsh -lc '"/Applications/Netcatty.app/netcatty-tool-cli" vault host get --host-id host_1 --json'`,
|
||
|
|
}),
|
||
|
|
'host_get',
|
||
|
|
);
|
||
|
|
});
|