{"version":3,"file":"event_stream.d.cts","names":["BaseTracer","Run","BaseCallbackHandler","BaseCallbackHandlerInput","CallbackHandlerPrefersStreaming","IterableReadableStream","StreamEventData","StreamEvent","Record","RunInfo","EventStreamCallbackHandlerInput","isStreamEventsHandler","EventStreamCallbackHandler","TransformStream","WritableStreamDefaultWriter","Symbol","asyncIterator","Promise","T","AsyncGenerator"],"sources":["../../src/tracers/event_stream.d.ts"],"sourcesContent":["import { BaseTracer, type Run } from \"./base.js\";\nimport { BaseCallbackHandler, BaseCallbackHandlerInput, CallbackHandlerPrefersStreaming } from \"../callbacks/base.js\";\nimport { IterableReadableStream } from \"../utils/stream.js\";\n/**\n * Data associated with a StreamEvent.\n */\nexport type StreamEventData = {\n    /**\n     * The input passed to the runnable that generated the event.\n     * Inputs will sometimes be available at the *START* of the runnable, and\n     * sometimes at the *END* of the runnable.\n     * If a runnable is able to stream its inputs, then its input by definition\n     * won't be known until the *END* of the runnable when it has finished streaming\n     * its inputs.\n     */\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    input?: any;\n    /**\n     * The output of the runnable that generated the event.\n     * Outputs will only be available at the *END* of the runnable.\n     * For most runnables, this field can be inferred from the `chunk` field,\n     * though there might be some exceptions for special cased runnables (e.g., like\n     * chat models), which may return more information.\n     */\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    output?: any;\n    /**\n     * A streaming chunk from the output that generated the event.\n     * chunks support addition in general, and adding them up should result\n     * in the output of the runnable that generated the event.\n     */\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    chunk?: any;\n};\n/**\n * A streaming event.\n *\n * Schema of a streaming event which is produced from the streamEvents method.\n */\nexport type StreamEvent = {\n    /**\n     * Event names are of the format: on_[runnable_type]_(start|stream|end).\n     *\n     * Runnable types are one of:\n     * - llm - used by non chat models\n     * - chat_model - used by chat models\n     * - prompt --  e.g., ChatPromptTemplate\n     * - tool -- LangChain tools\n     * - chain - most Runnables are of this type\n     *\n     * Further, the events are categorized as one of:\n     * - start - when the runnable starts\n     * - stream - when the runnable is streaming\n     * - end - when the runnable ends\n     *\n     * start, stream and end are associated with slightly different `data` payload.\n     *\n     * Please see the documentation for `EventData` for more details.\n     */\n    event: string;\n    /** The name of the runnable that generated the event. */\n    name: string;\n    /**\n     * An randomly generated ID to keep track of the execution of the given runnable.\n     *\n     * Each child runnable that gets invoked as part of the execution of a parent runnable\n     * is assigned its own unique ID.\n     */\n    run_id: string;\n    /**\n     * Tags associated with the runnable that generated this event.\n     * Tags are always inherited from parent runnables.\n     */\n    tags?: string[];\n    /** Metadata associated with the runnable that generated this event. */\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    metadata: Record<string, any>;\n    /**\n     * Event data.\n     *\n     * The contents of the event data depend on the event type.\n     */\n    data: StreamEventData;\n};\ntype RunInfo = {\n    name: string;\n    tags: string[];\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    metadata: Record<string, any>;\n    runType: string;\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    inputs?: Record<string, any>;\n};\nexport interface EventStreamCallbackHandlerInput extends BaseCallbackHandlerInput {\n    autoClose?: boolean;\n    includeNames?: string[];\n    includeTypes?: string[];\n    includeTags?: string[];\n    excludeNames?: string[];\n    excludeTypes?: string[];\n    excludeTags?: string[];\n}\nexport declare const isStreamEventsHandler: (handler: BaseCallbackHandler) => handler is EventStreamCallbackHandler;\n/**\n * Class that extends the `BaseTracer` class from the\n * `langchain.callbacks.tracers.base` module. It represents a callback\n * handler that logs the execution of runs and emits `RunLog` instances to a\n * `RunLogStream`.\n */\nexport declare class EventStreamCallbackHandler extends BaseTracer implements CallbackHandlerPrefersStreaming {\n    protected autoClose: boolean;\n    protected includeNames?: string[];\n    protected includeTypes?: string[];\n    protected includeTags?: string[];\n    protected excludeNames?: string[];\n    protected excludeTypes?: string[];\n    protected excludeTags?: string[];\n    private runInfoMap;\n    private tappedPromises;\n    protected transformStream: TransformStream;\n    writer: WritableStreamDefaultWriter;\n    receiveStream: IterableReadableStream<StreamEvent>;\n    name: string;\n    lc_prefer_streaming: boolean;\n    constructor(fields?: EventStreamCallbackHandlerInput);\n    [Symbol.asyncIterator](): IterableReadableStream<StreamEvent>;\n    protected persistRun(_run: Run): Promise<void>;\n    _includeRun(run: RunInfo): boolean;\n    tapOutputIterable<T>(runId: string, outputStream: AsyncGenerator<T>): AsyncGenerator<T>;\n    send(payload: StreamEvent, run: RunInfo): Promise<void>;\n    sendEndEvent(payload: StreamEvent, run: RunInfo): Promise<void>;\n    onLLMStart(run: Run): Promise<void>;\n    onLLMNewToken(run: Run, token: string, \n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    kwargs?: {\n        chunk: any;\n    }): Promise<void>;\n    onLLMEnd(run: Run): Promise<void>;\n    onChainStart(run: Run): Promise<void>;\n    onChainEnd(run: Run): Promise<void>;\n    onToolStart(run: Run): Promise<void>;\n    onToolEnd(run: Run): Promise<void>;\n    onRetrieverStart(run: Run): Promise<void>;\n    onRetrieverEnd(run: Run): Promise<void>;\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    handleCustomEvent(eventName: string, data: any, runId: string): Promise<void>;\n    finish(): Promise<void>;\n}\nexport {};\n"],"mappings":";;;;AAMA;AAiCA;;AAqCcQ,KAtEFF,eAAAA,GAsEEE;EAAM;AAMK;AAWzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAtDYD,WAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAqCEC;;;;;;QAMJF;;UAWOI,+BAAAA,SAAwCP"}