blob: 11b6030bd7d8fd282715fd616478314038aa02fc [file]
import assert from 'node:assert/strict';
import { test } from 'node:test';
import {
applyKimiCodeRequestTimeoutPatch,
KIMI_CODE_TOOLCHAIN_FINGERPRINT,
KIMI_CODE_TOOLCHAIN_SPEC,
} from '../kimi-code-toolchain.js';
test('Kimi Code toolchain pins the official package and extracted entrypoint', () => {
assert.equal(KIMI_CODE_TOOLCHAIN_SPEC.kimiCode.version, '0.26.0');
assert.equal(
KIMI_CODE_TOOLCHAIN_SPEC.kimiCode.archiveIntegrity,
'sha512-GadxPxbCYOfkMgX8sF6VyuligSTLU81sxJswMtzM5D0vmB7/ZGM7PBmUn6YF2fV/nKcx1JgPIHEc3vgKCQgqsQ==',
);
assert.equal(
KIMI_CODE_TOOLCHAIN_SPEC.kimiCode.sourceEntrypointSha256,
'bc310a7d2f0c3c2cb1367fa7b2092375351efff51c6d4a358b8681b4a01fb7b0',
);
assert.equal(KIMI_CODE_TOOLCHAIN_SPEC.kimiCode.patch.env, 'KIMI_MODEL_REQUEST_TIMEOUT_MS');
assert.equal(
KIMI_CODE_TOOLCHAIN_SPEC.kimiCode.entrypointSha256,
'58f48c418f446e525f2b60765a27221ed7ac771bebed45375a289d1172aa96c6',
);
assert.equal(
KIMI_CODE_TOOLCHAIN_SPEC.kimiCode.packageJsonSha256,
'65dfa318a882d834e356828d0f371f349f2dcfc99585cb01412f7c0a9e6ae52a',
);
assert.match(KIMI_CODE_TOOLCHAIN_FINGERPRINT, /^sha256:[a-f0-9]{64}$/);
});
test('Kimi Code toolchain patch replaces the OpenAI SDK timeout default used by Kimi chat', () => {
const anchor = 'OpenAI.DEFAULT_TIMEOUT = 6e5;';
assert.equal(
applyKimiCodeRequestTimeoutPatch(`before ${anchor} after`),
'before OpenAI.DEFAULT_TIMEOUT = Number(process.env["KIMI_MODEL_REQUEST_TIMEOUT_MS"] ?? 6e5); after',
);
assert.throws(
() => applyKimiCodeRequestTimeoutPatch('no OpenAI timeout default'),
/expected 1 OpenAI SDK timeout default, found 0/,
);
});