@dxos/log 0.8.4-main.dedc0f3 → 0.8.4-main.dfabb4ec29

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 (93) hide show
  1. package/dist/lib/browser/chunk-IEP6GGEX.mjs +23 -0
  2. package/dist/lib/browser/chunk-IEP6GGEX.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-V7FYKT4H.mjs +311 -0
  4. package/dist/lib/browser/chunk-V7FYKT4H.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +356 -223
  6. package/dist/lib/browser/index.mjs.map +4 -4
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/platform/browser/index.mjs +26 -0
  9. package/dist/lib/browser/platform/browser/index.mjs.map +7 -0
  10. package/dist/lib/browser/platform/node/index.mjs +21 -0
  11. package/dist/lib/browser/platform/node/index.mjs.map +7 -0
  12. package/dist/lib/browser/processors/console-processor.mjs +102 -0
  13. package/dist/lib/browser/processors/console-processor.mjs.map +7 -0
  14. package/dist/lib/browser/processors/console-stub.mjs +9 -0
  15. package/dist/lib/browser/processors/console-stub.mjs.map +7 -0
  16. package/dist/lib/node-esm/chunk-2SZHAWBN.mjs +24 -0
  17. package/dist/lib/node-esm/chunk-2SZHAWBN.mjs.map +7 -0
  18. package/dist/lib/node-esm/chunk-5TBDXMQF.mjs +313 -0
  19. package/dist/lib/node-esm/chunk-5TBDXMQF.mjs.map +7 -0
  20. package/dist/lib/node-esm/index.mjs +357 -311
  21. package/dist/lib/node-esm/index.mjs.map +4 -4
  22. package/dist/lib/node-esm/meta.json +1 -1
  23. package/dist/lib/node-esm/platform/browser/index.mjs +27 -0
  24. package/dist/lib/node-esm/platform/browser/index.mjs.map +7 -0
  25. package/dist/lib/node-esm/platform/node/index.mjs +22 -0
  26. package/dist/lib/node-esm/platform/node/index.mjs.map +7 -0
  27. package/dist/lib/node-esm/processors/console-processor.mjs +103 -0
  28. package/dist/lib/node-esm/processors/console-processor.mjs.map +7 -0
  29. package/dist/lib/node-esm/processors/console-stub.mjs +10 -0
  30. package/dist/lib/node-esm/processors/console-stub.mjs.map +7 -0
  31. package/dist/types/src/config.d.ts.map +1 -1
  32. package/dist/types/src/context.d.ts +78 -2
  33. package/dist/types/src/context.d.ts.map +1 -1
  34. package/dist/types/src/dbg.d.ts +23 -0
  35. package/dist/types/src/dbg.d.ts.map +1 -0
  36. package/dist/types/src/decorators.d.ts +1 -1
  37. package/dist/types/src/decorators.d.ts.map +1 -1
  38. package/dist/types/src/environment.d.ts +24 -0
  39. package/dist/types/src/environment.d.ts.map +1 -0
  40. package/dist/types/src/environment.test.d.ts +2 -0
  41. package/dist/types/src/environment.test.d.ts.map +1 -0
  42. package/dist/types/src/experimental/ownership.d.ts.map +1 -1
  43. package/dist/types/src/index.d.ts +7 -3
  44. package/dist/types/src/index.d.ts.map +1 -1
  45. package/dist/types/src/jsonl.d.ts +53 -0
  46. package/dist/types/src/jsonl.d.ts.map +1 -0
  47. package/dist/types/src/jsonl.test.d.ts +2 -0
  48. package/dist/types/src/jsonl.test.d.ts.map +1 -0
  49. package/dist/types/src/log-buffer.d.ts +20 -0
  50. package/dist/types/src/log-buffer.d.ts.map +1 -0
  51. package/dist/types/src/log-buffer.test.d.ts +2 -0
  52. package/dist/types/src/log-buffer.test.d.ts.map +1 -0
  53. package/dist/types/src/log.d.ts +55 -18
  54. package/dist/types/src/log.d.ts.map +1 -1
  55. package/dist/types/src/meta.d.ts +20 -1
  56. package/dist/types/src/meta.d.ts.map +1 -1
  57. package/dist/types/src/options.d.ts +1 -6
  58. package/dist/types/src/options.d.ts.map +1 -1
  59. package/dist/types/src/platform/browser/index.d.ts.map +1 -1
  60. package/dist/types/src/platform/index.d.ts +1 -1
  61. package/dist/types/src/platform/index.d.ts.map +1 -1
  62. package/dist/types/src/platform/node/index.d.ts.map +1 -1
  63. package/dist/types/src/processors/browser-processor.d.ts.map +1 -1
  64. package/dist/types/src/processors/common.d.ts.map +1 -1
  65. package/dist/types/src/processors/console-processor.d.ts.map +1 -1
  66. package/dist/types/src/processors/file-processor.d.ts.map +1 -1
  67. package/dist/types/src/processors/index.d.ts +3 -3
  68. package/dist/types/src/processors/index.d.ts.map +1 -1
  69. package/dist/types/src/scope.d.ts.map +1 -1
  70. package/dist/types/tsconfig.tsbuildinfo +1 -1
  71. package/package.json +30 -15
  72. package/src/config.ts +1 -0
  73. package/src/context.ts +278 -7
  74. package/src/dbg.ts +34 -0
  75. package/src/decorators.ts +4 -5
  76. package/src/environment.test.ts +222 -0
  77. package/src/environment.ts +129 -0
  78. package/src/experimental/classes.test.ts +0 -1
  79. package/src/index.ts +7 -4
  80. package/src/jsonl.test.ts +121 -0
  81. package/src/jsonl.ts +104 -0
  82. package/src/log-buffer.test.ts +158 -0
  83. package/src/log-buffer.ts +89 -0
  84. package/src/log.test.ts +48 -19
  85. package/src/log.ts +146 -58
  86. package/src/meta.ts +29 -1
  87. package/src/options.ts +26 -10
  88. package/src/platform/index.ts +1 -1
  89. package/src/platform/node/index.ts +1 -2
  90. package/src/processors/browser-processor.ts +28 -27
  91. package/src/processors/console-processor.ts +5 -13
  92. package/src/processors/file-processor.ts +9 -9
  93. package/src/processors/index.ts +3 -3
@@ -0,0 +1,10 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import "../chunk-2SZHAWBN.mjs";
3
+
4
+ // src/processors/console-stub.ts
5
+ var CONSOLE_PROCESSOR = () => {
6
+ };
7
+ export {
8
+ CONSOLE_PROCESSOR
9
+ };
10
+ //# sourceMappingURL=console-stub.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/processors/console-stub.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\n// TODO(wittjosiah): Consider mapping console processor directly to browser processor in the browser.\nexport const CONSOLE_PROCESSOR = () => {};\n"],
5
+ "mappings": ";;;;AAKO,IAAMA,oBAAoB,MAAA;AAAO;",
6
+ "names": ["CONSOLE_PROCESSOR"]
7
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C;;;GAGG;AAEH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,KAAK,KAAK;IACV,OAAO,KAAK;IACZ,IAAI,KAAK;IACT,IAAI,KAAK;IACT,KAAK,KAAK;CACX;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAO3C,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;CAO1B,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACtC,SAAS,CAAC,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C;;;GAGG;AAEH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,KAAK,KAAK;IACV,OAAO,KAAK;IACZ,IAAI,KAAK;IACT,IAAI,KAAK;IACT,KAAK,KAAK;CACX;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAQ3C,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;CAO1B,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACtC,SAAS,CAAC,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -5,14 +5,84 @@ import { type CallMetadata } from './meta';
5
5
  */
6
6
  export type LogContext = Record<string, any> | Error | any;
7
7
  /**
8
- * Record for current log line.
8
+ * Normalized call-site metadata suitable for display and serialization.
9
9
  */
10
- export interface LogEntry {
10
+ export interface ComputedLogMeta {
11
+ /** Relative filename (normalized via {@link getRelativeFilename}). */
12
+ filename?: string;
13
+ /** Line number within the file. */
14
+ line?: number;
15
+ /** Debug name of the enclosing scope (class instance), e.g. `MyClass#3`. */
16
+ context?: string;
17
+ }
18
+ /**
19
+ * Fields required to construct a {@link LogEntry}.
20
+ */
21
+ export interface LogEntryInit {
11
22
  level: LogLevel;
12
23
  message?: string;
13
24
  context?: LogContext;
14
25
  meta?: CallMetadata;
15
26
  error?: Error;
27
+ /** Overrides the default timestamp ({@link Date.now}). */
28
+ timestamp?: number;
29
+ }
30
+ /**
31
+ * Record for a single log line processed by the logging pipeline.
32
+ *
33
+ * Raw fields (`level`, `message`, `context`, `meta`, `error`) are preserved so processors
34
+ * can access unmodified inputs. Derived, lazily computed getters
35
+ * ({@link computedContext}, {@link computedError}, {@link computedMeta}) centralize
36
+ * the formatting logic shared across processors that write to serialized stores.
37
+ */
38
+ export declare class LogEntry {
39
+ #private;
40
+ /** Severity of this entry. */
41
+ readonly level: LogLevel;
42
+ /** Human-readable log message, if any. */
43
+ readonly message?: string;
44
+ /**
45
+ * Raw context value passed at the call site. May be a record, an Error, a function
46
+ * returning either, or any other value. Processors that need the flattened /
47
+ * JSON-safe view should prefer {@link computedContext}.
48
+ */
49
+ readonly context?: LogContext;
50
+ /** Raw call-site metadata injected by the log transform plugin. */
51
+ readonly meta?: CallMetadata;
52
+ /** Error passed to `log.catch()` / `log.error(err)`, if any. */
53
+ readonly error?: Error;
54
+ /** Unix timestamp in milliseconds of when the entry was created. */
55
+ readonly timestamp: number;
56
+ constructor(init: LogEntryInit);
57
+ /**
58
+ * Flattened, JSON-safe context intended for serialized stores.
59
+ *
60
+ * - Single-level key-value map.
61
+ * - Primitives (`boolean`, `number`, `string`, `null`, `undefined`) pass through.
62
+ * - Non-primitive values are stringified one level deep via `JSON.stringify` (no recursion).
63
+ * - The reserved `error` / `err` keys are stripped — use {@link computedError} instead.
64
+ * - Properties from `@logInfo`-decorated members of the scope (`meta.S`) are inlined.
65
+ *
66
+ * Lazily computed and memoized on first access.
67
+ */
68
+ get computedContext(): Record<string, unknown>;
69
+ /**
70
+ * Stringified error for this entry, sourced (in priority order) from:
71
+ * 1. {@link error} (e.g. `log.catch(err)`),
72
+ * 2. {@link context} when the context itself is an {@link Error},
73
+ * 3. `context.error` or `context.err`.
74
+ *
75
+ * Formatted as `.stack` when available, falling back to `.message` or `String(err)`.
76
+ *
77
+ * Lazily computed and memoized on first access.
78
+ */
79
+ get computedError(): string | undefined;
80
+ /**
81
+ * Normalized call-site metadata suitable for display / serialization.
82
+ *
83
+ * Lazily computed and memoized on first access.
84
+ */
85
+ get computedMeta(): ComputedLogMeta;
16
86
  }
17
87
  /**
18
88
  * Processes (e.g., prints, forwards) log entries.
@@ -22,5 +92,11 @@ export type LogProcessor = (config: LogConfig, entry: LogEntry) => void;
22
92
  * Determines if the current line should be logged (called by the processor).
23
93
  */
24
94
  export declare const shouldLog: (entry: LogEntry, filters?: LogFilter[]) => boolean;
95
+ /**
96
+ * Merges scope info, entry context, and error into a single record — preserving nested
97
+ * objects and Error instances so rich consumers (console inspect, devtools) can format them.
98
+ *
99
+ * Prefer {@link LogEntry.computedContext} for serialized / JSON outputs.
100
+ */
25
101
  export declare const getContextFromEntry: (entry: LogEntry) => Record<string, any> | undefined;
26
102
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/context.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAG3C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AAMxE;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,QAAQ,EAAE,UAAU,SAAS,EAAE,KAAG,OAMlE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,QAAQ,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SA0B3E,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAI3C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,qBAAa,QAAQ;;IACnB,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAEzB,0CAA0C;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAE9B,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAE7B,gEAAgE;IAChE,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAEvB,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAU3B,YAAY,IAAI,EAAE,YAAY,EAO7B;IAcD;;;;;;;;;;OAUG;IACH,IAAI,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAM7C;IAED;;;;;;;;;OASG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAMtC;IAED;;;;OAIG;IACH,IAAI,YAAY,IAAI,eAAe,CAKlC;CACF;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AA+BxE;;GAEG;AACH,eAAO,MAAM,SAAS,UAAW,QAAQ,YAAY,SAAS,EAAE,KAAG,OAYlE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,UAAW,QAAQ,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SA0B3E,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { type CallMetadata } from './meta';
2
+ /**
3
+ * Debug-log value to console.
4
+ * Log's the expression being evaluated.
5
+ *
6
+ * If only one argument is provided, it will also be returned.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * dbg(foo, bar);
11
+ * // foo = 1
12
+ * // bar = 2
13
+ *
14
+ * bar = dbg(foo * 2);
15
+ * // foo * 2 = 2
16
+ * ```
17
+ *
18
+ * NOTE: The second argument is injected by the log transform plugin.
19
+ */
20
+ export declare const dbg: {
21
+ <T>(value: T, _meta?: CallMetadata): T;
22
+ };
23
+ //# sourceMappingURL=dbg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dbg.d.ts","sourceRoot":"","sources":["../../../src/dbg.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,GAAG,EAAE;IAChB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC;CASxC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { LogMethods } from './log';
1
+ import { type LogMethods } from './log';
2
2
  import { type CallMetadata } from './meta';
3
3
  export declare const createMethodLogDecorator: (log: LogMethods) => (arg0?: never, arg1?: never, meta?: CallMetadata) => MethodDecorator;
4
4
  export declare const createFunctionLogDecorator: (log: LogMethods) => <F extends (...args: any[]) => any>(name: string, fn: F, opts?: {
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../src/decorators.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAI3C,eAAO,MAAM,wBAAwB,GAClC,KAAK,UAAU,MACf,OAAO,KAAK,EAAE,OAAO,KAAK,EAAE,OAAO,YAAY,KAAG,eAwClD,CAAC;AAEJ,eAAO,MAAM,0BAA0B,GACpC,KAAK,UAAU,MACf,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAChC,MAAM,MAAM,EACZ,IAAI,CAAC,EACL,OAAM;IAAE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;CAAO,KAC7E,CA6CF,CAAC"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../src/decorators.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAI3C,eAAO,MAAM,wBAAwB,QAC7B,UAAU,aACR,KAAK,SAAS,KAAK,SAAS,YAAY,KAAG,eAwClD,CAAC;AAEJ,eAAO,MAAM,0BAA0B,QAC/B,UAAU,MACf,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,QAC1B,MAAM,MACR,CAAC,SACC;IAAE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;CAAE,KACxE,CA6CF,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Options for {@link inferEnvironmentName}.
3
+ * Tests pass a custom `scope` to simulate worker / window globals.
4
+ */
5
+ export type InferEnvironmentNameOptions = {
6
+ scope?: unknown;
7
+ };
8
+ /**
9
+ * Infer a writer/environment identifier from the current execution context.
10
+ *
11
+ * Safe to invoke in any JS runtime — never throws. Falls back to `unknown::<suffix>`
12
+ * when the runtime can't be classified.
13
+ *
14
+ * Format is always three colon-separated segments: `<scope>:<name>:<suffix>`.
15
+ * - `scope` — `tab | dedicated-worker | shared-worker | service-worker | cf-worker | node | unknown`.
16
+ * - `name` — `location.origin` for tabs, `self.name` for browser workers, `process.pid`
17
+ * for node, empty for cf-workers / service workers / anonymous workers.
18
+ * Note that `name` may itself contain `:` (e.g. `http://localhost:5173`); when parsing,
19
+ * take the first segment as scope and the last as suffix, and treat everything in
20
+ * between as the name.
21
+ * - `suffix` — 6-char random; stable per-tab via `sessionStorage`, fresh per worker / process instance.
22
+ */
23
+ export declare const inferEnvironmentName: (options?: InferEnvironmentNameOptions) => string;
24
+ //# sourceMappingURL=environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../src/environment.ts"],"names":[],"mappings":"AAqEA;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,aAAa,2BAA2B,KAAQ,MAoChF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=environment.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.test.d.ts","sourceRoot":"","sources":["../../../src/environment.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"ownership.d.ts","sourceRoot":"","sources":["../../../../src/experimental/ownership.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;GAEG;AAEH,qBAAa,cAAc;IAIhB,MAAM,EAAE,GAAG;IACX,MAAM,CAAC,EAAE,cAAc;IAJzB,QAAQ,EAAE,GAAG,CAAC;gBAGZ,MAAM,EAAE,GAAG,EACX,MAAM,CAAC,EAAE,cAAc,YAAA;IAGhC,OAAO;IAYP,CAAC,OAAO,CAAC,MAAM,CAAC;;;;;CAOjB;AAuBD,wBAAgB,cAAc,CAAC,CAAC,SAAS;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;CAAE,EAAE,MAAM,EAAE,CAAC;kBAQvD,GAAG,EAAE;MAS7B;AAED,eAAO,MAAM,SAAS,GAAI,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,SAGzF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,SAAS,GAAG,QAAY,CAAC"}
1
+ {"version":3,"file":"ownership.d.ts","sourceRoot":"","sources":["../../../../src/experimental/ownership.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;GAEG;AAEH,qBAAa,cAAc;IAIhB,MAAM,EAAE,GAAG;IACX,MAAM,CAAC,EAAE,cAAc;IAJzB,QAAQ,EAAE,GAAG,CAAC;IAErB,YACS,MAAM,EAAE,GAAG,EACX,MAAM,CAAC,EAAE,cAAc,YAAA,EAC5B;IAEJ,OAAO,QAUN;IAED,CAAC,OAAO,CAAC,MAAM,CAAC;QAEZ,SAAS;QACT,IAAI;QACJ,MAAM;MAET;CACF;AAuBD,wBAAgB,cAAc,CAAC,CAAC,SAAS;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;CAAE,EAAE,MAAM,EAAE,CAAC;kBAQvD,GAAG,EAAE;MAS7B;AAED,eAAO,MAAM,SAAS,WAAY,GAAG,eAAe,MAAM,cAAc,kBAAkB,SAGzF,CAAC;AAEF,eAAO,MAAM,wBAAwB,YAAa,GAAG,QAAY,CAAC"}
@@ -1,12 +1,16 @@
1
- import omit from 'lodash.omit';
2
- import { pick } from '@dxos/util';
1
+ import { omit, pick } from '@dxos/util';
3
2
  export { omit, pick };
4
3
  export * from './config';
5
4
  export * from './context';
5
+ export * from './environment';
6
+ export * from './jsonl';
6
7
  export * from './log';
7
8
  export { parseFilter } from './options';
8
9
  export * from './processors';
9
10
  export * from './scope';
10
- export type * from './meta';
11
+ export type { CallMetadata } from './meta';
12
+ export { LOG_META_MARKER, isLogMeta } from './meta';
13
+ export { dbg } from './dbg';
14
+ export * from './log-buffer';
11
15
  export { getCurrentOwnershipScope } from './experimental/ownership';
12
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,IAAI,MAAM,aAAa,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAEtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,mBAAmB,QAAQ,CAAC;AAE5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAEtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { type LogEntry } from './context';
2
+ /**
3
+ * Compact JSONL log record with short property names for small serialized size.
4
+ *
5
+ * Field names are intentionally one character to keep on-disk / on-wire size minimal —
6
+ * a single record can be emitted thousands of times per session.
7
+ */
8
+ export type LogRecord = {
9
+ /** ISO timestamp. */
10
+ t: string;
11
+ /** Level letter (D, V, I, W, E). */
12
+ l: string;
13
+ /** Message. */
14
+ m: string;
15
+ /** File path. */
16
+ f?: string;
17
+ /** Line number. */
18
+ n?: number;
19
+ /** Object/scope from which the log was emitted. */
20
+ o?: string;
21
+ /** Error stack. */
22
+ e?: string;
23
+ /** Context JSON (already a string of pre-stringified flat key/values). */
24
+ c?: string;
25
+ /** Environment identifier (see {@link inferEnvironmentName}). */
26
+ i?: string;
27
+ };
28
+ /**
29
+ * Options for {@link serializeToJsonl}.
30
+ */
31
+ export type SerializeToJsonlOptions = {
32
+ /**
33
+ * Environment identifier embedded in the record's `i` field.
34
+ * Use {@link inferEnvironmentName} for a default that disambiguates tabs and workers.
35
+ */
36
+ env?: string;
37
+ };
38
+ /**
39
+ * Serialize a {@link LogEntry} to a single compact JSON line (no trailing newline).
40
+ *
41
+ * Returns `undefined` for entries at TRACE level — callers can use this to skip them.
42
+ *
43
+ * The output is compatible with newline-delimited JSON (NDJSON / JSONL): join multiple
44
+ * results with `\n` for a stream / file representation.
45
+ *
46
+ * Context is taken from {@link LogEntry.computedContext}, which has already flattened
47
+ * nested objects to strings (see `stringifyOneLevel` in `context.ts`), so the resulting
48
+ * `c` field is a JSON string of a flat `Record<string, primitive>` map. The function
49
+ * does **not** truncate context — callers that care about line size should set their own
50
+ * cap before calling, or trim post-hoc.
51
+ */
52
+ export declare const serializeToJsonl: (entry: LogEntry, opts?: SerializeToJsonlOptions) => string | undefined;
53
+ //# sourceMappingURL=jsonl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../../src/jsonl.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,qBAAqB;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,oCAAoC;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,eAAe;IACf,CAAC,EAAE,MAAM,CAAC;IACV,iBAAiB;IACjB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,mDAAmD;IACnD,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,iEAAiE;IACjE,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,UAAW,QAAQ,SAAQ,uBAAuB,KAAQ,MAAM,GAAG,SA4C/F,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=jsonl.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonl.test.d.ts","sourceRoot":"","sources":["../../../src/jsonl.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { type LogProcessor } from './context';
2
+ /**
3
+ * Captures recent log entries in a circular buffer for debug log dump.
4
+ */
5
+ export declare class LogBuffer {
6
+ private readonly _buffer;
7
+ constructor(size?: number);
8
+ /**
9
+ * Log processor that can be registered with `log.runtimeConfig.processors`.
10
+ * Captures every level except TRACE (does not apply `shouldLog` / filter; use for full debug dumps).
11
+ */
12
+ readonly logProcessor: LogProcessor;
13
+ /** Number of entries currently in the buffer. */
14
+ get size(): number;
15
+ /** Discard all buffered entries. */
16
+ clear(): void;
17
+ /** Serialize buffer contents as NDJSON (newline-delimited JSON). */
18
+ serialize(): string;
19
+ }
20
+ //# sourceMappingURL=log-buffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-buffer.d.ts","sourceRoot":"","sources":["../../../src/log-buffer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAM7D;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAEpD,YAAY,IAAI,SAAsB,EAErC;IAED;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAyCjC;IAEF,iDAAiD;IACjD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,oCAAoC;IACpC,KAAK,IAAI,IAAI,CAEZ;IAED,oEAAoE;IACpE,SAAS,IAAI,MAAM,CAMlB;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=log-buffer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-buffer.test.d.ts","sourceRoot":"","sources":["../../../src/log-buffer.test.ts"],"names":[],"mappings":""}
@@ -1,6 +1,14 @@
1
- import { type LogConfig, type LogOptions } from './config';
1
+ import { type LogOptions } from './config';
2
2
  import { type LogContext, type LogProcessor } from './context';
3
3
  import { type CallMetadata } from './meta';
4
+ /**
5
+ * Accessible from browser console.
6
+ * Example: `DX_LOG.config({ filter: 'ERROR' })`
7
+ * NOTE: File level filtering isn't supported in storybooks.
8
+ */
9
+ declare global {
10
+ const DX_LOG: Log;
11
+ }
4
12
  /**
5
13
  * Logging function.
6
14
  */
@@ -9,27 +17,62 @@ type LogFunction = (message: string, context?: LogContext, meta?: CallMetadata)
9
17
  * Logging methods.
10
18
  */
11
19
  export interface LogMethods {
20
+ config: (options?: LogOptions) => Log;
21
+ addProcessor: (processor: LogProcessor, addDefault?: boolean) => () => void;
22
+ /**
23
+ * Log at `trace` level.
24
+ *
25
+ * Generally not surfaced to the developer and not captured in a log file.
26
+ */
12
27
  trace: LogFunction;
28
+ /**
29
+ * Log at `debug` level.
30
+ * Generally not surfaced to the developer and captured in a log file.
31
+ */
13
32
  debug: LogFunction;
33
+ /**
34
+ * Log at `verbose` level.
35
+ * Generally not surfaced to the developer and not captured in a log file.
36
+ */
14
37
  verbose: LogFunction;
38
+ /**
39
+ * Log at `info` level.
40
+ * Generally surfaced to the developer and captured in a log file.
41
+ */
15
42
  info: LogFunction;
43
+ /**
44
+ * Log at `warn` level.
45
+ * Generally surfaced to the developer and captured in a log file.
46
+ */
16
47
  warn: LogFunction;
48
+ /**
49
+ * Log at `error` level.
50
+ * Generally surfaced to the developer and captured in a log file.
51
+ */
17
52
  error: LogFunction;
53
+ /**
54
+ * Log an error and its stack trace at an `error` level.
55
+ * Generally surfaced to the developer and captured in a log file.
56
+ */
18
57
  catch: (error: Error | any, context?: LogContext, meta?: CallMetadata) => void;
19
- break: () => void;
20
- stack: (message?: string, context?: never, meta?: CallMetadata) => void;
58
+ /**
59
+ * Decorator to log method parameters and return value at the `info` level.
60
+ */
21
61
  method: (arg0?: never, arg1?: never, meta?: CallMetadata) => MethodDecorator;
22
- func: <F extends (...args: any[]) => any>(name: string, fn: F, opts?: {
62
+ /**
63
+ * Wrapper to log function parameters and return value at the `info` level.
64
+ */
65
+ function: <F extends (...args: any[]) => any>(name: string, fn: F, opts?: {
23
66
  transformOutput?: (result: ReturnType<F>) => Promise<any> | any;
24
67
  }) => F;
25
- }
26
- /**
27
- * Properties accessible on the logging function.
28
- */
29
- interface Log extends LogMethods, LogFunction {
30
- config: (options: LogOptions) => void;
31
- addProcessor: (processor: LogProcessor) => void;
32
- runtimeConfig: LogConfig;
68
+ /**
69
+ * Log a horizontal rule at the `info` level.
70
+ */
71
+ break: () => void;
72
+ /**
73
+ * Log a stack trace at the `info` level.
74
+ */
75
+ stack: (message?: string, context?: never, meta?: CallMetadata) => void;
33
76
  }
34
77
  /**
35
78
  * Global logging function.
@@ -39,11 +82,5 @@ export declare const log: Log;
39
82
  * Log debug stack.
40
83
  */
41
84
  export declare const debug: (label?: any, args?: any) => void;
42
- /**
43
- * Accessible from browser console.
44
- */
45
- declare global {
46
- const dx_log: Log;
47
- }
48
85
  export {};
49
86
  //# sourceMappingURL=log.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/log.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAY,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAE/D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAG3C;;GAEG;AACH,KAAK,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/E,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACxE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,YAAY,KAAK,eAAe,CAAC;IAC7E,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACtC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,EACL,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;KAAE,KACvE,CAAC,CAAC;CACR;AAED;;GAEG;AACH,UAAU,GAAI,SAAQ,UAAU,EAAE,WAAW;IAC3C,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,YAAY,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,aAAa,EAAE,SAAS,CAAC;CAC1B;AAgED;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,GAAkD,CAAC;AAKrE;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,QAAQ,GAAG,EAAE,OAAO,GAAG,SAU5C,CAAC;AAEF;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IAEb,MAAM,MAAM,EAAE,GAAG,CAAC;CACnB"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/log.ts"],"names":[],"mappings":"AAIA,OAAO,EAA4B,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,KAAK,UAAU,EAAY,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAG3C;;;;GAIG;AACH,OAAO,CAAC,MAAM,CAAC,CAAC;IACd,MAAM,MAAM,EAAE,GAAG,CAAC;CACnB;AAED;;GAEG;AACH,KAAK,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,KAAK,GAAG,CAAC;IACtC,YAAY,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,OAAO,KAAK,MAAM,IAAI,CAAC;IAE5E;;;;OAIG;IACH,KAAK,EAAE,WAAW,CAAC;IAEnB;;;OAGG;IACH,KAAK,EAAE,WAAW,CAAC;IAEnB;;;OAGG;IACH,OAAO,EAAE,WAAW,CAAC;IAErB;;;OAGG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;;OAGG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;;OAGG;IACH,KAAK,EAAE,WAAW,CAAC;IAEnB;;;OAGG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAE/E;;OAEG;IACH,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,YAAY,KAAK,eAAe,CAAC;IAE7E;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC1C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,EACL,IAAI,CAAC,EAAE;QACL,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;KACjE,KACE,CAAC,CAAC;IAEP;;OAEG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;CACzE;AAwGD;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,GAAkD,CAAC;AAKrE;;GAEG;AACH,eAAO,MAAM,KAAK,WAAY,GAAG,SAAS,GAAG,SAU5C,CAAC"}
@@ -1,9 +1,23 @@
1
1
  /**
2
- * Metadata injected b y the log transform plugin.
2
+ * Marker key + value injected on every {@link CallMetadata} object by the log transform plugin.
3
+ * Used by {@link isLogMeta} to detect a log-meta argument at runtime (e.g. for variadic
4
+ * `param_index: 'last'` callees that don't have a fixed meta slot).
5
+ */
6
+ export declare const LOG_META_MARKER = "~LogMeta";
7
+ /**
8
+ * Metadata injected by the log transform plugin.
3
9
  *
4
10
  * Field names are intentionally short to reduce the size of the generated code.
5
11
  */
6
12
  export interface CallMetadata {
13
+ /**
14
+ * Marker tag — when present, equal to {@link LOG_META_MARKER} ({@link `'~LogMeta'`}).
15
+ * Injected by the log transform plugin on every emitted meta object so that {@link isLogMeta}
16
+ * can distinguish a meta argument from a regular user-supplied value at runtime.
17
+ * Optional because hand-written `CallMetadata` literals (decorators, RPC mappers, tests)
18
+ * don't need the marker — they are recognized by position in the call signature.
19
+ */
20
+ '~LogMeta'?: typeof LOG_META_MARKER;
7
21
  /**
8
22
  * File name.
9
23
  */
@@ -27,4 +41,9 @@ export interface CallMetadata {
27
41
  */
28
42
  A?: string[];
29
43
  }
44
+ /**
45
+ * Type guard: `true` when `value` is a {@link CallMetadata} object emitted by the log transform plugin.
46
+ * Detection is based on the presence of the {@link LOG_META_MARKER} marker key/value.
47
+ */
48
+ export declare const isLogMeta: (value: unknown) => value is CallMetadata;
30
49
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;IAEV;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;IAEV;;;OAGG;IACH,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;IAEnB;;;OAGG;IACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAExC;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;CACd"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,eAAe,CAAC;IAEpC;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;IAEV;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;IAEV;;;OAGG;IACH,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;IAEnB;;;OAGG;IACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAExC;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;CACd;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,UAAW,OAAO,KAAG,KAAK,IAAI,YAMnD,CAAC"}
@@ -1,12 +1,7 @@
1
- import { type LogConfig, type LogFilter, LogLevel, type LogOptions } from './config';
2
1
  import { type LogProcessor } from './context';
3
2
  /**
4
3
  * Processor variants.
5
4
  */
6
- export declare const processors: {
7
- [index: string]: LogProcessor;
8
- };
5
+ export declare const processors: Record<string, LogProcessor>;
9
6
  export declare const DEFAULT_PROCESSORS: LogProcessor[];
10
- export declare const parseFilter: (filter: string | string[] | LogLevel) => LogFilter[];
11
- export declare const getConfig: (options?: LogOptions) => LogConfig;
12
7
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/options.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,KAAK,UAAU,EAA4B,MAAM,UAAU,CAAC;AAC/G,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAI9C;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAA;CAIvD,CAAC;AAIF,eAAO,MAAM,kBAAkB,gBAAuD,CAAC;AAEvF,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,GAAG,MAAM,EAAE,GAAG,QAAQ,KAAG,SAAS,EAY3E,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,UAAU,UAAU,KAAG,SAkBhD,CAAC"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/options.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAI9C;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAInD,CAAC;AAMF,eAAO,MAAM,kBAAkB,gBAAoD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/platform/browser/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,eAAO,MAAM,WAAW,GAAI,WAAW,MAAM,KAAG,UAAU,GAAG,SAoB5D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/platform/browser/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,eAAO,MAAM,WAAW,cAAe,MAAM,KAAG,UAAU,GAAG,SAoB5D,CAAC"}
@@ -1,2 +1,2 @@
1
- export * from './node';
1
+ export * from '#platform';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/platform/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/platform/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/platform/node/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,WAAW,MAAM,KAAG,UAAU,GAAG,SAY5D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/platform/node/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,WAAW,cAAe,MAAM,KAAG,UAAU,GAAG,SAY5D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser-processor.d.ts","sourceRoot":"","sources":["../../../../src/processors/browser-processor.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,YAAY,EAAkC,MAAM,YAAY,CAAC;AA4I/E,eAAO,MAAM,iBAAiB,EAAE,YAAuF,CAAC"}
1
+ {"version":3,"file":"browser-processor.d.ts","sourceRoot":"","sources":["../../../../src/processors/browser-processor.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,YAAY,EAAkC,MAAM,YAAY,CAAC;AAmI/E,eAAO,MAAM,iBAAiB,EAAE,YAAuF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/processors/common.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,WAUnD,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/processors/common.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,aAAc,MAAM,WAUnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"console-processor.d.ts","sourceRoot":"","sources":["../../../../src/processors/console-processor.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAkB,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,KAAK,YAAY,EAAkC,MAAM,YAAY,CAAC;AAa/E,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,EAAE,eAAU,EAAE,eAAa,WAGhE,CAAC;AAIF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;AAE1F,eAAO,MAAM,iBAAiB,EAAE,SAkC/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SAM7B,CAAC;AAKF,eAAO,MAAM,iBAAiB,EAAE,YAkC/B,CAAC"}
1
+ {"version":3,"file":"console-processor.d.ts","sourceRoot":"","sources":["../../../../src/processors/console-processor.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAkB,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,KAAK,YAAY,EAAkC,MAAM,YAAY,CAAC;AAW/E,eAAO,MAAM,QAAQ,UAAW,MAAM,6CAGrC,CAAC;AAIF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;AAE1F,eAAO,MAAM,iBAAiB,EAAE,SAkC/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SAM7B,CAAC;AAKF,eAAO,MAAM,iBAAiB,EAAE,YA6B/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-processor.d.ts","sourceRoot":"","sources":["../../../../src/processors/file-processor.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,KAAK,YAAY,EAAkC,MAAM,YAAY,CAAC;AAM/E;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,gCAIjC;IACD,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;CACvB,KAAG,YAmDH,CAAC;AAWF,eAAO,MAAM,cAAc,EAAE,YAG3B,CAAC"}
1
+ {"version":3,"file":"file-processor.d.ts","sourceRoot":"","sources":["../../../../src/processors/file-processor.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,YAAY,CAAC;AAK1D;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,mCAI7B;IACD,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;CACvB,KAAG,YAsDH,CAAC;AAWF,eAAO,MAAM,cAAc,EAAE,YAG3B,CAAC"}
@@ -1,6 +1,6 @@
1
- export * from './console-processor';
2
- export * from './debug-processor';
3
1
  export * from './browser-processor';
4
- export * from './file-processor';
5
2
  export * from './common';
3
+ export * from '#console-processor';
4
+ export * from './debug-processor';
5
+ export * from './file-processor';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/processors/index.ts"],"names":[],"mappings":"AAIA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/processors/index.ts"],"names":[],"mappings":"AAIA,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../../src/scope.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,aAAa,kBAAkB,SAGxF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,GAAG,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAkBrE,CAAC"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../../src/scope.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,OAAO,WAAY,GAAG,eAAe,MAAM,eAAe,kBAAkB,SAGxF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,UAAW,GAAG,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAkBrE,CAAC"}