See meaningful error messages instead of cryptic codes

Server action errors now display proper messages instead of numeric codes, making it clear what went wrong.

Bug Fixes

When server actions failed with validation or business logic errors, you were seeing numeric error codes (like 3001) instead of meaningful messages. The error handling logic was incorrectly treating all errors with a code property as authentication errors from Better Auth, discarding the actual error message.

Now the type guard distinguishes between Better Auth errors (string codes) and application errors (numeric codes), so you'll see "A user with this email already exists" instead of just a number.