@absolutejs/auth 0.81.0 → 0.82.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/CHANGELOG.md CHANGED
@@ -6,6 +6,12 @@ This file is generated by `absolute-changelog` from the entries in
6
6
  `changelog/`. Edit an entry, not this file — and add new ones under
7
7
  `changelog/unreleased/`.
8
8
 
9
+ ## 0.82.0 — 2026-09-22
10
+
11
+ ### Added
12
+
13
+ - **Expose a fixed-path sign-out subapp for directly inferred Eden clients and document Elysia 2 schema argument order** (`createSignoutApi`)
14
+
9
15
  ## 0.81.0 — 2026-09-22
10
16
 
11
17
  ### Added
package/changelog.json CHANGED
@@ -3,8 +3,19 @@
3
3
  "name": "@absolutejs/auth",
4
4
  "releases": [
5
5
  {
6
- "version": "0.81.0",
6
+ "changes": [
7
+ {
8
+ "kind": "added",
9
+ "summary": "Expose a fixed-path sign-out subapp for directly inferred Eden clients and document Elysia 2 schema argument order",
10
+ "symbols": [
11
+ "createSignoutApi"
12
+ ]
13
+ }
14
+ ],
7
15
  "date": "2026-09-22",
16
+ "version": "0.82.0"
17
+ },
18
+ {
8
19
  "changes": [
9
20
  {
10
21
  "kind": "added",
@@ -27,7 +38,9 @@
27
38
  "credentialsPasswordReset"
28
39
  ]
29
40
  }
30
- ]
41
+ ],
42
+ "date": "2026-09-22",
43
+ "version": "0.81.0"
31
44
  },
32
45
  {
33
46
  "changes": [
@@ -1,3 +1,3 @@
1
1
  /** Package-owned source recipe. Host bindings are explicit: no generated user
2
2
  * database, placeholder mailer, secret value or in-memory production fallback. */
3
- export declare const credentialsIntegrationSource = "import { Elysia } from 'elysia';\nimport { createAuthContext, createCredentialsApi } from '@absolutejs/auth/server';\nimport { credentialsConfiguration } from './credentials.config';\n\nexport const credentialsApi = createCredentialsApi(credentialsConfiguration);\nexport const accountApi = new Elysia()\n .use(createAuthContext({ authSessionStore: credentialsConfiguration.authSessionStore }))\n .get('/api/account', ({ absoluteAuthStatus, status }) => {\n if (!absoluteAuthStatus.user) return status(401, { error: 'Sign in required' });\n return { user: absoluteAuthStatus.user };\n });\n// Mount both subapps on the application server. Use auth without a credentials\n// block for OAuth/sign-out to avoid duplicate credential routes.\n// Browser: treaty<typeof credentialsApi>(origin).auth.login.post({email,password})\n// Execute that directly typed call in a React Query mutationFn.\n";
3
+ export declare const credentialsIntegrationSource = "import { Elysia } from 'elysia';\nimport { createAuthContext, createCredentialsApi, createSignoutApi } from '@absolutejs/auth/server';\nimport { credentialsConfiguration } from './credentials.config';\n\nexport const credentialsApi = createCredentialsApi(credentialsConfiguration);\nexport const sessionApi = createSignoutApi({ authSessionStore: credentialsConfiguration.authSessionStore });\nexport const accountApi = new Elysia()\n .use(createAuthContext({ authSessionStore: credentialsConfiguration.authSessionStore }))\n .get('/api/account', ({ absoluteAuthStatus, status }) => {\n if (!absoluteAuthStatus.user) return status(401, { error: 'Sign in required' });\n return { user: absoluteAuthStatus.user };\n });\n// Mount credentialsApi, sessionApi and accountApi for credentials-only apps.\n// For OAuth apps use full auth without its credentials block and without a\n// duplicate sessionApi mount. sessionApi is the narrow default sign-out type.\n// Browser: treaty<typeof credentialsApi>(origin).auth.login.post({email,password})\n// Sign-out: treaty<typeof sessionApi>(origin).oauth2.signout.delete()\n// Execute directly typed calls in React Query mutationFns.\n// Elysia 2 schema routes: .post(path, { body: schema }, handler).\n";
package/dist/index.d.ts CHANGED
@@ -4410,3 +4410,4 @@ export { portalRoutes } from './portal/routes';
4410
4410
  export { createInMemorySetupSessionStore } from './portal/inMemorySetupSessionStore';
4411
4411
  export { createNeonSetupSessionStore, createPostgresSetupSessionStore, setupSessionsTable } from './portal/postgresSetupSessionStore';
4412
4412
  export { createCredentialsApi } from './credentials/api';
4413
+ export { createSignoutApi } from './routes/signout';
package/dist/index.js CHANGED
@@ -11870,9 +11870,18 @@ var runSignOut = async (onSignOut, args) => {
11870
11870
  return false;
11871
11871
  }
11872
11872
  };
11873
- var signout = ({
11873
+ var createSignoutApi = (configuration) => createSignoutRoute({
11874
+ ...configuration,
11875
+ onSignOut: configuration.onSignOut,
11876
+ signoutRoute: "/oauth2/signout"
11877
+ });
11878
+ var signout = (configuration) => createSignoutRoute({
11879
+ ...configuration,
11880
+ signoutRoute: configuration.signoutRoute ?? "/oauth2/signout"
11881
+ });
11882
+ var createSignoutRoute = ({
11874
11883
  authSessionStore,
11875
- signoutRoute = "/oauth2/signout",
11884
+ signoutRoute,
11876
11885
  onSignOut
11877
11886
  }) => new Elysia35().use(sessionStore()).delete(signoutRoute, {
11878
11887
  cookie: t28.Cookie({
@@ -41264,6 +41273,7 @@ export {
41264
41273
  createSecretCipher,
41265
41274
  createSetupSession,
41266
41275
  createSiemLogStream,
41276
+ createSignoutApi,
41267
41277
  createStatusList,
41268
41278
  createTamperEvidentSink,
41269
41279
  createTotpKeyUri,
@@ -41537,5 +41547,5 @@ export {
41537
41547
  writeWarrant
41538
41548
  };
41539
41549
 
41540
- //# debugId=135272E1F5245CC264756E2164756E21
41550
+ //# debugId=38CB2131C9C8A6BB64756E2164756E21
41541
41551
  //# sourceMappingURL=index.js.map