@getstrata/core 0.5.87 → 0.5.88

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
@@ -1,5 +1,10 @@
1
1
  # @getstrata/core changelog
2
2
 
3
+ ## 0.5.88
4
+
5
+ - Exported cookie name constants (`SESSION_COOKIE`, `CSRF_COOKIE`, `FLASH_COOKIE`, `INTENDED_URL_COOKIE`, `PASSWORD_CONFIRM_COOKIE`) are `appCookieName(...)` so they match the default prefix instead of a hardcoded `workhub_` string.
6
+ - `@getstrata/core/jobs/dispatchWebhookJob` is a deprecated compatibility re-export of the WorkHub webhook job.
7
+
3
8
  ## 0.5.87
4
9
 
5
10
  - `AuthUserDirectory.hasActiveBrowserSession?(userId, issuedAt)` is optional. `SessionGuard` calls it after `session_valid_after` and rejects the HMAC cookie when it returns false so WorkHub can revoke a single browser session by deleting the `sessions` row.
package/README.md CHANGED
@@ -82,7 +82,7 @@ import type { Migration } from "@getstrata/core/database/migrations/types";
82
82
  Package name: **`@getstrata/core`** (npm org [`@getstrata`](https://www.npmjs.com/org/getstrata)).
83
83
 
84
84
  1. Add `NPM_TOKEN` to GitHub repository secrets.
85
- 2. Tag a release: `git tag v0.5.92 && git push origin v0.5.92`
85
+ 2. Tag a release: `git tag v0.5.93 && git push origin v0.5.93`
86
86
  3. [Release workflow](../../.github/workflows/release.yml) builds and runs `npm publish --access public`.
87
87
 
88
88
  Previously published as `@eyk-workhub/framework@0.1.0`, deprecated in favor of this package.
@@ -1,4 +1,4 @@
1
- declare const INTENDED_URL_COOKIE = "workhub_intended";
1
+ declare const INTENDED_URL_COOKIE: string;
2
2
  declare const DEFAULT_INTENDED_URL_TTL_SECONDS: number;
3
3
  declare function intendedUrlCookieName(): string;
4
4
  declare function intendedUrlTtlSeconds(): number;
@@ -1,4 +1,4 @@
1
- declare const PASSWORD_CONFIRM_COOKIE = "workhub_password_confirmed";
1
+ declare const PASSWORD_CONFIRM_COOKIE: string;
2
2
  declare const DEFAULT_PASSWORD_CONFIRM_TTL_SECONDS: number;
3
3
  declare function passwordConfirmCookieName(): string;
4
4
  declare function passwordConfirmTtlSeconds(): number;
@@ -1,4 +1,4 @@
1
- declare const SESSION_COOKIE = "workhub_session";
1
+ declare const SESSION_COOKIE: string;
2
2
  declare const SESSION_TTL_SECONDS: number;
3
3
  declare const SESSION_REMEMBER_TTL_SECONDS: number;
4
4
  interface CreateSessionCookieOptions {
@@ -1,4 +1,4 @@
1
- declare const CSRF_COOKIE = "workhub_csrf";
1
+ declare const CSRF_COOKIE: string;
2
2
  declare function csrfCookieName(): string;
3
3
  declare function createCsrfTokenCookie(): {
4
4
  token: string;
@@ -1,4 +1,4 @@
1
- declare const FLASH_COOKIE = "workhub_flash";
1
+ declare const FLASH_COOKIE: string;
2
2
  declare function flashCookieName(): string;
3
3
  type FlashLevel = "success" | "error" | "info";
4
4
  interface FlashMessage {
@@ -1 +1,2 @@
1
+ /** @deprecated Import `DispatchWebhookJob` from the app webhook module. This path is a compatibility re-export. */
1
2
  export { DispatchWebhookJob, type DispatchWebhookPayload, default, } from "../../modules/webhook/dispatchWebhookJob";
@@ -87,7 +87,7 @@ function sdkClientClassName() {
87
87
  }
88
88
 
89
89
  // ../../src/core/auth/intendedUrlCookie.ts
90
- var INTENDED_URL_COOKIE = "workhub_intended";
90
+ var INTENDED_URL_COOKIE = appCookieName("intended");
91
91
  var DEFAULT_INTENDED_URL_TTL_SECONDS = 60 * 60 * 24;
92
92
  var SKIP_EXACT_PATHS = new Set([
93
93
  "/email/verify",
@@ -57,7 +57,7 @@ function sdkClientClassName() {
57
57
  }
58
58
 
59
59
  // ../../src/core/auth/passwordConfirmCookie.ts
60
- var PASSWORD_CONFIRM_COOKIE = "workhub_password_confirmed";
60
+ var PASSWORD_CONFIRM_COOKIE = appCookieName("password_confirmed");
61
61
  var DEFAULT_PASSWORD_CONFIRM_TTL_SECONDS = 3 * 60 * 60;
62
62
  function passwordConfirmCookieName() {
63
63
  return process.env.PASSWORD_CONFIRM_COOKIE_NAME?.trim() || appCookieName("password_confirmed");
@@ -57,7 +57,7 @@ function sdkClientClassName() {
57
57
  }
58
58
 
59
59
  // ../../src/core/auth/sessionCookie.ts
60
- var SESSION_COOKIE = "workhub_session";
60
+ var SESSION_COOKIE = appCookieName("session");
61
61
  var SESSION_TTL_SECONDS = 60 * 60 * 24 * 7;
62
62
  var SESSION_REMEMBER_TTL_SECONDS = 60 * 60 * 24 * 30;
63
63
  function sessionCookieName() {
@@ -142,7 +142,7 @@ function sdkClientClassName() {
142
142
  }
143
143
 
144
144
  // ../../src/core/auth/sessionCookie.ts
145
- var SESSION_COOKIE = "workhub_session";
145
+ var SESSION_COOKIE = appCookieName("session");
146
146
  var SESSION_TTL_SECONDS = 60 * 60 * 24 * 7;
147
147
  var SESSION_REMEMBER_TTL_SECONDS = 60 * 60 * 24 * 30;
148
148
  function sessionCookieName() {
@@ -114,7 +114,7 @@ function currentRequestMeta() {
114
114
  }
115
115
 
116
116
  // ../../src/core/http/csrfToken.ts
117
- var CSRF_COOKIE = "workhub_csrf";
117
+ var CSRF_COOKIE = appCookieName("csrf");
118
118
  var CSRF_TTL_MS = 60 * 60 * 1000;
119
119
  function csrfCookieName() {
120
120
  return process.env.CSRF_COOKIE_NAME?.trim() || appCookieName("csrf");
@@ -111,7 +111,7 @@ function currentRequestMeta() {
111
111
  }
112
112
 
113
113
  // ../../src/core/http/csrfToken.ts
114
- var CSRF_COOKIE = "workhub_csrf";
114
+ var CSRF_COOKIE = appCookieName("csrf");
115
115
  var CSRF_TTL_MS = 60 * 60 * 1000;
116
116
  function csrfCookieName() {
117
117
  return process.env.CSRF_COOKIE_NAME?.trim() || appCookieName("csrf");
@@ -57,7 +57,7 @@ function sdkClientClassName() {
57
57
  }
58
58
 
59
59
  // ../../src/core/http/flashSession.ts
60
- var FLASH_COOKIE = "workhub_flash";
60
+ var FLASH_COOKIE = appCookieName("flash");
61
61
  var FLASH_TTL_MS = 60 * 1000;
62
62
  function flashCookieName() {
63
63
  return process.env.FLASH_COOKIE_NAME?.trim() || appCookieName("flash");
@@ -57,7 +57,7 @@ function sdkClientClassName() {
57
57
  }
58
58
 
59
59
  // ../../src/core/http/flashSession.ts
60
- var FLASH_COOKIE = "workhub_flash";
60
+ var FLASH_COOKIE = appCookieName("flash");
61
61
  var FLASH_TTL_MS = 60 * 1000;
62
62
  function flashCookieName() {
63
63
  return process.env.FLASH_COOKIE_NAME?.trim() || appCookieName("flash");
@@ -71,6 +71,8 @@ var PUBLIC_ROUTE_DESCRIPTIONS = {
71
71
  "GET /users/me/invitations": "List pending team invitations for the signed-in email",
72
72
  "POST /users/me/invitations/:id/accept": "Accept a pending team invitation",
73
73
  "DELETE /users/me/invitations/:id": "Decline a pending team invitation",
74
+ "GET /users/me/sessions": "List active browser sessions for the signed-in user",
75
+ "DELETE /users/me/sessions/:id": "Revoke one browser session (HMAC cookie then fails SessionGuard)",
74
76
  "DELETE /users/me": "GDPR account erasure (anonymize user, revoke tokens)",
75
77
  "GET /organizations": "List organizations",
76
78
  "POST /organizations": "Create organization",
@@ -493,7 +493,7 @@ function currentRequestMeta3() {
493
493
  }
494
494
 
495
495
  // ../../src/core/http/csrfToken.ts
496
- var CSRF_COOKIE = "workhub_csrf";
496
+ var CSRF_COOKIE = appCookieName("csrf");
497
497
  var CSRF_TTL_MS = 60 * 60 * 1000;
498
498
  function csrfCookieName() {
499
499
  return process.env.CSRF_COOKIE_NAME?.trim() || appCookieName("csrf");
@@ -576,7 +576,7 @@ function resolveCsrfTokenForRequest(request) {
576
576
 
577
577
  // ../../src/core/http/flashSession.ts
578
578
  import { createHmac, timingSafeEqual as timingSafeEqual2 } from "crypto";
579
- var FLASH_COOKIE = "workhub_flash";
579
+ var FLASH_COOKIE = appCookieName("flash");
580
580
  var FLASH_TTL_MS = 60 * 1000;
581
581
  function flashCookieName() {
582
582
  return process.env.FLASH_COOKIE_NAME?.trim() || appCookieName("flash");
package/dist/index.js CHANGED
@@ -4576,6 +4576,7 @@ function currentRequestMeta() {
4576
4576
  }
4577
4577
 
4578
4578
  // ../../src/core/http/csrfToken.ts
4579
+ var CSRF_COOKIE = appCookieName("csrf");
4579
4580
  var CSRF_TTL_MS = 60 * 60 * 1000;
4580
4581
  function csrfCookieName() {
4581
4582
  return process.env.CSRF_COOKIE_NAME?.trim() || appCookieName("csrf");
@@ -4707,6 +4708,7 @@ function createCsrfProtection(secret, options = {}) {
4707
4708
  }
4708
4709
  // ../../src/core/http/flashSession.ts
4709
4710
  import { createHmac, timingSafeEqual as timingSafeEqual3 } from "crypto";
4711
+ var FLASH_COOKIE = appCookieName("flash");
4710
4712
  var FLASH_TTL_MS = 60 * 1000;
4711
4713
  function flashCookieName() {
4712
4714
  return process.env.FLASH_COOKIE_NAME?.trim() || appCookieName("flash");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getstrata/core",
3
- "version": "0.5.87",
3
+ "version": "0.5.88",
4
4
  "description": "Strata — Laravel-inspired Bun framework public API",
5
5
  "type": "module",
6
6
  "license": "MIT",