@effect/opentelemetry 0.59.1 → 0.59.3

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.
@@ -17,6 +17,14 @@ const make = exports.make = internal.make;
17
17
  */
18
18
  const makeExternalSpan = exports.makeExternalSpan = internal.makeExternalSpan;
19
19
  /**
20
+ * Get the current OpenTelemetry span.
21
+ *
22
+ * Works with both the official OpenTelemetry API (via `Tracer.layer`, `NodeSdk.layer`, etc.)
23
+ * and the lightweight OTLP module (`OtlpTracer.layer`).
24
+ *
25
+ * When using OTLP, the returned span is a wrapper that conforms to the
26
+ * OpenTelemetry `Span` interface.
27
+ *
20
28
  * @since 1.0.0
21
29
  * @category accessors
22
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Tracer.js","names":["internal","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","exports","makeExternalSpan","currentOtelSpan","layerWithoutOtelTracer","layer","layerGlobal","layerTracer","layerGlobalTracer","OtelTracerProvider","TracerProvider","OtelTracer","Tracer","OtelTraceFlags","traceFlagsTag","OtelTraceState","traceStateTag","withSpanContext"],"sources":["../../src/Tracer.ts"],"sourcesContent":[null],"mappings":";;;;;;AASA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAgD,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGhD;;;;AAIO,MAAMkB,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAA4CtB,QAAQ,CAACsB,IAAI;AAE1E;;;;AAIO,MAAME,gBAAgB,GAAAD,OAAA,CAAAC,gBAAA,GAOTxB,QAAQ,CAACwB,gBAAgB;AAE7C;;;;AAIO,MAAMC,eAAe,GAAAF,OAAA,CAAAE,eAAA,GAA8CzB,QAAQ,CAACyB,eAAe;AAElG;;;;AAIO,MAAMC,sBAAsB,GAAAH,OAAA,CAAAG,sBAAA,GAAoC1B,QAAQ,CAAC0B,sBAAsB;AAEtG;;;;AAIO,MAAMC,KAAK,GAAAJ,OAAA,CAAAI,KAAA,GAA4D3B,QAAQ,CAAC2B,KAAK;AAE5F;;;;AAIO,MAAMC,WAAW,GAAAL,OAAA,CAAAK,WAAA,GAAuC5B,QAAQ,CAAC4B,WAAW;AAEnF;;;;AAIO,MAAMC,WAAW,GAAAN,OAAA,CAAAM,WAAA,GAA4D7B,QAAQ,CAAC6B,WAAW;AAExG;;;;AAIO,MAAMC,iBAAiB,GAAAP,OAAA,CAAAO,iBAAA,GAAuC9B,QAAQ,CAAC8B,iBAAiB;AAU/F;;;;AAIO,MAAMC,kBAAkB,GAAAR,OAAA,CAAAQ,kBAAA,GAAiD/B,QAAQ,CAACgC,cAAc;AAUvG;;;;AAIO,MAAMC,UAAU,GAAAV,OAAA,CAAAU,UAAA,GAAiCjC,QAAQ,CAACkC,MAAM;AAUvE;;;;AAIO,MAAMC,cAAc,GAAAZ,OAAA,CAAAY,cAAA,GAAyCnC,QAAQ,CAACoC,aAAa;AAU1F;;;;AAIO,MAAMC,cAAc,GAAAd,OAAA,CAAAc,cAAA,GAAyCrC,QAAQ,CAACsC,aAAa;AAE1F;;;;;;;;;AASO,MAAMC,eAAe,GAAAhB,OAAA,CAAAgB,eAAA,GAuBxBvC,QAAQ,CAACuC,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"Tracer.js","names":["internal","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","exports","makeExternalSpan","currentOtelSpan","layerWithoutOtelTracer","layer","layerGlobal","layerTracer","layerGlobalTracer","OtelTracerProvider","TracerProvider","OtelTracer","Tracer","OtelTraceFlags","traceFlagsTag","OtelTraceState","traceStateTag","withSpanContext"],"sources":["../../src/Tracer.ts"],"sourcesContent":[null],"mappings":";;;;;;AASA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAgD,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGhD;;;;AAIO,MAAMkB,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAA4CtB,QAAQ,CAACsB,IAAI;AAE1E;;;;AAIO,MAAME,gBAAgB,GAAAD,OAAA,CAAAC,gBAAA,GAOTxB,QAAQ,CAACwB,gBAAgB;AAE7C;;;;;;;;;;;;AAYO,MAAMC,eAAe,GAAAF,OAAA,CAAAE,eAAA,GAA8CzB,QAAQ,CAACyB,eAAe;AAElG;;;;AAIO,MAAMC,sBAAsB,GAAAH,OAAA,CAAAG,sBAAA,GAAoC1B,QAAQ,CAAC0B,sBAAsB;AAEtG;;;;AAIO,MAAMC,KAAK,GAAAJ,OAAA,CAAAI,KAAA,GAA4D3B,QAAQ,CAAC2B,KAAK;AAE5F;;;;AAIO,MAAMC,WAAW,GAAAL,OAAA,CAAAK,WAAA,GAAuC5B,QAAQ,CAAC4B,WAAW;AAEnF;;;;AAIO,MAAMC,WAAW,GAAAN,OAAA,CAAAM,WAAA,GAA4D7B,QAAQ,CAAC6B,WAAW;AAExG;;;;AAIO,MAAMC,iBAAiB,GAAAP,OAAA,CAAAO,iBAAA,GAAuC9B,QAAQ,CAAC8B,iBAAiB;AAU/F;;;;AAIO,MAAMC,kBAAkB,GAAAR,OAAA,CAAAQ,kBAAA,GAAiD/B,QAAQ,CAACgC,cAAc;AAUvG;;;;AAIO,MAAMC,UAAU,GAAAV,OAAA,CAAAU,UAAA,GAAiCjC,QAAQ,CAACkC,MAAM;AAUvE;;;;AAIO,MAAMC,cAAc,GAAAZ,OAAA,CAAAY,cAAA,GAAyCnC,QAAQ,CAACoC,aAAa;AAU1F;;;;AAIO,MAAMC,cAAc,GAAAd,OAAA,CAAAc,cAAA,GAAyCrC,QAAQ,CAACsC,aAAa;AAE1F;;;;;;;;;AASO,MAAMC,eAAe,GAAAhB,OAAA,CAAAgB,eAAA,GAuBxBvC,QAAQ,CAACuC,eAAe","ignoreList":[]}
@@ -9,6 +9,7 @@ var OtelSemConv = _interopRequireWildcard(require("@opentelemetry/semantic-conve
9
9
  var Cause = _interopRequireWildcard(require("effect/Cause"));
10
10
  var Context = _interopRequireWildcard(require("effect/Context"));
11
11
  var Effect = _interopRequireWildcard(require("effect/Effect"));
12
+ var Exit = _interopRequireWildcard(require("effect/Exit"));
12
13
  var _Function = require("effect/Function");
13
14
  var Layer = _interopRequireWildcard(require("effect/Layer"));
14
15
  var Option = _interopRequireWildcard(require("effect/Option"));
@@ -175,14 +176,99 @@ const makeExternalSpan = options => {
175
176
  context
176
177
  };
177
178
  };
178
- /** @internal */
179
179
  exports.makeExternalSpan = makeExternalSpan;
180
- const currentOtelSpan = exports.currentOtelSpan = /*#__PURE__*/Effect.flatMap(Effect.currentSpan, span => {
180
+ const makeOtelSpan = (span, clock) => {
181
+ const spanContext = {
182
+ traceId: span.traceId,
183
+ spanId: span.spanId,
184
+ traceFlags: span.sampled ? OtelApi.TraceFlags.SAMPLED : OtelApi.TraceFlags.NONE,
185
+ isRemote: false
186
+ };
187
+ let exit = Exit.void;
188
+ const self = {
189
+ spanContext: () => spanContext,
190
+ setAttribute(key, value) {
191
+ span.attribute(key, value);
192
+ return self;
193
+ },
194
+ setAttributes(attributes) {
195
+ for (const [key, value] of Object.entries(attributes)) {
196
+ span.attribute(key, value);
197
+ }
198
+ return self;
199
+ },
200
+ addEvent(name) {
201
+ let attributes = undefined;
202
+ let startTime = undefined;
203
+ if (arguments.length === 3) {
204
+ attributes = arguments[1];
205
+ startTime = arguments[2];
206
+ } else {
207
+ startTime = arguments[1];
208
+ }
209
+ span.event(name, convertOtelTimeInput(startTime, clock), attributes);
210
+ return self;
211
+ },
212
+ addLink(link) {
213
+ span.addLinks([{
214
+ _tag: "SpanLink",
215
+ span: makeExternalSpan(link.context),
216
+ attributes: link.attributes ?? {}
217
+ }]);
218
+ return self;
219
+ },
220
+ addLinks(links) {
221
+ span.addLinks(links.map(link => ({
222
+ _tag: "SpanLink",
223
+ span: makeExternalSpan(link.context),
224
+ attributes: link.attributes ?? {}
225
+ })));
226
+ return self;
227
+ },
228
+ setStatus(status) {
229
+ exit = OtelApi.SpanStatusCode.ERROR ? Exit.die(status.message ?? "Unknown error") : Exit.void;
230
+ return self;
231
+ },
232
+ updateName: () => self,
233
+ end(endTime) {
234
+ const time = convertOtelTimeInput(endTime, clock);
235
+ span.end(time, exit);
236
+ return self;
237
+ },
238
+ isRecording: _Function.constTrue,
239
+ recordException(exception, timeInput) {
240
+ const time = convertOtelTimeInput(timeInput, clock);
241
+ const cause = Cause.fail(exception);
242
+ const error = Cause.prettyErrors(cause)[0];
243
+ span.event(error.message, time, {
244
+ "exception.type": error.name,
245
+ "exception.message": error.message,
246
+ "exception.stacktrace": error.stack ?? ""
247
+ });
248
+ }
249
+ };
250
+ return self;
251
+ };
252
+ const bigint1e6 = /*#__PURE__*/BigInt(1_000_000);
253
+ const bigint1e9 = /*#__PURE__*/BigInt(1_000_000_000);
254
+ const convertOtelTimeInput = (input, clock) => {
255
+ if (input === undefined) {
256
+ return clock.unsafeCurrentTimeNanos();
257
+ } else if (typeof input === "number") {
258
+ return BigInt(Math.round(input * 1_000_000));
259
+ } else if (input instanceof Date) {
260
+ return BigInt(input.getTime()) * bigint1e6;
261
+ }
262
+ const [seconds, nanos] = input;
263
+ return BigInt(seconds) * bigint1e9 + BigInt(nanos);
264
+ };
265
+ /** @internal */
266
+ const currentOtelSpan = exports.currentOtelSpan = /*#__PURE__*/Effect.clockWith(clock => Effect.map(Effect.currentSpan, span => {
181
267
  if (OtelSpanTypeId in span) {
182
- return Effect.succeed(span.span);
268
+ return span.span;
183
269
  }
184
- return Effect.fail(new Cause.NoSuchElementException());
185
- });
270
+ return makeOtelSpan(span, clock);
271
+ }));
186
272
  /** @internal */
187
273
  const layerGlobalProvider = exports.layerGlobalProvider = /*#__PURE__*/Layer.sync(TracerProvider, () => OtelApi.trace.getTracerProvider());
188
274
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"tracer.js","names":["OtelApi","_interopRequireWildcard","require","OtelSemConv","Cause","Context","Effect","_Function","Layer","Option","EffectTracer","_Resource","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OtelSpanTypeId","Symbol","for","kindMap","SpanKind","INTERNAL","CLIENT","SERVER","PRODUCER","CONSUMER","getOtelParent","tracer","otelContext","context","active","getSpan","otelParent","spanContext","undefined","some","externalSpan","spanId","traceId","sampled","traceFlags","none","OtelSpan","name","links","kind","_tag","span","attributes","Map","parent","status","constructor","contextApi","traceApi","effectParent","startTime","options","root","startSpan","nanosToHrTime","length","map","link","makeSpanContext","recordToAttributes","populateContext","value","trace","deleteSpan","TraceFlags","SAMPLED","attribute","key","setAttribute","unknownToAttributeValue","addLinks","push","end","endTime","exit","hrTime","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","firstError","prettyErrors","stack","renderErrorCause","recordException","ERROR","event","addEvent","exports","TracerProvider","GenericTag","Tracer","make","slice","execution","fiber","currentSpan","with","traceFlagsTag","traceStateTag","makeExternalSpan","empty","add","traceState","match","createTraceState","onNone","onSome","currentOtelSpan","flatMap","succeed","fail","NoSuchElementException","layerGlobalProvider","sync","getTracerProvider","layerTracer","effect","zip","Resource","resource","provider","getTracer","ATTR_SERVICE_NAME","ATTR_SERVICE_VERSION","layerGlobalTracer","pipe","provide","layerGlobal","unwrapEffect","setTracer","provideMerge","layerWithoutOtelTracer","layer","liftThrowable","setSpan","setSpanContext","isRemote","getOrElse","extractTraceTag","getOption","getOrUndefined","tag","orElse","withSpanContext","dual","withParentSpan"],"sources":["../../../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"tracer.js","names":["OtelApi","_interopRequireWildcard","require","OtelSemConv","Cause","Context","Effect","Exit","_Function","Layer","Option","EffectTracer","_Resource","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OtelSpanTypeId","Symbol","for","kindMap","SpanKind","INTERNAL","CLIENT","SERVER","PRODUCER","CONSUMER","getOtelParent","tracer","otelContext","context","active","getSpan","otelParent","spanContext","undefined","some","externalSpan","spanId","traceId","sampled","traceFlags","none","OtelSpan","name","links","kind","_tag","span","attributes","Map","parent","status","constructor","contextApi","traceApi","effectParent","startTime","options","root","startSpan","nanosToHrTime","length","map","link","makeSpanContext","recordToAttributes","populateContext","value","trace","deleteSpan","TraceFlags","SAMPLED","attribute","key","setAttribute","unknownToAttributeValue","addLinks","push","end","endTime","exit","hrTime","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","firstError","prettyErrors","stack","renderErrorCause","recordException","ERROR","event","addEvent","exports","TracerProvider","GenericTag","Tracer","make","slice","execution","fiber","currentSpan","with","traceFlagsTag","traceStateTag","makeExternalSpan","empty","add","traceState","match","createTraceState","onNone","onSome","makeOtelSpan","clock","NONE","isRemote","void","self","setAttributes","entries","arguments","convertOtelTimeInput","addLink","die","updateName","time","isRecording","constTrue","exception","timeInput","fail","error","bigint1e6","BigInt","bigint1e9","input","unsafeCurrentTimeNanos","Math","round","Date","getTime","seconds","nanos","currentOtelSpan","clockWith","layerGlobalProvider","sync","getTracerProvider","layerTracer","effect","flatMap","zip","Resource","resource","provider","getTracer","ATTR_SERVICE_NAME","ATTR_SERVICE_VERSION","layerGlobalTracer","pipe","provide","layerGlobal","unwrapEffect","setTracer","provideMerge","layerWithoutOtelTracer","layer","liftThrowable","setSpan","setSpanContext","getOrElse","extractTraceTag","getOption","getOrUndefined","tag","orElse","withSpanContext","dual","withParentSpan"],"sources":["../../../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAH,uBAAA,CAAAC,OAAA;AAEA,IAAAG,OAAA,GAAAJ,uBAAA,CAAAC,OAAA;AACA,IAAAI,MAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,IAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAR,uBAAA,CAAAC,OAAA;AACA,IAAAQ,MAAA,GAAAT,uBAAA,CAAAC,OAAA;AACA,IAAAS,YAAA,GAAAV,uBAAA,CAAAC,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AAEA,IAAAW,MAAA,GAAAX,OAAA;AAAuF,SAAAD,wBAAAa,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAf,uBAAA,YAAAA,CAAAa,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEvF,MAAMkB,cAAc,gBAAGC,MAAM,CAACC,GAAG,CAAC,uCAAuC,CAAC;AAE1E,MAAMC,OAAO,GAAG;EACd,UAAU,EAAEpC,OAAO,CAACqC,QAAQ,CAACC,QAAQ;EACrC,QAAQ,EAAEtC,OAAO,CAACqC,QAAQ,CAACE,MAAM;EACjC,QAAQ,EAAEvC,OAAO,CAACqC,QAAQ,CAACG,MAAM;EACjC,UAAU,EAAExC,OAAO,CAACqC,QAAQ,CAACI,QAAQ;EACrC,UAAU,EAAEzC,OAAO,CAACqC,QAAQ,CAACK;CAC9B;AAED,MAAMC,aAAa,GAAGA,CAACC,MAAwB,EAAEC,WAA4B,EAAEC,OAA+B,KAAI;EAChH,MAAMC,MAAM,GAAGH,MAAM,CAACI,OAAO,CAACH,WAAW,CAAC;EAC1C,MAAMI,UAAU,GAAGF,MAAM,GAAGA,MAAM,CAACG,WAAW,EAAE,GAAGC,SAAS;EAC5D,OAAOF,UAAU,GACbvC,MAAM,CAAC0C,IAAI,CACXzC,YAAY,CAAC0C,YAAY,CAAC;IACxBC,MAAM,EAAEL,UAAU,CAACK,MAAM;IACzBC,OAAO,EAAEN,UAAU,CAACM,OAAO;IAC3BC,OAAO,EAAE,CAACP,UAAU,CAACQ,UAAU,GAAG,CAAC,MAAM,CAAC;IAC1CX;GACD,CAAC,CACH,GACCpC,MAAM,CAACgD,IAAI,EAAE;AACnB,CAAC;AAED;AACM,MAAOC,QAAQ;EAgBRC,IAAA;EAEAd,OAAA;EACAe,KAAA;EAEAC,IAAA;EApBF,CAAC7B,cAAc;EACf8B,IAAI,GAAG,MAAM;EAEbC,IAAI;EACJV,MAAM;EACNC,OAAO;EACPU,UAAU,gBAAG,IAAIC,GAAG,EAAmB;EACvCV,OAAO;EACPW,MAAM;EACfC,MAAM;EAENC,YACEC,UAA8B,EAC9BC,QAA0B,EAC1B3B,MAAsB,EACbgB,IAAY,EACrBY,YAAiD,EACxC1B,OAA+B,EAC/Be,KAAmC,EAC5CY,SAAiB,EACRX,IAA2B,EACpCY,OAAkC;IANzB,KAAAd,IAAI,GAAJA,IAAI;IAEJ,KAAAd,OAAO,GAAPA,OAAO;IACP,KAAAe,KAAK,GAALA,KAAK;IAEL,KAAAC,IAAI,GAAJA,IAAI;IAGb,IAAI,CAAC7B,cAAc,CAAC,GAAGA,cAAc;IACrC,MAAMc,MAAM,GAAGuB,UAAU,CAACvB,MAAM,EAAE;IAClC,IAAI,CAACoB,MAAM,GAAGK,YAAY,CAACT,IAAI,KAAK,MAAM,GACtCS,YAAY,GACXE,OAAO,EAAEC,IAAI,KAAK,IAAI,GACvBhC,aAAa,CAAC4B,QAAQ,EAAExB,MAAM,EAAED,OAAO,CAAC,GACxCpC,MAAM,CAACgD,IAAI,EAAE;IACjB,IAAI,CAACM,IAAI,GAAGpB,MAAM,CAACgC,SAAS,CAC1BhB,IAAI,EACJ;MACEa,SAAS,EAAE,IAAAI,oBAAa,EAACJ,SAAS,CAAC;MACnCZ,KAAK,EAAEA,KAAK,CAACiB,MAAM,GAAG,CAAC,GACnBjB,KAAK,CAACkB,GAAG,CAAEC,IAAI,KAAM;QACrBlC,OAAO,EAAEmC,eAAe,CAACD,IAAI,CAAChB,IAAI,CAAC;QACnCC,UAAU,EAAE,IAAAiB,yBAAkB,EAACF,IAAI,CAACf,UAAU;OAC/C,CAAC,CAAC,GACDd,SAAgB;MACpBW,IAAI,EAAE1B,OAAO,CAAC,IAAI,CAAC0B,IAAI;KACxB,EACD,IAAI,CAACK,MAAM,CAACJ,IAAI,KAAK,MAAM,GACvBoB,eAAe,CAACpC,MAAM,EAAE,IAAI,CAACoB,MAAM,CAACiB,KAAK,EAAEtC,OAAO,CAAC,GACnD9C,OAAO,CAACqF,KAAK,CAACC,UAAU,CAACvC,MAAM,CAAC,CACrC;IACD,MAAMG,WAAW,GAAG,IAAI,CAACc,IAAI,CAACd,WAAW,EAAE;IAC3C,IAAI,CAACI,MAAM,GAAGJ,WAAW,CAACI,MAAM;IAChC,IAAI,CAACC,OAAO,GAAGL,WAAW,CAACK,OAAO;IAClC,IAAI,CAACa,MAAM,GAAG;MACZL,IAAI,EAAE,SAAS;MACfU;KACD;IACD,IAAI,CAACjB,OAAO,GAAG,CAACN,WAAW,CAACO,UAAU,GAAGzD,OAAO,CAACuF,UAAU,CAACC,OAAO,MAAMxF,OAAO,CAACuF,UAAU,CAACC,OAAO;EACrG;EAEAC,SAASA,CAACC,GAAW,EAAEN,KAAc;IACnC,IAAI,CAACpB,IAAI,CAAC2B,YAAY,CAACD,GAAG,EAAE,IAAAE,8BAAuB,EAACR,KAAK,CAAC,CAAC;IAC3D,IAAI,CAACnB,UAAU,CAACtC,GAAG,CAAC+D,GAAG,EAAEN,KAAK,CAAC;EACjC;EAEAS,QAAQA,CAAChC,KAA2C;IAClD;IACA,IAAI,CAACA,KAAK,CAACiC,IAAI,CAAC,GAAGjC,KAAK,CAAC;IACzB,IAAI,CAACG,IAAI,CAAC6B,QAAQ,CAAChC,KAAK,CAACkB,GAAG,CAAEC,IAAI,KAAM;MACtClC,OAAO,EAAEmC,eAAe,CAACD,IAAI,CAAChB,IAAI,CAAC;MACnCC,UAAU,EAAE,IAAAiB,yBAAkB,EAACF,IAAI,CAACf,UAAU;KAC/C,CAAC,CAAC,CAAC;EACN;EAEA8B,GAAGA,CAACC,OAAe,EAAEC,IAAiC;IACpD,MAAMC,MAAM,GAAG,IAAArB,oBAAa,EAACmB,OAAO,CAAC;IACrC,IAAI,CAAC5B,MAAM,GAAG;MACZL,IAAI,EAAE,OAAO;MACbiC,OAAO;MACPC,IAAI;MACJxB,SAAS,EAAE,IAAI,CAACL,MAAM,CAACK;KACxB;IAED,IAAIwB,IAAI,CAAClC,IAAI,KAAK,SAAS,EAAE;MAC3B,IAAI,CAACC,IAAI,CAACmC,SAAS,CAAC;QAAEC,IAAI,EAAEpG,OAAO,CAACqG,cAAc,CAACC;MAAE,CAAE,CAAC;IAC1D,CAAC,MAAM;MACL,IAAIlG,KAAK,CAACmG,iBAAiB,CAACN,IAAI,CAACO,KAAK,CAAC,EAAE;QACvC,IAAI,CAACxC,IAAI,CAACmC,SAAS,CAAC;UAClBC,IAAI,EAAEpG,OAAO,CAACqG,cAAc,CAACC,EAAE;UAC/BG,OAAO,EAAErG,KAAK,CAACsG,MAAM,CAACT,IAAI,CAACO,KAAK;SACjC,CAAC;QACF,IAAI,CAACxC,IAAI,CAAC2B,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC;QACtD,IAAI,CAAC3B,IAAI,CAAC2B,YAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC;MACpD,CAAC,MAAM;QACL,MAAMgB,UAAU,GAAGvG,KAAK,CAACwG,YAAY,CAACX,IAAI,CAACO,KAAK,CAAC,CAAC,CAAC,CAAC;QACpD,IAAIG,UAAU,EAAE;UACdA,UAAU,CAACE,KAAK,GAAGzG,KAAK,CAACsG,MAAM,CAACT,IAAI,CAACO,KAAK,EAAE;YAAEM,gBAAgB,EAAE;UAAI,CAAE,CAAC;UACvE,IAAI,CAAC9C,IAAI,CAAC+C,eAAe,CAACJ,UAAU,EAAET,MAAM,CAAC;UAC7C,IAAI,CAAClC,IAAI,CAACmC,SAAS,CAAC;YAClBC,IAAI,EAAEpG,OAAO,CAACqG,cAAc,CAACW,KAAK;YAClCP,OAAO,EAAEE,UAAU,CAACF;WACrB,CAAC;QACJ,CAAC,MAAM;UACL;UACA,IAAI,CAACzC,IAAI,CAACmC,SAAS,CAAC;YAAEC,IAAI,EAAEpG,OAAO,CAACqG,cAAc,CAACC;UAAE,CAAE,CAAC;QAC1D;MACF;IACF;IACA,IAAI,CAACtC,IAAI,CAAC+B,GAAG,CAACG,MAAM,CAAC;EACvB;EAEAe,KAAKA,CAACrD,IAAY,EAAEa,SAAiB,EAAER,UAAoC;IACzE,IAAI,CAACD,IAAI,CAACkD,QAAQ,CAChBtD,IAAI,EACJK,UAAU,GAAG,IAAAiB,yBAAkB,EAACjB,UAAU,CAAC,GAAGd,SAAS,EACvD,IAAA0B,oBAAa,EAACJ,SAAS,CAAC,CACzB;EACH;;AAGF;AAAA0C,OAAA,CAAAxD,QAAA,GAAAA,QAAA;AACO,MAAMyD,cAAc,GAAAD,OAAA,CAAAC,cAAA,gBAAG/G,OAAO,CAACgH,UAAU,CAC9C,iDAAiD,CAClD;AAED;AACO,MAAMC,MAAM,GAAAH,OAAA,CAAAG,MAAA,gBAAGjH,OAAO,CAACgH,UAAU,CAA6B,yCAAyC,CAAC;AAE/G;AACO,MAAME,IAAI,GAAAJ,OAAA,CAAAI,IAAA,gBAAGjH,MAAM,CAACyE,GAAG,CAACuC,MAAM,EAAG1E,MAAM,IAC5CjC,YAAY,CAAC4G,IAAI,CAAC;EAChBvD,IAAIA,CAACJ,IAAI,EAAEO,MAAM,EAAErB,OAAO,EAAEe,KAAK,EAAEY,SAAS,EAAEX,IAAI,EAAEY,OAAO;IACzD,OAAO,IAAIf,QAAQ,CACjB3D,OAAO,CAAC8C,OAAO,EACf9C,OAAO,CAACqF,KAAK,EACbzC,MAAM,EACNgB,IAAI,EACJO,MAAM,EACNrB,OAAO,EACPe,KAAK,CAAC2D,KAAK,EAAE,EACb/C,SAAS,EACTX,IAAI,EACJY,OAAO,CACR;EACH,CAAC;EACD5B,OAAOA,CAAC2E,SAAS,EAAEC,KAAK;IACtB,MAAMC,WAAW,GAAGD,KAAK,CAACC,WAAW;IAErC,IAAIA,WAAW,KAAKxE,SAAS,EAAE;MAC7B,OAAOsE,SAAS,EAAE;IACpB;IAEA,OAAOzH,OAAO,CAAC8C,OAAO,CAAC8E,IAAI,CACzBzC,eAAe,CAACnF,OAAO,CAAC8C,OAAO,CAACC,MAAM,EAAE,EAAE4E,WAAW,CAAC,EACtDF,SAAS,CACV;EACH;CACD,CAAC,CAAC;AAEL;AACO,MAAMI,aAAa,GAAAV,OAAA,CAAAU,aAAA,gBAAGxH,OAAO,CAACgH,UAAU,CAC7C,6CAA6C,CAC9C;AAED;AACO,MAAMS,aAAa,GAAAX,OAAA,CAAAW,aAAA,gBAAGzH,OAAO,CAACgH,UAAU,CAC7C,6CAA6C,CAC9C;AAED;AACO,MAAMU,gBAAgB,GAAIrD,OAKhC,IAA+B;EAC9B,IAAI5B,OAAO,GAAGzC,OAAO,CAAC2H,KAAK,EAAE;EAE7B,IAAItD,OAAO,CAACjB,UAAU,KAAKN,SAAS,EAAE;IACpCL,OAAO,GAAGzC,OAAO,CAAC4H,GAAG,CAACnF,OAAO,EAAE+E,aAAa,EAAEnD,OAAO,CAACjB,UAAU,CAAC;EACnE;EAEA,IAAI,OAAOiB,OAAO,CAACwD,UAAU,KAAK,QAAQ,EAAE;IAC1CpF,OAAO,GAAGpC,MAAM,CAACyH,KAAK,CAACC,gBAAgB,CAAC1D,OAAO,CAACwD,UAAU,CAAC,EAAE;MAC3DG,MAAM,EAAEA,CAAA,KAAMvF,OAAO;MACrBwF,MAAM,EAAGJ,UAAU,IAAK7H,OAAO,CAAC4H,GAAG,CAACnF,OAAO,EAAEgF,aAAa,EAAEI,UAAU;KACvE,CAAC;EACJ,CAAC,MAAM,IAAIxD,OAAO,CAACwD,UAAU,EAAE;IAC7BpF,OAAO,GAAGzC,OAAO,CAAC4H,GAAG,CAACnF,OAAO,EAAEgF,aAAa,EAAEpD,OAAO,CAACwD,UAAU,CAAC;EACnE;EAEA,OAAO;IACLnE,IAAI,EAAE,cAAc;IACpBR,OAAO,EAAEmB,OAAO,CAACnB,OAAO;IACxBD,MAAM,EAAEoB,OAAO,CAACpB,MAAM;IACtBE,OAAO,EAAEkB,OAAO,CAACjB,UAAU,KAAKN,SAAS,GACrC,CAACuB,OAAO,CAACjB,UAAU,GAAGzD,OAAO,CAACuF,UAAU,CAACC,OAAO,MAAMxF,OAAO,CAACuF,UAAU,CAACC,OAAO,GAChF,IAAI;IACR1C;GACD;AACH,CAAC;AAAAqE,OAAA,CAAAY,gBAAA,GAAAA,gBAAA;AAED,MAAMQ,YAAY,GAAGA,CAACvE,IAAuB,EAAEwE,KAAkB,KAAkB;EACjF,MAAMtF,WAAW,GAAwB;IACvCK,OAAO,EAAES,IAAI,CAACT,OAAO;IACrBD,MAAM,EAAEU,IAAI,CAACV,MAAM;IACnBG,UAAU,EAAEO,IAAI,CAACR,OAAO,GAAGxD,OAAO,CAACuF,UAAU,CAACC,OAAO,GAAGxF,OAAO,CAACuF,UAAU,CAACkD,IAAI;IAC/EC,QAAQ,EAAE;GACX;EAED,IAAIzC,IAAI,GAAG1F,IAAI,CAACoI,IAAI;EAEpB,MAAMC,IAAI,GAAiB;IACzB1F,WAAW,EAAEA,CAAA,KAAMA,WAAW;IAC9ByC,YAAYA,CAACD,GAAG,EAAEN,KAAK;MACrBpB,IAAI,CAACyB,SAAS,CAACC,GAAG,EAAEN,KAAK,CAAC;MAC1B,OAAOwD,IAAI;IACb,CAAC;IACDC,aAAaA,CAAC5E,UAAU;MACtB,KAAK,MAAM,CAACyB,GAAG,EAAEN,KAAK,CAAC,IAAItD,MAAM,CAACgH,OAAO,CAAC7E,UAAU,CAAC,EAAE;QACrDD,IAAI,CAACyB,SAAS,CAACC,GAAG,EAAEN,KAAK,CAAC;MAC5B;MACA,OAAOwD,IAAI;IACb,CAAC;IACD1B,QAAQA,CAACtD,IAAI;MACX,IAAIK,UAAU,GAAmCd,SAAS;MAC1D,IAAIsB,SAAS,GAAkCtB,SAAS;MACxD,IAAI4F,SAAS,CAACjE,MAAM,KAAK,CAAC,EAAE;QAC1Bb,UAAU,GAAG8E,SAAS,CAAC,CAAC,CAAC;QACzBtE,SAAS,GAAGsE,SAAS,CAAC,CAAC,CAAC;MAC1B,CAAC,MAAM;QACLtE,SAAS,GAAGsE,SAAS,CAAC,CAAC,CAAC;MAC1B;MACA/E,IAAI,CAACiD,KAAK,CAACrD,IAAI,EAAEoF,oBAAoB,CAACvE,SAAS,EAAE+D,KAAK,CAAC,EAAEvE,UAAU,CAAC;MACpE,OAAO2E,IAAI;IACb,CAAC;IACDK,OAAOA,CAACjE,IAAI;MACVhB,IAAI,CAAC6B,QAAQ,CAAC,CAAC;QACb9B,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAE+D,gBAAgB,CAAC/C,IAAI,CAAClC,OAAO,CAAC;QACpCmB,UAAU,EAAEe,IAAI,CAACf,UAAU,IAAI;OAChC,CAAC,CAAC;MACH,OAAO2E,IAAI;IACb,CAAC;IACD/C,QAAQA,CAAChC,KAAK;MACZG,IAAI,CAAC6B,QAAQ,CAAChC,KAAK,CAACkB,GAAG,CAAEC,IAAI,KAAM;QACjCjB,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAE+D,gBAAgB,CAAC/C,IAAI,CAAClC,OAAO,CAAC;QACpCmB,UAAU,EAAEe,IAAI,CAACf,UAAU,IAAI;OAChC,CAAC,CAAC,CAAC;MACJ,OAAO2E,IAAI;IACb,CAAC;IACDzC,SAASA,CAAC/B,MAAM;MACd6B,IAAI,GAAGjG,OAAO,CAACqG,cAAc,CAACW,KAAK,GAC/BzG,IAAI,CAAC2I,GAAG,CAAC9E,MAAM,CAACqC,OAAO,IAAI,eAAe,CAAC,GAC3ClG,IAAI,CAACoI,IAAI;MACb,OAAOC,IAAI;IACb,CAAC;IACDO,UAAU,EAAEA,CAAA,KAAMP,IAAI;IACtB7C,GAAGA,CAACC,OAAO;MACT,MAAMoD,IAAI,GAAGJ,oBAAoB,CAAChD,OAAO,EAAEwC,KAAK,CAAC;MACjDxE,IAAI,CAAC+B,GAAG,CAACqD,IAAI,EAAEnD,IAAI,CAAC;MACpB,OAAO2C,IAAI;IACb,CAAC;IACDS,WAAW,EAAEC,mBAAS;IACtBvC,eAAeA,CAACwC,SAAS,EAAEC,SAAS;MAClC,MAAMJ,IAAI,GAAGJ,oBAAoB,CAACQ,SAAS,EAAEhB,KAAK,CAAC;MACnD,MAAMhC,KAAK,GAAGpG,KAAK,CAACqJ,IAAI,CAACF,SAAS,CAAC;MACnC,MAAMG,KAAK,GAAGtJ,KAAK,CAACwG,YAAY,CAACJ,KAAK,CAAC,CAAC,CAAC,CAAC;MAC1CxC,IAAI,CAACiD,KAAK,CAACyC,KAAK,CAACjD,OAAO,EAAE2C,IAAI,EAAE;QAC9B,gBAAgB,EAAEM,KAAK,CAAC9F,IAAI;QAC5B,mBAAmB,EAAE8F,KAAK,CAACjD,OAAO;QAClC,sBAAsB,EAAEiD,KAAK,CAAC7C,KAAK,IAAI;OACxC,CAAC;IACJ;GACD;EACD,OAAO+B,IAAI;AACb,CAAC;AAED,MAAMe,SAAS,gBAAGC,MAAM,CAAC,SAAS,CAAC;AACnC,MAAMC,SAAS,gBAAGD,MAAM,CAAC,aAAa,CAAC;AAEvC,MAAMZ,oBAAoB,GAAGA,CAACc,KAAoC,EAAEtB,KAAkB,KAAY;EAChG,IAAIsB,KAAK,KAAK3G,SAAS,EAAE;IACvB,OAAOqF,KAAK,CAACuB,sBAAsB,EAAE;EACvC,CAAC,MAAM,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IACpC,OAAOF,MAAM,CAACI,IAAI,CAACC,KAAK,CAACH,KAAK,GAAG,SAAS,CAAC,CAAC;EAC9C,CAAC,MAAM,IAAIA,KAAK,YAAYI,IAAI,EAAE;IAChC,OAAON,MAAM,CAACE,KAAK,CAACK,OAAO,EAAE,CAAC,GAAGR,SAAS;EAC5C;EACA,MAAM,CAACS,OAAO,EAAEC,KAAK,CAAC,GAAGP,KAAK;EAC9B,OAAOF,MAAM,CAACQ,OAAO,CAAC,GAAGP,SAAS,GAAGD,MAAM,CAACS,KAAK,CAAC;AACpD,CAAC;AAED;AACO,MAAMC,eAAe,GAAAnD,OAAA,CAAAmD,eAAA,gBAA8DhK,MAAM,CAACiK,SAAS,CAAE/B,KAAK,IAC/GlI,MAAM,CAACyE,GAAG,CAACzE,MAAM,CAACqH,WAAW,EAAG3D,IAAI,IAAkB;EACpD,IAAI/B,cAAc,IAAI+B,IAAI,EAAE;IAC1B,OAAQA,IAAiB,CAACA,IAAI;EAChC;EACA,OAAOuE,YAAY,CAACvE,IAAI,EAAEwE,KAAK,CAAC;AAClC,CAAC,CAAC,CACH;AAED;AACO,MAAMgC,mBAAmB,GAAArD,OAAA,CAAAqD,mBAAA,gBAAG/J,KAAK,CAACgK,IAAI,CAC3CrD,cAAc,EACd,MAAMpH,OAAO,CAACqF,KAAK,CAACqF,iBAAiB,EAAE,CACxC;AAED;AACO,MAAMC,WAAW,GAAAxD,OAAA,CAAAwD,WAAA,gBAAGlK,KAAK,CAACmK,MAAM,CACrCtD,MAAM,eACNhH,MAAM,CAACuK,OAAO,cACZvK,MAAM,CAACwK,GAAG,CAACC,kBAAQ,EAAE3D,cAAc,CAAC,EACpC,CAAC,CAAC4D,QAAQ,EAAEC,QAAQ,CAAC,KACnB3K,MAAM,CAACmK,IAAI,CAAC,MACVQ,QAAQ,CAACC,SAAS,CAChBF,QAAQ,CAAC/G,UAAU,CAAC9D,WAAW,CAACgL,iBAAiB,CAAW,EAC5DH,QAAQ,CAAC/G,UAAU,CAAC9D,WAAW,CAACiL,oBAAoB,CAAW,CAChE,CACF,CACJ,CACF;AAED;AACO,MAAMC,iBAAiB,GAAAlE,OAAA,CAAAkE,iBAAA,gBAAGV,WAAW,CAACW,IAAI,cAC/C7K,KAAK,CAAC8K,OAAO,CAACf,mBAAmB,CAAC,CACnC;AAED;AACO,MAAMgB,WAAW,GAAArE,OAAA,CAAAqE,WAAA,gBAAG/K,KAAK,CAACgL,YAAY,CAACnL,MAAM,CAACyE,GAAG,CAACwC,IAAI,EAAE9G,KAAK,CAACiL,SAAS,CAAC,CAAC,CAACJ,IAAI,cACnF7K,KAAK,CAACkL,YAAY,CAACN,iBAAiB,CAAC,CACtC;AAED;AACO,MAAMO,sBAAsB,GAAAzE,OAAA,CAAAyE,sBAAA,gBAAGnL,KAAK,CAACgL,YAAY,cAACnL,MAAM,CAACyE,GAAG,CAACwC,IAAI,EAAE9G,KAAK,CAACiL,SAAS,CAAC,CAAC;AAE3F;AACO,MAAMG,KAAK,GAAA1E,OAAA,CAAA0E,KAAA,gBAAGD,sBAAsB,CAACN,IAAI,cAC9C7K,KAAK,CAACkL,YAAY,CAAChB,WAAW,CAAC,CAChC;AAED;AACA;AACA;AAEA,MAAMvC,gBAAgB,gBAAG1H,MAAM,CAACoL,aAAa,CAAC9L,OAAO,CAACoI,gBAAgB,CAAC;AAEvE,MAAMjD,eAAe,GAAGA,CACtBtC,WAA4B,EAC5BmB,IAA0B,EAC1BlB,OAAgC,KAEhCkB,IAAI,YAAYL,QAAQ,GACtB3D,OAAO,CAACqF,KAAK,CAAC0G,OAAO,CAAClJ,WAAW,EAAEmB,IAAI,CAACA,IAAI,CAAC,GAC7ChE,OAAO,CAACqF,KAAK,CAAC2G,cAAc,CAACnJ,WAAW,EAAEoC,eAAe,CAACjB,IAAI,EAAElB,OAAO,CAAC,CAAC;AAE7E,MAAMmC,eAAe,GAAGA,CAACjB,IAA0B,EAAElB,OAAgC,MAA2B;EAC9GQ,MAAM,EAAEU,IAAI,CAACV,MAAM;EACnBC,OAAO,EAAES,IAAI,CAACT,OAAO;EACrBmF,QAAQ,EAAE1E,IAAI,CAACD,IAAI,KAAK,cAAc;EACtCN,UAAU,EAAE/C,MAAM,CAACuL,SAAS,CAC1BnJ,OAAO,GACLoJ,eAAe,CAAClI,IAAI,EAAElB,OAAO,EAAE+E,aAAa,CAAC,GAC7CxH,OAAO,CAAC8L,SAAS,CAACnI,IAAI,CAAClB,OAAO,EAAE+E,aAAa,CAAC,EAChD,MAAM7H,OAAO,CAACuF,UAAU,CAACC,OAAO,CACjC;EACD0C,UAAU,EAAExH,MAAM,CAAC0L,cAAc,CAC/BtJ,OAAO,GACLoJ,eAAe,CAAClI,IAAI,EAAElB,OAAO,EAAEgF,aAAa,CAAC,GAC7CzH,OAAO,CAAC8L,SAAS,CAACnI,IAAI,CAAClB,OAAO,EAAEgF,aAAa,CAAC;CAEnD,CAAC;AAEF,MAAMoE,eAAe,GAAGA,CACtB/H,MAA4B,EAC5BrB,OAA+B,EAC/BuJ,GAAsB,KAEtB3L,MAAM,CAAC4L,MAAM,CACXjM,OAAO,CAAC8L,SAAS,CAACrJ,OAAO,EAAEuJ,GAAG,CAAC,EAC/B,MAAMhM,OAAO,CAAC8L,SAAS,CAAChI,MAAM,CAACrB,OAAO,EAAEuJ,GAAG,CAAC,CAC7C;AAEH;AACO,MAAME,eAAe,GAAApF,OAAA,CAAAoF,eAAA,gBAAG,IAAAC,cAAI,EAQjC,CAAC,EAAE,CACH5B,MAA8B,EAC9B1H,WAAgC,KAEhC5C,MAAM,CAACmM,cAAc,CAAC7B,MAAM,EAAE7C,gBAAgB,CAAC7E,WAAW,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -24,6 +24,14 @@ export declare const makeExternalSpan: (options: {
24
24
  readonly traceState?: string | Otel.TraceState | undefined;
25
25
  }) => ExternalSpan;
26
26
  /**
27
+ * Get the current OpenTelemetry span.
28
+ *
29
+ * Works with both the official OpenTelemetry API (via `Tracer.layer`, `NodeSdk.layer`, etc.)
30
+ * and the lightweight OTLP module (`OtlpTracer.layer`).
31
+ *
32
+ * When using OTLP, the returned span is a wrapper that conforms to the
33
+ * OpenTelemetry `Span` interface.
34
+ *
27
35
  * @since 1.0.0
28
36
  * @category accessors
29
37
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Tracer.d.ts","sourceRoot":"","sources":["../../src/Tracer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tracer.d.ts","sourceRoot":"","sources":["../../src/Tracer.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,14 @@ export const make = internal.make;
10
10
  */
11
11
  export const makeExternalSpan = internal.makeExternalSpan;
12
12
  /**
13
+ * Get the current OpenTelemetry span.
14
+ *
15
+ * Works with both the official OpenTelemetry API (via `Tracer.layer`, `NodeSdk.layer`, etc.)
16
+ * and the lightweight OTLP module (`OtlpTracer.layer`).
17
+ *
18
+ * When using OTLP, the returned span is a wrapper that conforms to the
19
+ * OpenTelemetry `Span` interface.
20
+ *
13
21
  * @since 1.0.0
14
22
  * @category accessors
15
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Tracer.js","names":["internal","make","makeExternalSpan","currentOtelSpan","layerWithoutOtelTracer","layer","layerGlobal","layerTracer","layerGlobalTracer","OtelTracerProvider","TracerProvider","OtelTracer","Tracer","OtelTraceFlags","traceFlagsTag","OtelTraceState","traceStateTag","withSpanContext"],"sources":["../../src/Tracer.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAGhD;;;;AAIA,OAAO,MAAMC,IAAI,GAA4CD,QAAQ,CAACC,IAAI;AAE1E;;;;AAIA,OAAO,MAAMC,gBAAgB,GAOTF,QAAQ,CAACE,gBAAgB;AAE7C;;;;AAIA,OAAO,MAAMC,eAAe,GAA8CH,QAAQ,CAACG,eAAe;AAElG;;;;AAIA,OAAO,MAAMC,sBAAsB,GAAoCJ,QAAQ,CAACI,sBAAsB;AAEtG;;;;AAIA,OAAO,MAAMC,KAAK,GAA4DL,QAAQ,CAACK,KAAK;AAE5F;;;;AAIA,OAAO,MAAMC,WAAW,GAAuCN,QAAQ,CAACM,WAAW;AAEnF;;;;AAIA,OAAO,MAAMC,WAAW,GAA4DP,QAAQ,CAACO,WAAW;AAExG;;;;AAIA,OAAO,MAAMC,iBAAiB,GAAuCR,QAAQ,CAACQ,iBAAiB;AAU/F;;;;AAIA,OAAO,MAAMC,kBAAkB,GAAiDT,QAAQ,CAACU,cAAc;AAUvG;;;;AAIA,OAAO,MAAMC,UAAU,GAAiCX,QAAQ,CAACY,MAAM;AAUvE;;;;AAIA,OAAO,MAAMC,cAAc,GAAyCb,QAAQ,CAACc,aAAa;AAU1F;;;;AAIA,OAAO,MAAMC,cAAc,GAAyCf,QAAQ,CAACgB,aAAa;AAE1F;;;;;;;;;AASA,OAAO,MAAMC,eAAe,GAuBxBjB,QAAQ,CAACiB,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"Tracer.js","names":["internal","make","makeExternalSpan","currentOtelSpan","layerWithoutOtelTracer","layer","layerGlobal","layerTracer","layerGlobalTracer","OtelTracerProvider","TracerProvider","OtelTracer","Tracer","OtelTraceFlags","traceFlagsTag","OtelTraceState","traceStateTag","withSpanContext"],"sources":["../../src/Tracer.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAGhD;;;;AAIA,OAAO,MAAMC,IAAI,GAA4CD,QAAQ,CAACC,IAAI;AAE1E;;;;AAIA,OAAO,MAAMC,gBAAgB,GAOTF,QAAQ,CAACE,gBAAgB;AAE7C;;;;;;;;;;;;AAYA,OAAO,MAAMC,eAAe,GAA8CH,QAAQ,CAACG,eAAe;AAElG;;;;AAIA,OAAO,MAAMC,sBAAsB,GAAoCJ,QAAQ,CAACI,sBAAsB;AAEtG;;;;AAIA,OAAO,MAAMC,KAAK,GAA4DL,QAAQ,CAACK,KAAK;AAE5F;;;;AAIA,OAAO,MAAMC,WAAW,GAAuCN,QAAQ,CAACM,WAAW;AAEnF;;;;AAIA,OAAO,MAAMC,WAAW,GAA4DP,QAAQ,CAACO,WAAW;AAExG;;;;AAIA,OAAO,MAAMC,iBAAiB,GAAuCR,QAAQ,CAACQ,iBAAiB;AAU/F;;;;AAIA,OAAO,MAAMC,kBAAkB,GAAiDT,QAAQ,CAACU,cAAc;AAUvG;;;;AAIA,OAAO,MAAMC,UAAU,GAAiCX,QAAQ,CAACY,MAAM;AAUvE;;;;AAIA,OAAO,MAAMC,cAAc,GAAyCb,QAAQ,CAACc,aAAa;AAU1F;;;;AAIA,OAAO,MAAMC,cAAc,GAAyCf,QAAQ,CAACgB,aAAa;AAE1F;;;;;;;;;AASA,OAAO,MAAMC,eAAe,GAuBxBjB,QAAQ,CAACiB,eAAe","ignoreList":[]}
@@ -3,7 +3,8 @@ import * as OtelSemConv from "@opentelemetry/semantic-conventions";
3
3
  import * as Cause from "effect/Cause";
4
4
  import * as Context from "effect/Context";
5
5
  import * as Effect from "effect/Effect";
6
- import { dual } from "effect/Function";
6
+ import * as Exit from "effect/Exit";
7
+ import { constTrue, dual } from "effect/Function";
7
8
  import * as Layer from "effect/Layer";
8
9
  import * as Option from "effect/Option";
9
10
  import * as EffectTracer from "effect/Tracer";
@@ -167,13 +168,98 @@ export const makeExternalSpan = options => {
167
168
  context
168
169
  };
169
170
  };
171
+ const makeOtelSpan = (span, clock) => {
172
+ const spanContext = {
173
+ traceId: span.traceId,
174
+ spanId: span.spanId,
175
+ traceFlags: span.sampled ? OtelApi.TraceFlags.SAMPLED : OtelApi.TraceFlags.NONE,
176
+ isRemote: false
177
+ };
178
+ let exit = Exit.void;
179
+ const self = {
180
+ spanContext: () => spanContext,
181
+ setAttribute(key, value) {
182
+ span.attribute(key, value);
183
+ return self;
184
+ },
185
+ setAttributes(attributes) {
186
+ for (const [key, value] of Object.entries(attributes)) {
187
+ span.attribute(key, value);
188
+ }
189
+ return self;
190
+ },
191
+ addEvent(name) {
192
+ let attributes = undefined;
193
+ let startTime = undefined;
194
+ if (arguments.length === 3) {
195
+ attributes = arguments[1];
196
+ startTime = arguments[2];
197
+ } else {
198
+ startTime = arguments[1];
199
+ }
200
+ span.event(name, convertOtelTimeInput(startTime, clock), attributes);
201
+ return self;
202
+ },
203
+ addLink(link) {
204
+ span.addLinks([{
205
+ _tag: "SpanLink",
206
+ span: makeExternalSpan(link.context),
207
+ attributes: link.attributes ?? {}
208
+ }]);
209
+ return self;
210
+ },
211
+ addLinks(links) {
212
+ span.addLinks(links.map(link => ({
213
+ _tag: "SpanLink",
214
+ span: makeExternalSpan(link.context),
215
+ attributes: link.attributes ?? {}
216
+ })));
217
+ return self;
218
+ },
219
+ setStatus(status) {
220
+ exit = OtelApi.SpanStatusCode.ERROR ? Exit.die(status.message ?? "Unknown error") : Exit.void;
221
+ return self;
222
+ },
223
+ updateName: () => self,
224
+ end(endTime) {
225
+ const time = convertOtelTimeInput(endTime, clock);
226
+ span.end(time, exit);
227
+ return self;
228
+ },
229
+ isRecording: constTrue,
230
+ recordException(exception, timeInput) {
231
+ const time = convertOtelTimeInput(timeInput, clock);
232
+ const cause = Cause.fail(exception);
233
+ const error = Cause.prettyErrors(cause)[0];
234
+ span.event(error.message, time, {
235
+ "exception.type": error.name,
236
+ "exception.message": error.message,
237
+ "exception.stacktrace": error.stack ?? ""
238
+ });
239
+ }
240
+ };
241
+ return self;
242
+ };
243
+ const bigint1e6 = /*#__PURE__*/BigInt(1_000_000);
244
+ const bigint1e9 = /*#__PURE__*/BigInt(1_000_000_000);
245
+ const convertOtelTimeInput = (input, clock) => {
246
+ if (input === undefined) {
247
+ return clock.unsafeCurrentTimeNanos();
248
+ } else if (typeof input === "number") {
249
+ return BigInt(Math.round(input * 1_000_000));
250
+ } else if (input instanceof Date) {
251
+ return BigInt(input.getTime()) * bigint1e6;
252
+ }
253
+ const [seconds, nanos] = input;
254
+ return BigInt(seconds) * bigint1e9 + BigInt(nanos);
255
+ };
170
256
  /** @internal */
171
- export const currentOtelSpan = /*#__PURE__*/Effect.flatMap(Effect.currentSpan, span => {
257
+ export const currentOtelSpan = /*#__PURE__*/Effect.clockWith(clock => Effect.map(Effect.currentSpan, span => {
172
258
  if (OtelSpanTypeId in span) {
173
- return Effect.succeed(span.span);
259
+ return span.span;
174
260
  }
175
- return Effect.fail(new Cause.NoSuchElementException());
176
- });
261
+ return makeOtelSpan(span, clock);
262
+ }));
177
263
  /** @internal */
178
264
  export const layerGlobalProvider = /*#__PURE__*/Layer.sync(TracerProvider, () => OtelApi.trace.getTracerProvider());
179
265
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"tracer.js","names":["OtelApi","OtelSemConv","Cause","Context","Effect","dual","Layer","Option","EffectTracer","Resource","nanosToHrTime","recordToAttributes","unknownToAttributeValue","OtelSpanTypeId","Symbol","for","kindMap","SpanKind","INTERNAL","CLIENT","SERVER","PRODUCER","CONSUMER","getOtelParent","tracer","otelContext","context","active","getSpan","otelParent","spanContext","undefined","some","externalSpan","spanId","traceId","sampled","traceFlags","none","OtelSpan","name","links","kind","_tag","span","attributes","Map","parent","status","constructor","contextApi","traceApi","effectParent","startTime","options","root","startSpan","length","map","link","makeSpanContext","populateContext","value","trace","deleteSpan","TraceFlags","SAMPLED","attribute","key","setAttribute","set","addLinks","push","end","endTime","exit","hrTime","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","firstError","prettyErrors","stack","renderErrorCause","recordException","ERROR","event","addEvent","TracerProvider","GenericTag","Tracer","make","slice","execution","fiber","currentSpan","with","traceFlagsTag","traceStateTag","makeExternalSpan","empty","add","traceState","match","createTraceState","onNone","onSome","currentOtelSpan","flatMap","succeed","fail","NoSuchElementException","layerGlobalProvider","sync","getTracerProvider","layerTracer","effect","zip","resource","provider","getTracer","ATTR_SERVICE_NAME","ATTR_SERVICE_VERSION","layerGlobalTracer","pipe","provide","layerGlobal","unwrapEffect","setTracer","provideMerge","layerWithoutOtelTracer","layer","liftThrowable","setSpan","setSpanContext","isRemote","getOrElse","extractTraceTag","getOption","getOrUndefined","tag","orElse","withSpanContext","withParentSpan"],"sources":["../../../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"tracer.js","names":["OtelApi","OtelSemConv","Cause","Context","Effect","Exit","constTrue","dual","Layer","Option","EffectTracer","Resource","nanosToHrTime","recordToAttributes","unknownToAttributeValue","OtelSpanTypeId","Symbol","for","kindMap","SpanKind","INTERNAL","CLIENT","SERVER","PRODUCER","CONSUMER","getOtelParent","tracer","otelContext","context","active","getSpan","otelParent","spanContext","undefined","some","externalSpan","spanId","traceId","sampled","traceFlags","none","OtelSpan","name","links","kind","_tag","span","attributes","Map","parent","status","constructor","contextApi","traceApi","effectParent","startTime","options","root","startSpan","length","map","link","makeSpanContext","populateContext","value","trace","deleteSpan","TraceFlags","SAMPLED","attribute","key","setAttribute","set","addLinks","push","end","endTime","exit","hrTime","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","firstError","prettyErrors","stack","renderErrorCause","recordException","ERROR","event","addEvent","TracerProvider","GenericTag","Tracer","make","slice","execution","fiber","currentSpan","with","traceFlagsTag","traceStateTag","makeExternalSpan","empty","add","traceState","match","createTraceState","onNone","onSome","makeOtelSpan","clock","NONE","isRemote","void","self","setAttributes","Object","entries","arguments","convertOtelTimeInput","addLink","die","updateName","time","isRecording","exception","timeInput","fail","error","bigint1e6","BigInt","bigint1e9","input","unsafeCurrentTimeNanos","Math","round","Date","getTime","seconds","nanos","currentOtelSpan","clockWith","layerGlobalProvider","sync","getTracerProvider","layerTracer","effect","flatMap","zip","resource","provider","getTracer","ATTR_SERVICE_NAME","ATTR_SERVICE_VERSION","layerGlobalTracer","pipe","provide","layerGlobal","unwrapEffect","setTracer","provideMerge","layerWithoutOtelTracer","layer","liftThrowable","setSpan","setSpanContext","getOrElse","extractTraceTag","getOption","getOrUndefined","tag","orElse","withSpanContext","withParentSpan"],"sources":["../../../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/opentelemetry",
3
- "version": "0.59.1",
3
+ "version": "0.59.3",
4
4
  "description": "OpenTelemetry integration for Effect",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -13,14 +13,14 @@
13
13
  "peerDependencies": {
14
14
  "@opentelemetry/api": "^1.9",
15
15
  "@opentelemetry/resources": "^2.0.0",
16
+ "@opentelemetry/sdk-logs": ">=0.203.0 <0.300.0",
16
17
  "@opentelemetry/sdk-metrics": "^2.0.0",
17
18
  "@opentelemetry/sdk-trace-base": "^2.0.0",
18
19
  "@opentelemetry/sdk-trace-node": "^2.0.0",
19
20
  "@opentelemetry/sdk-trace-web": "^2.0.0",
20
- "@opentelemetry/sdk-logs": "^0.203.0",
21
21
  "@opentelemetry/semantic-conventions": "^1.33.0",
22
- "@effect/platform": "^0.93.1",
23
- "effect": "^3.19.3"
22
+ "@effect/platform": "^0.93.8",
23
+ "effect": "^3.19.12"
24
24
  },
25
25
  "peerDependenciesMeta": {
26
26
  "@opentelemetry/api": {
package/src/Tracer.ts CHANGED
@@ -30,6 +30,14 @@ export const makeExternalSpan: (
30
30
  ) => ExternalSpan = internal.makeExternalSpan
31
31
 
32
32
  /**
33
+ * Get the current OpenTelemetry span.
34
+ *
35
+ * Works with both the official OpenTelemetry API (via `Tracer.layer`, `NodeSdk.layer`, etc.)
36
+ * and the lightweight OTLP module (`OtlpTracer.layer`).
37
+ *
38
+ * When using OTLP, the returned span is a wrapper that conforms to the
39
+ * OpenTelemetry `Span` interface.
40
+ *
33
41
  * @since 1.0.0
34
42
  * @category accessors
35
43
  */
@@ -1,10 +1,11 @@
1
1
  import * as OtelApi from "@opentelemetry/api"
2
2
  import * as OtelSemConv from "@opentelemetry/semantic-conventions"
3
3
  import * as Cause from "effect/Cause"
4
+ import type * as Clock from "effect/Clock"
4
5
  import * as Context from "effect/Context"
5
6
  import * as Effect from "effect/Effect"
6
- import type { Exit } from "effect/Exit"
7
- import { dual } from "effect/Function"
7
+ import * as Exit from "effect/Exit"
8
+ import { constTrue, dual } from "effect/Function"
8
9
  import * as Layer from "effect/Layer"
9
10
  import * as Option from "effect/Option"
10
11
  import * as EffectTracer from "effect/Tracer"
@@ -109,7 +110,7 @@ export class OtelSpan implements EffectTracer.Span {
109
110
  })))
110
111
  }
111
112
 
112
- end(endTime: bigint, exit: Exit<unknown, unknown>) {
113
+ end(endTime: bigint, exit: Exit.Exit<unknown, unknown>) {
113
114
  const hrTime = nanosToHrTime(endTime)
114
115
  this.status = {
115
116
  _tag: "Ended",
@@ -237,15 +238,106 @@ export const makeExternalSpan = (options: {
237
238
  }
238
239
  }
239
240
 
241
+ const makeOtelSpan = (span: EffectTracer.Span, clock: Clock.Clock): OtelApi.Span => {
242
+ const spanContext: OtelApi.SpanContext = {
243
+ traceId: span.traceId,
244
+ spanId: span.spanId,
245
+ traceFlags: span.sampled ? OtelApi.TraceFlags.SAMPLED : OtelApi.TraceFlags.NONE,
246
+ isRemote: false
247
+ }
248
+
249
+ let exit = Exit.void
250
+
251
+ const self: OtelApi.Span = {
252
+ spanContext: () => spanContext,
253
+ setAttribute(key, value) {
254
+ span.attribute(key, value)
255
+ return self
256
+ },
257
+ setAttributes(attributes) {
258
+ for (const [key, value] of Object.entries(attributes)) {
259
+ span.attribute(key, value)
260
+ }
261
+ return self
262
+ },
263
+ addEvent(name) {
264
+ let attributes: OtelApi.Attributes | undefined = undefined
265
+ let startTime: OtelApi.TimeInput | undefined = undefined
266
+ if (arguments.length === 3) {
267
+ attributes = arguments[1]
268
+ startTime = arguments[2]
269
+ } else {
270
+ startTime = arguments[1]
271
+ }
272
+ span.event(name, convertOtelTimeInput(startTime, clock), attributes)
273
+ return self
274
+ },
275
+ addLink(link) {
276
+ span.addLinks([{
277
+ _tag: "SpanLink",
278
+ span: makeExternalSpan(link.context),
279
+ attributes: link.attributes ?? {}
280
+ }])
281
+ return self
282
+ },
283
+ addLinks(links) {
284
+ span.addLinks(links.map((link) => ({
285
+ _tag: "SpanLink",
286
+ span: makeExternalSpan(link.context),
287
+ attributes: link.attributes ?? {}
288
+ })))
289
+ return self
290
+ },
291
+ setStatus(status) {
292
+ exit = OtelApi.SpanStatusCode.ERROR
293
+ ? Exit.die(status.message ?? "Unknown error")
294
+ : Exit.void
295
+ return self
296
+ },
297
+ updateName: () => self,
298
+ end(endTime) {
299
+ const time = convertOtelTimeInput(endTime, clock)
300
+ span.end(time, exit)
301
+ return self
302
+ },
303
+ isRecording: constTrue,
304
+ recordException(exception, timeInput) {
305
+ const time = convertOtelTimeInput(timeInput, clock)
306
+ const cause = Cause.fail(exception)
307
+ const error = Cause.prettyErrors(cause)[0]
308
+ span.event(error.message, time, {
309
+ "exception.type": error.name,
310
+ "exception.message": error.message,
311
+ "exception.stacktrace": error.stack ?? ""
312
+ })
313
+ }
314
+ }
315
+ return self
316
+ }
317
+
318
+ const bigint1e6 = BigInt(1_000_000)
319
+ const bigint1e9 = BigInt(1_000_000_000)
320
+
321
+ const convertOtelTimeInput = (input: OtelApi.TimeInput | undefined, clock: Clock.Clock): bigint => {
322
+ if (input === undefined) {
323
+ return clock.unsafeCurrentTimeNanos()
324
+ } else if (typeof input === "number") {
325
+ return BigInt(Math.round(input * 1_000_000))
326
+ } else if (input instanceof Date) {
327
+ return BigInt(input.getTime()) * bigint1e6
328
+ }
329
+ const [seconds, nanos] = input
330
+ return BigInt(seconds) * bigint1e9 + BigInt(nanos)
331
+ }
332
+
240
333
  /** @internal */
241
- export const currentOtelSpan = Effect.flatMap(
242
- Effect.currentSpan,
243
- (span) => {
334
+ export const currentOtelSpan: Effect.Effect<OtelApi.Span, Cause.NoSuchElementException> = Effect.clockWith((clock) =>
335
+ Effect.map(Effect.currentSpan, (span): OtelApi.Span => {
244
336
  if (OtelSpanTypeId in span) {
245
- return Effect.succeed((span as OtelSpan).span)
337
+ return (span as OtelSpan).span
246
338
  }
247
- return Effect.fail(new Cause.NoSuchElementException())
248
- }
339
+ return makeOtelSpan(span, clock)
340
+ })
249
341
  )
250
342
 
251
343
  /** @internal */