@smoothbricks/lmao 0.3.0 → 0.3.2

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 (468) hide show
  1. package/dist/ts/bun/preload.d.ts.map +1 -0
  2. package/dist/ts/bun/trace-preload.d.ts +9 -0
  3. package/dist/ts/bun/trace-preload.d.ts.map +1 -0
  4. package/dist/ts/bun/trace-preload.js +24 -0
  5. package/dist/ts/cloudflare.d.ts.map +1 -0
  6. package/dist/ts/es.d.ts.map +1 -0
  7. package/dist/ts/index.d.ts.map +1 -0
  8. package/dist/ts/lib/JsBufferStrategy.d.ts.map +1 -0
  9. package/dist/ts/lib/archive/chunkCompaction.d.ts.map +1 -0
  10. package/dist/ts/lib/archive/chunkEnvelope.d.ts.map +1 -0
  11. package/dist/ts/lib/archive/chunkRouting.d.ts.map +1 -0
  12. package/dist/ts/lib/archive/chunkStats.d.ts.map +1 -0
  13. package/dist/ts/lib/archive/index.d.ts.map +1 -0
  14. package/dist/ts/lib/arrow/capacityStats.d.ts.map +1 -0
  15. package/dist/ts/lib/arrow/dictionaries.d.ts.map +1 -0
  16. package/dist/ts/lib/arrow/flechette.d.ts.map +1 -0
  17. package/dist/ts/lib/arrow/lease.d.ts.map +1 -0
  18. package/dist/ts/lib/arrow/utils.d.ts.map +1 -0
  19. package/dist/ts/lib/arrow/vocabularyDictionary.d.ts.map +1 -0
  20. package/dist/ts/lib/buffer/Nanoseconds.d.ts.map +1 -0
  21. package/dist/ts/lib/bufferStrategy.d.ts.map +1 -0
  22. package/dist/ts/lib/capacityTuning.d.ts.map +1 -0
  23. package/dist/ts/lib/cleanupDiagnostics.d.ts.map +1 -0
  24. package/dist/ts/lib/cloudflare/classSplit.d.ts.map +1 -0
  25. package/dist/ts/lib/cloudflare/collectorClient.d.ts.map +1 -0
  26. package/dist/ts/lib/cloudflare/diagnosticDrain.d.ts.map +1 -0
  27. package/dist/ts/lib/cloudflare/traceRows.d.ts.map +1 -0
  28. package/dist/ts/lib/codegen/evaluatorGenerator.d.ts.map +1 -0
  29. package/dist/ts/lib/codegen/fixedPositionWriterGenerator.d.ts.map +1 -0
  30. package/dist/ts/lib/codegen/spanLoggerClosureMaterializer.d.ts.map +1 -0
  31. package/dist/ts/lib/codegen/spanLoggerGenerator.d.ts.map +1 -0
  32. package/dist/ts/lib/convertToArrow.d.ts.map +1 -0
  33. package/dist/ts/lib/defineOpContext.d.ts.map +1 -0
  34. package/dist/ts/lib/enumMetadata.d.ts.map +1 -0
  35. package/dist/ts/lib/errors/Blocked.d.ts.map +1 -0
  36. package/dist/ts/lib/errors/CodeError.d.ts.map +1 -0
  37. package/dist/ts/lib/errors/RetriesExhausted.d.ts.map +1 -0
  38. package/dist/ts/lib/errors/Transient.d.ts.map +1 -0
  39. package/dist/ts/lib/errors/index.d.ts.map +1 -0
  40. package/dist/ts/lib/errors/retry-policy.d.ts.map +1 -0
  41. package/dist/{lib → ts/lib}/flushScheduler.d.ts +3 -0
  42. package/dist/ts/lib/flushScheduler.d.ts.map +1 -0
  43. package/dist/ts/lib/library.d.ts.map +1 -0
  44. package/dist/ts/lib/logApi.d.ts.map +1 -0
  45. package/dist/ts/lib/logBinding.d.ts.map +1 -0
  46. package/dist/ts/lib/op.d.ts.map +1 -0
  47. package/dist/ts/lib/opContext/contextTypes.d.ts.map +1 -0
  48. package/dist/ts/lib/opContext/createOpGroup.d.ts.map +1 -0
  49. package/dist/ts/lib/opContext/defineOp.d.ts.map +1 -0
  50. package/dist/ts/lib/opContext/featureFlagTypes.d.ts.map +1 -0
  51. package/dist/ts/lib/opContext/index.d.ts.map +1 -0
  52. package/dist/ts/lib/opContext/opGroupTypes.d.ts.map +1 -0
  53. package/dist/ts/lib/opContext/opTypes.d.ts.map +1 -0
  54. package/dist/ts/lib/opContext/spanContextTypes.d.ts.map +1 -0
  55. package/dist/ts/lib/opContext/types.d.ts.map +1 -0
  56. package/dist/ts/lib/physicalLayoutPlan.d.ts.map +1 -0
  57. package/dist/ts/lib/resolveMessage.d.ts.map +1 -0
  58. package/dist/ts/lib/result.d.ts.map +1 -0
  59. package/dist/ts/lib/runtimeHint.d.ts.map +1 -0
  60. package/dist/ts/lib/schema/LogSchema.d.ts.map +1 -0
  61. package/dist/ts/lib/schema/builder.d.ts.map +1 -0
  62. package/dist/ts/lib/schema/defineFeatureFlags.d.ts.map +1 -0
  63. package/dist/ts/lib/schema/defineLogSchema.d.ts.map +1 -0
  64. package/dist/ts/lib/schema/evaluator.d.ts.map +1 -0
  65. package/dist/ts/lib/schema/extend.d.ts.map +1 -0
  66. package/dist/ts/lib/schema/systemSchema.d.ts.map +1 -0
  67. package/dist/ts/lib/schema/typeGuards.d.ts.map +1 -0
  68. package/dist/ts/lib/schema/types.d.ts.map +1 -0
  69. package/dist/ts/lib/span-buffer/aot/v1.d.ts.map +1 -0
  70. package/dist/ts/lib/spanBuffer.d.ts.map +1 -0
  71. package/dist/ts/lib/spanBufferHelpers.d.ts.map +1 -0
  72. package/dist/ts/lib/spanBufferStats.d.ts.map +1 -0
  73. package/dist/ts/lib/spanContext.d.ts.map +1 -0
  74. package/dist/ts/lib/sqlite/index.d.ts.map +1 -0
  75. package/dist/ts/lib/sqlite/sqlite-async-writer.d.ts.map +1 -0
  76. package/dist/ts/lib/sqlite/sqlite-common.d.ts.map +1 -0
  77. package/dist/ts/lib/sqlite/sqlite-d1.d.ts.map +1 -0
  78. package/dist/ts/lib/sqlite/sqlite-db.d.ts.map +1 -0
  79. package/dist/ts/lib/sqlite/sqlite-node.d.ts.map +1 -0
  80. package/dist/ts/lib/sqlite/sqlite-writer.d.ts.map +1 -0
  81. package/dist/{lib → ts/lib}/testing/bun-harness.d.ts +18 -17
  82. package/dist/ts/lib/testing/bun-harness.d.ts.map +1 -0
  83. package/dist/{lib → ts/lib}/testing/bun-harness.js +22 -32
  84. package/dist/ts/lib/testing/consumer-package.d.ts +30 -0
  85. package/dist/ts/lib/testing/consumer-package.d.ts.map +1 -0
  86. package/dist/ts/lib/testing/consumer-package.js +92 -0
  87. package/dist/ts/lib/testing/extractFacts.d.ts.map +1 -0
  88. package/dist/ts/lib/testing/facts.d.ts.map +1 -0
  89. package/dist/ts/lib/testing/index.d.ts.map +1 -0
  90. package/dist/ts/lib/testing/queryable-span.d.ts.map +1 -0
  91. package/dist/ts/lib/testing/span-query.d.ts.map +1 -0
  92. package/dist/ts/lib/testing/stdio-replay.d.ts.map +1 -0
  93. package/dist/ts/lib/testing/trace-query.d.ts.map +1 -0
  94. package/dist/ts/lib/testing/vitest-harness.d.ts.map +1 -0
  95. package/dist/ts/lib/threadId.d.ts.map +1 -0
  96. package/dist/ts/lib/traceContext.d.ts.map +1 -0
  97. package/dist/ts/lib/traceId.d.ts.map +1 -0
  98. package/dist/ts/lib/traceRoot.d.ts.map +1 -0
  99. package/dist/ts/lib/traceRoot.es.d.ts.map +1 -0
  100. package/dist/ts/lib/traceRoot.node.d.ts.map +1 -0
  101. package/dist/ts/lib/traceRoot.universal.d.ts.map +1 -0
  102. package/dist/ts/lib/traceTopology.d.ts.map +1 -0
  103. package/dist/ts/lib/tracer.d.ts.map +1 -0
  104. package/dist/ts/lib/tracers/ArrayQueueTracer.d.ts.map +1 -0
  105. package/dist/ts/lib/tracers/CompositeTracer.d.ts.map +1 -0
  106. package/dist/ts/lib/tracers/NoOpTracer.d.ts.map +1 -0
  107. package/dist/ts/lib/tracers/SQLiteTracer.d.ts.map +1 -0
  108. package/dist/ts/lib/tracers/StdioTracer.d.ts.map +1 -0
  109. package/dist/ts/lib/tracers/TestTracer.d.ts.map +1 -0
  110. package/dist/ts/lib/tracers/index.d.ts.map +1 -0
  111. package/dist/ts/lib/types.d.ts.map +1 -0
  112. package/dist/ts/lib/utf8Cache.d.ts.map +1 -0
  113. package/dist/ts/lib/vocabularyRegistry.d.ts.map +1 -0
  114. package/dist/ts/lib/wasm/WasmBufferStrategy.d.ts.map +1 -0
  115. package/dist/ts/lib/wasm/wasmAllocator.d.ts.map +1 -0
  116. package/dist/{lib → ts/lib}/wasm/wasmAllocator.js +8 -3
  117. package/dist/ts/lib/wasm/wasmPhysicalLayout.d.ts.map +1 -0
  118. package/dist/ts/lib/wasm/wasmSpanBuffer.d.ts.map +1 -0
  119. package/dist/ts/lib/wasm/wasmTraceRoot.d.ts.map +1 -0
  120. package/dist/ts/node.d.ts.map +1 -0
  121. package/dist/ts/testing.d.ts.map +1 -0
  122. package/dist/ts/vocabulary/register/v1.d.ts.map +1 -0
  123. package/dist/ts/wasm.d.ts.map +1 -0
  124. package/package.json +66 -66
  125. package/src/bun/trace-preload.ts +18 -6
  126. package/src/lib/__tests__/package-exports.test.ts +21 -0
  127. package/src/lib/testing/__tests__/consumer-package.test.ts +106 -0
  128. package/src/lib/testing/bun-harness.ts +32 -37
  129. package/src/lib/testing/consumer-package.ts +93 -0
  130. package/src/lib/wasm/wasmAllocator.ts +8 -3
  131. package/dist/bun/preload.d.ts.map +0 -1
  132. package/dist/bun/trace-preload.d.ts +0 -8
  133. package/dist/bun/trace-preload.d.ts.map +0 -1
  134. package/dist/bun/trace-preload.js +0 -12
  135. package/dist/cloudflare.d.ts.map +0 -1
  136. package/dist/es.d.ts.map +0 -1
  137. package/dist/index.d.ts.map +0 -1
  138. package/dist/lib/JsBufferStrategy.d.ts.map +0 -1
  139. package/dist/lib/archive/chunkCompaction.d.ts.map +0 -1
  140. package/dist/lib/archive/chunkEnvelope.d.ts.map +0 -1
  141. package/dist/lib/archive/chunkRouting.d.ts.map +0 -1
  142. package/dist/lib/archive/chunkStats.d.ts.map +0 -1
  143. package/dist/lib/archive/index.d.ts.map +0 -1
  144. package/dist/lib/arrow/capacityStats.d.ts.map +0 -1
  145. package/dist/lib/arrow/dictionaries.d.ts.map +0 -1
  146. package/dist/lib/arrow/flechette.d.ts.map +0 -1
  147. package/dist/lib/arrow/lease.d.ts.map +0 -1
  148. package/dist/lib/arrow/utils.d.ts.map +0 -1
  149. package/dist/lib/arrow/vocabularyDictionary.d.ts.map +0 -1
  150. package/dist/lib/buffer/Nanoseconds.d.ts.map +0 -1
  151. package/dist/lib/bufferStrategy.d.ts.map +0 -1
  152. package/dist/lib/capacityTuning.d.ts.map +0 -1
  153. package/dist/lib/cleanupDiagnostics.d.ts.map +0 -1
  154. package/dist/lib/cloudflare/classSplit.d.ts.map +0 -1
  155. package/dist/lib/cloudflare/collectorClient.d.ts.map +0 -1
  156. package/dist/lib/cloudflare/diagnosticDrain.d.ts.map +0 -1
  157. package/dist/lib/cloudflare/traceRows.d.ts.map +0 -1
  158. package/dist/lib/codegen/evaluatorGenerator.d.ts.map +0 -1
  159. package/dist/lib/codegen/fixedPositionWriterGenerator.d.ts.map +0 -1
  160. package/dist/lib/codegen/spanLoggerClosureMaterializer.d.ts.map +0 -1
  161. package/dist/lib/codegen/spanLoggerGenerator.d.ts.map +0 -1
  162. package/dist/lib/convertToArrow.d.ts.map +0 -1
  163. package/dist/lib/defineOpContext.d.ts.map +0 -1
  164. package/dist/lib/enumMetadata.d.ts.map +0 -1
  165. package/dist/lib/errors/Blocked.d.ts.map +0 -1
  166. package/dist/lib/errors/CodeError.d.ts.map +0 -1
  167. package/dist/lib/errors/RetriesExhausted.d.ts.map +0 -1
  168. package/dist/lib/errors/Transient.d.ts.map +0 -1
  169. package/dist/lib/errors/index.d.ts.map +0 -1
  170. package/dist/lib/errors/retry-policy.d.ts.map +0 -1
  171. package/dist/lib/flushScheduler.d.ts.map +0 -1
  172. package/dist/lib/library.d.ts.map +0 -1
  173. package/dist/lib/logApi.d.ts.map +0 -1
  174. package/dist/lib/logBinding.d.ts.map +0 -1
  175. package/dist/lib/op.d.ts.map +0 -1
  176. package/dist/lib/opContext/contextTypes.d.ts.map +0 -1
  177. package/dist/lib/opContext/createOpGroup.d.ts.map +0 -1
  178. package/dist/lib/opContext/defineOp.d.ts.map +0 -1
  179. package/dist/lib/opContext/featureFlagTypes.d.ts.map +0 -1
  180. package/dist/lib/opContext/index.d.ts.map +0 -1
  181. package/dist/lib/opContext/opGroupTypes.d.ts.map +0 -1
  182. package/dist/lib/opContext/opTypes.d.ts.map +0 -1
  183. package/dist/lib/opContext/spanContextTypes.d.ts.map +0 -1
  184. package/dist/lib/opContext/types.d.ts.map +0 -1
  185. package/dist/lib/physicalLayoutPlan.d.ts.map +0 -1
  186. package/dist/lib/resolveMessage.d.ts.map +0 -1
  187. package/dist/lib/result.d.ts.map +0 -1
  188. package/dist/lib/runtimeHint.d.ts.map +0 -1
  189. package/dist/lib/schema/LogSchema.d.ts.map +0 -1
  190. package/dist/lib/schema/builder.d.ts.map +0 -1
  191. package/dist/lib/schema/defineFeatureFlags.d.ts.map +0 -1
  192. package/dist/lib/schema/defineLogSchema.d.ts.map +0 -1
  193. package/dist/lib/schema/evaluator.d.ts.map +0 -1
  194. package/dist/lib/schema/extend.d.ts.map +0 -1
  195. package/dist/lib/schema/systemSchema.d.ts.map +0 -1
  196. package/dist/lib/schema/typeGuards.d.ts.map +0 -1
  197. package/dist/lib/schema/types.d.ts.map +0 -1
  198. package/dist/lib/span-buffer/aot/v1.d.ts.map +0 -1
  199. package/dist/lib/spanBuffer.d.ts.map +0 -1
  200. package/dist/lib/spanBufferHelpers.d.ts.map +0 -1
  201. package/dist/lib/spanBufferStats.d.ts.map +0 -1
  202. package/dist/lib/spanContext.d.ts.map +0 -1
  203. package/dist/lib/sqlite/index.d.ts.map +0 -1
  204. package/dist/lib/sqlite/sqlite-async-writer.d.ts.map +0 -1
  205. package/dist/lib/sqlite/sqlite-common.d.ts.map +0 -1
  206. package/dist/lib/sqlite/sqlite-d1.d.ts.map +0 -1
  207. package/dist/lib/sqlite/sqlite-db.d.ts.map +0 -1
  208. package/dist/lib/sqlite/sqlite-node.d.ts.map +0 -1
  209. package/dist/lib/sqlite/sqlite-writer.d.ts.map +0 -1
  210. package/dist/lib/testing/bun-harness.d.ts.map +0 -1
  211. package/dist/lib/testing/extractFacts.d.ts.map +0 -1
  212. package/dist/lib/testing/facts.d.ts.map +0 -1
  213. package/dist/lib/testing/index.d.ts.map +0 -1
  214. package/dist/lib/testing/queryable-span.d.ts.map +0 -1
  215. package/dist/lib/testing/span-query.d.ts.map +0 -1
  216. package/dist/lib/testing/stdio-replay.d.ts.map +0 -1
  217. package/dist/lib/testing/trace-query.d.ts.map +0 -1
  218. package/dist/lib/testing/vitest-harness.d.ts.map +0 -1
  219. package/dist/lib/threadId.d.ts.map +0 -1
  220. package/dist/lib/traceContext.d.ts.map +0 -1
  221. package/dist/lib/traceId.d.ts.map +0 -1
  222. package/dist/lib/traceRoot.d.ts.map +0 -1
  223. package/dist/lib/traceRoot.es.d.ts.map +0 -1
  224. package/dist/lib/traceRoot.node.d.ts.map +0 -1
  225. package/dist/lib/traceRoot.universal.d.ts.map +0 -1
  226. package/dist/lib/traceTopology.d.ts.map +0 -1
  227. package/dist/lib/tracer.d.ts.map +0 -1
  228. package/dist/lib/tracers/ArrayQueueTracer.d.ts.map +0 -1
  229. package/dist/lib/tracers/CompositeTracer.d.ts.map +0 -1
  230. package/dist/lib/tracers/NoOpTracer.d.ts.map +0 -1
  231. package/dist/lib/tracers/SQLiteTracer.d.ts.map +0 -1
  232. package/dist/lib/tracers/StdioTracer.d.ts.map +0 -1
  233. package/dist/lib/tracers/TestTracer.d.ts.map +0 -1
  234. package/dist/lib/tracers/index.d.ts.map +0 -1
  235. package/dist/lib/types.d.ts.map +0 -1
  236. package/dist/lib/utf8Cache.d.ts.map +0 -1
  237. package/dist/lib/vocabularyRegistry.d.ts.map +0 -1
  238. package/dist/lib/wasm/WasmBufferStrategy.d.ts.map +0 -1
  239. package/dist/lib/wasm/wasmAllocator.d.ts.map +0 -1
  240. package/dist/lib/wasm/wasmPhysicalLayout.d.ts.map +0 -1
  241. package/dist/lib/wasm/wasmSpanBuffer.d.ts.map +0 -1
  242. package/dist/lib/wasm/wasmTraceRoot.d.ts.map +0 -1
  243. package/dist/node.d.ts.map +0 -1
  244. package/dist/testing.d.ts.map +0 -1
  245. package/dist/vocabulary/register/v1.d.ts.map +0 -1
  246. package/dist/wasm.d.ts.map +0 -1
  247. /package/dist/{bun → ts/bun}/preload.d.ts +0 -0
  248. /package/dist/{bun → ts/bun}/preload.js +0 -0
  249. /package/dist/{cloudflare.d.ts → ts/cloudflare.d.ts} +0 -0
  250. /package/dist/{cloudflare.js → ts/cloudflare.js} +0 -0
  251. /package/dist/{es.d.ts → ts/es.d.ts} +0 -0
  252. /package/dist/{es.js → ts/es.js} +0 -0
  253. /package/dist/{index.d.ts → ts/index.d.ts} +0 -0
  254. /package/dist/{index.js → ts/index.js} +0 -0
  255. /package/dist/{lib → ts/lib}/JsBufferStrategy.d.ts +0 -0
  256. /package/dist/{lib → ts/lib}/JsBufferStrategy.js +0 -0
  257. /package/dist/{lib → ts/lib}/archive/chunkCompaction.d.ts +0 -0
  258. /package/dist/{lib → ts/lib}/archive/chunkCompaction.js +0 -0
  259. /package/dist/{lib → ts/lib}/archive/chunkEnvelope.d.ts +0 -0
  260. /package/dist/{lib → ts/lib}/archive/chunkEnvelope.js +0 -0
  261. /package/dist/{lib → ts/lib}/archive/chunkRouting.d.ts +0 -0
  262. /package/dist/{lib → ts/lib}/archive/chunkRouting.js +0 -0
  263. /package/dist/{lib → ts/lib}/archive/chunkStats.d.ts +0 -0
  264. /package/dist/{lib → ts/lib}/archive/chunkStats.js +0 -0
  265. /package/dist/{lib → ts/lib}/archive/index.d.ts +0 -0
  266. /package/dist/{lib → ts/lib}/archive/index.js +0 -0
  267. /package/dist/{lib → ts/lib}/arrow/capacityStats.d.ts +0 -0
  268. /package/dist/{lib → ts/lib}/arrow/capacityStats.js +0 -0
  269. /package/dist/{lib → ts/lib}/arrow/dictionaries.d.ts +0 -0
  270. /package/dist/{lib → ts/lib}/arrow/dictionaries.js +0 -0
  271. /package/dist/{lib → ts/lib}/arrow/flechette.d.ts +0 -0
  272. /package/dist/{lib → ts/lib}/arrow/flechette.js +0 -0
  273. /package/dist/{lib → ts/lib}/arrow/lease.d.ts +0 -0
  274. /package/dist/{lib → ts/lib}/arrow/lease.js +0 -0
  275. /package/dist/{lib → ts/lib}/arrow/utils.d.ts +0 -0
  276. /package/dist/{lib → ts/lib}/arrow/utils.js +0 -0
  277. /package/dist/{lib → ts/lib}/arrow/vocabularyDictionary.d.ts +0 -0
  278. /package/dist/{lib → ts/lib}/arrow/vocabularyDictionary.js +0 -0
  279. /package/dist/{lib → ts/lib}/buffer/Nanoseconds.d.ts +0 -0
  280. /package/dist/{lib → ts/lib}/buffer/Nanoseconds.js +0 -0
  281. /package/dist/{lib → ts/lib}/bufferStrategy.d.ts +0 -0
  282. /package/dist/{lib → ts/lib}/bufferStrategy.js +0 -0
  283. /package/dist/{lib → ts/lib}/capacityTuning.d.ts +0 -0
  284. /package/dist/{lib → ts/lib}/capacityTuning.js +0 -0
  285. /package/dist/{lib → ts/lib}/cleanupDiagnostics.d.ts +0 -0
  286. /package/dist/{lib → ts/lib}/cleanupDiagnostics.js +0 -0
  287. /package/dist/{lib → ts/lib}/cloudflare/classSplit.d.ts +0 -0
  288. /package/dist/{lib → ts/lib}/cloudflare/classSplit.js +0 -0
  289. /package/dist/{lib → ts/lib}/cloudflare/collectorClient.d.ts +0 -0
  290. /package/dist/{lib → ts/lib}/cloudflare/collectorClient.js +0 -0
  291. /package/dist/{lib → ts/lib}/cloudflare/diagnosticDrain.d.ts +0 -0
  292. /package/dist/{lib → ts/lib}/cloudflare/diagnosticDrain.js +0 -0
  293. /package/dist/{lib → ts/lib}/cloudflare/traceRows.d.ts +0 -0
  294. /package/dist/{lib → ts/lib}/cloudflare/traceRows.js +0 -0
  295. /package/dist/{lib → ts/lib}/codegen/evaluatorGenerator.d.ts +0 -0
  296. /package/dist/{lib → ts/lib}/codegen/evaluatorGenerator.js +0 -0
  297. /package/dist/{lib → ts/lib}/codegen/fixedPositionWriterGenerator.d.ts +0 -0
  298. /package/dist/{lib → ts/lib}/codegen/fixedPositionWriterGenerator.js +0 -0
  299. /package/dist/{lib → ts/lib}/codegen/spanLoggerClosureMaterializer.d.ts +0 -0
  300. /package/dist/{lib → ts/lib}/codegen/spanLoggerClosureMaterializer.js +0 -0
  301. /package/dist/{lib → ts/lib}/codegen/spanLoggerGenerator.d.ts +0 -0
  302. /package/dist/{lib → ts/lib}/codegen/spanLoggerGenerator.js +0 -0
  303. /package/dist/{lib → ts/lib}/convertToArrow.d.ts +0 -0
  304. /package/dist/{lib → ts/lib}/convertToArrow.js +0 -0
  305. /package/dist/{lib → ts/lib}/defineOpContext.d.ts +0 -0
  306. /package/dist/{lib → ts/lib}/defineOpContext.js +0 -0
  307. /package/dist/{lib → ts/lib}/enumMetadata.d.ts +0 -0
  308. /package/dist/{lib → ts/lib}/enumMetadata.js +0 -0
  309. /package/dist/{lib → ts/lib}/errors/Blocked.d.ts +0 -0
  310. /package/dist/{lib → ts/lib}/errors/Blocked.js +0 -0
  311. /package/dist/{lib → ts/lib}/errors/CodeError.d.ts +0 -0
  312. /package/dist/{lib → ts/lib}/errors/CodeError.js +0 -0
  313. /package/dist/{lib → ts/lib}/errors/RetriesExhausted.d.ts +0 -0
  314. /package/dist/{lib → ts/lib}/errors/RetriesExhausted.js +0 -0
  315. /package/dist/{lib → ts/lib}/errors/Transient.d.ts +0 -0
  316. /package/dist/{lib → ts/lib}/errors/Transient.js +0 -0
  317. /package/dist/{lib → ts/lib}/errors/index.d.ts +0 -0
  318. /package/dist/{lib → ts/lib}/errors/index.js +0 -0
  319. /package/dist/{lib → ts/lib}/errors/retry-policy.d.ts +0 -0
  320. /package/dist/{lib → ts/lib}/errors/retry-policy.js +0 -0
  321. /package/dist/{lib → ts/lib}/flushScheduler.js +0 -0
  322. /package/dist/{lib → ts/lib}/library.d.ts +0 -0
  323. /package/dist/{lib → ts/lib}/library.js +0 -0
  324. /package/dist/{lib → ts/lib}/logApi.d.ts +0 -0
  325. /package/dist/{lib → ts/lib}/logApi.js +0 -0
  326. /package/dist/{lib → ts/lib}/logBinding.d.ts +0 -0
  327. /package/dist/{lib → ts/lib}/logBinding.js +0 -0
  328. /package/dist/{lib → ts/lib}/op.d.ts +0 -0
  329. /package/dist/{lib → ts/lib}/op.js +0 -0
  330. /package/dist/{lib → ts/lib}/opContext/contextTypes.d.ts +0 -0
  331. /package/dist/{lib → ts/lib}/opContext/contextTypes.js +0 -0
  332. /package/dist/{lib → ts/lib}/opContext/createOpGroup.d.ts +0 -0
  333. /package/dist/{lib → ts/lib}/opContext/createOpGroup.js +0 -0
  334. /package/dist/{lib → ts/lib}/opContext/defineOp.d.ts +0 -0
  335. /package/dist/{lib → ts/lib}/opContext/defineOp.js +0 -0
  336. /package/dist/{lib → ts/lib}/opContext/featureFlagTypes.d.ts +0 -0
  337. /package/dist/{lib → ts/lib}/opContext/featureFlagTypes.js +0 -0
  338. /package/dist/{lib → ts/lib}/opContext/index.d.ts +0 -0
  339. /package/dist/{lib → ts/lib}/opContext/index.js +0 -0
  340. /package/dist/{lib → ts/lib}/opContext/opGroupTypes.d.ts +0 -0
  341. /package/dist/{lib → ts/lib}/opContext/opGroupTypes.js +0 -0
  342. /package/dist/{lib → ts/lib}/opContext/opTypes.d.ts +0 -0
  343. /package/dist/{lib → ts/lib}/opContext/opTypes.js +0 -0
  344. /package/dist/{lib → ts/lib}/opContext/spanContextTypes.d.ts +0 -0
  345. /package/dist/{lib → ts/lib}/opContext/spanContextTypes.js +0 -0
  346. /package/dist/{lib → ts/lib}/opContext/types.d.ts +0 -0
  347. /package/dist/{lib → ts/lib}/opContext/types.js +0 -0
  348. /package/dist/{lib → ts/lib}/physicalLayoutPlan.d.ts +0 -0
  349. /package/dist/{lib → ts/lib}/physicalLayoutPlan.js +0 -0
  350. /package/dist/{lib → ts/lib}/resolveMessage.d.ts +0 -0
  351. /package/dist/{lib → ts/lib}/resolveMessage.js +0 -0
  352. /package/dist/{lib → ts/lib}/result.d.ts +0 -0
  353. /package/dist/{lib → ts/lib}/result.js +0 -0
  354. /package/dist/{lib → ts/lib}/runtimeHint.d.ts +0 -0
  355. /package/dist/{lib → ts/lib}/runtimeHint.js +0 -0
  356. /package/dist/{lib → ts/lib}/schema/LogSchema.d.ts +0 -0
  357. /package/dist/{lib → ts/lib}/schema/LogSchema.js +0 -0
  358. /package/dist/{lib → ts/lib}/schema/builder.d.ts +0 -0
  359. /package/dist/{lib → ts/lib}/schema/builder.js +0 -0
  360. /package/dist/{lib → ts/lib}/schema/defineFeatureFlags.d.ts +0 -0
  361. /package/dist/{lib → ts/lib}/schema/defineFeatureFlags.js +0 -0
  362. /package/dist/{lib → ts/lib}/schema/defineLogSchema.d.ts +0 -0
  363. /package/dist/{lib → ts/lib}/schema/defineLogSchema.js +0 -0
  364. /package/dist/{lib → ts/lib}/schema/evaluator.d.ts +0 -0
  365. /package/dist/{lib → ts/lib}/schema/evaluator.js +0 -0
  366. /package/dist/{lib → ts/lib}/schema/extend.d.ts +0 -0
  367. /package/dist/{lib → ts/lib}/schema/extend.js +0 -0
  368. /package/dist/{lib → ts/lib}/schema/systemSchema.d.ts +0 -0
  369. /package/dist/{lib → ts/lib}/schema/systemSchema.js +0 -0
  370. /package/dist/{lib → ts/lib}/schema/typeGuards.d.ts +0 -0
  371. /package/dist/{lib → ts/lib}/schema/typeGuards.js +0 -0
  372. /package/dist/{lib → ts/lib}/schema/types.d.ts +0 -0
  373. /package/dist/{lib → ts/lib}/schema/types.js +0 -0
  374. /package/dist/{lib → ts/lib}/span-buffer/aot/v1.d.ts +0 -0
  375. /package/dist/{lib → ts/lib}/span-buffer/aot/v1.js +0 -0
  376. /package/dist/{lib → ts/lib}/spanBuffer.d.ts +0 -0
  377. /package/dist/{lib → ts/lib}/spanBuffer.js +0 -0
  378. /package/dist/{lib → ts/lib}/spanBufferHelpers.d.ts +0 -0
  379. /package/dist/{lib → ts/lib}/spanBufferHelpers.js +0 -0
  380. /package/dist/{lib → ts/lib}/spanBufferStats.d.ts +0 -0
  381. /package/dist/{lib → ts/lib}/spanBufferStats.js +0 -0
  382. /package/dist/{lib → ts/lib}/spanContext.d.ts +0 -0
  383. /package/dist/{lib → ts/lib}/spanContext.js +0 -0
  384. /package/dist/{lib → ts/lib}/sqlite/index.d.ts +0 -0
  385. /package/dist/{lib → ts/lib}/sqlite/index.js +0 -0
  386. /package/dist/{lib → ts/lib}/sqlite/sqlite-async-writer.d.ts +0 -0
  387. /package/dist/{lib → ts/lib}/sqlite/sqlite-async-writer.js +0 -0
  388. /package/dist/{lib → ts/lib}/sqlite/sqlite-common.d.ts +0 -0
  389. /package/dist/{lib → ts/lib}/sqlite/sqlite-common.js +0 -0
  390. /package/dist/{lib → ts/lib}/sqlite/sqlite-d1.d.ts +0 -0
  391. /package/dist/{lib → ts/lib}/sqlite/sqlite-d1.js +0 -0
  392. /package/dist/{lib → ts/lib}/sqlite/sqlite-db.d.ts +0 -0
  393. /package/dist/{lib → ts/lib}/sqlite/sqlite-db.js +0 -0
  394. /package/dist/{lib → ts/lib}/sqlite/sqlite-node.d.ts +0 -0
  395. /package/dist/{lib → ts/lib}/sqlite/sqlite-node.js +0 -0
  396. /package/dist/{lib → ts/lib}/sqlite/sqlite-writer.d.ts +0 -0
  397. /package/dist/{lib → ts/lib}/sqlite/sqlite-writer.js +0 -0
  398. /package/dist/{lib → ts/lib}/testing/extractFacts.d.ts +0 -0
  399. /package/dist/{lib → ts/lib}/testing/extractFacts.js +0 -0
  400. /package/dist/{lib → ts/lib}/testing/facts.d.ts +0 -0
  401. /package/dist/{lib → ts/lib}/testing/facts.js +0 -0
  402. /package/dist/{lib → ts/lib}/testing/index.d.ts +0 -0
  403. /package/dist/{lib → ts/lib}/testing/index.js +0 -0
  404. /package/dist/{lib → ts/lib}/testing/queryable-span.d.ts +0 -0
  405. /package/dist/{lib → ts/lib}/testing/queryable-span.js +0 -0
  406. /package/dist/{lib → ts/lib}/testing/span-query.d.ts +0 -0
  407. /package/dist/{lib → ts/lib}/testing/span-query.js +0 -0
  408. /package/dist/{lib → ts/lib}/testing/stdio-replay.d.ts +0 -0
  409. /package/dist/{lib → ts/lib}/testing/stdio-replay.js +0 -0
  410. /package/dist/{lib → ts/lib}/testing/trace-query.d.ts +0 -0
  411. /package/dist/{lib → ts/lib}/testing/trace-query.js +0 -0
  412. /package/dist/{lib → ts/lib}/testing/vitest-harness.d.ts +0 -0
  413. /package/dist/{lib → ts/lib}/testing/vitest-harness.js +0 -0
  414. /package/dist/{lib → ts/lib}/threadId.d.ts +0 -0
  415. /package/dist/{lib → ts/lib}/threadId.js +0 -0
  416. /package/dist/{lib → ts/lib}/traceContext.d.ts +0 -0
  417. /package/dist/{lib → ts/lib}/traceContext.js +0 -0
  418. /package/dist/{lib → ts/lib}/traceId.d.ts +0 -0
  419. /package/dist/{lib → ts/lib}/traceId.js +0 -0
  420. /package/dist/{lib → ts/lib}/traceRoot.d.ts +0 -0
  421. /package/dist/{lib → ts/lib}/traceRoot.es.d.ts +0 -0
  422. /package/dist/{lib → ts/lib}/traceRoot.es.js +0 -0
  423. /package/dist/{lib → ts/lib}/traceRoot.js +0 -0
  424. /package/dist/{lib → ts/lib}/traceRoot.node.d.ts +0 -0
  425. /package/dist/{lib → ts/lib}/traceRoot.node.js +0 -0
  426. /package/dist/{lib → ts/lib}/traceRoot.universal.d.ts +0 -0
  427. /package/dist/{lib → ts/lib}/traceRoot.universal.js +0 -0
  428. /package/dist/{lib → ts/lib}/traceTopology.d.ts +0 -0
  429. /package/dist/{lib → ts/lib}/traceTopology.js +0 -0
  430. /package/dist/{lib → ts/lib}/tracer.d.ts +0 -0
  431. /package/dist/{lib → ts/lib}/tracer.js +0 -0
  432. /package/dist/{lib → ts/lib}/tracers/ArrayQueueTracer.d.ts +0 -0
  433. /package/dist/{lib → ts/lib}/tracers/ArrayQueueTracer.js +0 -0
  434. /package/dist/{lib → ts/lib}/tracers/CompositeTracer.d.ts +0 -0
  435. /package/dist/{lib → ts/lib}/tracers/CompositeTracer.js +0 -0
  436. /package/dist/{lib → ts/lib}/tracers/NoOpTracer.d.ts +0 -0
  437. /package/dist/{lib → ts/lib}/tracers/NoOpTracer.js +0 -0
  438. /package/dist/{lib → ts/lib}/tracers/SQLiteTracer.d.ts +0 -0
  439. /package/dist/{lib → ts/lib}/tracers/SQLiteTracer.js +0 -0
  440. /package/dist/{lib → ts/lib}/tracers/StdioTracer.d.ts +0 -0
  441. /package/dist/{lib → ts/lib}/tracers/StdioTracer.js +0 -0
  442. /package/dist/{lib → ts/lib}/tracers/TestTracer.d.ts +0 -0
  443. /package/dist/{lib → ts/lib}/tracers/TestTracer.js +0 -0
  444. /package/dist/{lib → ts/lib}/tracers/index.d.ts +0 -0
  445. /package/dist/{lib → ts/lib}/tracers/index.js +0 -0
  446. /package/dist/{lib → ts/lib}/types.d.ts +0 -0
  447. /package/dist/{lib → ts/lib}/types.js +0 -0
  448. /package/dist/{lib → ts/lib}/utf8Cache.d.ts +0 -0
  449. /package/dist/{lib → ts/lib}/utf8Cache.js +0 -0
  450. /package/dist/{lib → ts/lib}/vocabularyRegistry.d.ts +0 -0
  451. /package/dist/{lib → ts/lib}/vocabularyRegistry.js +0 -0
  452. /package/dist/{lib → ts/lib}/wasm/WasmBufferStrategy.d.ts +0 -0
  453. /package/dist/{lib → ts/lib}/wasm/WasmBufferStrategy.js +0 -0
  454. /package/dist/{lib → ts/lib}/wasm/wasmAllocator.d.ts +0 -0
  455. /package/dist/{lib → ts/lib}/wasm/wasmPhysicalLayout.d.ts +0 -0
  456. /package/dist/{lib → ts/lib}/wasm/wasmPhysicalLayout.js +0 -0
  457. /package/dist/{lib → ts/lib}/wasm/wasmSpanBuffer.d.ts +0 -0
  458. /package/dist/{lib → ts/lib}/wasm/wasmSpanBuffer.js +0 -0
  459. /package/dist/{lib → ts/lib}/wasm/wasmTraceRoot.d.ts +0 -0
  460. /package/dist/{lib → ts/lib}/wasm/wasmTraceRoot.js +0 -0
  461. /package/dist/{node.d.ts → ts/node.d.ts} +0 -0
  462. /package/dist/{node.js → ts/node.js} +0 -0
  463. /package/dist/{testing.d.ts → ts/testing.d.ts} +0 -0
  464. /package/dist/{testing.js → ts/testing.js} +0 -0
  465. /package/dist/{vocabulary → ts/vocabulary}/register/v1.d.ts +0 -0
  466. /package/dist/{vocabulary → ts/vocabulary}/register/v1.js +0 -0
  467. /package/dist/{wasm.d.ts → ts/wasm.d.ts} +0 -0
  468. /package/dist/{wasm.js → ts/wasm.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../../src/wasm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AACtG,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,aAAa,EAClB,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,wBAAwB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,aAAa,GACd,MAAM,6BAA6B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smoothbricks/lmao",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "type": "module",
5
5
  "sideEffects": [
6
6
  "./dist/vocabulary/register/v1.js",
@@ -8,135 +8,135 @@
8
8
  "./dist/lib/span-buffer/aot/v1.js",
9
9
  "./src/lib/span-buffer/aot/v1.ts"
10
10
  ],
11
- "main": "./dist/index.js",
12
- "module": "./dist/index.js",
13
- "types": "./dist/index.d.ts",
11
+ "main": "./dist/ts/index.js",
12
+ "module": "./dist/ts/index.js",
13
+ "types": "./dist/ts/index.d.ts",
14
14
  "exports": {
15
15
  "./package.json": "./package.json",
16
16
  ".": {
17
- "types": "./dist/index.d.ts",
17
+ "types": "./dist/ts/index.d.ts",
18
18
  "development": "./src/index.ts",
19
- "import": "./dist/index.js",
20
- "default": "./dist/index.js"
19
+ "import": "./dist/ts/index.js",
20
+ "default": "./dist/ts/index.js"
21
21
  },
22
22
  "./span-buffer/aot/v1": {
23
- "types": "./dist/lib/span-buffer/aot/v1.d.ts",
23
+ "types": "./dist/ts/lib/span-buffer/aot/v1.d.ts",
24
24
  "development": "./src/lib/span-buffer/aot/v1.ts",
25
- "import": "./dist/lib/span-buffer/aot/v1.js",
26
- "default": "./dist/lib/span-buffer/aot/v1.js"
25
+ "import": "./dist/ts/lib/span-buffer/aot/v1.js",
26
+ "default": "./dist/ts/lib/span-buffer/aot/v1.js"
27
27
  },
28
28
  "./vocabulary/register/v1": {
29
- "types": "./dist/vocabulary/register/v1.d.ts",
29
+ "types": "./dist/ts/vocabulary/register/v1.d.ts",
30
30
  "development": "./src/vocabulary/register/v1.ts",
31
- "import": "./dist/vocabulary/register/v1.js",
32
- "default": "./dist/vocabulary/register/v1.js"
31
+ "import": "./dist/ts/vocabulary/register/v1.js",
32
+ "default": "./dist/ts/vocabulary/register/v1.js"
33
33
  },
34
34
  "./node": {
35
- "types": "./dist/node.d.ts",
35
+ "types": "./dist/ts/node.d.ts",
36
36
  "development": "./src/node.ts",
37
- "import": "./dist/node.js",
38
- "default": "./dist/node.js"
37
+ "import": "./dist/ts/node.js",
38
+ "default": "./dist/ts/node.js"
39
39
  },
40
40
  "./es": {
41
- "types": "./dist/es.d.ts",
41
+ "types": "./dist/ts/es.d.ts",
42
42
  "development": "./src/es.ts",
43
- "import": "./dist/es.js",
44
- "default": "./dist/es.js"
43
+ "import": "./dist/ts/es.js",
44
+ "default": "./dist/ts/es.js"
45
45
  },
46
46
  "./wasm": {
47
- "types": "./dist/wasm.d.ts",
47
+ "types": "./dist/ts/wasm.d.ts",
48
48
  "development": "./src/wasm.ts",
49
- "import": "./dist/wasm.js",
50
- "default": "./dist/wasm.js"
49
+ "import": "./dist/ts/wasm.js",
50
+ "default": "./dist/ts/wasm.js"
51
51
  },
52
52
  "./cloudflare": {
53
- "types": "./dist/cloudflare.d.ts",
53
+ "types": "./dist/ts/cloudflare.d.ts",
54
54
  "development": "./src/cloudflare.ts",
55
- "import": "./dist/cloudflare.js",
56
- "default": "./dist/cloudflare.js"
55
+ "import": "./dist/ts/cloudflare.js",
56
+ "default": "./dist/ts/cloudflare.js"
57
57
  },
58
58
  "./tracers": {
59
- "types": "./dist/lib/tracers/index.d.ts",
59
+ "types": "./dist/ts/lib/tracers/index.d.ts",
60
60
  "development": "./src/lib/tracers/index.ts",
61
- "import": "./dist/lib/tracers/index.js",
62
- "default": "./dist/lib/tracers/index.js"
61
+ "import": "./dist/ts/lib/tracers/index.js",
62
+ "default": "./dist/ts/lib/tracers/index.js"
63
63
  },
64
64
  "./errors": {
65
- "types": "./dist/lib/errors/index.d.ts",
65
+ "types": "./dist/ts/lib/errors/index.d.ts",
66
66
  "development": "./src/lib/errors/index.ts",
67
- "import": "./dist/lib/errors/index.js",
68
- "default": "./dist/lib/errors/index.js"
67
+ "import": "./dist/ts/lib/errors/index.js",
68
+ "default": "./dist/ts/lib/errors/index.js"
69
69
  },
70
70
  "./errors/Blocked": {
71
- "types": "./dist/lib/errors/Blocked.d.ts",
71
+ "types": "./dist/ts/lib/errors/Blocked.d.ts",
72
72
  "development": "./src/lib/errors/Blocked.ts",
73
- "import": "./dist/lib/errors/Blocked.js",
74
- "default": "./dist/lib/errors/Blocked.js"
73
+ "import": "./dist/ts/lib/errors/Blocked.js",
74
+ "default": "./dist/ts/lib/errors/Blocked.js"
75
75
  },
76
76
  "./errors/RetriesExhausted": {
77
- "types": "./dist/lib/errors/RetriesExhausted.d.ts",
77
+ "types": "./dist/ts/lib/errors/RetriesExhausted.d.ts",
78
78
  "development": "./src/lib/errors/RetriesExhausted.ts",
79
- "import": "./dist/lib/errors/RetriesExhausted.js",
80
- "default": "./dist/lib/errors/RetriesExhausted.js"
79
+ "import": "./dist/ts/lib/errors/RetriesExhausted.js",
80
+ "default": "./dist/ts/lib/errors/RetriesExhausted.js"
81
81
  },
82
82
  "./errors/CodeError": {
83
- "types": "./dist/lib/errors/CodeError.d.ts",
83
+ "types": "./dist/ts/lib/errors/CodeError.d.ts",
84
84
  "development": "./src/lib/errors/CodeError.ts",
85
- "import": "./dist/lib/errors/CodeError.js",
86
- "default": "./dist/lib/errors/CodeError.js"
85
+ "import": "./dist/ts/lib/errors/CodeError.js",
86
+ "default": "./dist/ts/lib/errors/CodeError.js"
87
87
  },
88
88
  "./errors/retry-policy": {
89
- "types": "./dist/lib/errors/retry-policy.d.ts",
89
+ "types": "./dist/ts/lib/errors/retry-policy.d.ts",
90
90
  "development": "./src/lib/errors/retry-policy.ts",
91
- "import": "./dist/lib/errors/retry-policy.js",
92
- "default": "./dist/lib/errors/retry-policy.js"
91
+ "import": "./dist/ts/lib/errors/retry-policy.js",
92
+ "default": "./dist/ts/lib/errors/retry-policy.js"
93
93
  },
94
94
  "./errors/Transient": {
95
- "types": "./dist/lib/errors/Transient.d.ts",
95
+ "types": "./dist/ts/lib/errors/Transient.d.ts",
96
96
  "development": "./src/lib/errors/Transient.ts",
97
- "import": "./dist/lib/errors/Transient.js",
98
- "default": "./dist/lib/errors/Transient.js"
97
+ "import": "./dist/ts/lib/errors/Transient.js",
98
+ "default": "./dist/ts/lib/errors/Transient.js"
99
99
  },
100
100
  "./sqlite": {
101
- "types": "./dist/lib/sqlite/index.d.ts",
101
+ "types": "./dist/ts/lib/sqlite/index.d.ts",
102
102
  "development": "./src/lib/sqlite/index.ts",
103
- "import": "./dist/lib/sqlite/index.js",
104
- "default": "./dist/lib/sqlite/index.js"
103
+ "import": "./dist/ts/lib/sqlite/index.js",
104
+ "default": "./dist/ts/lib/sqlite/index.js"
105
105
  },
106
106
  "./sqlite/node": {
107
- "types": "./dist/lib/sqlite/sqlite-node.d.ts",
107
+ "types": "./dist/ts/lib/sqlite/sqlite-node.d.ts",
108
108
  "development": "./src/lib/sqlite/sqlite-node.ts",
109
- "import": "./dist/lib/sqlite/sqlite-node.js",
110
- "default": "./dist/lib/sqlite/sqlite-node.js"
109
+ "import": "./dist/ts/lib/sqlite/sqlite-node.js",
110
+ "default": "./dist/ts/lib/sqlite/sqlite-node.js"
111
111
  },
112
112
  "./testing": {
113
- "types": "./dist/testing.d.ts",
113
+ "types": "./dist/ts/testing.d.ts",
114
114
  "development": "./src/testing.ts",
115
- "import": "./dist/testing.js",
116
- "default": "./dist/testing.js"
115
+ "import": "./dist/ts/testing.js",
116
+ "default": "./dist/ts/testing.js"
117
117
  },
118
118
  "./testing/bun": {
119
- "types": "./dist/lib/testing/bun-harness.d.ts",
119
+ "types": "./dist/ts/lib/testing/bun-harness.d.ts",
120
120
  "bun": "./src/lib/testing/bun-harness.ts",
121
121
  "development": "./src/lib/testing/bun-harness.ts",
122
- "import": "./dist/lib/testing/bun-harness.js",
123
- "default": "./dist/lib/testing/bun-harness.js"
122
+ "import": "./dist/ts/lib/testing/bun-harness.js",
123
+ "default": "./dist/ts/lib/testing/bun-harness.js"
124
124
  },
125
125
  "./testing/vitest": {
126
- "types": "./dist/lib/testing/vitest-harness.d.ts",
126
+ "types": "./dist/ts/lib/testing/vitest-harness.d.ts",
127
127
  "development": "./src/lib/testing/vitest-harness.ts",
128
- "import": "./dist/lib/testing/vitest-harness.js",
129
- "default": "./dist/lib/testing/vitest-harness.js"
128
+ "import": "./dist/ts/lib/testing/vitest-harness.js",
129
+ "default": "./dist/ts/lib/testing/vitest-harness.js"
130
130
  },
131
131
  "./bun/preload": {
132
132
  "bun": "./src/bun/preload.ts",
133
133
  "development": "./src/bun/preload.ts",
134
- "default": "./dist/bun/preload.js"
134
+ "default": "./dist/ts/bun/preload.js"
135
135
  },
136
136
  "./bun/trace-preload": {
137
137
  "bun": "./src/bun/trace-preload.ts",
138
138
  "development": "./src/bun/trace-preload.ts",
139
- "default": "./dist/bun/trace-preload.js"
139
+ "default": "./dist/ts/bun/trace-preload.js"
140
140
  }
141
141
  },
142
142
  "files": [
@@ -147,11 +147,11 @@
147
147
  "dependencies": {
148
148
  "@msgpack/msgpack": "^3.1.3",
149
149
  "@neophi/sieve-cache": "^1.5.0",
150
- "@smoothbricks/arrow-builder": "0.1.5",
151
- "@smoothbricks/validation": "0.1.4",
150
+ "@smoothbricks/arrow-builder": "0.1.6",
151
+ "@smoothbricks/validation": "0.1.5",
152
152
  "@uwdata/flechette": "^2.3.0",
153
153
  "tslib": "^2.8.1",
154
- "typia": "13.1.19"
154
+ "typia": "13.2.0"
155
155
  },
156
156
  "scripts": {
157
157
  "bench": "bun run benchmarks/*.bench.ts",
@@ -2,13 +2,25 @@
2
2
  * Bun test tracing preload.
3
3
  *
4
4
  * Registers LMAO SQLite-backed test tracing after the Typia preload has already
5
- * been registered in bunfig.
5
+ * been registered in bunfig. Wiring-only: consumer resolution lives in
6
+ * `../lib/testing/consumer-package.js`.
6
7
  */
7
8
 
8
- import { join } from 'node:path';
9
9
  import { autoSetupBunTestTracing } from '../lib/testing/bun-harness.js';
10
+ import { resolveConsumerTarget } from '../lib/testing/consumer-package.js';
10
11
 
11
- // WHY: Find the monorepo packages dir relative to this file's location.
12
- // This file lives at packages/lmao/src/bun/trace-preload.ts (4 levels up to monorepo root).
13
- const monorepoRoot = join(import.meta.dir, '..', '..', '..', '..');
14
- await autoSetupBunTestTracing({ packagesDir: join(monorepoRoot, 'packages') });
12
+ const target = resolveConsumerTarget(process.cwd());
13
+ if (target.kind === 'package') {
14
+ await autoSetupBunTestTracing({ packageRoot: target.packageRoot });
15
+ } else if (target.kind === 'workspace-root') {
16
+ await autoSetupBunTestTracing({ workspaceRoot: target.workspaceRoot, packageRoots: target.packageRoots });
17
+ } else {
18
+ // WHY loud: this preload is only ever loaded on purpose (bunfig `preload`),
19
+ // so failing to install tracing must never be a silent no-op — that is how
20
+ // stale .trace-results.db databases go unnoticed for months.
21
+ console.error(
22
+ `[lmao] trace-preload: no package.json found above ${process.cwd()} ` +
23
+ `(searched: ${target.searched.join(', ')}). Test tracing is DISABLED for this run — ` +
24
+ 'run bun test from inside a package.',
25
+ );
26
+ }
@@ -31,6 +31,14 @@ function expectCoreConditions(entry: unknown): asserts entry is ExportConditions
31
31
  expect(requireStringProperty(record, 'default')).toBeString();
32
32
  }
33
33
 
34
+ type PublishedWasmModule = {
35
+ createWasmAllocator(): Promise<unknown>;
36
+ };
37
+
38
+ function isPublishedWasmModule(value: unknown): value is PublishedWasmModule {
39
+ return isRecord(value) && typeof value.createWasmAllocator === 'function';
40
+ }
41
+
34
42
  async function readPackageExports(packageUrl: URL): Promise<Record<string, unknown>> {
35
43
  const pkg = await Bun.file(packageUrl).json();
36
44
  const pkgRecord = requireRecord(pkg, 'package.json');
@@ -48,6 +56,19 @@ describe('package export conditions', () => {
48
56
  expect(exports['./package.json']).toBe('./package.json');
49
57
  });
50
58
 
59
+ it('loads the declared published wasm module and allocator artifact', async () => {
60
+ const packageUrl = new URL('../../../package.json', import.meta.url);
61
+ const exports = await readPackageExports(packageUrl);
62
+ const wasmConditions = requireRecord(exports['./wasm'], 'wasm export conditions');
63
+ const importTarget = requireStringProperty(wasmConditions, 'import');
64
+ const wasmModule: unknown = await import(new URL(importTarget, packageUrl).href);
65
+ if (!isPublishedWasmModule(wasmModule)) throw new Error('Published wasm module lacks createWasmAllocator');
66
+
67
+ const allocator = requireRecord(await wasmModule.createWasmAllocator(), 'published wasm allocator');
68
+
69
+ expect(allocator.capacity).toBe(64);
70
+ });
71
+
51
72
  it('arrow-builder package root export has expected conditions', async () => {
52
73
  const exports = await readPackageExports(new URL('../../../../arrow-builder/package.json', import.meta.url));
53
74
 
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Tests for consumer-package resolution.
3
+ *
4
+ * The resolver must identify "the package whose tests are running" by standard
5
+ * resolution semantics — nearest package.json above cwd — identically in every
6
+ * layout: a monorepo checkout, a consumer of the Bun isolated store, or plain
7
+ * node_modules. The regression this guards: resolution anchored on the
8
+ * library's own file location left consumer repos' .trace-results.db silently
9
+ * stale.
10
+ */
11
+
12
+ import { afterEach, describe, expect, it } from 'bun:test';
13
+ import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
14
+ import { tmpdir } from 'node:os';
15
+ import { join } from 'node:path';
16
+ import { resolveConsumerTarget } from '../consumer-package.js';
17
+
18
+ const roots: string[] = [];
19
+
20
+ function makeTree(dirs: readonly string[], files: Readonly<Record<string, string>>): string {
21
+ const root = mkdtempSync(join(tmpdir(), 'lmao-consumer-'));
22
+ roots.push(root);
23
+ for (const dir of dirs) mkdirSync(join(root, dir), { recursive: true });
24
+ for (const [path, content] of Object.entries(files)) writeFileSync(join(root, path), content);
25
+ return root;
26
+ }
27
+
28
+ afterEach(() => {
29
+ for (const root of roots.splice(0)) rmSync(root, { recursive: true, force: true });
30
+ });
31
+
32
+ describe('resolveConsumerTarget', () => {
33
+ it('resolves the nearest package.json as the consumer package root', () => {
34
+ const root = makeTree(['repo/packages/some-app/src/deep'], {
35
+ 'repo/package.json': '{"workspaces":["packages/*"]}',
36
+ 'repo/packages/some-app/package.json': '{}',
37
+ });
38
+ const target = resolveConsumerTarget(join(root, 'repo', 'packages', 'some-app', 'src', 'deep'));
39
+ expect(target.kind).toBe('package');
40
+ if (target.kind === 'package') expect(target.packageRoot).toBe(join(root, 'repo', 'packages', 'some-app'));
41
+ });
42
+
43
+ it('resolves in a foreign consumer workspace regardless of where the library is installed', () => {
44
+ // Consumer repo whose lmao copy lives under the Bun isolated store — the
45
+ // resolver must anchor on cwd, never on any path related to the store.
46
+ const root = makeTree(
47
+ [
48
+ 'repo/packages/consumer-pkg',
49
+ 'repo/node_modules/.bun/@smoothbricks+lmao@0.0.0+cafebabe/node_modules/@smoothbricks/lmao',
50
+ ],
51
+ {
52
+ 'repo/package.json': '{"workspaces":["packages/*"]}',
53
+ 'repo/packages/consumer-pkg/package.json': '{}',
54
+ },
55
+ );
56
+ const target = resolveConsumerTarget(join(root, 'repo', 'packages', 'consumer-pkg'));
57
+ expect(target.kind).toBe('package');
58
+ if (target.kind === 'package') expect(target.packageRoot).toBe(join(root, 'repo', 'packages', 'consumer-pkg'));
59
+ });
60
+
61
+ it('treats a nearest package.json with workspaces as a workspace-root run and expands members', () => {
62
+ const root = makeTree(['repo/packages/a', 'repo/packages/b', 'repo/packages/not-a-pkg', 'repo/tools/standalone'], {
63
+ 'repo/package.json': '{"workspaces":["packages/*","tools/standalone"]}',
64
+ 'repo/packages/a/package.json': '{}',
65
+ 'repo/packages/b/package.json': '{}',
66
+ 'repo/tools/standalone/package.json': '{}',
67
+ });
68
+ const target = resolveConsumerTarget(join(root, 'repo'));
69
+ expect(target.kind).toBe('workspace-root');
70
+ if (target.kind === 'workspace-root') {
71
+ expect(target.workspaceRoot).toBe(join(root, 'repo'));
72
+ expect([...target.packageRoots].sort()).toEqual([
73
+ join(root, 'repo', 'packages', 'a'),
74
+ join(root, 'repo', 'packages', 'b'),
75
+ join(root, 'repo', 'tools', 'standalone'),
76
+ ]);
77
+ }
78
+ });
79
+
80
+ it('prefers a member package over the workspace root when cwd is inside the member', () => {
81
+ const root = makeTree(['repo/packages/member'], {
82
+ 'repo/package.json': '{"workspaces":["packages/*"]}',
83
+ 'repo/packages/member/package.json': '{}',
84
+ });
85
+ const target = resolveConsumerTarget(join(root, 'repo', 'packages', 'member'));
86
+ expect(target.kind).toBe('package');
87
+ });
88
+
89
+ it('classifies a workspace-root run from a non-member subdirectory', () => {
90
+ const root = makeTree(['repo/scripts', 'repo/packages/a'], {
91
+ 'repo/package.json': '{"workspaces":["packages/*"]}',
92
+ 'repo/packages/a/package.json': '{}',
93
+ });
94
+ const target = resolveConsumerTarget(join(root, 'repo', 'scripts'));
95
+ expect(target.kind).toBe('workspace-root');
96
+ });
97
+
98
+ it('degrades malformed package.json to a plain package root instead of crashing', () => {
99
+ const root = makeTree(['repo/pkg'], {
100
+ 'repo/pkg/package.json': '{not json',
101
+ });
102
+ const target = resolveConsumerTarget(join(root, 'repo', 'pkg'));
103
+ expect(target.kind).toBe('package');
104
+ if (target.kind === 'package') expect(target.packageRoot).toBe(join(root, 'repo', 'pkg'));
105
+ });
106
+ });
@@ -972,19 +972,26 @@ export {
972
972
  // Auto-discovery preload
973
973
  // =============================================================================
974
974
 
975
- export type AutoSetupOptions = {
976
- /** Absolute path to the packages directory to scan for test-suite-tracer.ts files. */
977
- packagesDir: string;
978
- };
975
+ export type AutoSetupTarget =
976
+ | {
977
+ /** Root of the single consumer package whose tests are running. */
978
+ readonly packageRoot: string;
979
+ }
980
+ | {
981
+ /** Workspace root for a cross-package run, with its member package roots. */
982
+ readonly workspaceRoot: string;
983
+ readonly packageRoots: readonly string[];
984
+ };
979
985
 
980
986
  /**
981
- * Auto-discover package test-suite-tracers and create the root tracer for the
982
- * current bun test run.
987
+ * Create the root tracer for the current bun test run from a resolved consumer
988
+ * target (see `resolveConsumerTarget` in `./consumer-package.js`).
983
989
  *
984
- * When Bun is running from inside `packages/<name>`, prefer that package's own
985
- * `src/test-suite-tracer.ts` and avoid importing unrelated packages. Repo-root
986
- * runs still fall back to the full scan so cross-package test runs keep the
987
- * merged-schema behavior.
990
+ * A package target imports that package's own `src/test-suite-tracer.ts` (if
991
+ * present) and writes `.trace-results.db` at the package root. A
992
+ * workspace-root target scans the member packages' tracer modules so
993
+ * cross-package runs keep the merged-schema behavior, writing the DB at the
994
+ * workspace root.
988
995
  *
989
996
  * Per-package `useTestSpan()` delegates to the global `useTestSpan()` from this
990
997
  * module which checks `_activeSuiteTracer` — set by the root preload via
@@ -992,22 +999,19 @@ export type AutoSetupOptions = {
992
999
  *
993
1000
  * @example
994
1001
  * ```ts
995
- * // test-trace-preload.ts (monorepo root)
996
- * import { autoSetupBunTestTracing } from './packages/lmao/src/lib/testing/bun-harness.js';
997
- * await autoSetupBunTestTracing({ packagesDir: './packages' });
1002
+ * // bun trace preload
1003
+ * const target = resolveConsumerTarget(process.cwd());
1004
+ * if (target.kind === 'package') await autoSetupBunTestTracing({ packageRoot: target.packageRoot });
998
1005
  * ```
999
1006
  */
1000
- export async function autoSetupBunTestTracing(options: AutoSetupOptions): Promise<boolean> {
1001
- const { join, relative, resolve, sep } = await import('node:path');
1002
- const { existsSync, readdirSync } = await import('node:fs');
1007
+ export async function autoSetupBunTestTracing(target: AutoSetupTarget): Promise<boolean> {
1008
+ const { join } = await import('node:path');
1009
+ const { existsSync } = await import('node:fs');
1003
1010
 
1004
- const packagesDir = resolve(options.packagesDir);
1005
- if (!existsSync(packagesDir)) return false;
1006
-
1007
- const installSuite = (opContext: OpContextBinding, mergedSchema: Record<string, unknown>): boolean => {
1011
+ const installSuite = (opContext: OpContextBinding, mergedSchema: Record<string, unknown>, dbDir: string): boolean => {
1008
1012
  const hasCustomSchema = Object.keys(mergedSchema).length > 0;
1009
1013
  const suite = makeBunTestSuiteTracer(opContext, {
1010
- sqlite: { dbPath: '.trace-results.db' },
1014
+ sqlite: { dbPath: join(dbDir, '.trace-results.db') },
1011
1015
  extraTestColumns: hasCustomSchema && isSchemaFieldsRecord(mergedSchema) ? mergedSchema : undefined,
1012
1016
  });
1013
1017
 
@@ -1015,34 +1019,25 @@ export async function autoSetupBunTestTracing(options: AutoSetupOptions): Promis
1015
1019
  return true;
1016
1020
  };
1017
1021
 
1018
- const cwd = resolve(process.cwd());
1019
- const relativeToPackagesDir = relative(packagesDir, cwd);
1020
- const isPackageLocalRun =
1021
- relativeToPackagesDir !== '' &&
1022
- !relativeToPackagesDir.startsWith('..') &&
1023
- !relativeToPackagesDir.startsWith(`.${sep}`);
1024
-
1025
- if (isPackageLocalRun) {
1026
- const [packageName] = relativeToPackagesDir.split(sep);
1027
- const tracerPath = join(packagesDir, packageName, 'src', 'test-suite-tracer.ts');
1022
+ if ('packageRoot' in target) {
1023
+ const tracerPath = join(target.packageRoot, 'src', 'test-suite-tracer.ts');
1028
1024
 
1029
1025
  if (!existsSync(tracerPath)) {
1030
- return installSuite(defaultAutoSetupOpContext, {});
1026
+ return installSuite(defaultAutoSetupOpContext, {}, target.packageRoot);
1031
1027
  }
1032
1028
 
1033
1029
  const mod = await import(tracerPath);
1034
1030
  const mergedSchema = isSchemaFieldsRecord(mod.extraTestColumns) ? mod.extraTestColumns : {};
1035
1031
  const opContext = isOpContextBindingLike(mod.opContext) ? mod.opContext : defaultAutoSetupOpContext;
1036
1032
 
1037
- return installSuite(opContext, mergedSchema);
1033
+ return installSuite(opContext, mergedSchema, target.packageRoot);
1038
1034
  }
1039
1035
 
1040
1036
  const mergedSchema: Record<string, unknown> = {};
1041
1037
  let opContext: OpContextBinding | null = null;
1042
1038
 
1043
- for (const entry of readdirSync(packagesDir, { withFileTypes: true })) {
1044
- if (!entry.isDirectory()) continue;
1045
- const tracerPath = join(packagesDir, entry.name, 'src', 'test-suite-tracer.ts');
1039
+ for (const packageRoot of target.packageRoots) {
1040
+ const tracerPath = join(packageRoot, 'src', 'test-suite-tracer.ts');
1046
1041
  if (!existsSync(tracerPath)) continue;
1047
1042
 
1048
1043
  const mod = await import(tracerPath);
@@ -1058,5 +1053,5 @@ export async function autoSetupBunTestTracing(options: AutoSetupOptions): Promis
1058
1053
  }
1059
1054
  }
1060
1055
 
1061
- return installSuite(opContext ?? defaultAutoSetupOpContext, mergedSchema);
1056
+ return installSuite(opContext ?? defaultAutoSetupOpContext, mergedSchema, target.workspaceRoot);
1062
1057
  }
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Resolve the consumer package whose tests are running.
3
+ *
4
+ * WHY nearest-package.json, anchored on cwd: standard resolution semantics
5
+ * identify "the package whose tests are running" identically in every layout —
6
+ * a monorepo checkout, a consumer of the Bun isolated store
7
+ * (`node_modules/.bun/…`), or plain node_modules. This module ships inside an
8
+ * installed dependency, so nothing may ever be derived from its own file
9
+ * location; the test process cwd is the only truthful anchor.
10
+ */
11
+
12
+ import { existsSync, readdirSync, readFileSync } from 'node:fs';
13
+ import { dirname, join, resolve } from 'node:path';
14
+
15
+ export type ConsumerTarget =
16
+ | { readonly kind: 'package'; readonly packageRoot: string }
17
+ | { readonly kind: 'workspace-root'; readonly workspaceRoot: string; readonly packageRoots: readonly string[] }
18
+ | { readonly kind: 'not-found'; readonly searched: readonly string[] };
19
+
20
+ /**
21
+ * WHY a hand-rolled structural probe instead of Typia: this runs on the
22
+ * preload bootstrap path, before the validation toolchain is guaranteed to be
23
+ * registered, and a malformed package.json must degrade to "plain package
24
+ * root", never to a crash that disables tracing.
25
+ */
26
+ function readWorkspacePatterns(packageJsonPath: string): readonly string[] | null {
27
+ try {
28
+ const parsed: unknown = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
29
+ if (typeof parsed !== 'object' || parsed === null) return null;
30
+ const workspaces: unknown = Reflect.get(parsed, 'workspaces');
31
+ const patterns = Array.isArray(workspaces) ? workspaces : null;
32
+ if (!patterns) return null;
33
+ return patterns.filter((entry): entry is string => typeof entry === 'string');
34
+ } catch {
35
+ return null;
36
+ }
37
+ }
38
+
39
+ /**
40
+ * Expand workspace member patterns to existing package roots. Supports the
41
+ * forms Bun workspaces support in practice: a literal directory and a single
42
+ * trailing `/*` glob.
43
+ */
44
+ function expandWorkspaceMembers(workspaceRoot: string, patterns: readonly string[]): readonly string[] {
45
+ const roots: string[] = [];
46
+ for (const pattern of patterns) {
47
+ if (pattern.endsWith('/*')) {
48
+ const parent = join(workspaceRoot, pattern.slice(0, -2));
49
+ if (!existsSync(parent)) continue;
50
+ for (const entry of readdirSync(parent, { withFileTypes: true })) {
51
+ if (!entry.isDirectory()) continue;
52
+ const candidate = join(parent, entry.name);
53
+ if (existsSync(join(candidate, 'package.json'))) roots.push(candidate);
54
+ }
55
+ } else {
56
+ const candidate = join(workspaceRoot, pattern);
57
+ if (existsSync(join(candidate, 'package.json'))) roots.push(candidate);
58
+ }
59
+ }
60
+ return roots;
61
+ }
62
+
63
+ /**
64
+ * Walk up from `startDir` to the nearest directory holding a `package.json`.
65
+ * A nearest package.json that declares `workspaces` is a workspace-root run
66
+ * (cwd sits at or under the root but inside no member package — a member's own
67
+ * package.json would have been nearer); its members are expanded for the
68
+ * cross-package tracer scan.
69
+ */
70
+ export function resolveConsumerTarget(startDir: string): ConsumerTarget {
71
+ const searched: string[] = [];
72
+ let directory = resolve(startDir);
73
+ while (true) {
74
+ const packageJsonPath = join(directory, 'package.json');
75
+ searched.push(packageJsonPath);
76
+ if (existsSync(packageJsonPath)) {
77
+ const workspacePatterns = readWorkspacePatterns(packageJsonPath);
78
+ if (workspacePatterns !== null) {
79
+ return {
80
+ kind: 'workspace-root',
81
+ workspaceRoot: directory,
82
+ packageRoots: expandWorkspaceMembers(directory, workspacePatterns),
83
+ };
84
+ }
85
+ return { kind: 'package', packageRoot: directory };
86
+ }
87
+ const parent = dirname(directory);
88
+ if (parent === directory) {
89
+ return { kind: 'not-found', searched };
90
+ }
91
+ directory = parent;
92
+ }
93
+ }
@@ -429,10 +429,12 @@ async function loadWasmBytes(): Promise<ArrayBuffer> {
429
429
  const { fileURLToPath } = await import('node:url');
430
430
  const { dirname, join } = await import('node:path');
431
431
 
432
- // __dirname equivalent for ESM
432
+ // Source imports live under src/; published modules live under dist/ts/.
433
433
  const currentFile = fileURLToPath(import.meta.url);
434
434
  const currentDir = dirname(currentFile);
435
- const wasmPath = join(currentDir, '../../../dist', WASM_ARTIFACT_NAME);
435
+ const wasmPath = import.meta.url.includes('/dist/ts/')
436
+ ? join(currentDir, '../../../', WASM_ARTIFACT_NAME)
437
+ : join(currentDir, '../../../dist', WASM_ARTIFACT_NAME);
436
438
 
437
439
  const buffer = await readFile(wasmPath);
438
440
  // Create a proper ArrayBuffer from the Node.js Buffer
@@ -442,7 +444,10 @@ async function loadWasmBytes(): Promise<ArrayBuffer> {
442
444
  }
443
445
 
444
446
  // Browser: fetch from relative path
445
- const response = await fetch(new URL(`../../../dist/${WASM_ARTIFACT_NAME}`, import.meta.url));
447
+ const wasmPath = import.meta.url.includes('/dist/ts/')
448
+ ? `../../../${WASM_ARTIFACT_NAME}`
449
+ : `../../../dist/${WASM_ARTIFACT_NAME}`;
450
+ const response = await fetch(new URL(wasmPath, import.meta.url));
446
451
  return response.arrayBuffer();
447
452
  }
448
453
 
@@ -1 +0,0 @@
1
- {"version":3,"file":"preload.d.ts","sourceRoot":"","sources":["../../src/bun/preload.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,sCAAsC,CAAC"}