@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.
Files changed (69) hide show
  1. package/dist/cjs/agents/AgentContext.cjs +1 -1
  2. package/dist/cjs/common/constants.cjs +2 -0
  3. package/dist/cjs/common/constants.cjs.map +1 -1
  4. package/dist/cjs/graphs/Graph.cjs +46 -10
  5. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  6. package/dist/cjs/hooks/index.cjs +2 -0
  7. package/dist/cjs/hooks/index.cjs.map +1 -1
  8. package/dist/cjs/langfuse.cjs +16 -0
  9. package/dist/cjs/langfuse.cjs.map +1 -1
  10. package/dist/cjs/llm/invoke.cjs +191 -81
  11. package/dist/cjs/llm/invoke.cjs.map +1 -1
  12. package/dist/cjs/llm/preempt.cjs +77 -1
  13. package/dist/cjs/llm/preempt.cjs.map +1 -1
  14. package/dist/cjs/llm/prepareProviderRequest.cjs +2 -2
  15. package/dist/cjs/main.cjs +7 -4
  16. package/dist/cjs/messages/core.cjs +6 -0
  17. package/dist/cjs/messages/core.cjs.map +1 -1
  18. package/dist/cjs/messages/index.cjs +1 -1
  19. package/dist/cjs/messages/prune.cjs +2 -2
  20. package/dist/cjs/run.cjs +3 -2
  21. package/dist/cjs/run.cjs.map +1 -1
  22. package/dist/cjs/stream.cjs +4 -6
  23. package/dist/cjs/stream.cjs.map +1 -1
  24. package/dist/cjs/summarization/node.cjs +1 -1
  25. package/dist/cjs/utils/tokens.cjs +1 -1
  26. package/dist/esm/agents/AgentContext.mjs +1 -1
  27. package/dist/esm/common/constants.mjs +2 -1
  28. package/dist/esm/common/constants.mjs.map +1 -1
  29. package/dist/esm/graphs/Graph.mjs +46 -10
  30. package/dist/esm/graphs/Graph.mjs.map +1 -1
  31. package/dist/esm/hooks/index.mjs +2 -1
  32. package/dist/esm/hooks/index.mjs.map +1 -1
  33. package/dist/esm/langfuse.mjs +16 -0
  34. package/dist/esm/langfuse.mjs.map +1 -1
  35. package/dist/esm/llm/invoke.mjs +191 -81
  36. package/dist/esm/llm/invoke.mjs.map +1 -1
  37. package/dist/esm/llm/preempt.mjs +72 -2
  38. package/dist/esm/llm/preempt.mjs.map +1 -1
  39. package/dist/esm/llm/prepareProviderRequest.mjs +2 -2
  40. package/dist/esm/main.mjs +7 -7
  41. package/dist/esm/messages/core.mjs +6 -1
  42. package/dist/esm/messages/core.mjs.map +1 -1
  43. package/dist/esm/messages/index.mjs +1 -1
  44. package/dist/esm/messages/prune.mjs +2 -2
  45. package/dist/esm/run.mjs +3 -2
  46. package/dist/esm/run.mjs.map +1 -1
  47. package/dist/esm/stream.mjs +4 -6
  48. package/dist/esm/stream.mjs.map +1 -1
  49. package/dist/esm/summarization/node.mjs +1 -1
  50. package/dist/esm/utils/tokens.mjs +1 -1
  51. package/dist/types/common/constants.d.ts +15 -0
  52. package/dist/types/graphs/Graph.d.ts +50 -0
  53. package/dist/types/hooks/index.d.ts +15 -0
  54. package/dist/types/llm/invoke.d.ts +17 -1
  55. package/dist/types/llm/preempt.d.ts +114 -0
  56. package/dist/types/messages/core.d.ts +19 -0
  57. package/dist/types/run.d.ts +5 -3
  58. package/dist/types/types/run.d.ts +58 -7
  59. package/package.json +1 -1
  60. package/src/common/constants.ts +15 -0
  61. package/src/graphs/Graph.ts +122 -6
  62. package/src/hooks/index.ts +15 -0
  63. package/src/langfuse.ts +53 -0
  64. package/src/llm/invoke.ts +614 -130
  65. package/src/llm/preempt.ts +320 -1
  66. package/src/messages/core.ts +28 -0
  67. package/src/run.ts +12 -4
  68. package/src/stream.ts +4 -12
  69. package/src/types/run.ts +58 -7
@@ -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 preempted = false;
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
- if (onChunk) {
265
- const attemptMetadata = config.metadata;
266
- for await (const chunk of stream) {
267
- throwIfBreakerTripped();
268
- if (context != null) require_streamLimits.enforceStreamLimitsForWireChunk({
269
- graph: context,
270
- metadata: attemptMetadata,
271
- chunk
272
- });
273
- await onChunk(chunk, attemptMetadata);
274
- finalChunk = appendStreamChunk({
275
- current: finalChunk,
276
- next: chunk,
277
- provider
278
- });
279
- }
280
- } else if (registeredStreamHandler == null) {
281
- const metadata = config.metadata;
282
- const streamHandler = new require_stream.ChatModelStreamHandler();
283
- for await (const chunk of stream) {
284
- throwIfBreakerTripped();
285
- const handlingChunk = getStreamHandlingChunk({
286
- current: finalChunk,
287
- next: chunk,
288
- provider
289
- });
290
- if (handlingChunk != null) await streamHandler.handle("on_chat_model_stream", { chunk: handlingChunk }, metadata, context);
291
- else if (context != null) require_streamLimits.enforceStreamLimitsForWireChunk({
292
- graph: context,
293
- metadata,
294
- chunk,
295
- side: "consumer"
296
- });
297
- finalChunk = appendStreamChunk({
298
- current: finalChunk,
299
- next: chunk,
300
- provider
301
- });
302
- if (context?.shouldPreemptStream() === true && require_preempt.canSealPreempt(finalChunk) && context.claimPreemptSeal()) {
303
- preempted = true;
304
- break;
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
- } else {
308
- const metadata = config.metadata;
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 (preempted && finalChunk != null) {
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":";;;;;;;;;;;;;;;;;;;;;;;AAiHA,IAAI,wBAAwB;AAE5B,SAAS,wBAAwB,EAC/B,QACA,MACA,UACA,gBAMsB;CACtB,IAAI,YAAY;CAChB,MAAM,UAAUA,+BAAAA,oBAAoB,YAAY,EAC9C,sBAAsB,OACpB,MACA,gBACA,UACkB;EAClB,eAAe,KAAK;EACpB,IAAI,SAAS,SAAS,WACpB;EAEF,YAAY;EACZ,MAAM,SAASC,4BAAAA,iCAAiC,eAAe,MAAM,CAAC,CAAC;EACvE,IAAI,OAAO,OACT;EAEF,IAAI,SAAS,UACX,MAAM,IAAIC,4BAAAA,wCAAwC,MAAM;EAE1D,IAAI;GAEF,OAAM,OAAA,GAAA,0BAAA,4BAAA,CADoD,MAAM,EAAA,EACzC,oBAAA,gBAErB;IACE,OAAO;IACP,OAAO;IACP,SAAS;IACT,MAAM;KAAE;KAAU;IAAO;IACzB;GACF,GACA,KACF;EACF,QAAQ;GACN;EACF;CACF,EACF,CAAC;CACD,QAAQ,OAAO;CACf,QAAQ,aAAa,SAAS;CAC9B,QAAQ,gBAAgB;CACxB,OAAO;AACT;AAEA,SAAS,sBAAsB,EAC7B,QACA,MACA,UACA,gBAMiB;CACjB,OAAO;EACL,GAAG;EACH,WAAWC,kBAAAA,gBAAgB,OAAO,WAAW,CAC3C,wBAAwB;GAAE;GAAQ;GAAM;GAAU;EAAa,CAAC,CAClE,CAAC;CACH;AACF;AAEA,SAAS,yCACP,UACgB;CAChB,MAAM,SAASC,yBAAAA,kBAAkB,QAAQ;CACzC,IAAI,WAAW,aACb,OAAA;CAEF,IAAI,WAAW,WACb,OAAA;CAEF,OAAO;AACT;AAYA,SAAS,sCACP,SAC4B;CAC5B,MAAM,UAAU,SAAS,iBAAiB,WAAA,sBAE1C;CACA,OAAOC,eAAAA,0BAA0B,OAAO,IAAI,UAAU,KAAA;AACxD;AAEA,SAAS,oBAAoB,OAAgC;CAC3D,MAAM,mBAAmB,MAAM,kBAAkB;CACjD,OAAO,MAAM,QAAQ,gBAAgB,KAAK,iBAAiB,SAAS;AACtE;AAEA,SAAS,4CAA4C,EACnD,SACA,MACA,YAKiB;CACjB,MAAM,UAAU,mCAAmC;EACjD;EACA;EACA;CACF,CAAC;CACD,IAAI,WAAW,QAAQ,YAAY,KAAK,SACtC,OAAO;CAGT,OAAO,IAAIC,yBAAAA,eACT,OAAO,OAAO,CAAC,GAAG,MAAM,EACtB,QACF,CAAC,CACH;AACF;AAEA,SAAS,mCAAmC,EAC1C,SACA,MACA,YAKqB;CACrB,IACE,aAAA,gBACA,WAAW,QACX,CAAC,oBAAoB,IAAI,KACzB,OAAO,QAAQ,YAAY,YAC3B,QAAQ,YAAY,MACpB,OAAO,KAAK,YAAY,YACxB,KAAK,YAAY,IAEjB;CAEF,IAAI,CAAC,KAAK,QAAQ,WAAW,QAAQ,OAAO,GAC1C,OAAO,KAAK;CAEd,OAAO,KAAK,QAAQ,MAAM,QAAQ,QAAQ,MAAM;AAClD;AAEA,SAAS,uBACP,kBACqC;CACrC,OAAO,OAAO,YACZ,OAAO,QAAQ,gBAAgB,CAAC,CAAC,QAC9B,CAAC,SAAS,QAAQ,mBACrB,CACF;AACF;AAEA,SAAS,uBAAuB,EAC9B,SACA,MACA,YAK6B;CAC7B,MAAM,UAAU,mCAAmC;EACjD;EACA;EACA;CACF,CAAC;CACD,IAAI,WAAW,MACb,OAAO;CAET,IAAI,YAAY,IACd;CAEF,OAAO,IAAIA,yBAAAA,eACT,OAAO,OAAO,CAAC,GAAG,MAAM;EACtB;EACA,mBAAmB,uBAAuB,KAAK,iBAAiB;CAClE,CAAC,CACH;AACF;AAMA,SAAS,kBACP,SACA,UACA,UACoB;CACpB,IAAI;EACF,MAAM,UAAU,SAAS,gBAAgB,QAAQ,CAAC,CAAC;EACnD,IAAI,WAAW,MACb;EAEF,IAAI,QAAQ;EACZ,KAAK,MAAM,WAAW,UACpB,SAAS,QAAQ,OAAO;EAE1B,OAAO;CACT,QAAQ;EACN;CACF;AACF;AAaA,SAAS,0BACP,SACA,UACQ;CACR,IAAI;EACF,MAAM,eAAe,SAAS,gBAAgB,QAAQ;EACtD,OACE,cAAc,+BACd,cAAc,qBACd;CAEJ,QAAQ;EACN,OAAO;CACT;AACF;AAuBA,SAAS,sBACP,SACA,OACA,QACA,UACM;CACN,IAAI,MAAM,kBAAkB,MAC1B;CAEF,MAAM,eAAe,kBAAkB,SAAS,UAAU,CAAC,KAAK,CAAC;CACjE,IAAI,gBAAgB,MAClB;CAEF,MAAM,eACH,kBAAkB,SAAS,UAAU,MAAM,KAAK,KACjD,0BAA0B,SAAS,QAAQ;CAC7C,MAAM,gBAAgB;EACpB,cAAc;EACd,eAAe;EACf,cAAc,cAAc;CAC9B;CACA,MAAM,iBAAiB;CACvB,MAAM,UAAU,iBAAiB;CACjC,MAAM,mBAAmB;EACvB,GAAG,MAAM;EACT,iBAAiB;CACnB;CACA,MAAM,oBAAoB;CAC1B,MAAM,UAAU,oBAAoB;AACtC;AAEA,SAAS,eAAe,OAA+B;CACrD,IAAI,OAAO,MAAM,YAAY,UAC3B,OAAO,MAAM;CAEf,IAAI,OAAO;CACX,KAAK,MAAM,SAAS,MAAM,SACxB,IAAI,MAAM,SAAA,QAA4B;EACpC,MAAM,QAAQ,MAAA;EACd,IAAI,OAAO,UAAU,UACnB,QAAQ;CAEZ;CAEF,OAAO;AACT;AAiCA,SAAS,4BAA4B,OAA6B;CAChE,MAAM,UAAuB,CAAC;CAC9B,MAAM,uBAAO,IAAI,IAAa;CAC9B,IAAI,UAAmB;CACvB,OAAO,WAAW,QAAQ,OAAO,YAAY,YAAY,CAAC,KAAK,IAAI,OAAO,GAAG;EAC3E,KAAK,IAAI,OAAO;EAChB,MAAM,UAAU;EAOhB,IAAI,QAAQ,aAAa,MACvB,QAAQ,KAAK,QAAQ,SAAS;EAEhC,IAAI,QAAQ,QAAQ,aAAa,MAC/B,QAAQ,KAAK,QAAQ,OAAO,SAAS;EAEvC,UACE,QAAQ,SACR,QAAQ,SACP,MAAM,QAAQ,QAAQ,KAAK,IACxB,QAAQ,MAAM,QAAQ,MAAM,SAAS,KACrC,KAAA;CACR;CACA,OAAO;AACT;AAEA,eAAe,kBACb,SACA,OACA,QACA,UACA,QACA,OACe;CACf,MAAM,WAAW,QAAQ;CACzB,sBAAsB,SAAS,OAAO,QAAQ,QAAQ;CACtD,IAAI,YAAY,MACd,IAAI;EACF,IAAI,kBAAkB,OAAA,GAAA,0BAAA,4BAAA,CAAkC,MAAM;EAY9D,KAAK,MAAM,UAAU,4BAA4B,KAAK,GACpD,kBACEC,kCAAAA,gBAAgB,UAAU,mBAAmB,KAAA,GAAW,MAAM,KAC9D;EAEJ,IAAI,mBAAmB,MAAM;GAC3B,MAAM,aAAa,IAAIC,kCAAAA,yBACrB,UACA,gBAAgB,UAChB,gBAAgB,qBAChB,gBAAgB,MAChB,gBAAgB,iBAChB,gBAAgB,UAChB,gBAAgB,qBAChB,gBAAgB,eAAe,CACjC;GACA,MAAM,aAA6B;IACjC,MAAM,eAAe,KAAK;IAC1B,SAAS;GACX;GACA,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,CAAC,UAAU,CAAC;IAC1B,WAAW,CAAC;GACd,CAAC;GACD;EACF;CACF,SAAS,GAAG;EAMV,QAAQ,KACN,gGACA,aAAa,QAAQ,EAAE,UAAU,CACnC;CACF;CAEF,MAAMC,eAAAA,wBAAAA,qBAEJ,EAAE,QAAQ,MAAM,GAChB,MACF;AACF;AAEA,SAAS,kBAAkB,EACzB,SACA,MACA,YAKiB;CACjB,IAAI,WAAW,MACb,OAAO;CAET,QAAA,GAAA,6BAAA,OAAA,CACE,SACA,4CAA4C;EAAE;EAAS;EAAM;CAAS,CAAC,CACzE;AACF;AAoCA,SAAS,uBAAuB,QAA6C;CAC3E,IAAI,OAAO,WAAW,MACpB,OAAO,OAAO,QAAQ;CAExB,OAAO,OAAO;AAChB;AAEA,SAAS,sBACP,QACA,QACyB;CACzB,IAAI,OAAO,WAAW,MAAM;EAC1B,+BAAA,iCACE,OAAO,SACP,OAAO,QAAQ,OACf,OAAO,QAAQ,UACf,MACF;EACA,OAAO,OAAO;CAChB;CACA,OAAOC,+BAAAA,uBAAuB;EAC5B,OAAO,OAAO;EACd,UAAU,OAAO;EACjB,UAAU,OAAO;EACjB,SAAS,OAAO;EAChB;CACF,CAAC;AACH;AASA,eAAsB,cACpB,QACA,QACoC;CACpC,MAAM,WAAW,uBAAuB,MAAM;CAC9C,MAAM,gBAAgC;EACpC,GAAG;EACH,UAAU;GACR,GAAI,QAAQ,YAAY,CAAC;2BACK;IAU7BC,qBAAAA,2BAA2B,EAAE;EAChC;CACF;CACA,MAAM,iBAAiB,OAAO,WAAW,OAAO;CAIhD,MAAM,cACJ,kBAAkB,QAAQC,qBAAAA,6BAA6B,cAAc,IACjE,iBACA,KAAA;CACN,MAAM,gBACJ,eAAe,OACXC,qBAAAA,qBAAqB,cAAc,QAAmC,IACtE,KAAA;CACN,IAAI,eAAe,QAAQ,iBAAiB,MAC1C,qBAAA,oCAAoC,aAAa,aAAa;CAEhE,IAAI;EACF,OAAO,MAAM,kBACX;GACE,SAAS,sBAAsB,QAAQ,aAAa;GACpD,SAAS,OAAO;GAChB,SAAS,OAAO;EAClB,GACA,aACF;CACF,UAAU;EACR,IAAI,eAAe,QAAQ,iBAAiB,MAC1C,qBAAA,6BAA6B,aAAa,aAAa;CAE3D;AACF;AAEA,eAAe,kBACb,EACE,SACA,SACA,WAIF,QACoC;CACpC,MAAM,EAAE,OAAO,UAAU,qBAAqB,aAAa;CAC3D,MAAM,0BACJC,4BAAAA,8CAA8C;CAChD,IAAI;CACJ,IAAI,mBAAmB;CACvB,MAAM,oBAAoB,MAAM,UAAU,QAAQ,SAAS,cAAc;CACzE,IAAI,4BAA4B,SAAS,mBACvC,mBAAmB,sBAAsB;EACvC;EACA,MAAM;EACN;EACA,cAAc,qBACT,UAAwB;GACzB,gBAAgB;EAClB,IACE,KAAA;CACN,CAAC;CAYH,IAAI,MAAM,QAAQ;EAQhB,MAAM,SAAS,MAAM,MAAM,OAAO,qBAAqB,gBAAgB;EACvE,IAAI;EACJ,IAAI,YAAY;EAChB,MAAM,0BACJ,sCAAsC,OAAO;EAM/C,MAAM,8BAAoC;GACxC,MAAM,SAAS,OAAO;GACtB,IACE,QAAQ,YAAY,QACpB,OAAO,kBAAkBC,qBAAAA,0BAEzB,MAAM,OAAO;EAEjB;EAEA,IAAI,SAAS;GACX,MAAM,kBAAkB,OAAO;GAG/B,WAAW,MAAM,SAAS,QAAQ;IAChC,sBAAsB;IAMtB,IAAI,WAAW,MACb,qBAAA,gCAAgC;KAC9B,OAAO;KACP,UAAU;KACV;IACF,CAAC;IAEH,MAAM,QAAQ,OAAO,eAAe;IACpC,aAAa,kBAAkB;KAC7B,SAAS;KACT,MAAM;KACN;IACF,CAAC;GACH;EACF,OAAO,IAAI,2BAA2B,MAAM;GAC1C,MAAM,WAAW,OAAO;GACxB,MAAM,gBAAgB,IAAIC,eAAAA,uBAAuB;GACjD,WAAW,MAAM,SAAS,QAAQ;IAChC,sBAAsB;IACtB,MAAM,gBAAgB,uBAAuB;KAC3C,SAAS;KACT,MAAM;KACN;IACF,CAAC;IACD,IAAI,iBAAiB,MACnB,MAAM,cAAc,OAAA,wBAElB,EAAE,OAAO,cAAc,GACvB,UACA,OACF;SACK,IAAI,WAAW,MAWpB,qBAAA,gCAAgC;KAC9B,OAAO;KACP;KACA;KACA,MAAM;IACR,CAAC;IAEH,aAAa,kBAAkB;KAC7B,SAAS;KACT,MAAM;KACN;IACF,CAAC;IAaD,IACE,SAAS,oBAAoB,MAAM,QACnCC,gBAAAA,eAAe,UAAU,KACzB,QAAQ,iBAAiB,GACzB;KACA,YAAY;KACZ;IACF;GACF;EACF,OAAO;GACL,MAAM,WAAW,OAAO;GAQxB,IAAI;GACJ,WAAW,MAAM,SAAS,QAAQ;IAChC,sBAAsB;IAQtB,IAAI,WAAW,MACb,qBAAA,gCAAgC;KAAE,OAAO;KAAS;KAAU;IAAM,CAAC;IAErE,MAAM,gBAAgB,uBAAuB;KAC3C,SAAS;KACT,MAAM;KACN;IACF,CAAC;IACD,IAAI,iBAAiB,QAAQ,kBAAkB,OAAO;KACpD,uBAAuB;MACrB,GAAI,YAAY,CAAC;OAChBC,qBAAAA,8BAA8B;KACjC;KACA,MAAM,wBAAwB,OAAA,wBAE5B,EAAE,OAAO,cAAc,GACvB,oBACA,OACF;IACF;IACA,aAAa,kBAAkB;KAC7B,SAAS;KACT,MAAM;KACN;IACF,CAAC;GACH;EACF;EAEA,IAAIC,yBAAAA,6BAA6B,QAAQ,GACvC,aAAaC,aAAAA,sBACX,yCAAyC,QAAQ,GACjD,UACF;EAGF,IAAI,aAAa,cAAc,MAAM;GACnC,MAAM,mBAAmB;IACvB,GAAG,WAAW;IACd,WAAW;GACb;GACA,WAAW,oBAAoB;GAC/B,WAAW,UAAU,oBAAoB;GACzC,MAAM,kBACJ,SACA,YACA,qBACA,aACA,QACA,KACF;EACF;EAEA,KAAK,YAAY,YAAY,UAAU,KAAK,GAC1C,WAAY,aAAa,WAAY,YAAY,QAC9C,cAAwB,CAAC,CAAC,UAAU,IACvC;EAGF,mBAAA,2BAA2B,YAAY,QAAQ;EAC/C,OAAO,EAAE,UAAU,CAAC,UAA4B,EAAE;CACpD;CAEA,MAAM,eAAe,MAAM,MAAM,OAC/B,qBACA,gBACF;CACA,KAAK,aAAa,YAAY,UAAU,KAAK,GAC3C,aAAa,aAAa,aAAa,YAAY,QAChD,cAAwB,CAAC,CAAC,UAAU,IACvC;CAEF,mBAAA,2BAA2B,cAAc,QAAQ;CACjD,OAAO,EAAE,UAAU,CAAC,YAAY,EAAE;AACpC;AAmBA,MAAM,wCAAwB,IAAI,QAAsC;AACxE,MAAM,6CAA6B,IAAI,QAGrC;AAEF,SAAS,2BACP,OACA,iBACM;CACN,IAAI,OAAO,UAAU,YAAY,UAAU,MACzC;CAEF,sBAAsB,IAAI,OAAO,eAAe;AAClD;AAGA,SAAgB,wBACd,OACkC;CAClC,IAAI,OAAO,UAAU,YAAY,UAAU,MACzC;CAEF,OAAO,sBAAsB,IAAI,KAAK;AACxC;AAGA,SAAgB,8BACd,OAC6B;CAC7B,IAAI,OAAO,UAAU,YAAY,UAAU,MACzC,OAAO,CAAC;CAEV,OAAO,CAAC,GAAI,2BAA2B,IAAI,KAAK,KAAK,CAAC,CAAE;AAC1D;AAWA,eAAsB,qBAAqB,EACzC,WACA,OACA,UACA,QACA,cACA,SACA,SACA,kBACA,iBACA,wBAAwB,wBACxB,2BAwCiD;CACjD,MAAM,cACJ,OACA,kBAAkB,oBACNC,eAAAA,uBAAuB,OAAO,eAAe,KAAK;CAChE,IAAI,YAAqB;CAOzB,MAAM,qBAAkD,CAAC;CACzD,MAAM,uBAAgC,WAAW,YAAY,IACzD,eACA,KAAA;CACJ,KAAK,MAAM,MAAM,WACf,IAAI;EACF,MAAM,UAAUC,aAAAA,gBAAgB;GAC9B,UAAU,GAAG;GACb,eAAe,GAAG;GAClB;EACF,CAAC;EAQD,MAAM,cAAcC,gBAAAA,0BAA0B,GAAG,aAAa;EAC9D,MAAM,WACJ,eAAe,OACX,SACA;GACA,GAAG;GACH,UAAU;IACR,GAAI,QAAQ,YAAY,CAAC;yBACE;GAC7B;EACF;EACJ,MAAM,mBAAmB;GACvB,OAAO;GACP;GACA,UAAU,GAAG;GACb,eAAe,GAAG;GAClB,kBAAkB,GAAG;GACrB,QAAQ;EACV;EACA,MAAM,kBAAkB,MAAM,yBAAyB,gBAAgB;EACvE,IAAI,mBAAmB,MACrB,+BAAA,iCACE,iBACA,SACA,GAAG,UACH,QACF;EAEF,IAAI,mBAAmB;EACvB,IAAI,mBAAmB,MACrB,mBACG,MAAM,0BAA0B;GAC/B,OAAO;GACP;GACA,UAAU,GAAG;GACb,eAAe,GAAG;GAClB,kBAAkB,GAAG;GACrB,QAAQ;EACV,CAAC,KAAM;EAMX,IACE,QAAQ,QAAQ,YAAY,QAC5B,OAAO,OAAO,kBAAkBR,qBAAAA,0BAEhC,MAAM,OAAO,OAAO;EAEtB,IAAI,mBAAmB,MACrB,OAAO,MAAM,cACX;GACE,SAAS;GACT;GACA;GACA;EACF,GACA,QACF;EAEF,OAAO,MAAM,cACX;GACE,OAAO;GACP,UAAU;GACV,UAAU,GAAG;GACb;GACA;GACA;EACF,GACA,QACF;CACF,SAAS,GAAG;EAMV,IAAI,aAAaA,qBAAAA,0BACf,MAAM;EAMR,IACE,QAAQ,QAAQ,YAAY,QAC5B,OAAO,OAAO,kBAAkBA,qBAAAA,0BAEhC,MAAM,OAAO,OAAO;EAEtB,YAAY;EAUZ,IAAI,WAAW,GAAG;GARhB,UAAU,GAAG;GACb,kBAAkB,GAAG;GACrB,GAAI,iBAAiB,aAAa,GAAG,WACjC,EACA,uBAAuB,gBAAgB,sBACzC,IACE,CAAC;EAEiC,CAAC,GAAG;GAC1C,MAAM,eAAqC;IACzC,UAAU,GAAG;IACb,eAAe,GAAG;IAClB,kBAAkB,GAAG;GACvB;GACA,2BAA2B,GAAG,YAAY;GAC1C,mBAAmB,KAAK;IAAE,OAAO;IAAG,SAAS;GAAa,CAAC;EAC7D;EACA;CACF;CAQF,MAAM,YACJ,mBAAmB,EAAE,EAAE,SAAS,wBAAwB;CAC1D,IACE,mBAAmB,SAAS,KAC5B,OAAO,cAAc,YACrB,cAAc,MAEd,2BAA2B,IAAI,WAAW,kBAAkB;CAE9D,IAAI,cAAc,KAAA,GAChB,MAAM;AAGV"}
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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"}
@@ -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":";;;;AAgBA,SAAgB,gBAAgB,UAAsC;CACpE,IAAI,YAAY,QAAQ,CAAC,OAAO,SAAS,QAAQ,GAC/C,OAAA;CAEF,MAAM,QAAQ,KAAK,MAAM,QAAQ;CACjC,OAAO,QAAQ,IAAI,QAAQ;AAC7B;AAQA,SAAS,uBAAuB,SAA6C;CAC3E,IAAI,OAAO,YAAY,UACrB,OAAO,QAAQ,KAAK,MAAM;CAE5B,KAAK,MAAM,SAAS,SAAS;EAC3B,IAAI,MAAM,SAAA,QACR;EAEF,MAAM,OAAO,MAAA;EACb,IAAI,OAAO,SAAS,YAAY,KAAK,KAAK,MAAM,IAC9C,OAAO;CAEX;CACA,OAAO;AACT;AAeA,SAAS,4BACP,SACS;CACT,IAAI,OAAO,YAAY,UACrB,OAAO;CAET,IAAI,QAAQ;CACZ,IAAI,YAAY;CAChB,KAAK,MAAM,SAAS,SAClB,IAAI,MAAM,SAAS,YACjB,SAAS;MACJ,IAAI,MAAM,SAAS,gBACxB,aAAa;CAGjB,OAAO,QAAQ;AACjB;AAOA,SAAS,yBACP,SACa;CACb,MAAM,0BAAU,IAAI,IAAY;CAChC,IAAI,OAAO,YAAY,UACrB,OAAO;CAET,KAAK,MAAM,SAAS,SAAS;EAC3B,IAAI,MAAM,SAAS,0BACjB;EAEF,MAAM,KAAK,MAAM;EACjB,IAAI,OAAO,OAAO,UAChB,QAAQ,IAAI,EAAE;CAElB;CACA,OAAO;AACT;AAGA,SAAS,mBACP,OACA,SACQ;CACR,IAAI,SAAS,QAAQ,MAAM,WAAW,GACpC,OAAO;CAET,IAAI,QAAQ,SAAS,GACnB,OAAO,MAAM;CAEf,IAAI,OAAO;CACX,KAAK,MAAM,QAAQ,OACjB,IAAI,KAAK,MAAM,QAAQ,CAAC,QAAQ,IAAI,KAAK,EAAE,GACzC,QAAQ;CAGZ,OAAO;AACT;AA2BA,SAAgB,eAAe,OAA4C;CACzE,IAAI,SAAS,MACX,OAAO;CAeT,MAAM,UAAU,yBAAyB,MAAM,OAAO;CACtD,IAAI,mBAAmB,MAAM,YAAY,OAAO,IAAI,GAClD,OAAO;CAET,IAAI,mBAAmB,MAAM,kBAAkB,OAAO,IAAI,GACxD,OAAO;CAET,KAAK,MAAM,oBAAoB,UAAU,KAAK,GAC5C,OAAO;CAET,IAAI,4BAA4B,MAAM,OAAO,GAC3C,OAAO;CAET,OAAO,uBAAuB,MAAM,OAAO;AAC7C"}
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;