/** Token-only OpenTelemetry spans for capability admission, execution, compensation, and reconciliation. */ import type { EffectLifecycleObserver } from "@nifrajs/core/effect-lifecycle"; import type { IdentityPlugin } from "@nifrajs/core/server"; import type { ObservationAdapter } from "./span.js"; export interface EffectTracingOptions { readonly exporter?: ObservationAdapter; readonly adapters?: readonly ObservationAdapter[]; /** Maximum unmatched started events retained at once. Default 10,000. */ readonly maxActive?: number; /** Opportunistically expire unmatched events older than this many milliseconds. Default 5 min. */ readonly maxActiveAgeMs?: number; /** Injectable wall clock for deterministic retention tests. */ readonly now?: () => number; } export interface EffectTracingPlugin extends IdentityPlugin { /** Pass the same observer to `createSagaEngine({ observer })` and reconciliation helpers. */ readonly observer: EffectLifecycleObserver; } /** * Installs child effect spans on subsequent routes. The observer consumes only the constrained * `EffectLifecycleEvent` contract; request/business payloads and error text cannot enter an export. */ export declare function effectTracing(options?: EffectTracingOptions): EffectTracingPlugin; //# sourceMappingURL=effects.d.ts.map