@smoothbricks/lmao 0.2.2 → 0.3.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 (285) hide show
  1. package/README.md +206 -206
  2. package/dist/allocator.wasm +0 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1 -0
  6. package/dist/lib/JsBufferStrategy.d.ts +4 -3
  7. package/dist/lib/JsBufferStrategy.d.ts.map +1 -1
  8. package/dist/lib/JsBufferStrategy.js +18 -11
  9. package/dist/lib/arrow/lease.d.ts +10 -0
  10. package/dist/lib/arrow/lease.d.ts.map +1 -0
  11. package/dist/lib/arrow/lease.js +33 -0
  12. package/dist/lib/arrow/utils.d.ts +3 -4
  13. package/dist/lib/arrow/utils.d.ts.map +1 -1
  14. package/dist/lib/arrow/utils.js +12 -13
  15. package/dist/lib/arrow/vocabularyDictionary.d.ts +21 -0
  16. package/dist/lib/arrow/vocabularyDictionary.d.ts.map +1 -0
  17. package/dist/lib/arrow/vocabularyDictionary.js +95 -0
  18. package/dist/lib/bufferStrategy.d.ts +3 -2
  19. package/dist/lib/bufferStrategy.d.ts.map +1 -1
  20. package/dist/lib/cloudflare/traceRows.d.ts.map +1 -1
  21. package/dist/lib/cloudflare/traceRows.js +3 -2
  22. package/dist/lib/codegen/evaluatorGenerator.d.ts.map +1 -1
  23. package/dist/lib/codegen/evaluatorGenerator.js +12 -11
  24. package/dist/lib/codegen/fixedPositionWriterGenerator.d.ts +44 -82
  25. package/dist/lib/codegen/fixedPositionWriterGenerator.d.ts.map +1 -1
  26. package/dist/lib/codegen/fixedPositionWriterGenerator.js +223 -162
  27. package/dist/lib/codegen/spanLoggerClosureMaterializer.d.ts +63 -0
  28. package/dist/lib/codegen/spanLoggerClosureMaterializer.d.ts.map +1 -0
  29. package/dist/lib/codegen/spanLoggerClosureMaterializer.js +447 -0
  30. package/dist/lib/codegen/spanLoggerGenerator.d.ts +36 -19
  31. package/dist/lib/codegen/spanLoggerGenerator.d.ts.map +1 -1
  32. package/dist/lib/codegen/spanLoggerGenerator.js +164 -158
  33. package/dist/lib/convertToArrow.d.ts +7 -2
  34. package/dist/lib/convertToArrow.d.ts.map +1 -1
  35. package/dist/lib/convertToArrow.js +499 -285
  36. package/dist/lib/defineOpContext.js +1 -1
  37. package/dist/lib/enumMetadata.d.ts +19 -0
  38. package/dist/lib/enumMetadata.d.ts.map +1 -0
  39. package/dist/lib/enumMetadata.js +86 -0
  40. package/dist/lib/flushScheduler.d.ts.map +1 -1
  41. package/dist/lib/flushScheduler.js +13 -4
  42. package/dist/lib/library.d.ts +16 -98
  43. package/dist/lib/library.d.ts.map +1 -1
  44. package/dist/lib/library.js +32 -525
  45. package/dist/lib/logBinding.d.ts +21 -27
  46. package/dist/lib/logBinding.d.ts.map +1 -1
  47. package/dist/lib/op.d.ts +30 -30
  48. package/dist/lib/op.d.ts.map +1 -1
  49. package/dist/lib/op.js +15 -22
  50. package/dist/lib/opContext/createOpGroup.d.ts +1 -1
  51. package/dist/lib/opContext/createOpGroup.d.ts.map +1 -1
  52. package/dist/lib/opContext/createOpGroup.js +22 -29
  53. package/dist/lib/opContext/defineOp.d.ts +4 -4
  54. package/dist/lib/opContext/defineOp.d.ts.map +1 -1
  55. package/dist/lib/opContext/defineOp.js +53 -10
  56. package/dist/lib/opContext/opGroupTypes.d.ts +2 -2
  57. package/dist/lib/opContext/opTypes.d.ts +1 -1
  58. package/dist/lib/opContext/opTypes.d.ts.map +1 -1
  59. package/dist/lib/opContext/spanContextTypes.d.ts +33 -18
  60. package/dist/lib/opContext/spanContextTypes.d.ts.map +1 -1
  61. package/dist/lib/opContext/types.d.ts +4 -4
  62. package/dist/lib/opContext/types.d.ts.map +1 -1
  63. package/dist/lib/physicalLayoutPlan.d.ts +89 -0
  64. package/dist/lib/physicalLayoutPlan.d.ts.map +1 -0
  65. package/dist/lib/physicalLayoutPlan.js +442 -0
  66. package/dist/lib/resolveMessage.d.ts +9 -0
  67. package/dist/lib/resolveMessage.d.ts.map +1 -0
  68. package/dist/lib/resolveMessage.js +63 -0
  69. package/dist/lib/result.d.ts +5 -7
  70. package/dist/lib/result.d.ts.map +1 -1
  71. package/dist/lib/result.js +19 -26
  72. package/dist/lib/runtimeHint.d.ts +35 -0
  73. package/dist/lib/runtimeHint.d.ts.map +1 -0
  74. package/dist/lib/runtimeHint.js +79 -0
  75. package/dist/lib/schema/typeGuards.d.ts +7 -47
  76. package/dist/lib/schema/typeGuards.d.ts.map +1 -1
  77. package/dist/lib/schema/typeGuards.js +7 -123
  78. package/dist/lib/schema/types.d.ts +1 -1
  79. package/dist/lib/schema/types.d.ts.map +1 -1
  80. package/dist/lib/span-buffer/aot/v1.d.ts +2 -0
  81. package/dist/lib/span-buffer/aot/v1.d.ts.map +1 -0
  82. package/dist/lib/span-buffer/aot/v1.js +24 -0
  83. package/dist/lib/spanBuffer.d.ts +33 -4
  84. package/dist/lib/spanBuffer.d.ts.map +1 -1
  85. package/dist/lib/spanBuffer.js +583 -91
  86. package/dist/lib/spanBufferStats.d.ts +1 -1
  87. package/dist/lib/spanBufferStats.d.ts.map +1 -1
  88. package/dist/lib/spanContext.d.ts +27 -51
  89. package/dist/lib/spanContext.d.ts.map +1 -1
  90. package/dist/lib/spanContext.js +822 -344
  91. package/dist/lib/sqlite/sqlite-common.d.ts.map +1 -1
  92. package/dist/lib/sqlite/sqlite-common.js +20 -21
  93. package/dist/lib/testing/bun-harness.d.ts +8 -3
  94. package/dist/lib/testing/bun-harness.d.ts.map +1 -1
  95. package/dist/lib/testing/bun-harness.js +30 -18
  96. package/dist/lib/testing/extractFacts.d.ts +1 -1
  97. package/dist/lib/testing/extractFacts.d.ts.map +1 -1
  98. package/dist/lib/testing/extractFacts.js +55 -63
  99. package/dist/lib/testing/facts.d.ts +1 -1
  100. package/dist/lib/testing/facts.d.ts.map +1 -1
  101. package/dist/lib/testing/queryable-span.d.ts +1 -1
  102. package/dist/lib/testing/queryable-span.d.ts.map +1 -1
  103. package/dist/lib/testing/queryable-span.js +26 -28
  104. package/dist/lib/testing/span-query.d.ts.map +1 -1
  105. package/dist/lib/testing/span-query.js +19 -22
  106. package/dist/lib/testing/stdio-replay.d.ts.map +1 -1
  107. package/dist/lib/testing/stdio-replay.js +19 -8
  108. package/dist/lib/threadId.d.ts.map +1 -1
  109. package/dist/lib/threadId.js +6 -3
  110. package/dist/lib/traceContext.d.ts.map +1 -1
  111. package/dist/lib/traceContext.js +1 -4
  112. package/dist/lib/traceRoot.d.ts +30 -8
  113. package/dist/lib/traceRoot.d.ts.map +1 -1
  114. package/dist/lib/traceRoot.es.d.ts +17 -15
  115. package/dist/lib/traceRoot.es.d.ts.map +1 -1
  116. package/dist/lib/traceRoot.es.js +68 -34
  117. package/dist/lib/traceRoot.js +11 -0
  118. package/dist/lib/traceRoot.node.d.ts +17 -19
  119. package/dist/lib/traceRoot.node.d.ts.map +1 -1
  120. package/dist/lib/traceRoot.node.js +66 -38
  121. package/dist/lib/traceTopology.d.ts +42 -0
  122. package/dist/lib/traceTopology.d.ts.map +1 -0
  123. package/dist/lib/traceTopology.js +260 -0
  124. package/dist/lib/tracer.d.ts +9 -5
  125. package/dist/lib/tracer.d.ts.map +1 -1
  126. package/dist/lib/tracer.js +65 -71
  127. package/dist/lib/tracers/ArrayQueueTracer.d.ts +1 -1
  128. package/dist/lib/tracers/ArrayQueueTracer.js +1 -1
  129. package/dist/lib/tracers/StdioTracer.d.ts.map +1 -1
  130. package/dist/lib/tracers/StdioTracer.js +15 -13
  131. package/dist/lib/tracers/TestTracer.d.ts +4 -6
  132. package/dist/lib/tracers/TestTracer.d.ts.map +1 -1
  133. package/dist/lib/tracers/TestTracer.js +6 -8
  134. package/dist/lib/types.d.ts +49 -32
  135. package/dist/lib/types.d.ts.map +1 -1
  136. package/dist/lib/vocabularyRegistry.d.ts +25 -0
  137. package/dist/lib/vocabularyRegistry.d.ts.map +1 -0
  138. package/dist/lib/vocabularyRegistry.js +372 -0
  139. package/dist/lib/wasm/WasmBufferStrategy.d.ts +6 -10
  140. package/dist/lib/wasm/WasmBufferStrategy.d.ts.map +1 -1
  141. package/dist/lib/wasm/WasmBufferStrategy.js +44 -37
  142. package/dist/lib/wasm/wasmAllocator.d.ts +27 -22
  143. package/dist/lib/wasm/wasmAllocator.d.ts.map +1 -1
  144. package/dist/lib/wasm/wasmAllocator.js +66 -44
  145. package/dist/lib/wasm/wasmPhysicalLayout.d.ts +67 -0
  146. package/dist/lib/wasm/wasmPhysicalLayout.d.ts.map +1 -0
  147. package/dist/lib/wasm/wasmPhysicalLayout.js +179 -0
  148. package/dist/lib/wasm/wasmSpanBuffer.d.ts +79 -31
  149. package/dist/lib/wasm/wasmSpanBuffer.d.ts.map +1 -1
  150. package/dist/lib/wasm/wasmSpanBuffer.js +442 -272
  151. package/dist/lib/wasm/wasmTraceRoot.d.ts +24 -22
  152. package/dist/lib/wasm/wasmTraceRoot.d.ts.map +1 -1
  153. package/dist/lib/wasm/wasmTraceRoot.js +110 -71
  154. package/dist/vocabulary/register/v1.d.ts +2 -0
  155. package/dist/vocabulary/register/v1.d.ts.map +1 -0
  156. package/dist/vocabulary/register/v1.js +1 -0
  157. package/dist/wasm.d.ts +5 -0
  158. package/dist/wasm.d.ts.map +1 -0
  159. package/dist/wasm.js +4 -0
  160. package/package.json +54 -6
  161. package/src/index.ts +1 -0
  162. package/src/lib/JsBufferStrategy.ts +27 -9
  163. package/src/lib/__tests__/arrow-builder-integration/arrow-conversion.test.ts +335 -37
  164. package/src/lib/__tests__/arrow-builder-integration/binary-arrow-conversion.test.ts +97 -26
  165. package/src/lib/__tests__/arrow-builder-integration/binary-comparison.test.ts +75 -15
  166. package/src/lib/__tests__/arrow-builder-integration/binary-format-compliance.test.ts +30 -6
  167. package/src/lib/__tests__/arrow-builder-integration/buffer-chaining.test.ts +18 -21
  168. package/src/lib/__tests__/arrow-builder-integration/foundation.test.ts +5 -2
  169. package/src/lib/__tests__/arrow-builder-integration/integration.test.ts +25 -7
  170. package/src/lib/__tests__/arrow-builder-integration/lazy-columns.test.ts +3 -2
  171. package/src/lib/__tests__/buffer-overflow.test.ts +24 -18
  172. package/src/lib/__tests__/capability-span-context.test.ts +505 -0
  173. package/src/lib/__tests__/capacity-tuning.test.ts +5 -3
  174. package/src/lib/__tests__/eager-columns.test.ts +345 -0
  175. package/src/lib/__tests__/enum-metadata-aot.test.ts +153 -0
  176. package/src/lib/__tests__/enum-metadata.test.ts +177 -0
  177. package/src/lib/__tests__/fixtures/empty-vocabulary-runtime.fixture.ts +15 -0
  178. package/src/lib/__tests__/flushScheduler.test.ts +5 -1
  179. package/src/lib/__tests__/identity-view.property.test.ts +179 -0
  180. package/src/lib/__tests__/library.test.ts +19 -235
  181. package/src/lib/__tests__/message-buffer-families.test.ts +878 -0
  182. package/src/lib/__tests__/nested-library-tasks.test.ts +14 -15
  183. package/src/lib/__tests__/op-metadata.test.ts +1 -1
  184. package/src/lib/__tests__/op-type-safety.test.ts +5 -16
  185. package/src/lib/__tests__/physical-layout-plan.test.ts +333 -0
  186. package/src/lib/__tests__/remap-descriptor-integration.test.ts +381 -0
  187. package/src/lib/__tests__/root-context-construction.test.ts +414 -0
  188. package/src/lib/__tests__/span-auto-runtime.test.ts +386 -0
  189. package/src/lib/__tests__/span-buffer-segment-stats.test.ts +221 -0
  190. package/src/lib/__tests__/span-lifecycle.test.ts +53 -25
  191. package/src/lib/__tests__/spanbuffer-materializer-parity.test.ts +266 -0
  192. package/src/lib/__tests__/sync-async-trace.test.ts +24 -23
  193. package/src/lib/__tests__/tag-writer-aot.test.ts +214 -0
  194. package/src/lib/__tests__/test-helpers.ts +67 -12
  195. package/src/lib/__tests__/threadId.test.ts +62 -0
  196. package/src/lib/__tests__/timestamp.test.ts +221 -93
  197. package/src/lib/__tests__/traceTopology.property.test.ts +383 -0
  198. package/src/lib/__tests__/type-narrowing.test.ts +63 -0
  199. package/src/lib/__tests__/vocabulary-dense-decoding.test.ts +405 -0
  200. package/src/lib/__tests__/vocabularyRegistry.test.ts +313 -0
  201. package/src/lib/arrow/lease.ts +43 -0
  202. package/src/lib/arrow/utils.ts +10 -14
  203. package/src/lib/arrow/vocabularyDictionary.ts +123 -0
  204. package/src/lib/bufferStrategy.ts +9 -1
  205. package/src/lib/cloudflare/traceRows.ts +3 -2
  206. package/src/lib/codegen/__tests__/evaluatorGenerator.test.ts +21 -141
  207. package/src/lib/codegen/__tests__/fixedPositionWriter-parity.test.ts +273 -0
  208. package/src/lib/codegen/__tests__/fixedPositionWriter-uint64.test.ts +61 -34
  209. package/src/lib/codegen/__tests__/nullBitmap.test.ts +33 -37
  210. package/src/lib/codegen/__tests__/spanLoggerGenerator.test.ts +34 -18
  211. package/src/lib/codegen/__tests__/spanLoggerMaterializerParity.test.ts +503 -0
  212. package/src/lib/codegen/evaluatorGenerator.ts +18 -13
  213. package/src/lib/codegen/fixedPositionWriterGenerator.ts +329 -245
  214. package/src/lib/codegen/spanLoggerClosureMaterializer.ts +598 -0
  215. package/src/lib/codegen/spanLoggerGenerator.ts +241 -177
  216. package/src/lib/convertToArrow.ts +598 -311
  217. package/src/lib/defineOpContext.ts +1 -1
  218. package/src/lib/enumMetadata.ts +121 -0
  219. package/src/lib/flushScheduler.ts +11 -5
  220. package/src/lib/library.ts +37 -595
  221. package/src/lib/logBinding.ts +21 -27
  222. package/src/lib/op.ts +75 -18
  223. package/src/lib/opContext/__tests__/retry.test.ts +27 -21
  224. package/src/lib/opContext/createOpGroup.ts +33 -31
  225. package/src/lib/opContext/defineOp.ts +88 -11
  226. package/src/lib/opContext/opGroupTypes.ts +2 -2
  227. package/src/lib/opContext/opTypes.ts +1 -1
  228. package/src/lib/opContext/spanContextTypes.ts +122 -24
  229. package/src/lib/opContext/types.ts +7 -3
  230. package/src/lib/physicalLayoutPlan.ts +598 -0
  231. package/src/lib/resolveMessage.ts +67 -0
  232. package/src/lib/result.ts +20 -33
  233. package/src/lib/runtimeHint.ts +98 -0
  234. package/src/lib/schema/__tests__/featureFlags.test.ts +2 -1
  235. package/src/lib/schema/builder.ts +1 -1
  236. package/src/lib/schema/typeGuards.ts +7 -151
  237. package/src/lib/schema/types.ts +1 -1
  238. package/src/lib/span-buffer/aot/v1.ts +26 -0
  239. package/src/lib/spanBuffer.ts +658 -92
  240. package/src/lib/spanBufferStats.ts +1 -1
  241. package/src/lib/spanContext.ts +1350 -861
  242. package/src/lib/sqlite/sqlite-common.ts +20 -31
  243. package/src/lib/testing/__tests__/topology-traversal.test.ts +174 -0
  244. package/src/lib/testing/__tests__/vitest-harness.test.ts +2 -1
  245. package/src/lib/testing/bun-harness.ts +94 -43
  246. package/src/lib/testing/extractFacts.ts +64 -78
  247. package/src/lib/testing/facts.ts +1 -1
  248. package/src/lib/testing/queryable-span.ts +23 -30
  249. package/src/lib/testing/span-query.ts +16 -20
  250. package/src/lib/testing/stdio-replay.ts +25 -8
  251. package/src/lib/testing/vitest-harness.ts +1 -1
  252. package/src/lib/threadId.ts +6 -3
  253. package/src/lib/traceContext.ts +1 -6
  254. package/src/lib/traceRoot.es.ts +77 -42
  255. package/src/lib/traceRoot.node.ts +75 -46
  256. package/src/lib/traceRoot.ts +41 -14
  257. package/src/lib/traceTopology.ts +279 -0
  258. package/src/lib/tracer.ts +109 -98
  259. package/src/lib/tracers/ArrayQueueTracer.ts +1 -1
  260. package/src/lib/tracers/StdioTracer.ts +15 -13
  261. package/src/lib/tracers/TestTracer.ts +6 -8
  262. package/src/lib/tracers/__tests__/ArrayQueueTracer.test.ts +15 -10
  263. package/src/lib/tracers/__tests__/CompositeTracer.test.ts +150 -0
  264. package/src/lib/tracers/__tests__/TestTracer.test.ts +23 -13
  265. package/src/lib/types.ts +64 -33
  266. package/src/lib/vocabularyRegistry.ts +439 -0
  267. package/src/lib/wasm/WasmBufferStrategy.ts +56 -48
  268. package/src/lib/wasm/__tests__/WasmBufferStrategy.test.ts +215 -11
  269. package/src/lib/wasm/__tests__/allocatorFreeBlockClamp.test.ts +86 -0
  270. package/src/lib/wasm/__tests__/wasm-identity-view.test.ts +311 -0
  271. package/src/lib/wasm/__tests__/wasm-integration.test.ts +417 -44
  272. package/src/lib/wasm/__tests__/wasm-message-buffer-families.test.ts +588 -0
  273. package/src/lib/wasm/__tests__/wasmAllocator.test.ts +100 -668
  274. package/src/lib/wasm/__tests__/wasmSpanBuffer.test.ts +419 -63
  275. package/src/lib/wasm/__tests__/wasmTraceRoot.test.ts +24 -29
  276. package/src/lib/wasm/__tests__/wasmTracer.test.ts.disabled +2 -2
  277. package/src/lib/wasm/wasmAllocator.ts +131 -96
  278. package/src/lib/wasm/wasmPhysicalLayout.ts +309 -0
  279. package/src/lib/wasm/wasmSpanBuffer.ts +597 -341
  280. package/src/lib/wasm/wasmTraceRoot.ts +140 -78
  281. package/src/vocabulary/register/v1.ts +1 -0
  282. package/src/wasm.ts +19 -0
  283. package/src/lib/__tests__/remapped-buffer-view-integration.test.ts +0 -319
  284. package/src/lib/__tests__/remapped-buffer-view.test.ts +0 -635
  285. package/src/lib/wasm/allocator.zig +0 -948
@@ -11,48 +11,93 @@
11
11
  */
12
12
  import type { ColumnValueType } from '@smoothbricks/arrow-builder';
13
13
  import type { OpMetadata } from '../op.js';
14
+ import type { EagerColumnDescriptor } from '../physicalLayoutPlan.js';
15
+ import type { MessageLayoutFamily, MessagePhysicalLayout } from '../runtimeHint.js';
14
16
  import type { LogSchema } from '../schema/LogSchema.js';
15
17
  import type { SpanBufferStats } from '../spanBufferStats.js';
16
18
  import type { ITraceRoot } from '../traceRoot.js';
17
- import type { AnySpanBuffer } from '../types.js';
18
- import type { WasmAllocator } from './wasmAllocator.js';
19
+ import type { SpanBuffer } from '../types.js';
20
+ import { type VocabularyGeneration } from '../vocabularyRegistry.js';
21
+ import { type WasmAllocator } from './wasmAllocator.js';
22
+ import { type WasmNumericFamily, type WasmPhysicalLayoutDescriptor } from './wasmPhysicalLayout.js';
19
23
  /**
20
24
  * Options for WASM SpanBuffer instances.
21
25
  * Used by createWasmSpanBuffer (root), createWasmChildSpanBuffer (child), and createWasmOverflowBuffer.
22
26
  * Internal fields (_traceRoot, _scopeValues, _opMetadata, _callsiteMetadata) are passed separately
23
27
  * by the create* functions.
24
28
  */
25
- export interface WasmSpanBufferOptions {
29
+ export type WasmBufferState = 'live' | 'freed';
30
+ export type WasmIdentityMode = 'root' | 'child' | 'overflow';
31
+ export interface WasmBufferDescriptor {
32
+ readonly generation: number;
33
+ readonly kind: WasmIdentityMode;
34
+ state: WasmBufferState;
35
+ readonly layout: WasmPhysicalLayoutDescriptor;
36
+ readonly allocationPtr: number;
37
+ readonly allocationByteLength: number;
38
+ readonly systemPtr: number;
39
+ readonly familyPtrs: Readonly<Record<WasmNumericFamily, number>>;
40
+ readonly identityPtr: number;
41
+ readonly ownsIdentity: boolean;
42
+ memoryVersion: number;
43
+ readonly parent?: WasmBufferDescriptor;
44
+ overflow?: WasmBufferDescriptor;
45
+ }
46
+ export interface WasmSpanBufferOptions<T extends LogSchema = LogSchema> {
26
47
  allocator: WasmAllocator;
27
48
  capacity: number;
28
- trace_id: string;
29
- thread_id: bigint;
30
- span_id: number;
31
- parent_thread_id?: bigint;
32
- parent_span_id?: number;
33
- logSchema: LogSchema;
34
- _traceRoot: ITraceRoot;
49
+ messageLayoutFamily?: MessageLayoutFamily;
50
+ messagePhysicalLayout?: MessagePhysicalLayout;
51
+ logSchema: T;
52
+ _traceRoot: ITraceRoot<T>;
35
53
  _scopeValues: Readonly<Record<string, unknown>>;
36
54
  _opMetadata: OpMetadata;
37
55
  _callsiteMetadata: OpMetadata;
56
+ _vocabularyGeneration: VocabularyGeneration;
57
+ _layout: WasmPhysicalLayoutDescriptor;
58
+ _identityMode?: WasmIdentityMode;
59
+ _identitySource?: WasmSpanBufferInstance<T>;
60
+ _parent?: WasmSpanBufferInstance<T>;
61
+ _generation?: number;
38
62
  }
39
63
  /**
40
- * WASM SpanBuffer instance interface.
41
- * Extends AnySpanBuffer with WASM-specific pointer properties.
64
+ * Extends the schema-specific SpanBuffer shape with WASM pointer ownership.
42
65
  */
43
- export interface WasmSpanBufferInstance extends AnySpanBuffer {
66
+ export type WasmSpanBufferInstance<T extends LogSchema = LogSchema> = SpanBuffer<T> & {
44
67
  /** Byte offset into WASM memory for system columns (timestamp + entry_type) */
45
68
  readonly _systemPtr: number;
69
+ /** Owning root/child/overflow superblock returned by the allocator. */
70
+ readonly _allocationPtr: number;
71
+ readonly _allocationByteLength: number;
46
72
  /** Byte offset into WASM memory for identity block (writeIndex, span_id, trace_id) */
47
73
  readonly _identityPtr: number;
48
74
  /** Array of byte offsets for each column (-1 = not allocated) */
49
75
  readonly _columnPtrs: Int32Array;
50
76
  /** Reference to the WASM allocator */
51
77
  readonly _allocator: WasmAllocator;
52
- _parent?: WasmSpanBufferInstance;
53
- _children: WasmSpanBufferInstance[];
54
- _overflow?: WasmSpanBufferInstance;
55
- readonly _message: string[];
78
+ readonly _descriptor: WasmBufferDescriptor;
79
+ readonly _layout: WasmPhysicalLayoutDescriptor;
80
+ readonly _familyPtrs: Readonly<Record<WasmNumericFamily, number>>;
81
+ _viewVersion: number;
82
+ _timestampView: BigInt64Array;
83
+ _entryTypeView?: Uint8Array;
84
+ _messageIds?: Uint16Array;
85
+ _logHeaders?: Uint32Array;
86
+ _rowHeaders?: Uint32Array;
87
+ _identityView: Uint8Array;
88
+ _identityData: DataView;
89
+ _identitySource?: WasmSpanBufferInstance<T>;
90
+ readonly _threadId: bigint;
91
+ readonly _spanId: number;
92
+ _refreshViews(version: number): void;
93
+ _ensureWasmViews(): void;
94
+ _getWasmColumnValue(columnIndex: number): ColumnValueType | undefined;
95
+ _getWasmColumnNulls(columnIndex: number): Uint8Array | undefined;
96
+ readonly _identityOwner: boolean;
97
+ _overflowWriteIndex: number;
98
+ _parent?: WasmSpanBufferInstance<T>;
99
+ _overflow?: WasmSpanBufferInstance<T>;
100
+ readonly _message?: string[];
56
101
  /** Free all WASM memory for this buffer */
57
102
  free(): void;
58
103
  /** Check if column is allocated */
@@ -61,16 +106,19 @@ export interface WasmSpanBufferInstance extends AnySpanBuffer {
61
106
  getColumnIfAllocated(columnName: string): ColumnValueType | undefined;
62
107
  /** Get column nulls array if allocated */
63
108
  getNullsIfAllocated(columnName: string): Uint8Array | undefined;
64
- }
109
+ };
65
110
  /**
66
111
  * Constructor type for generated WASM SpanBuffer classes.
67
112
  */
68
- export interface WasmSpanBufferConstructor {
69
- new (opts: WasmSpanBufferOptions): WasmSpanBufferInstance;
70
- readonly schema: LogSchema;
113
+ export interface WasmSpanBufferConstructor<T extends LogSchema = LogSchema> {
114
+ new (opts: WasmSpanBufferOptions<T>): WasmSpanBufferInstance<T>;
115
+ readonly schema: T;
116
+ readonly messageLayoutFamily: MessageLayoutFamily;
117
+ readonly messagePhysicalLayout: MessagePhysicalLayout;
118
+ readonly eagerColumns: EagerColumnDescriptor;
71
119
  stats: SpanBufferStats;
72
120
  }
73
- export declare function isWasmSpanBufferInstance(value: unknown): value is WasmSpanBufferInstance;
121
+ export declare function isWasmSpanBufferInstance<T extends LogSchema = LogSchema>(value: unknown): value is WasmSpanBufferInstance<T>;
74
122
  /**
75
123
  * Generate a WASM SpanBuffer class for the given schema.
76
124
  *
@@ -79,7 +127,7 @@ export declare function isWasmSpanBufferInstance(value: unknown): value is WasmS
79
127
  * @param schema - LogSchema defining the buffer structure
80
128
  * @returns WasmSpanBufferConstructor for creating buffer instances
81
129
  */
82
- export declare function getWasmSpanBufferClass(schema: LogSchema): WasmSpanBufferConstructor;
130
+ export declare function getWasmSpanBufferClass<T extends LogSchema>(schema: T, messageLayoutFamily?: MessageLayoutFamily, messagePhysicalLayout?: MessagePhysicalLayout, eagerColumns?: EagerColumnDescriptor): WasmSpanBufferConstructor<T>;
83
131
  /**
84
132
  * Create a WASM SpanBuffer instance.
85
133
  *
@@ -89,9 +137,9 @@ export declare function getWasmSpanBufferClass(schema: LogSchema): WasmSpanBuffe
89
137
  * @param _scopeValues - Scope values for this span
90
138
  * @param _opMetadata - Op metadata for attribution
91
139
  * @param _callsiteMetadata - Callsite metadata for attribution
92
- * @returns WasmSpanBufferInstance
140
+ * @returns Schema-specific WASM buffer instance
93
141
  */
94
- export declare function createWasmSpanBuffer(schema: LogSchema, opts: Omit<WasmSpanBufferOptions, 'logSchema' | '_traceRoot' | '_scopeValues' | '_opMetadata' | '_callsiteMetadata'>, _traceRoot: ITraceRoot, _scopeValues: Readonly<Record<string, unknown>>, _opMetadata: OpMetadata, _callsiteMetadata: OpMetadata): WasmSpanBufferInstance;
142
+ export declare function createWasmSpanBuffer<T extends LogSchema>(schema: T, opts: Omit<WasmSpanBufferOptions<T>, 'logSchema' | '_traceRoot' | '_scopeValues' | '_opMetadata' | '_callsiteMetadata' | '_vocabularyGeneration' | '_layout'>, _traceRoot: ITraceRoot<T>, _scopeValues: Readonly<Record<string, unknown>>, _opMetadata: OpMetadata, _callsiteMetadata: OpMetadata): WasmSpanBufferInstance<T>;
95
143
  /**
96
144
  * Create a child WASM SpanBuffer linked to a parent.
97
145
  *
@@ -104,11 +152,11 @@ export declare function createWasmSpanBuffer(schema: LogSchema, opts: Omit<WasmS
104
152
  * @param _scopeValues - Scope values for this span
105
153
  * @param _opMetadata - Op metadata for attribution
106
154
  * @param _callsiteMetadata - Callsite metadata for attribution
107
- * @returns WasmSpanBufferInstance linked to parent
155
+ * @returns Schema-specific child WASM buffer
108
156
  */
109
- export declare function createWasmChildSpanBuffer(parent: WasmSpanBufferInstance, opts: Omit<WasmSpanBufferOptions, 'logSchema' | 'trace_id' | 'parent_thread_id' | 'parent_span_id' | '_traceRoot' | '_scopeValues' | '_opMetadata' | '_callsiteMetadata'> & {
110
- schema?: LogSchema;
111
- }, _traceRoot: ITraceRoot, _scopeValues: Readonly<Record<string, unknown>>, _opMetadata: OpMetadata, _callsiteMetadata: OpMetadata): WasmSpanBufferInstance;
157
+ export declare function createWasmChildSpanBuffer<T extends LogSchema>(parent: WasmSpanBufferInstance<T>, opts: Omit<WasmSpanBufferOptions<T>, 'logSchema' | '_traceRoot' | '_scopeValues' | '_opMetadata' | '_callsiteMetadata' | '_vocabularyGeneration' | '_layout'> & {
158
+ schema?: T;
159
+ }, _traceRoot: ITraceRoot<T>, _scopeValues: Readonly<Record<string, unknown>>, _opMetadata: OpMetadata, _callsiteMetadata: OpMetadata): WasmSpanBufferInstance<T>;
112
160
  /**
113
161
  * Create an overflow WASM SpanBuffer for chaining.
114
162
  *
@@ -117,7 +165,7 @@ export declare function createWasmChildSpanBuffer(parent: WasmSpanBufferInstance
117
165
  * @param _scopeValues - Scope values for this span
118
166
  * @param _opMetadata - Op metadata for attribution
119
167
  * @param _callsiteMetadata - Callsite metadata for attribution
120
- * @returns WasmSpanBufferInstance linked as overflow
168
+ * @returns Schema-specific overflow WASM buffer
121
169
  */
122
- export declare function createWasmOverflowBuffer(buffer: WasmSpanBufferInstance, _traceRoot: ITraceRoot, _scopeValues: Readonly<Record<string, unknown>>, _opMetadata: OpMetadata, _callsiteMetadata: OpMetadata): WasmSpanBufferInstance;
170
+ export declare function createWasmOverflowBuffer<T extends LogSchema>(buffer: WasmSpanBufferInstance<T>, _traceRoot: ITraceRoot<T>, _scopeValues: Readonly<Record<string, unknown>>, _opMetadata: OpMetadata, _callsiteMetadata: OpMetadata): WasmSpanBufferInstance<T>;
123
171
  //# sourceMappingURL=wasmSpanBuffer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wasmSpanBuffer.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/wasmSpanBuffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wasmSpanBuffer.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/wasmSpanBuffer.ts"],"names":[],"mappings":"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"}