@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,265 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema type definitions for lmao
|
|
3
|
+
*
|
|
4
|
+
* Re-exports core schema types from arrow-builder and adds lmao-specific types
|
|
5
|
+
* for feature flags and type inference.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { Input, Output, Schema } from '@smoothbricks/arrow-builder';
|
|
9
|
+
|
|
10
|
+
// Re-export schema metadata types from arrow-builder (single source of truth)
|
|
11
|
+
// Re-export schema core types from arrow-builder for external use
|
|
12
|
+
export type {
|
|
13
|
+
// Binary encoder interface
|
|
14
|
+
BinaryEncoder,
|
|
15
|
+
// Eager schema types (allocated immediately, no null bitmap)
|
|
16
|
+
EagerBinarySchema,
|
|
17
|
+
EagerBooleanSchema,
|
|
18
|
+
EagerCategorySchema,
|
|
19
|
+
EagerEnumSchema,
|
|
20
|
+
EagerNumberSchema,
|
|
21
|
+
EagerTextSchema,
|
|
22
|
+
// Metadata and utility types
|
|
23
|
+
EnumUtf8Precomputed,
|
|
24
|
+
Input,
|
|
25
|
+
// Binary schemas
|
|
26
|
+
LazyBinarySchema,
|
|
27
|
+
// Lazy schema types (default - allocated on first write)
|
|
28
|
+
LazyBooleanSchema,
|
|
29
|
+
LazyCategorySchema,
|
|
30
|
+
LazyEnumSchema,
|
|
31
|
+
LazyNumberSchema,
|
|
32
|
+
LazyTextSchema,
|
|
33
|
+
MaskPreset,
|
|
34
|
+
MaskTransform,
|
|
35
|
+
Output,
|
|
36
|
+
Schema,
|
|
37
|
+
SchemaFields,
|
|
38
|
+
SchemaType,
|
|
39
|
+
SchemaWithMetadata,
|
|
40
|
+
} from '@smoothbricks/arrow-builder';
|
|
41
|
+
// Re-export ColumnSchema and SchemaFields from arrow-builder for external use
|
|
42
|
+
export { ColumnSchema, isColumnSchema } from '@smoothbricks/arrow-builder';
|
|
43
|
+
|
|
44
|
+
// Re-export LogSchema for external use
|
|
45
|
+
export { isLogSchema, LogSchema } from './LogSchema.js';
|
|
46
|
+
|
|
47
|
+
// Import schema metadata types for use in InferSchema and local type definitions
|
|
48
|
+
import type {
|
|
49
|
+
BinaryEncoder,
|
|
50
|
+
EagerBooleanSchema,
|
|
51
|
+
EagerCategorySchema,
|
|
52
|
+
EagerEnumSchema,
|
|
53
|
+
EagerNumberSchema,
|
|
54
|
+
EagerTextSchema,
|
|
55
|
+
LazyBinarySchema,
|
|
56
|
+
LazyBooleanSchema,
|
|
57
|
+
LazyCategorySchema,
|
|
58
|
+
LazyEnumSchema,
|
|
59
|
+
LazyNumberSchema,
|
|
60
|
+
LazyTextSchema,
|
|
61
|
+
SchemaFields,
|
|
62
|
+
} from '@smoothbricks/arrow-builder';
|
|
63
|
+
import type { DEFINED_LOG_SCHEMA_BRAND } from './defineLogSchema.js';
|
|
64
|
+
import type { LogSchema } from './LogSchema.js';
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Extract the original schema fields type from LogSchema or DefinedLogSchema.
|
|
68
|
+
* If T is a LogSchema, extract the fields type.
|
|
69
|
+
* If T has the brand marker, extract the original schema from it.
|
|
70
|
+
* Otherwise, return T unchanged.
|
|
71
|
+
*/
|
|
72
|
+
type ExtractSchemaFields<T> =
|
|
73
|
+
T extends LogSchema<infer Fields>
|
|
74
|
+
? Fields
|
|
75
|
+
: T extends {
|
|
76
|
+
readonly [DEFINED_LOG_SCHEMA_BRAND]?: infer Original;
|
|
77
|
+
}
|
|
78
|
+
? Original extends SchemaFields
|
|
79
|
+
? Original
|
|
80
|
+
: T extends SchemaFields
|
|
81
|
+
? T
|
|
82
|
+
: never
|
|
83
|
+
: T extends SchemaFields
|
|
84
|
+
? T
|
|
85
|
+
: never;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Filter out function keys from a schema type.
|
|
89
|
+
* Methods like validate, parse, safeParse, extend are added by defineLogSchema
|
|
90
|
+
* but should not be treated as schema fields for iteration.
|
|
91
|
+
*
|
|
92
|
+
* Works on LogSchema fields or plain schema objects.
|
|
93
|
+
*/
|
|
94
|
+
type SchemaFieldKeys<T> =
|
|
95
|
+
T extends LogSchema<infer Fields>
|
|
96
|
+
? keyof Fields
|
|
97
|
+
: ExtractSchemaFields<T> extends infer Fields
|
|
98
|
+
? keyof Fields extends infer K
|
|
99
|
+
? K extends string
|
|
100
|
+
? K
|
|
101
|
+
: never
|
|
102
|
+
: never
|
|
103
|
+
: never;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Extract TypeScript output types from log schema
|
|
107
|
+
*
|
|
108
|
+
* Works with LogSchema instances or plain schema objects.
|
|
109
|
+
*
|
|
110
|
+
* Type resolution order:
|
|
111
|
+
* 1. Check if it's an enum schema -> extract enum type
|
|
112
|
+
* 2. Check if it's a category schema -> string
|
|
113
|
+
* 3. Check if it's a text schema -> string
|
|
114
|
+
* 4. Check if it's a number schema -> number
|
|
115
|
+
* 5. Check if it's a boolean schema -> boolean
|
|
116
|
+
* 6. Fall back to Schema Output<T[K]>
|
|
117
|
+
*
|
|
118
|
+
* NOTE: Function properties (validate, parse, etc.) are filtered out.
|
|
119
|
+
*/
|
|
120
|
+
export type InferSchema<T extends LogSchema | SchemaFields> = {
|
|
121
|
+
[K in SchemaFieldKeys<T>]: ExtractSchemaFields<T>[K] extends LazyEnumSchema<infer E>
|
|
122
|
+
? E
|
|
123
|
+
: ExtractSchemaFields<T>[K] extends EagerEnumSchema<infer E2>
|
|
124
|
+
? E2
|
|
125
|
+
: ExtractSchemaFields<T>[K] extends LazyCategorySchema | EagerCategorySchema
|
|
126
|
+
? string
|
|
127
|
+
: ExtractSchemaFields<T>[K] extends LazyTextSchema | EagerTextSchema
|
|
128
|
+
? string
|
|
129
|
+
: ExtractSchemaFields<T>[K] extends LazyNumberSchema | EagerNumberSchema
|
|
130
|
+
? number
|
|
131
|
+
: ExtractSchemaFields<T>[K] extends LazyBooleanSchema | EagerBooleanSchema
|
|
132
|
+
? boolean
|
|
133
|
+
: ExtractSchemaFields<T>[K] extends Schema<infer Out>
|
|
134
|
+
? Out
|
|
135
|
+
: never;
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Extract TypeScript input types from log schema
|
|
140
|
+
* Used for validation before transformation
|
|
141
|
+
*
|
|
142
|
+
* NOTE: Function properties (validate, parse, etc.) are filtered out.
|
|
143
|
+
*/
|
|
144
|
+
export type InferSchemaInput<T extends LogSchema | SchemaFields> = {
|
|
145
|
+
[K in SchemaFieldKeys<T>]: ExtractSchemaFields<T>[K] extends Schema<unknown, infer In> ? In : never;
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Feature flag builder with default value support
|
|
150
|
+
* Returned by S.string(), S.number(), S.boolean(), S.enum() when used for feature flags
|
|
151
|
+
*/
|
|
152
|
+
export interface FlagBuilder<T> {
|
|
153
|
+
default(value: T): FlagBuilderWithDefault<T>;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Feature flag builder with sync/async evaluation type support
|
|
158
|
+
*/
|
|
159
|
+
export interface FlagBuilderWithDefault<T> {
|
|
160
|
+
sync(): FeatureFlagDefinition<T, 'sync'>;
|
|
161
|
+
async(): FeatureFlagDefinition<T, 'async'>;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Feature flag definition with default value and evaluation type
|
|
166
|
+
*/
|
|
167
|
+
export interface FeatureFlagDefinition<T, EvalType extends 'sync' | 'async' = 'sync' | 'async'> {
|
|
168
|
+
schema: Schema<T>;
|
|
169
|
+
defaultValue: T;
|
|
170
|
+
evaluationType: EvalType;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Schema that can be used for both tag attributes and feature flags
|
|
175
|
+
* This type is returned by S.string(), S.number(), etc.
|
|
176
|
+
*/
|
|
177
|
+
export type SchemaOrFlagBuilder<T> = Schema<T> & FlagBuilder<T>;
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Category schema with flag builder, mask method, and eager method.
|
|
181
|
+
* Combines lmao's FlagBuilder with arrow-builder's LazyCategorySchema.
|
|
182
|
+
*/
|
|
183
|
+
export type CategorySchemaOrFlagBuilder = SchemaOrFlagBuilder<string> & LazyCategorySchema;
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Text schema with flag builder, mask method, and eager method.
|
|
187
|
+
* Combines lmao's FlagBuilder with arrow-builder's LazyTextSchema.
|
|
188
|
+
*/
|
|
189
|
+
export type TextSchemaOrFlagBuilder = SchemaOrFlagBuilder<string> & LazyTextSchema;
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Schema builder interface that wraps arrow-builder with custom API
|
|
193
|
+
* Supports both tag attributes and feature flags
|
|
194
|
+
*/
|
|
195
|
+
export interface SchemaBuilder {
|
|
196
|
+
// Primitive types - return schemas that can also be used as flag builders
|
|
197
|
+
number(): SchemaOrFlagBuilder<number>;
|
|
198
|
+
boolean(): SchemaOrFlagBuilder<boolean>;
|
|
199
|
+
|
|
200
|
+
// String types - THREE DISTINCT TYPES per specs/lmao/01a_trace_schema_system.md
|
|
201
|
+
// IMPORTANT: Never use generic "string" - always choose enum/category/text
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Enum - Known values at compile time
|
|
205
|
+
* Storage: Uint8Array (1 byte) with compile-time mapping
|
|
206
|
+
* Arrow: Dictionary with pre-defined values
|
|
207
|
+
* Use for: Operations, HTTP methods, entry types, status enums
|
|
208
|
+
* Example: S.enum(['CREATE', 'READ', 'UPDATE', 'DELETE'])
|
|
209
|
+
*/
|
|
210
|
+
enum<T extends readonly string[]>(values: T): SchemaOrFlagBuilder<T[number]>;
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Category - Values that often repeat (limited cardinality)
|
|
214
|
+
* Storage: Uint32Array indices with string interning
|
|
215
|
+
* Arrow: Dictionary built dynamically from interned strings
|
|
216
|
+
* Use for: userIds, sessionIds, moduleNames, spanNames, table names
|
|
217
|
+
*
|
|
218
|
+
* Returns a schema with:
|
|
219
|
+
* - .default().sync()/.async() for feature flags
|
|
220
|
+
* - .mask(preset) for masking during Arrow conversion
|
|
221
|
+
*/
|
|
222
|
+
category(): CategorySchemaOrFlagBuilder;
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Text - Unique values that rarely repeat
|
|
226
|
+
* Storage: Raw strings without interning
|
|
227
|
+
* Arrow: Plain string column (no dictionary overhead)
|
|
228
|
+
* Use for: Unique error messages, URLs, request bodies, masked queries
|
|
229
|
+
*
|
|
230
|
+
* Returns a schema with:
|
|
231
|
+
* - .default().sync()/.async() for feature flags
|
|
232
|
+
* - .mask(preset) for masking during Arrow conversion
|
|
233
|
+
*/
|
|
234
|
+
text(): TextSchemaOrFlagBuilder;
|
|
235
|
+
|
|
236
|
+
// Binary types - raw bytes or encoder-wrapped values
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* Binary - Raw bytes or encoder-wrapped values
|
|
240
|
+
* Storage: Array (object references, frozen at tag time)
|
|
241
|
+
* Arrow: Binary column (encoded at flush time via BinaryEncoder if present)
|
|
242
|
+
* Use for: Arbitrary payloads, serialized objects, msgpack blobs
|
|
243
|
+
*/
|
|
244
|
+
binary(): LazyBinarySchema<Uint8Array>;
|
|
245
|
+
binary<T = unknown>(options: { encoder: BinaryEncoder }): LazyBinarySchema<T>;
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Unknown - accepts any value, msgpack-encoded at flush time
|
|
249
|
+
* Sugar for S.binary({ encoder: msgpackEncoder })
|
|
250
|
+
* Use for: arbitrary objects, request bodies, error context, unknown-shape data
|
|
251
|
+
*/
|
|
252
|
+
unknown(): LazyBinarySchema<unknown>;
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Object<T> - typed variant of unknown, same underlying binary storage with msgpack encoding
|
|
256
|
+
* TypeScript enforces shape at compile time; no runtime validation on hot path
|
|
257
|
+
*/
|
|
258
|
+
object<T extends object>(): LazyBinarySchema<T>;
|
|
259
|
+
|
|
260
|
+
// Optional wrapper
|
|
261
|
+
optional<T>(schema: Schema<T>): Schema<T | undefined, T | undefined>;
|
|
262
|
+
|
|
263
|
+
// Union types - for multiple schemas
|
|
264
|
+
union<T extends readonly [Schema, ...Schema[]]>(schemas: T): Schema<Output<T[number]>, Input<T[number]>>;
|
|
265
|
+
}
|