feat(models): add minimax and moonshot providers
This commit is contained in:
@@ -384,6 +384,68 @@ models:
|
||||
}
|
||||
});
|
||||
|
||||
it('reports WARN when MiniMax has no available API key sources', async () => {
|
||||
const originalKey = process.env.MINIMAX_API_KEY;
|
||||
delete process.env.MINIMAX_API_KEY;
|
||||
|
||||
try {
|
||||
mkdirSync(testDir, { recursive: true });
|
||||
const configPath = join(testDir, 'minimax-missing.yaml');
|
||||
writeFileSync(configPath, `
|
||||
telegram:
|
||||
bot_token: "test-token"
|
||||
allowed_chat_ids: [123]
|
||||
models:
|
||||
default:
|
||||
provider: minimax
|
||||
model: MiniMax-M1
|
||||
`);
|
||||
|
||||
const ctx: DoctorContext = { configPath, dataDir: testDir };
|
||||
const results = await runChecks(ctx);
|
||||
const modelCheck = results.find(r => r.label.includes('Model connectivity')) as CheckResult | undefined;
|
||||
expect(modelCheck?.status).toBe('warn');
|
||||
expect(modelCheck?.detail).toContain('MINIMAX_API_KEY');
|
||||
} finally {
|
||||
if (originalKey) {
|
||||
process.env.MINIMAX_API_KEY = originalKey;
|
||||
} else {
|
||||
delete process.env.MINIMAX_API_KEY;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
it('reports WARN when Moonshot has no available API key sources', async () => {
|
||||
const originalKey = process.env.MOONSHOT_API_KEY;
|
||||
delete process.env.MOONSHOT_API_KEY;
|
||||
|
||||
try {
|
||||
mkdirSync(testDir, { recursive: true });
|
||||
const configPath = join(testDir, 'moonshot-missing.yaml');
|
||||
writeFileSync(configPath, `
|
||||
telegram:
|
||||
bot_token: "test-token"
|
||||
allowed_chat_ids: [123]
|
||||
models:
|
||||
default:
|
||||
provider: moonshot
|
||||
model: moonshot-v1-8k
|
||||
`);
|
||||
|
||||
const ctx: DoctorContext = { configPath, dataDir: testDir };
|
||||
const results = await runChecks(ctx);
|
||||
const modelCheck = results.find(r => r.label.includes('Model connectivity')) as CheckResult | undefined;
|
||||
expect(modelCheck?.status).toBe('warn');
|
||||
expect(modelCheck?.detail).toContain('MOONSHOT_API_KEY');
|
||||
} finally {
|
||||
if (originalKey) {
|
||||
process.env.MOONSHOT_API_KEY = originalKey;
|
||||
} else {
|
||||
delete process.env.MOONSHOT_API_KEY;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
it('reports FAIL when Anthropic auth_mode=oauth has no available auth token sources', async () => {
|
||||
const originalHome = process.env.HOME;
|
||||
const originalToken = process.env.ANTHROPIC_AUTH_TOKEN;
|
||||
|
||||
Reference in New Issue
Block a user