@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.
Files changed (68) hide show
  1. package/README.md +1 -1
  2. package/dist/api/compression.d.ts +3 -4
  3. package/dist/api/compression.d.ts.map +1 -1
  4. package/dist/api/compression.js +1 -2
  5. package/dist/api/rate-limit.d.ts +10 -11
  6. package/dist/api/rate-limit.d.ts.map +1 -1
  7. package/dist/api/rate-limit.js +9 -16
  8. package/dist/api/response-cache.d.ts +8 -9
  9. package/dist/api/response-cache.d.ts.map +1 -1
  10. package/dist/api/response-cache.js +2 -3
  11. package/dist/client/admin/layout.d.ts.map +1 -1
  12. package/dist/client/admin/layout.js +1 -3
  13. package/dist/client/admin/utils/apiClient.d.ts.map +1 -1
  14. package/dist/client/admin/utils/apiClient.js +16 -1
  15. package/dist/client/richtext/index.d.ts.map +1 -1
  16. package/dist/client/richtext/index.js +0 -1
  17. package/dist/collections/operations/create.d.ts.map +1 -1
  18. package/dist/collections/operations/create.js +23 -5
  19. package/dist/database/universal-postgres.d.ts +14 -0
  20. package/dist/database/universal-postgres.d.ts.map +1 -1
  21. package/dist/database/universal-postgres.js +97 -0
  22. package/dist/fieldTraversal.d.ts +1 -1
  23. package/dist/fieldTraversal.d.ts.map +1 -1
  24. package/dist/generated/types/admin.d.ts +2 -2
  25. package/dist/generated/types/admin.d.ts.map +1 -1
  26. package/dist/index.d.ts +2 -2
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +6 -2
  29. package/dist/instance/methods/create.d.ts.map +1 -1
  30. package/dist/instance/methods/create.js +3 -2
  31. package/dist/license-encryption.d.ts +11 -2
  32. package/dist/license-encryption.d.ts.map +1 -1
  33. package/dist/license-encryption.js +77 -22
  34. package/dist/license.d.ts +106 -8
  35. package/dist/license.d.ts.map +1 -1
  36. package/dist/license.js +243 -35
  37. package/dist/nextjs/index.d.ts +0 -1
  38. package/dist/nextjs/index.d.ts.map +1 -1
  39. package/dist/nextjs/index.js +7 -2
  40. package/dist/nextjs/withRevealUI.d.ts +29 -1
  41. package/dist/nextjs/withRevealUI.d.ts.map +1 -1
  42. package/dist/observability/logger.d.ts +0 -4
  43. package/dist/observability/logger.d.ts.map +1 -1
  44. package/dist/observability/logger.js +2 -29
  45. package/dist/observability/metrics.d.ts +25 -0
  46. package/dist/observability/metrics.d.ts.map +1 -1
  47. package/dist/observability/metrics.js +26 -0
  48. package/dist/revealui.d.ts +0 -5
  49. package/dist/revealui.d.ts.map +1 -1
  50. package/dist/revealui.js +0 -10
  51. package/dist/revforge-license.d.ts +60 -0
  52. package/dist/revforge-license.d.ts.map +1 -0
  53. package/dist/revforge-license.js +74 -0
  54. package/dist/richtext/exports/server/rsc.d.ts +2 -17
  55. package/dist/richtext/exports/server/rsc.d.ts.map +1 -1
  56. package/dist/richtext/exports/server/rsc.js +9 -54
  57. package/dist/types/index.d.ts +1 -1
  58. package/dist/types/index.d.ts.map +1 -1
  59. package/dist/types/{legacy.d.ts → internal.d.ts} +1 -1
  60. package/dist/types/internal.d.ts.map +1 -0
  61. package/dist/types/runtime.d.ts +12 -0
  62. package/dist/types/runtime.d.ts.map +1 -1
  63. package/dist/utils/api-wrapper.d.ts +4 -6
  64. package/dist/utils/api-wrapper.d.ts.map +1 -1
  65. package/dist/utils/api-wrapper.js +8 -10
  66. package/package.json +71 -24
  67. package/dist/types/legacy.d.ts.map +0 -1
  68. /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 { NextResponse } from 'next/server';
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
- * import { NextResponse } from 'next/server'
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 NextResponse.json(users)
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.nextUrl.pathname,
44
+ path: new URL(request.url).pathname,
45
45
  method: request.method,
46
- ip: request.headers.get('x-forwarded-for') || request.headers.get('x-real-ip') || undefined,
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
- if (response instanceof NextResponse) {
68
- response.headers.set('x-request-id', context.requestId);
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 = NextResponse.json({
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.5.6",
4
- "description": "Runtime engine, REST API, auth, rich text, admin UI, and plugins for RevealUI",
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.3",
8
- "@lexical/clipboard": "^0.42.0",
9
- "@lexical/code": "^0.42.0",
10
- "@lexical/html": "^0.42.0",
11
- "@lexical/link": "^0.42.0",
12
- "@lexical/list": "^0.42.0",
13
- "@lexical/react": "^0.42.0",
14
- "@lexical/rich-text": "^0.42.0",
15
- "@lexical/selection": "^0.42.0",
16
- "@lexical/table": "^0.42.0",
17
- "@lexical/utils": "^0.42.0",
18
- "@lexical/yjs": "^0.42.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.2",
23
- "lexical": "^0.42.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.6",
27
- "@revealui/cache": "0.1.4",
28
- "@revealui/contracts": "1.3.7",
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.2.7",
31
- "@revealui/utils": "0.3.4"
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.3",
38
+ "@vitest/coverage-v8": "^4.1.5",
39
39
  "expect-type": "^1.3.0",
40
40
  "tsup": "^8.5.1",
41
- "vitest": "^4.1.3",
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