refactor: drop 12 runtimes, keep Claude, Codex, OpenCode, Cursor, ZCode, Antigravity

Removes kilo, kimi, kimi-code, copilot, windsurf, augment, trae, qwen, hermes,
cline, codebuddy and pi end to end: capability descriptors, installer branches
and converters (bin/install.js 14.9k -> 11.2k lines), TypeScript converters,
hook surfaces and runtime homes, review lanes qwen/kimi-code, the two pi
migrations, Kimi payload normalization in the hook guards, dead hostBehaviors
vocabulary, launcher home probes, fixtures, runtime-specific tests and the
prose that presented them as supported.

Installer output for the six kept runtimes is byte-identical to before the
prune. The Kimi tool-vocabulary tests in workflow-guard, read-guard and
read-injection-scanner are left in place pending a decision.
This commit is contained in:
Jakub Zych
2026-10-06 20:02:40 +02:00
parent 12ee75a509
commit 6cfa0c55d2
509 changed files with 1869 additions and 47737 deletions

View File

@@ -525,32 +525,4 @@ describe('#3662 runtime-resolving managed hook runners', () => {
}
});
});
describe('kimi config.toml surface', () => {
test('kimi toml hook commands resolve node at run time', (t) => {
if (skipOnWin32(t, 'POSIX sh execution lane')) return;
const { home, configDir } = makeHookTree(t, 'kimi-run');
withHome(t, home);
const block = hooksSurface.buildKimiHooksTomlBlock(configDir, {
hookOpts: { portableHooks: false, runtime: 'kimi' },
});
assert.ok(typeof block === 'string' && block.length > 0, 'kimi hooks block not built');
const commands = [...block.matchAll(/^command = "(.*)"$/gm)].map((m) =>
m[1].replace(/\\"/g, '"').replace(/\\\\/g, '\\'),
);
assert.ok(commands.length > 0, 'no command entries found in kimi block');
const jsCommand = commands.find((c) => c.includes('msd-prompt-guard.js'));
assert.ok(jsCommand, `no msd-prompt-guard.js command in block: ${commands.join(' | ')}`);
const foreign = foreignizeNodeTokens(jsCommand);
const file = writeCommandFile(t, foreign, 'kimi');
const result = runHook(file, [], {
interpreter: 'bash',
cwd: home,
env: { ...process.env, HOME: home, PATH: `${posixRealNodeDir()}:/usr/bin:/bin` },
timeoutMs: RUN_TIMEOUT_MS,
});
assert.equal(result.exitCode, 0, `command: ${foreign}\nstderr: ${result.stderr}`);
assert.equal(result.stdout, 'hook-ran-ok');
});
});
});