@smthrs/observability 0.35.0 → 1.0.0-rc.4

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 (363) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/LICENSE +1 -1
  3. package/README.md +84 -0
  4. package/dist/cjs/BrowserOtel.d.ts +37 -0
  5. package/dist/cjs/BrowserOtel.d.ts.map +1 -0
  6. package/dist/cjs/BrowserOtel.js +47 -0
  7. package/dist/cjs/BrowserOtel.js.map +7 -0
  8. package/dist/cjs/Endpoint.d.ts +70 -0
  9. package/dist/cjs/Endpoint.d.ts.map +1 -0
  10. package/dist/cjs/Endpoint.js +85 -0
  11. package/dist/cjs/Endpoint.js.map +7 -0
  12. package/dist/cjs/JournalLogger.d.ts +232 -0
  13. package/dist/cjs/JournalLogger.d.ts.map +1 -0
  14. package/dist/cjs/JournalLogger.js +388 -0
  15. package/dist/cjs/JournalLogger.js.map +7 -0
  16. package/dist/cjs/Logger.d.ts +55 -0
  17. package/dist/cjs/Logger.d.ts.map +1 -0
  18. package/dist/cjs/Logger.js +72 -0
  19. package/dist/cjs/Logger.js.map +7 -0
  20. package/dist/cjs/Metric.d.ts +67 -0
  21. package/dist/cjs/Metric.d.ts.map +1 -0
  22. package/dist/cjs/Metric.js +68 -0
  23. package/dist/cjs/Metric.js.map +7 -0
  24. package/dist/cjs/NodeOtel.d.ts +42 -0
  25. package/dist/cjs/NodeOtel.d.ts.map +1 -0
  26. package/dist/cjs/NodeOtel.js +78 -0
  27. package/dist/cjs/NodeOtel.js.map +7 -0
  28. package/dist/cjs/Otel.d.ts +62 -0
  29. package/dist/cjs/Otel.d.ts.map +1 -0
  30. package/dist/cjs/Otel.js +75 -0
  31. package/dist/cjs/Otel.js.map +7 -0
  32. package/dist/cjs/Otlp.d.ts +200 -0
  33. package/dist/cjs/Otlp.d.ts.map +1 -0
  34. package/dist/cjs/Otlp.js +235 -0
  35. package/dist/cjs/Otlp.js.map +7 -0
  36. package/dist/cjs/Resource.d.ts +162 -0
  37. package/dist/cjs/Resource.d.ts.map +1 -0
  38. package/dist/cjs/Resource.js +186 -0
  39. package/dist/cjs/Resource.js.map +7 -0
  40. package/dist/cjs/index.d.ts +61 -0
  41. package/dist/cjs/index.d.ts.map +1 -0
  42. package/dist/cjs/index.js +47 -0
  43. package/dist/cjs/index.js.map +7 -0
  44. package/dist/cjs/internal/schemaIssuePath.d.ts +31 -0
  45. package/dist/cjs/internal/schemaIssuePath.d.ts.map +1 -0
  46. package/dist/cjs/internal/schemaIssuePath.js +49 -0
  47. package/dist/cjs/internal/schemaIssuePath.js.map +7 -0
  48. package/dist/cjs/package.json +1 -0
  49. package/dist/esm/BrowserOtel.d.ts +37 -0
  50. package/dist/esm/BrowserOtel.d.ts.map +1 -0
  51. package/dist/esm/BrowserOtel.js +24 -0
  52. package/dist/esm/BrowserOtel.js.map +1 -0
  53. package/dist/esm/Endpoint.d.ts +70 -0
  54. package/dist/esm/Endpoint.d.ts.map +1 -0
  55. package/dist/esm/Endpoint.js +110 -0
  56. package/dist/esm/Endpoint.js.map +1 -0
  57. package/dist/esm/JournalLogger.d.ts +232 -0
  58. package/dist/esm/JournalLogger.d.ts.map +1 -0
  59. package/dist/esm/JournalLogger.js +482 -0
  60. package/dist/esm/JournalLogger.js.map +1 -0
  61. package/dist/esm/Logger.d.ts +55 -0
  62. package/dist/esm/Logger.d.ts.map +1 -0
  63. package/dist/esm/Logger.js +60 -0
  64. package/dist/esm/Logger.js.map +1 -0
  65. package/dist/esm/Metric.d.ts +67 -0
  66. package/dist/esm/Metric.d.ts.map +1 -0
  67. package/dist/esm/Metric.js +80 -0
  68. package/dist/esm/Metric.js.map +1 -0
  69. package/dist/esm/NodeOtel.d.ts +42 -0
  70. package/dist/esm/NodeOtel.d.ts.map +1 -0
  71. package/dist/esm/NodeOtel.js +56 -0
  72. package/dist/esm/NodeOtel.js.map +1 -0
  73. package/dist/esm/Otel.d.ts +62 -0
  74. package/dist/esm/Otel.d.ts.map +1 -0
  75. package/dist/esm/Otel.js +51 -0
  76. package/dist/esm/Otel.js.map +1 -0
  77. package/dist/esm/Otlp.d.ts +200 -0
  78. package/dist/esm/Otlp.d.ts.map +1 -0
  79. package/dist/esm/Otlp.js +350 -0
  80. package/dist/esm/Otlp.js.map +1 -0
  81. package/dist/esm/Resource.d.ts +162 -0
  82. package/dist/esm/Resource.d.ts.map +1 -0
  83. package/dist/esm/Resource.js +237 -0
  84. package/dist/esm/Resource.js.map +1 -0
  85. package/dist/esm/index.d.ts +61 -0
  86. package/dist/esm/index.d.ts.map +1 -0
  87. package/dist/esm/index.js +61 -0
  88. package/dist/esm/index.js.map +1 -0
  89. package/dist/esm/internal/schemaIssuePath.d.ts +31 -0
  90. package/dist/esm/internal/schemaIssuePath.d.ts.map +1 -0
  91. package/dist/esm/internal/schemaIssuePath.js +59 -0
  92. package/dist/esm/internal/schemaIssuePath.js.map +1 -0
  93. package/docs/README.md +162 -0
  94. package/docs/api.md +768 -0
  95. package/docs/concepts/instrumentation-and-export.md +68 -0
  96. package/docs/concepts/layer-map.md +72 -0
  97. package/docs/concepts/validated-acquisition.md +105 -0
  98. package/docs/guides/export-to-a-collector.md +167 -0
  99. package/docs/guides/forward-logs-to-the-journal.md +226 -0
  100. package/docs/guides/install-a-logger.md +111 -0
  101. package/docs/guides/read-runtime-metrics.md +83 -0
  102. package/docs/guides/testing.md +134 -0
  103. package/docs/guides/wire-an-opentelemetry-sdk.md +220 -0
  104. package/docs/installation.md +98 -0
  105. package/docs/quickstart.md +145 -0
  106. package/docs/troubleshooting.md +168 -0
  107. package/package.json +221 -32
  108. package/src/BrowserOtel.ts +51 -0
  109. package/src/Endpoint.ts +131 -0
  110. package/src/JournalLogger.ts +596 -0
  111. package/src/Logger.ts +106 -0
  112. package/src/Metric.ts +88 -0
  113. package/src/NodeOtel.ts +90 -0
  114. package/src/Otel.ts +117 -0
  115. package/src/Otlp.ts +477 -0
  116. package/src/Resource.ts +324 -0
  117. package/src/index.ts +67 -0
  118. package/src/internal/schemaIssuePath.ts +65 -0
  119. package/docker-compose.otel.yml +0 -104
  120. package/grafana/dashboards/smithers-dashboard.json +0 -453
  121. package/grafana/provisioning/dashboards/dashboards.yml +0 -12
  122. package/grafana/provisioning/datasources/datasources.yml +0 -49
  123. package/loki/loki-config.yaml +0 -35
  124. package/otel-collector-config.yml +0 -38
  125. package/prometheus/prometheus.yml +0 -8
  126. package/src/MetricName.ts +0 -1
  127. package/src/MetricsServiceLive.js +0 -9
  128. package/src/README.md +0 -28
  129. package/src/ResolvedSmithersObservabilityOptions.ts +0 -12
  130. package/src/SmithersEvent.ts +0 -843
  131. package/src/SmithersLogFormat.ts +0 -1
  132. package/src/SmithersMetricDefinition.ts +0 -15
  133. package/src/SmithersMetricType.ts +0 -1
  134. package/src/SmithersMetricUnit.ts +0 -1
  135. package/src/SmithersObservability.js +0 -15
  136. package/src/SmithersObservabilityOptions.ts +0 -12
  137. package/src/SmithersObservabilityService.ts +0 -13
  138. package/src/_coreCorrelation/CorrelationContext.ts +0 -10
  139. package/src/_coreCorrelation/CorrelationContextLive.js +0 -11
  140. package/src/_coreCorrelation/CorrelationContextService.js +0 -15
  141. package/src/_coreCorrelation/CorrelationContextServiceShape.ts +0 -12
  142. package/src/_coreCorrelation/CorrelationPatch.ts +0 -3
  143. package/src/_coreCorrelation/README.md +0 -20
  144. package/src/_coreCorrelation/_correlationStorage.js +0 -4
  145. package/src/_coreCorrelation/correlationContextFiberRef.js +0 -5
  146. package/src/_coreCorrelation/correlationContextToLogAnnotations.js +0 -18
  147. package/src/_coreCorrelation/getCurrentCorrelationContext.js +0 -9
  148. package/src/_coreCorrelation/getCurrentCorrelationContextEffect.js +0 -11
  149. package/src/_coreCorrelation/index.js +0 -14
  150. package/src/_coreCorrelation/mergeCorrelationContext.js +0 -51
  151. package/src/_coreCorrelation/runWithCorrelationContext.js +0 -14
  152. package/src/_coreCorrelation/updateCurrentCorrelationContext.js +0 -17
  153. package/src/_coreCorrelation/withCorrelationContext.js +0 -38
  154. package/src/_coreCorrelation/withCurrentCorrelationContext.js +0 -11
  155. package/src/_coreMetrics.js +0 -14
  156. package/src/_coreMetricsShape.ts +0 -44
  157. package/src/_corePrometheus.js +0 -91
  158. package/src/_corePrometheusShape.ts +0 -11
  159. package/src/_coreTracing.js +0 -132
  160. package/src/_coreTracingShape.ts +0 -17
  161. package/src/_otelLogBuilders.js +0 -102
  162. package/src/_sessionFileResolvers.js +0 -164
  163. package/src/_smithersSpanAttributeAliases.js +0 -19
  164. package/src/_smithersTraceSpanStorage.js +0 -3
  165. package/src/_traceEventNormalizers.js +0 -499
  166. package/src/_traceRedaction.js +0 -162
  167. package/src/agentSessionEventToOtelLogRecord.js +0 -55
  168. package/src/agentTrace.ts +0 -144
  169. package/src/agentTraceCapabilities.js +0 -151
  170. package/src/annotateSmithersTrace.js +0 -11
  171. package/src/canonicalTraceEventToOtelLogRecord.js +0 -55
  172. package/src/correlation.js +0 -56
  173. package/src/createSmithersObservabilityLayer.js +0 -59
  174. package/src/createSmithersOtelLayer.js +0 -23
  175. package/src/createSmithersRuntimeLayer.js +0 -2
  176. package/src/detectAgentFamily.js +0 -26
  177. package/src/detectCaptureMode.js +0 -29
  178. package/src/emitOtelLogRecord.js +0 -19
  179. package/src/getCurrentSmithersTraceAnnotations.js +0 -14
  180. package/src/getCurrentSmithersTraceSpan.js +0 -7
  181. package/src/index.d.ts +0 -1392
  182. package/src/index.js +0 -137
  183. package/src/kindPhase.js +0 -17
  184. package/src/logging.js +0 -264
  185. package/src/makeSmithersSpanAttributes.js +0 -20
  186. package/src/metrics/README.md +0 -22
  187. package/src/metrics/SmithersMetricDefinition.ts +0 -17
  188. package/src/metrics/SmithersMetricType.ts +0 -1
  189. package/src/metrics/SmithersMetricUnit.ts +0 -1
  190. package/src/metrics/_asyncExternalWaitCounts.js +0 -4
  191. package/src/metrics/_buckets.js +0 -37
  192. package/src/metrics/_incrementGauge.js +0 -11
  193. package/src/metrics/_processStartMs.js +0 -1
  194. package/src/metrics/activeNodes.js +0 -2
  195. package/src/metrics/activeRuns.js +0 -2
  196. package/src/metrics/agentActionsTotal.js +0 -2
  197. package/src/metrics/agentDurationMs.js +0 -3
  198. package/src/metrics/agentErrorsTotal.js +0 -2
  199. package/src/metrics/agentEventsTotal.js +0 -2
  200. package/src/metrics/agentInvocationsTotal.js +0 -2
  201. package/src/metrics/agentRetriesTotal.js +0 -2
  202. package/src/metrics/agentSessionsTotal.js +0 -2
  203. package/src/metrics/agentTokensTotal.js +0 -2
  204. package/src/metrics/alertDeliveriesAttempted.js +0 -2
  205. package/src/metrics/alertDeliveriesSuppressed.js +0 -2
  206. package/src/metrics/alertsAcknowledgedTotal.js +0 -2
  207. package/src/metrics/alertsActive.js +0 -2
  208. package/src/metrics/alertsEscalatedTotal.js +0 -2
  209. package/src/metrics/alertsFiredTotal.js +0 -2
  210. package/src/metrics/alertsReopenedTotal.js +0 -2
  211. package/src/metrics/alertsResolvedTotal.js +0 -2
  212. package/src/metrics/alertsSilencedTotal.js +0 -2
  213. package/src/metrics/approvalPending.js +0 -2
  214. package/src/metrics/approvalWaitDuration.js +0 -5
  215. package/src/metrics/approvalsDenied.js +0 -2
  216. package/src/metrics/approvalsGranted.js +0 -2
  217. package/src/metrics/approvalsRequested.js +0 -2
  218. package/src/metrics/attemptDuration.js +0 -3
  219. package/src/metrics/attentionBacklog.js +0 -2
  220. package/src/metrics/cacheHits.js +0 -2
  221. package/src/metrics/cacheMisses.js +0 -2
  222. package/src/metrics/dbQueryDuration.js +0 -3
  223. package/src/metrics/dbRetries.js +0 -2
  224. package/src/metrics/dbTransactionDuration.js +0 -3
  225. package/src/metrics/dbTransactionRetries.js +0 -2
  226. package/src/metrics/dbTransactionRollbacks.js +0 -2
  227. package/src/metrics/devtoolsActiveSubscribers.js +0 -2
  228. package/src/metrics/devtoolsBackpressureDisconnectTotal.js +0 -2
  229. package/src/metrics/devtoolsDeltaBuildMs.js +0 -3
  230. package/src/metrics/devtoolsEventBytes.js +0 -3
  231. package/src/metrics/devtoolsEventTotal.js +0 -2
  232. package/src/metrics/devtoolsSnapshotBuildMs.js +0 -5
  233. package/src/metrics/devtoolsSubscribeTotal.js +0 -2
  234. package/src/metrics/errorsTotal.js +0 -2
  235. package/src/metrics/eventsEmittedTotal.js +0 -2
  236. package/src/metrics/externalWaitAsyncPending.js +0 -2
  237. package/src/metrics/gatewayApprovalDecisionsTotal.js +0 -2
  238. package/src/metrics/gatewayAuthEventsTotal.js +0 -2
  239. package/src/metrics/gatewayConnectionsActive.js +0 -2
  240. package/src/metrics/gatewayConnectionsClosedTotal.js +0 -2
  241. package/src/metrics/gatewayConnectionsTotal.js +0 -2
  242. package/src/metrics/gatewayCronTriggersTotal.js +0 -2
  243. package/src/metrics/gatewayErrorsTotal.js +0 -2
  244. package/src/metrics/gatewayHeartbeatTicksTotal.js +0 -2
  245. package/src/metrics/gatewayMessagesReceivedTotal.js +0 -2
  246. package/src/metrics/gatewayMessagesSentTotal.js +0 -2
  247. package/src/metrics/gatewayRpcCallsTotal.js +0 -2
  248. package/src/metrics/gatewayRpcDuration.js +0 -3
  249. package/src/metrics/gatewayRunEventBackpressureDisconnectTotal.js +0 -4
  250. package/src/metrics/gatewayRunsCompletedTotal.js +0 -2
  251. package/src/metrics/gatewayRunsStartedTotal.js +0 -2
  252. package/src/metrics/gatewaySignalsTotal.js +0 -2
  253. package/src/metrics/gatewayWebhooksReceivedTotal.js +0 -2
  254. package/src/metrics/gatewayWebhooksRejectedTotal.js +0 -2
  255. package/src/metrics/gatewayWebhooksVerifiedTotal.js +0 -2
  256. package/src/metrics/heartbeatDataSizeBytes.js +0 -5
  257. package/src/metrics/heartbeatIntervalMs.js +0 -3
  258. package/src/metrics/hotReloadDuration.js +0 -3
  259. package/src/metrics/hotReloadFailures.js +0 -2
  260. package/src/metrics/hotReloads.js +0 -2
  261. package/src/metrics/httpRequestDuration.js +0 -3
  262. package/src/metrics/httpRequests.js +0 -2
  263. package/src/metrics/index.d.ts +0 -1222
  264. package/src/metrics/index.js +0 -168
  265. package/src/metrics/memoryFactReads.js +0 -3
  266. package/src/metrics/memoryFactWrites.js +0 -3
  267. package/src/metrics/memoryMessageSaves.js +0 -3
  268. package/src/metrics/memoryRecallDuration.js +0 -11
  269. package/src/metrics/memoryRecallQueries.js +0 -3
  270. package/src/metrics/metricsServiceAdapter.js +0 -181
  271. package/src/metrics/nodeDuration.js +0 -3
  272. package/src/metrics/nodeRetriesTotal.js +0 -2
  273. package/src/metrics/nodesFailed.js +0 -2
  274. package/src/metrics/nodesFinished.js +0 -2
  275. package/src/metrics/nodesStarted.js +0 -2
  276. package/src/metrics/openApiToolCallErrorsTotal.js +0 -3
  277. package/src/metrics/openApiToolCallsTotal.js +0 -3
  278. package/src/metrics/openApiToolDuration.js +0 -9
  279. package/src/metrics/processHeapUsedBytes.js +0 -2
  280. package/src/metrics/processMemoryRssBytes.js +0 -2
  281. package/src/metrics/processUptimeSeconds.js +0 -2
  282. package/src/metrics/promptSizeBytes.js +0 -3
  283. package/src/metrics/replaysStarted.js +0 -3
  284. package/src/metrics/responseSizeBytes.js +0 -3
  285. package/src/metrics/rewindDurationMs.js +0 -3
  286. package/src/metrics/rewindFramesDeleted.js +0 -3
  287. package/src/metrics/rewindRollbackTotal.js +0 -2
  288. package/src/metrics/rewindSandboxesReverted.js +0 -3
  289. package/src/metrics/rewindTotal.js +0 -2
  290. package/src/metrics/runDuration.js +0 -3
  291. package/src/metrics/runForksCreated.js +0 -3
  292. package/src/metrics/runsAncestryDepth.js +0 -3
  293. package/src/metrics/runsCancelledTotal.js +0 -2
  294. package/src/metrics/runsCarriedStateBytes.js +0 -5
  295. package/src/metrics/runsContinuedTotal.js +0 -2
  296. package/src/metrics/runsFailedTotal.js +0 -2
  297. package/src/metrics/runsFinishedTotal.js +0 -2
  298. package/src/metrics/runsResumedTotal.js +0 -2
  299. package/src/metrics/runsTotal.js +0 -2
  300. package/src/metrics/sandboxActive.js +0 -2
  301. package/src/metrics/sandboxBundleSizeBytes.js +0 -5
  302. package/src/metrics/sandboxCompletedTotal.js +0 -2
  303. package/src/metrics/sandboxCreatedTotal.js +0 -2
  304. package/src/metrics/sandboxDurationMs.js +0 -3
  305. package/src/metrics/sandboxPatchCount.js +0 -3
  306. package/src/metrics/sandboxTransportDurationMs.js +0 -5
  307. package/src/metrics/schedulerConcurrencyUtilization.js +0 -2
  308. package/src/metrics/schedulerQueueDepth.js +0 -2
  309. package/src/metrics/schedulerWaitDuration.js +0 -5
  310. package/src/metrics/scorerDuration.js +0 -9
  311. package/src/metrics/scorerEventsFailed.js +0 -2
  312. package/src/metrics/scorerEventsFinished.js +0 -2
  313. package/src/metrics/scorerEventsStarted.js +0 -2
  314. package/src/metrics/scorersFailed.js +0 -3
  315. package/src/metrics/scorersFinished.js +0 -3
  316. package/src/metrics/scorersStarted.js +0 -3
  317. package/src/metrics/smithersMetricCatalog.js +0 -893
  318. package/src/metrics/smithersMetricCatalogByKey.js +0 -2
  319. package/src/metrics/smithersMetricCatalogByName.js +0 -2
  320. package/src/metrics/smithersMetricCatalogByPrometheusName.js +0 -4
  321. package/src/metrics/snapshotDuration.js +0 -9
  322. package/src/metrics/snapshotsCaptured.js +0 -3
  323. package/src/metrics/supervisorPollDuration.js +0 -5
  324. package/src/metrics/supervisorPollsTotal.js +0 -2
  325. package/src/metrics/supervisorResumeLag.js +0 -5
  326. package/src/metrics/supervisorResumedTotal.js +0 -2
  327. package/src/metrics/supervisorSkippedTotal.js +0 -2
  328. package/src/metrics/supervisorStaleDetected.js +0 -2
  329. package/src/metrics/taskHeartbeatTimeoutTotal.js +0 -2
  330. package/src/metrics/taskHeartbeatsTotal.js +0 -2
  331. package/src/metrics/timerDelayDuration.js +0 -3
  332. package/src/metrics/timersCancelled.js +0 -2
  333. package/src/metrics/timersCreated.js +0 -2
  334. package/src/metrics/timersFired.js +0 -2
  335. package/src/metrics/timersPending.js +0 -2
  336. package/src/metrics/toPrometheusMetricName.js +0 -8
  337. package/src/metrics/tokensCacheReadTotal.js +0 -2
  338. package/src/metrics/tokensCacheWriteTotal.js +0 -2
  339. package/src/metrics/tokensContextWindowBucketTotal.js +0 -2
  340. package/src/metrics/tokensContextWindowPerCall.js +0 -5
  341. package/src/metrics/tokensInputPerCall.js +0 -3
  342. package/src/metrics/tokensInputTotal.js +0 -2
  343. package/src/metrics/tokensOutputPerCall.js +0 -3
  344. package/src/metrics/tokensOutputTotal.js +0 -2
  345. package/src/metrics/tokensReasoningTotal.js +0 -2
  346. package/src/metrics/toolCallErrorsTotal.js +0 -2
  347. package/src/metrics/toolCallsTotal.js +0 -2
  348. package/src/metrics/toolDuration.js +0 -3
  349. package/src/metrics/toolOutputTruncatedTotal.js +0 -2
  350. package/src/metrics/trackEvent.js +0 -608
  351. package/src/metrics/updateAsyncExternalWaitPending.js +0 -18
  352. package/src/metrics/updateProcessMetrics.js +0 -20
  353. package/src/metrics/vcsDuration.js +0 -3
  354. package/src/normalizeStructuredEvent.js +0 -15
  355. package/src/prometheusContentType.js +0 -1
  356. package/src/renderPrometheusMetrics.js +0 -212
  357. package/src/resolveAgentTraceCapabilities.js +0 -59
  358. package/src/resolveSmithersObservabilityOptions.js +0 -109
  359. package/src/smithersMetrics.js +0 -2
  360. package/src/smithersSpanNames.js +0 -6
  361. package/src/unsupportedKindsForCapabilities.js +0 -32
  362. package/src/withSmithersSpan.js +0 -17
  363. package/tempo/tempo.yml +0 -17
@@ -1,55 +0,0 @@
1
- import { buildOtelAttributes, buildOtelLogRecord, inferSessionSeverity } from "./_otelLogBuilders.js";
2
- /**
3
- * @typedef {import('./agentTrace.ts').AgentSessionTranscriptEvent} AgentSessionTranscriptEvent
4
- * @typedef {import('./_otelLogBuilders.js').OtelLogRecord} OtelLogRecord
5
- */
6
-
7
- /**
8
- * @param {AgentSessionTranscriptEvent} event
9
- * @param {{ agentId?: string; model?: string }} [context]
10
- * @returns {OtelLogRecord}
11
- */
12
- export function agentSessionEventToOtelLogRecord(event, context) {
13
- const attributes = buildOtelAttributes(
14
- {
15
- "smithers.event.category": "agent-session",
16
- "smithers.trace.version": undefined,
17
- "smithers.transcript.version": event.transcriptVersion,
18
- "run.id": event.runId,
19
- "workflow.path": event.workflowPath,
20
- "workflow.hash": event.workflowHash,
21
- "node.id": event.nodeId,
22
- "node.iteration": event.iteration,
23
- "node.attempt": event.attempt,
24
- "agent.family": event.source.agentFamily,
25
- "agent.id": context?.agentId,
26
- "agent.model": context?.model,
27
- "agent.capture_mode": event.source.captureMode,
28
- "trace.completeness": undefined,
29
- "event.kind": undefined,
30
- "event.phase": undefined,
31
- "event.sequence": undefined,
32
- "source.raw_type": undefined,
33
- "source.raw_event_id": undefined,
34
- "source.observed": undefined,
35
- "provider.session_id": event.source.providerSessionId,
36
- "provider.thread_id": event.source.providerThreadId,
37
- "session.ingest_source": event.source.ingestSource,
38
- "session.observed_live": event.source.observedLive,
39
- "session.row_type": event.event.rowType,
40
- "session.row_sequence": event.event.sequence,
41
- },
42
- event.annotations,
43
- );
44
- return buildOtelLogRecord(
45
- {
46
- category: "agent-session",
47
- payload: undefined,
48
- raw: event.raw,
49
- redaction: event.redaction,
50
- annotations: event.annotations,
51
- },
52
- attributes,
53
- inferSessionSeverity(event.raw),
54
- );
55
- }
package/src/agentTrace.ts DELETED
@@ -1,144 +0,0 @@
1
- export type AgentFamily =
2
- | "pi"
3
- | "codex"
4
- | "claude-code"
5
- | "antigravity"
6
- | "gemini"
7
- | "kimi"
8
- | "openai"
9
- | "anthropic"
10
- | "amp"
11
- | "forge"
12
- | "unknown";
13
-
14
- export type AgentCaptureMode =
15
- | "sdk-events"
16
- | "rpc-events"
17
- | "cli-json-stream"
18
- | "cli-json"
19
- | "cli-text"
20
- | "artifact-import";
21
-
22
- export type TraceCompleteness = "full-observed" | "partial-observed" | "final-only" | "capture-failed";
23
-
24
- export type CanonicalAgentTraceEventKind =
25
- | "session.start"
26
- | "session.end"
27
- | "turn.start"
28
- | "turn.end"
29
- | "message.start"
30
- | "message.update"
31
- | "message.end"
32
- | "assistant.text.delta"
33
- | "assistant.thinking.delta"
34
- | "assistant.message.final"
35
- | "tool.execution.start"
36
- | "tool.execution.update"
37
- | "tool.execution.end"
38
- | "tool.result"
39
- | "retry.start"
40
- | "retry.end"
41
- | "compaction.start"
42
- | "compaction.end"
43
- | "stderr"
44
- | "stdout"
45
- | "usage"
46
- | "capture.warning"
47
- | "capture.error"
48
- | "artifact.created";
49
-
50
- export type CanonicalAgentTraceEventPhase = "agent" | "turn" | "message" | "tool" | "session" | "capture" | "artifact";
51
-
52
- export type CanonicalAgentTraceEvent = {
53
- traceVersion: "1";
54
- runId: string;
55
- workflowPath?: string;
56
- workflowHash?: string;
57
- nodeId: string;
58
- iteration: number;
59
- attempt: number;
60
- timestampMs: number;
61
- event: {
62
- sequence: number;
63
- kind: CanonicalAgentTraceEventKind;
64
- phase: CanonicalAgentTraceEventPhase;
65
- };
66
- source: {
67
- agentFamily: AgentFamily;
68
- captureMode: AgentCaptureMode;
69
- rawType?: string;
70
- rawEventId?: string;
71
- observed: boolean;
72
- };
73
- traceCompleteness: TraceCompleteness;
74
- payload: Record<string, unknown> | null;
75
- raw: unknown;
76
- redaction: {
77
- applied: boolean;
78
- ruleIds: string[];
79
- };
80
- annotations: Record<string, string | number | boolean>;
81
- };
82
-
83
- export type AgentTraceSummary = {
84
- traceVersion: "1";
85
- runId: string;
86
- workflowPath?: string;
87
- workflowHash?: string;
88
- nodeId: string;
89
- iteration: number;
90
- attempt: number;
91
- traceStartedAtMs: number;
92
- traceFinishedAtMs: number;
93
- agentFamily: AgentFamily;
94
- agentId?: string;
95
- model?: string;
96
- captureMode: AgentCaptureMode;
97
- traceCompleteness: TraceCompleteness;
98
- unsupportedEventKinds: CanonicalAgentTraceEventKind[];
99
- missingExpectedEventKinds: CanonicalAgentTraceEventKind[];
100
- rawArtifactRefs: string[];
101
- };
102
-
103
- export type AgentSessionTranscriptEvent = {
104
- transcriptVersion: "1";
105
- runId: string;
106
- workflowPath?: string;
107
- workflowHash?: string;
108
- nodeId: string;
109
- iteration: number;
110
- attempt: number;
111
- timestampMs: number;
112
- event: {
113
- sequence: number;
114
- rowType: string;
115
- };
116
- source: {
117
- agentFamily: AgentFamily;
118
- captureMode: AgentCaptureMode;
119
- ingestSource: "live" | "artifact";
120
- observedLive: boolean;
121
- providerSessionId?: string;
122
- providerThreadId?: string;
123
- };
124
- raw: unknown;
125
- redaction: {
126
- applied: boolean;
127
- ruleIds: string[];
128
- };
129
- annotations: Record<string, string | number | boolean>;
130
- };
131
-
132
- export type AgentTraceCapabilityProfile = {
133
- sessionMetadata: boolean;
134
- assistantTextDeltas: boolean;
135
- visibleThinkingDeltas: boolean;
136
- finalAssistantMessage: boolean;
137
- toolExecutionStart: boolean;
138
- toolExecutionUpdate: boolean;
139
- toolExecutionEnd: boolean;
140
- retryEvents: boolean;
141
- compactionEvents: boolean;
142
- rawStderrDiagnostics: boolean;
143
- persistedSessionArtifact: boolean;
144
- };
@@ -1,151 +0,0 @@
1
- /**
2
- * @typedef {import('./agentTrace.ts').AgentFamily} AgentFamily
3
- * @typedef {import('./agentTrace.ts').AgentTraceCapabilityProfile} AgentTraceCapabilityProfile
4
- */
5
-
6
- /** @type {Record<AgentFamily, AgentTraceCapabilityProfile>} */
7
- export const agentTraceCapabilities = {
8
- pi: {
9
- sessionMetadata: true,
10
- assistantTextDeltas: true,
11
- visibleThinkingDeltas: true,
12
- finalAssistantMessage: true,
13
- toolExecutionStart: true,
14
- toolExecutionUpdate: true,
15
- toolExecutionEnd: true,
16
- retryEvents: true,
17
- compactionEvents: true,
18
- rawStderrDiagnostics: true,
19
- persistedSessionArtifact: true,
20
- },
21
- codex: {
22
- sessionMetadata: false,
23
- assistantTextDeltas: false,
24
- visibleThinkingDeltas: false,
25
- finalAssistantMessage: true,
26
- toolExecutionStart: false,
27
- toolExecutionUpdate: false,
28
- toolExecutionEnd: false,
29
- retryEvents: false,
30
- compactionEvents: false,
31
- rawStderrDiagnostics: true,
32
- persistedSessionArtifact: false,
33
- },
34
- "claude-code": {
35
- sessionMetadata: false,
36
- assistantTextDeltas: true,
37
- visibleThinkingDeltas: false,
38
- finalAssistantMessage: true,
39
- toolExecutionStart: false,
40
- toolExecutionUpdate: false,
41
- toolExecutionEnd: false,
42
- retryEvents: false,
43
- compactionEvents: false,
44
- rawStderrDiagnostics: true,
45
- persistedSessionArtifact: false,
46
- },
47
- antigravity: {
48
- sessionMetadata: false,
49
- assistantTextDeltas: false,
50
- visibleThinkingDeltas: false,
51
- finalAssistantMessage: true,
52
- toolExecutionStart: false,
53
- toolExecutionUpdate: false,
54
- toolExecutionEnd: false,
55
- retryEvents: false,
56
- compactionEvents: false,
57
- rawStderrDiagnostics: true,
58
- persistedSessionArtifact: false,
59
- },
60
- gemini: {
61
- sessionMetadata: false,
62
- assistantTextDeltas: false,
63
- visibleThinkingDeltas: false,
64
- finalAssistantMessage: true,
65
- toolExecutionStart: false,
66
- toolExecutionUpdate: false,
67
- toolExecutionEnd: false,
68
- retryEvents: false,
69
- compactionEvents: false,
70
- rawStderrDiagnostics: true,
71
- persistedSessionArtifact: false,
72
- },
73
- kimi: {
74
- sessionMetadata: false,
75
- assistantTextDeltas: false,
76
- visibleThinkingDeltas: false,
77
- finalAssistantMessage: true,
78
- toolExecutionStart: false,
79
- toolExecutionUpdate: false,
80
- toolExecutionEnd: false,
81
- retryEvents: false,
82
- compactionEvents: false,
83
- rawStderrDiagnostics: true,
84
- persistedSessionArtifact: false,
85
- },
86
- openai: {
87
- sessionMetadata: false,
88
- assistantTextDeltas: false,
89
- visibleThinkingDeltas: false,
90
- finalAssistantMessage: true,
91
- toolExecutionStart: true,
92
- toolExecutionUpdate: false,
93
- toolExecutionEnd: true,
94
- retryEvents: false,
95
- compactionEvents: false,
96
- rawStderrDiagnostics: false,
97
- persistedSessionArtifact: false,
98
- },
99
- anthropic: {
100
- sessionMetadata: false,
101
- assistantTextDeltas: false,
102
- visibleThinkingDeltas: false,
103
- finalAssistantMessage: true,
104
- toolExecutionStart: true,
105
- toolExecutionUpdate: false,
106
- toolExecutionEnd: true,
107
- retryEvents: false,
108
- compactionEvents: false,
109
- rawStderrDiagnostics: false,
110
- persistedSessionArtifact: false,
111
- },
112
- amp: {
113
- sessionMetadata: false,
114
- assistantTextDeltas: false,
115
- visibleThinkingDeltas: false,
116
- finalAssistantMessage: true,
117
- toolExecutionStart: true,
118
- toolExecutionUpdate: false,
119
- toolExecutionEnd: true,
120
- retryEvents: false,
121
- compactionEvents: false,
122
- rawStderrDiagnostics: true,
123
- persistedSessionArtifact: false,
124
- },
125
- forge: {
126
- sessionMetadata: false,
127
- assistantTextDeltas: false,
128
- visibleThinkingDeltas: false,
129
- finalAssistantMessage: true,
130
- toolExecutionStart: true,
131
- toolExecutionUpdate: false,
132
- toolExecutionEnd: true,
133
- retryEvents: false,
134
- compactionEvents: false,
135
- rawStderrDiagnostics: true,
136
- persistedSessionArtifact: false,
137
- },
138
- unknown: {
139
- sessionMetadata: false,
140
- assistantTextDeltas: false,
141
- visibleThinkingDeltas: false,
142
- finalAssistantMessage: true,
143
- toolExecutionStart: true,
144
- toolExecutionUpdate: false,
145
- toolExecutionEnd: true,
146
- retryEvents: false,
147
- compactionEvents: false,
148
- rawStderrDiagnostics: true,
149
- persistedSessionArtifact: false,
150
- },
151
- };
@@ -1,11 +0,0 @@
1
- import { TracingService, annotateSmithersTrace as annotateCoreSmithersTrace } from "./_coreTracing.js";
2
- import { Effect } from "effect";
3
- /**
4
- * @param {Readonly<Record<string, unknown>>} [attributes]
5
- * @returns {Effect.Effect<void>}
6
- */
7
- export function annotateSmithersTrace(attributes = {}) {
8
- return Effect.flatMap(Effect.serviceOption(TracingService), (service) =>
9
- service._tag === "Some" ? service.value.annotate({ ...attributes }) : annotateCoreSmithersTrace(attributes),
10
- );
11
- }
@@ -1,55 +0,0 @@
1
- import { buildOtelAttributes, buildOtelLogRecord, inferCanonicalSeverity } from "./_otelLogBuilders.js";
2
- /**
3
- * @typedef {import('./agentTrace.ts').CanonicalAgentTraceEvent} CanonicalAgentTraceEvent
4
- * @typedef {import('./_otelLogBuilders.js').OtelLogRecord} OtelLogRecord
5
- */
6
-
7
- /**
8
- * @param {CanonicalAgentTraceEvent} event
9
- * @param {{ agentId?: string; model?: string }} [context]
10
- * @returns {OtelLogRecord}
11
- */
12
- export function canonicalTraceEventToOtelLogRecord(event, context) {
13
- const attributes = buildOtelAttributes(
14
- {
15
- "smithers.event.category": "agent-trace",
16
- "smithers.trace.version": event.traceVersion,
17
- "smithers.transcript.version": undefined,
18
- "run.id": event.runId,
19
- "workflow.path": event.workflowPath,
20
- "workflow.hash": event.workflowHash,
21
- "node.id": event.nodeId,
22
- "node.iteration": event.iteration,
23
- "node.attempt": event.attempt,
24
- "agent.family": event.source.agentFamily,
25
- "agent.id": context?.agentId,
26
- "agent.model": context?.model,
27
- "agent.capture_mode": event.source.captureMode,
28
- "trace.completeness": event.traceCompleteness,
29
- "event.kind": event.event.kind,
30
- "event.phase": event.event.phase,
31
- "event.sequence": event.event.sequence,
32
- "source.raw_type": event.source.rawType,
33
- "source.raw_event_id": event.source.rawEventId,
34
- "source.observed": event.source.observed,
35
- "session.row_type": undefined,
36
- "session.row_sequence": undefined,
37
- "session.ingest_source": undefined,
38
- "session.observed_live": undefined,
39
- "provider.session_id": undefined,
40
- "provider.thread_id": undefined,
41
- },
42
- event.annotations,
43
- );
44
- return buildOtelLogRecord(
45
- {
46
- category: "agent-trace",
47
- payload: event.payload,
48
- raw: event.raw,
49
- redaction: event.redaction,
50
- annotations: event.annotations,
51
- },
52
- attributes,
53
- inferCanonicalSeverity(event),
54
- );
55
- }
@@ -1,56 +0,0 @@
1
- import {
2
- getCurrentCorrelationContext as getCoreCurrentCorrelationContext,
3
- mergeCorrelationContext as mergeCoreCorrelationContext,
4
- } from "./_coreCorrelation/index.js";
5
- /** @typedef {import("./_coreCorrelation/CorrelationContext.ts").CorrelationContext} CorrelationContext */
6
- /** @typedef {import("./_coreCorrelation/CorrelationPatch.ts").CorrelationPatch} CorrelationPatch */
7
- /** @typedef {CorrelationPatch} CorrelationContextPatch */
8
-
9
- export {
10
- correlationContextFiberRef,
11
- correlationContextToLogAnnotations,
12
- CorrelationContextLive,
13
- CorrelationContextService,
14
- getCurrentCorrelationContext,
15
- getCurrentCorrelationContextEffect,
16
- mergeCorrelationContext,
17
- runWithCorrelationContext,
18
- withCorrelationContext,
19
- withCurrentCorrelationContext,
20
- } from "./_coreCorrelation/index.js";
21
- /**
22
- * Temporary compatibility shim for legacy, non-Effect callers.
23
- *
24
- * Unlike the FiberRef-based core implementation
25
- * ({@link import("./_coreCorrelation/updateCurrentCorrelationContext.js").updateCurrentCorrelationContext}),
26
- * which returns an Effect and sets a fresh merged context on the
27
- * `correlationContextFiberRef`, this shim runs synchronously and applies the
28
- * patch by **mutating the current context object in place** via
29
- * `Object.assign(current, next)`. Any references already holding the current
30
- * context object will observe the mutation. This in-place semantics is
31
- * intentional and exists only to preserve behavior for callers that captured a
32
- * context reference before the Effect-based API existed.
33
- *
34
- * If there is no current context, the patch is a no-op (nothing is created).
35
- *
36
- * @deprecated Prefer the Effect-returning
37
- * `updateCurrentCorrelationContext` from
38
- * `@smthrs/observability` (the `_coreCorrelation` version),
39
- * which does not mutate shared state. This shim will be removed once legacy
40
- * callers migrate.
41
- *
42
- * @param {CorrelationPatch} patch
43
- * @returns {void}
44
- */
45
- export function updateCurrentCorrelationContext(patch) {
46
- const current = getCoreCurrentCorrelationContext();
47
- if (!current) return;
48
- // Compatibility shim: mutate the current context in place rather than
49
- // setting a new FiberRef value. See the JSDoc above — this preserves
50
- // behavior for legacy callers and is intentional, not a bug. Remove once
51
- // those callers adopt the Effect-returning core
52
- // updateCurrentCorrelationContext.
53
- const next = mergeCoreCorrelationContext(current, patch);
54
- if (!next) return;
55
- Object.assign(current, next);
56
- }
@@ -1,59 +0,0 @@
1
- import * as BunContext from "@effect/platform-bun/BunServices";
2
- import { TracingServiceLive } from "./_coreTracing.js";
3
- import { Effect, Layer, Logger, References } from "effect";
4
- import { SmithersObservability } from "./SmithersObservability.js";
5
- import { resolveSmithersObservabilityOptions } from "./resolveSmithersObservabilityOptions.js";
6
- import { createSmithersOtelLayer } from "./createSmithersOtelLayer.js";
7
- import { MetricsServiceLive } from "./MetricsServiceLive.js";
8
- import { annotateSmithersTrace } from "./annotateSmithersTrace.js";
9
- import { withSmithersSpan } from "./withSmithersSpan.js";
10
- /** @typedef {import("./ResolvedSmithersObservabilityOptions.ts").ResolvedSmithersObservabilityOptions} ResolvedSmithersObservabilityOptions */
11
- /** @typedef {import("./SmithersLogFormat.ts").SmithersLogFormat} SmithersLogFormat */
12
- /** @typedef {import("./SmithersObservabilityService.ts").SmithersObservabilityService} SmithersObservabilityService */
13
-
14
- /** @typedef {import("./SmithersObservabilityOptions.ts").SmithersObservabilityOptions} SmithersObservabilityOptions */
15
-
16
- /**
17
- * @param {SmithersLogFormat} format
18
- */
19
- function resolveLogger(format) {
20
- switch (format) {
21
- case "json":
22
- return Logger.consoleJson;
23
- case "pretty":
24
- return Logger.consolePretty();
25
- case "string":
26
- return Logger.consolePretty({ colors: false });
27
- case "logfmt":
28
- default:
29
- return Logger.consoleLogFmt;
30
- }
31
- }
32
- /**
33
- * @param {ResolvedSmithersObservabilityOptions} options
34
- * @returns {SmithersObservabilityService}
35
- */
36
- function makeService(options) {
37
- return {
38
- options,
39
- annotate: (attributes) => annotateSmithersTrace(attributes),
40
- withSpan: (name, effect, attributes) => withSmithersSpan(name, effect, attributes),
41
- };
42
- }
43
- /**
44
- * @param {SmithersObservabilityOptions} [options]
45
- */
46
- export function createSmithersObservabilityLayer(options = {}) {
47
- const resolved = resolveSmithersObservabilityOptions(options);
48
- const loggerLayers = resolved.installLogger
49
- ? [Logger.layer([resolveLogger(resolved.logFormat)]), Layer.succeed(References.MinimumLogLevel, resolved.logLevel)]
50
- : [];
51
- return Layer.mergeAll(
52
- BunContext.layer,
53
- ...loggerLayers,
54
- createSmithersOtelLayer(resolved),
55
- MetricsServiceLive,
56
- TracingServiceLive,
57
- Layer.succeed(SmithersObservability, makeService(resolved)),
58
- );
59
- }
@@ -1,23 +0,0 @@
1
- import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient";
2
- import * as Otlp from "effect/unstable/observability/Otlp";
3
- import { Fiber, Layer } from "effect";
4
- import { smithersTraceSpanStorage } from "./_smithersTraceSpanStorage.js";
5
- import { resolveSmithersObservabilityOptions } from "./resolveSmithersObservabilityOptions.js";
6
- /** @typedef {import("./SmithersObservabilityOptions.ts").SmithersObservabilityOptions} SmithersObservabilityOptions */
7
-
8
- /**
9
- * @param {SmithersObservabilityOptions} [options]
10
- */
11
- export function createSmithersOtelLayer(options = {}) {
12
- const resolved = resolveSmithersObservabilityOptions(options);
13
- if (!resolved.enabled) {
14
- return Layer.empty;
15
- }
16
- return Otlp.layerJson({
17
- baseUrl: resolved.endpoint,
18
- ...(resolved.headers && Object.keys(resolved.headers).length > 0 ? { headers: resolved.headers } : {}),
19
- resource: { serviceName: resolved.serviceName },
20
- tracerContext: (primitive, span) =>
21
- smithersTraceSpanStorage.run(span, () => primitive["~effect/Effect/evaluate"](Fiber.getCurrent())),
22
- }).pipe(Layer.provide(FetchHttpClient.layer));
23
- }
@@ -1,2 +0,0 @@
1
- import { createSmithersObservabilityLayer } from "./createSmithersObservabilityLayer.js";
2
- export const createSmithersRuntimeLayer = createSmithersObservabilityLayer;
@@ -1,26 +0,0 @@
1
- /**
2
- * @typedef {import('./agentTrace.ts').AgentFamily} AgentFamily
3
- */
4
-
5
- /**
6
- * @param {any} agent
7
- * @returns {AgentFamily}
8
- */
9
- export function detectAgentFamily(agent) {
10
- const constructorName = String(agent?.constructor?.name ?? "").toLowerCase();
11
- const idName = String(agent?.id ?? "").toLowerCase();
12
- const name = constructorName && constructorName !== "object" ? `${constructorName} ${idName}` : idName;
13
- if (name.includes("antigravity") || name.includes("agy")) return "antigravity";
14
- if (name.includes("codex")) return "codex";
15
- if (name.includes("claude")) return "claude-code";
16
- if (name.includes("gemini")) return "gemini";
17
- if (name.includes("kimi")) return "kimi";
18
- if (name.includes("openai")) return "openai";
19
- if (name.includes("anthropic")) return "anthropic";
20
- if (name.includes("amp")) return "amp";
21
- if (name.includes("forge")) return "forge";
22
- if (constructorName.includes("piagent") || /(?:^|[-_\s])pi(?:$|[-_\s])/.test(idName)) {
23
- return "pi";
24
- }
25
- return "unknown";
26
- }
@@ -1,29 +0,0 @@
1
- import { detectAgentFamily } from "./detectAgentFamily.js";
2
- /**
3
- * @typedef {import('./agentTrace.ts').AgentCaptureMode} AgentCaptureMode
4
- */
5
-
6
- /**
7
- * @param {any} agent
8
- * @returns {AgentCaptureMode}
9
- */
10
- export function detectCaptureMode(agent) {
11
- const family = detectAgentFamily(agent);
12
- const constructorName = String(agent?.constructor?.name ?? "").toLowerCase();
13
- const mode = agent?.opts?.mode ?? agent?.mode;
14
- if (family === "pi") {
15
- if (mode === "rpc") return "rpc-events";
16
- if (mode === "json") return "cli-json-stream";
17
- return "cli-text";
18
- }
19
- // NanocodexAgent consumes its private JSONL bridge internally and exposes
20
- // already-decoded assistant text through onStdout plus sanitized lifecycle
21
- // events through onEvent. Parsing that text again as Codex CLI JSONL creates
22
- // false truncated-json-stream warnings and loses valid deltas.
23
- if (family === "codex") return constructorName.includes("nanocodexagent") ? "cli-text" : "cli-json-stream";
24
- const outputFormat = agent?.opts?.outputFormat ?? agent?.outputFormat;
25
- if (family === "openai" || family === "anthropic") return "sdk-events";
26
- if (outputFormat === "stream-json") return "cli-json-stream";
27
- if (outputFormat === "json" || agent?.opts?.json) return "cli-json";
28
- return "cli-text";
29
- }
@@ -1,19 +0,0 @@
1
- import { logErrorAwait, logInfoAwait, logWarningAwait } from "./logging.js";
2
- /**
3
- * @typedef {import('./_otelLogBuilders.js').OtelLogRecord} OtelLogRecord
4
- */
5
-
6
- /**
7
- * @param {"agent-trace" | "agent-session"} category
8
- * @param {OtelLogRecord} record
9
- * @returns {Promise<void>}
10
- */
11
- export async function emitOtelLogRecord(category, record) {
12
- if (record.severity === "ERROR") {
13
- await logErrorAwait(record.body, record.attributes, category);
14
- } else if (record.severity === "WARN") {
15
- await logWarningAwait(record.body, record.attributes, category);
16
- } else {
17
- await logInfoAwait(record.body, record.attributes, category);
18
- }
19
- }
@@ -1,14 +0,0 @@
1
- import { getCurrentSmithersTraceSpan } from "./getCurrentSmithersTraceSpan.js";
2
- /**
3
- * @returns {| Readonly<Record<string, string>> | undefined}
4
- */
5
- export function getCurrentSmithersTraceAnnotations() {
6
- const span = getCurrentSmithersTraceSpan();
7
- if (!span) {
8
- return undefined;
9
- }
10
- return {
11
- traceId: span.traceId,
12
- spanId: span.spanId,
13
- };
14
- }
@@ -1,7 +0,0 @@
1
- import { smithersTraceSpanStorage } from "./_smithersTraceSpanStorage.js";
2
- /**
3
- * @returns {import("effect/Tracer").AnySpan | undefined}
4
- */
5
- export function getCurrentSmithersTraceSpan() {
6
- return smithersTraceSpanStorage.getStore();
7
- }