@nhost/nhost-js 4.6.0 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/fetch-DjLYNzv8.cjs +2 -0
  2. package/dist/fetch-DjLYNzv8.cjs.map +1 -0
  3. package/dist/fetch-DsJJyobH.js +2 -0
  4. package/dist/fetch-DsJJyobH.js.map +1 -0
  5. package/dist/graphql-BEFThamT.cjs +2 -0
  6. package/dist/graphql-BEFThamT.cjs.map +1 -0
  7. package/dist/graphql-CTZ9QikM.js +2 -0
  8. package/dist/graphql-CTZ9QikM.js.map +1 -0
  9. package/dist/nhost-js/auth.cjs +2 -2
  10. package/dist/nhost-js/auth.cjs.map +1 -1
  11. package/dist/nhost-js/auth.js +2 -32
  12. package/dist/nhost-js/auth.js.map +1 -1
  13. package/dist/nhost-js/fetch.cjs +1 -2
  14. package/dist/nhost-js/fetch.js +1 -30
  15. package/dist/nhost-js/functions.cjs +2 -2
  16. package/dist/nhost-js/functions.cjs.map +1 -1
  17. package/dist/nhost-js/functions.js +2 -50
  18. package/dist/nhost-js/functions.js.map +1 -1
  19. package/dist/nhost-js/graphql.cjs +1 -2
  20. package/dist/nhost-js/graphql.js +1 -53
  21. package/dist/nhost-js/session.cjs +1 -2
  22. package/dist/nhost-js/session.js +1 -242
  23. package/dist/nhost-js/storage.cjs +2 -2
  24. package/dist/nhost-js/storage.cjs.map +1 -1
  25. package/dist/nhost-js/storage.js +2 -342
  26. package/dist/nhost-js/storage.js.map +1 -1
  27. package/dist/nhost-js.cjs +2 -2
  28. package/dist/nhost-js.cjs.map +1 -1
  29. package/dist/nhost-js.js +2 -241
  30. package/dist/nhost-js.js.map +1 -1
  31. package/dist/nhost-js.umd.js +2 -2
  32. package/dist/nhost-js.umd.js.map +1 -1
  33. package/dist/refreshSession-BvZuC-Or.js +2 -0
  34. package/dist/refreshSession-BvZuC-Or.js.map +1 -0
  35. package/dist/refreshSession-ZW-JniXX.cjs +2 -0
  36. package/dist/refreshSession-ZW-JniXX.cjs.map +1 -0
  37. package/dist/session-oECsmiRB.js +2 -0
  38. package/dist/session-oECsmiRB.js.map +1 -0
  39. package/dist/session-r_9IPgQp.cjs +2 -0
  40. package/dist/session-r_9IPgQp.cjs.map +1 -0
  41. package/dist/src/auth/client.d.ts +227 -5
  42. package/dist/src/auth/client.d.ts.map +1 -1
  43. package/dist/src/auth/client.js +138 -0
  44. package/dist/src/auth/client.js.map +1 -1
  45. package/dist/src/graphql/client.d.ts +11 -0
  46. package/dist/src/graphql/client.d.ts.map +1 -1
  47. package/dist/src/graphql/client.js +31 -1
  48. package/dist/src/graphql/client.js.map +1 -1
  49. package/dist/src/graphql/index.d.ts +2 -1
  50. package/dist/src/graphql/index.d.ts.map +1 -1
  51. package/dist/src/graphql/index.js +1 -1
  52. package/dist/src/graphql/index.js.map +1 -1
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/package.json +1 -2
  55. package/dist/client-BL0edWHv.cjs +0 -2
  56. package/dist/client-BL0edWHv.cjs.map +0 -1
  57. package/dist/client-BOrTAJrs.js +0 -1304
  58. package/dist/client-BOrTAJrs.js.map +0 -1
  59. package/dist/fetch-2PHmQBIJ.js +0 -61
  60. package/dist/fetch-2PHmQBIJ.js.map +0 -1
  61. package/dist/fetch-DWXwEnoe.cjs +0 -2
  62. package/dist/fetch-DWXwEnoe.cjs.map +0 -1
  63. package/dist/middlewareWithAdminSession-CcuYKs5Y.js +0 -106
  64. package/dist/middlewareWithAdminSession-CcuYKs5Y.js.map +0 -1
  65. package/dist/middlewareWithAdminSession-j70iKbBX.cjs +0 -2
  66. package/dist/middlewareWithAdminSession-j70iKbBX.cjs.map +0 -1
  67. package/dist/nhost-js/fetch.cjs.map +0 -1
  68. package/dist/nhost-js/fetch.js.map +0 -1
  69. package/dist/nhost-js/graphql.cjs.map +0 -1
  70. package/dist/nhost-js/graphql.js.map +0 -1
  71. package/dist/nhost-js/session.cjs.map +0 -1
  72. package/dist/nhost-js/session.js.map +0 -1
  73. package/dist/refreshSession-Bw715ZmX.cjs +0 -2
  74. package/dist/refreshSession-Bw715ZmX.cjs.map +0 -1
  75. package/dist/refreshSession-WwGlzgtM.js +0 -95
  76. package/dist/refreshSession-WwGlzgtM.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ var e="undefined"!=typeof navigator&&navigator.locks?navigator.locks:new class{async request(e,s,n){return n()}},s=async(e,s,r=60)=>{try{return await n(e,s,r)}catch(o){try{return console.warn("error refreshing session, retrying:",o),await n(e,s,r)}catch(o){return 401===o?.status&&(console.error("session probably expired"),s.remove()),null}}},n=async(s,n,o=60)=>{const{session:t,needsRefresh:i}=await e.request("nhostSessionLock",{mode:"shared"},(async()=>r(n,o)));return t?i?await e.request("nhostSessionLock",{mode:"exclusive"},(async()=>{const{session:e,needsRefresh:t,sessionExpired:i}=r(n,o);if(!e)return null;if(!t)return e;try{const r=await s.refreshToken({refreshToken:e.refreshToken});return n.set(r.body),r.body}catch(d){if(!i)return e;throw d}})):t:null},r=(e,s=60)=>{const n=e.get();if(!n)return{session:null,needsRefresh:!1,sessionExpired:!1};if(!n.decodedToken||!n.decodedToken.exp)return{session:n,needsRefresh:!0,sessionExpired:!0};if(0===s)return{session:n,needsRefresh:!0,sessionExpired:!1};const r=Date.now();return n.decodedToken.exp-r>1e3*s?{session:n,needsRefresh:!1,sessionExpired:!1}:{session:n,needsRefresh:!0,sessionExpired:n.decodedToken.exp<r}};export{s as t};
2
+ //# sourceMappingURL=refreshSession-BvZuC-Or.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refreshSession-BvZuC-Or.js","names":[],"sources":["../src/session/refreshSession.ts"],"sourcesContent":["import type { Client as AuthClient, ErrorResponse } from '../auth';\nimport type { FetchResponse } from '../fetch';\nimport type { Session } from './session';\nimport type { SessionStorage } from './storage';\n\nclass DummyLock implements Lock {\n async request(\n _name: string,\n _options: { mode: 'exclusive' | 'shared' },\n // biome-ignore lint/suspicious/noExplicitAny: any\n callback: () => Promise<any>,\n ) {\n return callback();\n }\n}\n\ninterface Lock {\n request: (\n name: string,\n options: { mode: 'exclusive' | 'shared' },\n // biome-ignore lint/suspicious/noExplicitAny: blah\n callback: () => Promise<any>,\n // biome-ignore lint/suspicious/noExplicitAny: blah\n ) => Promise<any>;\n}\n\nconst lock: Lock =\n typeof navigator !== 'undefined' && navigator.locks\n ? navigator.locks\n : new DummyLock();\n\n/**\n * Refreshes the authentication session if needed\n *\n * This function checks if the current session needs to be refreshed based on\n * the access token expiration time. If a refresh is needed, it will attempt to\n * refresh the token using the provided auth client.\n *\n * @param auth - The authentication client to use for token refresh\n * @param storage - The session storage implementation\n * @param marginSeconds - The number of seconds before the token expiration to refresh the session. If the token is still valid for this duration, it will not be refreshed. Set to 0 to force the refresh.\n * @returns A promise that resolves to the current session (refreshed if needed) or null if no session exists\n */\nexport const refreshSession = async (\n auth: AuthClient,\n storage: SessionStorage,\n marginSeconds = 60,\n): Promise<Session | null> => {\n try {\n return await _refreshSession(auth, storage, marginSeconds);\n } catch (error) {\n try {\n // we retry the refresh token in case of transient error\n // or race conditions\n console.warn('error refreshing session, retrying:', error);\n return await _refreshSession(auth, storage, marginSeconds);\n } catch (error) {\n const errResponse = error as FetchResponse<ErrorResponse>;\n if (errResponse?.status === 401) {\n // this probably means the refresh token is invalid\n console.error('session probably expired');\n storage.remove();\n }\n return null;\n }\n }\n};\n\n/**\n * Internal implementation of the refresh session logic\n *\n * @param auth - The authentication client to use for token refresh\n * @param storage - The session storage implementation\n * @param marginSeconds - How many seconds before expiration to trigger a refresh\n * @returns A promise that resolves to the current session (refreshed if needed) or null if no session exists\n * @private\n */\nconst _refreshSession = async (\n auth: AuthClient,\n storage: SessionStorage,\n marginSeconds = 60,\n): Promise<Session | null> => {\n const {\n session,\n needsRefresh,\n }: { session: Session | null; needsRefresh: boolean } = await lock.request(\n 'nhostSessionLock',\n { mode: 'shared' },\n async () => {\n return _needsRefresh(storage, marginSeconds);\n },\n );\n\n if (!session) {\n return null; // No session found\n }\n\n if (!needsRefresh) {\n return session; // No need to refresh\n }\n\n const refreshedSession: Session | null = await lock.request(\n 'nhostSessionLock',\n { mode: 'exclusive' },\n async () => {\n const { session, needsRefresh, sessionExpired } = _needsRefresh(\n storage,\n marginSeconds,\n );\n\n if (!session) {\n return null; // No session found\n }\n\n if (!needsRefresh) {\n return session; // No need to refresh\n }\n\n try {\n const response = await auth.refreshToken({\n refreshToken: session.refreshToken,\n });\n storage.set(response.body);\n\n return response.body;\n } catch (error) {\n if (!sessionExpired) {\n return session;\n }\n\n throw error;\n }\n },\n );\n\n return refreshedSession;\n};\n\n/**\n * Checks if the current session needs to be refreshed based on token expiration\n *\n * @param storage - The session storage implementation\n * @param marginSeconds - How many seconds before expiration to trigger a refresh\n * @returns An object containing the session, whether it needs refreshing, and whether it has expired\n * @private\n */\nconst _needsRefresh = (storage: SessionStorage, marginSeconds = 60) => {\n const session = storage.get();\n if (!session) {\n return { session: null, needsRefresh: false, sessionExpired: false };\n }\n\n if (!session.decodedToken || !session.decodedToken.exp) {\n // if the session does not have a valid decoded token, treat it as expired\n // as we can't determine its validity\n return { session, needsRefresh: true, sessionExpired: true };\n }\n\n // Force refresh if marginSeconds is 0\n if (marginSeconds === 0) {\n return { session, needsRefresh: true, sessionExpired: false };\n }\n\n const currentTime = Date.now();\n if (session.decodedToken.exp - currentTime > marginSeconds * 1000) {\n return { session, needsRefresh: false, sessionExpired: false };\n }\n\n return {\n session,\n needsRefresh: true,\n sessionExpired: session.decodedToken.exp < currentTime,\n };\n};\n"],"mappings":"AAKA,IAqBM,EACiB,oBAAd,WAA6B,UAAU,MAC1C,UAAU,MACV,IAxBN,MACE,aAAM,CACJ,EACA,EAEA,GAEA,OAAO,MA+BE,EAAiB,MAC5B,EACA,EACA,EAAgB,MAEhB,IACE,aAAa,EAAgB,EAAM,EAAS,SACrC,GACP,IAIE,OADA,QAAQ,KAAK,sCAAuC,SACvC,EAAgB,EAAM,EAAS,SACrC,GAOP,OAL4B,MADR,GACH,SAEf,QAAQ,MAAM,4BACd,EAAQ,UAEH,QAcP,EAAkB,MACtB,EACA,EACA,EAAgB,MAEhB,MAAM,QACJ,EAAA,aACA,SAC4D,EAAK,QACjE,mBACA,CAAE,KAAM,WACR,SACS,EAAc,EAAS,KAIlC,OAAK,EAIA,QAI0C,EAAK,QAClD,mBACA,CAAE,KAAM,cACR,UACE,MAAM,QAAE,EAAA,aAAS,EAAA,eAAc,GAAmB,EAChD,EACA,GAGF,IAAK,EACH,OAAO,KAGT,IAAK,EACH,OAAO,EAGT,IACE,MAAM,QAAiB,EAAK,aAAa,CACvC,aAAc,EAAQ,eAIxB,OAFA,EAAQ,IAAI,EAAS,MAEd,EAAS,WACT,GACP,IAAK,EACH,OAAO,EAGT,MAAM,MAhCH,EAJA,IAuCR,EAaG,EAAA,CAAiB,EAAyB,EAAgB,MAC9D,MAAM,EAAU,EAAQ,MACxB,IAAK,EACH,MAAO,CAAE,QAAS,KAAM,cAAc,EAAO,gBAAgB,GAG/D,IAAK,EAAQ,eAAiB,EAAQ,aAAa,IAGjD,MAAO,CAAE,UAAS,cAAc,EAAM,gBAAgB,GAIxD,GAAsB,IAAlB,EACF,MAAO,CAAE,UAAS,cAAc,EAAM,gBAAgB,GAGxD,MAAM,EAAc,KAAK,MACzB,OAAI,EAAQ,aAAa,IAAM,EAA8B,IAAhB,EACpC,CAAE,UAAS,cAAc,EAAO,gBAAgB,GAGlD,CACL,UACA,cAAc,EACd,eAAgB,EAAQ,aAAa,IAAM,EAC5C"}
@@ -0,0 +1,2 @@
1
+ var e="undefined"!=typeof navigator&&navigator.locks?navigator.locks:new class{async request(e,s,r){return r()}},s=async(e,s,n=60)=>{try{return await r(e,s,n)}catch(o){try{return console.warn("error refreshing session, retrying:",o),await r(e,s,n)}catch(o){return 401===o?.status&&(console.error("session probably expired"),s.remove()),null}}},r=async(s,r,o=60)=>{const{session:t,needsRefresh:i}=await e.request("nhostSessionLock",{mode:"shared"},(async()=>n(r,o)));return t?i?await e.request("nhostSessionLock",{mode:"exclusive"},(async()=>{const{session:e,needsRefresh:t,sessionExpired:i}=n(r,o);if(!e)return null;if(!t)return e;try{const n=await s.refreshToken({refreshToken:e.refreshToken});return r.set(n.body),n.body}catch(d){if(!i)return e;throw d}})):t:null},n=(e,s=60)=>{const r=e.get();if(!r)return{session:null,needsRefresh:!1,sessionExpired:!1};if(!r.decodedToken||!r.decodedToken.exp)return{session:r,needsRefresh:!0,sessionExpired:!0};if(0===s)return{session:r,needsRefresh:!0,sessionExpired:!1};const n=Date.now();return r.decodedToken.exp-n>1e3*s?{session:r,needsRefresh:!1,sessionExpired:!1}:{session:r,needsRefresh:!0,sessionExpired:r.decodedToken.exp<n}};Object.defineProperty(exports,"refreshSession",{enumerable:!0,get:function(){return s}});
2
+ //# sourceMappingURL=refreshSession-ZW-JniXX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refreshSession-ZW-JniXX.cjs","names":[],"sources":["../src/session/refreshSession.ts"],"sourcesContent":["import type { Client as AuthClient, ErrorResponse } from '../auth';\nimport type { FetchResponse } from '../fetch';\nimport type { Session } from './session';\nimport type { SessionStorage } from './storage';\n\nclass DummyLock implements Lock {\n async request(\n _name: string,\n _options: { mode: 'exclusive' | 'shared' },\n // biome-ignore lint/suspicious/noExplicitAny: any\n callback: () => Promise<any>,\n ) {\n return callback();\n }\n}\n\ninterface Lock {\n request: (\n name: string,\n options: { mode: 'exclusive' | 'shared' },\n // biome-ignore lint/suspicious/noExplicitAny: blah\n callback: () => Promise<any>,\n // biome-ignore lint/suspicious/noExplicitAny: blah\n ) => Promise<any>;\n}\n\nconst lock: Lock =\n typeof navigator !== 'undefined' && navigator.locks\n ? navigator.locks\n : new DummyLock();\n\n/**\n * Refreshes the authentication session if needed\n *\n * This function checks if the current session needs to be refreshed based on\n * the access token expiration time. If a refresh is needed, it will attempt to\n * refresh the token using the provided auth client.\n *\n * @param auth - The authentication client to use for token refresh\n * @param storage - The session storage implementation\n * @param marginSeconds - The number of seconds before the token expiration to refresh the session. If the token is still valid for this duration, it will not be refreshed. Set to 0 to force the refresh.\n * @returns A promise that resolves to the current session (refreshed if needed) or null if no session exists\n */\nexport const refreshSession = async (\n auth: AuthClient,\n storage: SessionStorage,\n marginSeconds = 60,\n): Promise<Session | null> => {\n try {\n return await _refreshSession(auth, storage, marginSeconds);\n } catch (error) {\n try {\n // we retry the refresh token in case of transient error\n // or race conditions\n console.warn('error refreshing session, retrying:', error);\n return await _refreshSession(auth, storage, marginSeconds);\n } catch (error) {\n const errResponse = error as FetchResponse<ErrorResponse>;\n if (errResponse?.status === 401) {\n // this probably means the refresh token is invalid\n console.error('session probably expired');\n storage.remove();\n }\n return null;\n }\n }\n};\n\n/**\n * Internal implementation of the refresh session logic\n *\n * @param auth - The authentication client to use for token refresh\n * @param storage - The session storage implementation\n * @param marginSeconds - How many seconds before expiration to trigger a refresh\n * @returns A promise that resolves to the current session (refreshed if needed) or null if no session exists\n * @private\n */\nconst _refreshSession = async (\n auth: AuthClient,\n storage: SessionStorage,\n marginSeconds = 60,\n): Promise<Session | null> => {\n const {\n session,\n needsRefresh,\n }: { session: Session | null; needsRefresh: boolean } = await lock.request(\n 'nhostSessionLock',\n { mode: 'shared' },\n async () => {\n return _needsRefresh(storage, marginSeconds);\n },\n );\n\n if (!session) {\n return null; // No session found\n }\n\n if (!needsRefresh) {\n return session; // No need to refresh\n }\n\n const refreshedSession: Session | null = await lock.request(\n 'nhostSessionLock',\n { mode: 'exclusive' },\n async () => {\n const { session, needsRefresh, sessionExpired } = _needsRefresh(\n storage,\n marginSeconds,\n );\n\n if (!session) {\n return null; // No session found\n }\n\n if (!needsRefresh) {\n return session; // No need to refresh\n }\n\n try {\n const response = await auth.refreshToken({\n refreshToken: session.refreshToken,\n });\n storage.set(response.body);\n\n return response.body;\n } catch (error) {\n if (!sessionExpired) {\n return session;\n }\n\n throw error;\n }\n },\n );\n\n return refreshedSession;\n};\n\n/**\n * Checks if the current session needs to be refreshed based on token expiration\n *\n * @param storage - The session storage implementation\n * @param marginSeconds - How many seconds before expiration to trigger a refresh\n * @returns An object containing the session, whether it needs refreshing, and whether it has expired\n * @private\n */\nconst _needsRefresh = (storage: SessionStorage, marginSeconds = 60) => {\n const session = storage.get();\n if (!session) {\n return { session: null, needsRefresh: false, sessionExpired: false };\n }\n\n if (!session.decodedToken || !session.decodedToken.exp) {\n // if the session does not have a valid decoded token, treat it as expired\n // as we can't determine its validity\n return { session, needsRefresh: true, sessionExpired: true };\n }\n\n // Force refresh if marginSeconds is 0\n if (marginSeconds === 0) {\n return { session, needsRefresh: true, sessionExpired: false };\n }\n\n const currentTime = Date.now();\n if (session.decodedToken.exp - currentTime > marginSeconds * 1000) {\n return { session, needsRefresh: false, sessionExpired: false };\n }\n\n return {\n session,\n needsRefresh: true,\n sessionExpired: session.decodedToken.exp < currentTime,\n };\n};\n"],"mappings":"AAKA,IAqBM,EACiB,oBAAd,WAA6B,UAAU,MAC1C,UAAU,MACV,IAxBN,MACE,aAAM,CACJ,EACA,EAEA,GAEA,OAAO,MA+BE,EAAiB,MAC5B,EACA,EACA,EAAgB,MAEhB,IACE,aAAa,EAAgB,EAAM,EAAS,SACrC,GACP,IAIE,OADA,QAAQ,KAAK,sCAAuC,SACvC,EAAgB,EAAM,EAAS,SACrC,GAOP,OAL4B,MADR,GACH,SAEf,QAAQ,MAAM,4BACd,EAAQ,UAEH,QAcP,EAAkB,MACtB,EACA,EACA,EAAgB,MAEhB,MAAM,QACJ,EAAA,aACA,SAC4D,EAAK,QACjE,mBACA,CAAE,KAAM,WACR,SACS,EAAc,EAAS,KAIlC,OAAK,EAIA,QAI0C,EAAK,QAClD,mBACA,CAAE,KAAM,cACR,UACE,MAAM,QAAE,EAAA,aAAS,EAAA,eAAc,GAAmB,EAChD,EACA,GAGF,IAAK,EACH,OAAO,KAGT,IAAK,EACH,OAAO,EAGT,IACE,MAAM,QAAiB,EAAK,aAAa,CACvC,aAAc,EAAQ,eAIxB,OAFA,EAAQ,IAAI,EAAS,MAEd,EAAS,WACT,GACP,IAAK,EACH,OAAO,EAGT,MAAM,MAhCH,EAJA,IAuCR,EAaG,EAAA,CAAiB,EAAyB,EAAgB,MAC9D,MAAM,EAAU,EAAQ,MACxB,IAAK,EACH,MAAO,CAAE,QAAS,KAAM,cAAc,EAAO,gBAAgB,GAG/D,IAAK,EAAQ,eAAiB,EAAQ,aAAa,IAGjD,MAAO,CAAE,UAAS,cAAc,EAAM,gBAAgB,GAIxD,GAAsB,IAAlB,EACF,MAAO,CAAE,UAAS,cAAc,EAAM,gBAAgB,GAGxD,MAAM,EAAc,KAAK,MACzB,OAAI,EAAQ,aAAa,IAAM,EAA8B,IAAhB,EACpC,CAAE,UAAS,cAAc,EAAO,gBAAgB,GAGlD,CACL,UACA,cAAc,EACd,eAAgB,EAAQ,aAAa,IAAM,EAC5C"}
@@ -0,0 +1,2 @@
1
+ var e=e=>{const o=e.split(".");if(3!==o.length||!o[1])throw new Error("Invalid access token format");const r=JSON.parse((e=>{let t=e.replace(/-/g,"+").replace(/_/g,"/");const s=t.length%4;s&&(t+="=".repeat(4-s));const o=atob(t),r=Uint8Array.from(o,(e=>e.charCodeAt(0)));return(new TextDecoder).decode(r)})(o[1])),i="number"==typeof r.iat?1e3*r.iat:void 0,n="number"==typeof r.exp?1e3*r.exp:void 0,a=r["https://hasura.io/jwt/claims"],c=a?Object.entries(a).reduce(((e,[o,r])=>("string"==typeof r&&t(r)?e[o]=s(r):e[o]=r,e)),{}):void 0;return{...r,iat:i,exp:n,"https://hasura.io/jwt/claims":c}},t=e=>e.startsWith("{")&&e.endsWith("}"),s=e=>e&&"{}"!==e?e.slice(1,-1).split(",").map((e=>e.trim().replace(/^"(.*)"$/,"$1"))):[],o="nhostSession",r=class{storageKey;constructor(e){this.storageKey=e?.storageKey||"nhostSession"}get(){try{const e=window.localStorage.getItem(this.storageKey);return e?JSON.parse(e):null}catch{return this.remove(),null}}set(e){window.localStorage.setItem(this.storageKey,JSON.stringify(e))}remove(){window.localStorage.removeItem(this.storageKey)}},i=class{session=null;get(){return this.session}set(e){this.session=e}remove(){this.session=null}},n=class{cookieName;expirationDays;secure;sameSite;constructor(e){this.cookieName=e?.cookieName||"nhostSession",this.expirationDays=e?.expirationDays??30,this.secure=e?.secure??!0,this.sameSite=e?.sameSite||"lax"}get(){const e=document.cookie.split(";");for(const t of e){const[e,s]=t.trim().split("=");if(e===this.cookieName)try{return JSON.parse(decodeURIComponent(s||""))}catch{return this.remove(),null}}return null}set(e){const t=/* @__PURE__ */new Date;t.setTime(t.getTime()+24*this.expirationDays*60*60*1e3);const s=encodeURIComponent(JSON.stringify(e)),o=`${this.cookieName}=${s}; expires=${t.toUTCString()}; path=/; ${this.secure?"secure; ":""}SameSite=${this.sameSite}`;document.cookie=o}remove(){document.cookie=`${this.cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; ${this.secure?"secure; ":""}SameSite=${this.sameSite}`}},a=class{storage;subscribers=/* @__PURE__ */new Set;constructor(e){this.storage=e}get(){return this.storage.get()}set(t){const s=e(t.accessToken),o={...t,decodedToken:s};this.storage.set(o),this.notifySubscribers(o)}remove(){this.storage.remove(),this.notifySubscribers(null)}onChange(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}notifySubscribers(e){for(const s of this.subscribers)try{s(e)}catch(t){console.error("Error notifying subscriber:",t)}}},c=()=>"undefined"!=typeof window?new r:new i;export{r as a,o as i,c as n,i as o,n as r,a as t};
2
+ //# sourceMappingURL=session-oECsmiRB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-oECsmiRB.js","names":[],"sources":["../src/session/session.ts","../src/session/storageBackend.ts","../src/session/storage.ts"],"sourcesContent":["import type { Session as AuthSession } from '../auth';\n\n/**\n * Decoded JWT token payload with processed timestamps and Hasura claims\n */\nexport interface DecodedToken {\n /** Token expiration time as Date object */\n exp?: number;\n /** Token issued at time as Date object */\n iat?: number;\n /** Token issuer */\n iss?: string;\n /** Token subject (user ID) */\n sub?: string;\n /** Hasura JWT claims with PostgreSQL arrays converted to JavaScript arrays */\n 'https://hasura.io/jwt/claims'?: Record<string, unknown>;\n /** Any other JWT claims */\n [key: string]: unknown;\n}\n\nexport interface Session extends AuthSession {\n /** Decoded JWT token payload with processed timestamps and Hasura claims */\n decodedToken: DecodedToken;\n}\n\n/**\n * Decodes a base64url-encoded string (RFC 4648 Section 5) to a UTF-8 string.\n *\n * JWTs use base64url encoding, which differs from standard base64 by using\n * `-` and `_` instead of `+` and `/`, and omitting padding. The browser's\n * native `atob()` does not support base64url, so we must handle the conversion.\n */\nconst decodeBase64Url = (input: string): string => {\n // Convert base64url to standard base64\n let base64 = input.replace(/-/g, '+').replace(/_/g, '/');\n const pad = base64.length % 4;\n if (pad) {\n base64 += '='.repeat(4 - pad);\n }\n\n // Use TextDecoder for proper UTF-8 support (atob alone mangles multi-byte characters)\n const binaryString = atob(base64);\n const bytes = Uint8Array.from(binaryString, (c) => c.charCodeAt(0));\n return new TextDecoder().decode(bytes);\n};\n\nexport const decodeUserSession = (accessToken: string): DecodedToken => {\n const s = accessToken.split('.');\n if (s.length !== 3 || !s[1]) {\n throw new Error('Invalid access token format');\n }\n\n const decodedToken = JSON.parse(decodeBase64Url(s[1])) as Record<\n string,\n unknown\n >;\n\n // Convert iat and exp to Date objects\n const iat =\n typeof decodedToken['iat'] === 'number'\n ? decodedToken['iat'] * 1000 // Convert seconds to milliseconds\n : undefined;\n const exp =\n typeof decodedToken['exp'] === 'number'\n ? decodedToken['exp'] * 1000 // Convert seconds to milliseconds\n : undefined;\n\n // Process Hasura claims - dynamically convert PostgreSQL array notation to arrays\n const hasuraClaims = decodedToken['https://hasura.io/jwt/claims'] as\n | Record<string, unknown>\n | undefined;\n const processedClaims = hasuraClaims\n ? Object.entries(hasuraClaims).reduce(\n (acc, [key, value]) => {\n if (typeof value === 'string' && isPostgresArray(value)) {\n acc[key] = parsePostgresArray(value);\n } else {\n acc[key] = value;\n }\n return acc;\n },\n {} as Record<string, unknown>,\n )\n : undefined;\n\n return {\n ...decodedToken,\n iat,\n exp,\n 'https://hasura.io/jwt/claims': processedClaims,\n };\n};\n\nconst isPostgresArray = (value: string): boolean => {\n return value.startsWith('{') && value.endsWith('}');\n};\n\nconst parsePostgresArray = (value: string): string[] => {\n if (!value || value === '{}') return [];\n // Remove curly braces and split by comma, handling quoted values\n return value\n .slice(1, -1)\n .split(',')\n .map((item) => item.trim().replace(/^\"(.*)\"$/, '$1'));\n};\n","/**\n * Storage implementations for session persistence in different environments.\n *\n * This module provides different storage adapters for persisting authentication sessions\n * across page reloads and browser sessions.\n */\n\nimport type { Session } from './session';\n\n/**\n * Session storage interface for session persistence.\n * This interface can be implemented to provide custom storage solutions.\n */\nexport interface SessionStorageBackend {\n /**\n * Get the current session from storage\n * @returns The stored session or null if not found\n */\n get(): Session | null;\n\n /**\n * Set the session in storage\n * @param value - The session to store\n */\n set(value: Session): void;\n\n /**\n * Remove the session from storage\n */\n remove(): void;\n}\n\n/**\n * Default storage key used for storing the Nhost session\n */\nexport const DEFAULT_SESSION_KEY = 'nhostSession';\n\n/**\n * Browser localStorage implementation of StorageInterface.\n * Persists the session across page reloads and browser restarts.\n */\nexport class LocalStorage implements SessionStorageBackend {\n private readonly storageKey: string;\n\n /**\n * Creates a new LocalStorage instance\n * @param options - Configuration options\n * @param options.storageKey - The key to use in localStorage (defaults to \"nhostSession\")\n */\n constructor(options?: { storageKey?: string }) {\n this.storageKey = options?.storageKey || DEFAULT_SESSION_KEY;\n }\n\n /**\n * Gets the session from localStorage\n * @returns The stored session or null if not found\n */\n get(): Session | null {\n try {\n const value = window.localStorage.getItem(this.storageKey);\n return value ? (JSON.parse(value) as Session) : null;\n } catch {\n this.remove();\n return null;\n }\n }\n\n /**\n * Sets the session in localStorage\n * @param value - The session to store\n */\n set(value: Session): void {\n window.localStorage.setItem(this.storageKey, JSON.stringify(value));\n }\n\n /**\n * Removes the session from localStorage\n */\n remove(): void {\n window.localStorage.removeItem(this.storageKey);\n }\n}\n\n/**\n * In-memory storage implementation for non-browser environments or when\n * persistent storage is not available or desirable.\n */\nexport class MemoryStorage implements SessionStorageBackend {\n private session: Session | null = null;\n\n /**\n * Gets the session from memory\n * @returns The stored session or null if not set\n */\n get(): Session | null {\n return this.session;\n }\n\n /**\n * Sets the session in memory\n * @param value - The session to store\n */\n set(value: Session): void {\n this.session = value;\n }\n\n /**\n * Clears the session from memory\n */\n remove(): void {\n this.session = null;\n }\n}\n\n/**\n * Cookie-based storage implementation.\n * This storage uses web browser cookies to store the session so it's not\n * available in server-side environments. It is useful though for synchronizing\n * sessions between client and server environments.\n */\nexport class CookieStorage implements SessionStorageBackend {\n private readonly cookieName: string;\n private readonly expirationDays: number;\n private readonly secure: boolean;\n private readonly sameSite: 'strict' | 'lax' | 'none';\n\n /**\n * Creates a new CookieStorage instance\n * @param options - Configuration options\n * @param options.cookieName - Name of the cookie to use (defaults to \"nhostSession\")\n * @param options.expirationDays - Number of days until the cookie expires (defaults to 30)\n * @param options.secure - Whether to set the Secure flag on the cookie (defaults to true)\n * @param options.sameSite - SameSite policy for the cookie (defaults to \"lax\")\n */\n constructor(options?: {\n cookieName?: string;\n expirationDays?: number;\n secure?: boolean;\n sameSite?: 'strict' | 'lax' | 'none';\n }) {\n this.cookieName = options?.cookieName || DEFAULT_SESSION_KEY;\n this.expirationDays = options?.expirationDays ?? 30;\n this.secure = options?.secure ?? true;\n this.sameSite = options?.sameSite || 'lax';\n }\n\n /**\n * Gets the session from cookies\n * @returns The stored session or null if not found\n */\n get(): Session | null {\n const cookies = document.cookie.split(';');\n for (const cookie of cookies) {\n const [name, value] = cookie.trim().split('=');\n if (name === this.cookieName) {\n try {\n return JSON.parse(decodeURIComponent(value || '')) as Session;\n } catch {\n this.remove();\n return null;\n }\n }\n }\n return null;\n }\n\n /**\n * Sets the session in a cookie\n * @param value - The session to store\n */\n set(value: Session): void {\n const expires = new Date();\n expires.setTime(\n expires.getTime() + this.expirationDays * 24 * 60 * 60 * 1000,\n );\n\n const cookieValue = encodeURIComponent(JSON.stringify(value));\n const cookieString = `${this.cookieName}=${cookieValue}; expires=${expires.toUTCString()}; path=/; ${this.secure ? 'secure; ' : ''}SameSite=${this.sameSite}`;\n\n // biome-ignore lint/suspicious/noDocumentCookie: this is unnecessary\n document.cookie = cookieString;\n }\n\n /**\n * Removes the session cookie\n */\n remove(): void {\n // biome-ignore lint/suspicious/noDocumentCookie: this is unnecessary\n document.cookie = `${this.cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; ${this.secure ? 'secure; ' : ''}SameSite=${this.sameSite}`;\n }\n}\n","/**\n * Storage implementations for session persistence in different environments.\n *\n * This module provides different storage adapters for persisting authentication sessions\n * across page reloads and browser sessions.\n */\n\nimport type { Session as AuthSession } from '../auth';\nimport { decodeUserSession, type Session } from './session';\nimport {\n LocalStorage,\n MemoryStorage,\n type SessionStorageBackend,\n} from './storageBackend';\n\n/**\n * Callback function type for session change subscriptions\n */\nexport type SessionChangeCallback = (session: Session | null) => void;\n\n/**\n * A wrapper around any SessionStorageInterface implementation that adds\n * the ability to subscribe to session changes.\n */\nexport class SessionStorage {\n private readonly storage: SessionStorageBackend;\n private subscribers = new Set<SessionChangeCallback>();\n\n /**\n * Creates a new SessionStorage instance\n * @param storage - The underlying storage implementation to use\n */\n constructor(storage: SessionStorageBackend) {\n this.storage = storage;\n }\n\n /**\n * Gets the session from the underlying storage\n * @returns The stored session or null if not found\n */\n get(): Session | null {\n return this.storage.get();\n }\n\n /**\n * Sets the session in the underlying storage and notifies subscribers\n * @param value - The session to store\n */\n set(value: AuthSession): void {\n const decodedToken = decodeUserSession(value.accessToken);\n const decodedSession = {\n ...value,\n decodedToken: decodedToken,\n };\n\n this.storage.set(decodedSession);\n this.notifySubscribers(decodedSession);\n }\n\n /**\n * Removes the session from the underlying storage and notifies subscribers\n */\n remove(): void {\n this.storage.remove();\n this.notifySubscribers(null);\n }\n\n /**\n * Subscribe to session changes\n * @param callback - Function that will be called when the session changes\n * @returns An unsubscribe function to remove this subscription\n */\n onChange(callback: SessionChangeCallback) {\n this.subscribers.add(callback);\n\n return () => {\n this.subscribers.delete(callback);\n };\n }\n\n /**\n * Notify all subscribers of a session change\n * @param session - The new session value or null if removed\n */\n private notifySubscribers(session: Session | null): void {\n for (const subscriber of this.subscribers) {\n try {\n subscriber(session);\n } catch (error) {\n console.error('Error notifying subscriber:', error);\n }\n }\n }\n}\n\n/**\n * Detects the best available storage implementation for the current environment.\n *\n * The detection process follows this order:\n * 1. Try to use localStorage if we're in a browser environment\n * 2. Fall back to in-memory storage if localStorage isn't available\n *\n * @returns The best available storage implementation as a SessionStorageBackend\n */\nexport const detectStorage = (): SessionStorageBackend => {\n if (typeof window !== 'undefined') {\n return new LocalStorage();\n }\n return new MemoryStorage();\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var e=e=>{const r=e.split(".");if(3!==r.length||!r[1])throw new Error("Invalid access token format");const o=JSON.parse((e=>{let t=e.replace(/-/g,"+").replace(/_/g,"/");const s=t.length%4;s&&(t+="=".repeat(4-s));const r=atob(t),o=Uint8Array.from(r,(e=>e.charCodeAt(0)));return(new TextDecoder).decode(o)})(r[1])),i="number"==typeof o.iat?1e3*o.iat:void 0,n="number"==typeof o.exp?1e3*o.exp:void 0,c=o["https://hasura.io/jwt/claims"],a=c?Object.entries(c).reduce(((e,[r,o])=>("string"==typeof o&&t(o)?e[r]=s(o):e[r]=o,e)),{}):void 0;return{...o,iat:i,exp:n,"https://hasura.io/jwt/claims":a}},t=e=>e.startsWith("{")&&e.endsWith("}"),s=e=>e&&"{}"!==e?e.slice(1,-1).split(",").map((e=>e.trim().replace(/^"(.*)"$/,"$1"))):[],r=class{storageKey;constructor(e){this.storageKey=e?.storageKey||"nhostSession"}get(){try{const e=window.localStorage.getItem(this.storageKey);return e?JSON.parse(e):null}catch{return this.remove(),null}}set(e){window.localStorage.setItem(this.storageKey,JSON.stringify(e))}remove(){window.localStorage.removeItem(this.storageKey)}},o=class{session=null;get(){return this.session}set(e){this.session=e}remove(){this.session=null}},i=class{cookieName;expirationDays;secure;sameSite;constructor(e){this.cookieName=e?.cookieName||"nhostSession",this.expirationDays=e?.expirationDays??30,this.secure=e?.secure??!0,this.sameSite=e?.sameSite||"lax"}get(){const e=document.cookie.split(";");for(const t of e){const[e,s]=t.trim().split("=");if(e===this.cookieName)try{return JSON.parse(decodeURIComponent(s||""))}catch{return this.remove(),null}}return null}set(e){const t=new Date;t.setTime(t.getTime()+24*this.expirationDays*60*60*1e3);const s=encodeURIComponent(JSON.stringify(e)),r=`${this.cookieName}=${s}; expires=${t.toUTCString()}; path=/; ${this.secure?"secure; ":""}SameSite=${this.sameSite}`;document.cookie=r}remove(){document.cookie=`${this.cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; ${this.secure?"secure; ":""}SameSite=${this.sameSite}`}},n=class{storage;subscribers=new Set;constructor(e){this.storage=e}get(){return this.storage.get()}set(t){const s=e(t.accessToken),r={...t,decodedToken:s};this.storage.set(r),this.notifySubscribers(r)}remove(){this.storage.remove(),this.notifySubscribers(null)}onChange(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}notifySubscribers(e){for(const s of this.subscribers)try{s(e)}catch(t){console.error("Error notifying subscriber:",t)}}},c=()=>"undefined"!=typeof window?new r:new o;Object.defineProperty(exports,"CookieStorage",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"DEFAULT_SESSION_KEY",{enumerable:!0,get:function(){return"nhostSession"}}),Object.defineProperty(exports,"LocalStorage",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"MemoryStorage",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"SessionStorage",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"detectStorage",{enumerable:!0,get:function(){return c}});
2
+ //# sourceMappingURL=session-r_9IPgQp.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-r_9IPgQp.cjs","names":[],"sources":["../src/session/session.ts","../src/session/storageBackend.ts","../src/session/storage.ts"],"sourcesContent":["import type { Session as AuthSession } from '../auth';\n\n/**\n * Decoded JWT token payload with processed timestamps and Hasura claims\n */\nexport interface DecodedToken {\n /** Token expiration time as Date object */\n exp?: number;\n /** Token issued at time as Date object */\n iat?: number;\n /** Token issuer */\n iss?: string;\n /** Token subject (user ID) */\n sub?: string;\n /** Hasura JWT claims with PostgreSQL arrays converted to JavaScript arrays */\n 'https://hasura.io/jwt/claims'?: Record<string, unknown>;\n /** Any other JWT claims */\n [key: string]: unknown;\n}\n\nexport interface Session extends AuthSession {\n /** Decoded JWT token payload with processed timestamps and Hasura claims */\n decodedToken: DecodedToken;\n}\n\n/**\n * Decodes a base64url-encoded string (RFC 4648 Section 5) to a UTF-8 string.\n *\n * JWTs use base64url encoding, which differs from standard base64 by using\n * `-` and `_` instead of `+` and `/`, and omitting padding. The browser's\n * native `atob()` does not support base64url, so we must handle the conversion.\n */\nconst decodeBase64Url = (input: string): string => {\n // Convert base64url to standard base64\n let base64 = input.replace(/-/g, '+').replace(/_/g, '/');\n const pad = base64.length % 4;\n if (pad) {\n base64 += '='.repeat(4 - pad);\n }\n\n // Use TextDecoder for proper UTF-8 support (atob alone mangles multi-byte characters)\n const binaryString = atob(base64);\n const bytes = Uint8Array.from(binaryString, (c) => c.charCodeAt(0));\n return new TextDecoder().decode(bytes);\n};\n\nexport const decodeUserSession = (accessToken: string): DecodedToken => {\n const s = accessToken.split('.');\n if (s.length !== 3 || !s[1]) {\n throw new Error('Invalid access token format');\n }\n\n const decodedToken = JSON.parse(decodeBase64Url(s[1])) as Record<\n string,\n unknown\n >;\n\n // Convert iat and exp to Date objects\n const iat =\n typeof decodedToken['iat'] === 'number'\n ? decodedToken['iat'] * 1000 // Convert seconds to milliseconds\n : undefined;\n const exp =\n typeof decodedToken['exp'] === 'number'\n ? decodedToken['exp'] * 1000 // Convert seconds to milliseconds\n : undefined;\n\n // Process Hasura claims - dynamically convert PostgreSQL array notation to arrays\n const hasuraClaims = decodedToken['https://hasura.io/jwt/claims'] as\n | Record<string, unknown>\n | undefined;\n const processedClaims = hasuraClaims\n ? Object.entries(hasuraClaims).reduce(\n (acc, [key, value]) => {\n if (typeof value === 'string' && isPostgresArray(value)) {\n acc[key] = parsePostgresArray(value);\n } else {\n acc[key] = value;\n }\n return acc;\n },\n {} as Record<string, unknown>,\n )\n : undefined;\n\n return {\n ...decodedToken,\n iat,\n exp,\n 'https://hasura.io/jwt/claims': processedClaims,\n };\n};\n\nconst isPostgresArray = (value: string): boolean => {\n return value.startsWith('{') && value.endsWith('}');\n};\n\nconst parsePostgresArray = (value: string): string[] => {\n if (!value || value === '{}') return [];\n // Remove curly braces and split by comma, handling quoted values\n return value\n .slice(1, -1)\n .split(',')\n .map((item) => item.trim().replace(/^\"(.*)\"$/, '$1'));\n};\n","/**\n * Storage implementations for session persistence in different environments.\n *\n * This module provides different storage adapters for persisting authentication sessions\n * across page reloads and browser sessions.\n */\n\nimport type { Session } from './session';\n\n/**\n * Session storage interface for session persistence.\n * This interface can be implemented to provide custom storage solutions.\n */\nexport interface SessionStorageBackend {\n /**\n * Get the current session from storage\n * @returns The stored session or null if not found\n */\n get(): Session | null;\n\n /**\n * Set the session in storage\n * @param value - The session to store\n */\n set(value: Session): void;\n\n /**\n * Remove the session from storage\n */\n remove(): void;\n}\n\n/**\n * Default storage key used for storing the Nhost session\n */\nexport const DEFAULT_SESSION_KEY = 'nhostSession';\n\n/**\n * Browser localStorage implementation of StorageInterface.\n * Persists the session across page reloads and browser restarts.\n */\nexport class LocalStorage implements SessionStorageBackend {\n private readonly storageKey: string;\n\n /**\n * Creates a new LocalStorage instance\n * @param options - Configuration options\n * @param options.storageKey - The key to use in localStorage (defaults to \"nhostSession\")\n */\n constructor(options?: { storageKey?: string }) {\n this.storageKey = options?.storageKey || DEFAULT_SESSION_KEY;\n }\n\n /**\n * Gets the session from localStorage\n * @returns The stored session or null if not found\n */\n get(): Session | null {\n try {\n const value = window.localStorage.getItem(this.storageKey);\n return value ? (JSON.parse(value) as Session) : null;\n } catch {\n this.remove();\n return null;\n }\n }\n\n /**\n * Sets the session in localStorage\n * @param value - The session to store\n */\n set(value: Session): void {\n window.localStorage.setItem(this.storageKey, JSON.stringify(value));\n }\n\n /**\n * Removes the session from localStorage\n */\n remove(): void {\n window.localStorage.removeItem(this.storageKey);\n }\n}\n\n/**\n * In-memory storage implementation for non-browser environments or when\n * persistent storage is not available or desirable.\n */\nexport class MemoryStorage implements SessionStorageBackend {\n private session: Session | null = null;\n\n /**\n * Gets the session from memory\n * @returns The stored session or null if not set\n */\n get(): Session | null {\n return this.session;\n }\n\n /**\n * Sets the session in memory\n * @param value - The session to store\n */\n set(value: Session): void {\n this.session = value;\n }\n\n /**\n * Clears the session from memory\n */\n remove(): void {\n this.session = null;\n }\n}\n\n/**\n * Cookie-based storage implementation.\n * This storage uses web browser cookies to store the session so it's not\n * available in server-side environments. It is useful though for synchronizing\n * sessions between client and server environments.\n */\nexport class CookieStorage implements SessionStorageBackend {\n private readonly cookieName: string;\n private readonly expirationDays: number;\n private readonly secure: boolean;\n private readonly sameSite: 'strict' | 'lax' | 'none';\n\n /**\n * Creates a new CookieStorage instance\n * @param options - Configuration options\n * @param options.cookieName - Name of the cookie to use (defaults to \"nhostSession\")\n * @param options.expirationDays - Number of days until the cookie expires (defaults to 30)\n * @param options.secure - Whether to set the Secure flag on the cookie (defaults to true)\n * @param options.sameSite - SameSite policy for the cookie (defaults to \"lax\")\n */\n constructor(options?: {\n cookieName?: string;\n expirationDays?: number;\n secure?: boolean;\n sameSite?: 'strict' | 'lax' | 'none';\n }) {\n this.cookieName = options?.cookieName || DEFAULT_SESSION_KEY;\n this.expirationDays = options?.expirationDays ?? 30;\n this.secure = options?.secure ?? true;\n this.sameSite = options?.sameSite || 'lax';\n }\n\n /**\n * Gets the session from cookies\n * @returns The stored session or null if not found\n */\n get(): Session | null {\n const cookies = document.cookie.split(';');\n for (const cookie of cookies) {\n const [name, value] = cookie.trim().split('=');\n if (name === this.cookieName) {\n try {\n return JSON.parse(decodeURIComponent(value || '')) as Session;\n } catch {\n this.remove();\n return null;\n }\n }\n }\n return null;\n }\n\n /**\n * Sets the session in a cookie\n * @param value - The session to store\n */\n set(value: Session): void {\n const expires = new Date();\n expires.setTime(\n expires.getTime() + this.expirationDays * 24 * 60 * 60 * 1000,\n );\n\n const cookieValue = encodeURIComponent(JSON.stringify(value));\n const cookieString = `${this.cookieName}=${cookieValue}; expires=${expires.toUTCString()}; path=/; ${this.secure ? 'secure; ' : ''}SameSite=${this.sameSite}`;\n\n // biome-ignore lint/suspicious/noDocumentCookie: this is unnecessary\n document.cookie = cookieString;\n }\n\n /**\n * Removes the session cookie\n */\n remove(): void {\n // biome-ignore lint/suspicious/noDocumentCookie: this is unnecessary\n document.cookie = `${this.cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; ${this.secure ? 'secure; ' : ''}SameSite=${this.sameSite}`;\n }\n}\n","/**\n * Storage implementations for session persistence in different environments.\n *\n * This module provides different storage adapters for persisting authentication sessions\n * across page reloads and browser sessions.\n */\n\nimport type { Session as AuthSession } from '../auth';\nimport { decodeUserSession, type Session } from './session';\nimport {\n LocalStorage,\n MemoryStorage,\n type SessionStorageBackend,\n} from './storageBackend';\n\n/**\n * Callback function type for session change subscriptions\n */\nexport type SessionChangeCallback = (session: Session | null) => void;\n\n/**\n * A wrapper around any SessionStorageInterface implementation that adds\n * the ability to subscribe to session changes.\n */\nexport class SessionStorage {\n private readonly storage: SessionStorageBackend;\n private subscribers = new Set<SessionChangeCallback>();\n\n /**\n * Creates a new SessionStorage instance\n * @param storage - The underlying storage implementation to use\n */\n constructor(storage: SessionStorageBackend) {\n this.storage = storage;\n }\n\n /**\n * Gets the session from the underlying storage\n * @returns The stored session or null if not found\n */\n get(): Session | null {\n return this.storage.get();\n }\n\n /**\n * Sets the session in the underlying storage and notifies subscribers\n * @param value - The session to store\n */\n set(value: AuthSession): void {\n const decodedToken = decodeUserSession(value.accessToken);\n const decodedSession = {\n ...value,\n decodedToken: decodedToken,\n };\n\n this.storage.set(decodedSession);\n this.notifySubscribers(decodedSession);\n }\n\n /**\n * Removes the session from the underlying storage and notifies subscribers\n */\n remove(): void {\n this.storage.remove();\n this.notifySubscribers(null);\n }\n\n /**\n * Subscribe to session changes\n * @param callback - Function that will be called when the session changes\n * @returns An unsubscribe function to remove this subscription\n */\n onChange(callback: SessionChangeCallback) {\n this.subscribers.add(callback);\n\n return () => {\n this.subscribers.delete(callback);\n };\n }\n\n /**\n * Notify all subscribers of a session change\n * @param session - The new session value or null if removed\n */\n private notifySubscribers(session: Session | null): void {\n for (const subscriber of this.subscribers) {\n try {\n subscriber(session);\n } catch (error) {\n console.error('Error notifying subscriber:', error);\n }\n }\n }\n}\n\n/**\n * Detects the best available storage implementation for the current environment.\n *\n * The detection process follows this order:\n * 1. Try to use localStorage if we're in a browser environment\n * 2. Fall back to in-memory storage if localStorage isn't available\n *\n * @returns The best available storage implementation as a SessionStorageBackend\n */\nexport const detectStorage = (): SessionStorageBackend => {\n if (typeof window !== 'undefined') {\n return new LocalStorage();\n }\n return new MemoryStorage();\n};\n"],"mappings":"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"}
@@ -271,7 +271,7 @@ export type CredentialType = 'public-key';
271
271
  /**
272
272
  * Error code identifying the specific application error
273
273
  */
274
- export type ErrorResponseError = 'default-role-must-be-in-allowed-roles' | 'disabled-endpoint' | 'disabled-user' | 'email-already-in-use' | 'email-already-verified' | 'forbidden-anonymous' | 'internal-server-error' | 'invalid-email-password' | 'invalid-request' | 'locale-not-allowed' | 'password-too-short' | 'password-in-hibp-database' | 'redirectTo-not-allowed' | 'role-not-allowed' | 'signup-disabled' | 'unverified-user' | 'user-not-anonymous' | 'invalid-pat' | 'invalid-refresh-token' | 'invalid-ticket' | 'disabled-mfa-totp' | 'no-totp-secret' | 'invalid-totp' | 'mfa-type-not-found' | 'totp-already-active' | 'invalid-state' | 'oauth-token-echange-failed' | 'oauth-profile-fetch-failed' | 'oauth-provider-error' | 'invalid-otp' | 'cannot-send-sms' | 'provider-account-already-linked';
274
+ export type ErrorResponseError = 'default-role-must-be-in-allowed-roles' | 'disabled-endpoint' | 'disabled-user' | 'user-already-exists' | 'email-already-verified' | 'forbidden-anonymous' | 'internal-server-error' | 'invalid-email-password' | 'invalid-request' | 'locale-not-allowed' | 'password-too-short' | 'password-in-hibp-database' | 'redirectTo-not-allowed' | 'role-not-allowed' | 'signup-disabled' | 'unverified-user' | 'user-not-anonymous' | 'invalid-pat' | 'invalid-refresh-token' | 'invalid-ticket' | 'disabled-mfa-totp' | 'no-totp-secret' | 'invalid-totp' | 'mfa-type-not-found' | 'totp-already-active' | 'invalid-state' | 'oauth-token-echange-failed' | 'oauth-profile-fetch-failed' | 'oauth-provider-error' | 'invalid-otp' | 'cannot-send-sms' | 'provider-account-already-linked';
275
275
  /**
276
276
  * Standardized error response
277
277
  @property status (`number`) - HTTP status error code
@@ -910,6 +910,93 @@ export interface SignInPasswordlessSmsRequest {
910
910
  */
911
911
  options?: SignUpOptions;
912
912
  }
913
+ /**
914
+ *
915
+ @property email (`string`) - A valid email
916
+ * Example - `"john.smith@nhost.io"`
917
+ * Format - email
918
+ @property options? (`SignUpOptions`) -
919
+ @property codeChallenge? (`string`) - PKCE code challenge (S256). When provided, the verification redirect will contain an authorization code instead of a refresh token.
920
+ * Pattern - ^[A-Za-z0-9_-]{43}$
921
+ * MinLength - 43
922
+ * MaxLength - 43*/
923
+ export interface SignUpPasswordlessEmailRequest {
924
+ /**
925
+ * A valid email
926
+ * Example - `"john.smith@nhost.io"`
927
+ * Format - email
928
+ */
929
+ email: string;
930
+ /**
931
+ *
932
+ */
933
+ options?: SignUpOptions;
934
+ /**
935
+ * PKCE code challenge (S256). When provided, the verification redirect will contain an authorization code instead of a refresh token.
936
+ * Pattern - ^[A-Za-z0-9_-]{43}$
937
+ * MinLength - 43
938
+ * MaxLength - 43
939
+ */
940
+ codeChallenge?: string;
941
+ }
942
+ /**
943
+ *
944
+ @property email (`string`) - A valid email
945
+ * Example - `"john.smith@nhost.io"`
946
+ * Format - email
947
+ @property options? (`SignUpOptions`) - */
948
+ export interface SignUpOTPEmailRequest {
949
+ /**
950
+ * A valid email
951
+ * Example - `"john.smith@nhost.io"`
952
+ * Format - email
953
+ */
954
+ email: string;
955
+ /**
956
+ *
957
+ */
958
+ options?: SignUpOptions;
959
+ }
960
+ /**
961
+ *
962
+ @property phoneNumber (`string`) - Phone number of the user
963
+ * Example - `"+123456789"`
964
+ @property options? (`SignUpOptions`) - */
965
+ export interface SignUpPasswordlessSmsRequest {
966
+ /**
967
+ * Phone number of the user
968
+ * Example - `"+123456789"`
969
+ */
970
+ phoneNumber: string;
971
+ /**
972
+ *
973
+ */
974
+ options?: SignUpOptions;
975
+ }
976
+ /**
977
+ *
978
+ @property provider (`IdTokenProvider`) -
979
+ @property idToken (`string`) - Apple or Google ID token
980
+ @property nonce? (`string`) - Nonce used during sign in process
981
+ @property options? (`SignUpOptions`) - */
982
+ export interface SignUpIdTokenRequest {
983
+ /**
984
+ *
985
+ */
986
+ provider: IdTokenProvider;
987
+ /**
988
+ * Apple or Google ID token
989
+ */
990
+ idToken: string;
991
+ /**
992
+ * Nonce used during sign in process
993
+ */
994
+ nonce?: string;
995
+ /**
996
+ *
997
+ */
998
+ options?: SignUpOptions;
999
+ }
913
1000
  /**
914
1001
  *
915
1002
  @property email? (`string`) - A valid email
@@ -2046,6 +2133,73 @@ export interface SignInProviderParams {
2046
2133
  */
2047
2134
  codeChallenge?: string;
2048
2135
  }
2136
+ /**
2137
+ * Parameters for the signUpProvider method.
2138
+ @property allowedRoles? (string[]) - Array of allowed roles for the user
2139
+
2140
+ @property defaultRole? (string) - Default role for the user
2141
+
2142
+ @property displayName? (string) - Display name for the user
2143
+
2144
+ @property locale? (string) - A two or three characters locale
2145
+
2146
+ @property metadata? (Record<string, unknown>) - Additional metadata for the user (JSON encoded string)
2147
+
2148
+ @property redirectTo? (string) - URI to redirect to
2149
+
2150
+ @property state? (string) - Opaque state value to be returned by the provider
2151
+
2152
+ @property providerSpecificParams? (ProviderSpecificParams) - Additional provider-specific parameters
2153
+
2154
+ @property codeChallenge? (string) - PKCE code challenge (S256). When provided, the callback redirect will contain an authorization code instead of a refresh token.
2155
+ */
2156
+ export interface SignUpProviderParams {
2157
+ /**
2158
+ * Array of allowed roles for the user
2159
+
2160
+ */
2161
+ allowedRoles?: string[];
2162
+ /**
2163
+ * Default role for the user
2164
+
2165
+ */
2166
+ defaultRole?: string;
2167
+ /**
2168
+ * Display name for the user
2169
+
2170
+ */
2171
+ displayName?: string;
2172
+ /**
2173
+ * A two or three characters locale
2174
+
2175
+ */
2176
+ locale?: string;
2177
+ /**
2178
+ * Additional metadata for the user (JSON encoded string)
2179
+
2180
+ */
2181
+ metadata?: Record<string, unknown>;
2182
+ /**
2183
+ * URI to redirect to
2184
+
2185
+ */
2186
+ redirectTo?: string;
2187
+ /**
2188
+ * Opaque state value to be returned by the provider
2189
+
2190
+ */
2191
+ state?: string;
2192
+ /**
2193
+ * Additional provider-specific parameters
2194
+
2195
+ */
2196
+ providerSpecificParams?: ProviderSpecificParams;
2197
+ /**
2198
+ * PKCE code challenge (S256). When provided, the callback redirect will contain an authorization code instead of a refresh token.
2199
+
2200
+ */
2201
+ codeChallenge?: string;
2202
+ }
2049
2203
  /**
2050
2204
  * Parameters for the verifyTicket method.
2051
2205
  @property ticket (TicketQuery) - Ticket
@@ -2242,6 +2396,8 @@ export interface Client {
2242
2396
  /**
2243
2397
  Summary: Sign in anonymously
2244
2398
  Create an anonymous user session without providing credentials. Anonymous users can be converted to regular users later via the deanonymize endpoint.
2399
+ This endpoint always creates a new user and is **not** gated by `AUTH_DISABLE_AUTO_SIGNUP`; it is controlled by `AUTH_DISABLE_SIGNUP` and `AUTH_ANONYMOUS_USERS_ENABLED`.
2400
+
2245
2401
 
2246
2402
  This method may return different T based on the response code:
2247
2403
  - 200: SessionPayload
@@ -2257,7 +2413,10 @@ export interface Client {
2257
2413
  signInEmailPassword(body: SignInEmailPasswordRequest, options?: RequestInit): Promise<FetchResponse<SignInEmailPasswordResponse>>;
2258
2414
  /**
2259
2415
  Summary: Sign in with an ID token
2260
- Authenticate using an ID token from a supported OAuth provider (Apple or Google). Creates a new user account if one doesn't exist.
2416
+ Authenticate using an ID token from a supported OAuth provider (Apple or Google).
2417
+ If the user doesn't exist and `AUTH_DISABLE_AUTO_SIGNUP` is not set, a new account will be created.
2418
+ When `AUTH_DISABLE_AUTO_SIGNUP` is enabled, users must use the `/signup/idtoken` endpoint to register first.
2419
+
2261
2420
 
2262
2421
  This method may return different T based on the response code:
2263
2422
  - 200: SessionPayload
@@ -2273,7 +2432,10 @@ export interface Client {
2273
2432
  verifySignInMfaTotp(body: SignInMfaTotpRequest, options?: RequestInit): Promise<FetchResponse<SessionPayload>>;
2274
2433
  /**
2275
2434
  Summary: Sign in with email OTP
2276
- Initiate email-based one-time password authentication. Sends an OTP to the specified email address. If the user doesn't exist, a new account will be created with the provided options.
2435
+ Initiate email-based one-time password authentication. Sends an OTP to the specified email address.
2436
+ If the user doesn't exist and `AUTH_DISABLE_AUTO_SIGNUP` is not set, a new account will be created with the provided options.
2437
+ When `AUTH_DISABLE_AUTO_SIGNUP` is enabled, users must use the `/signup/otp/email` endpoint to register first.
2438
+
2277
2439
 
2278
2440
  This method may return different T based on the response code:
2279
2441
  - 200: OKResponse
@@ -2289,7 +2451,10 @@ export interface Client {
2289
2451
  verifySignInOTPEmail(body: SignInOTPEmailVerifyRequest, options?: RequestInit): Promise<FetchResponse<SignInOTPEmailVerifyResponse>>;
2290
2452
  /**
2291
2453
  Summary: Sign in with magic link email
2292
- Initiate passwordless authentication by sending a magic link to the user's email. If the user doesn't exist, a new account will be created with the provided options.
2454
+ Initiate passwordless authentication by sending a magic link to the user's email.
2455
+ If the user doesn't exist and `AUTH_DISABLE_AUTO_SIGNUP` is not set, a new account will be created with the provided options.
2456
+ When `AUTH_DISABLE_AUTO_SIGNUP` is enabled, users must use the `/signup/passwordless/email` endpoint to register first.
2457
+
2293
2458
 
2294
2459
  This method may return different T based on the response code:
2295
2460
  - 200: OKResponse
@@ -2297,7 +2462,10 @@ export interface Client {
2297
2462
  signInPasswordlessEmail(body: SignInPasswordlessEmailRequest, options?: RequestInit): Promise<FetchResponse<OKResponse>>;
2298
2463
  /**
2299
2464
  Summary: Sign in with SMS OTP
2300
- Initiate passwordless authentication by sending a one-time password to the user's phone number. If the user doesn't exist, a new account will be created with the provided options.
2465
+ Initiate passwordless authentication by sending a one-time password to the user's phone number.
2466
+ If the user doesn't exist and `AUTH_DISABLE_AUTO_SIGNUP` is not set, a new account will be created with the provided options.
2467
+ When `AUTH_DISABLE_AUTO_SIGNUP` is enabled, users must use the `/signup/passwordless/sms` endpoint to register first.
2468
+
2301
2469
 
2302
2470
  This method may return different T based on the response code:
2303
2471
  - 200: OKResponse
@@ -2322,6 +2490,9 @@ export interface Client {
2322
2490
  /**
2323
2491
  Summary: Sign in with an OAuth2 provider
2324
2492
  Initiate OAuth2 authentication flow with a social provider. Redirects the user to the provider's authorization page.
2493
+ If the user doesn't exist and `AUTH_DISABLE_AUTO_SIGNUP` is not set, a new account will be created upon callback.
2494
+ When `AUTH_DISABLE_AUTO_SIGNUP` is enabled, users must use the `/signup/provider/{provider}` endpoint to register first.
2495
+
2325
2496
 
2326
2497
  As this method is a redirect, it returns a URL string instead of a Promise
2327
2498
  */
@@ -2382,6 +2553,57 @@ export interface Client {
2382
2553
  - 200: SessionPayload
2383
2554
  */
2384
2555
  verifySignUpWebauthn(body: SignUpWebauthnVerifyRequest, options?: RequestInit): Promise<FetchResponse<SessionPayload>>;
2556
+ /**
2557
+ Summary: Sign up with magic link email
2558
+ Register a new user account using passwordless email authentication. Sends a magic link to the specified email address for verification.
2559
+ Use this endpoint to explicitly register a new account. When `AUTH_DISABLE_AUTO_SIGNUP` is enabled, this is the only way to register through this method.
2560
+
2561
+
2562
+ This method may return different T based on the response code:
2563
+ - 200: OKResponse
2564
+ */
2565
+ signUpPasswordlessEmail(body: SignUpPasswordlessEmailRequest, options?: RequestInit): Promise<FetchResponse<OKResponse>>;
2566
+ /**
2567
+ Summary: Sign up with email OTP
2568
+ Register a new user account using email OTP authentication. Sends a one-time password to the specified email address.
2569
+ Use this endpoint to explicitly register a new account. When `AUTH_DISABLE_AUTO_SIGNUP` is enabled, this is the only way to register through this method.
2570
+
2571
+
2572
+ This method may return different T based on the response code:
2573
+ - 200: OKResponse
2574
+ */
2575
+ signUpOTPEmail(body: SignUpOTPEmailRequest, options?: RequestInit): Promise<FetchResponse<OKResponse>>;
2576
+ /**
2577
+ Summary: Sign up with SMS OTP
2578
+ Register a new user account using SMS OTP authentication. Sends a one-time password to the specified phone number.
2579
+ Use this endpoint to explicitly register a new account. When `AUTH_DISABLE_AUTO_SIGNUP` is enabled, this is the only way to register through this method.
2580
+
2581
+
2582
+ This method may return different T based on the response code:
2583
+ - 200: OKResponse
2584
+ */
2585
+ signUpPasswordlessSms(body: SignUpPasswordlessSmsRequest, options?: RequestInit): Promise<FetchResponse<OKResponse>>;
2586
+ /**
2587
+ Summary: Sign up with ID token
2588
+ Register a new user account using an ID token from Apple or Google.
2589
+ Use this endpoint to explicitly register a new account. When `AUTH_DISABLE_AUTO_SIGNUP` is enabled, this is the only way to register through this method.
2590
+ If the user already exists, a `user-already-exists` error is returned.
2591
+
2592
+
2593
+ This method may return different T based on the response code:
2594
+ - 200: SessionPayload
2595
+ */
2596
+ signUpIdToken(body: SignUpIdTokenRequest, options?: RequestInit): Promise<FetchResponse<SessionPayload>>;
2597
+ /**
2598
+ Summary: Sign up with OAuth provider
2599
+ Initiate OAuth signup flow with the specified provider. Redirects to the provider's authorization page.
2600
+ Use this endpoint to explicitly register a new account. When `AUTH_DISABLE_AUTO_SIGNUP` is enabled, this is the only way to register through this method.
2601
+ If the user already exists at callback time, they are redirected with `error=user-already-exists`.
2602
+
2603
+
2604
+ As this method is a redirect, it returns a URL string instead of a Promise
2605
+ */
2606
+ signUpProviderURL(provider: SignInProvider, params?: SignUpProviderParams, options?: RequestInit): string;
2385
2607
  /**
2386
2608
  Summary: Refresh access token
2387
2609
  Generate a new JWT access token using a valid refresh token. The refresh token used will be revoked and a new one will be issued.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/auth/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/auth/client.ts"],"names":[],"mappings":"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"}