@langchain/core 0.3.23 → 0.3.24
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.
- package/dist/callbacks/base.cjs +5 -1
- package/dist/callbacks/base.d.ts +9 -0
- package/dist/callbacks/base.js +3 -0
- package/dist/callbacks/manager.cjs +17 -14
- package/dist/callbacks/manager.js +17 -14
- package/dist/language_models/chat_models.cjs +2 -5
- package/dist/language_models/chat_models.js +2 -5
- package/dist/language_models/llms.cjs +2 -5
- package/dist/language_models/llms.js +2 -5
- package/dist/tracers/event_stream.cjs +6 -0
- package/dist/tracers/event_stream.d.ts +3 -2
- package/dist/tracers/event_stream.js +6 -0
- package/dist/tracers/log_stream.cjs +6 -0
- package/dist/tracers/log_stream.d.ts +3 -2
- package/dist/tracers/log_stream.js +6 -0
- package/package.json +1 -1
package/dist/callbacks/base.cjs
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.isBaseCallbackHandler = exports.BaseCallbackHandler = void 0;
|
|
26
|
+
exports.isBaseCallbackHandler = exports.BaseCallbackHandler = exports.callbackHandlerPrefersStreaming = void 0;
|
|
27
27
|
const uuid = __importStar(require("uuid"));
|
|
28
28
|
const serializable_js_1 = require("../load/serializable.cjs");
|
|
29
29
|
const env_js_1 = require("../utils/env.cjs");
|
|
@@ -34,6 +34,10 @@ const env_js_1 = require("../utils/env.cjs");
|
|
|
34
34
|
*/
|
|
35
35
|
class BaseCallbackHandlerMethodsClass {
|
|
36
36
|
}
|
|
37
|
+
function callbackHandlerPrefersStreaming(x) {
|
|
38
|
+
return "lc_prefer_streaming" in x && x.lc_prefer_streaming;
|
|
39
|
+
}
|
|
40
|
+
exports.callbackHandlerPrefersStreaming = callbackHandlerPrefersStreaming;
|
|
37
41
|
/**
|
|
38
42
|
* Abstract base class for creating callback handlers in the LangChain
|
|
39
43
|
* framework. It provides a set of optional methods that can be overridden
|
package/dist/callbacks/base.d.ts
CHANGED
|
@@ -137,6 +137,15 @@ declare abstract class BaseCallbackHandlerMethodsClass {
|
|
|
137
137
|
* @interface
|
|
138
138
|
*/
|
|
139
139
|
export type CallbackHandlerMethods = BaseCallbackHandlerMethodsClass;
|
|
140
|
+
/**
|
|
141
|
+
* Interface for handlers that can indicate a preference for streaming responses.
|
|
142
|
+
* When implemented, this allows the handler to signal whether it prefers to receive
|
|
143
|
+
* streaming responses from language models rather than complete responses.
|
|
144
|
+
*/
|
|
145
|
+
export interface CallbackHandlerPrefersStreaming {
|
|
146
|
+
readonly lc_prefer_streaming: boolean;
|
|
147
|
+
}
|
|
148
|
+
export declare function callbackHandlerPrefersStreaming(x: BaseCallbackHandler): unknown;
|
|
140
149
|
/**
|
|
141
150
|
* Abstract base class for creating callback handlers in the LangChain
|
|
142
151
|
* framework. It provides a set of optional methods that can be overridden
|
package/dist/callbacks/base.js
CHANGED
|
@@ -8,6 +8,9 @@ import { getEnvironmentVariable } from "../utils/env.js";
|
|
|
8
8
|
*/
|
|
9
9
|
class BaseCallbackHandlerMethodsClass {
|
|
10
10
|
}
|
|
11
|
+
export function callbackHandlerPrefersStreaming(x) {
|
|
12
|
+
return "lc_prefer_streaming" in x && x.lc_prefer_streaming;
|
|
13
|
+
}
|
|
11
14
|
/**
|
|
12
15
|
* Abstract base class for creating callback handlers in the LangChain
|
|
13
16
|
* framework. It provides a set of optional methods that can be overridden
|
|
@@ -766,18 +766,6 @@ class CallbackManager extends BaseCallbackManager {
|
|
|
766
766
|
}
|
|
767
767
|
}
|
|
768
768
|
}
|
|
769
|
-
if (inheritableTags || localTags) {
|
|
770
|
-
if (callbackManager) {
|
|
771
|
-
callbackManager.addTags(inheritableTags ?? []);
|
|
772
|
-
callbackManager.addTags(localTags ?? [], false);
|
|
773
|
-
}
|
|
774
|
-
}
|
|
775
|
-
if (inheritableMetadata || localMetadata) {
|
|
776
|
-
if (callbackManager) {
|
|
777
|
-
callbackManager.addMetadata(inheritableMetadata ?? {});
|
|
778
|
-
callbackManager.addMetadata(localMetadata ?? {}, false);
|
|
779
|
-
}
|
|
780
|
-
}
|
|
781
769
|
for (const { contextVar, inheritable = true, handlerClass, envVar, } of (0, context_js_1._getConfigureHooks)()) {
|
|
782
770
|
const createIfNotInContext = envVar && (0, env_js_1.getEnvironmentVariable)(envVar) === "true" && handlerClass;
|
|
783
771
|
let handler;
|
|
@@ -790,11 +778,26 @@ class CallbackManager extends BaseCallbackManager {
|
|
|
790
778
|
handler = new handlerClass({});
|
|
791
779
|
}
|
|
792
780
|
if (handler !== undefined) {
|
|
793
|
-
if (!callbackManager
|
|
794
|
-
callbackManager
|
|
781
|
+
if (!callbackManager) {
|
|
782
|
+
callbackManager = new CallbackManager();
|
|
783
|
+
}
|
|
784
|
+
if (!callbackManager.handlers.some((h) => h.name === handler.name)) {
|
|
785
|
+
callbackManager.addHandler(handler, inheritable);
|
|
795
786
|
}
|
|
796
787
|
}
|
|
797
788
|
}
|
|
789
|
+
if (inheritableTags || localTags) {
|
|
790
|
+
if (callbackManager) {
|
|
791
|
+
callbackManager.addTags(inheritableTags ?? []);
|
|
792
|
+
callbackManager.addTags(localTags ?? [], false);
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
if (inheritableMetadata || localMetadata) {
|
|
796
|
+
if (callbackManager) {
|
|
797
|
+
callbackManager.addMetadata(inheritableMetadata ?? {});
|
|
798
|
+
callbackManager.addMetadata(localMetadata ?? {}, false);
|
|
799
|
+
}
|
|
800
|
+
}
|
|
798
801
|
return callbackManager;
|
|
799
802
|
}
|
|
800
803
|
}
|
|
@@ -756,18 +756,6 @@ export class CallbackManager extends BaseCallbackManager {
|
|
|
756
756
|
}
|
|
757
757
|
}
|
|
758
758
|
}
|
|
759
|
-
if (inheritableTags || localTags) {
|
|
760
|
-
if (callbackManager) {
|
|
761
|
-
callbackManager.addTags(inheritableTags ?? []);
|
|
762
|
-
callbackManager.addTags(localTags ?? [], false);
|
|
763
|
-
}
|
|
764
|
-
}
|
|
765
|
-
if (inheritableMetadata || localMetadata) {
|
|
766
|
-
if (callbackManager) {
|
|
767
|
-
callbackManager.addMetadata(inheritableMetadata ?? {});
|
|
768
|
-
callbackManager.addMetadata(localMetadata ?? {}, false);
|
|
769
|
-
}
|
|
770
|
-
}
|
|
771
759
|
for (const { contextVar, inheritable = true, handlerClass, envVar, } of _getConfigureHooks()) {
|
|
772
760
|
const createIfNotInContext = envVar && getEnvironmentVariable(envVar) === "true" && handlerClass;
|
|
773
761
|
let handler;
|
|
@@ -780,11 +768,26 @@ export class CallbackManager extends BaseCallbackManager {
|
|
|
780
768
|
handler = new handlerClass({});
|
|
781
769
|
}
|
|
782
770
|
if (handler !== undefined) {
|
|
783
|
-
if (!callbackManager
|
|
784
|
-
callbackManager
|
|
771
|
+
if (!callbackManager) {
|
|
772
|
+
callbackManager = new CallbackManager();
|
|
773
|
+
}
|
|
774
|
+
if (!callbackManager.handlers.some((h) => h.name === handler.name)) {
|
|
775
|
+
callbackManager.addHandler(handler, inheritable);
|
|
785
776
|
}
|
|
786
777
|
}
|
|
787
778
|
}
|
|
779
|
+
if (inheritableTags || localTags) {
|
|
780
|
+
if (callbackManager) {
|
|
781
|
+
callbackManager.addTags(inheritableTags ?? []);
|
|
782
|
+
callbackManager.addTags(localTags ?? [], false);
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
if (inheritableMetadata || localMetadata) {
|
|
786
|
+
if (callbackManager) {
|
|
787
|
+
callbackManager.addMetadata(inheritableMetadata ?? {});
|
|
788
|
+
callbackManager.addMetadata(localMetadata ?? {}, false);
|
|
789
|
+
}
|
|
790
|
+
}
|
|
788
791
|
return callbackManager;
|
|
789
792
|
}
|
|
790
793
|
}
|
|
@@ -7,11 +7,10 @@ const outputs_js_1 = require("../outputs.cjs");
|
|
|
7
7
|
const base_js_1 = require("./base.cjs");
|
|
8
8
|
const manager_js_1 = require("../callbacks/manager.cjs");
|
|
9
9
|
const base_js_2 = require("../runnables/base.cjs");
|
|
10
|
-
const event_stream_js_1 = require("../tracers/event_stream.cjs");
|
|
11
|
-
const log_stream_js_1 = require("../tracers/log_stream.cjs");
|
|
12
10
|
const stream_js_1 = require("../utils/stream.cjs");
|
|
13
11
|
const passthrough_js_1 = require("../runnables/passthrough.cjs");
|
|
14
12
|
const is_zod_schema_js_1 = require("../utils/types/is_zod_schema.cjs");
|
|
13
|
+
const base_js_3 = require("../callbacks/base.cjs");
|
|
15
14
|
/**
|
|
16
15
|
* Creates a transform stream for encoding chat message chunks.
|
|
17
16
|
* @deprecated Use {@link BytesOutputParser} instead
|
|
@@ -161,9 +160,7 @@ class BaseChatModel extends base_js_1.BaseLanguageModel {
|
|
|
161
160
|
// Even if stream is not explicitly called, check if model is implicitly
|
|
162
161
|
// called from streamEvents() or streamLog() to get all streamed events.
|
|
163
162
|
// Bail out if _streamResponseChunks not overridden
|
|
164
|
-
const hasStreamingHandler = !!runManagers?.[0].handlers.find(
|
|
165
|
-
return (0, event_stream_js_1.isStreamEventsHandler)(handler) || (0, log_stream_js_1.isLogStreamHandler)(handler);
|
|
166
|
-
});
|
|
163
|
+
const hasStreamingHandler = !!runManagers?.[0].handlers.find(base_js_3.callbackHandlerPrefersStreaming);
|
|
167
164
|
if (hasStreamingHandler &&
|
|
168
165
|
baseMessages.length === 1 &&
|
|
169
166
|
this._streamResponseChunks !==
|
|
@@ -4,11 +4,10 @@ import { RUN_KEY, } from "../outputs.js";
|
|
|
4
4
|
import { BaseLanguageModel, } from "./base.js";
|
|
5
5
|
import { CallbackManager, } from "../callbacks/manager.js";
|
|
6
6
|
import { RunnableLambda, RunnableSequence, } from "../runnables/base.js";
|
|
7
|
-
import { isStreamEventsHandler } from "../tracers/event_stream.js";
|
|
8
|
-
import { isLogStreamHandler } from "../tracers/log_stream.js";
|
|
9
7
|
import { concat } from "../utils/stream.js";
|
|
10
8
|
import { RunnablePassthrough } from "../runnables/passthrough.js";
|
|
11
9
|
import { isZodSchema } from "../utils/types/is_zod_schema.js";
|
|
10
|
+
import { callbackHandlerPrefersStreaming } from "../callbacks/base.js";
|
|
12
11
|
/**
|
|
13
12
|
* Creates a transform stream for encoding chat message chunks.
|
|
14
13
|
* @deprecated Use {@link BytesOutputParser} instead
|
|
@@ -157,9 +156,7 @@ export class BaseChatModel extends BaseLanguageModel {
|
|
|
157
156
|
// Even if stream is not explicitly called, check if model is implicitly
|
|
158
157
|
// called from streamEvents() or streamLog() to get all streamed events.
|
|
159
158
|
// Bail out if _streamResponseChunks not overridden
|
|
160
|
-
const hasStreamingHandler = !!runManagers?.[0].handlers.find(
|
|
161
|
-
return isStreamEventsHandler(handler) || isLogStreamHandler(handler);
|
|
162
|
-
});
|
|
159
|
+
const hasStreamingHandler = !!runManagers?.[0].handlers.find(callbackHandlerPrefersStreaming);
|
|
163
160
|
if (hasStreamingHandler &&
|
|
164
161
|
baseMessages.length === 1 &&
|
|
165
162
|
this._streamResponseChunks !==
|
|
@@ -5,9 +5,8 @@ const index_js_1 = require("../messages/index.cjs");
|
|
|
5
5
|
const outputs_js_1 = require("../outputs.cjs");
|
|
6
6
|
const manager_js_1 = require("../callbacks/manager.cjs");
|
|
7
7
|
const base_js_1 = require("./base.cjs");
|
|
8
|
-
const event_stream_js_1 = require("../tracers/event_stream.cjs");
|
|
9
|
-
const log_stream_js_1 = require("../tracers/log_stream.cjs");
|
|
10
8
|
const stream_js_1 = require("../utils/stream.cjs");
|
|
9
|
+
const base_js_2 = require("../callbacks/base.cjs");
|
|
11
10
|
/**
|
|
12
11
|
* LLM Wrapper. Takes in a prompt (or prompts) and returns a string.
|
|
13
12
|
*/
|
|
@@ -138,9 +137,7 @@ class BaseLLM extends base_js_1.BaseLanguageModel {
|
|
|
138
137
|
// Even if stream is not explicitly called, check if model is implicitly
|
|
139
138
|
// called from streamEvents() or streamLog() to get all streamed events.
|
|
140
139
|
// Bail out if _streamResponseChunks not overridden
|
|
141
|
-
const hasStreamingHandler = !!runManagers?.[0].handlers.find(
|
|
142
|
-
return (0, event_stream_js_1.isStreamEventsHandler)(handler) || (0, log_stream_js_1.isLogStreamHandler)(handler);
|
|
143
|
-
});
|
|
140
|
+
const hasStreamingHandler = !!runManagers?.[0].handlers.find(base_js_2.callbackHandlerPrefersStreaming);
|
|
144
141
|
let output;
|
|
145
142
|
if (hasStreamingHandler &&
|
|
146
143
|
prompts.length === 1 &&
|
|
@@ -2,9 +2,8 @@ import { AIMessage, getBufferString, } from "../messages/index.js";
|
|
|
2
2
|
import { RUN_KEY, GenerationChunk, } from "../outputs.js";
|
|
3
3
|
import { CallbackManager, } from "../callbacks/manager.js";
|
|
4
4
|
import { BaseLanguageModel, } from "./base.js";
|
|
5
|
-
import { isStreamEventsHandler } from "../tracers/event_stream.js";
|
|
6
|
-
import { isLogStreamHandler } from "../tracers/log_stream.js";
|
|
7
5
|
import { concat } from "../utils/stream.js";
|
|
6
|
+
import { callbackHandlerPrefersStreaming } from "../callbacks/base.js";
|
|
8
7
|
/**
|
|
9
8
|
* LLM Wrapper. Takes in a prompt (or prompts) and returns a string.
|
|
10
9
|
*/
|
|
@@ -135,9 +134,7 @@ export class BaseLLM extends BaseLanguageModel {
|
|
|
135
134
|
// Even if stream is not explicitly called, check if model is implicitly
|
|
136
135
|
// called from streamEvents() or streamLog() to get all streamed events.
|
|
137
136
|
// Bail out if _streamResponseChunks not overridden
|
|
138
|
-
const hasStreamingHandler = !!runManagers?.[0].handlers.find(
|
|
139
|
-
return isStreamEventsHandler(handler) || isLogStreamHandler(handler);
|
|
140
|
-
});
|
|
137
|
+
const hasStreamingHandler = !!runManagers?.[0].handlers.find(callbackHandlerPrefersStreaming);
|
|
141
138
|
let output;
|
|
142
139
|
if (hasStreamingHandler &&
|
|
143
140
|
prompts.length === 1 &&
|
|
@@ -106,6 +106,12 @@ class EventStreamCallbackHandler extends base_js_1.BaseTracer {
|
|
|
106
106
|
writable: true,
|
|
107
107
|
value: "event_stream_tracer"
|
|
108
108
|
});
|
|
109
|
+
Object.defineProperty(this, "lc_prefer_streaming", {
|
|
110
|
+
enumerable: true,
|
|
111
|
+
configurable: true,
|
|
112
|
+
writable: true,
|
|
113
|
+
value: true
|
|
114
|
+
});
|
|
109
115
|
this.autoClose = fields?.autoClose ?? true;
|
|
110
116
|
this.includeNames = fields?.includeNames;
|
|
111
117
|
this.includeTypes = fields?.includeTypes;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseTracer, type Run } from "./base.js";
|
|
2
|
-
import { BaseCallbackHandler, BaseCallbackHandlerInput } from "../callbacks/base.js";
|
|
2
|
+
import { BaseCallbackHandler, BaseCallbackHandlerInput, CallbackHandlerPrefersStreaming } from "../callbacks/base.js";
|
|
3
3
|
import { IterableReadableStream } from "../utils/stream.js";
|
|
4
4
|
/**
|
|
5
5
|
* Data associated with a StreamEvent.
|
|
@@ -101,7 +101,7 @@ export declare const isStreamEventsHandler: (handler: BaseCallbackHandler) => ha
|
|
|
101
101
|
* handler that logs the execution of runs and emits `RunLog` instances to a
|
|
102
102
|
* `RunLogStream`.
|
|
103
103
|
*/
|
|
104
|
-
export declare class EventStreamCallbackHandler extends BaseTracer {
|
|
104
|
+
export declare class EventStreamCallbackHandler extends BaseTracer implements CallbackHandlerPrefersStreaming {
|
|
105
105
|
protected autoClose: boolean;
|
|
106
106
|
protected includeNames?: string[];
|
|
107
107
|
protected includeTypes?: string[];
|
|
@@ -115,6 +115,7 @@ export declare class EventStreamCallbackHandler extends BaseTracer {
|
|
|
115
115
|
writer: WritableStreamDefaultWriter;
|
|
116
116
|
receiveStream: IterableReadableStream<StreamEvent>;
|
|
117
117
|
name: string;
|
|
118
|
+
lc_prefer_streaming: boolean;
|
|
118
119
|
constructor(fields?: EventStreamCallbackHandlerInput);
|
|
119
120
|
[Symbol.asyncIterator](): IterableReadableStream<StreamEvent>;
|
|
120
121
|
protected persistRun(_run: Run): Promise<void>;
|
|
@@ -102,6 +102,12 @@ export class EventStreamCallbackHandler extends BaseTracer {
|
|
|
102
102
|
writable: true,
|
|
103
103
|
value: "event_stream_tracer"
|
|
104
104
|
});
|
|
105
|
+
Object.defineProperty(this, "lc_prefer_streaming", {
|
|
106
|
+
enumerable: true,
|
|
107
|
+
configurable: true,
|
|
108
|
+
writable: true,
|
|
109
|
+
value: true
|
|
110
|
+
});
|
|
105
111
|
this.autoClose = fields?.autoClose ?? true;
|
|
106
112
|
this.includeNames = fields?.includeNames;
|
|
107
113
|
this.includeTypes = fields?.includeTypes;
|
|
@@ -213,6 +213,12 @@ class LogStreamCallbackHandler extends base_js_1.BaseTracer {
|
|
|
213
213
|
writable: true,
|
|
214
214
|
value: "log_stream_tracer"
|
|
215
215
|
});
|
|
216
|
+
Object.defineProperty(this, "lc_prefer_streaming", {
|
|
217
|
+
enumerable: true,
|
|
218
|
+
configurable: true,
|
|
219
|
+
writable: true,
|
|
220
|
+
value: true
|
|
221
|
+
});
|
|
216
222
|
this.autoClose = fields?.autoClose ?? true;
|
|
217
223
|
this.includeNames = fields?.includeNames;
|
|
218
224
|
this.includeTypes = fields?.includeTypes;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Operation as JSONPatchOperation } from "../utils/fast-json-patch/index.js";
|
|
2
2
|
import { BaseTracer, type Run } from "./base.js";
|
|
3
|
-
import { BaseCallbackHandler, BaseCallbackHandlerInput, HandleLLMNewTokenCallbackFields } from "../callbacks/base.js";
|
|
3
|
+
import { BaseCallbackHandler, BaseCallbackHandlerInput, CallbackHandlerPrefersStreaming, HandleLLMNewTokenCallbackFields } from "../callbacks/base.js";
|
|
4
4
|
import { IterableReadableStream } from "../utils/stream.js";
|
|
5
5
|
import type { StreamEvent, StreamEventData } from "./event_stream.js";
|
|
6
6
|
export type { StreamEvent, StreamEventData };
|
|
@@ -90,7 +90,7 @@ export declare const isLogStreamHandler: (handler: BaseCallbackHandler) => handl
|
|
|
90
90
|
* handler that logs the execution of runs and emits `RunLog` instances to a
|
|
91
91
|
* `RunLogStream`.
|
|
92
92
|
*/
|
|
93
|
-
export declare class LogStreamCallbackHandler extends BaseTracer {
|
|
93
|
+
export declare class LogStreamCallbackHandler extends BaseTracer implements CallbackHandlerPrefersStreaming {
|
|
94
94
|
protected autoClose: boolean;
|
|
95
95
|
protected includeNames?: string[];
|
|
96
96
|
protected includeTypes?: string[];
|
|
@@ -106,6 +106,7 @@ export declare class LogStreamCallbackHandler extends BaseTracer {
|
|
|
106
106
|
writer: WritableStreamDefaultWriter;
|
|
107
107
|
receiveStream: IterableReadableStream<RunLogPatch>;
|
|
108
108
|
name: string;
|
|
109
|
+
lc_prefer_streaming: boolean;
|
|
109
110
|
constructor(fields?: LogStreamCallbackHandlerInput);
|
|
110
111
|
[Symbol.asyncIterator](): IterableReadableStream<RunLogPatch>;
|
|
111
112
|
protected persistRun(_run: Run): Promise<void>;
|
|
@@ -207,6 +207,12 @@ export class LogStreamCallbackHandler extends BaseTracer {
|
|
|
207
207
|
writable: true,
|
|
208
208
|
value: "log_stream_tracer"
|
|
209
209
|
});
|
|
210
|
+
Object.defineProperty(this, "lc_prefer_streaming", {
|
|
211
|
+
enumerable: true,
|
|
212
|
+
configurable: true,
|
|
213
|
+
writable: true,
|
|
214
|
+
value: true
|
|
215
|
+
});
|
|
210
216
|
this.autoClose = fields?.autoClose ?? true;
|
|
211
217
|
this.includeNames = fields?.includeNames;
|
|
212
218
|
this.includeTypes = fields?.includeTypes;
|