@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
@@ -0,0 +1,63 @@
1
+ const decoder = new TextDecoder('utf-8', { fatal: true });
2
+ const decodedGenerations = new WeakMap();
3
+ export const MAX_PACKED_MESSAGE_DENSE_INDEX = 0x00fffffe;
4
+ export function decodeVocabularyMessage(generation, denseIndex) {
5
+ if (denseIndex >= generation.ids.length) {
6
+ throw new Error(`Invalid vocabulary dense index ${denseIndex} for generation ${generation.generation}`);
7
+ }
8
+ let values = decodedGenerations.get(generation);
9
+ if (values === undefined) {
10
+ values = new Array(generation.ids.length);
11
+ decodedGenerations.set(generation, values);
12
+ }
13
+ const cached = values[denseIndex];
14
+ if (cached !== undefined)
15
+ return cached;
16
+ const start = generation.offsets[denseIndex];
17
+ const end = generation.offsets[denseIndex + 1];
18
+ const record = generation.records.subarray(start, end);
19
+ const textLength = new DataView(record.buffer, record.byteOffset, 4).getUint32(0, true);
20
+ const value = decoder.decode(record.subarray(4, 4 + textLength));
21
+ values[denseIndex] = value;
22
+ return value;
23
+ }
24
+ /** Resolve one entry type from either split or packed physical storage. */
25
+ export function resolveEntryType(buffer, row) {
26
+ const packed = buffer._rowHeaders;
27
+ if (packed !== undefined)
28
+ return packed[row] & 0xff;
29
+ const split = buffer.entry_type;
30
+ if (split === undefined)
31
+ throw new TypeError('Span buffer has no declared entry-type storage');
32
+ return split[row];
33
+ }
34
+ /** Resolve one dynamic or process-dense vocabulary message row. */
35
+ export function resolveMessage(buffer, row) {
36
+ if (row === 0 && buffer._spanName !== undefined) {
37
+ return typeof buffer._spanName === 'number'
38
+ ? decodeVocabularyMessage(buffer._vocabularyGeneration, buffer._spanName)
39
+ : buffer._spanName;
40
+ }
41
+ if (row === 1 && buffer._terminalMessage !== undefined)
42
+ return buffer._terminalMessage;
43
+ if (buffer._messagePhysicalLayout === 'current') {
44
+ const localId = buffer._messageIds?.[row] ?? 0;
45
+ if (localId === 0)
46
+ return buffer.message_values?.[row];
47
+ const denseIndex = buffer._opMetadata._physicalLayoutPlan?.localMessageDictionary[localId - 1];
48
+ if (denseIndex === undefined)
49
+ throw new Error(`Missing local message dictionary entry ${localId}`);
50
+ return decodeVocabularyMessage(buffer._vocabularyGeneration, denseIndex);
51
+ }
52
+ const packed = buffer._rowHeaders;
53
+ if (packed !== undefined) {
54
+ const encodedDenseIndex = packed[row] >>> 8;
55
+ return encodedDenseIndex === 0
56
+ ? buffer.message_values?.[row]
57
+ : decodeVocabularyMessage(buffer._vocabularyGeneration, encodedDenseIndex - 1);
58
+ }
59
+ const encodedDenseIndex = buffer._logHeaders?.[row] ?? 0;
60
+ return encodedDenseIndex === 0
61
+ ? buffer.message_values?.[row]
62
+ : decodeVocabularyMessage(buffer._vocabularyGeneration, encodedDenseIndex - 1);
63
+ }
@@ -30,8 +30,8 @@
30
30
  * }
31
31
  * ```
32
32
  */
33
+ import type { WriterState } from './codegen/fixedPositionWriterGenerator.js';
33
34
  import type { InferSchema, LogSchema } from './schema/types.js';
34
- import type { AnySpanBuffer } from './types.js';
35
35
  /**
36
36
  * Interface for tagged errors that can be discriminated with isErr(Tag).
37
37
  * Used by Blocked, RetriesExhausted, and user-defined error classes.
@@ -73,10 +73,9 @@ type ErrJson<E> = {
73
73
  */
74
74
  export declare class Ok<V, T extends LogSchema = LogSchema> {
75
75
  readonly value: V;
76
- private readonly _schema;
77
- private readonly _buffer;
76
+ private readonly _state;
78
77
  private _writer;
79
- constructor(value: V, schema?: T, buffer?: AnySpanBuffer);
78
+ constructor(value: V, state?: WriterState);
80
79
  private _resultWriter;
81
80
  /** Discriminant for type narrowing. */
82
81
  get success(): true;
@@ -150,10 +149,9 @@ export declare class Ok<V, T extends LogSchema = LogSchema> {
150
149
  */
151
150
  export declare class Err<E, T extends LogSchema = LogSchema> {
152
151
  readonly error: E;
153
- private readonly _schema;
154
- private readonly _buffer;
152
+ private readonly _state;
155
153
  private _writer;
156
- constructor(error: E, schema?: T, buffer?: AnySpanBuffer);
154
+ constructor(error: E, state?: WriterState);
157
155
  private _resultWriter;
158
156
  /** Discriminant for type narrowing. */
159
157
  get success(): false;
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/lib/result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM;IACtD,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IACzE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACtB,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CAC5D;AAED,KAAK,MAAM,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AACxC,KAAK,OAAO,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AA+C1C;;;;;;;;;;;;;;GAcG;AACH,qBAAa,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS;IAChD,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,OAAO,CAA6C;IAE5D,YAAY,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,aAAa,EAIvD;IAED,OAAO,CAAC,aAAa;IAKrB,uCAAuC;IACvC,IAAI,OAAO,IAAI,IAAI,CAElB;IAED,wFAAwF;IACxF,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,+CAA+C;IAC/C,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAEvB;IAED,gDAAgD;IAChD,KAAK,IAAI,KAAK,CAAC;IACf,KAAK,CAAC,GAAG,SAAS,WAAW,EAAE,IAAI,EAAE,sBAAsB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAKzE,6CAA6C;IAC7C,IAAI,UAAU,IAAI,CAAC,CAElB;IAED,+CAA+C;IAC/C,IAAI,UAAU,IAAI,SAAS,CAE1B;IAED,mCAAmC;IACnC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAEpC;IAED,2CAA2C;IAC3C,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAE5C;IAED,mEAAmE;IACnE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAEhE;IAED,mDAAmD;IACnD,QAAQ,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,CAE/B;IAED,mDAAmD;IACnD,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,GAAG,CAAC,CAE3C;IAED,mCAAmC;IACnC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE;QAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;QAAC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,CAAA;KAAE,GAAG,CAAC,CAEvE;IAED;;;;;OAKG;IACH,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAG9C;IAED;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAG1B;IAED;;;;;OAKG;IACH,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAG7B;IAMD,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAElB;CACF;AAQD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS;IACjD,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,OAAO,CAA6C;IAE5D,YAAY,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,aAAa,EAIvD;IAED,OAAO,CAAC,aAAa;IAKrB,uCAAuC;IACvC,IAAI,OAAO,IAAI,KAAK,CAEnB;IAED,yFAAyF;IACzF,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED,iDAAiD;IACjD,IAAI,IAAI,KAAK,CAEZ;IAED;;;;;;;;;;OAUG;IACH,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,GAAG,SAAS,WAAW,EAAE,GAAG,EAAE,sBAAsB,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACtF,KAAK,CAAC,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvG,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC;IAkBjD,gDAAgD;IAChD,IAAI,UAAU,IAAI,SAAS,CAE1B;IAED,8CAA8C;IAC9C,IAAI,UAAU,IAAI,CAAC,CAElB;IAED,4CAA4C;IAC5C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAE1C;IAED,2BAA2B;IAC3B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAExC;IAED,oCAAoC;IACpC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAE5D;IAED,gDAAgD;IAChD,QAAQ,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAE9B;IAED,sCAAsC;IACtC,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAEtC;IAED,mCAAmC;IACnC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE;QAAE,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC;QAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAA;KAAE,GAAG,CAAC,CAEvE;IAED;;;;;OAKG;IACH,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAG9C;IAED;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAG1B;IAED;;;;;OAKG;IACH,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAG7B;IAMD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAEnB;CACF;AAOD,gDAAgD;AAChD,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAMjF;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM;IAC5E,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM;IACxE,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IAC3D,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,eAAe,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,EAAE,IAAI,IACrD,MAAM,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,OAAK,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAyBvF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAOtE;AAMD;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEzF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEzG;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAE3E;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEvF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEvG;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/lib/result.ts"],"names":[],"mappings":"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"}
@@ -30,15 +30,10 @@
30
30
  * }
31
31
  * ```
32
32
  */
33
- import { createResultWriter } from './codegen/fixedPositionWriterGenerator.js';
34
- function ensureResultWriter(writer, schema, buffer, resultOrError, isError) {
35
- if (writer) {
33
+ function ensureResultWriter(writer, state) {
34
+ if (writer || !state)
36
35
  return writer;
37
- }
38
- if (!schema || !buffer) {
39
- return undefined;
40
- }
41
- return createResultWriter(schema, buffer, resultOrError, isError);
36
+ return new state._physicalLayoutPlan.ResultWriterClass(state);
42
37
  }
43
38
  function isErrPredicate(value) {
44
39
  const prototype = Reflect.get(value, 'prototype');
@@ -71,17 +66,16 @@ function createCodeErrorValue(prototype, fields) {
71
66
  */
72
67
  export class Ok {
73
68
  value;
74
- _schema;
75
- _buffer;
76
- _writer;
77
- constructor(value, schema, buffer) {
69
+ _state;
70
+ constructor(value, state) {
78
71
  this.value = value;
79
- this._schema = schema;
80
- this._buffer = buffer;
72
+ this._state = state;
81
73
  }
82
74
  _resultWriter() {
83
- this._writer = ensureResultWriter(this._writer, this._schema, this._buffer, this.value, false);
84
- return this._writer;
75
+ const writer = ensureResultWriter(this._writer, this._state);
76
+ if (writer)
77
+ this._writer = writer;
78
+ return writer;
85
79
  }
86
80
  /** Discriminant for type narrowing. */
87
81
  get success() {
@@ -108,7 +102,7 @@ export class Ok {
108
102
  }
109
103
  /** Transform the success value. */
110
104
  map(fn) {
111
- return new Ok(fn(this.value), this._schema, this._buffer);
105
+ return new Ok(fn(this.value), this._state);
112
106
  }
113
107
  /** No-op for Ok (error transformation). */
114
108
  mapErr(_fn) {
@@ -193,17 +187,16 @@ export class Ok {
193
187
  */
194
188
  export class Err {
195
189
  error;
196
- _schema;
197
- _buffer;
198
- _writer;
199
- constructor(error, schema, buffer) {
190
+ _state;
191
+ constructor(error, state) {
200
192
  this.error = error;
201
- this._schema = schema;
202
- this._buffer = buffer;
193
+ this._state = state;
203
194
  }
204
195
  _resultWriter() {
205
- this._writer = ensureResultWriter(this._writer, this._schema, this._buffer, this.error, true);
206
- return this._writer;
196
+ const writer = ensureResultWriter(this._writer, this._state);
197
+ if (writer)
198
+ this._writer = writer;
199
+ return writer;
207
200
  }
208
201
  /** Discriminant for type narrowing. */
209
202
  get success() {
@@ -243,7 +236,7 @@ export class Err {
243
236
  }
244
237
  /** Transform the error. */
245
238
  mapErr(fn) {
246
- return new Err(fn(this.error), this._schema, this._buffer);
239
+ return new Err(fn(this.error), this._state);
247
240
  }
248
241
  /** No-op for Err (returns self). */
249
242
  flatMap(_fn) {
@@ -0,0 +1,35 @@
1
+ export declare const RUNTIME_HINT_INITIAL_CAPACITY_MASK = 65535;
2
+ export declare const RUNTIME_HINT_TAG = 65536;
3
+ export declare const RUNTIME_HINT_LOG = 131072;
4
+ export declare const RUNTIME_HINT_FF = 262144;
5
+ export declare const RUNTIME_HINT_SPAN = 524288;
6
+ export declare const RUNTIME_HINT_RESULT = 1048576;
7
+ export declare const RUNTIME_HINT_SCOPE = 2097152;
8
+ export declare const RUNTIME_HINT_DEPS = 4194304;
9
+ export declare const RUNTIME_HINT_CAPABILITIES_MASK = 8323072;
10
+ export declare const RUNTIME_HINT_ANALYZED_VALID = 8388608;
11
+ export declare const RUNTIME_HINT_MESSAGE_LAYOUT_STATIC_ONLY = 16777216;
12
+ export declare const RUNTIME_HINT_MESSAGE_LAYOUT_DYNAMIC_ONLY = 33554432;
13
+ export declare const RUNTIME_HINT_MESSAGE_LAYOUT_MIXED = 50331648;
14
+ export declare const RUNTIME_HINT_MESSAGE_LAYOUT_MASK = 50331648;
15
+ export declare const RUNTIME_HINT_MESSAGE_PHYSICAL_PACKED = 67108864;
16
+ export declare const RUNTIME_HINT_MESSAGE_PHYSICAL_SPECIALIZED = 134217728;
17
+ export declare const RUNTIME_HINT_MESSAGE_PHYSICAL_MASK = 201326592;
18
+ export declare const RUNTIME_HINT_RESERVED_MASK = 4026531840;
19
+ export declare const RUNTIME_HINT_FULL_CAPABILITIES = 8323072;
20
+ export type MessageLayoutFamily = 'static-only' | 'mixed' | 'dynamic-only';
21
+ export type MessagePhysicalLayout = 'current' | 'specialized' | 'packed';
22
+ export interface DecodedRuntimeHint {
23
+ readonly analyzed: boolean;
24
+ readonly initialCapacity: number | undefined;
25
+ readonly capabilities: number;
26
+ readonly messageLayoutFamily: MessageLayoutFamily;
27
+ readonly messagePhysicalLayout: MessagePhysicalLayout;
28
+ }
29
+ export declare function isRuntimeHintAnalyzed(runtimeHint: number): boolean;
30
+ export declare function runtimeHintInitialCapacity(runtimeHint: number): number | undefined;
31
+ export declare function runtimeHintHasCapability(runtimeHint: number, capability: number): boolean;
32
+ export declare function runtimeHintMessageLayoutFamily(runtimeHint: number): MessageLayoutFamily;
33
+ export declare function runtimeHintMessagePhysicalLayout(runtimeHint: number): MessagePhysicalLayout;
34
+ export declare function decodeRuntimeHint(runtimeHint: number): DecodedRuntimeHint;
35
+ //# sourceMappingURL=runtimeHint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeHint.d.ts","sourceRoot":"","sources":["../../src/lib/runtimeHint.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC,QAAa,CAAC;AAE7D,eAAO,MAAM,gBAAgB,QAAa,CAAC;AAC3C,eAAO,MAAM,gBAAgB,SAAa,CAAC;AAC3C,eAAO,MAAM,eAAe,SAAa,CAAC;AAC1C,eAAO,MAAM,iBAAiB,SAAa,CAAC;AAC5C,eAAO,MAAM,mBAAmB,UAAa,CAAC;AAC9C,eAAO,MAAM,kBAAkB,UAAa,CAAC;AAC7C,eAAO,MAAM,iBAAiB,UAAa,CAAC;AAC5C,eAAO,MAAM,8BAA8B,UAAa,CAAC;AACzD,eAAO,MAAM,2BAA2B,UAAa,CAAC;AACtD,eAAO,MAAM,uCAAuC,WAAa,CAAC;AAClE,eAAO,MAAM,wCAAwC,WAAa,CAAC;AACnE,eAAO,MAAM,iCAAiC,WAAa,CAAC;AAC5D,eAAO,MAAM,gCAAgC,WAAa,CAAC;AAC3D,eAAO,MAAM,oCAAoC,WAAa,CAAC;AAC/D,eAAO,MAAM,yCAAyC,YAAa,CAAC;AACpE,eAAO,MAAM,kCAAkC,YAAa,CAAC;AAC7D,eAAO,MAAM,0BAA0B,aAAa,CAAC;AAErD,eAAO,MAAM,8BAA8B,UAAiC,CAAC;AAC7E,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,OAAO,GAAG,cAAc,CAAC;AAC3E,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAClD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;CACvD;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAQlE;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIlF;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAEzF;AAED,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,CAavF;AAED,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB,CAU3F;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,CAkBzE"}
@@ -0,0 +1,79 @@
1
+ export const RUNTIME_HINT_INITIAL_CAPACITY_MASK = 0x0000ffff;
2
+ export const RUNTIME_HINT_TAG = 0x00010000;
3
+ export const RUNTIME_HINT_LOG = 0x00020000;
4
+ export const RUNTIME_HINT_FF = 0x00040000;
5
+ export const RUNTIME_HINT_SPAN = 0x00080000;
6
+ export const RUNTIME_HINT_RESULT = 0x00100000;
7
+ export const RUNTIME_HINT_SCOPE = 0x00200000;
8
+ export const RUNTIME_HINT_DEPS = 0x00400000;
9
+ export const RUNTIME_HINT_CAPABILITIES_MASK = 0x007f0000;
10
+ export const RUNTIME_HINT_ANALYZED_VALID = 0x00800000;
11
+ export const RUNTIME_HINT_MESSAGE_LAYOUT_STATIC_ONLY = 0x01000000;
12
+ export const RUNTIME_HINT_MESSAGE_LAYOUT_DYNAMIC_ONLY = 0x02000000;
13
+ export const RUNTIME_HINT_MESSAGE_LAYOUT_MIXED = 0x03000000;
14
+ export const RUNTIME_HINT_MESSAGE_LAYOUT_MASK = 0x03000000;
15
+ export const RUNTIME_HINT_MESSAGE_PHYSICAL_PACKED = 0x04000000;
16
+ export const RUNTIME_HINT_MESSAGE_PHYSICAL_SPECIALIZED = 0x08000000;
17
+ export const RUNTIME_HINT_MESSAGE_PHYSICAL_MASK = 0x0c000000;
18
+ export const RUNTIME_HINT_RESERVED_MASK = 0xf0000000;
19
+ export const RUNTIME_HINT_FULL_CAPABILITIES = RUNTIME_HINT_CAPABILITIES_MASK;
20
+ export function isRuntimeHintAnalyzed(runtimeHint) {
21
+ return (Number.isInteger(runtimeHint) &&
22
+ runtimeHint >= 0 &&
23
+ runtimeHint <= 0xffffffff &&
24
+ (runtimeHint & RUNTIME_HINT_RESERVED_MASK) === 0 &&
25
+ (runtimeHint & RUNTIME_HINT_ANALYZED_VALID) !== 0);
26
+ }
27
+ export function runtimeHintInitialCapacity(runtimeHint) {
28
+ if (!isRuntimeHintAnalyzed(runtimeHint))
29
+ return undefined;
30
+ const capacity = runtimeHint & RUNTIME_HINT_INITIAL_CAPACITY_MASK;
31
+ return capacity < 2 ? undefined : capacity;
32
+ }
33
+ export function runtimeHintHasCapability(runtimeHint, capability) {
34
+ return !isRuntimeHintAnalyzed(runtimeHint) || (runtimeHint & capability) !== 0;
35
+ }
36
+ export function runtimeHintMessageLayoutFamily(runtimeHint) {
37
+ if (!isRuntimeHintAnalyzed(runtimeHint))
38
+ return 'mixed';
39
+ switch (runtimeHint & RUNTIME_HINT_MESSAGE_LAYOUT_MASK) {
40
+ case RUNTIME_HINT_MESSAGE_LAYOUT_STATIC_ONLY:
41
+ return 'static-only';
42
+ case RUNTIME_HINT_MESSAGE_LAYOUT_DYNAMIC_ONLY:
43
+ return 'dynamic-only';
44
+ case RUNTIME_HINT_MESSAGE_LAYOUT_MIXED:
45
+ return 'mixed';
46
+ default:
47
+ return 'mixed';
48
+ }
49
+ }
50
+ export function runtimeHintMessagePhysicalLayout(runtimeHint) {
51
+ if (!isRuntimeHintAnalyzed(runtimeHint))
52
+ return 'current';
53
+ switch (runtimeHint & RUNTIME_HINT_MESSAGE_PHYSICAL_MASK) {
54
+ case RUNTIME_HINT_MESSAGE_PHYSICAL_PACKED:
55
+ return 'packed';
56
+ case RUNTIME_HINT_MESSAGE_PHYSICAL_SPECIALIZED:
57
+ return 'specialized';
58
+ default:
59
+ return 'current';
60
+ }
61
+ }
62
+ export function decodeRuntimeHint(runtimeHint) {
63
+ if (!isRuntimeHintAnalyzed(runtimeHint)) {
64
+ return {
65
+ analyzed: false,
66
+ initialCapacity: undefined,
67
+ capabilities: RUNTIME_HINT_FULL_CAPABILITIES,
68
+ messageLayoutFamily: 'mixed',
69
+ messagePhysicalLayout: 'current',
70
+ };
71
+ }
72
+ return {
73
+ analyzed: true,
74
+ initialCapacity: runtimeHintInitialCapacity(runtimeHint),
75
+ capabilities: runtimeHint & RUNTIME_HINT_CAPABILITIES_MASK,
76
+ messageLayoutFamily: runtimeHintMessageLayoutFamily(runtimeHint),
77
+ messagePhysicalLayout: runtimeHintMessagePhysicalLayout(runtimeHint),
78
+ };
79
+ }
@@ -1,52 +1,12 @@
1
1
  /**
2
- * Type guard functions for runtime type checking
2
+ * Schema type-guard re-exports.
3
3
  *
4
- * Re-exports schema type guards from arrow-builder and adds lmao-specific guards.
4
+ * Re-exports the schema introspection guards from arrow-builder so the rest of
5
+ * the package imports them from a single place.
6
+ *
7
+ * NOTE: Do not hand-write `isRecord`/`typeof` guards here. For runtime
8
+ * validation at trust boundaries use Typia (`typia.is<T>()`) or
9
+ * `@smoothbricks/validation`'s shared helpers (e.g. `isRecord`).
5
10
  */
6
11
  export { getBinaryEncoder, getEnumUtf8, getEnumValues, getSchemaType, isEnumSchema, isSchemaWithMetadata, } from '@smoothbricks/arrow-builder';
7
- import type { EvaluationContext, UsageContext } from './defineFeatureFlags.js';
8
- import type { FeatureFlagDefinition } from './types.js';
9
- /** Narrow unknown to Record<string, unknown> — non-null object with string-keyed access. */
10
- export declare function isRecord(value: unknown): value is Record<string, unknown>;
11
- /**
12
- * Type guard to check if a value is a FeatureFlagDefinition
13
- */
14
- export declare function isFeatureFlagDefinition(value: unknown): value is FeatureFlagDefinition<string | number | boolean>;
15
- /**
16
- * Type guard to check if a value is a valid EvaluationContext
17
- */
18
- export declare function isEvaluationContext(value: unknown): value is EvaluationContext;
19
- /**
20
- * Type guard to check if a value is a valid UsageContext
21
- */
22
- export declare function isUsageContext(value: unknown): value is UsageContext;
23
- /**
24
- * Type guard to check if a value is a string
25
- * Useful for narrowing unknown types in safe contexts
26
- */
27
- export declare function isString(value: unknown): value is string;
28
- /**
29
- * Type guard to check if a value is a number
30
- * Useful for narrowing unknown types in safe contexts
31
- */
32
- export declare function isNumber(value: unknown): value is number;
33
- /**
34
- * Type guard to check if a value is a boolean
35
- * Useful for narrowing unknown types in safe contexts
36
- */
37
- export declare function isBoolean(value: unknown): value is boolean;
38
- /**
39
- * Type guard to check if a value is a primitive type (string | number | boolean)
40
- * Useful for validating feature flag values and tag attributes
41
- */
42
- export declare function isPrimitive(value: unknown): value is string | number | boolean;
43
- /**
44
- * Type guard to check if a value is a plain object (not array, not null)
45
- */
46
- export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
47
- /**
48
- * Type guard to check if a value is a valid record with primitive values
49
- * Useful for validating tag attribute objects
50
- */
51
- export declare function isRecordOfPrimitives(value: unknown): value is Record<string, string | number | boolean>;
52
12
  //# sourceMappingURL=typeGuards.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typeGuards.d.ts","sourceRoot":"","sources":["../../../src/lib/schema/typeGuards.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAWjH;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAe9E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAqCpE;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,GAAG,MAAM,GAAG,OAAO,CAE9E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO9E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAYvG"}
1
+ {"version":3,"file":"typeGuards.d.ts","sourceRoot":"","sources":["../../../src/lib/schema/typeGuards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,oBAAoB,GACrB,MAAM,6BAA6B,CAAC"}
@@ -1,127 +1,11 @@
1
1
  /**
2
- * Type guard functions for runtime type checking
2
+ * Schema type-guard re-exports.
3
3
  *
4
- * Re-exports schema type guards from arrow-builder and adds lmao-specific guards.
4
+ * Re-exports the schema introspection guards from arrow-builder so the rest of
5
+ * the package imports them from a single place.
6
+ *
7
+ * NOTE: Do not hand-write `isRecord`/`typeof` guards here. For runtime
8
+ * validation at trust boundaries use Typia (`typia.is<T>()`) or
9
+ * `@smoothbricks/validation`'s shared helpers (e.g. `isRecord`).
5
10
  */
6
- // Re-export schema type guards from arrow-builder
7
11
  export { getBinaryEncoder, getEnumUtf8, getEnumValues, getSchemaType, isEnumSchema, isSchemaWithMetadata, } from '@smoothbricks/arrow-builder';
8
- /** Narrow unknown to Record<string, unknown> — non-null object with string-keyed access. */
9
- export function isRecord(value) {
10
- return typeof value === 'object' && value !== null && !Array.isArray(value);
11
- }
12
- /**
13
- * Type guard to check if a value is a FeatureFlagDefinition
14
- */
15
- export function isFeatureFlagDefinition(value) {
16
- if (!isRecord(value)) {
17
- return false;
18
- }
19
- return ('schema' in value &&
20
- 'defaultValue' in value &&
21
- 'evaluationType' in value &&
22
- (value.evaluationType === 'sync' || value.evaluationType === 'async'));
23
- }
24
- /**
25
- * Type guard to check if a value is a valid EvaluationContext
26
- */
27
- export function isEvaluationContext(value) {
28
- if (!isRecord(value)) {
29
- return false;
30
- }
31
- // EvaluationContext can have various string/number/boolean properties
32
- // Check that all values are of valid types
33
- for (const key in value) {
34
- const val = value[key];
35
- if (val !== undefined && typeof val !== 'string' && typeof val !== 'number' && typeof val !== 'boolean') {
36
- return false;
37
- }
38
- }
39
- return true;
40
- }
41
- /**
42
- * Type guard to check if a value is a valid UsageContext
43
- */
44
- export function isUsageContext(value) {
45
- if (!isRecord(value)) {
46
- return false;
47
- }
48
- // Check action property if present
49
- if ('action' in value && typeof value.action !== 'string' && value.action !== undefined) {
50
- return false;
51
- }
52
- // Check outcome property if present
53
- if ('outcome' in value && value.outcome !== undefined && value.outcome !== 'success' && value.outcome !== 'failure') {
54
- return false;
55
- }
56
- // Check value property if present
57
- if ('value' in value && typeof value.value !== 'number' && value.value !== undefined) {
58
- return false;
59
- }
60
- // Check metadata property if present
61
- if ('metadata' in value && value.metadata !== undefined) {
62
- if (!isRecord(value.metadata)) {
63
- return false;
64
- }
65
- // Validate metadata values
66
- const metadata = value.metadata;
67
- for (const key in metadata) {
68
- const val = metadata[key];
69
- if (typeof val !== 'string' && typeof val !== 'number' && typeof val !== 'boolean') {
70
- return false;
71
- }
72
- }
73
- }
74
- return true;
75
- }
76
- /**
77
- * Type guard to check if a value is a string
78
- * Useful for narrowing unknown types in safe contexts
79
- */
80
- export function isString(value) {
81
- return typeof value === 'string';
82
- }
83
- /**
84
- * Type guard to check if a value is a number
85
- * Useful for narrowing unknown types in safe contexts
86
- */
87
- export function isNumber(value) {
88
- return typeof value === 'number' && !Number.isNaN(value);
89
- }
90
- /**
91
- * Type guard to check if a value is a boolean
92
- * Useful for narrowing unknown types in safe contexts
93
- */
94
- export function isBoolean(value) {
95
- return typeof value === 'boolean';
96
- }
97
- /**
98
- * Type guard to check if a value is a primitive type (string | number | boolean)
99
- * Useful for validating feature flag values and tag attributes
100
- */
101
- export function isPrimitive(value) {
102
- return isString(value) || isNumber(value) || isBoolean(value);
103
- }
104
- /**
105
- * Type guard to check if a value is a plain object (not array, not null)
106
- */
107
- export function isPlainObject(value) {
108
- return (typeof value === 'object' &&
109
- value !== null &&
110
- !Array.isArray(value) &&
111
- Object.getPrototypeOf(value) === Object.prototype);
112
- }
113
- /**
114
- * Type guard to check if a value is a valid record with primitive values
115
- * Useful for validating tag attribute objects
116
- */
117
- export function isRecordOfPrimitives(value) {
118
- if (!isPlainObject(value)) {
119
- return false;
120
- }
121
- for (const key in value) {
122
- if (!isPrimitive(value[key])) {
123
- return false;
124
- }
125
- }
126
- return true;
127
- }
@@ -106,7 +106,7 @@ export interface SchemaBuilder {
106
106
  * Use for: Operations, HTTP methods, entry types, status enums
107
107
  * Example: S.enum(['CREATE', 'READ', 'UPDATE', 'DELETE'])
108
108
  */
109
- enum<T extends readonly string[]>(values: T): SchemaOrFlagBuilder<T[number]>;
109
+ enum<const T extends readonly string[]>(values: T): SchemaOrFlagBuilder<T[number]>;
110
110
  /**
111
111
  * Category - Values that often repeat (limited cardinality)
112
112
  * Storage: Uint32Array indices with string interning
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/schema/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAIzE,YAAY,EAEV,aAAa,EAEb,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,eAAe,EAEf,mBAAmB,EACnB,KAAK,EAEL,gBAAgB,EAEhB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,aAAa,EACb,MAAM,EACN,MAAM,EACN,YAAY,EACZ,UAAU,EACV,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG3E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,YAAY,EACb,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;GAKG;AACH,KAAK,mBAAmB,CAAC,CAAC,IACxB,CAAC,SAAS,SAAS,CAAC,MAAM,MAAM,CAAC,GAC7B,MAAM,GACN,CAAC,SAAS;IACN,QAAQ,CAAC,CAAC,wBAAwB,CAAC,CAAC,EAAE,MAAM,QAAQ,CAAC;CACtD,GACD,QAAQ,SAAS,YAAY,GAC3B,QAAQ,GACR,CAAC,SAAS,YAAY,GACpB,CAAC,GACD,KAAK,GACT,CAAC,SAAS,YAAY,GACpB,CAAC,GACD,KAAK,CAAC;AAEhB;;;;;;GAMG;AACH,KAAK,eAAe,CAAC,CAAC,IACpB,CAAC,SAAS,SAAS,CAAC,MAAM,MAAM,CAAC,GAC7B,MAAM,MAAM,GACZ,mBAAmB,CAAC,CAAC,CAAC,SAAS,MAAM,MAAM,GACzC,MAAM,MAAM,SAAS,MAAM,CAAC,GAC1B,CAAC,SAAS,MAAM,GACd,CAAC,GACD,KAAK,GACP,KAAK,GACP,KAAK,CAAC;AAEd;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,YAAY,IAAI;KAC3D,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,GAChF,CAAC,GACD,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,CAAC,GACzD,EAAE,GACF,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,kBAAkB,GAAG,mBAAmB,GACxE,MAAM,GACN,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,cAAc,GAAG,eAAe,GAChE,MAAM,GACN,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAAG,iBAAiB,GACpE,MAAM,GACN,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,iBAAiB,GAAG,kBAAkB,GACtE,OAAO,GACP,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,CAAC,GACjD,GAAG,GACH,KAAK;CACtB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,SAAS,GAAG,YAAY,IAAI;KAChE,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK;CACpG,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,IAAI,IAAI,qBAAqB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,IAAI,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,EAAE,QAAQ,SAAS,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO;IAC5F,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,YAAY,EAAE,CAAC,CAAC;IAChB,cAAc,EAAE,QAAQ,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,mBAAmB,CAAC,MAAM,CAAC,GAAG,kBAAkB,CAAC;AAE3F;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC;AAEnF;;;GAGG;AACH,MAAM,WAAW,aAAa;IAE5B,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAKxC;;;;;;OAMG;IACH,IAAI,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAE7E;;;;;;;;;OASG;IACH,QAAQ,IAAI,2BAA2B,CAAC;IAExC;;;;;;;;;OASG;IACH,IAAI,IAAI,uBAAuB,CAAC;IAIhC;;;;;OAKG;IACH,MAAM,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE;QAAE,OAAO,EAAE,aAAa,CAAA;KAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAE9E;;;;OAIG;IACH,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAErC;;;OAGG;IACH,MAAM,CAAC,CAAC,SAAS,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAGhD,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;IAGrE,KAAK,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CAC1G"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/schema/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1.d.ts","sourceRoot":"","sources":["../../../../src/lib/span-buffer/aot/v1.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import { checkCapacityTuning } from '../../capacityTuning.js';
2
+ import { EMPTY_SCOPE, materializeCompiledSpanBufferClass } from '../../spanBuffer.js';
3
+ import { copyThreadIdTo, getThreadId } from '../../threadId.js';
4
+ const SPAN_BUFFER_AOT_ABI_SYMBOL = Symbol.for('@smoothbricks/lmao/span-buffer/aot/v1');
5
+ const spanBufferAotRuntime = Object.freeze({
6
+ EMPTY_SCOPE,
7
+ checkCapacityTuning,
8
+ copyThreadIdTo,
9
+ getThreadId,
10
+ materializeCompiledSpanBufferClass,
11
+ });
12
+ const existingRuntime = Reflect.get(globalThis, SPAN_BUFFER_AOT_ABI_SYMBOL);
13
+ if (existingRuntime === undefined) {
14
+ Object.defineProperty(globalThis, SPAN_BUFFER_AOT_ABI_SYMBOL, {
15
+ value: spanBufferAotRuntime,
16
+ enumerable: false,
17
+ configurable: false,
18
+ writable: false,
19
+ });
20
+ }
21
+ else if (existingRuntime !== spanBufferAotRuntime) {
22
+ // invariant throw: one realm must expose exactly one canonical SpanBuffer AOT ABI.
23
+ throw new TypeError('Conflicting LMAO SpanBuffer AOT runtime registrations');
24
+ }