@librechat/agents 3.7.13 → 3.7.14
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/agents/AgentContext.cjs +1 -1
- package/dist/cjs/common/constants.cjs +2 -0
- package/dist/cjs/common/constants.cjs.map +1 -1
- package/dist/cjs/graphs/Graph.cjs +46 -10
- package/dist/cjs/graphs/Graph.cjs.map +1 -1
- package/dist/cjs/hooks/index.cjs +2 -0
- package/dist/cjs/hooks/index.cjs.map +1 -1
- package/dist/cjs/langfuse.cjs +16 -0
- package/dist/cjs/langfuse.cjs.map +1 -1
- package/dist/cjs/llm/invoke.cjs +191 -81
- package/dist/cjs/llm/invoke.cjs.map +1 -1
- package/dist/cjs/llm/preempt.cjs +77 -1
- package/dist/cjs/llm/preempt.cjs.map +1 -1
- package/dist/cjs/llm/prepareProviderRequest.cjs +2 -2
- package/dist/cjs/main.cjs +7 -4
- package/dist/cjs/messages/core.cjs +6 -0
- package/dist/cjs/messages/core.cjs.map +1 -1
- package/dist/cjs/messages/index.cjs +1 -1
- package/dist/cjs/messages/prune.cjs +2 -2
- package/dist/cjs/run.cjs +3 -2
- package/dist/cjs/run.cjs.map +1 -1
- package/dist/cjs/stream.cjs +4 -6
- package/dist/cjs/stream.cjs.map +1 -1
- package/dist/cjs/summarization/node.cjs +1 -1
- package/dist/cjs/utils/tokens.cjs +1 -1
- package/dist/esm/agents/AgentContext.mjs +1 -1
- package/dist/esm/common/constants.mjs +2 -1
- package/dist/esm/common/constants.mjs.map +1 -1
- package/dist/esm/graphs/Graph.mjs +46 -10
- package/dist/esm/graphs/Graph.mjs.map +1 -1
- package/dist/esm/hooks/index.mjs +2 -1
- package/dist/esm/hooks/index.mjs.map +1 -1
- package/dist/esm/langfuse.mjs +16 -0
- package/dist/esm/langfuse.mjs.map +1 -1
- package/dist/esm/llm/invoke.mjs +191 -81
- package/dist/esm/llm/invoke.mjs.map +1 -1
- package/dist/esm/llm/preempt.mjs +72 -2
- package/dist/esm/llm/preempt.mjs.map +1 -1
- package/dist/esm/llm/prepareProviderRequest.mjs +2 -2
- package/dist/esm/main.mjs +7 -7
- package/dist/esm/messages/core.mjs +6 -1
- package/dist/esm/messages/core.mjs.map +1 -1
- package/dist/esm/messages/index.mjs +1 -1
- package/dist/esm/messages/prune.mjs +2 -2
- package/dist/esm/run.mjs +3 -2
- package/dist/esm/run.mjs.map +1 -1
- package/dist/esm/stream.mjs +4 -6
- package/dist/esm/stream.mjs.map +1 -1
- package/dist/esm/summarization/node.mjs +1 -1
- package/dist/esm/utils/tokens.mjs +1 -1
- package/dist/types/common/constants.d.ts +15 -0
- package/dist/types/graphs/Graph.d.ts +50 -0
- package/dist/types/hooks/index.d.ts +15 -0
- package/dist/types/llm/invoke.d.ts +17 -1
- package/dist/types/llm/preempt.d.ts +114 -0
- package/dist/types/messages/core.d.ts +19 -0
- package/dist/types/run.d.ts +5 -3
- package/dist/types/types/run.d.ts +58 -7
- package/package.json +1 -1
- package/src/common/constants.ts +15 -0
- package/src/graphs/Graph.ts +122 -6
- package/src/hooks/index.ts +15 -0
- package/src/langfuse.ts +53 -0
- package/src/llm/invoke.ts +614 -130
- package/src/llm/preempt.ts +320 -1
- package/src/messages/core.ts +28 -0
- package/src/run.ts +12 -4
- package/src/stream.ts +4 -12
- package/src/types/run.ts +58 -7
package/dist/cjs/llm/invoke.cjs
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
require("../common/enum.cjs");
|
|
2
2
|
require("../common/index.cjs");
|
|
3
|
+
const require_misc = require("../utils/misc.cjs");
|
|
4
|
+
const require_core = require("../messages/core.cjs");
|
|
5
|
+
const require_preempt = require("./preempt.cjs");
|
|
3
6
|
const require_callbacks = require("../utils/callbacks.cjs");
|
|
4
7
|
const require_providerRegistry = require("./providerRegistry.cjs");
|
|
5
8
|
const require_request = require("./request.cjs");
|
|
6
|
-
const require_core = require("../messages/core.cjs");
|
|
7
9
|
const require_events = require("../utils/events.cjs");
|
|
8
10
|
const require_projectionInvariant = require("../messages/projectionInvariant.cjs");
|
|
9
11
|
require("../messages/index.cjs");
|
|
@@ -13,7 +15,6 @@ const require_errors = require("../utils/errors.cjs");
|
|
|
13
15
|
require("./providers.cjs");
|
|
14
16
|
const require_prepareProviderRequest = require("./prepareProviderRequest.cjs");
|
|
15
17
|
const require_truncation = require("./truncation.cjs");
|
|
16
|
-
const require_preempt = require("./preempt.cjs");
|
|
17
18
|
const require_init = require("./init.cjs");
|
|
18
19
|
let _langchain_core_runnables = require("@langchain/core/runnables");
|
|
19
20
|
let _langchain_core_callbacks_base = require("@langchain/core/callbacks/base");
|
|
@@ -21,6 +22,7 @@ let _langchain_core_messages = require("@langchain/core/messages");
|
|
|
21
22
|
let _langchain_core_callbacks_manager = require("@langchain/core/callbacks/manager");
|
|
22
23
|
let _langchain_core_utils_stream = require("@langchain/core/utils/stream");
|
|
23
24
|
//#region src/llm/invoke.ts
|
|
25
|
+
const MAX_TIMEOUT_MS = 2147483647;
|
|
24
26
|
let streamLimitAttemptSeq = 0;
|
|
25
27
|
function createModelStartHandler({ config, mode, provider, captureRunId }) {
|
|
26
28
|
let inspected = false;
|
|
@@ -166,7 +168,7 @@ function collectModelCallbackSources(model) {
|
|
|
166
168
|
}
|
|
167
169
|
return sources;
|
|
168
170
|
}
|
|
169
|
-
async function endSealedModelRun(context, chunk, prompt, llmRunId, config, model) {
|
|
171
|
+
async function endSealedModelRun(context, chunk, prompt, llmRunId, config, model, llmOutput = {}, nativeCloseOptional = false) {
|
|
170
172
|
const metadata = config?.metadata;
|
|
171
173
|
synthesizeSealedUsage(context, chunk, prompt, metadata);
|
|
172
174
|
if (llmRunId != null) try {
|
|
@@ -180,12 +182,12 @@ async function endSealedModelRun(context, chunk, prompt, llmRunId, config, model
|
|
|
180
182
|
};
|
|
181
183
|
await runManager.handleLLMEnd({
|
|
182
184
|
generations: [[generation]],
|
|
183
|
-
llmOutput
|
|
185
|
+
llmOutput
|
|
184
186
|
});
|
|
185
187
|
return;
|
|
186
188
|
}
|
|
187
189
|
} catch (e) {
|
|
188
|
-
console.warn("[attemptInvoke] Native close of the sealed model run failed; falling back to a custom event:", e instanceof Error ? e.message : e);
|
|
190
|
+
if (!nativeCloseOptional) console.warn("[attemptInvoke] Native close of the sealed model run failed; falling back to a custom event:", e instanceof Error ? e.message : e);
|
|
189
191
|
}
|
|
190
192
|
await require_events.safeDispatchCustomEvent("on_chat_model_end", { output: chunk }, config);
|
|
191
193
|
}
|
|
@@ -232,13 +234,14 @@ async function attemptInvoke(params, config) {
|
|
|
232
234
|
return await attemptInvokeBody({
|
|
233
235
|
request: resolveAttemptRequest(params, stampedConfig),
|
|
234
236
|
context: params.context,
|
|
235
|
-
onChunk: params.onChunk
|
|
237
|
+
onChunk: params.onChunk,
|
|
238
|
+
preemptAgentId: params.preemptAgentId
|
|
236
239
|
}, stampedConfig);
|
|
237
240
|
} finally {
|
|
238
241
|
if (leaseTarget != null && generationKey != null) require_streamLimits.releaseStreamLimitGeneration(leaseTarget, generationKey);
|
|
239
242
|
}
|
|
240
243
|
}
|
|
241
|
-
async function attemptInvokeBody({ request, context, onChunk }, config) {
|
|
244
|
+
async function attemptInvokeBody({ request, context, onChunk, preemptAgentId }, config) {
|
|
242
245
|
const { model, messages: messagesForProvider, provider } = request;
|
|
243
246
|
const projectionInvariantMode = require_projectionInvariant.resolveProviderMessageProjectionInvariantMode();
|
|
244
247
|
let sealedRunId;
|
|
@@ -253,88 +256,193 @@ async function attemptInvokeBody({ request, context, onChunk }, config) {
|
|
|
253
256
|
} : void 0
|
|
254
257
|
});
|
|
255
258
|
if (model.stream) {
|
|
256
|
-
const stream = await model.stream(messagesForProvider, invocationConfig);
|
|
257
259
|
let finalChunk;
|
|
258
|
-
let
|
|
260
|
+
let preemptAction = "none";
|
|
259
261
|
const registeredStreamHandler = getRegisteredDefaultChatStreamHandler(context);
|
|
262
|
+
const restartLane = onChunk == null && registeredStreamHandler == null && context?.preemption?.subscribe != null ? preemptAgentId : void 0;
|
|
263
|
+
const restartController = restartLane == null ? void 0 : new AbortController();
|
|
264
|
+
const streamConfig = restartController == null ? invocationConfig : {
|
|
265
|
+
...invocationConfig,
|
|
266
|
+
signal: require_misc.composeAbortSignals(invocationConfig.signal, restartController.signal)
|
|
267
|
+
};
|
|
268
|
+
const restartGraceMs = require_preempt.resolveRestartGraceMs(context?.preemption?.restartGraceMs);
|
|
269
|
+
let preemptRequestedAt;
|
|
270
|
+
let restartGraceTimer;
|
|
271
|
+
let dispatchingChunk = false;
|
|
272
|
+
const restartDecided = () => preemptAction === "restart";
|
|
273
|
+
let restartRoute;
|
|
274
|
+
let attemptActive = true;
|
|
275
|
+
const restartNeedsNativeClose = () => restartRoute !== "exhausted";
|
|
276
|
+
const restartCloseMayHaveHappened = () => restartRoute === "aborted";
|
|
277
|
+
const evaluatePreemptRestart = () => {
|
|
278
|
+
if (!attemptActive) return false;
|
|
279
|
+
if (restartController == null || preemptAction !== "none") return preemptAction === "restart";
|
|
280
|
+
if (context?.shouldPreemptStream() !== true) {
|
|
281
|
+
preemptRequestedAt = void 0;
|
|
282
|
+
return false;
|
|
283
|
+
}
|
|
284
|
+
if (dispatchingChunk) return false;
|
|
285
|
+
preemptRequestedAt ??= Date.now();
|
|
286
|
+
const requestAgeMs = Date.now() - preemptRequestedAt;
|
|
287
|
+
const action = require_preempt.resolvePreemptAction({
|
|
288
|
+
chunk: finalChunk,
|
|
289
|
+
requestAgeMs,
|
|
290
|
+
graceMs: restartGraceMs
|
|
291
|
+
});
|
|
292
|
+
if (action !== "restart") {
|
|
293
|
+
if (action === "none" && restartGraceTimer == null && require_preempt.canRestartPreempt(finalChunk)) {
|
|
294
|
+
restartGraceTimer = setTimeout(() => {
|
|
295
|
+
restartGraceTimer = void 0;
|
|
296
|
+
try {
|
|
297
|
+
evaluatePreemptRestart();
|
|
298
|
+
} catch {}
|
|
299
|
+
}, Math.min(MAX_TIMEOUT_MS, Math.max(0, restartGraceMs - requestAgeMs)));
|
|
300
|
+
restartGraceTimer.unref();
|
|
301
|
+
}
|
|
302
|
+
return false;
|
|
303
|
+
}
|
|
304
|
+
if (!context.claimPreemptRestart()) return false;
|
|
305
|
+
preemptAction = "restart";
|
|
306
|
+
if (sealedRunId != null) {
|
|
307
|
+
finalChunk ??= new _langchain_core_messages.AIMessageChunk({ content: "" });
|
|
308
|
+
synthesizeSealedUsage(context, finalChunk, messagesForProvider, config.metadata);
|
|
309
|
+
require_preempt.notePreemptRestartedRun(sealedRunId, finalChunk);
|
|
310
|
+
}
|
|
311
|
+
restartRoute = "aborted";
|
|
312
|
+
restartController.abort();
|
|
313
|
+
return true;
|
|
314
|
+
};
|
|
315
|
+
const unsubscribeWake = restartController == null ? void 0 : context?.preemption?.subscribe?.(evaluatePreemptRestart);
|
|
260
316
|
const throwIfBreakerTripped = () => {
|
|
261
317
|
const signal = config.signal;
|
|
262
318
|
if (signal?.aborted === true && signal.reason instanceof require_streamLimits.StreamLimitExceededError) throw signal.reason;
|
|
263
319
|
};
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
320
|
+
try {
|
|
321
|
+
if (!evaluatePreemptRestart()) {
|
|
322
|
+
const stream = await model.stream(messagesForProvider, streamConfig);
|
|
323
|
+
if (onChunk) {
|
|
324
|
+
const attemptMetadata = config.metadata;
|
|
325
|
+
for await (const chunk of stream) {
|
|
326
|
+
throwIfBreakerTripped();
|
|
327
|
+
if (context != null) require_streamLimits.enforceStreamLimitsForWireChunk({
|
|
328
|
+
graph: context,
|
|
329
|
+
metadata: attemptMetadata,
|
|
330
|
+
chunk
|
|
331
|
+
});
|
|
332
|
+
await onChunk(chunk, attemptMetadata);
|
|
333
|
+
finalChunk = appendStreamChunk({
|
|
334
|
+
current: finalChunk,
|
|
335
|
+
next: chunk,
|
|
336
|
+
provider
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
} else if (registeredStreamHandler == null) {
|
|
340
|
+
const metadata = config.metadata;
|
|
341
|
+
const streamHandler = new require_stream.ChatModelStreamHandler();
|
|
342
|
+
for await (const chunk of stream) {
|
|
343
|
+
throwIfBreakerTripped();
|
|
344
|
+
if (restartDecided()) break;
|
|
345
|
+
const handlingChunk = getStreamHandlingChunk({
|
|
346
|
+
current: finalChunk,
|
|
347
|
+
next: chunk,
|
|
348
|
+
provider
|
|
349
|
+
});
|
|
350
|
+
if (handlingChunk != null) {
|
|
351
|
+
dispatchingChunk = true;
|
|
352
|
+
try {
|
|
353
|
+
await streamHandler.handle("on_chat_model_stream", { chunk: handlingChunk }, metadata, context);
|
|
354
|
+
} finally {
|
|
355
|
+
dispatchingChunk = false;
|
|
356
|
+
}
|
|
357
|
+
} else if (context != null) require_streamLimits.enforceStreamLimitsForWireChunk({
|
|
358
|
+
graph: context,
|
|
359
|
+
metadata,
|
|
360
|
+
chunk,
|
|
361
|
+
side: "consumer"
|
|
362
|
+
});
|
|
363
|
+
finalChunk = appendStreamChunk({
|
|
364
|
+
current: finalChunk,
|
|
365
|
+
next: chunk,
|
|
366
|
+
provider
|
|
367
|
+
});
|
|
368
|
+
if (context?.shouldPreemptStream() !== true) preemptRequestedAt = void 0;
|
|
369
|
+
else {
|
|
370
|
+
preemptRequestedAt ??= Date.now();
|
|
371
|
+
const action = require_preempt.resolvePreemptAction({
|
|
372
|
+
chunk: finalChunk,
|
|
373
|
+
requestAgeMs: Date.now() - preemptRequestedAt,
|
|
374
|
+
graceMs: restartGraceMs
|
|
375
|
+
});
|
|
376
|
+
if (action === "seal" ? context.claimPreemptSeal() : action === "restart" && restartLane != null && context.claimPreemptRestart()) {
|
|
377
|
+
preemptAction = action;
|
|
378
|
+
if (action === "restart") restartRoute = "broke";
|
|
379
|
+
break;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
} else {
|
|
384
|
+
const metadata = config.metadata;
|
|
385
|
+
let redispatchMetadata;
|
|
386
|
+
for await (const chunk of stream) {
|
|
387
|
+
throwIfBreakerTripped();
|
|
388
|
+
if (context != null) require_streamLimits.enforceStreamLimitsForWireChunk({
|
|
389
|
+
graph: context,
|
|
390
|
+
metadata,
|
|
391
|
+
chunk
|
|
392
|
+
});
|
|
393
|
+
const handlingChunk = getStreamHandlingChunk({
|
|
394
|
+
current: finalChunk,
|
|
395
|
+
next: chunk,
|
|
396
|
+
provider
|
|
397
|
+
});
|
|
398
|
+
if (handlingChunk != null && handlingChunk !== chunk) {
|
|
399
|
+
redispatchMetadata ??= {
|
|
400
|
+
...metadata ?? {},
|
|
401
|
+
[require_streamLimits.STREAM_LIMIT_REDISPATCH_KEY]: true
|
|
402
|
+
};
|
|
403
|
+
await registeredStreamHandler.handle("on_chat_model_stream", { chunk: handlingChunk }, redispatchMetadata, context);
|
|
404
|
+
}
|
|
405
|
+
finalChunk = appendStreamChunk({
|
|
406
|
+
current: finalChunk,
|
|
407
|
+
next: chunk,
|
|
408
|
+
provider
|
|
409
|
+
});
|
|
410
|
+
}
|
|
305
411
|
}
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
let redispatchMetadata;
|
|
310
|
-
for await (const chunk of stream) {
|
|
311
|
-
throwIfBreakerTripped();
|
|
312
|
-
if (context != null) require_streamLimits.enforceStreamLimitsForWireChunk({
|
|
313
|
-
graph: context,
|
|
314
|
-
metadata,
|
|
315
|
-
chunk
|
|
316
|
-
});
|
|
317
|
-
const handlingChunk = getStreamHandlingChunk({
|
|
318
|
-
current: finalChunk,
|
|
319
|
-
next: chunk,
|
|
320
|
-
provider
|
|
321
|
-
});
|
|
322
|
-
if (handlingChunk != null && handlingChunk !== chunk) {
|
|
323
|
-
redispatchMetadata ??= {
|
|
324
|
-
...metadata ?? {},
|
|
325
|
-
[require_streamLimits.STREAM_LIMIT_REDISPATCH_KEY]: true
|
|
326
|
-
};
|
|
327
|
-
await registeredStreamHandler.handle("on_chat_model_stream", { chunk: handlingChunk }, redispatchMetadata, context);
|
|
412
|
+
if (preemptAction === "none" && restartLane != null && context?.shouldPreemptStream() === true && require_preempt.canRestartPreempt(finalChunk) && context.claimPreemptRestart()) {
|
|
413
|
+
preemptAction = "restart";
|
|
414
|
+
restartRoute = "exhausted";
|
|
328
415
|
}
|
|
329
|
-
finalChunk = appendStreamChunk({
|
|
330
|
-
current: finalChunk,
|
|
331
|
-
next: chunk,
|
|
332
|
-
provider
|
|
333
|
-
});
|
|
334
416
|
}
|
|
417
|
+
} catch (error) {
|
|
418
|
+
if (!(restartRoute === "aborted" && !(error instanceof require_streamLimits.StreamLimitExceededError) && config.signal?.aborted !== true)) throw error;
|
|
419
|
+
} finally {
|
|
420
|
+
attemptActive = false;
|
|
421
|
+
unsubscribeWake?.();
|
|
422
|
+
clearTimeout(restartGraceTimer);
|
|
335
423
|
}
|
|
336
424
|
if (require_providerRegistry.providerUsesManualToolStream(provider)) finalChunk = require_core.modifyDeltaProperties(getManualToolStreamNormalizationProvider(provider), finalChunk);
|
|
337
|
-
if (
|
|
425
|
+
if (preemptAction === "restart") {
|
|
426
|
+
if (restartRoute !== "exhausted") await context?.cancelOpenMessageStep(config.metadata);
|
|
427
|
+
if (finalChunk != null || sealedRunId != null) {
|
|
428
|
+
const discardedChunk = finalChunk ?? new _langchain_core_messages.AIMessageChunk({ content: "" });
|
|
429
|
+
const responseMetadata = {
|
|
430
|
+
...discardedChunk.response_metadata,
|
|
431
|
+
preempted: true,
|
|
432
|
+
preemptDiscarded: true
|
|
433
|
+
};
|
|
434
|
+
discardedChunk.response_metadata = responseMetadata;
|
|
435
|
+
discardedChunk.lc_kwargs.response_metadata = responseMetadata;
|
|
436
|
+
if (restartRoute === "exhausted") await require_events.safeDispatchCustomEvent("on_chat_model_end", { output: new _langchain_core_messages.AIMessageChunk({
|
|
437
|
+
content: "",
|
|
438
|
+
response_metadata: responseMetadata
|
|
439
|
+
}) }, config);
|
|
440
|
+
else await endSealedModelRun(context, discardedChunk, messagesForProvider, restartNeedsNativeClose() ? sealedRunId : void 0, config, model, require_preempt.PREEMPT_RESTART_CONTROL_FLOW, restartCloseMayHaveHappened());
|
|
441
|
+
}
|
|
442
|
+
if (restartLane != null) context?.notePreemptRestart(restartLane);
|
|
443
|
+
return { messages: [] };
|
|
444
|
+
}
|
|
445
|
+
if (preemptAction === "seal" && finalChunk != null) {
|
|
338
446
|
const responseMetadata = {
|
|
339
447
|
...finalChunk.response_metadata,
|
|
340
448
|
preempted: true
|
|
@@ -366,7 +474,7 @@ function getFallbackOverflowCandidates(error) {
|
|
|
366
474
|
if (typeof error !== "object" || error === null) return [];
|
|
367
475
|
return [...fallbackOverflowCandidates.get(error) ?? []];
|
|
368
476
|
}
|
|
369
|
-
async function tryFallbackProviders({ fallbacks, tools, messages, config, primaryError, context, onChunk, streamLimitState, overflowContext, prepareProviderRequest: prepareFallbackRequest, prepareProviderMessages }) {
|
|
477
|
+
async function tryFallbackProviders({ fallbacks, tools, messages, config, primaryError, context, onChunk, streamLimitState, preemptAgentId, overflowContext, prepareProviderRequest: prepareFallbackRequest, prepareProviderMessages }) {
|
|
370
478
|
const isOverflow = (error, contextOverride = overflowContext) => require_errors.getContextOverflowInfo(error, contextOverride) != null;
|
|
371
479
|
let lastError = primaryError;
|
|
372
480
|
const overflowCandidates = [];
|
|
@@ -409,7 +517,8 @@ async function tryFallbackProviders({ fallbacks, tools, messages, config, primar
|
|
|
409
517
|
request: preparedRequest,
|
|
410
518
|
context,
|
|
411
519
|
onChunk,
|
|
412
|
-
streamLimitState
|
|
520
|
+
streamLimitState,
|
|
521
|
+
preemptAgentId
|
|
413
522
|
}, fbConfig);
|
|
414
523
|
return await attemptInvoke({
|
|
415
524
|
model: fbModel,
|
|
@@ -417,7 +526,8 @@ async function tryFallbackProviders({ fallbacks, tools, messages, config, primar
|
|
|
417
526
|
provider: fb.provider,
|
|
418
527
|
context,
|
|
419
528
|
onChunk,
|
|
420
|
-
streamLimitState
|
|
529
|
+
streamLimitState,
|
|
530
|
+
preemptAgentId
|
|
421
531
|
}, fbConfig);
|
|
422
532
|
} catch (e) {
|
|
423
533
|
if (e instanceof require_streamLimits.StreamLimitExceededError) throw e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.cjs","names":["BaseCallbackHandler","inspectProviderMessageProjection","ProviderMessageProjectionInvariantError","appendCallbacks","getProviderFamily","dispatchesChatModelStream","AIMessageChunk","CallbackManager","CallbackManagerForLLMRun","safeDispatchCustomEvent","prepareProviderRequest","STREAM_LIMIT_ATTEMPT_KEY","streamLimitAccountingEnabled","resolveGenerationKey","resolveProviderMessageProjectionInvariantMode","StreamLimitExceededError","ChatModelStreamHandler","canSealPreempt","STREAM_LIMIT_REDISPATCH_KEY","providerUsesManualToolStream","modifyDeltaProperties","getContextOverflowInfo","initializeModel","resolveClientOptionsModel"],"sources":["../../../src/llm/invoke.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"invoke.cjs","names":["BaseCallbackHandler","inspectProviderMessageProjection","ProviderMessageProjectionInvariantError","appendCallbacks","getProviderFamily","dispatchesChatModelStream","AIMessageChunk","CallbackManager","CallbackManagerForLLMRun","safeDispatchCustomEvent","prepareProviderRequest","STREAM_LIMIT_ATTEMPT_KEY","streamLimitAccountingEnabled","resolveGenerationKey","resolveProviderMessageProjectionInvariantMode","composeAbortSignals","resolveRestartGraceMs","resolvePreemptAction","canRestartPreempt","StreamLimitExceededError","ChatModelStreamHandler","STREAM_LIMIT_REDISPATCH_KEY","providerUsesManualToolStream","modifyDeltaProperties","PREEMPT_RESTART_CONTROL_FLOW","getContextOverflowInfo","initializeModel","resolveClientOptionsModel"],"sources":["../../../src/llm/invoke.ts"],"mappings":"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"}
|
package/dist/cjs/llm/preempt.cjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
require("../common/constants.cjs");
|
|
1
|
+
const require_constants = require("../common/constants.cjs");
|
|
2
2
|
require("../common/enum.cjs");
|
|
3
3
|
require("../common/index.cjs");
|
|
4
|
+
const require_core = require("../messages/core.cjs");
|
|
4
5
|
//#region src/llm/preempt.ts
|
|
5
6
|
function resolveMaxSeals(maxSeals) {
|
|
6
7
|
if (maxSeals == null || !Number.isFinite(maxSeals)) return 8;
|
|
@@ -41,6 +42,18 @@ function countOpenToolCalls(calls, settled) {
|
|
|
41
42
|
for (const call of calls) if (call.id == null || !settled.has(call.id)) open += 1;
|
|
42
43
|
return open;
|
|
43
44
|
}
|
|
45
|
+
function isBlankTextBlock(block) {
|
|
46
|
+
if (block.type !== "text") return false;
|
|
47
|
+
return typeof block.text === "string" && block.text.trim() === "";
|
|
48
|
+
}
|
|
49
|
+
function hasResponsesProviderOutput(chunk) {
|
|
50
|
+
if (chunk.additional_kwargs.tool_outputs != null) return true;
|
|
51
|
+
const metadata = chunk.response_metadata;
|
|
52
|
+
if (metadata.tool_outputs != null) return true;
|
|
53
|
+
if (!Array.isArray(metadata.output)) return false;
|
|
54
|
+
for (const item of metadata.output) if (!require_core.isReasoningContentBlock(item)) return true;
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
44
57
|
function canSealPreempt(chunk) {
|
|
45
58
|
if (chunk == null) return false;
|
|
46
59
|
const settled = settledServerToolCallIds(chunk.content);
|
|
@@ -50,8 +63,71 @@ function canSealPreempt(chunk) {
|
|
|
50
63
|
if (hasOpenGoogleServerToolCall(chunk.content)) return false;
|
|
51
64
|
return hasNonEmptyTextContent(chunk.content);
|
|
52
65
|
}
|
|
66
|
+
function canRestartPreempt(chunk) {
|
|
67
|
+
if (chunk == null) return true;
|
|
68
|
+
if ((chunk.tool_calls?.length ?? 0) > 0) return false;
|
|
69
|
+
if ((chunk.tool_call_chunks?.length ?? 0) > 0) return false;
|
|
70
|
+
if ((chunk.invalid_tool_calls?.length ?? 0) > 0) return false;
|
|
71
|
+
if (hasResponsesProviderOutput(chunk)) return false;
|
|
72
|
+
const { content } = chunk;
|
|
73
|
+
if (typeof content === "string") return content.trim() === "";
|
|
74
|
+
for (const block of content) {
|
|
75
|
+
if (require_core.isReasoningContentBlock(block) || isBlankTextBlock(block)) continue;
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
function resolveRestartGraceMs(graceMs) {
|
|
81
|
+
if (graceMs == null || !Number.isFinite(graceMs)) return require_constants.DEFAULT_PREEMPT_RESTART_GRACE_MS;
|
|
82
|
+
return graceMs > 0 ? graceMs : 0;
|
|
83
|
+
}
|
|
84
|
+
function resolvePreemptAction({ chunk, requestAgeMs, graceMs }) {
|
|
85
|
+
if (canSealPreempt(chunk)) return "seal";
|
|
86
|
+
if (!canRestartPreempt(chunk)) return "none";
|
|
87
|
+
return requestAgeMs >= graceMs ? "restart" : "none";
|
|
88
|
+
}
|
|
89
|
+
const PREEMPT_RESTARTED_RUN_TTL_MS = 3e5;
|
|
90
|
+
const preemptRestartedRuns = /* @__PURE__ */ new Map();
|
|
91
|
+
const PREEMPT_RESTART_CONTROL_FLOW = { controlFlow: "PreemptRestart" };
|
|
92
|
+
let sweepTimer;
|
|
93
|
+
function sweepExpiredRestartedRuns(now) {
|
|
94
|
+
for (const [runId, record] of preemptRestartedRuns) {
|
|
95
|
+
if (now - record.recordedAt < PREEMPT_RESTARTED_RUN_TTL_MS) break;
|
|
96
|
+
preemptRestartedRuns.delete(runId);
|
|
97
|
+
}
|
|
98
|
+
if (preemptRestartedRuns.size === 0) {
|
|
99
|
+
if (sweepTimer != null) {
|
|
100
|
+
clearTimeout(sweepTimer);
|
|
101
|
+
sweepTimer = void 0;
|
|
102
|
+
}
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (sweepTimer != null) return;
|
|
106
|
+
sweepTimer = setTimeout(() => {
|
|
107
|
+
sweepTimer = void 0;
|
|
108
|
+
sweepExpiredRestartedRuns(Date.now());
|
|
109
|
+
}, PREEMPT_RESTARTED_RUN_TTL_MS);
|
|
110
|
+
sweepTimer.unref();
|
|
111
|
+
}
|
|
112
|
+
function notePreemptRestartedRun(runId, message) {
|
|
113
|
+
const now = Date.now();
|
|
114
|
+
preemptRestartedRuns.set(runId, {
|
|
115
|
+
message,
|
|
116
|
+
recordedAt: now
|
|
117
|
+
});
|
|
118
|
+
sweepExpiredRestartedRuns(now);
|
|
119
|
+
}
|
|
120
|
+
function readPreemptRestartedRun(runId) {
|
|
121
|
+
return preemptRestartedRuns.get(runId);
|
|
122
|
+
}
|
|
53
123
|
//#endregion
|
|
124
|
+
exports.PREEMPT_RESTART_CONTROL_FLOW = PREEMPT_RESTART_CONTROL_FLOW;
|
|
125
|
+
exports.canRestartPreempt = canRestartPreempt;
|
|
54
126
|
exports.canSealPreempt = canSealPreempt;
|
|
127
|
+
exports.notePreemptRestartedRun = notePreemptRestartedRun;
|
|
128
|
+
exports.readPreemptRestartedRun = readPreemptRestartedRun;
|
|
55
129
|
exports.resolveMaxSeals = resolveMaxSeals;
|
|
130
|
+
exports.resolvePreemptAction = resolvePreemptAction;
|
|
131
|
+
exports.resolveRestartGraceMs = resolveRestartGraceMs;
|
|
56
132
|
|
|
57
133
|
//# sourceMappingURL=preempt.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preempt.cjs","names":[],"sources":["../../../src/llm/preempt.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"preempt.cjs","names":["isReasoningContentBlock","DEFAULT_PREEMPT_RESTART_GRACE_MS"],"sources":["../../../src/llm/preempt.ts"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
require("../common/enum.cjs");
|
|
2
2
|
require("../common/index.cjs");
|
|
3
|
-
const require_providerRegistry = require("./providerRegistry.cjs");
|
|
4
|
-
const require_llm = require("../utils/llm.cjs");
|
|
5
3
|
const require_cache = require("../messages/cache.cjs");
|
|
6
4
|
const require_core = require("../messages/core.cjs");
|
|
5
|
+
const require_providerRegistry = require("./providerRegistry.cjs");
|
|
6
|
+
const require_llm = require("../utils/llm.cjs");
|
|
7
7
|
const require_alternation = require("../messages/alternation.cjs");
|
|
8
8
|
const require_handoffCue = require("../messages/handoffCue.cjs");
|
|
9
9
|
require("../messages/index.cjs");
|
package/dist/cjs/main.cjs
CHANGED
|
@@ -4,9 +4,12 @@ const require_enum = require("./common/enum.cjs");
|
|
|
4
4
|
require("./common/index.cjs");
|
|
5
5
|
const require_misc = require("./utils/misc.cjs");
|
|
6
6
|
const require_truncation = require("./utils/truncation.cjs");
|
|
7
|
+
const require_provenance = require("./messages/provenance.cjs");
|
|
8
|
+
const require_cache = require("./messages/cache.cjs");
|
|
9
|
+
const require_core = require("./messages/core.cjs");
|
|
10
|
+
const require_preempt = require("./llm/preempt.cjs");
|
|
7
11
|
const require_tokenCounterCacheCompatibility = require("./llm/tokenCounterCacheCompatibility.cjs");
|
|
8
12
|
const require_tokens = require("./utils/tokens.cjs");
|
|
9
|
-
const require_provenance = require("./messages/provenance.cjs");
|
|
10
13
|
const require_providerRegistry = require("./llm/providerRegistry.cjs");
|
|
11
14
|
const require_llm = require("./utils/llm.cjs");
|
|
12
15
|
const require_types = require("./hooks/types.cjs");
|
|
@@ -18,8 +21,6 @@ const require_createWorkspacePolicyHook = require("./hooks/createWorkspacePolicy
|
|
|
18
21
|
const require_index$1 = require("./hooks/index.cjs");
|
|
19
22
|
const require_injected = require("./messages/injected.cjs");
|
|
20
23
|
const require_request = require("./llm/request.cjs");
|
|
21
|
-
const require_cache = require("./messages/cache.cjs");
|
|
22
|
-
const require_core = require("./messages/core.cjs");
|
|
23
24
|
const require_ids = require("./messages/ids.cjs");
|
|
24
25
|
const require_contextPruningSettings = require("./messages/contextPruningSettings.cjs");
|
|
25
26
|
const require_contextPruning = require("./messages/contextPruning.cjs");
|
|
@@ -54,7 +55,6 @@ const require_InMemorySubagentTaskStore = require("./tools/subagent/InMemorySuba
|
|
|
54
55
|
require("./tools/subagent/index.cjs");
|
|
55
56
|
const require_providers = require("./llm/providers.cjs");
|
|
56
57
|
const require_prepareProviderRequest = require("./llm/prepareProviderRequest.cjs");
|
|
57
|
-
const require_preempt = require("./llm/preempt.cjs");
|
|
58
58
|
const require_init = require("./llm/init.cjs");
|
|
59
59
|
const require_invoke = require("./llm/invoke.cjs");
|
|
60
60
|
const require_bashAst = require("./tools/local/bashAst.cjs");
|
|
@@ -212,6 +212,7 @@ exports.DEFAULT_INTRA_TURN_RETAIN_RATIO = require_recency.DEFAULT_INTRA_TURN_RET
|
|
|
212
212
|
exports.DEFAULT_MAX_SEALS = require_constants.DEFAULT_MAX_SEALS;
|
|
213
213
|
exports.DEFAULT_MAX_STOP_CONTINUATIONS = require_constants.DEFAULT_MAX_STOP_CONTINUATIONS;
|
|
214
214
|
exports.DEFAULT_MAX_TOOL_CALL_ARG_BYTES = require_streamLimits.DEFAULT_MAX_TOOL_CALL_ARG_BYTES;
|
|
215
|
+
exports.DEFAULT_PREEMPT_RESTART_GRACE_MS = require_constants.DEFAULT_PREEMPT_RESTART_GRACE_MS;
|
|
215
216
|
exports.DEFAULT_PROMPT_CACHE_TTL = require_cache.DEFAULT_PROMPT_CACHE_TTL;
|
|
216
217
|
exports.DEFAULT_QUERY_DESCRIPTION = require_schema$2.DEFAULT_QUERY_DESCRIPTION;
|
|
217
218
|
exports.DEFAULT_RECURSION_LIMIT = require_constants.DEFAULT_RECURSION_LIMIT;
|
|
@@ -239,6 +240,7 @@ exports.HARD_MAX_TOTAL_TOOL_OUTPUT_SIZE = require_truncation.HARD_MAX_TOTAL_TOOL
|
|
|
239
240
|
exports.HOOK_EVENTS = require_types.HOOK_EVENTS;
|
|
240
241
|
exports.HOOK_INJECTED_MESSAGES_CAPABLE = require_index$1.HOOK_INJECTED_MESSAGES_CAPABLE;
|
|
241
242
|
exports.HOOK_PREEMPT_BOUNDARY_CAPABLE = require_index$1.HOOK_PREEMPT_BOUNDARY_CAPABLE;
|
|
243
|
+
exports.HOOK_PREEMPT_RESTART_CAPABLE = require_index$1.HOOK_PREEMPT_RESTART_CAPABLE;
|
|
242
244
|
exports.HOOK_STOP_CONTINUATION_CAPABLE = require_index$1.HOOK_STOP_CONTINUATION_CAPABLE;
|
|
243
245
|
exports.HandlerRegistry = require_events.HandlerRegistry;
|
|
244
246
|
exports.HookRegistry = require_HookRegistry.HookRegistry;
|
|
@@ -653,6 +655,7 @@ exports.isOpenAILike = require_llm.isOpenAILike;
|
|
|
653
655
|
exports.isPresent = require_misc.isPresent;
|
|
654
656
|
exports.isProgrammaticRunnerAutoBound = require_resolveLocalExecutionTools.isProgrammaticRunnerAutoBound;
|
|
655
657
|
exports.isProgrammaticRunnerResolvedDirectly = require_resolveLocalExecutionTools.isProgrammaticRunnerResolvedDirectly;
|
|
658
|
+
exports.isReasoningContentBlock = require_core.isReasoningContentBlock;
|
|
656
659
|
exports.isSyntheticProviderContextMessage = require_format.isSyntheticProviderContextMessage;
|
|
657
660
|
exports.isThinkingEnabled = require_request.isThinkingEnabled;
|
|
658
661
|
Object.defineProperty(exports, "isToolMessage", {
|
|
@@ -95,6 +95,11 @@ function getAdditionalReasoningContent(message) {
|
|
|
95
95
|
if (reasoning != null) return reasoning;
|
|
96
96
|
return getReasoningDetailsText(additionalKwargs.reasoning_details);
|
|
97
97
|
}
|
|
98
|
+
function isReasoningContentBlock(block) {
|
|
99
|
+
const type = block.type;
|
|
100
|
+
if (type == null) return false;
|
|
101
|
+
return type.startsWith("thinking") || type.startsWith("reasoning") || type === "redacted_thinking";
|
|
102
|
+
}
|
|
98
103
|
function hasReasoningContent(content) {
|
|
99
104
|
if (!Array.isArray(content)) return false;
|
|
100
105
|
return content.some((item) => {
|
|
@@ -1279,6 +1284,7 @@ exports.formatAnthropicArtifactContent = formatAnthropicArtifactContent;
|
|
|
1279
1284
|
exports.formatAnthropicMessage = formatAnthropicMessage;
|
|
1280
1285
|
exports.formatArtifactPayload = formatArtifactPayload;
|
|
1281
1286
|
exports.getConverseOverrideMessage = getConverseOverrideMessage;
|
|
1287
|
+
exports.isReasoningContentBlock = isReasoningContentBlock;
|
|
1282
1288
|
exports.modifyDeltaProperties = modifyDeltaProperties;
|
|
1283
1289
|
exports.projectAnthropicArtifactContent = projectAnthropicArtifactContent;
|
|
1284
1290
|
exports.projectArtifactPayload = projectArtifactPayload;
|