@xylex-group/athena 2.12.0 → 2.13.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.
- package/LICENSE +21 -21
- package/README.md +1190 -1184
- package/bin/athena-js.js +104 -76
- package/dist/admin.cjs +45 -0
- package/dist/admin.cjs.map +1 -0
- package/dist/admin.d.cts +64 -0
- package/dist/admin.d.ts +64 -0
- package/dist/admin.js +41 -0
- package/dist/admin.js.map +1 -0
- package/dist/athena-auth-url-oLux_57a.d.cts +377 -0
- package/dist/athena-auth-url-oLux_57a.d.ts +377 -0
- package/dist/browser.cjs +33 -46
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.cts +12 -10
- package/dist/browser.d.ts +12 -10
- package/dist/browser.js +33 -46
- package/dist/browser.js.map +1 -1
- package/dist/cli/index.cjs +150 -48
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.d.cts +14 -5
- package/dist/cli/index.d.ts +14 -5
- package/dist/cli/index.js +150 -49
- package/dist/cli/index.js.map +1 -1
- package/dist/{client-QUbAs7E8.d.ts → client-BJjUwDSg.d.cts} +109 -1448
- package/dist/{client-C3x75Zgn.d.cts → client-DVOKSYDI.d.ts} +109 -1448
- package/dist/cookies.cjs +18 -0
- package/dist/cookies.cjs.map +1 -1
- package/dist/cookies.d.cts +2 -1
- package/dist/cookies.d.ts +2 -1
- package/dist/cookies.js +17 -1
- package/dist/cookies.js.map +1 -1
- package/dist/{index-CVcQCGyG.d.ts → index-CFL9xbFR.d.cts} +2 -0
- package/dist/{index-CVcQCGyG.d.cts → index-UKJpunc6.d.ts} +2 -0
- package/dist/index.cjs +101 -46
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -10
- package/dist/index.d.ts +13 -10
- package/dist/index.js +101 -47
- package/dist/index.js.map +1 -1
- package/dist/{model-form-CD1uhWSh.d.cts → model-form-Dw4zEL5a.d.cts} +2 -2
- package/dist/{model-form-Dm69I-oO.d.ts → model-form-yRg71q3H.d.ts} +2 -2
- package/dist/{module-CW3tWJ10.d.ts → module-DBteUIob.d.ts} +12 -9
- package/dist/{module-Cxcurfes.d.cts → module-yoX49uQC.d.cts} +12 -9
- package/dist/next/client.cjs +452 -46
- package/dist/next/client.cjs.map +1 -1
- package/dist/next/client.d.cts +7 -4
- package/dist/next/client.d.ts +7 -4
- package/dist/next/client.js +430 -47
- package/dist/next/client.js.map +1 -1
- package/dist/next/server.cjs +292 -46
- package/dist/next/server.cjs.map +1 -1
- package/dist/next/server.d.cts +81 -5
- package/dist/next/server.d.ts +81 -5
- package/dist/next/server.js +280 -47
- package/dist/next/server.js.map +1 -1
- package/dist/organization.cjs +72 -0
- package/dist/organization.cjs.map +1 -0
- package/dist/organization.d.cts +43 -0
- package/dist/organization.d.ts +43 -0
- package/dist/organization.js +70 -0
- package/dist/organization.js.map +1 -0
- package/dist/payload-BzVbUgY_.d.cts +219 -0
- package/dist/payload-DEOWN_oo.d.ts +219 -0
- package/dist/{pipeline-BAwb6Vzm.d.ts → pipeline-Bj6RWt1A.d.ts} +1 -1
- package/dist/{pipeline-B14jVK7J.d.cts → pipeline-Dwck-wZO.d.cts} +1 -1
- package/dist/react.cjs +2 -10
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +26 -7
- package/dist/react.d.ts +26 -7
- package/dist/react.js +2 -10
- package/dist/react.js.map +1 -1
- package/dist/session-cookie-detection-BqOp9mO6.d.cts +46 -0
- package/dist/session-cookie-detection-BqOp9mO6.d.ts +46 -0
- package/dist/social-providers.cjs +4189 -0
- package/dist/social-providers.cjs.map +1 -0
- package/dist/social-providers.d.cts +4948 -0
- package/dist/social-providers.d.ts +4948 -0
- package/dist/social-providers.js +4117 -0
- package/dist/social-providers.js.map +1 -0
- package/dist/{types-Cq4-NoB4.d.ts → types-BRP7sfSF.d.ts} +50 -2
- package/dist/{types-Dr849HD6.d.cts → types-BU8uJH_b.d.cts} +50 -2
- package/dist/{types-CwJCPpLD.d.ts → types-CH78O90i.d.cts} +2 -2
- package/dist/{types-CwJCPpLD.d.cts → types-CH78O90i.d.ts} +2 -2
- package/dist/{types-DMOoYnPS.d.cts → types-CjC9_5ZQ.d.cts} +3 -3
- package/dist/{types-BcVmPBP-.d.ts → types-DPgejxYC.d.ts} +3 -3
- package/dist/types-eAKAh71s.d.cts +1476 -0
- package/dist/types-eAKAh71s.d.ts +1476 -0
- package/dist/utils.cjs +438 -12
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +76 -11
- package/dist/utils.d.ts +76 -11
- package/dist/utils.js +390 -13
- package/dist/utils.js.map +1 -1
- package/package.json +49 -22
- package/dist/shared-0Kdc74lu.d.ts +0 -35
- package/dist/shared-C0wVICRv.d.cts +0 -35
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cookie-header detection for Athena Auth / Better Auth session cookies.
|
|
3
|
+
*
|
|
4
|
+
* Used by Next.js middleware and edge guards to decide whether a request
|
|
5
|
+
* already carries a session token **without** parsing the full cookie map.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Patterns that match a non-empty session token cookie assignment in a raw
|
|
9
|
+
* `Cookie` request header.
|
|
10
|
+
*
|
|
11
|
+
* Covers:
|
|
12
|
+
* - Better Auth: `better-auth.session_token`, `better-auth-session_token`
|
|
13
|
+
* - Athena Auth (hyphen form): `athena-auth.session-token`, `athena-auth-session-token`
|
|
14
|
+
* - Athena Auth (underscore form / default cookie helper): `athena-auth.session_token`,
|
|
15
|
+
* `athena-auth-session_token`
|
|
16
|
+
* - Optional `__Secure-` prefix (HTTPS cookie prefixing)
|
|
17
|
+
*
|
|
18
|
+
* Each pattern requires a leading start-of-string or `; ` boundary and a
|
|
19
|
+
* trailing `=` so bare name fragments do not false-positive.
|
|
20
|
+
*/
|
|
21
|
+
declare const SESSION_COOKIE_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp, RegExp, RegExp];
|
|
22
|
+
/**
|
|
23
|
+
* Returns whether a raw `Cookie` header appears to include an auth session
|
|
24
|
+
* token cookie (Athena Auth or Better Auth naming).
|
|
25
|
+
*
|
|
26
|
+
* This is a **presence** check only — it does not validate the token value,
|
|
27
|
+
* signature, or expiry. Prefer {@link getSessionCookie} when you need the
|
|
28
|
+
* actual token string.
|
|
29
|
+
*
|
|
30
|
+
* @param cookieHeader - Value of the `Cookie` request header, or `null`/`undefined`
|
|
31
|
+
* @returns `true` if any {@link SESSION_COOKIE_PATTERNS} matches
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* import { hasAuthSessionCookie } from '@xylex-group/athena/cookies'
|
|
36
|
+
*
|
|
37
|
+
* export function middleware(request: Request) {
|
|
38
|
+
* if (!hasAuthSessionCookie(request.headers.get('cookie'))) {
|
|
39
|
+
* return Response.redirect(new URL('/sign-in', request.url))
|
|
40
|
+
* }
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
declare function hasAuthSessionCookie(cookieHeader: string | null | undefined): boolean;
|
|
45
|
+
|
|
46
|
+
export { SESSION_COOKIE_PATTERNS as S, hasAuthSessionCookie as h };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cookie-header detection for Athena Auth / Better Auth session cookies.
|
|
3
|
+
*
|
|
4
|
+
* Used by Next.js middleware and edge guards to decide whether a request
|
|
5
|
+
* already carries a session token **without** parsing the full cookie map.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Patterns that match a non-empty session token cookie assignment in a raw
|
|
9
|
+
* `Cookie` request header.
|
|
10
|
+
*
|
|
11
|
+
* Covers:
|
|
12
|
+
* - Better Auth: `better-auth.session_token`, `better-auth-session_token`
|
|
13
|
+
* - Athena Auth (hyphen form): `athena-auth.session-token`, `athena-auth-session-token`
|
|
14
|
+
* - Athena Auth (underscore form / default cookie helper): `athena-auth.session_token`,
|
|
15
|
+
* `athena-auth-session_token`
|
|
16
|
+
* - Optional `__Secure-` prefix (HTTPS cookie prefixing)
|
|
17
|
+
*
|
|
18
|
+
* Each pattern requires a leading start-of-string or `; ` boundary and a
|
|
19
|
+
* trailing `=` so bare name fragments do not false-positive.
|
|
20
|
+
*/
|
|
21
|
+
declare const SESSION_COOKIE_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp, RegExp, RegExp];
|
|
22
|
+
/**
|
|
23
|
+
* Returns whether a raw `Cookie` header appears to include an auth session
|
|
24
|
+
* token cookie (Athena Auth or Better Auth naming).
|
|
25
|
+
*
|
|
26
|
+
* This is a **presence** check only — it does not validate the token value,
|
|
27
|
+
* signature, or expiry. Prefer {@link getSessionCookie} when you need the
|
|
28
|
+
* actual token string.
|
|
29
|
+
*
|
|
30
|
+
* @param cookieHeader - Value of the `Cookie` request header, or `null`/`undefined`
|
|
31
|
+
* @returns `true` if any {@link SESSION_COOKIE_PATTERNS} matches
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* import { hasAuthSessionCookie } from '@xylex-group/athena/cookies'
|
|
36
|
+
*
|
|
37
|
+
* export function middleware(request: Request) {
|
|
38
|
+
* if (!hasAuthSessionCookie(request.headers.get('cookie'))) {
|
|
39
|
+
* return Response.redirect(new URL('/sign-in', request.url))
|
|
40
|
+
* }
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
declare function hasAuthSessionCookie(cookieHeader: string | null | undefined): boolean;
|
|
45
|
+
|
|
46
|
+
export { SESSION_COOKIE_PATTERNS as S, hasAuthSessionCookie as h };
|