SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
68d7816 verified
Raw History Blame Contribute Delete
1.12 kB
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<PropertyKey, unknown>)[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
);
}