/** Content-block structure helpers. @module @deepseek-ai/dsh-llm/content */
/**
 * True when typed model content contains an image block, walking nested
 * tool-result content. This is the one recursive image walk shared by every
 * image policy (capability gating, text-only serialization, compaction
 * survey), so a consumer cannot silently diverge on nesting depth.
 * @param content - typed model content blocks.
 * @returns whether any nested block is an image.
 */
export function contentHasImage(content) {
    return content.some(block => block.type === 'image'
        || (block.type === 'tool-result' && contentHasImage(block.content)));
}
//# sourceMappingURL=content.js.map