@getstrata/core 0.5.66 → 0.5.68
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 +10 -0
- package/README.md +1 -1
- package/dist/core/http/corsMiddleware.d.ts +8 -1
- package/dist/core/openapi/generator.d.ts +2 -2
- package/dist/{config/queue.d.ts → core/queue/queueConfig.d.ts} +2 -1
- package/dist/core/runtime/appKeyPrefix.d.ts +5 -1
- package/dist/entries/audit/exportAuditLogs.js +50 -39
- package/dist/entries/audit/siemFormatter.js +20 -0
- package/dist/entries/auth/oauth/providers.js +20 -0
- package/dist/entries/auth/oauth/samlProvider.js +20 -0
- package/dist/entries/cache/createCacheStore.js +20 -0
- package/dist/entries/facades.js +20 -0
- package/dist/entries/http/corsMiddleware.js +20 -18
- package/dist/entries/http/loginThrottleMiddleware.js +20 -0
- package/dist/entries/http/memoryThrottleMiddleware.js +20 -0
- package/dist/entries/http/parseMultipartUpload.js +1 -1
- package/dist/entries/http/requireAbilityMiddleware.js +4 -1
- package/dist/entries/http/response.js +4 -1
- package/dist/entries/http/scimThrottleMiddleware.js +20 -0
- package/dist/entries/http/securityHeadersMiddleware.js +48 -9
- package/dist/entries/http/throttleMiddleware.js +20 -0
- package/dist/entries/http/webErrorResponse.js +18 -15
- package/dist/entries/jobs/exportAuditLogsJob.js +50 -39
- package/dist/entries/mail/mailer.js +20 -0
- package/dist/entries/openapi/generator.js +58 -19
- package/dist/entries/queue/createAppQueue.js +40 -18
- package/dist/entries/queue/jobRunner.js +23 -21
- package/dist/entries/queue/publicQueue.js +40 -18
- package/dist/entries/queue/queueMetrics.js +43 -21
- package/dist/entries/queue/redisQueue.js +40 -18
- package/dist/entries/runtime/appKeyPrefix.js +24 -0
- package/dist/entries/runtime/frontendMode.js +23 -0
- package/dist/entries/security/publicReads.js +1 -22
- package/dist/entries/security/safeFetch.js +48 -9
- package/dist/entries/tracing/tracingMiddleware.js +20 -0
- package/dist/index.js +45 -57
- package/package.json +7 -2
- package/dist/bootstrap/config.d.ts +0 -15
- package/dist/config/app.d.ts +0 -10
- package/dist/config/cors.d.ts +0 -9
- package/dist/config/features.d.ts +0 -18
- /package/dist/{config → core/http}/uploads.d.ts +0 -0
- /package/dist/{config/frontend.d.ts → core/runtime/frontendMode.d.ts} +0 -0
|
@@ -26,12 +26,36 @@ function webhookSignatureHeader() {
|
|
|
26
26
|
function appDisplayName() {
|
|
27
27
|
return process.env.APP_NAME?.trim() || "WorkHub";
|
|
28
28
|
}
|
|
29
|
+
function appEnv() {
|
|
30
|
+
return process.env.APP_ENV?.trim() || "local";
|
|
31
|
+
}
|
|
32
|
+
function appUrl() {
|
|
33
|
+
return (process.env.APP_URL?.trim() || "http://localhost:3000").replace(/\/$/, "");
|
|
34
|
+
}
|
|
35
|
+
function apiPrefix() {
|
|
36
|
+
const raw = process.env.API_PREFIX?.trim() || "/api/v1";
|
|
37
|
+
const withSlash = raw.startsWith("/") ? raw : `/${raw}`;
|
|
38
|
+
const trimmed = withSlash.replace(/\/+$/, "");
|
|
39
|
+
return trimmed || "/api/v1";
|
|
40
|
+
}
|
|
41
|
+
function sdkClientClassName() {
|
|
42
|
+
const override = process.env.APP_SDK_CLASS?.trim();
|
|
43
|
+
if (override && /^[A-Za-z_][A-Za-z0-9_]*$/.test(override)) {
|
|
44
|
+
return override;
|
|
45
|
+
}
|
|
46
|
+
const fromName = appDisplayName().replace(/[^A-Za-z0-9]/g, "");
|
|
47
|
+
return fromName ? `${fromName}Client` : "AppClient";
|
|
48
|
+
}
|
|
29
49
|
export {
|
|
50
|
+
apiPrefix,
|
|
30
51
|
appDisplayName,
|
|
52
|
+
appEnv,
|
|
31
53
|
appKeyPrefix,
|
|
54
|
+
appUrl,
|
|
32
55
|
appUserAgent,
|
|
33
56
|
namespacedRedisKey,
|
|
34
57
|
otelServiceName,
|
|
58
|
+
sdkClientClassName,
|
|
35
59
|
siemEventType,
|
|
36
60
|
smtpEhloHost,
|
|
37
61
|
webhookSignatureHeader
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// ../../src/core/runtime/frontendMode.ts
|
|
3
|
+
function readFrontendMode() {
|
|
4
|
+
const mode = (process.env.FRONTEND_MODE ?? "api").trim();
|
|
5
|
+
if (mode === "server-htmx") {
|
|
6
|
+
return "server-htmx";
|
|
7
|
+
}
|
|
8
|
+
if (mode === "spa-react") {
|
|
9
|
+
return "spa-react";
|
|
10
|
+
}
|
|
11
|
+
return "api";
|
|
12
|
+
}
|
|
13
|
+
function isViewsEnabled() {
|
|
14
|
+
return readFrontendMode() === "server-htmx";
|
|
15
|
+
}
|
|
16
|
+
function isSpaEnabled() {
|
|
17
|
+
return readFrontendMode() === "spa-react";
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
isSpaEnabled,
|
|
21
|
+
isViewsEnabled,
|
|
22
|
+
readFrontendMode
|
|
23
|
+
};
|
|
@@ -1,28 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
// ../../src/config/features.ts
|
|
3
|
-
function readFeatureFlags() {
|
|
4
|
-
return {
|
|
5
|
-
webhooks: (process.env.FEATURE_WEBHOOKS ?? "true") !== "false",
|
|
6
|
-
fullTextSearch: (process.env.FEATURE_SEARCH ?? "true") !== "false",
|
|
7
|
-
auditLog: (process.env.FEATURE_AUDIT_LOG ?? "true") !== "false",
|
|
8
|
-
oauthLogin: (process.env.FEATURE_OAUTH ?? "true") !== "false",
|
|
9
|
-
samlLogin: (process.env.FEATURE_SAML ?? "false") === "true",
|
|
10
|
-
scim: (process.env.FEATURE_SCIM ?? "true") !== "false",
|
|
11
|
-
billing: (process.env.FEATURE_BILLING ?? "true") !== "false",
|
|
12
|
-
siemExport: (process.env.FEATURE_SIEM_EXPORT ?? "true") !== "false",
|
|
13
|
-
publicReads: (process.env.FEATURE_PUBLIC_READS ?? "true") !== "false",
|
|
14
|
-
emailVerification: (process.env.FEATURE_EMAIL_VERIFICATION ?? "false") === "true",
|
|
15
|
-
mfa: (process.env.FEATURE_MFA ?? "false") === "true"
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
var featureFlags = readFeatureFlags();
|
|
19
|
-
function isFeatureEnabled(feature) {
|
|
20
|
-
return readFeatureFlags()[feature];
|
|
21
|
-
}
|
|
22
|
-
|
|
23
2
|
// ../../src/core/security/publicReads.ts
|
|
24
3
|
function isPublicReadsEnabled() {
|
|
25
|
-
return
|
|
4
|
+
return (process.env.FEATURE_PUBLIC_READS ?? "true") !== "false";
|
|
26
5
|
}
|
|
27
6
|
function guestCanViewResource() {
|
|
28
7
|
return isPublicReadsEnabled();
|
|
@@ -1,12 +1,51 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
// ../../src/
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
// ../../src/core/runtime/appKeyPrefix.ts
|
|
3
|
+
function appKeyPrefix() {
|
|
4
|
+
return process.env.APP_KEY_PREFIX?.trim() || "workhub";
|
|
5
|
+
}
|
|
6
|
+
function namespacedRedisKey(kind) {
|
|
7
|
+
return `${appKeyPrefix()}:${kind}`;
|
|
8
|
+
}
|
|
9
|
+
function smtpEhloHost() {
|
|
10
|
+
const raw = process.env.MAIL_EHLO?.trim() || `${appKeyPrefix()}.local`;
|
|
11
|
+
const safe = raw.replace(/[^a-zA-Z0-9.-]/g, "");
|
|
12
|
+
return safe || "strata.local";
|
|
13
|
+
}
|
|
14
|
+
function siemEventType() {
|
|
15
|
+
return process.env.SIEM_EVENT_TYPE?.trim() || `${appKeyPrefix()}.audit`;
|
|
16
|
+
}
|
|
17
|
+
function appUserAgent() {
|
|
18
|
+
return process.env.APP_USER_AGENT?.trim() || appKeyPrefix();
|
|
19
|
+
}
|
|
20
|
+
function otelServiceName() {
|
|
21
|
+
return process.env.OTEL_SERVICE_NAME?.trim() || `${appKeyPrefix()}-api`;
|
|
22
|
+
}
|
|
23
|
+
function webhookSignatureHeader() {
|
|
24
|
+
return process.env.WEBHOOK_SIGNATURE_HEADER?.trim() || `x-${appKeyPrefix()}-signature`;
|
|
25
|
+
}
|
|
26
|
+
function appDisplayName() {
|
|
27
|
+
return process.env.APP_NAME?.trim() || "WorkHub";
|
|
28
|
+
}
|
|
29
|
+
function appEnv() {
|
|
30
|
+
return process.env.APP_ENV?.trim() || "local";
|
|
31
|
+
}
|
|
32
|
+
function appUrl() {
|
|
33
|
+
return (process.env.APP_URL?.trim() || "http://localhost:3000").replace(/\/$/, "");
|
|
34
|
+
}
|
|
35
|
+
function apiPrefix() {
|
|
36
|
+
const raw = process.env.API_PREFIX?.trim() || "/api/v1";
|
|
37
|
+
const withSlash = raw.startsWith("/") ? raw : `/${raw}`;
|
|
38
|
+
const trimmed = withSlash.replace(/\/+$/, "");
|
|
39
|
+
return trimmed || "/api/v1";
|
|
40
|
+
}
|
|
41
|
+
function sdkClientClassName() {
|
|
42
|
+
const override = process.env.APP_SDK_CLASS?.trim();
|
|
43
|
+
if (override && /^[A-Za-z_][A-Za-z0-9_]*$/.test(override)) {
|
|
44
|
+
return override;
|
|
45
|
+
}
|
|
46
|
+
const fromName = appDisplayName().replace(/[^A-Za-z0-9]/g, "");
|
|
47
|
+
return fromName ? `${fromName}Client` : "AppClient";
|
|
48
|
+
}
|
|
10
49
|
|
|
11
50
|
// ../../src/core/security/safeUrl.ts
|
|
12
51
|
import { lookup as dnsLookupImpl } from "dns/promises";
|
|
@@ -110,7 +149,7 @@ var DEFAULT_FETCH_TIMEOUT_MS = 1e4;
|
|
|
110
149
|
async function safeFetch(input, init = {}, options = {}) {
|
|
111
150
|
const timeoutMs = options.timeoutMs ?? DEFAULT_FETCH_TIMEOUT_MS;
|
|
112
151
|
const maxRedirects = options.maxRedirects ?? 0;
|
|
113
|
-
const resolveDns = options.resolveDns ??
|
|
152
|
+
const resolveDns = options.resolveDns ?? appEnv() === "production";
|
|
114
153
|
const urlOptions = { allowHttp: options.allowHttp, resolveDns };
|
|
115
154
|
const controller = new AbortController;
|
|
116
155
|
const timeout = setTimeout(() => controller.abort(), timeoutMs);
|
|
@@ -29,6 +29,26 @@ function webhookSignatureHeader() {
|
|
|
29
29
|
function appDisplayName() {
|
|
30
30
|
return process.env.APP_NAME?.trim() || "WorkHub";
|
|
31
31
|
}
|
|
32
|
+
function appEnv() {
|
|
33
|
+
return process.env.APP_ENV?.trim() || "local";
|
|
34
|
+
}
|
|
35
|
+
function appUrl() {
|
|
36
|
+
return (process.env.APP_URL?.trim() || "http://localhost:3000").replace(/\/$/, "");
|
|
37
|
+
}
|
|
38
|
+
function apiPrefix() {
|
|
39
|
+
const raw = process.env.API_PREFIX?.trim() || "/api/v1";
|
|
40
|
+
const withSlash = raw.startsWith("/") ? raw : `/${raw}`;
|
|
41
|
+
const trimmed = withSlash.replace(/\/+$/, "");
|
|
42
|
+
return trimmed || "/api/v1";
|
|
43
|
+
}
|
|
44
|
+
function sdkClientClassName() {
|
|
45
|
+
const override = process.env.APP_SDK_CLASS?.trim();
|
|
46
|
+
if (override && /^[A-Za-z_][A-Za-z0-9_]*$/.test(override)) {
|
|
47
|
+
return override;
|
|
48
|
+
}
|
|
49
|
+
const fromName = appDisplayName().replace(/[^A-Za-z0-9]/g, "");
|
|
50
|
+
return fromName ? `${fromName}Client` : "AppClient";
|
|
51
|
+
}
|
|
32
52
|
|
|
33
53
|
// ../../src/core/tracing/otel.ts
|
|
34
54
|
function randomHex(bytes) {
|
package/dist/index.js
CHANGED
|
@@ -982,6 +982,9 @@ function smtpEhloHost() {
|
|
|
982
982
|
function otelServiceName() {
|
|
983
983
|
return process.env.OTEL_SERVICE_NAME?.trim() || `${appKeyPrefix()}-api`;
|
|
984
984
|
}
|
|
985
|
+
function appEnv() {
|
|
986
|
+
return process.env.APP_ENV?.trim() || "local";
|
|
987
|
+
}
|
|
985
988
|
|
|
986
989
|
// ../../src/core/cache/redisCacheStore.ts
|
|
987
990
|
function cacheKeyPrefix() {
|
|
@@ -4482,24 +4485,24 @@ function readRequestCookie(request, name) {
|
|
|
4482
4485
|
function readBunRequestCookie(request, name) {
|
|
4483
4486
|
return request.cookies.get(name) ?? readRequestCookie(request, name);
|
|
4484
4487
|
}
|
|
4485
|
-
// ../../src/config/cors.ts
|
|
4486
|
-
var corsConfig = {
|
|
4487
|
-
allowedOrigins: (process.env.CORS_ALLOWED_ORIGINS ?? "*").split(",").map((origin) => origin.trim()).filter(Boolean),
|
|
4488
|
-
allowedMethods: ["GET", "POST", "PATCH", "PUT", "DELETE", "OPTIONS"],
|
|
4489
|
-
allowedHeaders: [
|
|
4490
|
-
"Authorization",
|
|
4491
|
-
"Content-Type",
|
|
4492
|
-
"X-Request-Id",
|
|
4493
|
-
"X-Tenant-Id",
|
|
4494
|
-
"X-Authenticated-User-Id",
|
|
4495
|
-
"X-Authenticated-User-Role",
|
|
4496
|
-
"If-Match",
|
|
4497
|
-
"If-None-Match"
|
|
4498
|
-
],
|
|
4499
|
-
maxAgeSeconds: 86400
|
|
4500
|
-
};
|
|
4501
|
-
|
|
4502
4488
|
// ../../src/core/http/corsMiddleware.ts
|
|
4489
|
+
function resolveCorsConfig() {
|
|
4490
|
+
return {
|
|
4491
|
+
allowedOrigins: (process.env.CORS_ALLOWED_ORIGINS ?? "*").split(",").map((origin) => origin.trim()).filter(Boolean),
|
|
4492
|
+
allowedMethods: ["GET", "POST", "PATCH", "PUT", "DELETE", "OPTIONS"],
|
|
4493
|
+
allowedHeaders: [
|
|
4494
|
+
"Authorization",
|
|
4495
|
+
"Content-Type",
|
|
4496
|
+
"X-Request-Id",
|
|
4497
|
+
"X-Tenant-Id",
|
|
4498
|
+
"X-Authenticated-User-Id",
|
|
4499
|
+
"X-Authenticated-User-Role",
|
|
4500
|
+
"If-Match",
|
|
4501
|
+
"If-None-Match"
|
|
4502
|
+
],
|
|
4503
|
+
maxAgeSeconds: 86400
|
|
4504
|
+
};
|
|
4505
|
+
}
|
|
4503
4506
|
function createCorsMiddleware() {
|
|
4504
4507
|
return async (request, next) => {
|
|
4505
4508
|
if (request.method === "OPTIONS") {
|
|
@@ -4523,6 +4526,7 @@ function createCorsMiddleware() {
|
|
|
4523
4526
|
function buildCorsHeaders(request) {
|
|
4524
4527
|
const headers = new Headers;
|
|
4525
4528
|
const origin = request.headers.get("origin");
|
|
4529
|
+
const corsConfig = resolveCorsConfig();
|
|
4526
4530
|
const allowedOrigins = corsConfig.allowedOrigins;
|
|
4527
4531
|
const allowOrigin = allowedOrigins.includes("*") || origin && allowedOrigins.includes(origin) ? origin ?? "*" : allowedOrigins[0] ?? "*";
|
|
4528
4532
|
headers.set("Access-Control-Allow-Origin", allowOrigin);
|
|
@@ -4947,7 +4951,7 @@ function parsePaginationQuery(request) {
|
|
|
4947
4951
|
function paginatedResponse(data, meta, init = {}) {
|
|
4948
4952
|
return Response.json({ data, meta }, init);
|
|
4949
4953
|
}
|
|
4950
|
-
// ../../src/
|
|
4954
|
+
// ../../src/core/http/uploads.ts
|
|
4951
4955
|
var DEFAULT_MAX_UPLOAD_BYTES = 5 * 1024 * 1024;
|
|
4952
4956
|
var ALLOWED_UPLOAD_MIME_TYPES = new Set([
|
|
4953
4957
|
"application/pdf",
|
|
@@ -5043,7 +5047,7 @@ function toPaginatedResourceCollection(items, meta, transformer) {
|
|
|
5043
5047
|
meta
|
|
5044
5048
|
};
|
|
5045
5049
|
}
|
|
5046
|
-
// ../../src/
|
|
5050
|
+
// ../../src/core/runtime/frontendMode.ts
|
|
5047
5051
|
function readFrontendMode() {
|
|
5048
5052
|
const mode = (process.env.FRONTEND_MODE ?? "api").trim();
|
|
5049
5053
|
if (mode === "server-htmx") {
|
|
@@ -5666,15 +5670,6 @@ function createScimThrottleMiddleware(options) {
|
|
|
5666
5670
|
return await next();
|
|
5667
5671
|
};
|
|
5668
5672
|
}
|
|
5669
|
-
// ../../src/config/app.ts
|
|
5670
|
-
var appConfig = {
|
|
5671
|
-
name: process.env.APP_NAME?.trim() || "WorkHub",
|
|
5672
|
-
env: process.env.APP_ENV ?? "local",
|
|
5673
|
-
debug: (process.env.APP_DEBUG ?? "true") !== "false",
|
|
5674
|
-
url: process.env.APP_URL ?? "http://localhost:3000",
|
|
5675
|
-
apiPrefix: process.env.API_PREFIX ?? "/api/v1"
|
|
5676
|
-
};
|
|
5677
|
-
|
|
5678
5673
|
// ../../src/core/http/securityHeadersMiddleware.ts
|
|
5679
5674
|
function createSecurityHeadersMiddleware(options = {}) {
|
|
5680
5675
|
return async (request, next) => {
|
|
@@ -5692,7 +5687,7 @@ function createSecurityHeadersMiddleware(options = {}) {
|
|
|
5692
5687
|
headers.set("Referrer-Policy", "strict-origin-when-cross-origin");
|
|
5693
5688
|
headers.set("X-XSS-Protection", "0");
|
|
5694
5689
|
headers.set("Content-Security-Policy", resolveContentSecurityPolicy(response, { ...options, nonce }));
|
|
5695
|
-
if (
|
|
5690
|
+
if (appEnv() === "production") {
|
|
5696
5691
|
headers.set("Strict-Transport-Security", "max-age=31536000; includeSubDomains");
|
|
5697
5692
|
}
|
|
5698
5693
|
return new Response(response.body, {
|
|
@@ -6249,14 +6244,28 @@ function readSharedJobRegistry() {
|
|
|
6249
6244
|
return registry;
|
|
6250
6245
|
}
|
|
6251
6246
|
var jobRegistry = readSharedJobRegistry();
|
|
6252
|
-
// ../../src/bootstrap/config.ts
|
|
6253
|
-
var DEFAULT_QUEUE_DRIVER = "sync";
|
|
6254
6247
|
|
|
6255
|
-
// ../../src/
|
|
6248
|
+
// ../../src/core/queue/queueConfig.ts
|
|
6249
|
+
function resolveQueueConfig() {
|
|
6250
|
+
const driver = process.env.QUEUE_DRIVER;
|
|
6251
|
+
const maxAttempts = Number(process.env.QUEUE_MAX_ATTEMPTS ?? "3");
|
|
6252
|
+
const backoffMs = Number(process.env.QUEUE_BACKOFF_MS ?? "1000");
|
|
6253
|
+
return {
|
|
6254
|
+
driver: driver === "redis" || driver === "async" || driver === "sync" ? driver : "sync",
|
|
6255
|
+
maxAttempts: Number.isFinite(maxAttempts) && maxAttempts > 0 ? maxAttempts : 3,
|
|
6256
|
+
backoffMs: Number.isFinite(backoffMs) && backoffMs >= 0 ? backoffMs : 1000
|
|
6257
|
+
};
|
|
6258
|
+
}
|
|
6256
6259
|
var queueConfig = {
|
|
6257
|
-
driver
|
|
6258
|
-
|
|
6259
|
-
|
|
6260
|
+
get driver() {
|
|
6261
|
+
return resolveQueueConfig().driver;
|
|
6262
|
+
},
|
|
6263
|
+
get maxAttempts() {
|
|
6264
|
+
return resolveQueueConfig().maxAttempts;
|
|
6265
|
+
},
|
|
6266
|
+
get backoffMs() {
|
|
6267
|
+
return resolveQueueConfig().backoffMs;
|
|
6268
|
+
}
|
|
6260
6269
|
};
|
|
6261
6270
|
|
|
6262
6271
|
// ../../src/core/queue/jobRunner.ts
|
|
@@ -6555,30 +6564,9 @@ async function runDueScheduledTasks(schedule = appSchedule, now = new Date) {
|
|
|
6555
6564
|
}
|
|
6556
6565
|
return due.length;
|
|
6557
6566
|
}
|
|
6558
|
-
// ../../src/config/features.ts
|
|
6559
|
-
function readFeatureFlags() {
|
|
6560
|
-
return {
|
|
6561
|
-
webhooks: (process.env.FEATURE_WEBHOOKS ?? "true") !== "false",
|
|
6562
|
-
fullTextSearch: (process.env.FEATURE_SEARCH ?? "true") !== "false",
|
|
6563
|
-
auditLog: (process.env.FEATURE_AUDIT_LOG ?? "true") !== "false",
|
|
6564
|
-
oauthLogin: (process.env.FEATURE_OAUTH ?? "true") !== "false",
|
|
6565
|
-
samlLogin: (process.env.FEATURE_SAML ?? "false") === "true",
|
|
6566
|
-
scim: (process.env.FEATURE_SCIM ?? "true") !== "false",
|
|
6567
|
-
billing: (process.env.FEATURE_BILLING ?? "true") !== "false",
|
|
6568
|
-
siemExport: (process.env.FEATURE_SIEM_EXPORT ?? "true") !== "false",
|
|
6569
|
-
publicReads: (process.env.FEATURE_PUBLIC_READS ?? "true") !== "false",
|
|
6570
|
-
emailVerification: (process.env.FEATURE_EMAIL_VERIFICATION ?? "false") === "true",
|
|
6571
|
-
mfa: (process.env.FEATURE_MFA ?? "false") === "true"
|
|
6572
|
-
};
|
|
6573
|
-
}
|
|
6574
|
-
var featureFlags = readFeatureFlags();
|
|
6575
|
-
function isFeatureEnabled(feature) {
|
|
6576
|
-
return readFeatureFlags()[feature];
|
|
6577
|
-
}
|
|
6578
|
-
|
|
6579
6567
|
// ../../src/core/security/publicReads.ts
|
|
6580
6568
|
function isPublicReadsEnabled() {
|
|
6581
|
-
return
|
|
6569
|
+
return (process.env.FEATURE_PUBLIC_READS ?? "true") !== "false";
|
|
6582
6570
|
}
|
|
6583
6571
|
function guestCanViewResource() {
|
|
6584
6572
|
return isPublicReadsEnabled();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getstrata/core",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.68",
|
|
4
4
|
"description": "Strata — Laravel-inspired Bun framework public API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -670,6 +670,11 @@
|
|
|
670
670
|
"import": "./dist/entries/runtime/appKeyPrefix.js",
|
|
671
671
|
"default": "./dist/entries/runtime/appKeyPrefix.js"
|
|
672
672
|
},
|
|
673
|
+
"./runtime/frontendMode": {
|
|
674
|
+
"types": "./dist/core/runtime/frontendMode.d.ts",
|
|
675
|
+
"import": "./dist/entries/runtime/frontendMode.js",
|
|
676
|
+
"default": "./dist/entries/runtime/frontendMode.js"
|
|
677
|
+
},
|
|
673
678
|
"./runtime/applicationRegistry": {
|
|
674
679
|
"types": "./dist/core/runtime/applicationRegistry.d.ts",
|
|
675
680
|
"import": "./dist/entries/runtime/applicationRegistry.js",
|
|
@@ -808,7 +813,7 @@
|
|
|
808
813
|
"build:bundle": "bun build index.ts --outdir dist --target bun --external bun --external eta",
|
|
809
814
|
"build:types": "tsc -p tsconfig.types.json",
|
|
810
815
|
"prepublishOnly": "bun run build && bun ../../scripts/prepare-core-package-publish.ts",
|
|
811
|
-
"build:subpaths": "bun build entries/auth/accessControl.ts entries/auth/abilityChecker.ts entries/auth/membershipMiddleware.ts entries/auth/membershipScope.ts entries/auth/membershipService.ts entries/auth/oauth/oidcProvider.ts entries/auth/oauth/providers.ts entries/auth/oauth/samlProvider.ts entries/auth/oauth/types.ts entries/auth/password.ts entries/auth/policy.ts entries/auth/scimAuthMiddleware.ts entries/auth/sessionCookie.ts entries/auth/sessionGuard.ts entries/auth/tokenHash.ts entries/audit/exportAuditLogs.ts entries/audit/siemFormatter.ts entries/admin/formatValue.ts entries/admin/registry.ts entries/admin/types.ts entries/cache/tags.ts entries/cache/createCacheStore.ts entries/cache/repository.ts entries/cache/simpleCache.ts entries/cache/simpleCacheStore.ts entries/config/envSchema.ts entries/contracts/serviceTokens.ts entries/contracts/container.ts entries/contracts/di.ts entries/crypto/fieldEncryption.ts entries/crypto/mfaSecret.ts entries/database/errors.ts entries/database/factory.ts entries/database/migrations.ts entries/database/migrations/types.ts entries/database/model.ts entries/database/query.ts entries/database/relationships.ts entries/database/repositoryQuery.ts entries/database/seeders.ts entries/database/seeders/types.ts entries/database/schema.ts entries/database/table.ts entries/database/types.ts entries/database/whereBuilder.ts entries/facades.ts entries/http/authMiddleware.ts entries/http/authorizeMiddleware.ts entries/http/bodySizeLimitMiddleware.ts entries/http/clientIp.ts entries/http/cookies.ts entries/http/contentNegotiation.ts entries/http/conditionalResponse.ts entries/http/corsMiddleware.ts entries/http/csrfMiddleware.ts entries/http/csrfProtection.ts entries/http/csrfToken.ts entries/http/etag.ts entries/http/flashSession.ts entries/http/flashMiddleware.ts entries/http/formRequest.ts entries/http/metricsMiddleware.ts entries/http/loginThrottleMiddleware.ts entries/http/memoryThrottleMiddleware.ts entries/http/pagination.ts entries/http/parseFormBody.ts entries/http/parseMultipartUpload.ts entries/http/requireAbilityMiddleware.ts entries/http/requireAuthMiddleware.ts entries/http/requireGlobalAdminMiddleware.ts entries/http/requireWebAuthMiddleware.ts entries/http/resources.ts entries/http/response.ts entries/http/route.ts entries/http/routeMiddleware.ts entries/http/routeModelBinding.ts entries/http/safeInternalPath.ts entries/http/signedUrl.ts entries/http/scimThrottleMiddleware.ts entries/http/securityHeadersMiddleware.ts entries/http/securedRouteModelBinding.ts entries/http/webErrorResponse.ts entries/http/webFormRequest.ts entries/http/throttleMiddleware.ts entries/http/validation.ts entries/jobs/dispatchWebhookJob.ts entries/jobs/exportAuditLogsJob.ts entries/jobs/invalidateCacheTagsJob.ts entries/lifecycle/gracefulShutdown.ts entries/logging/logger.ts entries/logging/requestLoggingMiddleware.ts entries/mail/mailer.ts entries/mail/markdownMail.ts entries/mail/markdownMailable.ts entries/mail/sanitizeMailHtml.ts entries/media/imageTransform.ts entries/metrics/prometheus.ts entries/openapi/generator.ts entries/openapi/registeredRoute.ts entries/openapi/validate.ts entries/pagination.ts entries/queue.ts entries/queue/createAppQueue.ts entries/queue/failedJobRepository.ts entries/queue/failedJobService.ts entries/queue/jobRunner.ts entries/queue/queueMetrics.ts entries/queue/publicQueue.ts entries/queue/redisQueue.ts entries/queue/types.ts entries/runtime/appKeyPrefix.ts entries/runtime/asyncContextStore.ts entries/scheduler/schedule.ts entries/scheduler/osCron.ts entries/security/oauthState.ts entries/security/publicReads.ts entries/security/safeFetch.ts entries/security/safeUrl.ts entries/security/scimTenantTokens.ts entries/security/stripeWebhook.ts entries/security/timingSafeCompare.ts entries/security/tokenExpiry.ts entries/security/totp.ts entries/storage/storage.ts entries/tenant/tenancyConfig.ts entries/tenant/tenantDatabaseScope.ts entries/tenant/databaseTenantContext.ts entries/terminal/runShell.ts entries/tracing/tracingMiddleware.ts entries/validation/rules.ts entries/view.ts --outdir dist --root . --target bun --external bun --external eta --external @getstrata/core --external @getstrata/core/auth/accessControl --external @getstrata/core/auth/abilityChecker --external @getstrata/core/auth/authContext --external @getstrata/core/auth/guard --external @getstrata/core/auth/membershipContext --external @getstrata/core/auth/membershipMiddleware --external @getstrata/core/auth/membershipScope --external @getstrata/core/auth/membershipService --external @getstrata/core/auth/oauth/oidcProvider --external @getstrata/core/auth/oauth/providers --external @getstrata/core/auth/oauth/samlProvider --external @getstrata/core/auth/oauth/types --external @getstrata/core/auth/password --external @getstrata/core/auth/policy --external @getstrata/core/auth/scimAuthMiddleware --external @getstrata/core/auth/sessionCookie --external @getstrata/core/auth/sessionGuard --external @getstrata/core/auth/tokenHash --external @getstrata/core/audit/exportAuditLogs --external @getstrata/core/audit/siemFormatter --external @getstrata/core/admin/formatValue --external @getstrata/core/admin/registry --external @getstrata/core/admin/types --external @getstrata/core/cache/tags --external @getstrata/core/cache/createCacheStore --external @getstrata/core/cache/repository --external @getstrata/core/cache/simpleCache --external @getstrata/core/cache/simpleCacheStore --external @getstrata/core/config/envSchema --external @getstrata/core/contracts/serviceTokens --external @getstrata/core/contracts/container --external @getstrata/core/contracts/di --external @getstrata/core/crypto/fieldEncryption --external @getstrata/core/crypto/mfaSecret --external @getstrata/core/database --external @getstrata/core/database/baseRepository --external @getstrata/core/database/bindConnection --external @getstrata/core/database/boundConnection --external @getstrata/core/database/bunSql --external @getstrata/core/database/connection --external @getstrata/core/database/defaultConnection --external @getstrata/core/database/errors --external @getstrata/core/database/factory --external @getstrata/core/database/migrations --external @getstrata/core/database/migrations/types --external @getstrata/core/database/model --external @getstrata/core/database/query --external @getstrata/core/database/relationships --external @getstrata/core/database/repositoryConnection --external @getstrata/core/database/repositoryQuery --external @getstrata/core/database/seeders --external @getstrata/core/database/seeders/types --external @getstrata/core/database/schema --external @getstrata/core/database/table --external @getstrata/core/database/transaction --external @getstrata/core/database/types --external @getstrata/core/database/whereBuilder --external @getstrata/core/errors/http --external @getstrata/core/events --external @getstrata/core/facades --external @getstrata/core/http --external @getstrata/core/http/authMiddleware --external @getstrata/core/http/authorizeMiddleware --external @getstrata/core/http/bodySizeLimitMiddleware --external @getstrata/core/http/clientIp --external @getstrata/core/http/cookies --external @getstrata/core/http/contentNegotiation --external @getstrata/core/http/contentSecurityPolicy --external @getstrata/core/http/conditionalResponse --external @getstrata/core/http/corsMiddleware --external @getstrata/core/http/csrfMiddleware --external @getstrata/core/http/csrfProtection --external @getstrata/core/http/csrfToken --external @getstrata/core/http/etag --external @getstrata/core/http/flashSession --external @getstrata/core/http/flashMiddleware --external @getstrata/core/http/formRequest --external @getstrata/core/http/middleware --external @getstrata/core/http/metricsMiddleware --external @getstrata/core/http/loginThrottleMiddleware --external @getstrata/core/http/memoryThrottleMiddleware --external @getstrata/core/http/pagination --external @getstrata/core/http/parseFormBody --external @getstrata/core/http/parseMultipartUpload --external @getstrata/core/http/requireAbilityMiddleware --external @getstrata/core/http/requireAuthMiddleware --external @getstrata/core/http/requireGlobalAdminMiddleware --external @getstrata/core/http/requireWebAuthMiddleware --external @getstrata/core/http/resources --external @getstrata/core/http/response --external @getstrata/core/http/route --external @getstrata/core/http/routeMiddleware --external @getstrata/core/http/routeModelBinding --external @getstrata/core/http/safeInternalPath --external @getstrata/core/http/signedUrl --external @getstrata/core/http/scimThrottleMiddleware --external @getstrata/core/http/securityHeadersMiddleware --external @getstrata/core/http/securedRouteModelBinding --external @getstrata/core/http/requestMetaContext --external @getstrata/core/http/webErrorResponse --external @getstrata/core/http/webFormRequest --external @getstrata/core/http/throttleMiddleware --external @getstrata/core/http/validation --external @getstrata/core/jobs/dispatchWebhookJob --external @getstrata/core/jobs/exportAuditLogsJob --external @getstrata/core/jobs/invalidateCacheTagsJob --external @getstrata/core/lifecycle/gracefulShutdown --external @getstrata/core/logging/logger --external @getstrata/core/logging/requestLoggingMiddleware --external @getstrata/core/mail/mailer --external @getstrata/core/mail/markdownMail --external @getstrata/core/mail/markdownMailable --external @getstrata/core/mail/sanitizeMailHtml --external @getstrata/core/media/imageTransform --external @getstrata/core/metrics/prometheus --external @getstrata/core/notifications --external @getstrata/core/openapi/generator --external @getstrata/core/openapi/registeredRoute --external @getstrata/core/openapi/validate --external @getstrata/core/pagination --external @getstrata/core/queue --external @getstrata/core/queue/createAppQueue --external @getstrata/core/queue/failedJobRepository --external @getstrata/core/queue/failedJobService --external @getstrata/core/queue/jobRegistry --external @getstrata/core/queue/jobRunner --external @getstrata/core/queue/queueMetrics --external @getstrata/core/queue/publicQueue --external @getstrata/core/queue/redisQueue --external @getstrata/core/queue/types --external @getstrata/core/runtime/appKeyPrefix --external @getstrata/core/runtime/applicationRegistry --external @getstrata/core/runtime/asyncContextStore --external @getstrata/core/scheduler/schedule --external @getstrata/core/scheduler/osCron --external @getstrata/core/security/oauthState --external @getstrata/core/security/publicReads --external @getstrata/core/security/safeFetch --external @getstrata/core/security/safeUrl --external @getstrata/core/security/scimTenantTokens --external @getstrata/core/security/securityEvents --external @getstrata/core/security/stripeWebhook --external @getstrata/core/security/timingSafeCompare --external @getstrata/core/security/tokenExpiry --external @getstrata/core/security/totp --external @getstrata/core/storage/storage --external @getstrata/core/tenant/tenancyConfig --external @getstrata/core/tenant/tenantContext --external @getstrata/core/tenant/tenantDatabaseScope --external @getstrata/core/tenant/databaseTenantContext --external @getstrata/core/tenant/tenantMiddleware --external @getstrata/core/terminal/runShell --external @getstrata/core/tracing/traceContext --external @getstrata/core/tracing/tracingMiddleware --external @getstrata/core/validation/rules --external @getstrata/core/view",
|
|
816
|
+
"build:subpaths": "bun build entries/auth/accessControl.ts entries/auth/abilityChecker.ts entries/auth/membershipMiddleware.ts entries/auth/membershipScope.ts entries/auth/membershipService.ts entries/auth/oauth/oidcProvider.ts entries/auth/oauth/providers.ts entries/auth/oauth/samlProvider.ts entries/auth/oauth/types.ts entries/auth/password.ts entries/auth/policy.ts entries/auth/scimAuthMiddleware.ts entries/auth/sessionCookie.ts entries/auth/sessionGuard.ts entries/auth/tokenHash.ts entries/audit/exportAuditLogs.ts entries/audit/siemFormatter.ts entries/admin/formatValue.ts entries/admin/registry.ts entries/admin/types.ts entries/cache/tags.ts entries/cache/createCacheStore.ts entries/cache/repository.ts entries/cache/simpleCache.ts entries/cache/simpleCacheStore.ts entries/config/envSchema.ts entries/contracts/serviceTokens.ts entries/contracts/container.ts entries/contracts/di.ts entries/crypto/fieldEncryption.ts entries/crypto/mfaSecret.ts entries/database/errors.ts entries/database/factory.ts entries/database/migrations.ts entries/database/migrations/types.ts entries/database/model.ts entries/database/query.ts entries/database/relationships.ts entries/database/repositoryQuery.ts entries/database/seeders.ts entries/database/seeders/types.ts entries/database/schema.ts entries/database/table.ts entries/database/types.ts entries/database/whereBuilder.ts entries/facades.ts entries/http/authMiddleware.ts entries/http/authorizeMiddleware.ts entries/http/bodySizeLimitMiddleware.ts entries/http/clientIp.ts entries/http/cookies.ts entries/http/contentNegotiation.ts entries/http/conditionalResponse.ts entries/http/corsMiddleware.ts entries/http/csrfMiddleware.ts entries/http/csrfProtection.ts entries/http/csrfToken.ts entries/http/etag.ts entries/http/flashSession.ts entries/http/flashMiddleware.ts entries/http/formRequest.ts entries/http/metricsMiddleware.ts entries/http/loginThrottleMiddleware.ts entries/http/memoryThrottleMiddleware.ts entries/http/pagination.ts entries/http/parseFormBody.ts entries/http/parseMultipartUpload.ts entries/http/requireAbilityMiddleware.ts entries/http/requireAuthMiddleware.ts entries/http/requireGlobalAdminMiddleware.ts entries/http/requireWebAuthMiddleware.ts entries/http/resources.ts entries/http/response.ts entries/http/route.ts entries/http/routeMiddleware.ts entries/http/routeModelBinding.ts entries/http/safeInternalPath.ts entries/http/signedUrl.ts entries/http/scimThrottleMiddleware.ts entries/http/securityHeadersMiddleware.ts entries/http/securedRouteModelBinding.ts entries/http/webErrorResponse.ts entries/http/webFormRequest.ts entries/http/throttleMiddleware.ts entries/http/validation.ts entries/jobs/dispatchWebhookJob.ts entries/jobs/exportAuditLogsJob.ts entries/jobs/invalidateCacheTagsJob.ts entries/lifecycle/gracefulShutdown.ts entries/logging/logger.ts entries/logging/requestLoggingMiddleware.ts entries/mail/mailer.ts entries/mail/markdownMail.ts entries/mail/markdownMailable.ts entries/mail/sanitizeMailHtml.ts entries/media/imageTransform.ts entries/metrics/prometheus.ts entries/openapi/generator.ts entries/openapi/registeredRoute.ts entries/openapi/validate.ts entries/pagination.ts entries/queue.ts entries/queue/createAppQueue.ts entries/queue/failedJobRepository.ts entries/queue/failedJobService.ts entries/queue/jobRunner.ts entries/queue/queueMetrics.ts entries/queue/publicQueue.ts entries/queue/redisQueue.ts entries/queue/types.ts entries/runtime/appKeyPrefix.ts entries/runtime/frontendMode.ts entries/runtime/asyncContextStore.ts entries/scheduler/schedule.ts entries/scheduler/osCron.ts entries/security/oauthState.ts entries/security/publicReads.ts entries/security/safeFetch.ts entries/security/safeUrl.ts entries/security/scimTenantTokens.ts entries/security/stripeWebhook.ts entries/security/timingSafeCompare.ts entries/security/tokenExpiry.ts entries/security/totp.ts entries/storage/storage.ts entries/tenant/tenancyConfig.ts entries/tenant/tenantDatabaseScope.ts entries/tenant/databaseTenantContext.ts entries/terminal/runShell.ts entries/tracing/tracingMiddleware.ts entries/validation/rules.ts entries/view.ts --outdir dist --root . --target bun --external bun --external eta --external @getstrata/core --external @getstrata/core/auth/accessControl --external @getstrata/core/auth/abilityChecker --external @getstrata/core/auth/authContext --external @getstrata/core/auth/guard --external @getstrata/core/auth/membershipContext --external @getstrata/core/auth/membershipMiddleware --external @getstrata/core/auth/membershipScope --external @getstrata/core/auth/membershipService --external @getstrata/core/auth/oauth/oidcProvider --external @getstrata/core/auth/oauth/providers --external @getstrata/core/auth/oauth/samlProvider --external @getstrata/core/auth/oauth/types --external @getstrata/core/auth/password --external @getstrata/core/auth/policy --external @getstrata/core/auth/scimAuthMiddleware --external @getstrata/core/auth/sessionCookie --external @getstrata/core/auth/sessionGuard --external @getstrata/core/auth/tokenHash --external @getstrata/core/audit/exportAuditLogs --external @getstrata/core/audit/siemFormatter --external @getstrata/core/admin/formatValue --external @getstrata/core/admin/registry --external @getstrata/core/admin/types --external @getstrata/core/cache/tags --external @getstrata/core/cache/createCacheStore --external @getstrata/core/cache/repository --external @getstrata/core/cache/simpleCache --external @getstrata/core/cache/simpleCacheStore --external @getstrata/core/config/envSchema --external @getstrata/core/contracts/serviceTokens --external @getstrata/core/contracts/container --external @getstrata/core/contracts/di --external @getstrata/core/crypto/fieldEncryption --external @getstrata/core/crypto/mfaSecret --external @getstrata/core/database --external @getstrata/core/database/baseRepository --external @getstrata/core/database/bindConnection --external @getstrata/core/database/boundConnection --external @getstrata/core/database/bunSql --external @getstrata/core/database/connection --external @getstrata/core/database/defaultConnection --external @getstrata/core/database/errors --external @getstrata/core/database/factory --external @getstrata/core/database/migrations --external @getstrata/core/database/migrations/types --external @getstrata/core/database/model --external @getstrata/core/database/query --external @getstrata/core/database/relationships --external @getstrata/core/database/repositoryConnection --external @getstrata/core/database/repositoryQuery --external @getstrata/core/database/seeders --external @getstrata/core/database/seeders/types --external @getstrata/core/database/schema --external @getstrata/core/database/table --external @getstrata/core/database/transaction --external @getstrata/core/database/types --external @getstrata/core/database/whereBuilder --external @getstrata/core/errors/http --external @getstrata/core/events --external @getstrata/core/facades --external @getstrata/core/http --external @getstrata/core/http/authMiddleware --external @getstrata/core/http/authorizeMiddleware --external @getstrata/core/http/bodySizeLimitMiddleware --external @getstrata/core/http/clientIp --external @getstrata/core/http/cookies --external @getstrata/core/http/contentNegotiation --external @getstrata/core/http/contentSecurityPolicy --external @getstrata/core/http/conditionalResponse --external @getstrata/core/http/corsMiddleware --external @getstrata/core/http/csrfMiddleware --external @getstrata/core/http/csrfProtection --external @getstrata/core/http/csrfToken --external @getstrata/core/http/etag --external @getstrata/core/http/flashSession --external @getstrata/core/http/flashMiddleware --external @getstrata/core/http/formRequest --external @getstrata/core/http/middleware --external @getstrata/core/http/metricsMiddleware --external @getstrata/core/http/loginThrottleMiddleware --external @getstrata/core/http/memoryThrottleMiddleware --external @getstrata/core/http/pagination --external @getstrata/core/http/parseFormBody --external @getstrata/core/http/parseMultipartUpload --external @getstrata/core/http/requireAbilityMiddleware --external @getstrata/core/http/requireAuthMiddleware --external @getstrata/core/http/requireGlobalAdminMiddleware --external @getstrata/core/http/requireWebAuthMiddleware --external @getstrata/core/http/resources --external @getstrata/core/http/response --external @getstrata/core/http/route --external @getstrata/core/http/routeMiddleware --external @getstrata/core/http/routeModelBinding --external @getstrata/core/http/safeInternalPath --external @getstrata/core/http/signedUrl --external @getstrata/core/http/scimThrottleMiddleware --external @getstrata/core/http/securityHeadersMiddleware --external @getstrata/core/http/securedRouteModelBinding --external @getstrata/core/http/requestMetaContext --external @getstrata/core/http/webErrorResponse --external @getstrata/core/http/webFormRequest --external @getstrata/core/http/throttleMiddleware --external @getstrata/core/http/validation --external @getstrata/core/jobs/dispatchWebhookJob --external @getstrata/core/jobs/exportAuditLogsJob --external @getstrata/core/jobs/invalidateCacheTagsJob --external @getstrata/core/lifecycle/gracefulShutdown --external @getstrata/core/logging/logger --external @getstrata/core/logging/requestLoggingMiddleware --external @getstrata/core/mail/mailer --external @getstrata/core/mail/markdownMail --external @getstrata/core/mail/markdownMailable --external @getstrata/core/mail/sanitizeMailHtml --external @getstrata/core/media/imageTransform --external @getstrata/core/metrics/prometheus --external @getstrata/core/notifications --external @getstrata/core/openapi/generator --external @getstrata/core/openapi/registeredRoute --external @getstrata/core/openapi/validate --external @getstrata/core/pagination --external @getstrata/core/queue --external @getstrata/core/queue/createAppQueue --external @getstrata/core/queue/failedJobRepository --external @getstrata/core/queue/failedJobService --external @getstrata/core/queue/jobRegistry --external @getstrata/core/queue/jobRunner --external @getstrata/core/queue/queueMetrics --external @getstrata/core/queue/publicQueue --external @getstrata/core/queue/redisQueue --external @getstrata/core/queue/types --external @getstrata/core/runtime/appKeyPrefix --external @getstrata/core/runtime/frontendMode --external @getstrata/core/runtime/applicationRegistry --external @getstrata/core/runtime/asyncContextStore --external @getstrata/core/scheduler/schedule --external @getstrata/core/scheduler/osCron --external @getstrata/core/security/oauthState --external @getstrata/core/security/publicReads --external @getstrata/core/security/safeFetch --external @getstrata/core/security/safeUrl --external @getstrata/core/security/scimTenantTokens --external @getstrata/core/security/securityEvents --external @getstrata/core/security/stripeWebhook --external @getstrata/core/security/timingSafeCompare --external @getstrata/core/security/tokenExpiry --external @getstrata/core/security/totp --external @getstrata/core/storage/storage --external @getstrata/core/tenant/tenancyConfig --external @getstrata/core/tenant/tenantContext --external @getstrata/core/tenant/tenantDatabaseScope --external @getstrata/core/tenant/databaseTenantContext --external @getstrata/core/tenant/tenantMiddleware --external @getstrata/core/terminal/runShell --external @getstrata/core/tracing/traceContext --external @getstrata/core/tracing/tracingMiddleware --external @getstrata/core/validation/rules --external @getstrata/core/view",
|
|
812
817
|
"build:shims": "bun ../../scripts/write-core-shared-shims.ts"
|
|
813
818
|
},
|
|
814
819
|
"publishConfig": {
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
declare const APP_PORT_CONFIG_KEY = "app.port";
|
|
2
|
-
declare const CACHE_TTL_MS_CONFIG_KEY = "cache.ttlMs";
|
|
3
|
-
declare const CACHE_MAX_ENTRIES_CONFIG_KEY = "cache.maxEntries";
|
|
4
|
-
declare const CACHE_DRIVER_CONFIG_KEY = "cache.driver";
|
|
5
|
-
declare const REDIS_URL_CONFIG_KEY = "cache.redisUrl";
|
|
6
|
-
declare const DATABASE_URL_CONFIG_KEY = "database.url";
|
|
7
|
-
export { CORE_ABILITY_CHECKER_TOKEN, CORE_AUTH_TOKEN, CORE_AUTH_USER_DIRECTORY_TOKEN, CORE_CACHE_TOKEN, CORE_CONFIG_TOKEN, CORE_EVENT_BUS_TOKEN, CORE_POLICY_GATE_TOKEN, CORE_QUEUE_TOKEN, CORE_TOKEN_SERVICE_TOKEN, } from "@getstrata/core/contracts/serviceTokens";
|
|
8
|
-
declare const AUTH_DEV_HEADERS_CONFIG_KEY = "auth.allowDevHeaders";
|
|
9
|
-
declare const DEFAULT_APP_PORT = 3000;
|
|
10
|
-
declare const DEFAULT_CACHE_TTL_MS = 3600000;
|
|
11
|
-
declare const DEFAULT_CACHE_MAX_ENTRIES = 100;
|
|
12
|
-
declare const DEFAULT_CACHE_DRIVER = "array";
|
|
13
|
-
declare const DEFAULT_API_TOKEN = "";
|
|
14
|
-
declare const DEFAULT_QUEUE_DRIVER = "sync";
|
|
15
|
-
export { APP_PORT_CONFIG_KEY, AUTH_DEV_HEADERS_CONFIG_KEY, CACHE_DRIVER_CONFIG_KEY, CACHE_MAX_ENTRIES_CONFIG_KEY, CACHE_TTL_MS_CONFIG_KEY, DATABASE_URL_CONFIG_KEY, DEFAULT_API_TOKEN, DEFAULT_APP_PORT, DEFAULT_CACHE_DRIVER, DEFAULT_CACHE_MAX_ENTRIES, DEFAULT_CACHE_TTL_MS, DEFAULT_QUEUE_DRIVER, REDIS_URL_CONFIG_KEY, };
|
package/dist/config/app.d.ts
DELETED
package/dist/config/cors.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
interface FeatureFlags {
|
|
2
|
-
webhooks: boolean;
|
|
3
|
-
fullTextSearch: boolean;
|
|
4
|
-
auditLog: boolean;
|
|
5
|
-
oauthLogin: boolean;
|
|
6
|
-
samlLogin: boolean;
|
|
7
|
-
scim: boolean;
|
|
8
|
-
billing: boolean;
|
|
9
|
-
siemExport: boolean;
|
|
10
|
-
publicReads: boolean;
|
|
11
|
-
emailVerification: boolean;
|
|
12
|
-
mfa: boolean;
|
|
13
|
-
}
|
|
14
|
-
declare function readFeatureFlags(): FeatureFlags;
|
|
15
|
-
declare const featureFlags: FeatureFlags;
|
|
16
|
-
declare function isFeatureEnabled(feature: keyof FeatureFlags): boolean;
|
|
17
|
-
export type { FeatureFlags };
|
|
18
|
-
export { featureFlags, isFeatureEnabled, readFeatureFlags };
|
|
File without changes
|
|
File without changes
|