@aws/durable-execution-sdk-js-otel 1.1.0 → 1.2.1

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 (48) hide show
  1. package/README.md +338 -12
  2. package/dist/execution-plugin.mjs +227 -50
  3. package/dist/execution-plugin.mjs.map +1 -1
  4. package/dist/index.mjs +1 -1
  5. package/dist/invocation-plugin.mjs +209 -105
  6. package/dist/invocation-plugin.mjs.map +1 -1
  7. package/dist/otel-execution.mjs +1 -1
  8. package/dist/otel-execution.mjs.map +1 -1
  9. package/dist/otel-invocation.mjs +2 -2
  10. package/dist/otel-invocation.mjs.map +1 -1
  11. package/dist/{global-id-generator.mjs → plugin-registration.mjs} +147 -4
  12. package/dist/plugin-registration.mjs.map +1 -0
  13. package/dist-cjs/execution-plugin.js +240 -63
  14. package/dist-cjs/execution-plugin.js.map +1 -1
  15. package/dist-cjs/index.js +10 -10
  16. package/dist-cjs/invocation-plugin.js +221 -117
  17. package/dist-cjs/invocation-plugin.js.map +1 -1
  18. package/dist-cjs/otel-execution.js +1 -1
  19. package/dist-cjs/otel-execution.js.map +1 -1
  20. package/dist-cjs/otel-invocation.js +2 -2
  21. package/dist-cjs/otel-invocation.js.map +1 -1
  22. package/dist-cjs/{global-id-generator.js → plugin-registration.js} +152 -2
  23. package/dist-cjs/plugin-registration.js.map +1 -0
  24. package/dist-types/execution-plugin.d.ts +25 -4
  25. package/dist-types/execution-plugin.d.ts.map +1 -1
  26. package/dist-types/execution-trace-context.d.ts +4 -2
  27. package/dist-types/execution-trace-context.d.ts.map +1 -1
  28. package/dist-types/external-completions.d.ts +11 -0
  29. package/dist-types/external-completions.d.ts.map +1 -0
  30. package/dist-types/global-sampler.d.ts +2 -0
  31. package/dist-types/global-sampler.d.ts.map +1 -1
  32. package/dist-types/invocation-clock.d.ts +9 -0
  33. package/dist-types/invocation-clock.d.ts.map +1 -0
  34. package/dist-types/invocation-plugin.d.ts +18 -2
  35. package/dist-types/invocation-plugin.d.ts.map +1 -1
  36. package/dist-types/operation-span-status.d.ts +5 -0
  37. package/dist-types/operation-span-status.d.ts.map +1 -0
  38. package/dist-types/otel-plugin-config.d.ts +8 -0
  39. package/dist-types/otel-plugin-config.d.ts.map +1 -1
  40. package/dist-types/otel-plugin-provider.d.ts +7 -0
  41. package/dist-types/otel-plugin-provider.d.ts.map +1 -1
  42. package/dist-types/plugin-registration.d.ts +2 -0
  43. package/dist-types/plugin-registration.d.ts.map +1 -0
  44. package/dist-types/propagation-metadata.d.ts +12 -0
  45. package/dist-types/propagation-metadata.d.ts.map +1 -0
  46. package/package.json +13 -9
  47. package/dist/global-id-generator.mjs.map +0 -1
  48. package/dist-cjs/global-id-generator.js.map +0 -1
@@ -1,5 +1,5 @@
1
+ import { P as PLUGIN_REGISTRATION, E as ExternalCompletions, r as resolveFlushTimeoutMillis, D as DeterministicIdGenerator, x as xRayContextExtractor, g as createTracerProvider, t as tryInstallDurableSampler, h as tryInstallGlobalIdGenerator, i as canonicalTraceId, j as resolveExecutionTraceContext, f as deriveWorkflowSpanId, k as isDurableSamplerInstalled, l as createPropagationMetadata, b as deriveSpanIdFromOperationId, s as setOperationSpanStatus, m as flushTracerProvider, n as rootSamplingDecision } from './plugin-registration.mjs';
1
2
  import { trace, SpanKind, context, SpanStatusCode, ROOT_CONTEXT, isSpanContextValid, TraceFlags } from '@opentelemetry/api';
2
- import { D as DeterministicIdGenerator, x as xRayContextExtractor, g as createTracerProvider, t as tryInstallDurableSampler, h as tryInstallGlobalIdGenerator, i as canonicalTraceId, r as resolveExecutionTraceContext, f as deriveWorkflowSpanId, b as deriveSpanIdFromOperationId, j as rootSamplingDecision } from './global-id-generator.mjs';
3
3
  import { SamplingDecision } from '@opentelemetry/sdk-trace-node';
4
4
 
5
5
  const DEFAULT_INSTRUMENTATION_NAME = "aws-durable-execution-sdk-js";
@@ -17,6 +17,9 @@ const DEFAULT_INSTRUMENTATION_NAME = "aws-durable-execution-sdk-js";
17
17
  * onOperationEnd, so nothing is left un-ended across invocations (issue #831).
18
18
  */
19
19
  class ExecutionOtelPlugin {
20
+ static [PLUGIN_REGISTRATION] = {
21
+ exclusiveGroup: "durable-opentelemetry-view",
22
+ };
20
23
  // Shared utilities (reused from existing package)
21
24
  idGenerator;
22
25
  contextExtractor;
@@ -24,6 +27,7 @@ class ExecutionOtelPlugin {
24
27
  tracerProvider;
25
28
  tracer;
26
29
  instrumentationName;
30
+ flushTimeoutMillis;
27
31
  // Non-recording context carrying the deterministic Workflow identity; the real
28
32
  // span is created+ended once, at the terminal invocation (issue #831).
29
33
  workflowSpan;
@@ -45,10 +49,20 @@ class ExecutionOtelPlugin {
45
49
  // start and reused when the real span is created at terminal.
46
50
  executionAncestor;
47
51
  executionStartTimestamp;
52
+ // Only a backend timestamp can define a retry-stable, zero-duration anchor.
53
+ syntheticRootAnchorTimestamp;
54
+ syntheticRootMaterialized = false;
48
55
  usesGlobalProvider;
49
56
  globalIdGeneratorInstalled;
50
57
  durableSampler;
51
58
  tracingEnabled = false;
59
+ // Operation ends received after a flush starts may still be in a batch buffer.
60
+ operationSpansNeedFlush = false;
61
+ externalCompletions = new ExternalCompletions();
62
+ // A real context span can finish even when an enclosing completed context
63
+ // suppresses its terminal checkpoint. Keep that observed parent identity.
64
+ recordedContextIds = new Set();
65
+ invocationEndOperations;
52
66
  // Workflow span name (configurable)
53
67
  workflowSpanName;
54
68
  // Whether enrichLogContext() contributes trace context to log records
@@ -56,6 +70,7 @@ class ExecutionOtelPlugin {
56
70
  constructor(config) {
57
71
  const instrumentationName = config?.instrumentationName ?? DEFAULT_INSTRUMENTATION_NAME;
58
72
  this.instrumentationName = instrumentationName;
73
+ this.flushTimeoutMillis = resolveFlushTimeoutMillis(config?.flushTimeoutMillis);
59
74
  this.idGenerator = new DeterministicIdGenerator();
60
75
  this.contextExtractor = config?.contextExtractor ?? xRayContextExtractor;
61
76
  this.workflowSpanName = config?.workflowSpanName ?? "Workflow";
@@ -117,10 +132,13 @@ class ExecutionOtelPlugin {
117
132
  // carries the execution sampled bit so a parent-based sampler stays
118
133
  // consistent with the eventual root.
119
134
  this.executionAncestor = execTraceContext.executionAncestor;
135
+ // Snapshot the Date: another hook must not be able to alter a later copy
136
+ // of this invocation's anchor by mutating the input object.
137
+ this.syntheticRootAnchorTimestamp = info.executionStartTimestamp
138
+ ? new Date(info.executionStartTimestamp.getTime())
139
+ : undefined;
120
140
  this.executionStartTimestamp =
121
- info.executionStartTimestamp ??
122
- this.executionStartTimestamp ??
123
- new Date();
141
+ this.syntheticRootAnchorTimestamp ?? new Date();
124
142
  this.workflowSpan = trace.wrapSpanContext({
125
143
  traceId: this.executionTraceId,
126
144
  spanId: workflowSpanId,
@@ -165,6 +183,22 @@ class ExecutionOtelPlugin {
165
183
  kind: SpanKind.INTERNAL,
166
184
  attributes: invocationAttributes,
167
185
  }, invocationParentContext);
186
+ this.externalCompletions.observe(info.updatedOperations, info.operations);
187
+ // Each sampled invocation can recover an earlier undelivered anchor. An
188
+ // opaque tracer retains terminal-only creation: without the sampler wrapper,
189
+ // an early anchor would independently query its hidden sampler again.
190
+ if (this.durableSampler && this.syntheticRootAnchorTimestamp) {
191
+ this.createSyntheticRoot()?.end(this.syntheticRootAnchorTimestamp);
192
+ }
193
+ }
194
+ providePropagationMetadata(input) {
195
+ if (!this.tracingEnabled ||
196
+ !this.invocationSpan ||
197
+ !this.workflowSpan ||
198
+ !isDurableSamplerInstalled(this.tracer, this.durableSampler)) {
199
+ return undefined;
200
+ }
201
+ return createPropagationMetadata(input, this.executionArn, this.executionTraceId, this.executionTraceFlags);
168
202
  }
169
203
  wrapInvocation(_info, fn) {
170
204
  if (!this.tracingEnabled || !this.workflowSpan) {
@@ -177,6 +211,11 @@ class ExecutionOtelPlugin {
177
211
  this.resetInvocationState();
178
212
  return;
179
213
  }
214
+ this.invocationEndOperations = info.operations ?? {};
215
+ // Prefer normal lifecycle hooks, which preserve live parent scopes. Before
216
+ // returning, export any fresh completion the workflow did not reach. A
217
+ // later resume may label it replay even though it has never been exported.
218
+ this.drainExternalCompletions(info);
180
219
  // 1. Always end and export Invocation_Span
181
220
  if (this.invocationSpan) {
182
221
  this.invocationSpan.setAttribute("durable.invocation.status", info.status);
@@ -209,6 +248,9 @@ class ExecutionOtelPlugin {
209
248
  if (this.executionSamplingDecision === SamplingDecision.RECORD_AND_SAMPLED &&
210
249
  this.executionAncestor &&
211
250
  (info.status === "SUCCEEDED" || info.status === "FAILED")) {
251
+ // Keep terminal-only fallback for providers without an early anchor.
252
+ // An anchor already materialized in this invocation is not emitted twice.
253
+ const syntheticRootSpan = this.createSyntheticRoot();
212
254
  const workflowSpanId = deriveWorkflowSpanId(this.executionArn);
213
255
  const executionAncestorContext = trace.setSpanContext(ROOT_CONTEXT, this.executionAncestor);
214
256
  const workflowSpan = this.idGenerator.withIds({ spanId: workflowSpanId }, () => this.startSpan(this.workflowSpanName, {
@@ -229,28 +271,93 @@ class ExecutionOtelPlugin {
229
271
  workflowSpan.setStatus({ code: SpanStatusCode.OK });
230
272
  }
231
273
  workflowSpan.end();
274
+ syntheticRootSpan?.end(this.syntheticRootAnchorTimestamp);
232
275
  }
233
- // Non-terminal (PENDING/RETRYING): no real Workflow_Span is created, so
234
- // nothing to end — the identity was only ever a non-recording context.
276
+ // PENDING/RETRYING never materializes Workflow. A sampled invocation may
277
+ // already have ended its stable synthetic anchor before customer code ran.
235
278
  // 3. End any attempt span still open (safeguard against a leak on a
236
279
  // non-terminal invocation, issue #831). Operation placeholders have no
237
280
  // recording span and are dropped in resetInvocationState.
238
- for (const span of this.spanMap.values()) {
239
- if (span.isRecording()) {
240
- span.end();
241
- }
242
- }
243
- // 4. Always flush TracerProvider at invocation boundaries
244
- if ("forceFlush" in this.tracerProvider) {
281
+ this.endOpenAttemptSpans();
282
+ // End owns the drain/flush loop; change hooks only enqueue notifications.
283
+ // A response received during an awaited flush must not be cleared below.
284
+ const flushDeadline = performance.now() + this.flushTimeoutMillis;
285
+ const flush = async () => {
245
286
  try {
246
- await this.tracerProvider.forceFlush();
287
+ await flushTracerProvider(this.tracerProvider, this.usesGlobalProvider, Math.max(0, flushDeadline - performance.now()));
247
288
  }
248
289
  catch (e) {
249
290
  console.error("[ExecutionOtelPlugin] forceFlush failed:", e instanceof Error ? e.message : e);
250
291
  }
251
- }
252
- // 5. Clear per-invocation state
292
+ };
293
+ do {
294
+ this.drainExternalCompletions(info);
295
+ this.operationSpansNeedFlush = false;
296
+ await flush();
297
+ } while ([...this.externalCompletions.pending.values()].some((operation) => !this.hasOpenUnrecordedParent(operation)) &&
298
+ performance.now() < flushDeadline);
299
+ // Finalize the remaining live parents after the open drain/flush phase.
300
+ // A normal parent End may already have exported its child during that wait.
301
+ if (this.externalCompletions.pending.size > 0) {
302
+ this.drainExternalCompletions(info, [...this.externalCompletions.pending.values()], true);
303
+ }
304
+ // Attempts started during the awaited flush are owned by this invocation too.
305
+ this.endOpenAttemptSpans();
306
+ // Close this invocation's hooks before flushing the finalized snapshot.
307
+ // New operation-end hooks during this last wait cannot revise the snapshot.
308
+ const flushFinalOperations = this.operationSpansNeedFlush;
253
309
  this.resetInvocationState();
310
+ if (flushFinalOperations && performance.now() < flushDeadline) {
311
+ await flush();
312
+ }
313
+ }
314
+ drainExternalCompletions(info, operations = this.externalCompletions.pending.values(), finalDrain = false) {
315
+ const terminal = info.status === "SUCCEEDED" || info.status === "FAILED";
316
+ for (const operation of operations) {
317
+ // Even below a checkpointed terminal ancestor, a live context can still
318
+ // finish locally while forceFlush awaits. Give its End hook first choice.
319
+ const openParent = this.hasOpenUnrecordedParent(operation);
320
+ if (openParent && !finalDrain)
321
+ continue;
322
+ const recordedParent = operation.parentId && this.recordedContextIds.has(operation.parentId);
323
+ // A terminal handler can abandon an unawaited child. Its still-open
324
+ // placeholder will be discarded below, so it cannot parent this export.
325
+ const parentId = !recordedParent &&
326
+ ((terminal && openParent) ||
327
+ this.hasAbandonedParent(operation.parentId, this.invocationEndOperations))
328
+ ? undefined
329
+ : operation.parentId;
330
+ this.finishOperation({ ...operation, parentId, isReplay: false });
331
+ }
332
+ }
333
+ hasOpenUnrecordedParent(operation) {
334
+ return (operation.parentId !== undefined &&
335
+ this.operationContexts.has(operation.parentId) &&
336
+ !this.recordedContextIds.has(operation.parentId));
337
+ }
338
+ /** Creates at most one SDK-owned root per invocation; the caller ends it. */
339
+ createSyntheticRoot() {
340
+ if (this.syntheticRootMaterialized ||
341
+ this.executionSamplingDecision !== SamplingDecision.RECORD_AND_SAMPLED ||
342
+ !this.executionAncestor ||
343
+ this.executionAncestor.isRemote) {
344
+ return undefined;
345
+ }
346
+ const span = this.idGenerator.withIds({
347
+ traceId: this.executionTraceId,
348
+ spanId: this.executionAncestor.spanId,
349
+ }, () => this.startSpan("DurableExecutionRoot", {
350
+ kind: SpanKind.INTERNAL,
351
+ attributes: {
352
+ "durable.execution.synthetic_root": true,
353
+ "durable.execution.arn": this.executionArn,
354
+ },
355
+ startTime: this.syntheticRootAnchorTimestamp ??
356
+ this.executionStartTimestamp ??
357
+ new Date(),
358
+ }, ROOT_CONTEXT));
359
+ this.syntheticRootMaterialized = true;
360
+ return span;
254
361
  }
255
362
  ensureGlobalIdGeneratorInstalled() {
256
363
  if (!this.usesGlobalProvider || this.globalIdGeneratorInstalled) {
@@ -271,7 +378,21 @@ class ExecutionOtelPlugin {
271
378
  console.warn("[ExecutionOtelPlugin] Expected a compatible OpenTelemetry SDK tracer at invocation start; telemetry is disabled for this invocation. Ensure the OpenTelemetry SDK is configured before invocation start.");
272
379
  return false;
273
380
  }
381
+ endOpenAttemptSpans() {
382
+ for (const span of this.spanMap.values()) {
383
+ if (span.isRecording())
384
+ this.endOperationSpan(span);
385
+ }
386
+ }
387
+ endOperationSpan(span, endTime) {
388
+ span.end(endTime);
389
+ this.operationSpansNeedFlush = true;
390
+ }
274
391
  resetInvocationState() {
392
+ this.externalCompletions.clear();
393
+ this.operationSpansNeedFlush = false;
394
+ this.recordedContextIds.clear();
395
+ this.invocationEndOperations = undefined;
275
396
  this.spanMap.clear();
276
397
  this.operationContexts.clear();
277
398
  this.operationStarts.clear();
@@ -279,6 +400,8 @@ class ExecutionOtelPlugin {
279
400
  this.invocationSpan = undefined;
280
401
  this.executionAncestor = undefined;
281
402
  this.executionStartTimestamp = undefined;
403
+ this.syntheticRootAnchorTimestamp = undefined;
404
+ this.syntheticRootMaterialized = false;
282
405
  this.executionArn = "";
283
406
  this.executionTraceId = "";
284
407
  this.executionTraceFlags = 0;
@@ -299,14 +422,16 @@ class ExecutionOtelPlugin {
299
422
  invocationParentContext(executionAncestor, canonical) {
300
423
  const activeContext = context.active();
301
424
  const ambient = trace.getSpanContext(activeContext);
302
- // Adopt the ambient span as the Invocation parent only when it is on the
303
- // execution trace AND carries the same sampled bit as the execution
304
- // ancestor. Matching the trace ID alone is not enough: if the ambient span's
425
+ // Adopt the ambient span only in propagated-parent mode, when it is on
426
+ // the execution trace AND carries the same sampled bit as the execution
427
+ // ancestor. Synthetic fallback keeps Workflow and Invocation on the same
428
+ // SDK-owned root. Matching the trace ID alone is not enough: if the ambient span's
305
429
  // sampled bit differs, the Invocation span would inherit the ambient
306
430
  // decision and could export after an explicit Sampled=0, or drop after the
307
431
  // root sampler chose sampled. On a mismatch, fall back to the execution
308
432
  // ancestor, which carries the authoritative decision.
309
- if (ambient &&
433
+ if (executionAncestor.isRemote &&
434
+ ambient &&
310
435
  isSpanContextValid(ambient) &&
311
436
  ambient.traceId === canonical &&
312
437
  (ambient.traceFlags & TraceFlags.SAMPLED) ===
@@ -364,14 +489,33 @@ class ExecutionOtelPlugin {
364
489
  return context.with(trace.setSpanContext(context.active(), operationContext), fn);
365
490
  }
366
491
  async onOperationEnd(info) {
492
+ this.finishOperation(info);
493
+ }
494
+ // Child completion and parent finalization share one synchronous turn. A
495
+ // provider flush must not reset invocation state between these two actions.
496
+ finishOperation(info) {
367
497
  if (!this.tracingEnabled) {
368
498
  return;
369
499
  }
370
- // The only place an operation span is created: start+end it here under its
371
- // deterministic ID, so it is exported exactly once even across suspend/resume.
500
+ // A queued external completion can precede its live context's end even
501
+ // when traversal never awaited it. Export it while that parent is open.
502
+ if (info.type === "CONTEXT" && !info.isReplay) {
503
+ for (const child of this.externalCompletions.pending.values()) {
504
+ if (child.parentId === info.id) {
505
+ this.finishOperation({ ...child, isReplay: false });
506
+ }
507
+ }
508
+ }
509
+ // Release placeholders even when this is a previously observed completion.
372
510
  const started = this.operationStarts.get(info.id);
373
511
  this.operationContexts.delete(info.id);
374
512
  this.operationStarts.delete(info.id);
513
+ // Updates and traversal can report the same completion in either order.
514
+ // The set is reset each invocation so failed-invocation redelivery remains
515
+ // eligible, while normal replay never exports a completion a second time.
516
+ if (this.externalCompletions.shouldSkip(info)) {
517
+ return;
518
+ }
375
519
  // The end event may omit name/subType; fall back to what start captured.
376
520
  const name = info.name ?? started?.name;
377
521
  const subType = info.subType ?? started?.subType;
@@ -397,41 +541,46 @@ class ExecutionOtelPlugin {
397
541
  attributes["durable.attempt.number"] = info.attempt;
398
542
  }
399
543
  const links = this.buildInvocationLinks();
400
- // Earliest known start, so the span never begins after its own attempt/child
401
- // spans (created earlier at start).
402
- const startTime = this.earliestStart(started?.startTimestamp, info.startTimestamp);
544
+ // Reuse the earliest start already recorded by lifecycle hooks.
545
+ // With no recorded start, represent a known completion as a zero-duration
546
+ // span instead of starting at a later local time than its exception event.
547
+ const startTime = this.earliestStart(started?.startTimestamp, info.startTimestamp) ??
548
+ info.endTimestamp;
403
549
  const operationSpanId = deriveSpanIdFromOperationId(info.id, this.executionArn);
404
550
  const span = this.idGenerator.withIds({
405
551
  traceId: this.executionTraceId,
406
552
  spanId: operationSpanId,
407
553
  }, () => this.startSpan(spanName, { attributes, startTime, links }, parentContext));
554
+ // Preserve the backend completion on both the exception and the span end.
555
+ // When absent, use the tracer's existing default timestamp behavior.
556
+ const endTime = info.endTimestamp;
557
+ setOperationSpanStatus(span, info);
408
558
  if (info.error) {
409
- span.setStatus({
410
- code: SpanStatusCode.ERROR,
411
- message: info.error.message,
412
- });
413
- span.recordException(info.error);
414
- }
415
- else if (info.status === "SUCCEEDED") {
416
- // Stamp explicit OK ONLY on a SUCCEEDED terminal status. Terminal
417
- // FAILURE statuses (TIMED_OUT/STOPPED/FAILED/CANCELLED) can arrive with
418
- // NO error object (callback-timeout, chained-invoke fast paths); those
419
- // must NOT be labelled OK, so they are left UNSET.
420
- span.setStatus({ code: SpanStatusCode.OK });
421
- }
422
- span.end(info.endTimestamp);
559
+ span.recordException(info.error, endTime);
560
+ }
561
+ const recordedContext = info.type === "CONTEXT" && span.isRecording();
562
+ this.endOperationSpan(span, endTime);
563
+ if (recordedContext)
564
+ this.recordedContextIds.add(info.id);
565
+ this.externalCompletions.markExported(info);
423
566
  }
424
567
  /**
425
568
  * The parent context for an operation or attempt span: the parent operation's
426
- * deterministic placeholder context when known, otherwise the deferred
427
- * Workflow span's context so the span still hangs off the execution trace.
569
+ * deterministic identity, or the Workflow identity for a top-level operation.
570
+ * A completion notification can arrive without traversing its parent in this
571
+ * invocation (for example, a completed child context skipped during replay).
572
+ * An exported parent's context remains a valid parent after it ends. Reusing
573
+ * its identity does not recreate the parent span or compare clock domains.
428
574
  */
429
575
  resolveOperationParentContext(parentId) {
430
576
  if (parentId) {
431
- const parentContext = this.operationContexts.get(parentId);
432
- if (parentContext) {
433
- return trace.setSpanContext(context.active(), parentContext);
434
- }
577
+ const parentContext = this.operationContexts.get(parentId) ?? {
578
+ traceId: this.executionTraceId,
579
+ spanId: deriveSpanIdFromOperationId(parentId, this.executionArn),
580
+ traceFlags: this.executionTraceFlags,
581
+ isRemote: false,
582
+ };
583
+ return trace.setSpanContext(context.active(), parentContext);
435
584
  }
436
585
  const workflowContext = this.workflowSpan?.spanContext();
437
586
  if (workflowContext) {
@@ -439,7 +588,27 @@ class ExecutionOtelPlugin {
439
588
  }
440
589
  return context.active();
441
590
  }
442
- /** The earlier of two timestamps, ignoring undefined; undefined only when both are. */
591
+ hasAbandonedParent(parentId, operations = {}) {
592
+ const parent = parentId ? operations[parentId] : undefined;
593
+ if (parent?.type !== "CONTEXT" ||
594
+ !["STARTED", "READY", "PENDING"].includes(parent.status ?? ""))
595
+ return false;
596
+ // Completed contexts do not restart unfinished descendants. ReplayChildren
597
+ // can rebuild a successful result by traversing completed children, but
598
+ // ReplaySucceededContext still blocks unfinished child operations.
599
+ const visited = new Set([parent.id]);
600
+ let ancestorId = parent.parentId;
601
+ while (ancestorId && !visited.has(ancestorId)) {
602
+ visited.add(ancestorId);
603
+ const ancestor = operations[ancestorId];
604
+ if (ancestor?.type !== "CONTEXT")
605
+ return false;
606
+ if (["SUCCEEDED", "FAILED", "TIMED_OUT", "STOPPED", "CANCELLED"].includes(ancestor.status ?? ""))
607
+ return true;
608
+ ancestorId = ancestor.parentId;
609
+ }
610
+ return false;
611
+ }
443
612
  earliestStart(a, b) {
444
613
  if (!a) {
445
614
  return b;
@@ -497,6 +666,7 @@ class ExecutionOtelPlugin {
497
666
  const key = this.getAttemptKey(info.id, info.attempt);
498
667
  const attemptSpan = this.spanMap.get(key);
499
668
  if (attemptSpan) {
669
+ const endTime = info.endTimestamp;
500
670
  attemptSpan.setAttribute("durable.attempt.outcome", info.outcome);
501
671
  if (info.outcome === "FAILED") {
502
672
  attemptSpan.setStatus({
@@ -504,19 +674,26 @@ class ExecutionOtelPlugin {
504
674
  message: info.error?.message ?? "Attempt failed",
505
675
  });
506
676
  if (info.error) {
507
- attemptSpan.recordException(info.error);
677
+ attemptSpan.recordException(info.error, endTime);
508
678
  }
509
679
  }
510
680
  else {
511
681
  // Non-failed attempt: stamp explicit OK (matches Python OTel #604).
512
682
  attemptSpan.setStatus({ code: SpanStatusCode.OK });
513
683
  }
514
- attemptSpan.end(info.endTimestamp);
684
+ this.endOperationSpan(attemptSpan, endTime);
515
685
  this.spanMap.delete(key);
516
686
  }
517
687
  }
518
- async onOperationChange(_info) {
519
- // No-op — same as InvocationOtelPlugin
688
+ async onOperationChange(info) {
689
+ if (this.tracingEnabled) {
690
+ // End may be waiting for a provider flush. New completions must use the
691
+ // ancestry from this newer full snapshot, not End's captured snapshot.
692
+ if (this.invocationEndOperations && info.operations) {
693
+ this.invocationEndOperations = info.operations;
694
+ }
695
+ this.externalCompletions.observe(info.updatedOperations, info.operations);
696
+ }
520
697
  }
521
698
  enrichLogContext() {
522
699
  if (!this.tracingEnabled || !this.enrichLogger) {
@@ -1 +1 @@
1
- {"version":3,"file":"execution-plugin.mjs","sources":["../src/execution-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-plugin.mjs","sources":["../src/execution-plugin.ts"],"names":[],"mappings":";;;;AA+DA,MAAM,4BAA4B,GAAG,8BAA8B;AAEnE;;;;;;;;;;;;AAYG;MACU,mBAAmB,CAAA;AACtB,IAAA,QAAiB,mBAAmB,IAAI;AAC9C,QAAA,cAAc,EAAE,4BAA4B;KACpC;;AAGF,IAAA,WAAW;AACF,IAAA,gBAAgB;;AAGzB,IAAA,cAAc;AACd,IAAA,MAAM;AACG,IAAA,mBAAmB;AACnB,IAAA,kBAAkB;;;AAI3B,IAAA,YAAY;AACZ,IAAA,cAAc;;;AAGd,IAAA,OAAO;;;AAGP,IAAA,iBAAiB;;AAEjB,IAAA,eAAe;AAIf,IAAA,YAAY;AACZ,IAAA,gBAAgB;IAChB,mBAAmB,GAAW,CAAC;AAC/B,IAAA,yBAAyB;;;;AAIzB,IAAA,iBAAiB;AACjB,IAAA,uBAAuB;;AAEvB,IAAA,4BAA4B;IAC5B,yBAAyB,GAAG,KAAK;AAExB,IAAA,kBAAkB;AAC3B,IAAA,0BAA0B;AAC1B,IAAA,cAAc;IACd,cAAc,GAAG,KAAK;;IAEtB,uBAAuB,GAAG,KAAK;AACtB,IAAA,mBAAmB,GAAG,IAAI,mBAAmB,EAAE;;;AAG/C,IAAA,kBAAkB,GAAG,IAAI,GAAG,EAAU;AAC/C,IAAA,uBAAuB;;AAGd,IAAA,gBAAgB;;AAGhB,IAAA,YAAY;AAE7B,IAAA,WAAA,CAAY,MAAyB,EAAA;AACnC,QAAA,MAAM,mBAAmB,GACvB,MAAM,EAAE,mBAAmB,IAAI,4BAA4B;AAC7D,QAAA,IAAI,CAAC,mBAAmB,GAAG,mBAAmB;QAC9C,IAAI,CAAC,kBAAkB,GAAG,yBAAyB,CACjD,MAAM,EAAE,kBAAkB,CAC3B;AAED,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,wBAAwB,EAAE;QACjD,IAAI,CAAC,gBAAgB,GAAG,MAAM,EAAE,gBAAgB,IAAI,oBAAoB;QACxE,IAAI,CAAC,gBAAgB,GAAG,MAAM,EAAE,gBAAgB,IAAI,UAAU;QAC9D,IAAI,CAAC,YAAY,GAAG,MAAM,EAAE,YAAY,IAAI,IAAI;AAEhD,QAAA,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,oBAAoB,CACjE,MAAM,EACN,IAAI,CAAC,WAAW,CACjB;AACD,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc;AACpC,QAAA,IAAI,CAAC,kBAAkB,GAAG,kBAAkB;QAE5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,mBAAmB,CAAC;QAChE,IAAI,CAAC,cAAc,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC;AAC3D,QAAA,IAAI,CAAC,0BAA0B,GAAG,CAAC,IAAI,CAAC,kBAAkB;AAC1D,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC;YACrE,IAAI,oBAAoB,EAAE;AACxB,gBAAA,IAAI,CAAC,WAAW,GAAG,oBAAoB;AACvC,gBAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI;YACxC;QACF;;AAGA,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE;AACxB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE;AAClC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE;AAChC,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC1B,QAAA,IAAI,CAAC,yBAAyB,GAAG,gBAAgB,CAAC,UAAU;IAC9D;IAEA,MAAM,iBAAiB,CAAC,IAAoB,EAAA;QAC1C,IAAI,CAAC,oBAAoB,EAAE;AAC3B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gCAAgC,EAAE;AAC7D,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB;QACF;;AAGA,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY;;QAGrC,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;;;;;;;AAQpD,QAAA,MAAM,SAAS,GAAG,gBAAgB,CAChC,gBAAgB,EAChB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,uBAAuB,CAC7B;QACD,MAAM,gBAAgB,GAAG,4BAA4B,CACnD,gBAAgB,EAChB,SAAS,EACT,IAAI,CAAC,YAAY,EACjB,MACE,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAClE,uBAAuB,EAAE,IAAI,CAAC,YAAY;AAC3C,SAAA,CAAC,CACL;AACD,QAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;AACjC,QAAA,IAAI,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,UAAU;AACtD,QAAA,IAAI,CAAC,yBAAyB,GAAG,gBAAgB,CAAC,gBAAgB;;QAGlE,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC;;;;;;;;;;;AAY9D,QAAA,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,iBAAiB;;;AAG3D,QAAA,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;cACrC,IAAI,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE;cAC/C,SAAS;AACb,QAAA,IAAI,CAAC,uBAAuB;AAC1B,YAAA,IAAI,CAAC,4BAA4B,IAAI,IAAI,IAAI,EAAE;AACjD,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC;YACxC,OAAO,EAAE,IAAI,CAAC,gBAAgB;AAC9B,YAAA,MAAM,EAAE,cAAc;YACtB,UAAU,EAAE,gBAAgB,CAAC,UAAU;AACvC,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA,CAAC;;;;AAKF,QAAA,MAAM,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAC1D,gBAAgB,CAAC,iBAAiB,EAClC,SAAS,CACV;AAED,QAAA,MAAM,oBAAoB,GAA8C;YACtE,uBAAuB,EAAE,IAAI,CAAC,YAAY;YAC1C,0BAA0B,EAAE,IAAI,CAAC,iBAAiB;SACnD;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;;AAE5B,YAAA,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB;YACzD,IAAI,YAAY,EAAE;AAChB,gBAAA,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU;;gBAErC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7C,gBAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS;AAEhE,gBAAA,IAAI,MAAM,IAAI,SAAS,EAAE;AACvB,oBAAA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B;oBACvD,MAAM,UAAU,GAAG,CAAA,eAAA,EAAkB,MAAM,IAAI,SAAS,CAAA,UAAA,EAAa,YAAY,CAAA,EAAG,OAAO,GAAG,GAAG,GAAG,OAAO,GAAG,EAAE,CAAA,CAAE;AAClH,oBAAA,oBAAoB,CAAC,mBAAmB,CAAC,GAAG,UAAU;gBACxD;qBAAO;AACL,oBAAA,oBAAoB,CAAC,mBAAmB,CAAC,GAAG,YAAY;gBAC1D;YACF;;AAGA,YAAA,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B;YAC9D,IAAI,UAAU,EAAE;gBACd,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;AACvC,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAClB,oBAAA,oBAAoB,CAAC,iBAAiB,CAAC,GAAG,MAAM;gBAClD;YACF;QACF;QAEA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAClC,YAAY,EACZ;YACE,IAAI,EAAE,QAAQ,CAAC,QAAQ;AACvB,YAAA,UAAU,EAAE,oBAAoB;SACjC,EACD,uBAAuB,CACxB;AACD,QAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC;;;;QAKzE,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,4BAA4B,EAAE;YAC5D,IAAI,CAAC,mBAAmB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC;QACpE;IACF;AAEA,IAAA,0BAA0B,CACxB,KAAuB,EAAA;QAEvB,IACE,CAAC,IAAI,CAAC,cAAc;YACpB,CAAC,IAAI,CAAC,cAAc;YACpB,CAAC,IAAI,CAAC,YAAY;YAClB,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,EAC5D;AACA,YAAA,OAAO,SAAS;QAClB;AACA,QAAA,OAAO,yBAAyB,CAC9B,KAAK,EACL,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,mBAAmB,CACzB;IACH;IAEA,cAAc,CACZ,KAAqB,EACrB,EAAmD,EAAA;QAEnD,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAC9C,OAAO,EAAE,EAAE;QACb;QACA,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;IAC7E;IAEA,MAAM,eAAe,CAAC,IAAuB,EAAA;AAC3C,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,CAAC,oBAAoB,EAAE;YAC3B;QACF;QAEA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE;;;;AAKpD,QAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;;AAEnC,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,YAAY,CAC9B,2BAA2B,EAC3B,IAAI,CAAC,MAAM,CACZ;;;;;;;AAQD,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;AAC5B,gBAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;oBAC5B,IAAI,EAAE,cAAc,CAAC,KAAK;AAC1B,oBAAA,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,IAAI,kBAAkB;AAC5D,iBAAA,CAAC;YACJ;AAAO,iBAAA,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;AACnE,gBAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC;YAC5D;;AAGA,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;QAC3B;;;;;;;;;AAUA,QAAA,IACE,IAAI,CAAC,yBAAyB,KAAK,gBAAgB,CAAC,kBAAkB;AACtE,YAAA,IAAI,CAAC,iBAAiB;AACtB,aAAC,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,EACzD;;;AAGA,YAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,EAAE;YAEpD,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC;AAC9D,YAAA,MAAM,wBAAwB,GAAG,KAAK,CAAC,cAAc,CACnD,YAAY,EACZ,IAAI,CAAC,iBAAiB,CACvB;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAC3C,EAAE,MAAM,EAAE,cAAc,EAAE,EAC1B,MACE,IAAI,CAAC,SAAS,CACZ,IAAI,CAAC,gBAAgB,EACrB;gBACE,IAAI,EAAE,QAAQ,CAAC,QAAQ;AACvB,gBAAA,UAAU,EAAE;oBACV,uBAAuB,EAAE,IAAI,CAAC,YAAY;AAC3C,iBAAA;AACD,gBAAA,SAAS,EAAE,IAAI,CAAC,uBAAuB,IAAI,IAAI,IAAI,EAAE;aACtD,EACD,wBAAwB,CACzB,CACJ;YACD,YAAY,CAAC,YAAY,CAAC,0BAA0B,EAAE,IAAI,CAAC,MAAM,CAAC;AAClE,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;gBAC5B,YAAY,CAAC,SAAS,CAAC;oBACrB,IAAI,EAAE,cAAc,CAAC,KAAK;AAC1B,oBAAA,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,IAAI,kBAAkB;AAC5D,iBAAA,CAAC;YACJ;iBAAO;gBACL,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC;YACrD;YACA,YAAY,CAAC,GAAG,EAAE;AAClB,YAAA,iBAAiB,EAAE,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC;QAC3D;;;;;;QAOA,IAAI,CAAC,mBAAmB,EAAE;;;QAI1B,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB;AACjE,QAAA,MAAM,KAAK,GAAG,YAAW;AACvB,YAAA,IAAI;gBACF,MAAM,mBAAmB,CACvB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAC/C;YACH;YAAE,OAAO,CAAC,EAAE;AACV,gBAAA,OAAO,CAAC,KAAK,CACX,0CAA0C,EAC1C,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CACnC;YACH;AACF,QAAA,CAAC;AACD,QAAA,GAAG;AACD,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;AACnC,YAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK;YACpC,MAAM,KAAK,EAAE;QACf,CAAC,QACC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACjD,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CACxD;AACD,YAAA,WAAW,CAAC,GAAG,EAAE,GAAG,aAAa;;;QAKnC,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE;AAC7C,YAAA,IAAI,CAAC,wBAAwB,CAC3B,IAAI,EACJ,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAC9C,IAAI,CACL;QACH;;QAGA,IAAI,CAAC,mBAAmB,EAAE;;;AAI1B,QAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB;QACzD,IAAI,CAAC,oBAAoB,EAAE;QAC3B,IAAI,oBAAoB,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,aAAa,EAAE;YAC7D,MAAM,KAAK,EAAE;QACf;IACF;AAEQ,IAAA,wBAAwB,CAC9B,IAAuB,EACvB,UAAA,GAAsC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,EAC/E,UAAU,GAAG,KAAK,EAAA;AAElB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;AACxE,QAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;;;YAGlC,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC;YAC1D,IAAI,UAAU,IAAI,CAAC,UAAU;gBAAE;AAC/B,YAAA,MAAM,cAAc,GAClB,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;;;YAGvE,MAAM,QAAQ,GACZ,CAAC,cAAc;AACf,iBAAC,CAAC,QAAQ,IAAI,UAAU;oBACtB,IAAI,CAAC,kBAAkB,CACrB,SAAS,CAAC,QAAQ,EAClB,IAAI,CAAC,uBAAuB,CAC7B;AACD,kBAAE;AACF,kBAAE,SAAS,CAAC,QAAQ;AACxB,YAAA,IAAI,CAAC,eAAe,CAAC,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACnE;IACF;AAEQ,IAAA,uBAAuB,CAAC,SAAwB,EAAA;AACtD,QAAA,QACE,SAAS,CAAC,QAAQ,KAAK,SAAS;YAChC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC9C,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;IAEpD;;IAGQ,mBAAmB,GAAA;QACzB,IACE,IAAI,CAAC,yBAAyB;AAC9B,YAAA,IAAI,CAAC,yBAAyB,KAAK,gBAAgB,CAAC,kBAAkB;YACtE,CAAC,IAAI,CAAC,iBAAiB;AACvB,YAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAC/B;AACA,YAAA,OAAO,SAAS;QAClB;AAEA,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CACnC;YACE,OAAO,EAAE,IAAI,CAAC,gBAAgB;AAC9B,YAAA,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM;SACtC,EACD,MACE,IAAI,CAAC,SAAS,CACZ,sBAAsB,EACtB;YACE,IAAI,EAAE,QAAQ,CAAC,QAAQ;AACvB,YAAA,UAAU,EAAE;AACV,gBAAA,kCAAkC,EAAE,IAAI;gBACxC,uBAAuB,EAAE,IAAI,CAAC,YAAY;AAC3C,aAAA;YACD,SAAS,EACP,IAAI,CAAC,4BAA4B;AACjC,gBAAA,IAAI,CAAC,uBAAuB;AAC5B,gBAAA,IAAI,IAAI,EAAE;SACb,EACD,YAAY,CACb,CACJ;AACD,QAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI;AACrC,QAAA,OAAO,IAAI;IACb;IAEQ,gCAAgC,GAAA;QACtC,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,0BAA0B,EAAE;AAC/D,YAAA,OAAO,IAAI;QACb;;;;AAKA,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,iBAAiB,EAAE;AAC/C,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC;QAE3D,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC;QACrE,IAAI,oBAAoB,EAAE;AACxB,YAAA,IAAI,CAAC,WAAW,GAAG,oBAAoB;AACvC,YAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI;AACtC,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,CAAC,IAAI,CACV,0MAA0M,CAC3M;AACD,QAAA,OAAO,KAAK;IACd;IAEQ,mBAAmB,GAAA;QACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;YACxC,IAAI,IAAI,CAAC,WAAW,EAAE;AAAE,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;QACrD;IACF;IAEQ,gBAAgB,CACtB,IAAU,EACV,OAAoC,EAAA;AAEpC,QAAA,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;AACjB,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI;IACrC;IAEQ,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE;AAChC,QAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK;AACpC,QAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE;AAC/B,QAAA,IAAI,CAAC,uBAAuB,GAAG,SAAS;AACxC,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACpB,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;AAC9B,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AAC5B,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS;AAC7B,QAAA,IAAI,CAAC,cAAc,GAAG,SAAS;AAC/B,QAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS;AAClC,QAAA,IAAI,CAAC,uBAAuB,GAAG,SAAS;AACxC,QAAA,IAAI,CAAC,4BAA4B,GAAG,SAAS;AAC7C,QAAA,IAAI,CAAC,yBAAyB,GAAG,KAAK;AACtC,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC1B,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC;AAC5B,QAAA,IAAI,CAAC,yBAAyB,GAAG,gBAAgB,CAAC,UAAU;AAC5D,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;IAC7B;AAEQ,IAAA,SAAS,CACf,IAAY,EACZ,OAA2C,EAC3C,aAAiD,EAAA;AAEjD,QAAA,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC;QACpE,OAAO,IAAI,CAAC;AACV,cAAE,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE;cACnE,EAAE,EAAE;IACV;AAEA;;;;AAIG;IACK,uBAAuB,CAC7B,iBAA8B,EAC9B,SAAiB,EAAA;AAEjB,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC;;;;;;;;;QASnD,IACE,iBAAiB,CAAC,QAAQ;YAC1B,OAAO;YACP,kBAAkB,CAAC,OAAO,CAAC;YAC3B,OAAO,CAAC,OAAO,KAAK,SAAS;AAC7B,YAAA,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO;iBACrC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,EACrD;AACA,YAAA,OAAO,aAAa;QACtB;QACA,OAAO,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,iBAAiB,CAAC;IAC9D;AAEA;;;;;AAKG;IACK,oBAAoB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;QACzD;AACA,QAAA,OAAO,EAAE;IACX;IAEA,MAAM,gBAAgB,CAAC,IAAmB,EAAA;AACxC,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB;QACF;;;AAIA,QAAA,MAAM,mBAAmB,GAAG,2BAA2B,CACrD,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,YAAY,CAClB;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;YAClC,OAAO,EAAE,IAAI,CAAC,gBAAgB;AAC9B,YAAA,MAAM,EAAE,mBAAmB;YAC3B,UAAU,EAAE,IAAI,CAAC,mBAAmB;AACpC,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA,CAAC;;;;;AAMF,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,IAAI,EAAE;QACvD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;AAChC,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,aAAa,EAAE,IAAI;AACtC,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,aAAa,EAAE,OAAO;YAC/C,cAAc,EAAE,IAAI,CAAC,aAAa,CAChC,aAAa,EAAE,cAAc,EAC7B,aAAa,CACd;AACF,SAAA,CAAC;IACJ;IAEA,kBAAkB,CAAC,IAAmB,EAAE,EAAiB,EAAA;AACvD,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO,EAAE,EAAE;QACb;;AAGA,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,gBAAgB,EAAE;YACrB,OAAO,EAAE,EAAE;QACb;AACA,QAAA,OAAO,OAAO,CAAC,IAAI,CACjB,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,EACxD,EAAE,CACH;IACH;IAEA,MAAM,cAAc,CAAC,IAAsB,EAAA;AACzC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;IAC5B;;;AAIQ,IAAA,eAAe,CAAC,IAAsB,EAAA;AAC5C,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB;QACF;;;QAIA,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC7C,YAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;gBAC7D,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,EAAE;AAC9B,oBAAA,IAAI,CAAC,eAAe,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACrD;YACF;QACF;;AAGA,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;;;;QAKpC,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC7C;QACF;;QAGA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,IAAI;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,OAAO;AAEhD,QAAA,MAAM,QAAQ,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI;QAClC,MAAM,aAAa,GAAG,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC;AAEvE,QAAA,MAAM,UAAU,GAAoC;YAClD,uBAAuB,EAAE,IAAI,CAAC,YAAY;YAC1C,sBAAsB,EAAE,IAAI,CAAC,EAAE;YAC/B,wBAAwB,EAAE,IAAI,CAAC,IAAI;SACpC;QACD,IAAI,IAAI,EAAE;AACR,YAAA,UAAU,CAAC,wBAAwB,CAAC,GAAG,IAAI;QAC7C;QACA,IAAI,OAAO,EAAE;AACX,YAAA,UAAU,CAAC,2BAA2B,CAAC,GAAG,OAAO;QACnD;AACA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,UAAU,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,MAAM;QACtD;;QAEA,IACE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,oBAAoB;AACzD,YAAA,IAAI,CAAC,OAAO,IAAI,IAAI,EACpB;AACA,YAAA,UAAU,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,OAAO;QACrD;AAEA,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAE;;;;AAKzC,QAAA,MAAM,SAAS,GACb,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC;YAChE,IAAI,CAAC,YAAY;AAEnB,QAAA,MAAM,eAAe,GAAG,2BAA2B,CACjD,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,YAAY,CAClB;AACD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CACnC;YACE,OAAO,EAAE,IAAI,CAAC,gBAAgB;AAC9B,YAAA,MAAM,EAAE,eAAe;SACxB,EACD,MACE,IAAI,CAAC,SAAS,CACZ,QAAQ,EACR,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,EAChC,aAAa,CACd,CACJ;;;AAID,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY;AACjC,QAAA,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC;AAClC,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;QAC3C;AAEA,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE;AACrE,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC;AACpC,QAAA,IAAI,eAAe;YAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AACzD,QAAA,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC;IAC7C;AAEA;;;;;;;AAOG;AACK,IAAA,6BAA6B,CAAC,QAA4B,EAAA;QAChE,IAAI,QAAQ,EAAE;YACZ,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI;gBAC5D,OAAO,EAAE,IAAI,CAAC,gBAAgB;gBAC9B,MAAM,EAAE,2BAA2B,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;gBAChE,UAAU,EAAE,IAAI,CAAC,mBAAmB;AACpC,gBAAA,QAAQ,EAAE,KAAK;aAChB;YACD,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC;QAC9D;QACA,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE;QACxD,IAAI,eAAe,EAAE;YACnB,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC;QAChE;AACA,QAAA,OAAO,OAAO,CAAC,MAAM,EAAE;IACzB;AAEQ,IAAA,kBAAkB,CACxB,QAA4B,EAC5B,UAAA,GAA4C,EAAE,EAAA;AAE9C,QAAA,MAAM,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,SAAS;AAC1D,QAAA,IACE,MAAM,EAAE,IAAI,KAAK,SAAS;AAC1B,YAAA,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;AAE9D,YAAA,OAAO,KAAK;;;;QAKd,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACpC,QAAA,IAAI,UAAU,GAAG,MAAM,CAAC,QAAQ;QAChC,OAAO,UAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AAC7C,YAAA,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;AACvB,YAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC;AACvC,YAAA,IAAI,QAAQ,EAAE,IAAI,KAAK,SAAS;AAAE,gBAAA,OAAO,KAAK;AAC9C,YAAA,IACE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CACnE,QAAQ,CAAC,MAAM,IAAI,EAAE,CACtB;AAED,gBAAA,OAAO,IAAI;AACb,YAAA,UAAU,GAAG,QAAQ,CAAC,QAAQ;QAChC;AACA,QAAA,OAAO,KAAK;IACd;IAEQ,aAAa,CACnB,CAAmB,EACnB,CAAmB,EAAA;QAEnB,IAAI,CAAC,CAAC,EAAE;AACN,YAAA,OAAO,CAAC;QACV;QACA,IAAI,CAAC,CAAC,EAAE;AACN,YAAA,OAAO,CAAC;QACV;AACA,QAAA,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC;IAC3C;IAEQ,aAAa,CAAC,EAAU,EAAE,OAAe,EAAA;AAC/C,QAAA,OAAO,CAAA,EAAG,EAAE,CAAA,SAAA,EAAY,OAAO,EAAE;IACnC;IAEA,MAAM,uBAAuB,CAAC,IAAiB,EAAA;AAC7C,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB;QACF;QAEA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI;QACvC,MAAM,QAAQ,GAAG,CAAA,EAAG,QAAQ,YAAY,IAAI,CAAC,OAAO,CAAA,CAAE;;QAGtD,MAAM,aAAa,GAAG,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;AAEjE,QAAA,MAAM,UAAU,GAAoC;YAClD,uBAAuB,EAAE,IAAI,CAAC,YAAY;YAC1C,sBAAsB,EAAE,IAAI,CAAC,EAAE;YAC/B,wBAAwB,EAAE,IAAI,CAAC,IAAI;YACnC,wBAAwB,EAAE,IAAI,CAAC,OAAO;SACvC;AACD,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,UAAU,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,IAAI;QAClD;AACA,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,UAAU,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC,OAAO;QACxD;AAEA,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAE;AAEzC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAChC,QAAQ,EACR;YACE,UAAU;YACV,SAAS,EAAE,IAAI,CAAC,cAAc;YAC9B,KAAK;SACN,EACD,aAAa,CACd;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC1E;IAEA,sBAAsB,CAAC,IAAiB,EAAE,EAAiB,EAAA;AACzD,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO,EAAE,EAAE;QACb;QAEA,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAClC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAC1C;QACD,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,EAAE,EAAE;QACb;AACA,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;IACvE;IAEA,MAAM,qBAAqB,CAAC,IAAoB,EAAA;AAC9C,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB;QACF;AAEA,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;QACzC,IAAI,WAAW,EAAE;AACf,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY;YACjC,WAAW,CAAC,YAAY,CAAC,yBAAyB,EAAE,IAAI,CAAC,OAAO,CAAC;AACjE,YAAA,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;gBAC7B,WAAW,CAAC,SAAS,CAAC;oBACpB,IAAI,EAAE,cAAc,CAAC,KAAK;AAC1B,oBAAA,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,gBAAgB;AACjD,iBAAA,CAAC;AACF,gBAAA,IAAI,IAAI,CAAC,KAAK,EAAE;oBACd,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;gBAClD;YACF;iBAAO;;gBAEL,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC;YACpD;AACA,YAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC;AAC3C,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;QAC1B;IACF;IAEA,MAAM,iBAAiB,CAAC,IAAyB,EAAA;AAC/C,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;;;YAGvB,IAAI,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,UAAU,EAAE;AACnD,gBAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,UAAU;YAChD;AACA,YAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC;QAC3E;IACF;IAEA,gBAAgB,GAAA;QACd,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AAC9C,YAAA,OAAO,SAAS;QAClB;QACA,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,SAAS;QAClB;AACA,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;QACtC,OAAO;YACL,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,gBAAgB,EAAE,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC;SACrD;IACH;;;"}
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  export { E as ExecutionOtelPlugin } from './execution-plugin.mjs';
2
2
  export { I as InvocationOtelPlugin } from './invocation-plugin.mjs';
3
- export { D as DeterministicIdGenerator, d as deriveExecutionRootSpanId, a as deriveExecutionTraceId, b as deriveSpanIdFromOperationId, c as deriveTraceIdFromArn, e as deriveTraceIdFromXRayRoot, f as deriveWorkflowSpanId, w as w3cClientContextExtractor, x as xRayContextExtractor } from './global-id-generator.mjs';
3
+ export { D as DeterministicIdGenerator, d as deriveExecutionRootSpanId, a as deriveExecutionTraceId, b as deriveSpanIdFromOperationId, c as deriveTraceIdFromArn, e as deriveTraceIdFromXRayRoot, f as deriveWorkflowSpanId, w as w3cClientContextExtractor, x as xRayContextExtractor } from './plugin-registration.mjs';
4
4
  import '@opentelemetry/api';
5
5
  import '@opentelemetry/sdk-trace-node';
6
6
  import '@opentelemetry/core';