83 lines
2.3 KiB
TypeScript
83 lines
2.3 KiB
TypeScript
|
|
import test from 'node:test';
|
||
|
|
import assert from 'node:assert/strict';
|
||
|
|
import { getExternalAgentSdkBackend, matchesManagedAgentConfig } from './managedAgents';
|
||
|
|
|
||
|
|
test('managed Claude matching ignores legacy adapter command-only configs', () => {
|
||
|
|
assert.equal(
|
||
|
|
matchesManagedAgentConfig(
|
||
|
|
{
|
||
|
|
id: 'custom-claude-adapter',
|
||
|
|
command: 'claude-agent-acp',
|
||
|
|
acpCommand: 'custom-acp',
|
||
|
|
},
|
||
|
|
'claude',
|
||
|
|
),
|
||
|
|
false,
|
||
|
|
);
|
||
|
|
});
|
||
|
|
|
||
|
|
test('managed Claude matching ignores legacy adapter configs', () => {
|
||
|
|
assert.equal(
|
||
|
|
matchesManagedAgentConfig(
|
||
|
|
{
|
||
|
|
id: 'custom-claude-adapter',
|
||
|
|
command: 'claude-agent-acp',
|
||
|
|
acpCommand: 'claude-agent-acp',
|
||
|
|
},
|
||
|
|
'claude',
|
||
|
|
),
|
||
|
|
false,
|
||
|
|
);
|
||
|
|
});
|
||
|
|
|
||
|
|
test('codex managed config no longer matches legacy adapter backend values', () => {
|
||
|
|
assert.equal(
|
||
|
|
matchesManagedAgentConfig({ id: 'x', command: 'codex', sdkBackend: 'codex' }, 'codex'),
|
||
|
|
true,
|
||
|
|
);
|
||
|
|
assert.equal(
|
||
|
|
matchesManagedAgentConfig({ id: 'x', command: 'other', acpCommand: 'codex-acp' }, 'codex'),
|
||
|
|
false,
|
||
|
|
);
|
||
|
|
});
|
||
|
|
|
||
|
|
test('cursor managed config matches by sdk backend and discovered id', () => {
|
||
|
|
assert.equal(
|
||
|
|
matchesManagedAgentConfig({ id: 'discovered_cursor', command: 'cursor', sdkBackend: 'cursor' }, 'cursor'),
|
||
|
|
true,
|
||
|
|
);
|
||
|
|
assert.equal(
|
||
|
|
matchesManagedAgentConfig({ id: 'x', command: 'other', sdkBackend: 'cursor' }, 'cursor'),
|
||
|
|
true,
|
||
|
|
);
|
||
|
|
});
|
||
|
|
|
||
|
|
test('claude managed config matches by sdk backend value', () => {
|
||
|
|
assert.equal(
|
||
|
|
matchesManagedAgentConfig({ id: 'discovered_claude', command: 'claude', sdkBackend: 'claude' }, 'claude'),
|
||
|
|
true,
|
||
|
|
);
|
||
|
|
});
|
||
|
|
|
||
|
|
test('legacy backend field is still accepted for saved settings', () => {
|
||
|
|
assert.equal(
|
||
|
|
getExternalAgentSdkBackend({ acpCommand: 'codex' }),
|
||
|
|
'codex',
|
||
|
|
);
|
||
|
|
});
|
||
|
|
|
||
|
|
test('grok managed config matches by sdk backend and discovered id', () => {
|
||
|
|
assert.equal(
|
||
|
|
matchesManagedAgentConfig({ id: 'discovered_grok', command: 'grok', sdkBackend: 'grok' }, 'grok'),
|
||
|
|
true,
|
||
|
|
);
|
||
|
|
assert.equal(
|
||
|
|
matchesManagedAgentConfig({ id: 'x', command: 'other', sdkBackend: 'grok' }, 'grok'),
|
||
|
|
true,
|
||
|
|
);
|
||
|
|
assert.equal(
|
||
|
|
matchesManagedAgentConfig({ id: 'x', command: 'C:\\\\Tools\\\\grok.exe', sdkBackend: 'grok' }, 'grok'),
|
||
|
|
true,
|
||
|
|
);
|
||
|
|
});
|