@smoothbricks/lmao 0.1.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.
- package/README.md +269 -0
- package/dist/allocator.wasm +0 -0
- package/dist/bun/preload.d.ts +11 -0
- package/dist/bun/preload.d.ts.map +1 -0
- package/dist/bun/preload.js +10 -0
- package/dist/bun/trace-preload.d.ts +8 -0
- package/dist/bun/trace-preload.d.ts.map +1 -0
- package/dist/bun/trace-preload.js +12 -0
- package/dist/es.d.ts +8 -0
- package/dist/es.d.ts.map +1 -0
- package/dist/es.js +9 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +84 -0
- package/dist/lib/JsBufferStrategy.d.ts +49 -0
- package/dist/lib/JsBufferStrategy.d.ts.map +1 -0
- package/dist/lib/JsBufferStrategy.js +60 -0
- package/dist/lib/archive/chunkCompaction.d.ts +15 -0
- package/dist/lib/archive/chunkCompaction.d.ts.map +1 -0
- package/dist/lib/archive/chunkCompaction.js +24 -0
- package/dist/lib/archive/chunkEnvelope.d.ts +21 -0
- package/dist/lib/archive/chunkEnvelope.d.ts.map +1 -0
- package/dist/lib/archive/chunkEnvelope.js +55 -0
- package/dist/lib/archive/chunkRouting.d.ts +10 -0
- package/dist/lib/archive/chunkRouting.d.ts.map +1 -0
- package/dist/lib/archive/chunkRouting.js +47 -0
- package/dist/lib/archive/chunkStats.d.ts +12 -0
- package/dist/lib/archive/chunkStats.d.ts.map +1 -0
- package/dist/lib/archive/chunkStats.js +10 -0
- package/dist/lib/archive/index.d.ts +5 -0
- package/dist/lib/archive/index.d.ts.map +1 -0
- package/dist/lib/archive/index.js +4 -0
- package/dist/lib/arrow/capacityStats.d.ts +9 -0
- package/dist/lib/arrow/capacityStats.d.ts.map +1 -0
- package/dist/lib/arrow/capacityStats.js +231 -0
- package/dist/lib/arrow/dictionaries.d.ts +27 -0
- package/dist/lib/arrow/dictionaries.d.ts.map +1 -0
- package/dist/lib/arrow/dictionaries.js +135 -0
- package/dist/lib/arrow/flechette.d.ts +40 -0
- package/dist/lib/arrow/flechette.d.ts.map +1 -0
- package/dist/lib/arrow/flechette.js +67 -0
- package/dist/lib/arrow/utils.d.ts +38 -0
- package/dist/lib/arrow/utils.d.ts.map +1 -0
- package/dist/lib/arrow/utils.js +112 -0
- package/dist/lib/buffer/Nanoseconds.d.ts +109 -0
- package/dist/lib/buffer/Nanoseconds.d.ts.map +1 -0
- package/dist/lib/buffer/Nanoseconds.js +86 -0
- package/dist/lib/bufferStrategy.d.ts +95 -0
- package/dist/lib/bufferStrategy.d.ts.map +1 -0
- package/dist/lib/bufferStrategy.js +1 -0
- package/dist/lib/capacityTuning.d.ts +50 -0
- package/dist/lib/capacityTuning.d.ts.map +1 -0
- package/dist/lib/capacityTuning.js +65 -0
- package/dist/lib/codegen/evaluatorGenerator.d.ts +35 -0
- package/dist/lib/codegen/evaluatorGenerator.d.ts.map +1 -0
- package/dist/lib/codegen/evaluatorGenerator.js +199 -0
- package/dist/lib/codegen/fixedPositionWriterGenerator.d.ts +139 -0
- package/dist/lib/codegen/fixedPositionWriterGenerator.d.ts.map +1 -0
- package/dist/lib/codegen/fixedPositionWriterGenerator.js +289 -0
- package/dist/lib/codegen/spanLoggerGenerator.d.ts +115 -0
- package/dist/lib/codegen/spanLoggerGenerator.d.ts.map +1 -0
- package/dist/lib/codegen/spanLoggerGenerator.js +575 -0
- package/dist/lib/convertToArrow.d.ts +40 -0
- package/dist/lib/convertToArrow.d.ts.map +1 -0
- package/dist/lib/convertToArrow.js +1467 -0
- package/dist/lib/defineOpContext.d.ts +96 -0
- package/dist/lib/defineOpContext.d.ts.map +1 -0
- package/dist/lib/defineOpContext.js +227 -0
- package/dist/lib/errors/Blocked.d.ts +113 -0
- package/dist/lib/errors/Blocked.d.ts.map +1 -0
- package/dist/lib/errors/Blocked.js +68 -0
- package/dist/lib/errors/CodeError.d.ts +101 -0
- package/dist/lib/errors/CodeError.d.ts.map +1 -0
- package/dist/lib/errors/CodeError.js +42 -0
- package/dist/lib/errors/RetriesExhausted.d.ts +67 -0
- package/dist/lib/errors/RetriesExhausted.d.ts.map +1 -0
- package/dist/lib/errors/RetriesExhausted.js +31 -0
- package/dist/lib/errors/Transient.d.ts +115 -0
- package/dist/lib/errors/Transient.d.ts.map +1 -0
- package/dist/lib/errors/Transient.js +54 -0
- package/dist/lib/errors/index.d.ts +14 -0
- package/dist/lib/errors/index.d.ts.map +1 -0
- package/dist/lib/errors/index.js +16 -0
- package/dist/lib/errors/retry-policy.d.ts +60 -0
- package/dist/lib/errors/retry-policy.d.ts.map +1 -0
- package/dist/lib/errors/retry-policy.js +54 -0
- package/dist/lib/flushScheduler.d.ts +162 -0
- package/dist/lib/flushScheduler.d.ts.map +1 -0
- package/dist/lib/flushScheduler.js +388 -0
- package/dist/lib/library.d.ts +149 -0
- package/dist/lib/library.d.ts.map +1 -0
- package/dist/lib/library.js +588 -0
- package/dist/lib/logApi.d.ts +61 -0
- package/dist/lib/logApi.d.ts.map +1 -0
- package/dist/lib/logApi.js +12 -0
- package/dist/lib/logBinding.d.ts +63 -0
- package/dist/lib/logBinding.d.ts.map +1 -0
- package/dist/lib/logBinding.js +1 -0
- package/dist/lib/op.d.ts +105 -0
- package/dist/lib/op.d.ts.map +1 -0
- package/dist/lib/op.js +59 -0
- package/dist/lib/opContext/contextTypes.d.ts +88 -0
- package/dist/lib/opContext/contextTypes.d.ts.map +1 -0
- package/dist/lib/opContext/contextTypes.js +34 -0
- package/dist/lib/opContext/createOpGroup.d.ts +57 -0
- package/dist/lib/opContext/createOpGroup.d.ts.map +1 -0
- package/dist/lib/opContext/createOpGroup.js +341 -0
- package/dist/lib/opContext/defineOp.d.ts +83 -0
- package/dist/lib/opContext/defineOp.d.ts.map +1 -0
- package/dist/lib/opContext/defineOp.js +197 -0
- package/dist/lib/opContext/featureFlagTypes.d.ts +58 -0
- package/dist/lib/opContext/featureFlagTypes.d.ts.map +1 -0
- package/dist/lib/opContext/featureFlagTypes.js +1 -0
- package/dist/lib/opContext/index.d.ts +13 -0
- package/dist/lib/opContext/index.d.ts.map +1 -0
- package/dist/lib/opContext/index.js +15 -0
- package/dist/lib/opContext/opGroupTypes.d.ts +250 -0
- package/dist/lib/opContext/opGroupTypes.d.ts.map +1 -0
- package/dist/lib/opContext/opGroupTypes.js +31 -0
- package/dist/lib/opContext/opTypes.d.ts +48 -0
- package/dist/lib/opContext/opTypes.d.ts.map +1 -0
- package/dist/lib/opContext/opTypes.js +7 -0
- package/dist/lib/opContext/spanContextTypes.d.ts +347 -0
- package/dist/lib/opContext/spanContextTypes.d.ts.map +1 -0
- package/dist/lib/opContext/spanContextTypes.js +1 -0
- package/dist/lib/opContext/types.d.ts +297 -0
- package/dist/lib/opContext/types.d.ts.map +1 -0
- package/dist/lib/opContext/types.js +16 -0
- package/dist/lib/result.d.ts +308 -0
- package/dist/lib/result.d.ts.map +1 -0
- package/dist/lib/result.js +359 -0
- package/dist/lib/schema/LogSchema.d.ts +62 -0
- package/dist/lib/schema/LogSchema.d.ts.map +1 -0
- package/dist/lib/schema/LogSchema.js +134 -0
- package/dist/lib/schema/builder.d.ts +12 -0
- package/dist/lib/schema/builder.d.ts.map +1 -0
- package/dist/lib/schema/builder.js +169 -0
- package/dist/lib/schema/defineFeatureFlags.d.ts +60 -0
- package/dist/lib/schema/defineFeatureFlags.d.ts.map +1 -0
- package/dist/lib/schema/defineFeatureFlags.js +29 -0
- package/dist/lib/schema/defineLogSchema.d.ts +87 -0
- package/dist/lib/schema/defineLogSchema.d.ts.map +1 -0
- package/dist/lib/schema/defineLogSchema.js +171 -0
- package/dist/lib/schema/evaluator.d.ts +267 -0
- package/dist/lib/schema/evaluator.d.ts.map +1 -0
- package/dist/lib/schema/evaluator.js +169 -0
- package/dist/lib/schema/extend.d.ts +14 -0
- package/dist/lib/schema/extend.d.ts.map +1 -0
- package/dist/lib/schema/extend.js +51 -0
- package/dist/lib/schema/systemSchema.d.ts +112 -0
- package/dist/lib/schema/systemSchema.d.ts.map +1 -0
- package/dist/lib/schema/systemSchema.js +260 -0
- package/dist/lib/schema/typeGuards.d.ts +52 -0
- package/dist/lib/schema/typeGuards.d.ts.map +1 -0
- package/dist/lib/schema/typeGuards.js +127 -0
- package/dist/lib/schema/types.d.ts +156 -0
- package/dist/lib/schema/types.d.ts.map +1 -0
- package/dist/lib/schema/types.js +4 -0
- package/dist/lib/spanBuffer.d.ts +133 -0
- package/dist/lib/spanBuffer.d.ts.map +1 -0
- package/dist/lib/spanBuffer.js +442 -0
- package/dist/lib/spanBufferHelpers.d.ts +53 -0
- package/dist/lib/spanBufferHelpers.d.ts.map +1 -0
- package/dist/lib/spanBufferHelpers.js +65 -0
- package/dist/lib/spanBufferStats.d.ts +38 -0
- package/dist/lib/spanBufferStats.d.ts.map +1 -0
- package/dist/lib/spanBufferStats.js +1 -0
- package/dist/lib/spanContext.d.ts +141 -0
- package/dist/lib/spanContext.d.ts.map +1 -0
- package/dist/lib/spanContext.js +763 -0
- package/dist/lib/sqlite/index.d.ts +14 -0
- package/dist/lib/sqlite/index.d.ts.map +1 -0
- package/dist/lib/sqlite/index.js +12 -0
- package/dist/lib/sqlite/sqlite-async-writer.d.ts +24 -0
- package/dist/lib/sqlite/sqlite-async-writer.d.ts.map +1 -0
- package/dist/lib/sqlite/sqlite-async-writer.js +65 -0
- package/dist/lib/sqlite/sqlite-common.d.ts +37 -0
- package/dist/lib/sqlite/sqlite-common.d.ts.map +1 -0
- package/dist/lib/sqlite/sqlite-common.js +207 -0
- package/dist/lib/sqlite/sqlite-d1.d.ts +25 -0
- package/dist/lib/sqlite/sqlite-d1.d.ts.map +1 -0
- package/dist/lib/sqlite/sqlite-d1.js +67 -0
- package/dist/lib/sqlite/sqlite-db.d.ts +29 -0
- package/dist/lib/sqlite/sqlite-db.d.ts.map +1 -0
- package/dist/lib/sqlite/sqlite-db.js +1 -0
- package/dist/lib/sqlite/sqlite-node.d.ts +16 -0
- package/dist/lib/sqlite/sqlite-node.d.ts.map +1 -0
- package/dist/lib/sqlite/sqlite-node.js +68 -0
- package/dist/lib/sqlite/sqlite-writer.d.ts +39 -0
- package/dist/lib/sqlite/sqlite-writer.d.ts.map +1 -0
- package/dist/lib/sqlite/sqlite-writer.js +78 -0
- package/dist/lib/testing/bun-harness.d.ts +150 -0
- package/dist/lib/testing/bun-harness.d.ts.map +1 -0
- package/dist/lib/testing/bun-harness.js +729 -0
- package/dist/lib/testing/extractFacts.d.ts +73 -0
- package/dist/lib/testing/extractFacts.d.ts.map +1 -0
- package/dist/lib/testing/extractFacts.js +237 -0
- package/dist/lib/testing/facts.d.ts +235 -0
- package/dist/lib/testing/facts.d.ts.map +1 -0
- package/dist/lib/testing/facts.js +209 -0
- package/dist/lib/testing/index.d.ts +58 -0
- package/dist/lib/testing/index.d.ts.map +1 -0
- package/dist/lib/testing/index.js +74 -0
- package/dist/lib/testing/queryable-span.d.ts +39 -0
- package/dist/lib/testing/queryable-span.d.ts.map +1 -0
- package/dist/lib/testing/queryable-span.js +58 -0
- package/dist/lib/testing/span-query.d.ts +21 -0
- package/dist/lib/testing/span-query.d.ts.map +1 -0
- package/dist/lib/testing/span-query.js +47 -0
- package/dist/lib/testing/stdio-replay.d.ts +4 -0
- package/dist/lib/testing/stdio-replay.d.ts.map +1 -0
- package/dist/lib/testing/stdio-replay.js +42 -0
- package/dist/lib/testing/trace-query.d.ts +59 -0
- package/dist/lib/testing/trace-query.d.ts.map +1 -0
- package/dist/lib/testing/trace-query.js +462 -0
- package/dist/lib/testing/vitest-harness.d.ts +135 -0
- package/dist/lib/testing/vitest-harness.d.ts.map +1 -0
- package/dist/lib/testing/vitest-harness.js +486 -0
- package/dist/lib/threadId.d.ts +58 -0
- package/dist/lib/threadId.d.ts.map +1 -0
- package/dist/lib/threadId.js +123 -0
- package/dist/lib/traceContext.d.ts +116 -0
- package/dist/lib/traceContext.d.ts.map +1 -0
- package/dist/lib/traceContext.js +37 -0
- package/dist/lib/traceId.d.ts +78 -0
- package/dist/lib/traceId.d.ts.map +1 -0
- package/dist/lib/traceId.js +87 -0
- package/dist/lib/traceRoot.d.ts +133 -0
- package/dist/lib/traceRoot.d.ts.map +1 -0
- package/dist/lib/traceRoot.es.d.ts +75 -0
- package/dist/lib/traceRoot.es.d.ts.map +1 -0
- package/dist/lib/traceRoot.es.js +129 -0
- package/dist/lib/traceRoot.js +19 -0
- package/dist/lib/traceRoot.node.d.ts +77 -0
- package/dist/lib/traceRoot.node.d.ts.map +1 -0
- package/dist/lib/traceRoot.node.js +133 -0
- package/dist/lib/traceRoot.universal.d.ts +3 -0
- package/dist/lib/traceRoot.universal.d.ts.map +1 -0
- package/dist/lib/traceRoot.universal.js +17 -0
- package/dist/lib/tracer.d.ts +296 -0
- package/dist/lib/tracer.d.ts.map +1 -0
- package/dist/lib/tracer.js +346 -0
- package/dist/lib/tracers/ArrayQueueTracer.d.ts +56 -0
- package/dist/lib/tracers/ArrayQueueTracer.d.ts.map +1 -0
- package/dist/lib/tracers/ArrayQueueTracer.js +67 -0
- package/dist/lib/tracers/CompositeTracer.d.ts +24 -0
- package/dist/lib/tracers/CompositeTracer.d.ts.map +1 -0
- package/dist/lib/tracers/CompositeTracer.js +57 -0
- package/dist/lib/tracers/NoOpTracer.d.ts +58 -0
- package/dist/lib/tracers/NoOpTracer.d.ts.map +1 -0
- package/dist/lib/tracers/NoOpTracer.js +41 -0
- package/dist/lib/tracers/SQLiteTracer.d.ts +42 -0
- package/dist/lib/tracers/SQLiteTracer.d.ts.map +1 -0
- package/dist/lib/tracers/SQLiteTracer.js +84 -0
- package/dist/lib/tracers/StdioTracer.d.ts +83 -0
- package/dist/lib/tracers/StdioTracer.d.ts.map +1 -0
- package/dist/lib/tracers/StdioTracer.js +270 -0
- package/dist/lib/tracers/TestTracer.d.ts +95 -0
- package/dist/lib/tracers/TestTracer.d.ts.map +1 -0
- package/dist/lib/tracers/TestTracer.js +87 -0
- package/dist/lib/tracers/index.d.ts +12 -0
- package/dist/lib/tracers/index.d.ts.map +1 -0
- package/dist/lib/tracers/index.js +11 -0
- package/dist/lib/types.d.ts +366 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +1 -0
- package/dist/lib/utf8Cache.d.ts +111 -0
- package/dist/lib/utf8Cache.d.ts.map +1 -0
- package/dist/lib/utf8Cache.js +177 -0
- package/dist/lib/wasm/WasmBufferStrategy.d.ts +88 -0
- package/dist/lib/wasm/WasmBufferStrategy.d.ts.map +1 -0
- package/dist/lib/wasm/WasmBufferStrategy.js +138 -0
- package/dist/lib/wasm/wasmAllocator.d.ts +109 -0
- package/dist/lib/wasm/wasmAllocator.d.ts.map +1 -0
- package/dist/lib/wasm/wasmAllocator.js +227 -0
- package/dist/lib/wasm/wasmSpanBuffer.d.ts +123 -0
- package/dist/lib/wasm/wasmSpanBuffer.d.ts.map +1 -0
- package/dist/lib/wasm/wasmSpanBuffer.js +772 -0
- package/dist/lib/wasm/wasmTraceRoot.d.ts +167 -0
- package/dist/lib/wasm/wasmTraceRoot.d.ts.map +1 -0
- package/dist/lib/wasm/wasmTraceRoot.js +264 -0
- package/dist/node.d.ts +7 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +8 -0
- package/dist/testing.d.ts +18 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +17 -0
- package/package.json +193 -0
- package/src/bun/preload.ts +11 -0
- package/src/bun/trace-preload.ts +14 -0
- package/src/es.ts +11 -0
- package/src/index.ts +194 -0
- package/src/lib/JsBufferStrategy.ts +102 -0
- package/src/lib/__tests__/arrow-builder-integration/arrow-conversion.test.ts +485 -0
- package/src/lib/__tests__/arrow-builder-integration/binary-arrow-conversion.test.ts +390 -0
- package/src/lib/__tests__/arrow-builder-integration/binary-comparison.test.ts +647 -0
- package/src/lib/__tests__/arrow-builder-integration/binary-format-compliance.test.ts +292 -0
- package/src/lib/__tests__/arrow-builder-integration/buffer-chaining.test.ts +354 -0
- package/src/lib/__tests__/arrow-builder-integration/foundation.test.ts +127 -0
- package/src/lib/__tests__/arrow-builder-integration/integration.test.ts +392 -0
- package/src/lib/__tests__/arrow-builder-integration/lazy-columns.test.ts +389 -0
- package/src/lib/__tests__/arrow-conversion-algorithms.test.ts +54 -0
- package/src/lib/__tests__/arrow-test-helpers.ts +71 -0
- package/src/lib/__tests__/binary-e2e.test.ts +203 -0
- package/src/lib/__tests__/buffer-overflow-op-api.test.ts +608 -0
- package/src/lib/__tests__/buffer-overflow.test.ts +612 -0
- package/src/lib/__tests__/capacity-tuning.test.ts +544 -0
- package/src/lib/__tests__/effective-schema.test.ts +439 -0
- package/src/lib/__tests__/flechette.test.ts +42 -0
- package/src/lib/__tests__/flushScheduler.test.ts +537 -0
- package/src/lib/__tests__/integration.test.ts +600 -0
- package/src/lib/__tests__/library.test.ts +934 -0
- package/src/lib/__tests__/nested-library-tasks.test.ts +849 -0
- package/src/lib/__tests__/op-context-binding.test.ts +135 -0
- package/src/lib/__tests__/op-metadata.test.ts +198 -0
- package/src/lib/__tests__/op-type-safety.test.ts +71 -0
- package/src/lib/__tests__/package-exports.test.ts +57 -0
- package/src/lib/__tests__/remapped-buffer-view-integration.test.ts +319 -0
- package/src/lib/__tests__/remapped-buffer-view.test.ts +635 -0
- package/src/lib/__tests__/scope-attributes.test.ts +348 -0
- package/src/lib/__tests__/span-lifecycle.test.ts +680 -0
- package/src/lib/__tests__/sync-async-trace.test.ts +435 -0
- package/src/lib/__tests__/test-helpers.ts +318 -0
- package/src/lib/__tests__/timestamp.test.ts +259 -0
- package/src/lib/__tests__/trace-archive-primitives.test.ts +98 -0
- package/src/lib/__tests__/traceContext-type-enforcement.test.ts +271 -0
- package/src/lib/__tests__/tracer.test.ts +211 -0
- package/src/lib/__tests__/type-narrowing.test.ts +137 -0
- package/src/lib/archive/chunkCompaction.ts +44 -0
- package/src/lib/archive/chunkEnvelope.ts +79 -0
- package/src/lib/archive/chunkRouting.ts +70 -0
- package/src/lib/archive/chunkStats.ts +25 -0
- package/src/lib/archive/index.ts +4 -0
- package/src/lib/arrow/capacityStats.ts +340 -0
- package/src/lib/arrow/dictionaries.ts +159 -0
- package/src/lib/arrow/flechette.ts +114 -0
- package/src/lib/arrow/utils.ts +126 -0
- package/src/lib/buffer/Nanoseconds.ts +131 -0
- package/src/lib/bufferStrategy.ts +106 -0
- package/src/lib/capacityTuning.ts +102 -0
- package/src/lib/codegen/__tests__/__snapshots__/evaluatorGenerator.test.ts.snap +160 -0
- package/src/lib/codegen/__tests__/__snapshots__/scopeGenerator.test.ts.snap +196 -0
- package/src/lib/codegen/__tests__/__snapshots__/spanLoggerGenerator.test.ts.snap +1965 -0
- package/src/lib/codegen/__tests__/evaluatorGenerator.test.ts +516 -0
- package/src/lib/codegen/__tests__/nullBitmap.test.ts +207 -0
- package/src/lib/codegen/__tests__/spanLoggerGenerator.test.ts +237 -0
- package/src/lib/codegen/evaluatorGenerator.ts +309 -0
- package/src/lib/codegen/fixedPositionWriterGenerator.ts +444 -0
- package/src/lib/codegen/spanLoggerGenerator.ts +715 -0
- package/src/lib/convertToArrow.ts +1805 -0
- package/src/lib/defineOpContext.ts +398 -0
- package/src/lib/errors/Blocked.ts +165 -0
- package/src/lib/errors/CodeError.ts +132 -0
- package/src/lib/errors/RetriesExhausted.ts +78 -0
- package/src/lib/errors/Transient.ts +168 -0
- package/src/lib/errors/__tests__/Blocked-config.test.ts +152 -0
- package/src/lib/errors/__tests__/Transient.test.ts +129 -0
- package/src/lib/errors/__tests__/retry-policy.test.ts +85 -0
- package/src/lib/errors/index.ts +24 -0
- package/src/lib/errors/retry-policy.ts +87 -0
- package/src/lib/flushScheduler.ts +509 -0
- package/src/lib/library.ts +682 -0
- package/src/lib/logApi.ts +70 -0
- package/src/lib/logBinding.ts +67 -0
- package/src/lib/op.ts +103 -0
- package/src/lib/opContext/__tests__/retry.test.ts +764 -0
- package/src/lib/opContext/contextTypes.ts +130 -0
- package/src/lib/opContext/createOpGroup.ts +456 -0
- package/src/lib/opContext/defineOp.ts +281 -0
- package/src/lib/opContext/featureFlagTypes.ts +54 -0
- package/src/lib/opContext/index.ts +16 -0
- package/src/lib/opContext/opGroupTypes.ts +342 -0
- package/src/lib/opContext/opTypes.ts +80 -0
- package/src/lib/opContext/spanContextTypes.ts +398 -0
- package/src/lib/opContext/types.ts +403 -0
- package/src/lib/result.ts +550 -0
- package/src/lib/schema/LogSchema.ts +153 -0
- package/src/lib/schema/__tests__/defineLogSchema.test.ts +342 -0
- package/src/lib/schema/__tests__/featureFlags.test.ts +443 -0
- package/src/lib/schema/builder.ts +201 -0
- package/src/lib/schema/defineFeatureFlags.ts +91 -0
- package/src/lib/schema/defineLogSchema.ts +291 -0
- package/src/lib/schema/evaluator.ts +404 -0
- package/src/lib/schema/extend.ts +69 -0
- package/src/lib/schema/systemSchema.ts +339 -0
- package/src/lib/schema/typeGuards.ts +163 -0
- package/src/lib/schema/types.ts +265 -0
- package/src/lib/spanBuffer.ts +571 -0
- package/src/lib/spanBufferHelpers.ts +73 -0
- package/src/lib/spanBufferStats.ts +40 -0
- package/src/lib/spanContext.ts +1566 -0
- package/src/lib/sqlite/__tests__/sqlite-common.test.ts +89 -0
- package/src/lib/sqlite/index.ts +26 -0
- package/src/lib/sqlite/sqlite-async-writer.ts +101 -0
- package/src/lib/sqlite/sqlite-common.ts +309 -0
- package/src/lib/sqlite/sqlite-d1.ts +104 -0
- package/src/lib/sqlite/sqlite-db.ts +32 -0
- package/src/lib/sqlite/sqlite-node.ts +83 -0
- package/src/lib/sqlite/sqlite-writer.ts +128 -0
- package/src/lib/testing/TRACE-TESTING.md +100 -0
- package/src/lib/testing/__tests__/bun-harness.test.ts +108 -0
- package/src/lib/testing/__tests__/extractFacts.test.ts +279 -0
- package/src/lib/testing/__tests__/facts.test.ts +324 -0
- package/src/lib/testing/__tests__/vitest-harness.test.ts +32 -0
- package/src/lib/testing/bun-harness.ts +990 -0
- package/src/lib/testing/extractFacts.ts +362 -0
- package/src/lib/testing/facts.ts +470 -0
- package/src/lib/testing/index.ts +141 -0
- package/src/lib/testing/queryable-span.ts +108 -0
- package/src/lib/testing/span-query.ts +65 -0
- package/src/lib/testing/stdio-replay.ts +50 -0
- package/src/lib/testing/trace-query.ts +329 -0
- package/src/lib/testing/vitest-harness.ts +691 -0
- package/src/lib/threadId.ts +135 -0
- package/src/lib/traceContext.ts +182 -0
- package/src/lib/traceId.ts +142 -0
- package/src/lib/traceRoot.es.ts +157 -0
- package/src/lib/traceRoot.node.ts +170 -0
- package/src/lib/traceRoot.ts +154 -0
- package/src/lib/traceRoot.universal.ts +22 -0
- package/src/lib/tracer.ts +896 -0
- package/src/lib/tracers/ArrayQueueTracer.ts +76 -0
- package/src/lib/tracers/CompositeTracer.ts +76 -0
- package/src/lib/tracers/NoOpTracer.ts +73 -0
- package/src/lib/tracers/SQLiteTracer.ts +115 -0
- package/src/lib/tracers/StdioTracer.ts +380 -0
- package/src/lib/tracers/TestTracer.ts +146 -0
- package/src/lib/tracers/__tests__/ArrayQueueTracer.test.ts +184 -0
- package/src/lib/tracers/__tests__/NoOpTracer.test.ts +204 -0
- package/src/lib/tracers/__tests__/StdioTracer.test.ts +313 -0
- package/src/lib/tracers/__tests__/TestTracer.test.ts +200 -0
- package/src/lib/tracers/index.ts +12 -0
- package/src/lib/types.ts +498 -0
- package/src/lib/utf8Cache.ts +201 -0
- package/src/lib/wasm/WasmBufferStrategy.ts +219 -0
- package/src/lib/wasm/__tests__/WasmBufferStrategy.test.ts +256 -0
- package/src/lib/wasm/__tests__/wasm-integration.test.ts +476 -0
- package/src/lib/wasm/__tests__/wasmAllocator.test.ts +699 -0
- package/src/lib/wasm/__tests__/wasmSpanBuffer.test.ts +449 -0
- package/src/lib/wasm/__tests__/wasmTraceRoot.test.ts +390 -0
- package/src/lib/wasm/__tests__/wasmTracer.test.ts.disabled +444 -0
- package/src/lib/wasm/allocator.zig +945 -0
- package/src/lib/wasm/wasmAllocator.ts +469 -0
- package/src/lib/wasm/wasmSpanBuffer.ts +1014 -0
- package/src/lib/wasm/wasmTraceRoot.ts +315 -0
- package/src/node.ts +10 -0
- package/src/testing.ts +18 -0
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Size class enum matching Zig's SizeClass
|
|
3
|
+
*/
|
|
4
|
+
export var SizeClass;
|
|
5
|
+
(function (SizeClass) {
|
|
6
|
+
SizeClass[SizeClass["SpanSystem"] = 0] = "SpanSystem";
|
|
7
|
+
SizeClass[SizeClass["Col1B"] = 1] = "Col1B";
|
|
8
|
+
SizeClass[SizeClass["Col4B"] = 2] = "Col4B";
|
|
9
|
+
SizeClass[SizeClass["Col8B"] = 3] = "Col8B";
|
|
10
|
+
SizeClass[SizeClass["Identity"] = 4] = "Identity";
|
|
11
|
+
})(SizeClass || (SizeClass = {}));
|
|
12
|
+
function isWasmExports(value) {
|
|
13
|
+
if (typeof value !== 'object' || value === null) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
return (typeof Reflect.get(value, 'init') === 'function' && typeof Reflect.get(value, 'alloc_span_system') === 'function');
|
|
17
|
+
}
|
|
18
|
+
// =============================================================================
|
|
19
|
+
// Implementation
|
|
20
|
+
// =============================================================================
|
|
21
|
+
const DEFAULT_INITIAL_PAGES = 17; // ~1MB - matches WASM module minimum
|
|
22
|
+
const DEFAULT_MAX_PAGES = 16384; // 1GB max (can grow up to this)
|
|
23
|
+
const DEFAULT_CAPACITY = 64;
|
|
24
|
+
/**
|
|
25
|
+
* Create typed views over WASM memory.
|
|
26
|
+
* Must be called after memory creation and after any grow().
|
|
27
|
+
*/
|
|
28
|
+
function createViews(memory) {
|
|
29
|
+
return {
|
|
30
|
+
u8: new Uint8Array(memory.buffer),
|
|
31
|
+
u32: new Uint32Array(memory.buffer),
|
|
32
|
+
i64: new BigInt64Array(memory.buffer),
|
|
33
|
+
f64: new Float64Array(memory.buffer),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Create WasmAllocator from instantiated WASM module.
|
|
38
|
+
*/
|
|
39
|
+
function wrapWasmInstance(instance, memory, capacity) {
|
|
40
|
+
if (!isWasmExports(instance.exports)) {
|
|
41
|
+
throw new Error('allocator.wasm exports did not match the expected ABI');
|
|
42
|
+
}
|
|
43
|
+
const exports = instance.exports;
|
|
44
|
+
let views = createViews(memory);
|
|
45
|
+
let currentBuffer = memory.buffer;
|
|
46
|
+
// Initialize the allocator header
|
|
47
|
+
exports.init();
|
|
48
|
+
return {
|
|
49
|
+
memory,
|
|
50
|
+
capacity,
|
|
51
|
+
exports: {
|
|
52
|
+
write_col_f64: exports.write_col_f64,
|
|
53
|
+
write_col_u32: exports.write_col_u32,
|
|
54
|
+
write_col_u8: exports.write_col_u8,
|
|
55
|
+
write_log_entry: exports.write_log_entry,
|
|
56
|
+
},
|
|
57
|
+
get u8() {
|
|
58
|
+
// Check if memory grew since last access
|
|
59
|
+
if (memory.buffer !== currentBuffer) {
|
|
60
|
+
currentBuffer = memory.buffer;
|
|
61
|
+
views = createViews(memory);
|
|
62
|
+
}
|
|
63
|
+
return views.u8;
|
|
64
|
+
},
|
|
65
|
+
get u32() {
|
|
66
|
+
if (memory.buffer !== currentBuffer) {
|
|
67
|
+
currentBuffer = memory.buffer;
|
|
68
|
+
views = createViews(memory);
|
|
69
|
+
}
|
|
70
|
+
return views.u32;
|
|
71
|
+
},
|
|
72
|
+
get i64() {
|
|
73
|
+
if (memory.buffer !== currentBuffer) {
|
|
74
|
+
currentBuffer = memory.buffer;
|
|
75
|
+
views = createViews(memory);
|
|
76
|
+
}
|
|
77
|
+
return views.i64;
|
|
78
|
+
},
|
|
79
|
+
get f64() {
|
|
80
|
+
if (memory.buffer !== currentBuffer) {
|
|
81
|
+
currentBuffer = memory.buffer;
|
|
82
|
+
views = createViews(memory);
|
|
83
|
+
}
|
|
84
|
+
return views.f64;
|
|
85
|
+
},
|
|
86
|
+
init: exports.init,
|
|
87
|
+
reset: exports.reset,
|
|
88
|
+
// Allocation with optional capacity (defaults to instance capacity)
|
|
89
|
+
allocSpanSystem: (cap = capacity) => exports.alloc_span_system(cap),
|
|
90
|
+
alloc1B: (cap = capacity) => exports.alloc_col_1b(cap),
|
|
91
|
+
alloc4B: (cap = capacity) => exports.alloc_col_4b(cap),
|
|
92
|
+
alloc8B: (cap = capacity) => exports.alloc_col_8b(cap),
|
|
93
|
+
// Deallocation with optional capacity
|
|
94
|
+
freeSpanSystem: (offset, cap = capacity) => exports.free_span_system(offset, cap),
|
|
95
|
+
free1B: (offset, cap = capacity) => exports.free_col_1b(offset, cap),
|
|
96
|
+
free4B: (offset, cap = capacity) => exports.free_col_4b(offset, cap),
|
|
97
|
+
free8B: (offset, cap = capacity) => exports.free_col_8b(offset, cap),
|
|
98
|
+
// Span lifecycle with optional capacity
|
|
99
|
+
spanStart: (systemPtr, identityPtr, traceRootPtr, cap = capacity) => exports.span_start(systemPtr, identityPtr, traceRootPtr, cap),
|
|
100
|
+
spanEndOk: (systemPtr, traceRootPtr, cap = capacity) => exports.span_end_ok(systemPtr, traceRootPtr, cap),
|
|
101
|
+
spanEndErr: (systemPtr, traceRootPtr, cap = capacity) => exports.span_end_err(systemPtr, traceRootPtr, cap),
|
|
102
|
+
writeLogEntry: (systemPtr, traceRootPtr, idx, entryType, cap = capacity) => exports.write_log_entry(systemPtr, traceRootPtr, idx, entryType, cap),
|
|
103
|
+
// Column writes with optional capacity
|
|
104
|
+
writeColF64: (colOffset, rowIdx, value, cap = capacity) => exports.write_col_f64(colOffset, rowIdx, value, cap),
|
|
105
|
+
writeColU32: (colOffset, rowIdx, value, cap = capacity) => exports.write_col_u32(colOffset, rowIdx, value, cap),
|
|
106
|
+
writeColU8: (colOffset, rowIdx, value, cap = capacity) => exports.write_col_u8(colOffset, rowIdx, value, cap),
|
|
107
|
+
initTraceRoot: exports.init_trace_root,
|
|
108
|
+
getBumpPtr: exports.get_bump_ptr,
|
|
109
|
+
getAllocCount: exports.get_alloc_count,
|
|
110
|
+
getFreeCount: exports.get_free_count,
|
|
111
|
+
getSpanSystemSize: (cap = capacity) => exports.get_span_system_size(cap),
|
|
112
|
+
getCol1BSize: (cap = capacity) => exports.get_col_1b_size(cap),
|
|
113
|
+
getCol4BSize: (cap = capacity) => exports.get_col_4b_size(cap),
|
|
114
|
+
getCol8BSize: (cap = capacity) => exports.get_col_8b_size(cap),
|
|
115
|
+
readTimestamp: exports.read_timestamp,
|
|
116
|
+
readEntryType: (systemPtr, rowIdx, cap = capacity) => exports.read_entry_type(systemPtr, rowIdx, cap),
|
|
117
|
+
readWriteIndex: exports.read_write_index,
|
|
118
|
+
readColF64: (colOffset, rowIdx, cap = capacity) => exports.read_col_f64(colOffset, rowIdx, cap),
|
|
119
|
+
readColIsValid: exports.read_col_is_valid,
|
|
120
|
+
// Thread ID management
|
|
121
|
+
setThreadId: exports.set_thread_id,
|
|
122
|
+
getThreadIdHigh: exports.get_thread_id_high,
|
|
123
|
+
getThreadIdLow: exports.get_thread_id_low,
|
|
124
|
+
isThreadIdSet: exports.is_thread_id_set,
|
|
125
|
+
getSpanIdCounter: exports.get_span_id_counter,
|
|
126
|
+
// Identity block operations (thread_id is global, use getThreadIdHigh/Low)
|
|
127
|
+
allocIdentityRootForJsWrite: exports.alloc_identity_root_for_js_write,
|
|
128
|
+
allocIdentityChild: exports.alloc_identity_child,
|
|
129
|
+
freeIdentity: exports.free_identity,
|
|
130
|
+
readIdentitySpanId: exports.read_identity_span_id,
|
|
131
|
+
readIdentityTraceIdLen: exports.read_identity_trace_id_len,
|
|
132
|
+
getIdentityTraceIdPtr: exports.get_identity_trace_id_ptr,
|
|
133
|
+
// Freelist statistics with optional capacity
|
|
134
|
+
getFreelistLen: (sizeClass, cap = capacity) => exports.get_freelist_len(sizeClass, cap),
|
|
135
|
+
getFreelistReuseCount: (sizeClass, cap = capacity) => exports.get_freelist_reuse_count(sizeClass, cap),
|
|
136
|
+
getFreelistSplitCount: (sizeClass, cap = capacity) => exports.get_freelist_split_count(sizeClass, cap),
|
|
137
|
+
getFreelistMergeCount: (sizeClass, cap = capacity) => exports.get_freelist_merge_count(sizeClass, cap),
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Create imports object for WASM instantiation.
|
|
142
|
+
*/
|
|
143
|
+
function createImports(memory) {
|
|
144
|
+
return {
|
|
145
|
+
env: {
|
|
146
|
+
memory,
|
|
147
|
+
performanceNow: () => performance.now(),
|
|
148
|
+
dateNow: () => Date.now(),
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
// Cache for compiled WASM module (shared across all allocators)
|
|
153
|
+
// This eliminates recompilation cost in benchmarks and production
|
|
154
|
+
let cachedWasmModule = null;
|
|
155
|
+
/**
|
|
156
|
+
* Load WASM bytes - handles both Node.js and browser environments.
|
|
157
|
+
*/
|
|
158
|
+
async function loadWasmBytes() {
|
|
159
|
+
// Try Node.js first
|
|
160
|
+
if (typeof process !== 'undefined' && process.versions?.node) {
|
|
161
|
+
const { readFile } = await import('node:fs/promises');
|
|
162
|
+
const { fileURLToPath } = await import('node:url');
|
|
163
|
+
const { dirname, join } = await import('node:path');
|
|
164
|
+
// __dirname equivalent for ESM
|
|
165
|
+
const currentFile = fileURLToPath(import.meta.url);
|
|
166
|
+
const currentDir = dirname(currentFile);
|
|
167
|
+
const wasmPath = join(currentDir, '../../../dist/allocator.wasm');
|
|
168
|
+
const buffer = await readFile(wasmPath);
|
|
169
|
+
// Create a proper ArrayBuffer from the Node.js Buffer
|
|
170
|
+
const arrayBuffer = new ArrayBuffer(buffer.byteLength);
|
|
171
|
+
new Uint8Array(arrayBuffer).set(buffer);
|
|
172
|
+
return arrayBuffer;
|
|
173
|
+
}
|
|
174
|
+
// Browser: fetch from relative path
|
|
175
|
+
const response = await fetch(new URL('../../../dist/allocator.wasm', import.meta.url));
|
|
176
|
+
return response.arrayBuffer();
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Get compiled WASM module (cached after first load).
|
|
180
|
+
*/
|
|
181
|
+
async function getWasmModule() {
|
|
182
|
+
if (cachedWasmModule) {
|
|
183
|
+
return cachedWasmModule;
|
|
184
|
+
}
|
|
185
|
+
const wasmBytes = await loadWasmBytes();
|
|
186
|
+
cachedWasmModule = await WebAssembly.compile(wasmBytes);
|
|
187
|
+
return cachedWasmModule;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Create a WASM allocator instance.
|
|
191
|
+
*
|
|
192
|
+
* The allocator uses freelist for O(1) alloc/free with memory reuse.
|
|
193
|
+
* Buddy allocation enables efficient memory management across different capacities.
|
|
194
|
+
*/
|
|
195
|
+
export async function createWasmAllocator(options) {
|
|
196
|
+
const initialPages = options?.initialPages ?? DEFAULT_INITIAL_PAGES;
|
|
197
|
+
const maxPages = options?.maxPages ?? DEFAULT_MAX_PAGES;
|
|
198
|
+
const capacity = options?.capacity ?? DEFAULT_CAPACITY;
|
|
199
|
+
// Create memory
|
|
200
|
+
const memory = new WebAssembly.Memory({
|
|
201
|
+
initial: initialPages,
|
|
202
|
+
maximum: maxPages,
|
|
203
|
+
});
|
|
204
|
+
// Get cached compiled module (only compiles once)
|
|
205
|
+
const module = await getWasmModule();
|
|
206
|
+
// Instantiate with our memory
|
|
207
|
+
const imports = createImports(memory);
|
|
208
|
+
const instance = await WebAssembly.instantiate(module, imports);
|
|
209
|
+
return wrapWasmInstance(instance, memory, capacity);
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Synchronous version for when WASM is pre-loaded.
|
|
213
|
+
*/
|
|
214
|
+
export function createWasmAllocatorSync(wasmModule, options) {
|
|
215
|
+
const initialPages = options?.initialPages ?? DEFAULT_INITIAL_PAGES;
|
|
216
|
+
const maxPages = options?.maxPages ?? DEFAULT_MAX_PAGES;
|
|
217
|
+
const capacity = options?.capacity ?? DEFAULT_CAPACITY;
|
|
218
|
+
// Create memory
|
|
219
|
+
const memory = new WebAssembly.Memory({
|
|
220
|
+
initial: initialPages,
|
|
221
|
+
maximum: maxPages,
|
|
222
|
+
});
|
|
223
|
+
// Instantiate with our memory
|
|
224
|
+
const imports = createImports(memory);
|
|
225
|
+
const instance = new WebAssembly.Instance(wasmModule, imports);
|
|
226
|
+
return wrapWasmInstance(instance, memory, capacity);
|
|
227
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WASM-backed SpanBuffer class generation.
|
|
3
|
+
*
|
|
4
|
+
* Implements spec 01q: WASM Memory Architecture for SpanBuffer Storage
|
|
5
|
+
*
|
|
6
|
+
* Key differences from JS SpanBuffer:
|
|
7
|
+
* - System columns (timestamp, entry_type) live in WASM memory at _systemPtr
|
|
8
|
+
* - Numeric columns allocated lazily from WASM freelists
|
|
9
|
+
* - String columns (category, text) remain as JS string[] arrays
|
|
10
|
+
* - All TypedArray views created on-demand from WASM memory.buffer
|
|
11
|
+
*/
|
|
12
|
+
import type { ColumnValueType } from '@smoothbricks/arrow-builder';
|
|
13
|
+
import type { OpMetadata } from '../op.js';
|
|
14
|
+
import type { LogSchema } from '../schema/LogSchema.js';
|
|
15
|
+
import type { SpanBufferStats } from '../spanBufferStats.js';
|
|
16
|
+
import type { ITraceRoot } from '../traceRoot.js';
|
|
17
|
+
import type { AnySpanBuffer } from '../types.js';
|
|
18
|
+
import type { WasmAllocator } from './wasmAllocator.js';
|
|
19
|
+
/**
|
|
20
|
+
* Options for WASM SpanBuffer instances.
|
|
21
|
+
* Used by createWasmSpanBuffer (root), createWasmChildSpanBuffer (child), and createWasmOverflowBuffer.
|
|
22
|
+
* Internal fields (_traceRoot, _scopeValues, _opMetadata, _callsiteMetadata) are passed separately
|
|
23
|
+
* by the create* functions.
|
|
24
|
+
*/
|
|
25
|
+
export interface WasmSpanBufferOptions {
|
|
26
|
+
allocator: WasmAllocator;
|
|
27
|
+
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;
|
|
35
|
+
_scopeValues: Readonly<Record<string, unknown>>;
|
|
36
|
+
_opMetadata: OpMetadata;
|
|
37
|
+
_callsiteMetadata: OpMetadata;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* WASM SpanBuffer instance interface.
|
|
41
|
+
* Extends AnySpanBuffer with WASM-specific pointer properties.
|
|
42
|
+
*/
|
|
43
|
+
export interface WasmSpanBufferInstance extends AnySpanBuffer {
|
|
44
|
+
/** Byte offset into WASM memory for system columns (timestamp + entry_type) */
|
|
45
|
+
readonly _systemPtr: number;
|
|
46
|
+
/** Byte offset into WASM memory for identity block (writeIndex, span_id, trace_id) */
|
|
47
|
+
readonly _identityPtr: number;
|
|
48
|
+
/** Array of byte offsets for each column (-1 = not allocated) */
|
|
49
|
+
readonly _columnPtrs: Int32Array;
|
|
50
|
+
/** Reference to the WASM allocator */
|
|
51
|
+
readonly _allocator: WasmAllocator;
|
|
52
|
+
_parent?: WasmSpanBufferInstance;
|
|
53
|
+
_children: WasmSpanBufferInstance[];
|
|
54
|
+
_overflow?: WasmSpanBufferInstance;
|
|
55
|
+
readonly _message: string[];
|
|
56
|
+
/** Free all WASM memory for this buffer */
|
|
57
|
+
free(): void;
|
|
58
|
+
/** Check if column is allocated */
|
|
59
|
+
isColumnAllocated(columnIndex: number): boolean;
|
|
60
|
+
/** Get column values array if allocated */
|
|
61
|
+
getColumnIfAllocated(columnName: string): ColumnValueType | undefined;
|
|
62
|
+
/** Get column nulls array if allocated */
|
|
63
|
+
getNullsIfAllocated(columnName: string): Uint8Array | undefined;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Constructor type for generated WASM SpanBuffer classes.
|
|
67
|
+
*/
|
|
68
|
+
export interface WasmSpanBufferConstructor {
|
|
69
|
+
new (opts: WasmSpanBufferOptions): WasmSpanBufferInstance;
|
|
70
|
+
readonly schema: LogSchema;
|
|
71
|
+
stats: SpanBufferStats;
|
|
72
|
+
}
|
|
73
|
+
export declare function isWasmSpanBufferInstance(value: unknown): value is WasmSpanBufferInstance;
|
|
74
|
+
/**
|
|
75
|
+
* Generate a WASM SpanBuffer class for the given schema.
|
|
76
|
+
*
|
|
77
|
+
* Generates minimal constructor + column methods, then assigns common methods to prototype.
|
|
78
|
+
*
|
|
79
|
+
* @param schema - LogSchema defining the buffer structure
|
|
80
|
+
* @returns WasmSpanBufferConstructor for creating buffer instances
|
|
81
|
+
*/
|
|
82
|
+
export declare function getWasmSpanBufferClass(schema: LogSchema): WasmSpanBufferConstructor;
|
|
83
|
+
/**
|
|
84
|
+
* Create a WASM SpanBuffer instance.
|
|
85
|
+
*
|
|
86
|
+
* @param schema - LogSchema defining the buffer structure
|
|
87
|
+
* @param opts - Options for buffer creation
|
|
88
|
+
* @param _traceRoot - Trace root context
|
|
89
|
+
* @param _scopeValues - Scope values for this span
|
|
90
|
+
* @param _opMetadata - Op metadata for attribution
|
|
91
|
+
* @param _callsiteMetadata - Callsite metadata for attribution
|
|
92
|
+
* @returns WasmSpanBufferInstance
|
|
93
|
+
*/
|
|
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;
|
|
95
|
+
/**
|
|
96
|
+
* Create a child WASM SpanBuffer linked to a parent.
|
|
97
|
+
*
|
|
98
|
+
* For cross-library calls, the child buffer may use a different schema than the parent.
|
|
99
|
+
* Pass the schema option to use a different schema.
|
|
100
|
+
*
|
|
101
|
+
* @param parent - Parent WASM SpanBuffer
|
|
102
|
+
* @param opts - Options for child buffer creation (schema is optional, defaults to parent's)
|
|
103
|
+
* @param _traceRoot - Trace root context
|
|
104
|
+
* @param _scopeValues - Scope values for this span
|
|
105
|
+
* @param _opMetadata - Op metadata for attribution
|
|
106
|
+
* @param _callsiteMetadata - Callsite metadata for attribution
|
|
107
|
+
* @returns WasmSpanBufferInstance linked to parent
|
|
108
|
+
*/
|
|
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;
|
|
112
|
+
/**
|
|
113
|
+
* Create an overflow WASM SpanBuffer for chaining.
|
|
114
|
+
*
|
|
115
|
+
* @param buffer - The full buffer that needs overflow handling
|
|
116
|
+
* @param _traceRoot - Trace root context
|
|
117
|
+
* @param _scopeValues - Scope values for this span
|
|
118
|
+
* @param _opMetadata - Op metadata for attribution
|
|
119
|
+
* @param _callsiteMetadata - Callsite metadata for attribution
|
|
120
|
+
* @returns WasmSpanBufferInstance linked as overflow
|
|
121
|
+
*/
|
|
122
|
+
export declare function createWasmOverflowBuffer(buffer: WasmSpanBufferInstance, _traceRoot: ITraceRoot, _scopeValues: Readonly<Record<string, unknown>>, _opMetadata: OpMetadata, _callsiteMetadata: OpMetadata): WasmSpanBufferInstance;
|
|
123
|
+
//# sourceMappingURL=wasmSpanBuffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasmSpanBuffer.d.ts","sourceRoot":"","sources":["../../../src/lib/wasm/wasmSpanBuffer.ts"],"names":[],"mappings":"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"}
|