safeValidateUIMessages

Validate UI messages without throwing.

The non-throwing form of validateUIMessages, returning a result you can branch on. Use it at a request boundary where you would rather return a 400 than surface an error.

switch safeValidateUIMessages(body.messages) {
case .success(let messages): try await handle(messages)
case .failure(let error): return .badRequest(error)
}

Signature

func safeValidateUIMessages(
    _ messages: [UIMessage]
) -> Result<[UIMessage], Error>

Defined in Sources/AI/Transport/TextStreamChatTransport.swift.

Parameters

ParameterTypeDefault
_[UIMessage]required

Returns

A UIMessageValidation describing success or the failure.

See also