/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/server/src/middleware/schema-error.ts
20 строк
924 B
Kit Langton
refactor(protocol): extract server contracts (#33708)
25 июн 2026, 05:15
Не верифицирован
25 июн 2026, 05:15
56a37c3
Код
Авторство
О чём код?
import { Effect } from "effect" import { HttpApiMiddleware } from "effect/unstable/httpapi" import { InvalidRequestError } from "@opencode-ai/protocol/errors" import { SchemaErrorMiddleware } from "@opencode-ai/protocol/middleware/schema-error" export { SchemaErrorMiddleware } from "@opencode-ai/protocol/middleware/schema-error" const REASON_LIMIT = 1024 function truncateReason(reason: string) { if (reason.length <= REASON_LIMIT) return reason return reason.slice(0, REASON_LIMIT) + `... (${reason.length - REASON_LIMIT} more chars)` } export const schemaErrorLayer = HttpApiMiddleware.layerSchemaErrorTransform(SchemaErrorMiddleware, (error) => { const reason = truncateReason(error.cause.message) return Effect.logWarning("schema rejection").pipe( Effect.annotateLogs({ kind: error.kind, reason }), Effect.andThen(Effect.fail(new InvalidRequestError({ message: reason, kind: error.kind }))), ) })