@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 +5 -0
- package/README.md +1 -1
- package/dist/core/auth/intendedUrlCookie.d.ts +1 -1
- package/dist/core/auth/passwordConfirmCookie.d.ts +1 -1
- package/dist/core/auth/sessionCookie.d.ts +1 -1
- package/dist/core/http/csrfToken.d.ts +1 -1
- package/dist/core/http/flashSession.d.ts +1 -1
- package/dist/core/jobs/dispatchWebhookJob.d.ts +1 -0
- package/dist/entries/auth/intendedUrlCookie.js +1 -1
- package/dist/entries/auth/passwordConfirmCookie.js +1 -1
- package/dist/entries/auth/sessionCookie.js +1 -1
- package/dist/entries/auth/sessionGuard.js +1 -1
- package/dist/entries/http/csrfMiddleware.js +1 -1
- package/dist/entries/http/csrfToken.js +1 -1
- package/dist/entries/http/flashMiddleware.js +1 -1
- package/dist/entries/http/flashSession.js +1 -1
- package/dist/entries/openapi/generator.js +2 -0
- package/dist/entries/view.js +2 -2
- package/dist/index.js +2 -0
- package/package.json +1 -1
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.
|
|
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 PASSWORD_CONFIRM_COOKIE
|
|
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;
|
|
@@ -87,7 +87,7 @@ function sdkClientClassName() {
|
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
// ../../src/core/auth/intendedUrlCookie.ts
|
|
90
|
-
var INTENDED_URL_COOKIE = "
|
|
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 = "
|
|
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 = "
|
|
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 = "
|
|
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 = "
|
|
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 = "
|
|
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 = "
|
|
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 = "
|
|
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",
|
package/dist/entries/view.js
CHANGED
|
@@ -493,7 +493,7 @@ function currentRequestMeta3() {
|
|
|
493
493
|
}
|
|
494
494
|
|
|
495
495
|
// ../../src/core/http/csrfToken.ts
|
|
496
|
-
var CSRF_COOKIE = "
|
|
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 = "
|
|
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");
|