@revealui/core 0.2.0 → 0.2.1
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/README.md +137 -30
- package/dist/api/rate-limit.d.ts +1 -1
- package/dist/api/rate-limit.d.ts.map +1 -1
- package/dist/api/rate-limit.js +16 -1
- package/dist/api/rest.js +2 -2
- package/dist/caching/cdn-config.d.ts +2 -2
- package/dist/caching/cdn-config.d.ts.map +1 -1
- package/dist/caching/cdn-config.js +1 -15
- package/dist/caching/edge-cache.d.ts.map +1 -1
- package/dist/caching/edge-cache.js +8 -4
- package/dist/caching/service-worker.d.ts +7 -18
- package/dist/caching/service-worker.d.ts.map +1 -1
- package/dist/caching/service-worker.js +2 -2
- package/dist/client/admin/utils/auth.d.ts +0 -4
- package/dist/client/admin/utils/auth.d.ts.map +1 -1
- package/dist/client/admin/utils/auth.js +0 -6
- package/dist/client/index.d.ts +0 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +0 -2
- package/dist/collections/operations/create.js +2 -2
- package/dist/config/utils.d.ts.map +1 -1
- package/dist/config/utils.js +19 -5
- package/dist/database/safe-parse.d.ts +26 -0
- package/dist/database/safe-parse.d.ts.map +1 -0
- package/dist/database/safe-parse.js +42 -0
- package/dist/database/universal-postgres.d.ts.map +1 -1
- package/dist/database/universal-postgres.js +12 -12
- package/dist/dataloader.d.ts.map +1 -1
- package/dist/dataloader.js +16 -2
- package/dist/error-handling/error-reporter.d.ts +5 -4
- package/dist/error-handling/error-reporter.d.ts.map +1 -1
- package/dist/error-handling/error-reporter.js +19 -48
- package/dist/error-handling/index.d.ts +1 -1
- package/dist/error-handling/index.d.ts.map +1 -1
- package/dist/error-handling/index.js +1 -1
- package/dist/features.d.ts +5 -1
- package/dist/features.d.ts.map +1 -1
- package/dist/features.js +6 -3
- package/dist/generated/types/index.d.ts +0 -3
- package/dist/generated/types/index.d.ts.map +1 -1
- package/dist/generated/types/index.js +0 -7
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/instance/RevealUIInstance.d.ts.map +1 -1
- package/dist/instance/RevealUIInstance.js +44 -50
- package/dist/instance/methods/create.d.ts.map +1 -1
- package/dist/instance/methods/create.js +4 -1
- package/dist/instance/methods/delete.d.ts.map +1 -1
- package/dist/instance/methods/delete.js +4 -1
- package/dist/instance/methods/hooks.d.ts.map +1 -1
- package/dist/instance/methods/hooks.js +3 -1
- package/dist/instance/methods/update.d.ts.map +1 -1
- package/dist/instance/methods/update.js +4 -1
- package/dist/license.d.ts +14 -5
- package/dist/license.d.ts.map +1 -1
- package/dist/license.js +47 -11
- package/dist/observability/health-check.d.ts +1 -1
- package/dist/observability/health-check.d.ts.map +1 -1
- package/dist/observability/health-check.js +37 -7
- package/dist/optimization/code-splitting.d.ts +0 -13
- package/dist/optimization/code-splitting.d.ts.map +1 -1
- package/dist/optimization/code-splitting.js +0 -13
- package/dist/queries/queryBuilder.d.ts.map +1 -1
- package/dist/queries/queryBuilder.js +6 -3
- package/dist/security/auth.d.ts.map +1 -1
- package/dist/security/auth.js +8 -6
- package/dist/security/encryption.d.ts.map +1 -1
- package/dist/security/encryption.js +15 -4
- package/dist/security/gdpr.d.ts +1 -1
- package/dist/security/gdpr.d.ts.map +1 -1
- package/dist/security/gdpr.js +4 -9
- package/dist/types/generated.d.ts +0 -2
- package/dist/types/generated.d.ts.map +1 -1
- package/dist/types/generated.js +0 -1
- package/package.json +2 -11
package/dist/license.d.ts
CHANGED
|
@@ -7,10 +7,11 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { z } from 'zod';
|
|
9
9
|
/** Available license tiers */
|
|
10
|
-
export type LicenseTier = 'free' | 'pro' | 'enterprise';
|
|
10
|
+
export type LicenseTier = 'free' | 'pro' | 'max' | 'enterprise';
|
|
11
11
|
/** Decoded license payload schema */
|
|
12
12
|
declare const licensePayloadSchema: z.ZodObject<{
|
|
13
13
|
tier: z.ZodEnum<{
|
|
14
|
+
max: "max";
|
|
14
15
|
pro: "pro";
|
|
15
16
|
enterprise: "enterprise";
|
|
16
17
|
}>;
|
|
@@ -18,6 +19,7 @@ declare const licensePayloadSchema: z.ZodObject<{
|
|
|
18
19
|
domains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
19
20
|
maxSites: z.ZodOptional<z.ZodNumber>;
|
|
20
21
|
maxUsers: z.ZodOptional<z.ZodNumber>;
|
|
22
|
+
perpetual: z.ZodOptional<z.ZodBoolean>;
|
|
21
23
|
iat: z.ZodOptional<z.ZodNumber>;
|
|
22
24
|
exp: z.ZodOptional<z.ZodNumber>;
|
|
23
25
|
}, z.core.$strip>;
|
|
@@ -45,6 +47,7 @@ export declare function getCurrentTier(): LicenseTier;
|
|
|
45
47
|
export declare function getLicensePayload(): LicensePayload | null;
|
|
46
48
|
/**
|
|
47
49
|
* Checks whether the current license is at least the given tier.
|
|
50
|
+
* Also validates that the license has not expired (checks JWT exp claim).
|
|
48
51
|
*/
|
|
49
52
|
export declare function isLicensed(requiredTier: LicenseTier): boolean;
|
|
50
53
|
/**
|
|
@@ -55,16 +58,22 @@ export declare function getMaxSites(): number;
|
|
|
55
58
|
* Returns the maximum number of users/editors allowed by the current license.
|
|
56
59
|
*/
|
|
57
60
|
export declare function getMaxUsers(): number;
|
|
61
|
+
/**
|
|
62
|
+
* Returns the maximum agent tasks per billing cycle for the current license.
|
|
63
|
+
* Track B metering: free=1K, pro=10K, max=50K, enterprise=unlimited.
|
|
64
|
+
*/
|
|
65
|
+
export declare function getMaxAgentTasks(): number;
|
|
58
66
|
/**
|
|
59
67
|
* Generates a signed license key JWT.
|
|
60
68
|
* This is a server-only function — requires the private key.
|
|
61
69
|
*
|
|
62
|
-
* @param payload - License payload (tier, customerId, limits)
|
|
63
|
-
* @param privateKey - RS256
|
|
64
|
-
* @param expiresInSeconds - JWT expiration in seconds.
|
|
70
|
+
* @param payload - License payload (tier, customerId, limits, perpetual flag)
|
|
71
|
+
* @param privateKey - RS256 private key (PEM format)
|
|
72
|
+
* @param expiresInSeconds - JWT expiration in seconds. Pass null for perpetual
|
|
73
|
+
* licenses (no exp claim). Defaults to 1 year for subscription licenses.
|
|
65
74
|
* @returns Signed JWT string
|
|
66
75
|
*/
|
|
67
|
-
export declare function generateLicenseKey(payload: Omit<LicensePayload, 'iat' | 'exp'>, privateKey: string, expiresInSeconds?: number): Promise<string>;
|
|
76
|
+
export declare function generateLicenseKey(payload: Omit<LicensePayload, 'iat' | 'exp'>, privateKey: string, expiresInSeconds?: number | null): Promise<string>;
|
|
68
77
|
/**
|
|
69
78
|
* Reset license state. Primarily for testing.
|
|
70
79
|
*/
|
package/dist/license.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,8BAA8B;AAC9B,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,8BAA8B;AAC9B,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,YAAY,CAAA;AAE/D,qCAAqC;AACrC,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;iBAqBxB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AA+BjE;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAgBhC;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,CAuB9D;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,WAAW,GAAG,OAAO,CAoB7D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAKpC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAKpC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAKzC;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG,KAAK,CAAC,EAC5C,UAAU,EAAE,MAAM,EAClB,gBAAgB,GAAE,MAAM,GAAG,IAAyB,GACnD,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
|
package/dist/license.js
CHANGED
|
@@ -10,7 +10,7 @@ import { z } from 'zod';
|
|
|
10
10
|
/** Decoded license payload schema */
|
|
11
11
|
const licensePayloadSchema = z.object({
|
|
12
12
|
/** License tier */
|
|
13
|
-
tier: z.enum(['pro', 'enterprise']),
|
|
13
|
+
tier: z.enum(['pro', 'max', 'enterprise']),
|
|
14
14
|
/** Organization or customer ID */
|
|
15
15
|
customerId: z.string(),
|
|
16
16
|
/** Licensed domain(s) */
|
|
@@ -19,9 +19,15 @@ const licensePayloadSchema = z.object({
|
|
|
19
19
|
maxSites: z.number().int().positive().optional(),
|
|
20
20
|
/** Maximum number of users/editors allowed */
|
|
21
21
|
maxUsers: z.number().int().positive().optional(),
|
|
22
|
+
/**
|
|
23
|
+
* True for one-time perpetual purchases.
|
|
24
|
+
* When set, the exp claim is omitted from the JWT and isLicensed() skips
|
|
25
|
+
* expiry checks — the license is valid as long as it hasn't been revoked.
|
|
26
|
+
*/
|
|
27
|
+
perpetual: z.boolean().optional(),
|
|
22
28
|
/** License issued-at timestamp */
|
|
23
29
|
iat: z.number().optional(),
|
|
24
|
-
/** License expiration timestamp */
|
|
30
|
+
/** License expiration timestamp — absent for perpetual licenses */
|
|
25
31
|
exp: z.number().optional(),
|
|
26
32
|
});
|
|
27
33
|
let cachedState = {
|
|
@@ -103,13 +109,25 @@ export function getLicensePayload() {
|
|
|
103
109
|
}
|
|
104
110
|
/**
|
|
105
111
|
* Checks whether the current license is at least the given tier.
|
|
112
|
+
* Also validates that the license has not expired (checks JWT exp claim).
|
|
106
113
|
*/
|
|
107
114
|
export function isLicensed(requiredTier) {
|
|
108
115
|
const tierRank = {
|
|
109
116
|
free: 0,
|
|
110
117
|
pro: 1,
|
|
111
|
-
|
|
118
|
+
max: 2,
|
|
119
|
+
enterprise: 3,
|
|
112
120
|
};
|
|
121
|
+
// Free tier is always available
|
|
122
|
+
if (requiredTier === 'free')
|
|
123
|
+
return true;
|
|
124
|
+
// Perpetual licenses never expire — skip the exp check entirely
|
|
125
|
+
if (!cachedState.payload?.perpetual && cachedState.payload?.exp) {
|
|
126
|
+
const nowSeconds = Math.floor(Date.now() / 1000);
|
|
127
|
+
if (cachedState.payload.exp < nowSeconds) {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
113
131
|
return tierRank[cachedState.tier] >= tierRank[requiredTier];
|
|
114
132
|
}
|
|
115
133
|
/**
|
|
@@ -118,6 +136,8 @@ export function isLicensed(requiredTier) {
|
|
|
118
136
|
export function getMaxSites() {
|
|
119
137
|
if (cachedState.tier === 'enterprise')
|
|
120
138
|
return Infinity;
|
|
139
|
+
if (cachedState.tier === 'max')
|
|
140
|
+
return cachedState.payload?.maxSites ?? 15;
|
|
121
141
|
if (cachedState.tier === 'pro')
|
|
122
142
|
return cachedState.payload?.maxSites ?? 5;
|
|
123
143
|
return 1;
|
|
@@ -128,26 +148,42 @@ export function getMaxSites() {
|
|
|
128
148
|
export function getMaxUsers() {
|
|
129
149
|
if (cachedState.tier === 'enterprise')
|
|
130
150
|
return Infinity;
|
|
151
|
+
if (cachedState.tier === 'max')
|
|
152
|
+
return cachedState.payload?.maxUsers ?? 100;
|
|
131
153
|
if (cachedState.tier === 'pro')
|
|
132
154
|
return cachedState.payload?.maxUsers ?? 25;
|
|
133
155
|
return 3;
|
|
134
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Returns the maximum agent tasks per billing cycle for the current license.
|
|
159
|
+
* Track B metering: free=1K, pro=10K, max=50K, enterprise=unlimited.
|
|
160
|
+
*/
|
|
161
|
+
export function getMaxAgentTasks() {
|
|
162
|
+
if (cachedState.tier === 'enterprise')
|
|
163
|
+
return Infinity;
|
|
164
|
+
if (cachedState.tier === 'max')
|
|
165
|
+
return 50_000;
|
|
166
|
+
if (cachedState.tier === 'pro')
|
|
167
|
+
return 10_000;
|
|
168
|
+
return 1_000;
|
|
169
|
+
}
|
|
135
170
|
/**
|
|
136
171
|
* Generates a signed license key JWT.
|
|
137
172
|
* This is a server-only function — requires the private key.
|
|
138
173
|
*
|
|
139
|
-
* @param payload - License payload (tier, customerId, limits)
|
|
140
|
-
* @param privateKey - RS256
|
|
141
|
-
* @param expiresInSeconds - JWT expiration in seconds.
|
|
174
|
+
* @param payload - License payload (tier, customerId, limits, perpetual flag)
|
|
175
|
+
* @param privateKey - RS256 private key (PEM format)
|
|
176
|
+
* @param expiresInSeconds - JWT expiration in seconds. Pass null for perpetual
|
|
177
|
+
* licenses (no exp claim). Defaults to 1 year for subscription licenses.
|
|
142
178
|
* @returns Signed JWT string
|
|
143
179
|
*/
|
|
144
180
|
export async function generateLicenseKey(payload, privateKey, expiresInSeconds = 365 * 24 * 60 * 60) {
|
|
145
181
|
const key = await importPKCS8(privateKey, 'RS256');
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
.
|
|
149
|
-
|
|
150
|
-
|
|
182
|
+
const builder = new SignJWT({ ...payload }).setProtectedHeader({ alg: 'RS256' }).setIssuedAt();
|
|
183
|
+
if (expiresInSeconds !== null) {
|
|
184
|
+
builder.setExpirationTime(`${expiresInSeconds}s`);
|
|
185
|
+
}
|
|
186
|
+
return builder.sign(key);
|
|
151
187
|
}
|
|
152
188
|
/**
|
|
153
189
|
* Reset license state. Primarily for testing.
|
|
@@ -67,7 +67,7 @@ export declare function createMemoryHealthCheck(thresholdPercent?: number): Heal
|
|
|
67
67
|
/**
|
|
68
68
|
* Disk health check
|
|
69
69
|
*/
|
|
70
|
-
export declare function createDiskHealthCheck(
|
|
70
|
+
export declare function createDiskHealthCheck(thresholdPercent?: number): HealthCheck;
|
|
71
71
|
/**
|
|
72
72
|
* API endpoint health check
|
|
73
73
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health-check.d.ts","sourceRoot":"","sources":["../../src/observability/health-check.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"health-check.d.ts","sourceRoot":"","sources":["../../src/observability/health-check.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAAA;AAE/D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,SAAS,CAAqB;IAEtC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAIlC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAoD1C;;OAEG;YACW,cAAc;IAS5B;;OAEG;IACH,SAAS,IAAI,MAAM;CAGpB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,mBAA0B,CAAA;AAElD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CA4BnF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,WAAW,CAmCjF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,gBAAgB,GAAE,MAAW,GAAG,WAAW,CAwClF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,GAAE,MAAW,GAAG,WAAW,CA4ChF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,GAAE,MAAY,GAAG,WAAW,CAuC3F;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,EACzC,QAAQ,GAAE,OAAe,GACxB,WAAW,CAMb;AAED;;GAEG;AACH,wBAAgB,oBAAoB,UACjB,OAAO,CAAC,QAAQ,CAAC,CAanC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,UACpB,OAAO,CAAC,QAAQ,CAAC,CA2BnC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,UACzB,QAAQ,CAqBpB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,UAAU,GAAE,MAAc,EAC1B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAC9C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAsBzB"}
|
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides health and readiness checks for the application
|
|
5
5
|
*/
|
|
6
|
+
import { execFile } from 'node:child_process';
|
|
7
|
+
import { promisify } from 'node:util';
|
|
6
8
|
import { logger } from './logger.js';
|
|
9
|
+
const execFileAsync = promisify(execFile);
|
|
7
10
|
export class HealthCheckSystem {
|
|
8
11
|
checks = new Map();
|
|
9
12
|
startTime = Date.now();
|
|
@@ -200,18 +203,45 @@ export function createMemoryHealthCheck(thresholdPercent = 90) {
|
|
|
200
203
|
/**
|
|
201
204
|
* Disk health check
|
|
202
205
|
*/
|
|
203
|
-
export function createDiskHealthCheck(
|
|
206
|
+
export function createDiskHealthCheck(thresholdPercent = 90) {
|
|
204
207
|
return {
|
|
205
208
|
name: 'disk',
|
|
206
209
|
critical: false,
|
|
207
210
|
timeout: 2000,
|
|
208
211
|
check: async () => {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
212
|
+
try {
|
|
213
|
+
const { stdout } = await execFileAsync('df', ['-P', '/']);
|
|
214
|
+
// df -P output: "Filesystem 1024-blocks Used Available Capacity% Mounted"
|
|
215
|
+
const lines = stdout.trim().split('\n');
|
|
216
|
+
const dataLine = lines[1];
|
|
217
|
+
if (!dataLine)
|
|
218
|
+
throw new Error('Unexpected df output format');
|
|
219
|
+
const parts = dataLine.split(/\s+/);
|
|
220
|
+
const usedPercent = Number.parseInt(parts[4] ?? '0', 10);
|
|
221
|
+
const availableKb = Number.parseInt(parts[3] ?? '0', 10);
|
|
222
|
+
const availableMb = Math.round(availableKb / 1024);
|
|
223
|
+
const status = usedPercent >= thresholdPercent
|
|
224
|
+
? 'unhealthy'
|
|
225
|
+
: usedPercent >= thresholdPercent - 10
|
|
226
|
+
? 'degraded'
|
|
227
|
+
: 'healthy';
|
|
228
|
+
return {
|
|
229
|
+
status,
|
|
230
|
+
message: status === 'healthy'
|
|
231
|
+
? `Disk usage ${usedPercent}% (${availableMb} MB free)`
|
|
232
|
+
: `Disk usage ${usedPercent}% exceeds threshold ${thresholdPercent}% (${availableMb} MB free)`,
|
|
233
|
+
details: { usedPercent, availableMb, thresholdPercent },
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
catch (err) {
|
|
237
|
+
logger.warn('Disk health check failed', {
|
|
238
|
+
error: err instanceof Error ? err.message : String(err),
|
|
239
|
+
});
|
|
240
|
+
return {
|
|
241
|
+
status: 'degraded',
|
|
242
|
+
message: 'Disk check unavailable',
|
|
243
|
+
};
|
|
244
|
+
}
|
|
215
245
|
},
|
|
216
246
|
};
|
|
217
247
|
}
|
|
@@ -102,19 +102,6 @@ export declare function shouldConcatenateModule(modulePath: string): boolean;
|
|
|
102
102
|
* Tree shaking helper - mark side effects
|
|
103
103
|
*/
|
|
104
104
|
export declare function markPureCall(fn: Function): Function;
|
|
105
|
-
/**
|
|
106
|
-
* Analyze module dependencies
|
|
107
|
-
*/
|
|
108
|
-
export interface ModuleDependency {
|
|
109
|
-
name: string;
|
|
110
|
-
size: number;
|
|
111
|
-
children: ModuleDependency[];
|
|
112
|
-
}
|
|
113
|
-
export declare function analyzeModuleDependencies(_modulePath: string): ModuleDependency | null;
|
|
114
|
-
/**
|
|
115
|
-
* Critical CSS helper
|
|
116
|
-
*/
|
|
117
|
-
export declare function extractCriticalCSS(_html: string): string;
|
|
118
105
|
/**
|
|
119
106
|
* Inline critical scripts
|
|
120
107
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-splitting.d.ts","sourceRoot":"","sources":["../../src/optimization/code-splitting.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"code-splitting.d.ts","sourceRoot":"","sources":["../../src/optimization/code-splitting.ts"],"names":[],"mappings":"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"}
|
|
@@ -220,19 +220,6 @@ export function markPureCall(fn) {
|
|
|
220
220
|
// Actual tree shaking is done by bundler
|
|
221
221
|
return fn;
|
|
222
222
|
}
|
|
223
|
-
export function analyzeModuleDependencies(_modulePath) {
|
|
224
|
-
// This would need bundler integration
|
|
225
|
-
// Placeholder for now
|
|
226
|
-
return null;
|
|
227
|
-
}
|
|
228
|
-
/**
|
|
229
|
-
* Critical CSS helper
|
|
230
|
-
*/
|
|
231
|
-
export function extractCriticalCSS(_html) {
|
|
232
|
-
// This would need a CSS parser
|
|
233
|
-
// Placeholder for now
|
|
234
|
-
return '';
|
|
235
|
-
}
|
|
236
223
|
/**
|
|
237
224
|
* Inline critical scripts
|
|
238
225
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryBuilder.d.ts","sourceRoot":"","sources":["../../src/queries/queryBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEvE;;;;;GAKG;AAEH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,YAAY,CAAA;AAEtD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,EAC3D,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,GAAE,iBAAsB,GAC9B,MAAM,
|
|
1
|
+
{"version":3,"file":"queryBuilder.d.ts","sourceRoot":"","sources":["../../src/queries/queryBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEvE;;;;;GAKG;AAEH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,YAAY,CAAA;AAEtD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,EAC3D,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CAmNR;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,EAAE,CAoEjE"}
|
|
@@ -141,8 +141,10 @@ export function buildWhereClause(where, params, options = {}) {
|
|
|
141
141
|
// contains (LIKE with wildcards)
|
|
142
142
|
if ('contains' in condition && typeof condition.contains === 'string') {
|
|
143
143
|
const placeholder = getPlaceholder();
|
|
144
|
-
|
|
145
|
-
|
|
144
|
+
// Escape LIKE wildcards (% and _) in user input to prevent wildcard injection
|
|
145
|
+
const escaped = condition.contains.replace(/[%_\\]/g, '\\$&');
|
|
146
|
+
params.push(`%${escaped}%`);
|
|
147
|
+
conditions.push(`${quotedField} LIKE ${placeholder} ESCAPE '\\'`);
|
|
146
148
|
}
|
|
147
149
|
// greater_than
|
|
148
150
|
if ('greater_than' in condition && condition.greater_than !== undefined) {
|
|
@@ -209,7 +211,8 @@ export function extractWhereValues(where) {
|
|
|
209
211
|
break;
|
|
210
212
|
case 'contains':
|
|
211
213
|
if (typeof value === 'string') {
|
|
212
|
-
|
|
214
|
+
const escaped = value.replace(/[%_\\]/g, '\\$&');
|
|
215
|
+
values.push(`%${escaped}%`);
|
|
213
216
|
}
|
|
214
217
|
break;
|
|
215
218
|
case 'in':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/security/auth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/security/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/security/auth.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* JWT-based authentication with session management, token refresh, and OAuth support
|
|
5
5
|
*/
|
|
6
|
-
import { createHmac, randomBytes } from 'node:crypto';
|
|
6
|
+
import { createHmac, randomBytes, timingSafeEqual } from 'node:crypto';
|
|
7
7
|
import { jwtVerify, SignJWT } from 'jose';
|
|
8
8
|
const DEFAULT_CONFIG = {
|
|
9
9
|
jwtAlgorithm: 'HS256',
|
|
@@ -232,9 +232,9 @@ export class AuthSystem {
|
|
|
232
232
|
/**
|
|
233
233
|
* Generate cryptographically secure refresh token
|
|
234
234
|
*/
|
|
235
|
-
generateRefreshToken(
|
|
236
|
-
|
|
237
|
-
return
|
|
235
|
+
generateRefreshToken(_userId) {
|
|
236
|
+
// Opaque token — userId is stored in the refreshTokens map, not leaked in the token itself
|
|
237
|
+
return randomBytes(32).toString('hex');
|
|
238
238
|
}
|
|
239
239
|
/**
|
|
240
240
|
* Start session cleanup interval
|
|
@@ -287,9 +287,10 @@ export const OAuthProviders = {
|
|
|
287
287
|
export class OAuthClient {
|
|
288
288
|
config;
|
|
289
289
|
constructor(config) {
|
|
290
|
+
// Provider defaults fill in missing fields; user-provided config takes precedence
|
|
290
291
|
this.config = {
|
|
291
|
-
...config,
|
|
292
292
|
...OAuthProviders[config.provider],
|
|
293
|
+
...config,
|
|
293
294
|
};
|
|
294
295
|
}
|
|
295
296
|
/**
|
|
@@ -435,7 +436,8 @@ export class TwoFactorAuth {
|
|
|
435
436
|
for (let i = -window; i <= window; i++) {
|
|
436
437
|
const testTime = timestamp + i * 30000;
|
|
437
438
|
const testCode = TwoFactorAuth.generateCode(secret, testTime);
|
|
438
|
-
if (testCode === code
|
|
439
|
+
if (testCode.length === code.length &&
|
|
440
|
+
timingSafeEqual(Buffer.from(testCode), Buffer.from(code))) {
|
|
439
441
|
return true;
|
|
440
442
|
}
|
|
441
443
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../src/security/encryption.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;IAC5C,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB;AAQD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,IAAI,CAAoC;gBAEpC,MAAM,GAAE,OAAO,CAAC,gBAAgB,CAAM;IAIlD;;OAEG;IACG,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAsBrD;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAwBzE;;OAEG;IACG,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IASrD;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAyChF;;OAEG;IACG,OAAO,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCzF;;OAEG;IACG,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnD,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,SAAS,GAAG,MAAM,GAC1B,OAAO,CAAC,aAAa,CAAC;IAKzB;;OAEG;IACG,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnD,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,SAAS,GAAG,MAAM,GAC1B,OAAO,CAAC,CAAC,CAAC;IAKb;;OAEG;IACG,IAAI,CACR,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,SAAS,GAAG,SAAS,GAAG,SAAqB,GACvD,OAAO,CAAC,MAAM,CAAC;IAalB;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IASvC;;OAEG;IACH,YAAY,CACV,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,MAAyE,GACjF,MAAM;
|
|
1
|
+
{"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../src/security/encryption.ts"],"names":[],"mappings":"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"}
|
|
@@ -160,10 +160,21 @@ export class EncryptionSystem {
|
|
|
160
160
|
* Generate random string
|
|
161
161
|
*/
|
|
162
162
|
randomString(length, charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789') {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
163
|
+
// Rejection sampling to avoid modulo bias:
|
|
164
|
+
// Only accept bytes below the largest multiple of charset.length that fits in a byte.
|
|
165
|
+
const maxValid = 256 - (256 % charset.length);
|
|
166
|
+
const result = [];
|
|
167
|
+
while (result.length < length) {
|
|
168
|
+
const bytes = this.randomBytes(length - result.length + 16);
|
|
169
|
+
for (const byte of bytes) {
|
|
170
|
+
if (byte < maxValid) {
|
|
171
|
+
result.push(charset[byte % charset.length]);
|
|
172
|
+
if (result.length === length)
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return result.join('');
|
|
167
178
|
}
|
|
168
179
|
/**
|
|
169
180
|
* Convert ArrayBuffer to base64
|
package/dist/security/gdpr.d.ts
CHANGED
|
@@ -163,7 +163,7 @@ export declare class DataAnonymization {
|
|
|
163
163
|
*/
|
|
164
164
|
static pseudonymize(value: string, key: string): string;
|
|
165
165
|
/**
|
|
166
|
-
* Hash value (irreversible)
|
|
166
|
+
* Hash value (irreversible) using SHA-256
|
|
167
167
|
*/
|
|
168
168
|
static hashValue(value: string): string;
|
|
169
169
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gdpr.d.ts","sourceRoot":"","sources":["../../src/security/gdpr.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"gdpr.d.ts","sourceRoot":"","sources":["../../src/security/gdpr.ts"],"names":[],"mappings":"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"}
|
package/dist/security/gdpr.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Data privacy, consent management, data export, and right to be forgotten
|
|
5
5
|
*/
|
|
6
|
+
import { createHash } from 'node:crypto';
|
|
6
7
|
import { logger } from '../observability/logger.js';
|
|
7
8
|
/**
|
|
8
9
|
* Consent management system
|
|
@@ -253,17 +254,11 @@ export class DataAnonymization {
|
|
|
253
254
|
return `pseudo_${DataAnonymization.hashValue(value + key).substring(0, 16)}`;
|
|
254
255
|
}
|
|
255
256
|
/**
|
|
256
|
-
* Hash value (irreversible)
|
|
257
|
+
* Hash value (irreversible) using SHA-256
|
|
257
258
|
*/
|
|
258
259
|
static hashValue(value) {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
for (let i = 0; i < value.length; i++) {
|
|
262
|
-
const char = value.charCodeAt(i);
|
|
263
|
-
hash = (hash << 5) - hash + char;
|
|
264
|
-
hash = hash & hash;
|
|
265
|
-
}
|
|
266
|
-
return `hash_${Math.abs(hash).toString(36)}`;
|
|
260
|
+
const digest = createHash('sha256').update(value).digest('hex');
|
|
261
|
+
return `hash_${digest}`;
|
|
267
262
|
}
|
|
268
263
|
/**
|
|
269
264
|
* Anonymize dataset
|
|
@@ -6,9 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Types are generated from:
|
|
8
8
|
* - CMS config: apps/cms/revealui.config.ts
|
|
9
|
-
* - Supabase schema: packages/services/src/supabase/types.ts
|
|
10
9
|
*/
|
|
11
10
|
export type { Config as GeneratedConfig } from '../generated/types/cms.js';
|
|
12
|
-
export type { Database } from '../generated/types/supabase.js';
|
|
13
11
|
export type GeneratedTypes = import('../generated/types/cms.js').Config;
|
|
14
12
|
//# sourceMappingURL=generated.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../../src/types/generated.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../../src/types/generated.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAG1E,MAAM,MAAM,cAAc,GAAG,OAAO,2BAA2B,EAAE,MAAM,CAAA"}
|
package/dist/types/generated.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@revealui/core",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -21,14 +21,13 @@
|
|
|
21
21
|
"@vercel/blob": "^2.2.0",
|
|
22
22
|
"bcryptjs": "^3.0.3",
|
|
23
23
|
"dataloader": "^2.2.3",
|
|
24
|
-
"deepmerge": "^4.3.1",
|
|
25
24
|
"jose": "^6.1.3",
|
|
26
25
|
"lexical": "^0.40.0",
|
|
27
26
|
"pg": "^8.18.0",
|
|
28
27
|
"sharp": "^0.34.5",
|
|
29
28
|
"yjs": "^13.6.29",
|
|
30
29
|
"zod": "^4.3.5",
|
|
31
|
-
"@revealui/contracts": "1.
|
|
30
|
+
"@revealui/contracts": "1.1.0",
|
|
32
31
|
"@revealui/utils": "0.2.0"
|
|
33
32
|
},
|
|
34
33
|
"devDependencies": {
|
|
@@ -95,10 +94,6 @@
|
|
|
95
94
|
"types": "./dist/generated/types/cms.d.ts",
|
|
96
95
|
"import": "./dist/generated/types/cms.js"
|
|
97
96
|
},
|
|
98
|
-
"./generated/types/supabase": {
|
|
99
|
-
"types": "./dist/generated/types/supabase.d.ts",
|
|
100
|
-
"import": "./dist/generated/types/supabase.js"
|
|
101
|
-
},
|
|
102
97
|
"./generated/types/neon": {
|
|
103
98
|
"types": "./dist/generated/types/neon.d.ts",
|
|
104
99
|
"import": "./dist/generated/types/neon.js"
|
|
@@ -171,10 +166,6 @@
|
|
|
171
166
|
"types": "./dist/api/rest.d.ts",
|
|
172
167
|
"import": "./dist/api/rest.js"
|
|
173
168
|
},
|
|
174
|
-
"./http": {
|
|
175
|
-
"types": "./dist/client/http/index.d.ts",
|
|
176
|
-
"import": "./dist/client/http/index.js"
|
|
177
|
-
},
|
|
178
169
|
"./client": {
|
|
179
170
|
"types": "./dist/client/index.d.ts",
|
|
180
171
|
"import": "./dist/client/index.js"
|