solver-sdk
Version:
SDK for WorkAI API - AI-powered code analysis with WorkCoins billing system
51 lines • 1.88 kB
JavaScript
;
/**
* Строгие TypeScript интерфейсы для Anthropic API
* Источник истины для всех компонентов: Backend, SDK, Client
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.AnthropicValidators = void 0;
/**
* Валидаторы для проверки корректности блоков
*/
class AnthropicValidators {
/**
* Валидирует thinking блок
*/
static validateThinkingBlock(block) {
return (block.type === 'thinking' &&
typeof block.thinking === 'string' &&
block.thinking.length > 0 &&
(block.signature === undefined || typeof block.signature === 'string') &&
!block.hasOwnProperty('content') // НЕ должно быть content поля!
);
}
/**
* Валидирует assistant сообщение
*/
static validateAssistantMessage(msg) {
return (msg.role === 'assistant' &&
Array.isArray(msg.content) &&
msg.content.length > 0 &&
msg.content.every((block) => ['thinking', 'text', 'tool_use'].includes(block.type)));
}
/**
* Валидирует tool_use блок
*/
static validateToolUseBlock(block) {
return (block.type === 'tool_use' &&
typeof block.id === 'string' &&
typeof block.name === 'string' &&
typeof block.input === 'object');
}
/**
* Валидирует tool_result блок
*/
static validateToolResultBlock(block) {
return (block.type === 'tool_result' &&
typeof block.tool_use_id === 'string' &&
(typeof block.content === 'string' || Array.isArray(block.content)));
}
}
exports.AnthropicValidators = AnthropicValidators;
//# sourceMappingURL=anthropic-interfaces.js.map