/
MK_lab
/
claude-code
Обзор
Документация
Войти
/
MK_lab
/
claude-code
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
utils/permissions/classifierShared.ts
39 строк
1 KB
kuberwastaken
new initial commit (history rewritten)
01 апр 2026, 14:57
01 апр 2026, 14:57
c1996f2
Код
Авторство
О чём код?
/** * Shared infrastructure for classifier-based permission systems. * * This module provides common types, schemas, and utilities used by both: * - bashClassifier.ts (semantic Bash command matching) * - yoloClassifier.ts (YOLO mode security classification) */ import type { BetaContentBlock } from '@anthropic-ai/sdk/resources/beta/messages.js' import type { z } from 'zod/v4' /** * Extract tool use block from message content by tool name. */ export function extractToolUseBlock( content: BetaContentBlock[], toolName: string, ): Extract<BetaContentBlock, { type: 'tool_use' }> | null { const block = content.find(b => b.type === 'tool_use' && b.name === toolName) if (!block || block.type !== 'tool_use') { return null } return block } /** * Parse and validate classifier response from tool use block. * Returns null if parsing fails. */ export function parseClassifierResponse<T extends z.ZodTypeAny>( toolUseBlock: Extract<BetaContentBlock, { type: 'tool_use' }>, schema: T, ): z.infer<T> | null { const parseResult = schema.safeParse(toolUseBlock.input) if (!parseResult.success) { return null } return parseResult.data }