@revealui/core 0.5.6 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/api/compression.d.ts +3 -4
- package/dist/api/compression.d.ts.map +1 -1
- package/dist/api/compression.js +1 -2
- package/dist/api/rate-limit.d.ts +10 -11
- package/dist/api/rate-limit.d.ts.map +1 -1
- package/dist/api/rate-limit.js +9 -16
- package/dist/api/response-cache.d.ts +8 -9
- package/dist/api/response-cache.d.ts.map +1 -1
- package/dist/api/response-cache.js +2 -3
- package/dist/client/admin/layout.d.ts.map +1 -1
- package/dist/client/admin/layout.js +1 -3
- package/dist/client/admin/utils/apiClient.d.ts.map +1 -1
- package/dist/client/admin/utils/apiClient.js +16 -1
- package/dist/client/richtext/index.d.ts.map +1 -1
- package/dist/client/richtext/index.js +0 -1
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +23 -5
- package/dist/database/universal-postgres.d.ts +14 -0
- package/dist/database/universal-postgres.d.ts.map +1 -1
- package/dist/database/universal-postgres.js +97 -0
- package/dist/fieldTraversal.d.ts +1 -1
- package/dist/fieldTraversal.d.ts.map +1 -1
- package/dist/generated/types/admin.d.ts +2 -2
- package/dist/generated/types/admin.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/instance/methods/create.d.ts.map +1 -1
- package/dist/instance/methods/create.js +3 -2
- package/dist/license-encryption.d.ts +11 -2
- package/dist/license-encryption.d.ts.map +1 -1
- package/dist/license-encryption.js +77 -22
- package/dist/license.d.ts +106 -8
- package/dist/license.d.ts.map +1 -1
- package/dist/license.js +243 -35
- package/dist/nextjs/index.d.ts +0 -1
- package/dist/nextjs/index.d.ts.map +1 -1
- package/dist/nextjs/index.js +7 -2
- package/dist/nextjs/withRevealUI.d.ts +29 -1
- package/dist/nextjs/withRevealUI.d.ts.map +1 -1
- package/dist/observability/logger.d.ts +0 -4
- package/dist/observability/logger.d.ts.map +1 -1
- package/dist/observability/logger.js +2 -29
- package/dist/observability/metrics.d.ts +25 -0
- package/dist/observability/metrics.d.ts.map +1 -1
- package/dist/observability/metrics.js +26 -0
- package/dist/revealui.d.ts +0 -5
- package/dist/revealui.d.ts.map +1 -1
- package/dist/revealui.js +0 -10
- package/dist/revforge-license.d.ts +60 -0
- package/dist/revforge-license.d.ts.map +1 -0
- package/dist/revforge-license.js +74 -0
- package/dist/richtext/exports/server/rsc.d.ts +2 -17
- package/dist/richtext/exports/server/rsc.d.ts.map +1 -1
- package/dist/richtext/exports/server/rsc.js +9 -54
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/{legacy.d.ts → internal.d.ts} +1 -1
- package/dist/types/internal.d.ts.map +1 -0
- package/dist/types/runtime.d.ts +12 -0
- package/dist/types/runtime.d.ts.map +1 -1
- package/dist/utils/api-wrapper.d.ts +4 -6
- package/dist/utils/api-wrapper.d.ts.map +1 -1
- package/dist/utils/api-wrapper.js +8 -10
- package/package.json +71 -24
- package/dist/types/legacy.d.ts.map +0 -1
- /package/dist/types/{legacy.js → internal.js} +0 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Wraps Next.js API routes to automatically set up request context,
|
|
5
5
|
* error handling, and logging.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import { getClientIp } from '@revealui/security';
|
|
8
8
|
import { handleApiError } from './errors.js';
|
|
9
9
|
import { logger } from './logger.js';
|
|
10
10
|
import { createRequestContext, getRequestDuration, runInRequestContext, } from './request-context.js';
|
|
@@ -25,14 +25,14 @@ import { createRequestContext, getRequestDuration, runInRequestContext, } from '
|
|
|
25
25
|
* ```typescript
|
|
26
26
|
* // app/api/users/route.ts
|
|
27
27
|
* import { withRequestContext } from '@revealui/core/utils/api-wrapper'
|
|
28
|
-
*
|
|
28
|
+
* // Uses standard Web API Request/Response
|
|
29
29
|
*
|
|
30
30
|
* export const GET = withRequestContext(async (request) => {
|
|
31
31
|
* // Request ID automatically available in logs
|
|
32
32
|
* logger.info('Fetching users') // Includes requestId automatically
|
|
33
33
|
*
|
|
34
34
|
* const users = await db.query.users.findMany()
|
|
35
|
-
* return
|
|
35
|
+
* return Response.json(users)
|
|
36
36
|
* })
|
|
37
37
|
* ```
|
|
38
38
|
*/
|
|
@@ -41,9 +41,9 @@ export function withRequestContext(handler) {
|
|
|
41
41
|
// Create request context from headers
|
|
42
42
|
const context = createRequestContext({
|
|
43
43
|
headers: Object.fromEntries(request.headers.entries()),
|
|
44
|
-
path: request.
|
|
44
|
+
path: new URL(request.url).pathname,
|
|
45
45
|
method: request.method,
|
|
46
|
-
ip:
|
|
46
|
+
ip: getClientIp(request),
|
|
47
47
|
});
|
|
48
48
|
// Log incoming request
|
|
49
49
|
logger.info('Incoming request', {
|
|
@@ -64,10 +64,8 @@ export function withRequestContext(handler) {
|
|
|
64
64
|
duration,
|
|
65
65
|
});
|
|
66
66
|
// Add request ID to response headers
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
response.headers.set('x-request-duration', duration?.toString() || '0');
|
|
70
|
-
}
|
|
67
|
+
response.headers.set('x-request-id', context.requestId);
|
|
68
|
+
response.headers.set('x-request-duration', duration?.toString() || '0');
|
|
71
69
|
return response;
|
|
72
70
|
}
|
|
73
71
|
catch (error) {
|
|
@@ -84,7 +82,7 @@ export function withRequestContext(handler) {
|
|
|
84
82
|
method: context.method,
|
|
85
83
|
path: context.path,
|
|
86
84
|
});
|
|
87
|
-
const errorResponse =
|
|
85
|
+
const errorResponse = Response.json({
|
|
88
86
|
error: {
|
|
89
87
|
message: apiError.message,
|
|
90
88
|
code: apiError.code,
|
package/package.json
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@revealui/core",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.7.0",
|
|
4
|
+
"description": "RevealUI's runtime engine — admin UI, REST API, auth, rich text, plugin system, and access control. The heart of the open-source platform.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@electric-sql/pglite": "^0.4.
|
|
8
|
-
"@lexical/clipboard": "^0.
|
|
9
|
-
"@lexical/code": "^0.
|
|
10
|
-
"@lexical/html": "^0.
|
|
11
|
-
"@lexical/link": "^0.
|
|
12
|
-
"@lexical/list": "^0.
|
|
13
|
-
"@lexical/react": "^0.
|
|
14
|
-
"@lexical/rich-text": "^0.
|
|
15
|
-
"@lexical/selection": "^0.
|
|
16
|
-
"@lexical/table": "^0.
|
|
17
|
-
"@lexical/utils": "^0.
|
|
18
|
-
"@lexical/yjs": "^0.
|
|
7
|
+
"@electric-sql/pglite": "^0.4.4",
|
|
8
|
+
"@lexical/clipboard": "^0.44.0",
|
|
9
|
+
"@lexical/code": "^0.44.0",
|
|
10
|
+
"@lexical/html": "^0.44.0",
|
|
11
|
+
"@lexical/link": "^0.44.0",
|
|
12
|
+
"@lexical/list": "^0.44.0",
|
|
13
|
+
"@lexical/react": "^0.44.0",
|
|
14
|
+
"@lexical/rich-text": "^0.44.0",
|
|
15
|
+
"@lexical/selection": "^0.44.0",
|
|
16
|
+
"@lexical/table": "^0.44.0",
|
|
17
|
+
"@lexical/utils": "^0.44.0",
|
|
18
|
+
"@lexical/yjs": "^0.44.0",
|
|
19
19
|
"@vercel/blob": "^2.3.3",
|
|
20
20
|
"bcryptjs": "^3.0.3",
|
|
21
21
|
"dataloader": "^2.2.3",
|
|
22
|
-
"jose": "^6.2.
|
|
23
|
-
"lexical": "^0.
|
|
22
|
+
"jose": "^6.2.3",
|
|
23
|
+
"lexical": "^0.44.0",
|
|
24
24
|
"pg": "^8.20.0",
|
|
25
25
|
"yjs": "^13.6.30",
|
|
26
|
-
"zod": "^4.3
|
|
27
|
-
"@revealui/cache": "0.1.
|
|
28
|
-
"@revealui/contracts": "
|
|
26
|
+
"zod": "^4.4.3",
|
|
27
|
+
"@revealui/cache": "0.1.5",
|
|
28
|
+
"@revealui/contracts": "0.5.0",
|
|
29
29
|
"@revealui/resilience": "0.2.4",
|
|
30
|
-
"@revealui/security": "0.
|
|
31
|
-
"@revealui/utils": "0.3.
|
|
30
|
+
"@revealui/security": "0.3.1",
|
|
31
|
+
"@revealui/utils": "0.3.5"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@types/json-schema": "^7.0.15",
|
|
35
35
|
"@types/pg": "^8.20.0",
|
|
36
36
|
"@types/react": "^19.2.14",
|
|
37
37
|
"@types/react-dom": "^19.2.3",
|
|
38
|
-
"@vitest/coverage-v8": "^4.1.
|
|
38
|
+
"@vitest/coverage-v8": "^4.1.5",
|
|
39
39
|
"expect-type": "^1.3.0",
|
|
40
40
|
"tsup": "^8.5.1",
|
|
41
|
-
"vitest": "^4.1.
|
|
41
|
+
"vitest": "^4.1.5",
|
|
42
42
|
"@revealui/dev": "0.1.0"
|
|
43
43
|
},
|
|
44
44
|
"engines": {
|
|
@@ -53,6 +53,10 @@
|
|
|
53
53
|
"types": "./dist/license.d.ts",
|
|
54
54
|
"import": "./dist/license.js"
|
|
55
55
|
},
|
|
56
|
+
"./revforge-license": {
|
|
57
|
+
"types": "./dist/revforge-license.d.ts",
|
|
58
|
+
"import": "./dist/revforge-license.js"
|
|
59
|
+
},
|
|
56
60
|
"./features": {
|
|
57
61
|
"types": "./dist/features.d.ts",
|
|
58
62
|
"import": "./dist/features.js"
|
|
@@ -113,6 +117,10 @@
|
|
|
113
117
|
"types": "./dist/database/ssl-config.d.ts",
|
|
114
118
|
"import": "./dist/database/ssl-config.js"
|
|
115
119
|
},
|
|
120
|
+
"./database/type-adapter": {
|
|
121
|
+
"types": "./dist/database/type-adapter.d.ts",
|
|
122
|
+
"import": "./dist/database/type-adapter.js"
|
|
123
|
+
},
|
|
116
124
|
"./storage": {
|
|
117
125
|
"types": "./dist/storage/index.d.ts",
|
|
118
126
|
"import": "./dist/storage/index.js"
|
|
@@ -169,10 +177,38 @@
|
|
|
169
177
|
"types": "./dist/api/rest.d.ts",
|
|
170
178
|
"import": "./dist/api/rest.js"
|
|
171
179
|
},
|
|
180
|
+
"./api/compression": {
|
|
181
|
+
"types": "./dist/api/compression.d.ts",
|
|
182
|
+
"import": "./dist/api/compression.js"
|
|
183
|
+
},
|
|
184
|
+
"./api/payload-optimization": {
|
|
185
|
+
"types": "./dist/api/payload-optimization.d.ts",
|
|
186
|
+
"import": "./dist/api/payload-optimization.js"
|
|
187
|
+
},
|
|
188
|
+
"./api/rate-limit": {
|
|
189
|
+
"types": "./dist/api/rate-limit.d.ts",
|
|
190
|
+
"import": "./dist/api/rate-limit.js"
|
|
191
|
+
},
|
|
192
|
+
"./api/response-cache": {
|
|
193
|
+
"types": "./dist/api/response-cache.d.ts",
|
|
194
|
+
"import": "./dist/api/response-cache.js"
|
|
195
|
+
},
|
|
172
196
|
"./client": {
|
|
173
197
|
"types": "./dist/client/index.d.ts",
|
|
174
198
|
"import": "./dist/client/index.js"
|
|
175
199
|
},
|
|
200
|
+
"./client/ui": {
|
|
201
|
+
"types": "./dist/client/ui/index.d.ts",
|
|
202
|
+
"import": "./dist/client/ui/index.js"
|
|
203
|
+
},
|
|
204
|
+
"./client/admin": {
|
|
205
|
+
"types": "./dist/client/admin/index.d.ts",
|
|
206
|
+
"import": "./dist/client/admin/index.js"
|
|
207
|
+
},
|
|
208
|
+
"./client/richtext": {
|
|
209
|
+
"types": "./dist/client/richtext/index.d.ts",
|
|
210
|
+
"import": "./dist/client/richtext/index.js"
|
|
211
|
+
},
|
|
176
212
|
"./types/interfaces/app": {
|
|
177
213
|
"types": "./dist/types/interfaces/app.d.ts",
|
|
178
214
|
"import": "./dist/types/interfaces/app.js"
|
|
@@ -213,6 +249,10 @@
|
|
|
213
249
|
"types": "./dist/observability/logger.d.ts",
|
|
214
250
|
"import": "./dist/observability/logger.js"
|
|
215
251
|
},
|
|
252
|
+
"./observability/metrics": {
|
|
253
|
+
"types": "./dist/observability/metrics.d.ts",
|
|
254
|
+
"import": "./dist/observability/metrics.js"
|
|
255
|
+
},
|
|
216
256
|
"./observability/alerts": {
|
|
217
257
|
"types": "./dist/observability/alerts.d.ts",
|
|
218
258
|
"import": "./dist/observability/alerts.js"
|
|
@@ -241,6 +281,10 @@
|
|
|
241
281
|
"types": "./dist/monitoring/process-registry.d.ts",
|
|
242
282
|
"import": "./dist/monitoring/process-registry.js"
|
|
243
283
|
},
|
|
284
|
+
"./monitoring/query-monitor": {
|
|
285
|
+
"types": "./dist/monitoring/query-monitor.d.ts",
|
|
286
|
+
"import": "./dist/monitoring/query-monitor.js"
|
|
287
|
+
},
|
|
244
288
|
"./utils/error-responses": {
|
|
245
289
|
"types": "./dist/utils/error-responses.d.ts",
|
|
246
290
|
"import": "./dist/utils/error-responses.js"
|
|
@@ -261,6 +305,10 @@
|
|
|
261
305
|
"types": "./dist/caching/index.d.ts",
|
|
262
306
|
"import": "./dist/caching/index.js"
|
|
263
307
|
},
|
|
308
|
+
"./cache/query-cache": {
|
|
309
|
+
"types": "./dist/cache/query-cache.d.ts",
|
|
310
|
+
"import": "./dist/cache/query-cache.js"
|
|
311
|
+
},
|
|
264
312
|
"./optimization/code-splitting": {
|
|
265
313
|
"types": "./dist/optimization/code-splitting.d.ts",
|
|
266
314
|
"import": "./dist/optimization/code-splitting.js"
|
|
@@ -279,7 +327,6 @@
|
|
|
279
327
|
],
|
|
280
328
|
"main": "./dist/index.js",
|
|
281
329
|
"peerDependencies": {
|
|
282
|
-
"next": "^14.0.0 || ^15.0.0 || ^16.0.0",
|
|
283
330
|
"react": "^18.0.0 || ^19.0.0",
|
|
284
331
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
285
332
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../src/types/legacy.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|