I try to setup the supabase with honojs. I setup the middleware and make it global. This middleware function store the cookie when the user is login or register? How to test an authenticated route? Errors: 1, I have an error to the getAll on the createServerClient: No overload matches this call. Overload 1 of 2, '(supabaseUrl: string, supabaseKey: string, options: SupabaseClientOptions<"public"> & { cookieOptions?: CookieOptionsWithName | undefined; cookies: CookieMethodsServerDeprecated; cookieEncoding?: "raw" | ... 1 more ... | undefined; }): SupabaseClient<...>', gave the following error. Object literal may only specify known properties, and 'getAll' does not exist in type 'CookieMethodsServerDeprecated'. Overload 2 of 2, '(supabaseUrl: string, supabaseKey: string, options: SupabaseClientOptions<"public"> & { cookieOptions?: CookieOptionsWithName | undefined; cookies: CookieMethodsServer; cookieEncoding?: "raw" | ... 1 more ... | undefined; }): SupabaseClient<...>', gave the following error. Type '() => { name: string; value?: string | undefined; }[]' is not assignable to type 'GetAllCookies'. Type '{ name: string; value?: string | undefined; }[]' is not assignable to type 'Promise<{ name: string; value: string; }[] | null> | { name: string; value: string; }[] | null'. Type '{ name: string; value?: string | undefined; }[]' is not assignable to type '{ name: string; value: string; }[]'. Type '{ name: string; value?: string | undefined; }' is not assignable to type '{ name: string; value: string; }'. Types of property 'value' are incompatible. Type 'string | undefined' is not assignable to type 'string'. Type 'undefined' is not assignable to type 'string'. 2. I have error to the options variable inside to the setCookies setAll(cookiesToSet) {   cookiesToSet.forEach(({ name, value, options }) => setCookie(c, name, value, options)); } Argument of type 'Partial' is not assignable to parameter of type 'CookieOptions | undefined'. Type 'Partial' is not assignable to type '({ domain?: string | undefined; expires?: Date | undefined; httpOnly?: boolean | undefined; maxAge?: number | undefined; path?: string | undefined; secure?: boolean | undefined; sameSite?: "Strict" | ... 5 more ... | undefined; partitioned?: boolean | undefined; priority?: "Low" | ... 5 more ... | undefined; prefix?...'. Type 'Partial' is not assignable to type '{ domain?: string | undefined; expires?: Date | undefined; httpOnly?: boolean | undefined; maxAge?: number | undefined; path?: string | undefined; secure?: boolean | undefined; sameSite?: "Strict" | ... 5 more ... | undefined; partitioned?: boolean | undefined; priority?: "Low" | ... 5 more ... | undefined; prefix?:...'. Type 'Partial' is not assignable to type '{ domain?: string | undefined; expires?: Date | undefined; httpOnly?: boolean | undefined; maxAge?: number | undefined; path?: string | undefined; secure?: boolean | undefined; sameSite?: "Strict" | ... 5 more ... | undefined; partitioned?: boolean | undefined; priority?: "Low" | ... 5 more ... | undefined; prefix?:...'. Types of property 'sameSite' are incompatible. Type 'boolean | "strict" | "lax" | "none" | undefined' is not assignable to type '"Strict" | "Lax" | "None" | "strict" | "lax" | "none" | undefined'. Type 'false' is not assignable to type '"Strict" | "Lax" | "None" | "strict" | "lax" | "none" | undefined'. MIddleware code: import { createServerClient, parseCookieHeader } from "@supabase/ssr"; import { SupabaseClient } from "@supabase/supabase-js"; import type { Context, MiddlewareHandler } from "hono"; import { env } from "hono/adapter"; import { setCookie } from "hono/cookie"; import { SupabaseEnv } from "../types"; declare module "hono" {   interface ContextVariableMap {     supabase: SupabaseClient   } } export const supabaseMiddleware = (): MiddlewareHandler => {   return async (c, next) => {     const supabaseEnv = env(c);     const supabaseUrl = supabaseEnv.SUPABASE_URL;     const supabaseAnonKey = supabaseEnv.SUPABASE_PUBLISHABLE_KEY;     if (!supabaseUrl) {       throw new Error("SUPABASE_URL missing!");     }     if (!supabaseAnonKey) {       throw new Error("SUPABASE_PUBLISHABLE_KEY missing!");     }     const supabase = createServerClient(supabaseUrl, supabaseAnonKey, {       cookies: {         getAll() {           return parseCookieHeader(c.req.header("Cookie") ?? "");         },         setAll(cookiesToSet) {           cookiesToSet.forEach(({ name, value, options }) => setCookie(c, name, value, options));         },       },     })     c.set("supabase", supabase);     await next();   } } export const getSupabase = (c: Context) => {   return c.get("supabase"); } export const authMiddleware = (): MiddlewareHandler => {   return async (c, next) => {     const supabase = getSupabase(c);     const { data, error } = await supabase.auth.getUser();     if (error || !data.user) {       return c.json({ error: "Unauthorized" }, 401);     }     c.set("user", data.user);     await next();   } } export const getUser = (c: Context) => {   return c.get("user"); }