- Add comprehensive Moonshot AI provider with 11 models including: * Legacy moonshot-v1 series (8k, 32k, 128k context) * Latest Kimi K2 models (K2 Preview, Turbo, Thinking) * Vision-enabled models for multimodal capabilities * Auto-selecting model variants - Update xAI provider with latest Grok models: * Add Grok 4 (256K context) and Grok 4 (07-09) variant * Add Grok 3 Mini Beta and Mini Fast Beta variants * Update context limits to match actual model capabilities * Remove outdated grok-beta and grok-2-1212 models - Add MOONSHOT_API_KEY to environment configuration - Register Moonshot provider in service status monitoring - Full OpenAI-compatible API integration via api.moonshot.ai - Fix TypeScript errors in GitHub provider 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Claude <noreply@anthropic.com>
38 lines
1.3 KiB
TypeScript
38 lines
1.3 KiB
TypeScript
import { BaseProviderChecker } from '~/components/@settings/tabs/providers/service-status/base-provider';
|
|
import type { StatusCheckResult } from '~/components/@settings/tabs/providers/service-status/types';
|
|
|
|
export class MoonshotStatusChecker extends BaseProviderChecker {
|
|
async checkStatus(): Promise<StatusCheckResult> {
|
|
try {
|
|
// Check Moonshot API endpoint
|
|
const apiEndpoint = 'https://api.moonshot.ai/v1/models';
|
|
const apiStatus = await this.checkEndpoint(apiEndpoint);
|
|
|
|
// Check their main website
|
|
const websiteStatus = await this.checkEndpoint('https://www.moonshot.ai');
|
|
|
|
let status: StatusCheckResult['status'] = 'operational';
|
|
let message = 'All systems operational';
|
|
|
|
if (apiStatus !== 'reachable' || websiteStatus !== 'reachable') {
|
|
status = apiStatus !== 'reachable' ? 'down' : 'degraded';
|
|
message = apiStatus !== 'reachable' ? 'API appears to be down' : 'Service may be experiencing issues';
|
|
}
|
|
|
|
return {
|
|
status,
|
|
message,
|
|
incidents: [], // No public incident tracking available yet
|
|
};
|
|
} catch (error) {
|
|
console.error('Error checking Moonshot status:', error);
|
|
|
|
return {
|
|
status: 'degraded',
|
|
message: 'Unable to determine service status',
|
|
incidents: ['Note: Limited status information available'],
|
|
};
|
|
}
|
|
}
|
|
}
|