OpenInference JS
    Preparing search index...
    • Experimental

      Wraps a function with tracing capabilities, specifically marking it as a DECISION span.

      This is a convenience function that wraps withSpan with the OpenInference span kind pre-configured to DECISION. Decision spans represent calls to a decision model that scores or selects among candidate options provided in the request rather than generating free-form text, such as choosing a route, judging a condition, or scoring an item against a rubric.

      This API is experimental and may change in future versions

      Type Parameters

      • Fn extends AnyFn

        The function type being wrapped, preserving original signature

      Parameters

      • fn: Fn

        The function to wrap with DECISION span tracing

      • Optionaloptions: Omit<SpanTraceOptions<AnyFn>, "kind">

        Configuration options for tracing behavior (excluding kind)

        • tracer

          Custom OpenTelemetry tracer instance (otherwise the current global tracer provider is resolved when the wrapper is invoked)

        • name

          Custom span name (defaults to function name)

        • openTelemetrySpanKind

          OpenTelemetry span kind (defaults to INTERNAL)

        • processInput

          Custom function to process input arguments into attributes

        • processOutput

          Custom function to process output values into attributes

        • attributes

          Base attributes to be added to every span created

      Returns Fn

      A wrapped function with identical signature that creates DECISION spans during execution

      // Trace a route selection decision
      const selectRoute = async (query: string, routes: Route[]) => {
      return await decisionModel.choose({ query, candidates: routes });
      };
      const tracedDecision = traceDecision(selectRoute, { name: "route-selection" });