@smoothbricks/lmao 0.1.2 → 0.1.4

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 (164) hide show
  1. package/dist/allocator.wasm +0 -0
  2. package/dist/es.d.ts.map +1 -1
  3. package/dist/es.js +1 -0
  4. package/dist/lib/archive/chunkCompaction.d.ts.map +1 -1
  5. package/dist/lib/archive/chunkCompaction.js +2 -0
  6. package/dist/lib/archive/chunkEnvelope.d.ts.map +1 -1
  7. package/dist/lib/archive/chunkRouting.d.ts.map +1 -1
  8. package/dist/lib/archive/chunkRouting.js +3 -0
  9. package/dist/lib/archive/chunkStats.d.ts.map +1 -1
  10. package/dist/lib/archive/chunkStats.js +1 -0
  11. package/dist/lib/arrow/capacityStats.d.ts.map +1 -1
  12. package/dist/lib/arrow/capacityStats.js +1 -0
  13. package/dist/lib/bufferStrategy.d.ts.map +1 -1
  14. package/dist/lib/capacityTuning.d.ts.map +1 -1
  15. package/dist/lib/capacityTuning.js +1 -0
  16. package/dist/lib/cleanupDiagnostics.d.ts +4 -0
  17. package/dist/lib/cleanupDiagnostics.d.ts.map +1 -0
  18. package/dist/lib/cleanupDiagnostics.js +42 -0
  19. package/dist/lib/codegen/evaluatorGenerator.d.ts.map +1 -1
  20. package/dist/lib/codegen/evaluatorGenerator.js +1 -0
  21. package/dist/lib/codegen/fixedPositionWriterGenerator.d.ts.map +1 -1
  22. package/dist/lib/codegen/fixedPositionWriterGenerator.js +1 -0
  23. package/dist/lib/codegen/spanLoggerGenerator.d.ts.map +1 -1
  24. package/dist/lib/codegen/spanLoggerGenerator.js +3 -0
  25. package/dist/lib/convertToArrow.d.ts.map +1 -1
  26. package/dist/lib/convertToArrow.js +6 -0
  27. package/dist/lib/defineOpContext.d.ts +5 -0
  28. package/dist/lib/defineOpContext.d.ts.map +1 -1
  29. package/dist/lib/defineOpContext.js +11 -1
  30. package/dist/lib/errors/Blocked.d.ts.map +1 -1
  31. package/dist/lib/errors/Transient.d.ts.map +1 -1
  32. package/dist/lib/errors/retry-policy.d.ts.map +1 -1
  33. package/dist/lib/flushScheduler.d.ts.map +1 -1
  34. package/dist/lib/flushScheduler.js +12 -0
  35. package/dist/lib/library.d.ts +5 -0
  36. package/dist/lib/library.d.ts.map +1 -1
  37. package/dist/lib/library.js +6 -0
  38. package/dist/lib/op.d.ts.map +1 -1
  39. package/dist/lib/op.js +2 -0
  40. package/dist/lib/opContext/createOpGroup.d.ts.map +1 -1
  41. package/dist/lib/opContext/createOpGroup.js +5 -0
  42. package/dist/lib/opContext/defineOp.d.ts.map +1 -1
  43. package/dist/lib/opContext/defineOp.js +5 -0
  44. package/dist/lib/result.d.ts.map +1 -1
  45. package/dist/lib/result.js +3 -0
  46. package/dist/lib/schema/builder.d.ts.map +1 -1
  47. package/dist/lib/schema/builder.js +1 -0
  48. package/dist/lib/schema/defineFeatureFlags.d.ts.map +1 -1
  49. package/dist/lib/schema/defineLogSchema.d.ts.map +1 -1
  50. package/dist/lib/schema/defineLogSchema.js +1 -0
  51. package/dist/lib/schema/evaluator.d.ts.map +1 -1
  52. package/dist/lib/schema/systemSchema.d.ts.map +1 -1
  53. package/dist/lib/schema/systemSchema.js +1 -0
  54. package/dist/lib/spanBuffer.d.ts.map +1 -1
  55. package/dist/lib/spanBuffer.js +8 -0
  56. package/dist/lib/spanBufferHelpers.d.ts.map +1 -1
  57. package/dist/lib/spanBufferHelpers.js +1 -0
  58. package/dist/lib/spanBufferStats.d.ts.map +1 -1
  59. package/dist/lib/spanContext.d.ts +8 -0
  60. package/dist/lib/spanContext.d.ts.map +1 -1
  61. package/dist/lib/spanContext.js +35 -0
  62. package/dist/lib/sqlite/index.d.ts +1 -0
  63. package/dist/lib/sqlite/index.d.ts.map +1 -1
  64. package/dist/lib/sqlite/sqlite-async-writer.d.ts.map +1 -1
  65. package/dist/lib/sqlite/sqlite-async-writer.js +16 -0
  66. package/dist/lib/sqlite/sqlite-common.d.ts.map +1 -1
  67. package/dist/lib/sqlite/sqlite-common.js +5 -1
  68. package/dist/lib/sqlite/sqlite-writer.d.ts.map +1 -1
  69. package/dist/lib/sqlite/sqlite-writer.js +22 -0
  70. package/dist/lib/testing/bun-harness.d.ts.map +1 -1
  71. package/dist/lib/testing/bun-harness.js +21 -0
  72. package/dist/lib/threadId.d.ts.map +1 -1
  73. package/dist/lib/threadId.js +2 -0
  74. package/dist/lib/traceId.d.ts.map +1 -1
  75. package/dist/lib/traceId.js +1 -0
  76. package/dist/lib/traceRoot.d.ts.map +1 -1
  77. package/dist/lib/traceRoot.es.d.ts.map +1 -1
  78. package/dist/lib/traceRoot.es.js +3 -0
  79. package/dist/lib/traceRoot.js +2 -0
  80. package/dist/lib/traceRoot.node.d.ts.map +1 -1
  81. package/dist/lib/traceRoot.node.js +1 -0
  82. package/dist/lib/tracer.d.ts.map +1 -1
  83. package/dist/lib/tracer.js +2 -0
  84. package/dist/lib/tracers/ArrayQueueTracer.d.ts.map +1 -1
  85. package/dist/lib/tracers/CompositeTracer.d.ts.map +1 -1
  86. package/dist/lib/tracers/CompositeTracer.js +6 -0
  87. package/dist/lib/tracers/NoOpTracer.d.ts.map +1 -1
  88. package/dist/lib/tracers/NoOpTracer.js +1 -0
  89. package/dist/lib/tracers/SQLiteTracer.d.ts.map +1 -1
  90. package/dist/lib/tracers/SQLiteTracer.js +11 -0
  91. package/dist/lib/tracers/StdioTracer.d.ts.map +1 -1
  92. package/dist/lib/tracers/StdioTracer.js +1 -0
  93. package/dist/lib/tracers/TestTracer.d.ts.map +1 -1
  94. package/dist/lib/tracers/TestTracer.js +1 -0
  95. package/dist/lib/types.d.ts.map +1 -1
  96. package/dist/lib/utf8Cache.d.ts.map +1 -1
  97. package/dist/lib/utf8Cache.js +1 -0
  98. package/dist/lib/wasm/WasmBufferStrategy.d.ts.map +1 -1
  99. package/dist/lib/wasm/WasmBufferStrategy.js +2 -0
  100. package/dist/lib/wasm/wasmAllocator.d.ts +2 -0
  101. package/dist/lib/wasm/wasmAllocator.d.ts.map +1 -1
  102. package/dist/lib/wasm/wasmSpanBuffer.d.ts.map +1 -1
  103. package/dist/lib/wasm/wasmTraceRoot.d.ts.map +1 -1
  104. package/dist/node.d.ts.map +1 -1
  105. package/dist/node.js +1 -0
  106. package/package.json +9 -6
  107. package/src/es.ts +2 -0
  108. package/src/lib/archive/chunkCompaction.ts +2 -0
  109. package/src/lib/archive/chunkEnvelope.ts +2 -0
  110. package/src/lib/archive/chunkRouting.ts +4 -0
  111. package/src/lib/archive/chunkStats.ts +2 -0
  112. package/src/lib/arrow/capacityStats.ts +2 -0
  113. package/src/lib/bufferStrategy.ts +2 -0
  114. package/src/lib/capacityTuning.ts +2 -0
  115. package/src/lib/cleanupDiagnostics.ts +52 -0
  116. package/src/lib/codegen/evaluatorGenerator.ts +2 -0
  117. package/src/lib/codegen/fixedPositionWriterGenerator.ts +2 -0
  118. package/src/lib/codegen/spanLoggerGenerator.ts +4 -0
  119. package/src/lib/convertToArrow.ts +6 -0
  120. package/src/lib/defineOpContext.ts +17 -1
  121. package/src/lib/errors/Blocked.ts +2 -0
  122. package/src/lib/errors/Transient.ts +2 -0
  123. package/src/lib/errors/retry-policy.ts +2 -0
  124. package/src/lib/flushScheduler.ts +12 -0
  125. package/src/lib/library.ts +7 -0
  126. package/src/lib/op.ts +8 -0
  127. package/src/lib/opContext/createOpGroup.ts +6 -0
  128. package/src/lib/opContext/defineOp.ts +6 -0
  129. package/src/lib/result.ts +4 -0
  130. package/src/lib/schema/builder.ts +2 -0
  131. package/src/lib/schema/defineFeatureFlags.ts +2 -0
  132. package/src/lib/schema/defineLogSchema.ts +2 -0
  133. package/src/lib/schema/evaluator.ts +2 -0
  134. package/src/lib/schema/systemSchema.ts +2 -0
  135. package/src/lib/spanBuffer.ts +10 -0
  136. package/src/lib/spanBufferHelpers.ts +2 -0
  137. package/src/lib/spanBufferStats.ts +2 -0
  138. package/src/lib/spanContext.ts +48 -1
  139. package/src/lib/sqlite/__tests__/sqlite-common.test.ts +40 -1
  140. package/src/lib/sqlite/index.ts +1 -0
  141. package/src/lib/sqlite/sqlite-async-writer.ts +8 -0
  142. package/src/lib/sqlite/sqlite-common.ts +5 -1
  143. package/src/lib/sqlite/sqlite-writer.ts +6 -0
  144. package/src/lib/testing/bun-harness.ts +21 -0
  145. package/src/lib/threadId.ts +2 -0
  146. package/src/lib/traceId.ts +4 -0
  147. package/src/lib/traceRoot.es.ts +4 -0
  148. package/src/lib/traceRoot.node.ts +2 -0
  149. package/src/lib/traceRoot.ts +4 -0
  150. package/src/lib/tracer.ts +4 -0
  151. package/src/lib/tracers/ArrayQueueTracer.ts +2 -0
  152. package/src/lib/tracers/CompositeTracer.ts +7 -0
  153. package/src/lib/tracers/NoOpTracer.ts +2 -0
  154. package/src/lib/tracers/SQLiteTracer.ts +11 -0
  155. package/src/lib/tracers/StdioTracer.ts +2 -0
  156. package/src/lib/tracers/TestTracer.ts +2 -0
  157. package/src/lib/types.ts +2 -0
  158. package/src/lib/utf8Cache.ts +2 -0
  159. package/src/lib/wasm/WasmBufferStrategy.ts +4 -0
  160. package/src/lib/wasm/allocator.zig +4 -1
  161. package/src/lib/wasm/wasmAllocator.ts +5 -0
  162. package/src/lib/wasm/wasmSpanBuffer.ts +4 -0
  163. package/src/lib/wasm/wasmTraceRoot.ts +4 -0
  164. package/src/node.ts +2 -0
@@ -1,3 +1,4 @@
1
+ import { cleanupDebug } from '../cleanupDiagnostics.js';
1
2
  import type { OpContextBinding } from '../opContext/types.js';
2
3
  import { Tracer, type TracerOptions } from '../tracer.js';
3
4
  import type { SpanBuffer } from '../types.js';
@@ -19,6 +20,7 @@ export interface CompositeTracerOptions<B extends OpContextBinding = OpContextBi
19
20
  * Useful when you want multiple outputs from a single trace run,
20
21
  * for example Stdio + SQLite.
21
22
  */
23
+ //#region smoo/lmao!n/tracer-implementations.composite
22
24
  export class CompositeTracer<B extends OpContextBinding = OpContextBinding> extends Tracer<B> {
23
25
  private readonly delegates: Tracer<B>[];
24
26
 
@@ -59,7 +61,9 @@ export class CompositeTracer<B extends OpContextBinding = OpContextBinding> exte
59
61
 
60
62
  override async flush(): Promise<void> {
61
63
  for (const tracer of this.delegates) {
64
+ cleanupDebug('compositeTracer.flush:delegate:start', { tracer: tracer.constructor.name });
62
65
  await tracer.flush();
66
+ cleanupDebug('compositeTracer.flush:delegate:end', { tracer: tracer.constructor.name });
63
67
  }
64
68
  }
65
69
 
@@ -68,9 +72,12 @@ export class CompositeTracer<B extends OpContextBinding = OpContextBinding> exte
68
72
  if (hasClose(tracer)) {
69
73
  const { close } = tracer;
70
74
  if (close) {
75
+ cleanupDebug('compositeTracer.close:delegate:start', { tracer: tracer.constructor.name });
71
76
  await close.call(tracer);
77
+ cleanupDebug('compositeTracer.close:delegate:end', { tracer: tracer.constructor.name });
72
78
  }
73
79
  }
74
80
  }
75
81
  }
76
82
  }
83
+ //#endregion smoo/lmao!n/tracer-implementations.composite
@@ -35,6 +35,7 @@ import type { SpanBuffer } from '../types.js';
35
35
  *
36
36
  * @typeParam B - OpContextBinding type
37
37
  */
38
+ //#region smoo/lmao!n/tracer-implementations.noop
38
39
  export class NoOpTracer<B extends OpContextBinding = OpContextBinding> extends Tracer<B> {
39
40
  /**
40
41
  * No-op hook for trace start.
@@ -71,3 +72,4 @@ export class NoOpTracer<B extends OpContextBinding = OpContextBinding> extends T
71
72
  // No-op
72
73
  }
73
74
  }
75
+ //#endregion smoo/lmao!n/tracer-implementations.noop
@@ -1,3 +1,4 @@
1
+ import { cleanupDebug } from '../cleanupDiagnostics.js';
1
2
  import type { OpContextBinding } from '../opContext/types.js';
2
3
  import { SQLiteAsyncTraceWriter } from '../sqlite/sqlite-async-writer.js';
3
4
  import type { AsyncSQLiteDatabase, SyncSQLiteDatabase } from '../sqlite/sqlite-db.js';
@@ -20,6 +21,7 @@ export interface SQLiteAsyncTracerOptions<
20
21
  /**
21
22
  * Tracer that persists completed root traces to SQLite synchronously.
22
23
  */
24
+ //#region smoo/lmao!n/tracer-implementations.sqlite
23
25
  export class SQLiteTracer<B extends OpContextBinding = OpContextBinding> extends Tracer<B> {
24
26
  private readonly writer: SQLiteTraceWriter;
25
27
 
@@ -33,7 +35,9 @@ export class SQLiteTracer<B extends OpContextBinding = OpContextBinding> extends
33
35
  }
34
36
 
35
37
  onTraceEnd(rootBuffer: SpanBuffer<B['logBinding']['logSchema']>): void {
38
+ cleanupDebug('sqliteTracer.onTraceEnd:flush:start', { rows: rootBuffer._writeIndex });
36
39
  this.writer.flush(rootBuffer);
40
+ cleanupDebug('sqliteTracer.onTraceEnd:flush:end');
37
41
  }
38
42
 
39
43
  onSpanStart(_childBuffer: SpanBuffer<B['logBinding']['logSchema']>): void {
@@ -49,9 +53,12 @@ export class SQLiteTracer<B extends OpContextBinding = OpContextBinding> extends
49
53
  }
50
54
 
51
55
  async close(): Promise<void> {
56
+ cleanupDebug('sqliteTracer.close:start');
52
57
  this.writer.close();
58
+ cleanupDebug('sqliteTracer.close:end');
53
59
  }
54
60
  }
61
+ //#endregion smoo/lmao!n/tracer-implementations.sqlite
55
62
 
56
63
  /**
57
64
  * Tracer that persists completed root traces to SQLite asynchronously.
@@ -96,6 +103,7 @@ export class SQLiteAsyncTracer<B extends OpContextBinding = OpContextBinding> ex
96
103
  }
97
104
 
98
105
  override async flush(): Promise<void> {
106
+ cleanupDebug('sqliteAsyncTracer.flush:start');
99
107
  await this.pendingWrites;
100
108
  if (this.pendingErrors.length > 0) {
101
109
  const errors = this.pendingErrors;
@@ -105,11 +113,14 @@ export class SQLiteAsyncTracer<B extends OpContextBinding = OpContextBinding> ex
105
113
  }
106
114
  throw new AggregateError(errors, `SQLiteAsyncTracer flush failed for ${errors.length} trace writes`);
107
115
  }
116
+ cleanupDebug('sqliteAsyncTracer.flush:end');
108
117
  }
109
118
 
110
119
  async close(): Promise<void> {
120
+ cleanupDebug('sqliteAsyncTracer.close:start');
111
121
  await this.flush();
112
122
  const writer = await this.writerPromise;
113
123
  await writer.close();
124
+ cleanupDebug('sqliteAsyncTracer.close:end');
114
125
  }
115
126
  }
@@ -204,6 +204,7 @@ export interface StdioTracerOptions<
204
204
  * - Human-readable timestamps and durations
205
205
  * - Exceptions go to stderr
206
206
  */
207
+ //#region smoo/lmao!n/tracer-implementations.stdio
207
208
  export class StdioTracer<B extends OpContextBinding = OpContextBinding> extends Tracer<B> {
208
209
  /**
209
210
  * Per-trace indent levels for concurrent-safe nesting.
@@ -378,3 +379,4 @@ export class StdioTracer<B extends OpContextBinding = OpContextBinding> extends
378
379
  );
379
380
  }
380
381
  }
382
+ //#endregion smoo/lmao!n/tracer-implementations.stdio
@@ -81,6 +81,7 @@ export interface StatsSnapshot<T extends LogSchema = LogSchema> {
81
81
  * expect(tracer.statsSnapshots.length).toBeGreaterThan(0);
82
82
  * ```
83
83
  */
84
+ //#region smoo/lmao!n/tracer-implementations.test
84
85
  export class TestTracer<B extends OpContextBinding = OpContextBinding> extends Tracer<B> {
85
86
  /**
86
87
  * All completed root trace buffers.
@@ -144,3 +145,4 @@ export class TestTracer<B extends OpContextBinding = OpContextBinding> extends T
144
145
  }
145
146
  }
146
147
  }
148
+ //#endregion smoo/lmao!n/tracer-implementations.test
package/src/lib/types.ts CHANGED
@@ -74,6 +74,7 @@ export type { AnyColumnBuffer, ColumnBuffer, ColumnValueType, TypedArray };
74
74
  *
75
75
  * @see SpanBuffer<T> for schema-typed version with index signatures
76
76
  */
77
+ //#region smoo/lmao!n/spanbuffer-layout.interface
77
78
  export interface AnySpanBuffer extends AnyColumnBuffer {
78
79
  // ===========================================================================
79
80
  // System Memory (cache-aligned, per specs/lmao/01b1)
@@ -414,6 +415,7 @@ export interface AnySpanBuffer extends AnyColumnBuffer {
414
415
  */
415
416
  copyParentThreadIdTo(dest: Uint8Array, offset: number): void;
416
417
  }
418
+ //#endregion smoo/lmao!n/spanbuffer-layout.interface
417
419
 
418
420
  // ============================================================================
419
421
  // Schema Type Helpers
@@ -39,6 +39,7 @@ type Utf8CacheStats = { hits: number; misses: number; hitRate: number; size: num
39
39
  * The cache is safe to use in async contexts since JS awaits don't
40
40
  * allow concurrent access to the same cache instance.
41
41
  */
42
+ //#region smoo/lmao!n/buffer-perf-utf8-cache
42
43
  export class Utf8Cache implements Utf8Encoder {
43
44
  private readonly cache: SieveCache<string, Uint8Array>;
44
45
  private readonly encoder = new TextEncoder();
@@ -199,3 +200,4 @@ export const globalUtf8Cache = new Utf8Cache();
199
200
  export function createUtf8Cache(maxSize?: number): Utf8Cache {
200
201
  return new Utf8Cache(maxSize);
201
202
  }
203
+ //#endregion smoo/lmao!n/buffer-perf-utf8-cache
@@ -30,6 +30,9 @@ import {
30
30
  type WasmSpanBufferInstance,
31
31
  } from './wasmSpanBuffer.js';
32
32
 
33
+ // Spec link (88): realizes specs/lmao/01q_wasm_memory_architecture.md#smoo/lmao!n/wasm-mem (OpContext integration + trace completion).
34
+ //#region smoo/lmao!n/wasm-mem.strategy
35
+
33
36
  function requireWasmSpanBuffer(buffer: AnySpanBuffer): WasmSpanBufferInstance {
34
37
  if (!isWasmSpanBufferInstance(buffer)) {
35
38
  throw new Error('Expected WASM-backed span buffer');
@@ -217,3 +220,4 @@ export class WasmBufferStrategy<T extends LogSchema = LogSchema> implements Buff
217
220
  };
218
221
  }
219
222
  }
223
+ //#endregion smoo/lmao!n/wasm-mem.strategy
@@ -6,7 +6,7 @@
6
6
  //
7
7
  // Memory Layout:
8
8
  // ┌─────────────────────────────────────────────────────────────────────────────┐
9
- // │ Header (64 bytes, cache-aligned)
9
+ // │ Header (192 bytes, 3 cache lines)
10
10
  // ├─────────────────────────────────────────────────────────────────────────────┤
11
11
  // │ Allocated Blocks (spans + columns) │
12
12
  // ├─────────────────────────────────────────────────────────────────────────────┤
@@ -22,7 +22,9 @@
22
22
  //
23
23
  // Freelist: Zero-overhead, uses block's memory for next pointer + cascading stats when free.
24
24
  //
25
+ // Spec link (88): realizes specs/lmao/01q_wasm_memory_architecture.md#smoo/lmao!n/wasm-mem (the Zig allocator region).
25
26
 
27
+ //#region smoo/lmao!n/wasm-mem.allocator
26
28
  const std = @import("std");
27
29
 
28
30
  // =============================================================================
@@ -943,3 +945,4 @@ export fn read_col_is_valid(col_offset: u32, row_idx: u32) u8 {
943
945
  const bit: u8 = @as(u8, 1) << @intCast(row_idx & 7);
944
946
  return if ((byte & bit) != 0) 1 else 0;
945
947
  }
948
+ //#endregion smoo/lmao!n/wasm-mem.allocator
@@ -10,8 +10,12 @@
10
10
  * - Blocks are organized by tier (capacity 8, 16, 32, 64, 128, 256, 512)
11
11
  * - When freelist is empty, splits from larger tier
12
12
  * - When freeing, merges with adjacent blocks if both are free (address-based buddy merge)
13
+ *
14
+ * Spec link (88): realizes specs/lmao/01q_wasm_memory_architecture.md#smoo/lmao!n/wasm-mem (TS allocator wrapper).
13
15
  */
14
16
 
17
+ //#region smoo/lmao!n/wasm-mem.ts-allocator
18
+
15
19
  // =============================================================================
16
20
  // Types
17
21
  // =============================================================================
@@ -467,3 +471,4 @@ export function createWasmAllocatorSync(wasmModule: WebAssembly.Module, options?
467
471
 
468
472
  return wrapWasmInstance(instance, memory, capacity);
469
473
  }
474
+ //#endregion smoo/lmao!n/wasm-mem.ts-allocator
@@ -20,6 +20,9 @@ import type { ITraceRoot } from '../traceRoot.js';
20
20
  import type { AnySpanBuffer } from '../types.js';
21
21
  import type { WasmAllocator } from './wasmAllocator.js';
22
22
 
23
+ // Spec link (88): realizes specs/lmao/01q_wasm_memory_architecture.md#smoo/lmao!n/wasm-mem (SpanBuffer + SpanLogger codegen).
24
+ //#region smoo/lmao!n/wasm-mem.spanbuffer
25
+
23
26
  // =============================================================================
24
27
  // Types
25
28
  // =============================================================================
@@ -1012,3 +1015,4 @@ export function createWasmOverflowBuffer(
1012
1015
 
1013
1016
  return overflow;
1014
1017
  }
1018
+ //#endregion smoo/lmao!n/wasm-mem.spanbuffer
@@ -16,6 +16,9 @@ import type { ITraceRoot, TracerLifecycleHooks } from '../traceRoot.js';
16
16
  import type { AnySpanBuffer } from '../types.js';
17
17
  import type { WasmAllocator } from './wasmAllocator.js';
18
18
 
19
+ // Spec link (88): realizes specs/lmao/01q_wasm_memory_architecture.md#smoo/lmao!n/wasm-mem (span lifecycle writer).
20
+ //#region smoo/lmao!n/wasm-mem.trace-root
21
+
19
22
  // =============================================================================
20
23
  // WASM Buffer Detection
21
24
  // =============================================================================
@@ -313,3 +316,4 @@ export function createWasmTraceRootFactory(allocator: WasmAllocator) {
313
316
  return new WasmTraceRoot(allocator, createTraceId(trace_id), tracer);
314
317
  };
315
318
  }
319
+ //#endregion smoo/lmao!n/wasm-mem.trace-root
package/src/node.ts CHANGED
@@ -7,4 +7,6 @@
7
7
  export * from './index.js';
8
8
 
9
9
  // Export Node.js-specific TraceRoot factory for Tracer construction
10
+ //#region smoo/lmao!n/trace-root-timestamps.entry-points #node
10
11
  export { createTraceRoot } from './lib/traceRoot.node.js';
12
+ //#endregion smoo/lmao!n/trace-root-timestamps.entry-points