Skip to content

Class: PrefactorMiddleware

Prefactor TypeScript SDK


Prefactor TypeScript SDK / @prefactor/packages/langchain / PrefactorMiddleware

Defined in: packages/langchain/src/middleware.ts:40

Prefactor middleware for LangChain.js agents.

This middleware automatically traces LLM calls, tool executions, and agent workflows. It integrates with LangChain.js middleware API to provide transparent instrumentation.

Features:

  • Automatic parent-child span relationships via context propagation
  • Token usage extraction for LLM calls
  • Error tracking and debugging
  • Zero-overhead instrumentation (graceful failure)
import { init } from '@prefactor/langchain';
import { createReactAgent } from '@langchain/langgraph/prebuilt';
const middleware = init();
const agent = createReactAgent({
llm: model,
tools: [myTool],
middleware: [middleware],
});

new PrefactorMiddleware(tracer, agentManager, agentInfo?): PrefactorMiddleware

Defined in: packages/langchain/src/middleware.ts:43

Tracer

AgentInstanceManager

AgentInstanceOptions

PrefactorMiddleware

beforeAgent(_state): Promise<void>

Defined in: packages/langchain/src/middleware.ts:55

Called before agent execution starts

any

Promise<void>


afterAgent(state): Promise<void>

Defined in: packages/langchain/src/middleware.ts:65

Called after agent execution completes

any

Agent state containing messages

Promise<void>


shutdown(): void

Defined in: packages/langchain/src/middleware.ts:70

void


wrapModelCall<T>(request, handler): Promise<T>

Defined in: packages/langchain/src/middleware.ts:82

Wrap a model call to trace LLM invocations

T

any

Model invocation request

(req) => Promise<T>

The actual model call function

Promise<T>

Promise resolving to the model response


wrapToolCall<T>(request, handler): Promise<T>

Defined in: packages/langchain/src/middleware.ts:117

Wrap a tool call to trace tool executions

T

any

Tool invocation request

(req) => Promise<T>

The actual tool call function

Promise<T>

Promise resolving to the tool response