export interface ModelCapability { readonly image_in: boolean; readonly video_in: boolean; readonly audio_in: boolean; readonly thinking: boolean; readonly tool_use: boolean; readonly dynamically_loaded_tools?: boolean; } const UNKNOWN_CAPABILITY_MARKER = Symbol.for('moonshot-ai.kosong.UNKNOWN_CAPABILITY'); export const UNKNOWN_CAPABILITY: ModelCapability = Object.freeze( Object.defineProperty( { image_in: false, video_in: false, audio_in: false, thinking: false, tool_use: false, dynamically_loaded_tools: false, }, UNKNOWN_CAPABILITY_MARKER, { value: true }, ), ); export function isUnknownCapability(capability: ModelCapability): boolean { if (capability === UNKNOWN_CAPABILITY) return true; const marked = (capability as unknown as Record)[UNKNOWN_CAPABILITY_MARKER] === true; if (marked) return true; return ( !capability.image_in && !capability.video_in && !capability.audio_in && !capability.thinking && !capability.tool_use && capability.dynamically_loaded_tools !== true ); }