@revealui/core 0.11.1 → 0.12.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.
Files changed (69) hide show
  1. package/README.md +2 -3
  2. package/dist/api/rest.js +4 -4
  3. package/dist/client/admin/utils/csrf.d.ts +9 -6
  4. package/dist/client/admin/utils/csrf.d.ts.map +1 -1
  5. package/dist/client/admin/utils/csrf.js +9 -6
  6. package/dist/collections/operations/fieldValidation.d.ts +5 -16
  7. package/dist/collections/operations/fieldValidation.d.ts.map +1 -1
  8. package/dist/collections/operations/fieldValidation.js +5 -20
  9. package/dist/collections/operations/update.d.ts.map +1 -1
  10. package/dist/collections/operations/update.js +4 -2
  11. package/dist/database/safe-parse.js +3 -3
  12. package/dist/database/universal-postgres.d.ts.map +1 -1
  13. package/dist/database/universal-postgres.js +10 -13
  14. package/dist/deployment-mode.d.ts +44 -0
  15. package/dist/deployment-mode.d.ts.map +1 -0
  16. package/dist/deployment-mode.js +58 -0
  17. package/dist/error-handling/error-boundary.d.ts +16 -2
  18. package/dist/error-handling/error-boundary.d.ts.map +1 -1
  19. package/dist/error-handling/error-boundary.js +18 -3
  20. package/dist/error-handling/error-reporter.d.ts +1 -1
  21. package/dist/error-handling/error-reporter.d.ts.map +1 -1
  22. package/dist/error-handling/error-reporter.js +6 -2
  23. package/dist/error-handling/index.d.ts +1 -1
  24. package/dist/error-handling/index.d.ts.map +1 -1
  25. package/dist/error-handling/index.js +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +4 -2
  28. package/dist/instance/logger.d.ts +18 -7
  29. package/dist/instance/logger.d.ts.map +1 -1
  30. package/dist/instance/logger.js +66 -17
  31. package/dist/license/mint-client.d.ts +72 -0
  32. package/dist/license/mint-client.d.ts.map +1 -0
  33. package/dist/license/mint-client.js +175 -0
  34. package/dist/license.d.ts +109 -0
  35. package/dist/license.d.ts.map +1 -1
  36. package/dist/license.js +153 -6
  37. package/dist/observability/index.d.ts +5 -2
  38. package/dist/observability/index.d.ts.map +1 -1
  39. package/dist/observability/index.js +5 -2
  40. package/dist/observability/logger.d.ts +5 -3
  41. package/dist/observability/logger.d.ts.map +1 -1
  42. package/dist/observability/logger.js +5 -3
  43. package/dist/relationships/analyzer.js +2 -2
  44. package/dist/revforge-license.d.ts +9 -0
  45. package/dist/revforge-license.d.ts.map +1 -1
  46. package/dist/revforge-license.js +12 -2
  47. package/dist/storage/object-storage.d.ts.map +1 -1
  48. package/dist/storage/object-storage.js +3 -3
  49. package/dist/utils/errors.d.ts +16 -4
  50. package/dist/utils/errors.d.ts.map +1 -1
  51. package/dist/utils/errors.js +14 -2
  52. package/dist/utils/json-parsing.d.ts.map +1 -1
  53. package/dist/utils/json-parsing.js +4 -2
  54. package/dist/utils/logger-client.d.ts +6 -27
  55. package/dist/utils/logger-client.d.ts.map +1 -1
  56. package/dist/utils/logger-client.js +5 -51
  57. package/dist/utils/logger-server.d.ts +16 -20
  58. package/dist/utils/logger-server.d.ts.map +1 -1
  59. package/dist/utils/logger-server.js +40 -53
  60. package/dist/utils/logger.d.ts +7 -9
  61. package/dist/utils/logger.d.ts.map +1 -1
  62. package/dist/utils/logger.js +6 -8
  63. package/package.json +154 -76
  64. package/dist/caching/index.d.ts +0 -6
  65. package/dist/caching/index.d.ts.map +0 -1
  66. package/dist/caching/index.js +0 -5
  67. package/dist/observability/tracing.d.ts +0 -149
  68. package/dist/observability/tracing.d.ts.map +0 -1
  69. package/dist/observability/tracing.js +0 -380
@@ -1,32 +1,28 @@
1
1
  /**
2
- * Server Logger Utility
2
+ * Server logger with request-id enrichment (ADR-008 D3/D4)
3
3
  *
4
- * Server-side logging utility for RevealUI framework.
5
- * Supports different log levels and structured output.
6
- * Automatically includes request ID from request context when available.
4
+ * Thin facade over `@revealui/utils/logger` that injects `requestId` from
5
+ * AsyncLocalStorage (`request-context`) on every log call. Not a second
6
+ * logger implementation.
7
7
  *
8
- * WARNING: This module uses Node.js APIs (async_hooks via request-context).
9
- * For client-safe logging, use './logger-client.js' instead.
8
+ * WARNING: Uses Node.js APIs (async_hooks via request-context). Do not import
9
+ * from browser / RSC client graphs. Client code: `@revealui/core/utils/logger`
10
+ * or `@revealui/core/observability/logger`.
11
+ *
12
+ * Package export: `@revealui/core/utils/logger/server`
13
+ * Also re-exported from `@revealui/core/server`.
10
14
  */
11
- export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
12
- export interface LogContext {
13
- [key: string]: unknown;
14
- }
15
- export interface Logger {
16
- debug(message: string, context?: LogContext): void;
17
- info(message: string, context?: LogContext): void;
18
- warn(message: string, context?: LogContext): void;
19
- error(message: string, context?: LogContext): void;
20
- }
15
+ import { type LogContext, type LogLevel, type Logger as UtilsLogger } from '@revealui/utils/logger';
16
+ export type { LogContext, LogLevel };
17
+ export type Logger = Pick<UtilsLogger, 'debug' | 'info' | 'warn' | 'error'>;
21
18
  /**
22
- * Create a logger instance
19
+ * Create a server logger that enriches context with the active request ID.
23
20
  *
24
- * @param minLevel - Minimum log level to output (default: 'info')
25
- * @returns Logger instance
21
+ * @param minLevel - Optional minimum level (maps to utils `level` config)
26
22
  */
27
23
  export declare function createLogger(minLevel?: LogLevel): Logger;
28
24
  /**
29
- * Default logger instance
25
+ * Default server logger (request-id enriching).
30
26
  */
31
27
  export declare const logger: Logger;
32
28
  //# sourceMappingURL=logger-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger-server.d.ts","sourceRoot":"","sources":["../../src/utils/logger-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACnD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAClD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAClD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CACpD;AAsDD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAKxD;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,QAAiB,CAAC"}
1
+ {"version":3,"file":"logger-server.d.ts","sourceRoot":"","sources":["../../src/utils/logger-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,MAAM,IAAI,WAAW,EAE3B,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AACrC,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AA2B5E;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAMxD;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,MAA8D,CAAC"}
@@ -1,68 +1,55 @@
1
1
  /**
2
- * Server Logger Utility
2
+ * Server logger with request-id enrichment (ADR-008 D3/D4)
3
3
  *
4
- * Server-side logging utility for RevealUI framework.
5
- * Supports different log levels and structured output.
6
- * Automatically includes request ID from request context when available.
4
+ * Thin facade over `@revealui/utils/logger` that injects `requestId` from
5
+ * AsyncLocalStorage (`request-context`) on every log call. Not a second
6
+ * logger implementation.
7
7
  *
8
- * WARNING: This module uses Node.js APIs (async_hooks via request-context).
9
- * For client-safe logging, use './logger-client.js' instead.
8
+ * WARNING: Uses Node.js APIs (async_hooks via request-context). Do not import
9
+ * from browser / RSC client graphs. Client code: `@revealui/core/utils/logger`
10
+ * or `@revealui/core/observability/logger`.
11
+ *
12
+ * Package export: `@revealui/core/utils/logger/server`
13
+ * Also re-exported from `@revealui/core/server`.
10
14
  */
15
+ import { createLogger as createUtilsLogger, Logger as UtilsLoggerClass, } from '@revealui/utils/logger';
11
16
  import { getRequestId } from './request-context.js';
12
- class ConsoleLogger {
13
- minLevel;
14
- constructor(minLevel = 'info') {
15
- this.minLevel = minLevel;
16
- }
17
- shouldLog(level) {
18
- const levels = ['debug', 'info', 'warn', 'error'];
19
- return levels.indexOf(level) >= levels.indexOf(this.minLevel);
20
- }
21
- formatMessage(level, message, context) {
22
- const timestamp = new Date().toISOString();
23
- const prefix = `[${timestamp}] [${level.toUpperCase()}]`;
24
- // Automatically include request ID if available
25
- const requestId = getRequestId();
26
- const enrichedContext = requestId ? { requestId, ...context } : context;
27
- if (enrichedContext && Object.keys(enrichedContext).length > 0) {
28
- return `${prefix} ${message} ${JSON.stringify(enrichedContext)}`;
29
- }
30
- return `${prefix} ${message}`;
31
- }
32
- debug(message, context) {
33
- if (process.env.NODE_ENV !== 'production') {
34
- console.debug(this.formatMessage('debug', message, context));
35
- }
36
- }
37
- info(message, context) {
38
- if (process.env.NODE_ENV !== 'production') {
39
- console.info(this.formatMessage('info', message, context));
40
- }
41
- }
42
- warn(message, context) {
43
- if (process.env.NODE_ENV !== 'production') {
44
- console.warn(this.formatMessage('warn', message, context));
45
- }
46
- }
47
- error(message, context) {
48
- if (this.shouldLog('error')) {
49
- console.error(this.formatMessage('error', message, context));
50
- }
17
+ function withRequestId(context) {
18
+ const requestId = getRequestId();
19
+ if (!requestId) {
20
+ return context;
51
21
  }
22
+ return { requestId, ...context };
23
+ }
24
+ function wrap(backend) {
25
+ return {
26
+ debug(message, context) {
27
+ backend.debug(message, withRequestId(context));
28
+ },
29
+ info(message, context) {
30
+ backend.info(message, withRequestId(context));
31
+ },
32
+ warn(message, context) {
33
+ backend.warn(message, withRequestId(context));
34
+ },
35
+ error(message, context) {
36
+ backend.error(message, withRequestId(context));
37
+ },
38
+ };
52
39
  }
53
40
  /**
54
- * Create a logger instance
41
+ * Create a server logger that enriches context with the active request ID.
55
42
  *
56
- * @param minLevel - Minimum log level to output (default: 'info')
57
- * @returns Logger instance
43
+ * @param minLevel - Optional minimum level (maps to utils `level` config)
58
44
  */
59
45
  export function createLogger(minLevel) {
60
- // In production, can be extended to use structured logging services
61
- // For now, use console-based logger
62
46
  const level = minLevel || process.env.LOG_LEVEL || 'info';
63
- return new ConsoleLogger(level);
47
+ const backend = new UtilsLoggerClass({
48
+ level,
49
+ }).child({ component: 'core-server' });
50
+ return wrap(backend);
64
51
  }
65
52
  /**
66
- * Default logger instance
53
+ * Default server logger (request-id enriching).
67
54
  */
68
- export const logger = createLogger();
55
+ export const logger = wrap(createUtilsLogger({ component: 'core-server' }));
@@ -1,14 +1,12 @@
1
1
  /**
2
- * Logger Utility - Default Export
2
+ * Logger barrel (client-safe) ADR-008 D4
3
3
  *
4
- * Re-exports the client-safe logger implementation.
5
- * This ensures that default imports get the client-safe version
6
- * without Node.js dependencies (no async_hooks, no crypto).
4
+ * Re-exports `@revealui/utils/logger`. Prefer
5
+ * `@revealui/core/observability/logger` for new core-dependent code.
7
6
  *
8
- * For server-side logging with request context:
9
- * import { logger } from '@revealui/core/server'
10
- * import { logger } from '@revealui/core/utils/logger/server'
7
+ * Server + request-id: `@revealui/core/server` or
8
+ * `@revealui/core/utils/logger/server`.
11
9
  */
12
- export type { LogContext, Logger, LogLevel } from './logger-client.js';
13
- export { createLogger, logger } from './logger-client.js';
10
+ export type { LogContext, LogEntry, LoggerConfig, LogLevel, } from '@revealui/utils/logger';
11
+ export { createLogger, Logger, logAudit, logError, logger, logQuery, } from '@revealui/utils/logger';
14
12
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,YAAY,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,QAAQ,GACT,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,GACT,MAAM,wBAAwB,CAAC"}
@@ -1,12 +1,10 @@
1
1
  /**
2
- * Logger Utility - Default Export
2
+ * Logger barrel (client-safe) ADR-008 D4
3
3
  *
4
- * Re-exports the client-safe logger implementation.
5
- * This ensures that default imports get the client-safe version
6
- * without Node.js dependencies (no async_hooks, no crypto).
4
+ * Re-exports `@revealui/utils/logger`. Prefer
5
+ * `@revealui/core/observability/logger` for new core-dependent code.
7
6
  *
8
- * For server-side logging with request context:
9
- * import { logger } from '@revealui/core/server'
10
- * import { logger } from '@revealui/core/utils/logger/server'
7
+ * Server + request-id: `@revealui/core/server` or
8
+ * `@revealui/core/utils/logger/server`.
11
9
  */
12
- export { createLogger, logger } from './logger-client.js';
10
+ export { createLogger, Logger, logAudit, logError, logger, logQuery, } from '@revealui/utils/logger';