|string> */ public function rules(): array { return [ 'session_id' => ['required', 'string', 'max:255'], 'chunk_index' => ['required', 'integer', 'min:0'], 'is_final' => ['nullable', 'boolean'], 'total_chunks' => ['nullable', 'integer', 'min:0'], 'duration' => ['nullable', 'integer', 'min:0'], 'chunk' => ['nullable', 'file', 'max:25600'], // 25MB max per chunk ]; } /** * Get custom messages for validator errors. * * @return array */ public function messages(): array { return [ 'session_id.required' => 'A valid recording session identifier is required.', 'chunk_index.required' => 'Chunk index must be provided.', ]; } }