@librechat/agents 3.6.11 → 3.6.12
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/cjs/graphs/Graph.cjs +44 -116
- package/dist/cjs/graphs/Graph.cjs.map +1 -1
- package/dist/cjs/llm/contextPressureMeter.cjs +132 -0
- package/dist/cjs/llm/contextPressureMeter.cjs.map +1 -0
- package/dist/cjs/llm/invoke.cjs +46 -75
- package/dist/cjs/llm/invoke.cjs.map +1 -1
- package/dist/cjs/llm/prepareProviderRequest.cjs +108 -0
- package/dist/cjs/llm/prepareProviderRequest.cjs.map +1 -0
- package/dist/cjs/main.cjs +2 -0
- package/dist/cjs/messages/content.cjs +5 -4
- package/dist/cjs/messages/content.cjs.map +1 -1
- package/dist/esm/graphs/Graph.mjs +47 -119
- package/dist/esm/graphs/Graph.mjs.map +1 -1
- package/dist/esm/llm/contextPressureMeter.mjs +132 -0
- package/dist/esm/llm/contextPressureMeter.mjs.map +1 -0
- package/dist/esm/llm/invoke.mjs +48 -75
- package/dist/esm/llm/invoke.mjs.map +1 -1
- package/dist/esm/llm/prepareProviderRequest.mjs +105 -0
- package/dist/esm/llm/prepareProviderRequest.mjs.map +1 -0
- package/dist/esm/main.mjs +2 -1
- package/dist/esm/messages/content.mjs +5 -4
- package/dist/esm/messages/content.mjs.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/llm/contextPressureMeter.d.ts +30 -0
- package/dist/types/llm/invoke.d.ts +31 -33
- package/dist/types/llm/prepareProviderRequest.d.ts +55 -0
- package/package.json +1 -1
- package/src/graphs/Graph.ts +69 -276
- package/src/index.ts +8 -0
- package/src/llm/contextPressureMeter.ts +284 -0
- package/src/llm/invoke.ts +136 -296
- package/src/llm/prepareProviderRequest.ts +357 -0
- package/src/messages/content.ts +3 -3
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { apportionTokenCounts } from "../utils/tokens.mjs";
|
|
2
|
+
import "../messages/prune.mjs";
|
|
3
|
+
import { isSyntheticProviderContextMessage } from "../messages/format.mjs";
|
|
4
|
+
import "../messages/index.mjs";
|
|
5
|
+
import "../utils/index.mjs";
|
|
6
|
+
import { ToolMessage } from "@langchain/core/messages";
|
|
7
|
+
//#region src/llm/contextPressureMeter.ts
|
|
8
|
+
function getProviderMessageOriginKey(message) {
|
|
9
|
+
const type = message.getType();
|
|
10
|
+
if (message instanceof ToolMessage && typeof message.tool_call_id === "string" && message.tool_call_id.length > 0) return `tool:call:${message.tool_call_id}`;
|
|
11
|
+
if (typeof message.id === "string" && message.id.length > 0) return `${type}:id:${message.id}`;
|
|
12
|
+
}
|
|
13
|
+
function createContextPressureMeter({ tokenCounter, sourceMessages, retainedMessages, indexTokenCountMap, contextUsage, instructionTokens, calibrationRatio }) {
|
|
14
|
+
const tokenCounts = /* @__PURE__ */ new WeakMap();
|
|
15
|
+
const origins = /* @__PURE__ */ new WeakMap();
|
|
16
|
+
const baselineAttributions = /* @__PURE__ */ new Map();
|
|
17
|
+
let baseline;
|
|
18
|
+
let baselineWeights;
|
|
19
|
+
let totalBaselineWeight = 0;
|
|
20
|
+
const count = (message) => {
|
|
21
|
+
const cached = tokenCounts.get(message);
|
|
22
|
+
if (cached != null) return cached;
|
|
23
|
+
const tokens = tokenCounter?.(message) ?? 0;
|
|
24
|
+
tokenCounts.set(message, tokens);
|
|
25
|
+
return tokens;
|
|
26
|
+
};
|
|
27
|
+
if (contextUsage != null && tokenCounter != null) {
|
|
28
|
+
const sourceIndices = /* @__PURE__ */ new WeakMap();
|
|
29
|
+
for (let i = 0; i < sourceMessages.length; i++) sourceIndices.set(sourceMessages[i], i);
|
|
30
|
+
baseline = retainedMessages.map((message, index) => {
|
|
31
|
+
const rawTokens = count(message);
|
|
32
|
+
const sourceIndex = sourceIndices.get(message);
|
|
33
|
+
const indexedTokens = sourceIndex != null ? indexTokenCountMap[sourceIndex] : void 0;
|
|
34
|
+
const accountingWeight = indexedTokens != null && Number.isFinite(indexedTokens) && indexedTokens >= 0 ? indexedTokens : rawTokens;
|
|
35
|
+
if (!origins.has(message)) origins.set(message, index);
|
|
36
|
+
return {
|
|
37
|
+
rawTokens,
|
|
38
|
+
accountingWeight
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
baselineWeights = {};
|
|
42
|
+
for (let i = 0; i < baseline.length; i++) {
|
|
43
|
+
baselineWeights[i] = baseline[i].accountingWeight;
|
|
44
|
+
totalBaselineWeight += baseline[i].accountingWeight;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const trackClone = (source, clone) => {
|
|
48
|
+
const origin = origins.get(source);
|
|
49
|
+
if (origin != null && !origins.has(clone)) origins.set(clone, origin);
|
|
50
|
+
};
|
|
51
|
+
const trackProjection = (before, after) => {
|
|
52
|
+
if (baseline == null || before === after) return after;
|
|
53
|
+
if (before.length === after.length) {
|
|
54
|
+
for (let i = 0; i < after.length; i++) if (before[i].getType() === after[i].getType() && !isSyntheticProviderContextMessage(after[i])) trackClone(before[i], after[i]);
|
|
55
|
+
return after;
|
|
56
|
+
}
|
|
57
|
+
const keyedOrigins = /* @__PURE__ */ new Map();
|
|
58
|
+
for (const message of before) {
|
|
59
|
+
const origin = origins.get(message);
|
|
60
|
+
const key = getProviderMessageOriginKey(message);
|
|
61
|
+
if (origin == null || key == null) continue;
|
|
62
|
+
keyedOrigins.set(key, keyedOrigins.has(key) ? null : origin);
|
|
63
|
+
}
|
|
64
|
+
for (const message of after) {
|
|
65
|
+
if (origins.has(message) || isSyntheticProviderContextMessage(message)) continue;
|
|
66
|
+
const key = getProviderMessageOriginKey(message);
|
|
67
|
+
const origin = key != null ? keyedOrigins.get(key) : void 0;
|
|
68
|
+
if (origin != null) origins.set(message, origin);
|
|
69
|
+
}
|
|
70
|
+
return after;
|
|
71
|
+
};
|
|
72
|
+
const measure = (messages, options) => {
|
|
73
|
+
const contextBudget = options?.contextBudget ?? contextUsage?.contextBudget;
|
|
74
|
+
const forceRawRecount = options?.forceRawRecount === true;
|
|
75
|
+
const effectiveInstructionTokens = contextUsage?.effectiveInstructionTokens ?? (forceRawRecount ? instructionTokens : void 0);
|
|
76
|
+
if (tokenCounter == null || contextBudget == null || effectiveInstructionTokens == null) return { fits: true };
|
|
77
|
+
const availableMessageTokens = Math.max(0, contextBudget - effectiveInstructionTokens);
|
|
78
|
+
let usageRatio = calibrationRatio > 0 ? calibrationRatio : 1;
|
|
79
|
+
if (contextUsage?.calibrationRatio != null && contextUsage.calibrationRatio > 0) usageRatio = contextUsage.calibrationRatio;
|
|
80
|
+
if (forceRawRecount) usageRatio = Math.max(1, usageRatio);
|
|
81
|
+
const baselineRemaining = contextUsage?.remainingContextTokens;
|
|
82
|
+
const accountedMessageTokens = !forceRawRecount && baseline != null && baselineRemaining != null && Number.isFinite(baselineRemaining) ? availableMessageTokens - Math.min(availableMessageTokens, Math.max(0, baselineRemaining)) : void 0;
|
|
83
|
+
let projectedMessageTokens;
|
|
84
|
+
if (accountedMessageTokens != null && baseline != null && baselineWeights != null) {
|
|
85
|
+
let attribution = baselineAttributions.get(availableMessageTokens);
|
|
86
|
+
if (attribution == null) {
|
|
87
|
+
const replyPrimerTokens = Math.round(3 * usageRatio);
|
|
88
|
+
const attributableTokens = totalBaselineWeight > 0 ? Math.min(Math.max(0, accountedMessageTokens - replyPrimerTokens), Math.round(totalBaselineWeight * usageRatio)) : 0;
|
|
89
|
+
const apportionedTokens = totalBaselineWeight > 0 ? apportionTokenCounts(baselineWeights, attributableTokens / totalBaselineWeight, attributableTokens) : {};
|
|
90
|
+
attribution = {
|
|
91
|
+
attributedByOrigin: baseline.map((_, origin) => apportionedTokens[origin] || 0),
|
|
92
|
+
projectedBaseTokens: Math.max(replyPrimerTokens, accountedMessageTokens - attributableTokens)
|
|
93
|
+
};
|
|
94
|
+
baselineAttributions.set(availableMessageTokens, attribution);
|
|
95
|
+
}
|
|
96
|
+
projectedMessageTokens = attribution.projectedBaseTokens;
|
|
97
|
+
let newRawTokens = 0;
|
|
98
|
+
const usedOrigins = /* @__PURE__ */ new Set();
|
|
99
|
+
for (const message of messages) {
|
|
100
|
+
const rawTokens = count(message);
|
|
101
|
+
const origin = origins.get(message);
|
|
102
|
+
if (origin == null || usedOrigins.has(origin)) {
|
|
103
|
+
newRawTokens += rawTokens;
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
usedOrigins.add(origin);
|
|
107
|
+
projectedMessageTokens += Math.max(0, attribution.attributedByOrigin[origin] + Math.round((rawTokens - baseline[origin].rawTokens) * usageRatio));
|
|
108
|
+
}
|
|
109
|
+
projectedMessageTokens += Math.round(newRawTokens * usageRatio);
|
|
110
|
+
} else {
|
|
111
|
+
let rawTokens = 3;
|
|
112
|
+
for (const message of messages) rawTokens += count(message);
|
|
113
|
+
projectedMessageTokens = Math.round(rawTokens * usageRatio);
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
fits: projectedMessageTokens <= availableMessageTokens,
|
|
117
|
+
projectedMessageTokens,
|
|
118
|
+
availableMessageTokens,
|
|
119
|
+
contextBudget,
|
|
120
|
+
effectiveInstructionTokens
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
return {
|
|
124
|
+
trackProjection,
|
|
125
|
+
trackClone,
|
|
126
|
+
measure
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
//#endregion
|
|
130
|
+
export { createContextPressureMeter };
|
|
131
|
+
|
|
132
|
+
//# sourceMappingURL=contextPressureMeter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextPressureMeter.mjs","names":[],"sources":["../../../src/llm/contextPressureMeter.ts"],"mappings":"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"}
|
package/dist/esm/llm/invoke.mjs
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
import "../common/enum.mjs";
|
|
2
2
|
import "../common/index.mjs";
|
|
3
3
|
import { appendCallbacks } from "../utils/callbacks.mjs";
|
|
4
|
-
import {
|
|
5
|
-
import { modifyDeltaProperties, projectCacheControlledToolOutputsToText, projectComputerCallOutputsToText, projectOpenAIChatToolMessageContent, projectOpenAIResponsesToolMessageContent, projectOpenRouterToolMessageContent, projectSingleTextToolOutputsToText, projectStructuredToolOutputsToText, projectToolStreamContentForProvider } from "../messages/core.mjs";
|
|
4
|
+
import { modifyDeltaProperties } from "../messages/core.mjs";
|
|
6
5
|
import { safeDispatchCustomEvent } from "../utils/events.mjs";
|
|
7
|
-
import { coalesceAdjacentUserTurns, strictAlternationProviders } from "../messages/alternation.mjs";
|
|
8
|
-
import { appendPredecessorHandoffCue, removePredecessorHandoffCue } from "../messages/handoffCue.mjs";
|
|
9
6
|
import "../messages/index.mjs";
|
|
10
|
-
import { isAnthropicLike, isOpenAILike } from "../utils/llm.mjs";
|
|
11
7
|
import { STREAM_LIMIT_ATTEMPT_KEY, STREAM_LIMIT_REDISPATCH_KEY, StreamLimitExceededError, enforceStreamLimitsForWireChunk, registerActiveStreamLimitGeneration, releaseStreamLimitGeneration, resolveGenerationKey, streamLimitAccountingEnabled } from "./streamLimits.mjs";
|
|
12
|
-
import { annotateMessagesForLLM } from "../tools/toolOutputReferences.mjs";
|
|
13
8
|
import { ChatModelStreamHandler, dispatchesChatModelStream } from "../stream.mjs";
|
|
14
9
|
import { getContextOverflowInfo } from "../utils/errors.mjs";
|
|
10
|
+
import { assertPreparedProviderRequestFor, prepareProviderRequest } from "./prepareProviderRequest.mjs";
|
|
15
11
|
import { assertNotTruncatedToolCall } from "./truncation.mjs";
|
|
16
12
|
import { manualToolStreamProviders } from "./providers.mjs";
|
|
17
13
|
import { canSealPreempt } from "./preempt.mjs";
|
|
@@ -22,47 +18,6 @@ import { CallbackManager, CallbackManagerForLLMRun } from "@langchain/core/callb
|
|
|
22
18
|
import { concat } from "@langchain/core/utils/stream";
|
|
23
19
|
//#region src/llm/invoke.ts
|
|
24
20
|
let streamLimitAttemptSeq = 0;
|
|
25
|
-
function usesNativeOpenAIResponses(model, provider, callOptions) {
|
|
26
|
-
if (!isOpenAILike(provider)) return false;
|
|
27
|
-
let candidate = model;
|
|
28
|
-
let effectiveCallOptions = callOptions;
|
|
29
|
-
const seen = /* @__PURE__ */ new Set();
|
|
30
|
-
for (let depth = 0; depth < 20; depth++) {
|
|
31
|
-
if (candidate == null || typeof candidate !== "object") return false;
|
|
32
|
-
if (seen.has(candidate)) return false;
|
|
33
|
-
seen.add(candidate);
|
|
34
|
-
const runnable = candidate;
|
|
35
|
-
try {
|
|
36
|
-
if (runnable.defaultOptions != null && typeof runnable.defaultOptions === "object" && !Array.isArray(runnable.defaultOptions) && effectiveCallOptions != null && typeof effectiveCallOptions === "object" && !Array.isArray(effectiveCallOptions)) effectiveCallOptions = {
|
|
37
|
-
...runnable.defaultOptions,
|
|
38
|
-
...effectiveCallOptions
|
|
39
|
-
};
|
|
40
|
-
else if (effectiveCallOptions == null) effectiveCallOptions = runnable.defaultOptions;
|
|
41
|
-
if (runnable._useResponsesApi?.(effectiveCallOptions) === true || runnable._useResponsesApi?.(void 0) === true) return true;
|
|
42
|
-
} catch {}
|
|
43
|
-
if (typeof runnable.constructor?.name === "string" && runnable.constructor.name.includes("Responses")) return true;
|
|
44
|
-
if (runnable.last != null && typeof runnable.last === "object") {
|
|
45
|
-
candidate = runnable.last;
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
if (runnable.bound != null && typeof runnable.bound === "object") {
|
|
49
|
-
candidate = runnable.bound;
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
return false;
|
|
53
|
-
}
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
56
|
-
function projectMessagesForProvider({ model, messages, provider, maxToolResultChars, callOptions }) {
|
|
57
|
-
const nativeOpenAIResponses = usesNativeOpenAIResponses(model, provider, callOptions);
|
|
58
|
-
const providerInputMessages = projectToolStreamContentForProvider(messages, nativeOpenAIResponses ? "native" : "fallback", maxToolResultChars);
|
|
59
|
-
if (nativeOpenAIResponses) return projectOpenAIResponsesToolMessageContent(stripAnthropicCacheControl(stripBedrockCacheControl(providerInputMessages)), maxToolResultChars);
|
|
60
|
-
if (provider === "openrouter") return projectComputerCallOutputsToText(projectOpenRouterToolMessageContent(stripBedrockCacheControl(providerInputMessages), maxToolResultChars));
|
|
61
|
-
if (isOpenAILike(provider)) return projectComputerCallOutputsToText(projectOpenAIChatToolMessageContent(stripAnthropicCacheControl(stripBedrockCacheControl(providerInputMessages)), maxToolResultChars));
|
|
62
|
-
if (provider === "anthropic") return projectComputerCallOutputsToText(projectSingleTextToolOutputsToText(stripBedrockCacheControl(providerInputMessages), maxToolResultChars));
|
|
63
|
-
if (provider === "bedrock") return stripAnthropicCacheControl(projectComputerCallOutputsToText(projectCacheControlledToolOutputsToText(providerInputMessages, maxToolResultChars)));
|
|
64
|
-
return projectComputerCallOutputsToText(projectStructuredToolOutputsToText(projectSingleTextToolOutputsToText(stripAnthropicCacheControl(stripBedrockCacheControl(providerInputMessages)), maxToolResultChars), maxToolResultChars));
|
|
65
|
-
}
|
|
66
21
|
function getRegisteredDefaultChatStreamHandler(context) {
|
|
67
22
|
const handler = context?.handlerRegistry?.getHandler("on_chat_model_stream");
|
|
68
23
|
return dispatchesChatModelStream(handler) ? handler : void 0;
|
|
@@ -161,16 +116,6 @@ function collectModelCallbackSources(model) {
|
|
|
161
116
|
}
|
|
162
117
|
return sources;
|
|
163
118
|
}
|
|
164
|
-
function resolveServingModelId(model) {
|
|
165
|
-
const seen = /* @__PURE__ */ new Set();
|
|
166
|
-
let current = model;
|
|
167
|
-
while (current != null && typeof current === "object" && !seen.has(current)) {
|
|
168
|
-
seen.add(current);
|
|
169
|
-
const wrapper = current;
|
|
170
|
-
if (typeof wrapper.model === "string" && wrapper.model !== "") return wrapper.model;
|
|
171
|
-
current = wrapper.bound ?? wrapper.last ?? (Array.isArray(wrapper.steps) ? wrapper.steps[wrapper.steps.length - 1] : void 0);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
119
|
async function endSealedModelRun(context, chunk, prompt, llmRunId, config, model) {
|
|
175
120
|
const metadata = config?.metadata;
|
|
176
121
|
synthesizeSealedUsage(context, chunk, prompt, metadata);
|
|
@@ -202,12 +147,30 @@ function appendStreamChunk({ current, next, provider }) {
|
|
|
202
147
|
provider
|
|
203
148
|
}));
|
|
204
149
|
}
|
|
150
|
+
function resolveAttemptProvider(params) {
|
|
151
|
+
if (params.request != null) return params.request.provider;
|
|
152
|
+
return params.provider;
|
|
153
|
+
}
|
|
154
|
+
function resolveAttemptRequest(params, config) {
|
|
155
|
+
if (params.request != null) {
|
|
156
|
+
assertPreparedProviderRequestFor(params.request, params.request.model, params.request.provider, config);
|
|
157
|
+
return params.request;
|
|
158
|
+
}
|
|
159
|
+
return prepareProviderRequest({
|
|
160
|
+
model: params.model,
|
|
161
|
+
messages: params.messages,
|
|
162
|
+
provider: params.provider,
|
|
163
|
+
context: params.context,
|
|
164
|
+
config
|
|
165
|
+
});
|
|
166
|
+
}
|
|
205
167
|
async function attemptInvoke(params, config) {
|
|
168
|
+
const provider = resolveAttemptProvider(params);
|
|
206
169
|
const stampedConfig = {
|
|
207
170
|
...config,
|
|
208
171
|
metadata: {
|
|
209
172
|
...config?.metadata ?? {},
|
|
210
|
-
["__invoked_provider"]:
|
|
173
|
+
["__invoked_provider"]: provider,
|
|
211
174
|
[STREAM_LIMIT_ATTEMPT_KEY]: ++streamLimitAttemptSeq
|
|
212
175
|
}
|
|
213
176
|
};
|
|
@@ -216,24 +179,17 @@ async function attemptInvoke(params, config) {
|
|
|
216
179
|
const generationKey = leaseTarget != null ? resolveGenerationKey(stampedConfig.metadata) : void 0;
|
|
217
180
|
if (leaseTarget != null && generationKey != null) registerActiveStreamLimitGeneration(leaseTarget, generationKey);
|
|
218
181
|
try {
|
|
219
|
-
return await attemptInvokeBody(
|
|
182
|
+
return await attemptInvokeBody({
|
|
183
|
+
request: resolveAttemptRequest(params, stampedConfig),
|
|
184
|
+
context: params.context,
|
|
185
|
+
onChunk: params.onChunk
|
|
186
|
+
}, stampedConfig);
|
|
220
187
|
} finally {
|
|
221
188
|
if (leaseTarget != null && generationKey != null) releaseStreamLimitGeneration(leaseTarget, generationKey);
|
|
222
189
|
}
|
|
223
190
|
}
|
|
224
|
-
async function attemptInvokeBody({
|
|
225
|
-
const
|
|
226
|
-
model,
|
|
227
|
-
messages,
|
|
228
|
-
provider,
|
|
229
|
-
callOptions: config
|
|
230
|
-
});
|
|
231
|
-
const registry = context?.getOrCreateToolOutputRegistry();
|
|
232
|
-
const runId = config.configurable?.run_id;
|
|
233
|
-
const annotated = annotateMessagesForLLM(invocationMessages, registry, runId);
|
|
234
|
-
const isRunProduced = context?.isRunProducedMessage;
|
|
235
|
-
const cued = isAnthropicLike(provider, { model: resolveServingModelId(model) }) ? appendPredecessorHandoffCue(annotated, isRunProduced == null ? void 0 : (message) => isRunProduced.call(context, message)) : removePredecessorHandoffCue(annotated);
|
|
236
|
-
const messagesForProvider = strictAlternationProviders.has(provider) ? coalesceAdjacentUserTurns(cued) : cued;
|
|
191
|
+
async function attemptInvokeBody({ request, context, onChunk }, config) {
|
|
192
|
+
const { model, messages: messagesForProvider, provider } = request;
|
|
237
193
|
if (model.stream) {
|
|
238
194
|
let sealedRunId;
|
|
239
195
|
const streamConfig = context?.preemption == null ? config : {
|
|
@@ -360,7 +316,7 @@ function extractClientOptionsModel(clientOptions) {
|
|
|
360
316
|
if (typeof options?.model === "string" && options.model !== "") return options.model;
|
|
361
317
|
if (typeof options?.modelName === "string" && options.modelName !== "") return options.modelName;
|
|
362
318
|
}
|
|
363
|
-
async function tryFallbackProviders({ fallbacks, tools, messages, config, primaryError, context, onChunk, streamLimitState, overflowContext, prepareProviderMessages }) {
|
|
319
|
+
async function tryFallbackProviders({ fallbacks, tools, messages, config, primaryError, context, onChunk, streamLimitState, overflowContext, prepareProviderRequest: prepareFallbackRequest, prepareProviderMessages }) {
|
|
364
320
|
const isOverflow = (error, contextOverride = overflowContext) => getContextOverflowInfo(error, contextOverride) != null;
|
|
365
321
|
let lastError = primaryError;
|
|
366
322
|
const overflowCandidates = [];
|
|
@@ -379,7 +335,18 @@ async function tryFallbackProviders({ fallbacks, tools, messages, config, primar
|
|
|
379
335
|
["__invoked_model"]: fbModelName
|
|
380
336
|
}
|
|
381
337
|
};
|
|
382
|
-
const
|
|
338
|
+
const preparationInput = {
|
|
339
|
+
model: fbModel,
|
|
340
|
+
messages,
|
|
341
|
+
provider: fb.provider,
|
|
342
|
+
clientOptions: fb.clientOptions,
|
|
343
|
+
maxContextTokens: fb.maxContextTokens,
|
|
344
|
+
config: fbConfig
|
|
345
|
+
};
|
|
346
|
+
const preparedRequest = await prepareFallbackRequest?.(preparationInput);
|
|
347
|
+
if (preparedRequest != null) assertPreparedProviderRequestFor(preparedRequest, fbModel, fb.provider, fbConfig);
|
|
348
|
+
let fallbackMessages = messages;
|
|
349
|
+
if (preparedRequest == null) fallbackMessages = await prepareProviderMessages?.({
|
|
383
350
|
model: fbModel,
|
|
384
351
|
messages,
|
|
385
352
|
provider: fb.provider,
|
|
@@ -388,6 +355,12 @@ async function tryFallbackProviders({ fallbacks, tools, messages, config, primar
|
|
|
388
355
|
config: fbConfig
|
|
389
356
|
}) ?? messages;
|
|
390
357
|
if (config?.signal?.aborted === true && config.signal.reason instanceof StreamLimitExceededError) throw config.signal.reason;
|
|
358
|
+
if (preparedRequest != null) return await attemptInvoke({
|
|
359
|
+
request: preparedRequest,
|
|
360
|
+
context,
|
|
361
|
+
onChunk,
|
|
362
|
+
streamLimitState
|
|
363
|
+
}, fbConfig);
|
|
391
364
|
return await attemptInvoke({
|
|
392
365
|
model: fbModel,
|
|
393
366
|
messages: fallbackMessages,
|
|
@@ -423,6 +396,6 @@ async function tryFallbackProviders({ fallbacks, tools, messages, config, primar
|
|
|
423
396
|
if (preferred !== void 0) throw preferred;
|
|
424
397
|
}
|
|
425
398
|
//#endregion
|
|
426
|
-
export { attemptInvoke, getFallbackErrorContext, getFallbackOverflowCandidates,
|
|
399
|
+
export { attemptInvoke, getFallbackErrorContext, getFallbackOverflowCandidates, tryFallbackProviders };
|
|
427
400
|
|
|
428
401
|
//# sourceMappingURL=invoke.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.mjs","names":[],"sources":["../../../src/llm/invoke.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"invoke.mjs","names":[],"sources":["../../../src/llm/invoke.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import "../common/enum.mjs";
|
|
2
|
+
import "../common/index.mjs";
|
|
3
|
+
import { stripAnthropicCacheControl, stripBedrockCacheControl } from "../messages/cache.mjs";
|
|
4
|
+
import { projectCacheControlledToolOutputsToText, projectComputerCallOutputsToText, projectOpenAIChatToolMessageContent, projectOpenAIResponsesToolMessageContent, projectOpenRouterToolMessageContent, projectSingleTextToolOutputsToText, projectStructuredToolOutputsToText, projectToolStreamContentForProvider } from "../messages/core.mjs";
|
|
5
|
+
import { coalesceAdjacentUserTurns, strictAlternationProviders } from "../messages/alternation.mjs";
|
|
6
|
+
import { appendPredecessorHandoffCue, removePredecessorHandoffCue } from "../messages/handoffCue.mjs";
|
|
7
|
+
import "../messages/index.mjs";
|
|
8
|
+
import { isAnthropicLike, isOpenAILike } from "../utils/llm.mjs";
|
|
9
|
+
import { annotateMessagesForLLM } from "../tools/toolOutputReferences.mjs";
|
|
10
|
+
//#region src/llm/prepareProviderRequest.ts
|
|
11
|
+
const preparedProviderRequestBrand = Symbol("PreparedProviderRequest");
|
|
12
|
+
function usesNativeOpenAIResponses(model, provider, callOptions) {
|
|
13
|
+
if (!isOpenAILike(provider)) return false;
|
|
14
|
+
let candidate = model;
|
|
15
|
+
let effectiveCallOptions = callOptions;
|
|
16
|
+
const seen = /* @__PURE__ */ new Set();
|
|
17
|
+
for (let depth = 0; depth < 20; depth++) {
|
|
18
|
+
if (candidate == null || typeof candidate !== "object") return false;
|
|
19
|
+
if (seen.has(candidate)) return false;
|
|
20
|
+
seen.add(candidate);
|
|
21
|
+
const runnable = candidate;
|
|
22
|
+
try {
|
|
23
|
+
if (runnable.defaultOptions != null && typeof runnable.defaultOptions === "object" && !Array.isArray(runnable.defaultOptions) && effectiveCallOptions != null && typeof effectiveCallOptions === "object" && !Array.isArray(effectiveCallOptions)) effectiveCallOptions = {
|
|
24
|
+
...runnable.defaultOptions,
|
|
25
|
+
...effectiveCallOptions
|
|
26
|
+
};
|
|
27
|
+
else if (effectiveCallOptions == null) effectiveCallOptions = runnable.defaultOptions;
|
|
28
|
+
if (runnable._useResponsesApi?.(effectiveCallOptions) === true || runnable._useResponsesApi?.(void 0) === true) return true;
|
|
29
|
+
} catch {}
|
|
30
|
+
if (typeof runnable.constructor?.name === "string" && runnable.constructor.name.includes("Responses")) return true;
|
|
31
|
+
if (runnable.last != null && typeof runnable.last === "object") {
|
|
32
|
+
candidate = runnable.last;
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (runnable.bound != null && typeof runnable.bound === "object") {
|
|
36
|
+
candidate = runnable.bound;
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
function resolveProviderMessageProjectionMode(model, provider, callOptions) {
|
|
44
|
+
return usesNativeOpenAIResponses(model, provider, callOptions) ? "openai-responses" : "chat-messages";
|
|
45
|
+
}
|
|
46
|
+
function projectMessagesForProviderMode({ messages, provider, maxToolResultChars }, projectionMode) {
|
|
47
|
+
const nativeOpenAIResponses = projectionMode === "openai-responses";
|
|
48
|
+
const providerInputMessages = projectToolStreamContentForProvider(messages, nativeOpenAIResponses ? "native" : "fallback", maxToolResultChars);
|
|
49
|
+
if (nativeOpenAIResponses) return projectOpenAIResponsesToolMessageContent(stripAnthropicCacheControl(stripBedrockCacheControl(providerInputMessages)), maxToolResultChars);
|
|
50
|
+
if (provider === "openrouter") return projectComputerCallOutputsToText(projectOpenRouterToolMessageContent(stripBedrockCacheControl(providerInputMessages), maxToolResultChars));
|
|
51
|
+
if (isOpenAILike(provider)) return projectComputerCallOutputsToText(projectOpenAIChatToolMessageContent(stripAnthropicCacheControl(stripBedrockCacheControl(providerInputMessages)), maxToolResultChars));
|
|
52
|
+
if (provider === "anthropic") return projectComputerCallOutputsToText(projectSingleTextToolOutputsToText(stripBedrockCacheControl(providerInputMessages), maxToolResultChars));
|
|
53
|
+
if (provider === "bedrock") return stripAnthropicCacheControl(projectComputerCallOutputsToText(projectCacheControlledToolOutputsToText(providerInputMessages, maxToolResultChars)));
|
|
54
|
+
return projectComputerCallOutputsToText(projectStructuredToolOutputsToText(projectSingleTextToolOutputsToText(stripAnthropicCacheControl(stripBedrockCacheControl(providerInputMessages)), maxToolResultChars), maxToolResultChars));
|
|
55
|
+
}
|
|
56
|
+
function resolveServingModelId(model) {
|
|
57
|
+
const seen = /* @__PURE__ */ new Set();
|
|
58
|
+
let current = model;
|
|
59
|
+
while (current != null && typeof current === "object" && !seen.has(current)) {
|
|
60
|
+
seen.add(current);
|
|
61
|
+
const wrapper = current;
|
|
62
|
+
if (typeof wrapper.model === "string" && wrapper.model !== "") return wrapper.model;
|
|
63
|
+
current = wrapper.bound ?? wrapper.last ?? (Array.isArray(wrapper.steps) ? wrapper.steps[wrapper.steps.length - 1] : void 0);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function prepareProviderRequest({ model, messages, provider, context, config, maxToolResultChars, measure }) {
|
|
67
|
+
const projectionMode = resolveProviderMessageProjectionMode(model, provider, config);
|
|
68
|
+
const projected = projectMessagesForProviderMode({
|
|
69
|
+
model,
|
|
70
|
+
messages,
|
|
71
|
+
provider,
|
|
72
|
+
maxToolResultChars,
|
|
73
|
+
callOptions: config
|
|
74
|
+
}, projectionMode);
|
|
75
|
+
const registry = context?.getOrCreateToolOutputRegistry?.();
|
|
76
|
+
const runId = config?.configurable?.run_id;
|
|
77
|
+
const annotated = annotateMessagesForLLM(projected, registry, runId);
|
|
78
|
+
const isRunProduced = context?.isRunProducedMessage;
|
|
79
|
+
const modelId = resolveServingModelId(model);
|
|
80
|
+
const cued = isAnthropicLike(provider, { model: modelId }) ? appendPredecessorHandoffCue(annotated, isRunProduced == null ? void 0 : (message) => isRunProduced.call(context, message)) : removePredecessorHandoffCue(annotated);
|
|
81
|
+
const preparedMessages = strictAlternationProviders.has(provider) ? coalesceAdjacentUserTurns(cued) : cued;
|
|
82
|
+
const request = {
|
|
83
|
+
model,
|
|
84
|
+
modelId,
|
|
85
|
+
provider,
|
|
86
|
+
projectionMode,
|
|
87
|
+
messages: preparedMessages,
|
|
88
|
+
measurement: measure?.(preparedMessages)
|
|
89
|
+
};
|
|
90
|
+
Object.defineProperty(request, preparedProviderRequestBrand, {
|
|
91
|
+
value: true,
|
|
92
|
+
enumerable: false
|
|
93
|
+
});
|
|
94
|
+
return Object.freeze(request);
|
|
95
|
+
}
|
|
96
|
+
function assertPreparedProviderRequestFor(request, model, provider, config) {
|
|
97
|
+
if (!Object.prototype.hasOwnProperty.call(request, preparedProviderRequestBrand)) throw new Error("Invalid prepared provider request");
|
|
98
|
+
if (request.model !== model) throw new Error("Prepared provider request does not match serving model");
|
|
99
|
+
if (request.provider !== provider) throw new Error("Prepared provider request does not match serving provider");
|
|
100
|
+
if (request.projectionMode !== resolveProviderMessageProjectionMode(model, provider, config)) throw new Error("Prepared provider request does not match invocation options");
|
|
101
|
+
}
|
|
102
|
+
//#endregion
|
|
103
|
+
export { assertPreparedProviderRequestFor, prepareProviderRequest, resolveServingModelId, usesNativeOpenAIResponses };
|
|
104
|
+
|
|
105
|
+
//# sourceMappingURL=prepareProviderRequest.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareProviderRequest.mjs","names":[],"sources":["../../../src/llm/prepareProviderRequest.ts"],"mappings":"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"}
|
package/dist/esm/main.mjs
CHANGED
|
@@ -36,6 +36,7 @@ import { RunnableCallable, sleep } from "./utils/run.mjs";
|
|
|
36
36
|
import { isZodSchema, toJsonSchema } from "./utils/schema.mjs";
|
|
37
37
|
import { extractErrorMessage, getContextOverflowInfo, isContextOverflowError, isLikelyContextOverflowError } from "./utils/errors.mjs";
|
|
38
38
|
import "./utils/index.mjs";
|
|
39
|
+
import { prepareProviderRequest } from "./llm/prepareProviderRequest.mjs";
|
|
39
40
|
import { DEFAULT_STREAM_DELAY, computeAdaptivePieceSize, resolveStreamDelay, smoothStream } from "./llm/stream/smoother.mjs";
|
|
40
41
|
import { CustomChatMistralAI } from "./llm/mistral/index.mjs";
|
|
41
42
|
import { CustomOpenAIClient } from "./llm/openai/index.mjs";
|
|
@@ -113,4 +114,4 @@ import { Runnable, RunnableLambda, RunnableSequence } from "./langchain/runnable
|
|
|
113
114
|
import { DynamicStructuredTool, StructuredTool, Tool, tool } from "./langchain/tools.mjs";
|
|
114
115
|
import "./langchain/index.mjs";
|
|
115
116
|
import { BaseCheckpointSaver, Command, INTERRUPT, MemorySaver, interrupt, isInterrupted } from "@langchain/langgraph";
|
|
116
|
-
export { ACTIVITY_LABEL_RUN_NAME, ACTIVITY_PHASE_LABEL_RUN_NAME, ACTIVITY_PHASE_RUN_NAME, AGENT_MODEL_CALL_RUN_NAME, AIMessage, AIMessageChunk, ANTHROPIC_TOOL_TOKEN_MULTIPLIER, ASK_USER_QUESTION_ID_PATTERN, AgentSession, BASH_SHELL_GUIDANCE, BaseCheckpointSaver, BaseMessage, BaseMessageChunk, BashExecutionToolDefinition, BashExecutionToolDescription, BashExecutionToolName, BashExecutionToolSchema, BashProgrammaticToolCallingDefinition, BashProgrammaticToolCallingDescription, BashProgrammaticToolCallingName, BashProgrammaticToolCallingSchema, BashToolOutputReferencesGuide, CALIBRATION_RATIO_MAX, CALIBRATION_RATIO_MIN, CLOUDFLARE_BASH_CODING_TOOL_NAMES, CLOUDFLARE_CODING_TOOL_NAMES, CODE_API_AUTHORIZATION_ERROR_MESSAGE, CODE_API_EXECUTION_FAILED_ERROR_MESSAGE, CODE_API_EXPECTED_PROFILE_HEADER, CODE_API_INVALID_REQUEST_ERROR_MESSAGE, CODE_API_RATE_LIMITED_ERROR_MESSAGE, CODE_API_UNAVAILABLE_ERROR_MESSAGE, CODE_ARTIFACT_PATH_GUIDANCE, CODE_EXECUTION_TOOLS, Calculator, CalculatorSchema, CalculatorToolDefinition, CalculatorToolDescription, CalculatorToolName, Callback, ChatModelStreamHandler, ChatOpenRouter, CloudflareBashExecutionToolDescription, CloudflareCodeExecutionToolDescription, CodeApiRequestError, CodeExecutionToolDefinition, CodeExecutionToolDescription, CodeExecutionToolName, CodeExecutionToolSchema, Command, CommonEvents, CompileCheckToolName, Constants, ContentTypes, CustomChatMistralAI, CustomOpenAIClient, DATE_RANGE, DEFAULT_CONTEXT_PRUNING_SETTINGS, DEFAULT_COUNTRY_DESCRIPTION, DEFAULT_HOOK_TIMEOUT_MS, DEFAULT_MAX_SEALS, DEFAULT_MAX_TOOL_CALL_ARG_BYTES, DEFAULT_PROMPT_CACHE_TTL, DEFAULT_QUERY_DESCRIPTION, DEFAULT_RECURSION_LIMIT, DEFAULT_RESERVE_RATIO, DEFAULT_RETAIN_RECENT_TURNS, DEFAULT_STREAM_DELAY, DEFAULT_SUBAGENT_DESCRIPTION, DEFAULT_TOOL_TOKEN_MULTIPLIER, DynamicStructuredTool, EnvVar, FAILED_EXECUTION_FILE_REMINDER, FakeChatModel, Graph, GraphEvents, GraphNodeActions, GraphNodeKeys, HARD_MAX_TOOL_RESULT_CHARS, HARD_MAX_TOTAL_TOOL_OUTPUT_SIZE, HOOK_EVENTS, HOOK_INJECTED_MESSAGES_CAPABLE, HOOK_PREEMPT_BOUNDARY_CAPABLE, HandlerRegistry, HookRegistry, HumanMessage, IMAGE_TOKEN_SAFETY_MARGIN, INTENT_ARG, INTENT_DESCRIPTION, INTENT_LABEL_MARKER, INTENT_PROPERTY, INTERRUPT, InMemorySubagentTaskStore, JsonlSessionStore, LLMStreamHandler, LOCAL_CODING_BUNDLE_NAMES, LOCAL_CODING_TOOL_NAMES, LOCAL_SPAWN_TIMEOUT_MS, LocalBashExecutionToolDescription, LocalCodeExecutionToolDescription, LocalEditFileToolName, LocalEditFileToolSchema, LocalFileCheckpointerImpl, LocalGlobSearchToolName, LocalGlobSearchToolSchema, LocalGrepSearchToolName, LocalGrepSearchToolSchema, LocalListDirectoryToolName, LocalListDirectoryToolSchema, LocalReadFileToolSchema, LocalWriteFileToolName, LocalWriteFileToolSchema, MAX_ASK_USER_QUESTIONS, MAX_CACHE_SIZE, MAX_PATTERN_LENGTH, MULTI_AGENT_GRAPH_RUN_NAME, MemorySaver, ModelEndHandler, MultiAgentGraph, OPENAI_RESPONSES_ACTIVE_REASONING_ID_KEY, OPENAI_RESPONSES_REPLAY_POSITIONS_KEY, ORIGINAL_CONTENT_MAX_CHARS, PREDECESSOR_HANDOFF_CUE, PREEMPT_BOUNDARY_HOOK_TIMEOUT_MS, PROVIDER_MESSAGE_PROVENANCE_LIMITS, PROVIDER_MESSAGE_PROVENANCE_VERSION, ProgrammaticToolCallingDefinition, ProgrammaticToolCallingDescription, ProgrammaticToolCallingName, ProgrammaticToolCallingSchema, PromptTemplate, Providers, REASONING_LABEL_RUN_NAME, REMOVE_ALL_MESSAGES, REPLY_PRIMER_TOKENS, ReadFileToolDefinition, ReadFileToolDescription, ReadFileToolName, ReadFileToolSchema, Run, Runnable, RunnableCallable, RunnableLambda, RunnableSequence, SDK_STREAM_DISPATCH, STANDARD_GRAPH_RUN_NAME, STATEFUL_BASH_NOTE, STATEFUL_ENV_NOTE, SessionManager, SkillToolDefinition, SkillToolDescription, SkillToolName, SkillToolSchema, StandardGraph, StatefulBashExecutionToolDescription, StatefulCodeExecutionToolDescription, StepTypes, StreamLimitExceededError, StructuredTool, SubagentExecutor, SubagentToolDefinition, SubagentToolDescription, SubagentToolName, SubagentToolSchema, SystemMessage, TMP_SCRATCH_OUTPUT_REMINDER, TOOL_APPROVAL_EXECUTION_SCOPE_CONFIG_KEY, TestChatStreamHandler, TestLLMStreamHandler, TitleMethod, TokenEncoderManager, Tool, ToolCallTypes, ToolEndHandler, ToolMessage, ToolNode, ToolSearchToolDefinition, ToolSearchToolDescription, ToolSearchToolName, ToolSearchToolSchema, UnsafeTokenMeasurementError, WebSearchToolDefinition, WebSearchToolDescription, WebSearchToolName, WebSearchToolSchema, _createBashProgramForTests, _resetLocalEngineWarningsForTests, _resetRipgrepCacheForTests, _resetSyntaxCheckProbeCacheForTests, _resetUnrecognizedTriggerWarnings, addBedrockCacheControl, addBedrockTailCacheControl, addCacheControl, addCacheControlToStablePrefixMessages, addCodeApiExecutionProfileHeader, addTailCacheControl, appendCodeSessionFileSummary, appendFailedExecutionFileReminder, appendPredecessorHandoffCue, appendProviderMessageProvenance, appendTmpScratchReminder, applyContextPruning, applyEdit, applyOutcome, applyPreToolUseHooksForBridge, apportionTokenCounts, askUserQuestion, askUserQuestions, attemptInvoke, bashAstFindingsToErrors, buildAnthropicCacheControl, buildBashExecutionToolDescription, buildBashExecutionToolSchema, buildBedrockCachePoint, buildChildInputs, buildCodeApiEndpoint, buildCodeApiExecutionErrorMessage, buildCodeApiHttpErrorMessage, buildCodeExecutionToolDescription, buildCodeExecutionToolSchema, buildSandboxRuntimeConfig, buildSubagentToolParams, calculateMaxToolCallInputChars, calculateMaxToolResultChars, calculateMaxTotalToolOutputSize, calculateTotalTokens, canSealPreempt, checkValidNumber, clampCalibrationRatio, classifyAttachment, clientExecTimeoutMs, clientFsTimeoutMs, cloneMessage, coalesceAdjacentUserTurns, compactSyntheticProviderContextMessage, composeAbortSignals, composeEventHandlers, computeAdaptivePieceSize, convertInjectedMessages, convertMessagesToContent, countNestedGroups, countrySchema, createAgentSession, createBashExecutionTool, createBashProgrammaticToolCallingSchema, createBashProgrammaticToolCallingTool, createCloudflareBashExecutionTool, createCloudflareBashProgrammaticToolCallingTool, createCloudflareBridgeRuntime, createCloudflareCodeExecutionTool, createCloudflareCodingToolBundle, createCloudflareCodingTools, createCloudflareExecutionTool, createCloudflareLocalExecutionConfig, createCloudflareProgrammaticToolCallingTool, createCloudflareWorkspaceFS, createCodeExecutionTool, createCompileCheckTool, createCompileCheckToolDefinition, createContentAggregator, createFakeStreamingLLM, createGraph, createHandlers, createLocalBashExecutionTool, createLocalBashProgrammaticToolCallingTool, createLocalCodeExecutionTool, createLocalCodingToolBundle, createLocalCodingToolDefinitions, createLocalCodingToolRegistry, createLocalCodingTools, createLocalEditFileTool, createLocalFileCheckpointer, createLocalGlobSearchTool, createLocalGrepSearchTool, createLocalListDirectoryTool, createLocalProgrammaticToolCallingTool, createLocalReadFileTool, createLocalWriteFileTool, createMetadataAggregator, createProgrammaticToolCallingSchema, createProgrammaticToolCallingTool, createPruneMessages, createRemoveAllMessage, createRunHandlers, createSchemaOnlyTool, createSchemaOnlyTools, createSearchTool, createSubagentToolDefinition, createTokenCounter, createToolErrorOwnership, createToolPolicyHook, createToolSearch, createWorkspacePolicyHook, dateSchema, decodeFile, defaultOmitOptions, deserializeMessage, dispatchesChatModelStream, emptyOutputMessage, encodeFile, encodingForModel, enforceOriginalContentCap, ensureThinkingBlockInMessages, escapeRegexSpecialChars, estimateAnthropicImageTokens, estimateDocumentBlockTokens, estimateImageBlockTokens, estimateOpenAIImageTokens, estimateTimedMediaBlockTokens, execWithClientTimeout, executeCloudflareBash, executeCloudflareCode, executeHooks, executeLocalBash, executeLocalBashWithArgs, executeLocalCode, executeParallelSearches, executeTools, extractErrorMessage, extractImageDimensions, extractMcpServerName, extractTextFromContent, extractToolDiscoveries, extractUsedBashToolNames, extractUsedToolNames, fetchSessionFiles, filterBashToolsByUsage, filterGraphSubagentResult, filterSubagentResult, filterToolsByUsage, findLastIndex, foldToolBlocksForToollessAgent, formatAgentMessages, formatAnthropicArtifactContent, formatAnthropicMessage, formatArtifactPayload, formatCloudflareOutput, formatCompletedResponse, formatContentStrings, formatFromLangChain, formatLangChainMessages, formatMediaMessage, formatMessage, formatServerListing, formatSkillCatalog, getAssistantTextPhase, getAvailableMcpServers, getBaseToolName, getBufferString, getChatModelClass, getChunkContent, getCloudflareWorkspaceRoot, getCodeBaseURL, getContextOverflowInfo, getConverseOverrideMessage, getDeferredToolsListing, getLocalCwd, getLocalSessionId, getMaxOutputTokensKey, getMessageCreationContentMetadata, getMessageId, getMessagesWithinTokenLimit, getProviderMessageProvenance, getProviderSourceMessageIds, getReadRoots, getSpawn, getTokenCountForMessage, getWorkspaceFS, getWorkspaceRoots, getWriteRoots, handleServerToolResult, handleToolCallChunks, handleToolCalls, hasBijectiveProviderContentPartMapping, hasNestedQuantifier, hasNestedQuantifiers, hasToolSearchInCurrentTurn, hasUnsafeStructuredSerialization, imageAttachmentContent, imagesSchema, initializeModel, inspectProviderMessageProvenance, inspectProviderSourceMessageIds, interrupt, isAIMessage, isAnthropicLike, isAskUserQuestionsInterrupt, isBaseMessage, isContextOverflowError, isDangerousPattern, isFromAnyMcpServer, isFromMcpServer, isGoogleLike, isGraphSubagentConfig, isIntentLabelProperty, isInterrupted, isLegacyConvertible, isLikelyContextOverflowError, isOpenAILike, isPresent, isProgrammaticRunnerAutoBound, isProgrammaticRunnerResolvedDirectly, isSyntheticProviderContextMessage, isThinkingEnabled, isToolMessage, isZodSchema, joinKeys, labelContentByAgent, locateEdit, makeIsDeferred, makeRequest, mapChatMessagesToStoredMessages, mapStoredMessagesToChatMessages, maskConsumedToolResults, matchesQuery, messagesStateReducer, modifyDeltaProperties, newsSchema, normalizeBashToolResultsForReplay, normalizeCodeApiRequestError, normalizeServerFilter, normalizeSubagentConfigEntries, normalizeSubagentConfigs, normalizeToBashIdentifier, normalizeToPythonIdentifier, outcomeFieldsFromResult, parseBooleanEnv, partitionAndMarkAnthropicToolCache, performLocalSearch, preFlightTruncateToolCallInputs, preFlightTruncateToolResults, projectAgentContextUsage, projectAnthropicArtifactContent, projectArtifactPayload, projectCacheControlledToolOutputsToText, projectComputerCallOutputsToText, projectOpenAIChatToolMessageContent, projectOpenAIResponsesToolMessageContent, projectOpenAIToolMessageContent, projectOpenRouterToolMessageContent, projectSingleTextToolOutputsToText, projectStructuredToolOutputsToText, projectToolCallInputs, projectToolStreamContentForProvider, querySchema, readIntent, readOutcomeFields, removePredecessorHandoffCue, repairOrphanedToolMessages, resetIfNotEmpty, resolveBedrockPromptCacheTtl, resolveCloudflareSandbox, resolveCodeApiAuthHeaders, resolveContextPruningSettings, resolveFetchProxyAgent, resolveLocalExecutionConfig, resolveLocalExecutionTools, resolveLocalImplementationNames, resolveLocalToolRegistry, resolveLocalToolsForBinding, resolvePromptCacheTtl, resolveSearchOutcome, resolveStreamDelay, resolveStreamLimits, resolveSubagentConfigEntries, resolveSubagentConfigs, resolveToolOutcome, resolveWorkspacePath, resolveWorkspacePathSafe, runBashAstChecks, runPostEditSyntaxCheck, sanitizeOrphanToolBlocks, sanitizeRegex, selectRuntimeSessionHint, serializeMessage, serializeToolCallInput, setInvalidProviderMessageProvenance, setProviderMessageProvenance, shellQuote, shiftIndexTokenCountMap, shouldBypassProxy, shouldTriggerSummarization, sleep, smoothStream, spawnLocalProcess, splitAssistantTextContentByPhase, splitAtRecencyBoundary, stampSyntheticProviderMessage, strictAlternationProviders, stripAnthropicCacheControl, stripBedrockCacheControl, stripCodeSessionFileSummary, stripIntent, summarizeEvent, supportsBedrockToolCache, syncBudgetDerivedFields, toJsonSchema, tool, toolResultTypes, toolsCondition, truncateLocalOutput, truncateToolInput, truncateToolResultContent, tryFallbackProviders, unescapeObject, unwrapToolResponse, validateBashCommand, validateCloudflareBashCommand, videosSchema, withClientTimeout, withIntent, withMessageRole, withoutIntent };
|
|
117
|
+
export { ACTIVITY_LABEL_RUN_NAME, ACTIVITY_PHASE_LABEL_RUN_NAME, ACTIVITY_PHASE_RUN_NAME, AGENT_MODEL_CALL_RUN_NAME, AIMessage, AIMessageChunk, ANTHROPIC_TOOL_TOKEN_MULTIPLIER, ASK_USER_QUESTION_ID_PATTERN, AgentSession, BASH_SHELL_GUIDANCE, BaseCheckpointSaver, BaseMessage, BaseMessageChunk, BashExecutionToolDefinition, BashExecutionToolDescription, BashExecutionToolName, BashExecutionToolSchema, BashProgrammaticToolCallingDefinition, BashProgrammaticToolCallingDescription, BashProgrammaticToolCallingName, BashProgrammaticToolCallingSchema, BashToolOutputReferencesGuide, CALIBRATION_RATIO_MAX, CALIBRATION_RATIO_MIN, CLOUDFLARE_BASH_CODING_TOOL_NAMES, CLOUDFLARE_CODING_TOOL_NAMES, CODE_API_AUTHORIZATION_ERROR_MESSAGE, CODE_API_EXECUTION_FAILED_ERROR_MESSAGE, CODE_API_EXPECTED_PROFILE_HEADER, CODE_API_INVALID_REQUEST_ERROR_MESSAGE, CODE_API_RATE_LIMITED_ERROR_MESSAGE, CODE_API_UNAVAILABLE_ERROR_MESSAGE, CODE_ARTIFACT_PATH_GUIDANCE, CODE_EXECUTION_TOOLS, Calculator, CalculatorSchema, CalculatorToolDefinition, CalculatorToolDescription, CalculatorToolName, Callback, ChatModelStreamHandler, ChatOpenRouter, CloudflareBashExecutionToolDescription, CloudflareCodeExecutionToolDescription, CodeApiRequestError, CodeExecutionToolDefinition, CodeExecutionToolDescription, CodeExecutionToolName, CodeExecutionToolSchema, Command, CommonEvents, CompileCheckToolName, Constants, ContentTypes, CustomChatMistralAI, CustomOpenAIClient, DATE_RANGE, DEFAULT_CONTEXT_PRUNING_SETTINGS, DEFAULT_COUNTRY_DESCRIPTION, DEFAULT_HOOK_TIMEOUT_MS, DEFAULT_MAX_SEALS, DEFAULT_MAX_TOOL_CALL_ARG_BYTES, DEFAULT_PROMPT_CACHE_TTL, DEFAULT_QUERY_DESCRIPTION, DEFAULT_RECURSION_LIMIT, DEFAULT_RESERVE_RATIO, DEFAULT_RETAIN_RECENT_TURNS, DEFAULT_STREAM_DELAY, DEFAULT_SUBAGENT_DESCRIPTION, DEFAULT_TOOL_TOKEN_MULTIPLIER, DynamicStructuredTool, EnvVar, FAILED_EXECUTION_FILE_REMINDER, FakeChatModel, Graph, GraphEvents, GraphNodeActions, GraphNodeKeys, HARD_MAX_TOOL_RESULT_CHARS, HARD_MAX_TOTAL_TOOL_OUTPUT_SIZE, HOOK_EVENTS, HOOK_INJECTED_MESSAGES_CAPABLE, HOOK_PREEMPT_BOUNDARY_CAPABLE, HandlerRegistry, HookRegistry, HumanMessage, IMAGE_TOKEN_SAFETY_MARGIN, INTENT_ARG, INTENT_DESCRIPTION, INTENT_LABEL_MARKER, INTENT_PROPERTY, INTERRUPT, InMemorySubagentTaskStore, JsonlSessionStore, LLMStreamHandler, LOCAL_CODING_BUNDLE_NAMES, LOCAL_CODING_TOOL_NAMES, LOCAL_SPAWN_TIMEOUT_MS, LocalBashExecutionToolDescription, LocalCodeExecutionToolDescription, LocalEditFileToolName, LocalEditFileToolSchema, LocalFileCheckpointerImpl, LocalGlobSearchToolName, LocalGlobSearchToolSchema, LocalGrepSearchToolName, LocalGrepSearchToolSchema, LocalListDirectoryToolName, LocalListDirectoryToolSchema, LocalReadFileToolSchema, LocalWriteFileToolName, LocalWriteFileToolSchema, MAX_ASK_USER_QUESTIONS, MAX_CACHE_SIZE, MAX_PATTERN_LENGTH, MULTI_AGENT_GRAPH_RUN_NAME, MemorySaver, ModelEndHandler, MultiAgentGraph, OPENAI_RESPONSES_ACTIVE_REASONING_ID_KEY, OPENAI_RESPONSES_REPLAY_POSITIONS_KEY, ORIGINAL_CONTENT_MAX_CHARS, PREDECESSOR_HANDOFF_CUE, PREEMPT_BOUNDARY_HOOK_TIMEOUT_MS, PROVIDER_MESSAGE_PROVENANCE_LIMITS, PROVIDER_MESSAGE_PROVENANCE_VERSION, ProgrammaticToolCallingDefinition, ProgrammaticToolCallingDescription, ProgrammaticToolCallingName, ProgrammaticToolCallingSchema, PromptTemplate, Providers, REASONING_LABEL_RUN_NAME, REMOVE_ALL_MESSAGES, REPLY_PRIMER_TOKENS, ReadFileToolDefinition, ReadFileToolDescription, ReadFileToolName, ReadFileToolSchema, Run, Runnable, RunnableCallable, RunnableLambda, RunnableSequence, SDK_STREAM_DISPATCH, STANDARD_GRAPH_RUN_NAME, STATEFUL_BASH_NOTE, STATEFUL_ENV_NOTE, SessionManager, SkillToolDefinition, SkillToolDescription, SkillToolName, SkillToolSchema, StandardGraph, StatefulBashExecutionToolDescription, StatefulCodeExecutionToolDescription, StepTypes, StreamLimitExceededError, StructuredTool, SubagentExecutor, SubagentToolDefinition, SubagentToolDescription, SubagentToolName, SubagentToolSchema, SystemMessage, TMP_SCRATCH_OUTPUT_REMINDER, TOOL_APPROVAL_EXECUTION_SCOPE_CONFIG_KEY, TestChatStreamHandler, TestLLMStreamHandler, TitleMethod, TokenEncoderManager, Tool, ToolCallTypes, ToolEndHandler, ToolMessage, ToolNode, ToolSearchToolDefinition, ToolSearchToolDescription, ToolSearchToolName, ToolSearchToolSchema, UnsafeTokenMeasurementError, WebSearchToolDefinition, WebSearchToolDescription, WebSearchToolName, WebSearchToolSchema, _createBashProgramForTests, _resetLocalEngineWarningsForTests, _resetRipgrepCacheForTests, _resetSyntaxCheckProbeCacheForTests, _resetUnrecognizedTriggerWarnings, addBedrockCacheControl, addBedrockTailCacheControl, addCacheControl, addCacheControlToStablePrefixMessages, addCodeApiExecutionProfileHeader, addTailCacheControl, appendCodeSessionFileSummary, appendFailedExecutionFileReminder, appendPredecessorHandoffCue, appendProviderMessageProvenance, appendTmpScratchReminder, applyContextPruning, applyEdit, applyOutcome, applyPreToolUseHooksForBridge, apportionTokenCounts, askUserQuestion, askUserQuestions, attemptInvoke, bashAstFindingsToErrors, buildAnthropicCacheControl, buildBashExecutionToolDescription, buildBashExecutionToolSchema, buildBedrockCachePoint, buildChildInputs, buildCodeApiEndpoint, buildCodeApiExecutionErrorMessage, buildCodeApiHttpErrorMessage, buildCodeExecutionToolDescription, buildCodeExecutionToolSchema, buildSandboxRuntimeConfig, buildSubagentToolParams, calculateMaxToolCallInputChars, calculateMaxToolResultChars, calculateMaxTotalToolOutputSize, calculateTotalTokens, canSealPreempt, checkValidNumber, clampCalibrationRatio, classifyAttachment, clientExecTimeoutMs, clientFsTimeoutMs, cloneMessage, coalesceAdjacentUserTurns, compactSyntheticProviderContextMessage, composeAbortSignals, composeEventHandlers, computeAdaptivePieceSize, convertInjectedMessages, convertMessagesToContent, countNestedGroups, countrySchema, createAgentSession, createBashExecutionTool, createBashProgrammaticToolCallingSchema, createBashProgrammaticToolCallingTool, createCloudflareBashExecutionTool, createCloudflareBashProgrammaticToolCallingTool, createCloudflareBridgeRuntime, createCloudflareCodeExecutionTool, createCloudflareCodingToolBundle, createCloudflareCodingTools, createCloudflareExecutionTool, createCloudflareLocalExecutionConfig, createCloudflareProgrammaticToolCallingTool, createCloudflareWorkspaceFS, createCodeExecutionTool, createCompileCheckTool, createCompileCheckToolDefinition, createContentAggregator, createFakeStreamingLLM, createGraph, createHandlers, createLocalBashExecutionTool, createLocalBashProgrammaticToolCallingTool, createLocalCodeExecutionTool, createLocalCodingToolBundle, createLocalCodingToolDefinitions, createLocalCodingToolRegistry, createLocalCodingTools, createLocalEditFileTool, createLocalFileCheckpointer, createLocalGlobSearchTool, createLocalGrepSearchTool, createLocalListDirectoryTool, createLocalProgrammaticToolCallingTool, createLocalReadFileTool, createLocalWriteFileTool, createMetadataAggregator, createProgrammaticToolCallingSchema, createProgrammaticToolCallingTool, createPruneMessages, createRemoveAllMessage, createRunHandlers, createSchemaOnlyTool, createSchemaOnlyTools, createSearchTool, createSubagentToolDefinition, createTokenCounter, createToolErrorOwnership, createToolPolicyHook, createToolSearch, createWorkspacePolicyHook, dateSchema, decodeFile, defaultOmitOptions, deserializeMessage, dispatchesChatModelStream, emptyOutputMessage, encodeFile, encodingForModel, enforceOriginalContentCap, ensureThinkingBlockInMessages, escapeRegexSpecialChars, estimateAnthropicImageTokens, estimateDocumentBlockTokens, estimateImageBlockTokens, estimateOpenAIImageTokens, estimateTimedMediaBlockTokens, execWithClientTimeout, executeCloudflareBash, executeCloudflareCode, executeHooks, executeLocalBash, executeLocalBashWithArgs, executeLocalCode, executeParallelSearches, executeTools, extractErrorMessage, extractImageDimensions, extractMcpServerName, extractTextFromContent, extractToolDiscoveries, extractUsedBashToolNames, extractUsedToolNames, fetchSessionFiles, filterBashToolsByUsage, filterGraphSubagentResult, filterSubagentResult, filterToolsByUsage, findLastIndex, foldToolBlocksForToollessAgent, formatAgentMessages, formatAnthropicArtifactContent, formatAnthropicMessage, formatArtifactPayload, formatCloudflareOutput, formatCompletedResponse, formatContentStrings, formatFromLangChain, formatLangChainMessages, formatMediaMessage, formatMessage, formatServerListing, formatSkillCatalog, getAssistantTextPhase, getAvailableMcpServers, getBaseToolName, getBufferString, getChatModelClass, getChunkContent, getCloudflareWorkspaceRoot, getCodeBaseURL, getContextOverflowInfo, getConverseOverrideMessage, getDeferredToolsListing, getLocalCwd, getLocalSessionId, getMaxOutputTokensKey, getMessageCreationContentMetadata, getMessageId, getMessagesWithinTokenLimit, getProviderMessageProvenance, getProviderSourceMessageIds, getReadRoots, getSpawn, getTokenCountForMessage, getWorkspaceFS, getWorkspaceRoots, getWriteRoots, handleServerToolResult, handleToolCallChunks, handleToolCalls, hasBijectiveProviderContentPartMapping, hasNestedQuantifier, hasNestedQuantifiers, hasToolSearchInCurrentTurn, hasUnsafeStructuredSerialization, imageAttachmentContent, imagesSchema, initializeModel, inspectProviderMessageProvenance, inspectProviderSourceMessageIds, interrupt, isAIMessage, isAnthropicLike, isAskUserQuestionsInterrupt, isBaseMessage, isContextOverflowError, isDangerousPattern, isFromAnyMcpServer, isFromMcpServer, isGoogleLike, isGraphSubagentConfig, isIntentLabelProperty, isInterrupted, isLegacyConvertible, isLikelyContextOverflowError, isOpenAILike, isPresent, isProgrammaticRunnerAutoBound, isProgrammaticRunnerResolvedDirectly, isSyntheticProviderContextMessage, isThinkingEnabled, isToolMessage, isZodSchema, joinKeys, labelContentByAgent, locateEdit, makeIsDeferred, makeRequest, mapChatMessagesToStoredMessages, mapStoredMessagesToChatMessages, maskConsumedToolResults, matchesQuery, messagesStateReducer, modifyDeltaProperties, newsSchema, normalizeBashToolResultsForReplay, normalizeCodeApiRequestError, normalizeServerFilter, normalizeSubagentConfigEntries, normalizeSubagentConfigs, normalizeToBashIdentifier, normalizeToPythonIdentifier, outcomeFieldsFromResult, parseBooleanEnv, partitionAndMarkAnthropicToolCache, performLocalSearch, preFlightTruncateToolCallInputs, preFlightTruncateToolResults, prepareProviderRequest, projectAgentContextUsage, projectAnthropicArtifactContent, projectArtifactPayload, projectCacheControlledToolOutputsToText, projectComputerCallOutputsToText, projectOpenAIChatToolMessageContent, projectOpenAIResponsesToolMessageContent, projectOpenAIToolMessageContent, projectOpenRouterToolMessageContent, projectSingleTextToolOutputsToText, projectStructuredToolOutputsToText, projectToolCallInputs, projectToolStreamContentForProvider, querySchema, readIntent, readOutcomeFields, removePredecessorHandoffCue, repairOrphanedToolMessages, resetIfNotEmpty, resolveBedrockPromptCacheTtl, resolveCloudflareSandbox, resolveCodeApiAuthHeaders, resolveContextPruningSettings, resolveFetchProxyAgent, resolveLocalExecutionConfig, resolveLocalExecutionTools, resolveLocalImplementationNames, resolveLocalToolRegistry, resolveLocalToolsForBinding, resolvePromptCacheTtl, resolveSearchOutcome, resolveStreamDelay, resolveStreamLimits, resolveSubagentConfigEntries, resolveSubagentConfigs, resolveToolOutcome, resolveWorkspacePath, resolveWorkspacePathSafe, runBashAstChecks, runPostEditSyntaxCheck, sanitizeOrphanToolBlocks, sanitizeRegex, selectRuntimeSessionHint, serializeMessage, serializeToolCallInput, setInvalidProviderMessageProvenance, setProviderMessageProvenance, shellQuote, shiftIndexTokenCountMap, shouldBypassProxy, shouldTriggerSummarization, sleep, smoothStream, spawnLocalProcess, splitAssistantTextContentByPhase, splitAtRecencyBoundary, stampSyntheticProviderMessage, strictAlternationProviders, stripAnthropicCacheControl, stripBedrockCacheControl, stripCodeSessionFileSummary, stripIntent, summarizeEvent, supportsBedrockToolCache, syncBudgetDerivedFields, toJsonSchema, tool, toolResultTypes, toolsCondition, truncateLocalOutput, truncateToolInput, truncateToolResultContent, tryFallbackProviders, unescapeObject, unwrapToolResponse, validateBashCommand, validateCloudflareBashCommand, videosSchema, withClientTimeout, withIntent, withMessageRole, withoutIntent };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import "../common/enum.mjs";
|
|
2
2
|
import "../common/index.mjs";
|
|
3
|
+
import { cloneMessage } from "./cache.mjs";
|
|
3
4
|
//#region src/messages/content.ts
|
|
4
5
|
const isLegacyConvertible = (message) => {
|
|
5
6
|
const messageType = message.getType();
|
|
@@ -14,11 +15,11 @@ const formatContentStrings = (payload) => {
|
|
|
14
15
|
result.push(message);
|
|
15
16
|
continue;
|
|
16
17
|
}
|
|
17
|
-
|
|
18
|
-
if (curr.type === "text") return `${acc}${curr["text"]
|
|
18
|
+
const content = message.content.reduce((acc, curr) => {
|
|
19
|
+
if (curr.type === "text") return `${acc}${curr["text"] ?? ""}\n`;
|
|
19
20
|
return acc;
|
|
20
|
-
}, "")
|
|
21
|
-
result.push(message);
|
|
21
|
+
}, "");
|
|
22
|
+
result.push(cloneMessage(message, content.trim()));
|
|
22
23
|
}
|
|
23
24
|
return result;
|
|
24
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.mjs","names":[],"sources":["../../../src/messages/content.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"content.mjs","names":[],"sources":["../../../src/messages/content.ts"],"mappings":";;;;AAWA,MAAa,uBAAuB,YAAkC;CACpE,MAAM,cAAc,QAAQ,QAAQ;CAGpC,IAAI,EADF,gBAAgB,WAAW,gBAAgB,QAAQ,gBAAgB,WAEnE,OAAO;CAET,IAAI,CAAC,MAAM,QAAQ,QAAQ,OAAO,GAChC,OAAO;CAET,OAAO,QAAQ,QAAQ,OAAO,UAAU,MAAM,SAAA,MAA0B;AAC1E;AAOA,MAAa,wBACX,YACuB;CAEvB,MAAM,SAA6B,CAAC;CAEpC,KAAK,MAAM,WAAW,SAAS;EAC7B,IAAI,CAAC,oBAAoB,OAAO,GAAG;GACjC,OAAO,KAAK,OAAO;GACnB;EACF;EAIA,MAAM,UADS,QAAQ,QACA,QAAQ,KAAK,SAAS;GAC3C,IAAI,KAAK,SAAA,QACP,OAAO,GAAG,MAAM,KAAA,WAA2B,GAAG;GAEhD,OAAO;EACT,GAAG,EAAE;EAEL,OAAO,KAAK,aAAa,SAAS,QAAQ,KAAK,CAAC,CAAC;CACnD;CAEA,OAAO;AACT"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -48,6 +48,8 @@ export type { SmoothItem, SmoothPiece } from './llm/stream/smoother';
|
|
|
48
48
|
export { FakeChatModel, createFakeStreamingLLM } from './llm/fake';
|
|
49
49
|
export { initializeModel } from './llm/init';
|
|
50
50
|
export { attemptInvoke, tryFallbackProviders } from './llm/invoke';
|
|
51
|
+
export { prepareProviderRequest } from './llm/prepareProviderRequest';
|
|
52
|
+
export type { PreparedProviderRequest, PrepareProviderRequestParams, ProviderMessageProjectionMode, ProviderPayloadMeasurement, ProviderRequestContext, } from './llm/prepareProviderRequest';
|
|
51
53
|
export { canSealPreempt } from './llm/preempt';
|
|
52
54
|
export { isThinkingEnabled, getMaxOutputTokensKey } from './llm/request';
|
|
53
55
|
export { DEFAULT_MAX_TOOL_CALL_ARG_BYTES, StreamLimitExceededError, resolveStreamLimits, } from './llm/streamLimits';
|